All Projects → posva → Vue Plugin Template

posva / Vue Plugin Template

Licence: mit
🚀 Solid foundation to start a Vue plugin with the best developer experience and a focus on performance

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Vue Plugin Template

Template.js
A javascript template engine, simple, easy & extras, support webpack, rollup, parcel, browserify, fis and gulp
Stars: ✭ 1,201 (+535.45%)
Mutual labels:  webpack, rollup, template
Webpack Plugin Hash Output
Plugin to replace webpack chunkhash with an md5 hash of the final file conent.
Stars: ✭ 128 (-32.28%)
Mutual labels:  webpack, plugin
V Chart Plugin
Easily bind a chart to the data stored in your Vue.js components.
Stars: ✭ 188 (-0.53%)
Mutual labels:  plugin, component
Speed Measure Webpack Plugin
⏱ See how fast (or not) your plugins and loaders are, so you can optimise your builds
Stars: ✭ 1,980 (+947.62%)
Mutual labels:  webpack, plugin
Sounds Webpack Plugin
🔊Notify or errors, warnings, etc with sounds
Stars: ✭ 125 (-33.86%)
Mutual labels:  webpack, plugin
Vue Loaders
Vue + loaders.css
Stars: ✭ 127 (-32.8%)
Mutual labels:  plugin, component
Webpack Internal Plugin Relation
🔎 a tiny tool to show the relation of webpack internal plugins & hooks
Stars: ✭ 135 (-28.57%)
Mutual labels:  webpack, plugin
Babel Plugin Prismjs
A babel plugin to use PrismJS with standard bundlers.
Stars: ✭ 114 (-39.68%)
Mutual labels:  webpack, rollup
Awesome Chrome Extension Boilerplate
Use react + typescript + webpack to enhance your chrome extension development experience
Stars: ✭ 146 (-22.75%)
Mutual labels:  webpack, template
Workflow
一个工作流平台
Stars: ✭ 1,888 (+898.94%)
Mutual labels:  webpack, rollup
Webpack Fast Refresh
React Fast Refresh plugin and loader for webpack
Stars: ✭ 155 (-17.99%)
Mutual labels:  webpack, plugin
Thorui Uniapp
ThorUI组件库,轻量、简洁的移动端组件库。组件文档地址:https://thorui.cn/doc/ 。 最近更新时间:2021-10-01
Stars: ✭ 1,842 (+874.6%)
Mutual labels:  component, template
Webpacktemplate
webpack多页面脚手架
Stars: ✭ 118 (-37.57%)
Mutual labels:  webpack, template
Webapp Webpack Plugin
[DEPRECATED] use favicons-webpack-plugin instead
Stars: ✭ 127 (-32.8%)
Mutual labels:  webpack, plugin
Razzle Material Ui Styled Example
Razzle Material-UI example with Styled Components using Express with compression
Stars: ✭ 117 (-38.1%)
Mutual labels:  webpack, template
Vue Slide Bar
🎢 A Simple Vue Slider Bar Component.
Stars: ✭ 129 (-31.75%)
Mutual labels:  plugin, component
Webpack Deadcode Plugin
Webpack plugin to detect unused files and unused exports in used files
Stars: ✭ 180 (-4.76%)
Mutual labels:  webpack, plugin
Cjstoesm
A tool that can transform CommonJS to ESM
Stars: ✭ 109 (-42.33%)
Mutual labels:  webpack, rollup
Seven
Eleventy template using Bootstrap, Sass, Webpack, Vue.js powered search, includes lots of other features
Stars: ✭ 114 (-39.68%)
Mutual labels:  webpack, template
React Native Wormhole
⚛️ 🌌 Inter-dimensional Portals for React Native. 👽 🖖
Stars: ✭ 133 (-29.63%)
Mutual labels:  plugin, component

vue-plugin-template

✨ DX experience & lighter plugins 🚀

Usage

vue init posva/vue-plugin-template my-awesome-plugin
# Answer some questions
cd my-awesome-plugin
yarn
npm run dev
# 🎉

Features

Smaller plugin size

Bundle with Rollup. This produces bundles that are easier to debug and more lightweight but is less customizable than Webpack. But don't worry you can also use Webpack instead of Rollup 😉

Single file components

Write your components using .vue files. Those will be compiled into render functions when building your plugin to make them compatible everywhere.

JSX

Add jsx to your js files and they will be compiled as well.

ES6

Use the future features of Javascript.

Pre commit lint and fix

Runs eslint and stylefmt/stylelint before each commit on modified files only and try to fix them automatically to prevent failing CI builds 😉.

Advanced testing

Get the best developer experience by testing the components at the same time you interact with them. Embrace Visual testing 😎

visual testing

Next generation CSS

Use PostCSS by default with CSSNext to bring you future features of CSS.

SASS

You still need a preprocessor? Choose Webpack as the bundler and access more advanced features

Development-only features

Add warnings to improve the DX of your plugin that are removed when bundling in production mode:

if (process.env.NODE_ENV !== 'production' && warningCondition) {
  warn('You should be doing things this way instead: ...')
}

Refer to Dist files for more information.

Road-map

  • Add flow typings
  • .github folder
  • Add question for tests
  • Add question for visual tests
  • Add question for contribution guidelines
  • Add question for the license
  • Add question for linting

Something you would like to see on the template but not in the road-map? Fire an Issue!

FAQ

Dist files

Q: Why are there 3 different generated files for js in the dist folder?

A: Each one serves its purpose: the non minified file (lib.js) replaces process.env.NODE_ENV by "development" to keep development only features like warning (pretty much like Vue warnings). The CommonJS file (lib.common.js) is meant to be used with bundlers like Webpack or Rollup and keeps the variable process.env.NODE_ENV so it can be replaced by bundlers. The minified version (lib.min.js) strips off development features by replacing process.env.NODE_ENV by "production".

Q: When should I choose Rollup over Webpack for the bundler?

A: If next-css isn't enough for you, it's better to use Webpack. If a feature is missing in vue-rollup-plugin but present on vue-loader you can benefit from it by using Webpack. On the other hand if you're building a simple plugin with few components, you should use Rollup as the bundler to get more lightweight lib sizes.

Contributing

See CONTRIBUTING.md for help about developing this template

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].