👋 This is a boilerplate for developing vue component libraries. This project aims to be the love-child of prograhammer's vue-library-template and chrisvfritz's vue-enterprise-boilerplate, to create an opinionated vue component library setup with side-by-side library/docs development, publish hooks, generators, pre-configured components, base styles, unit tests and more.
❤️ This project is built on top of the versatile vue-library-template by prograhammer, which is great for quickly prototyping and publishing a vue library on npm.
❤️ This project is heavily inspired by Chris Fritz's 'must-read' vue-enterprise-boilerplate which is the gold-standard for Vue SPA projects. This talk by Chris Fritz explains many of the patterns used and advocated in this project, and comes highly recommended - his energy is amazing!
❤️ Icons and fonts from Google's material icon and font libraries are used in this project. Special shout out to the incredible Vue Material project by marcosmoura for providing the inspiration for many of the pre-configured components in this project.
❤️ Vue Awesome deserves a mention for the sheer amout of inspirational links!
- Side-by-side component and documentation development with hot-reload, lint-on-save.
- Generators to reinforce consistency and speed up development time.
- Pre-configured components with the bare minimum styling and functionality so you don't have to start from scratch, otherwise BYOS (bring your own styles).
- Tests with jest and auto-generated unit test files when creating new components using generators.
- Easily publish to npm with publish hooks and incorporate your new library in other projects.
# install dependencies
npm install
# serve with hot reload at localhost:8080
npm run dev
# build for production with minification
npm run build
# build for production and view the bundle analyzer report
npm run build --report
For detailed explanation on how things work, checkout the guide and docs for vue-loader.
This project includes a docs
folder with more details on: