README
LibStart
Yeoman generator to start your UMD library.
Getting Started
If you'd like to get to know Yeoman better check out the complete Getting Started Guide.
Overview
This generator will create a basic scaffolding of a generic UMD library.
It will come with :
- changelog generator (conventional-changelog)
- linting (eslint)
- formatting (jscs)
- testing (mocha + expect.js)
- building (uglify-js + umd)
Install
To install generator-libstart from npm, run:
npm install -g yo generator-libstart
Finally, initiate the generator:
yo libstart
Usage
To generate your new library simply run :
yo libstart <name of your creation>
Answer to some questions and you're good to go.
You'll be able to reserve your library's name into npm's registry if you whish to.
In your new library, you'll have some scripts available to automate your development.
Npm Scripts
(auto) npm preversion
It runs
npm build
.
(auto) npm postversion
It runs
bowerSync
andchangelog
.
(auto) npm pretest
It runs
build
.
(manual) npm test
It launches tests with mocha.
(auto) npm postest
It runs
format
andlint
.
Custom Scripts
They are all run by the previous npm scripts but you can run them at your convenience.
(manual) npm run prebuild
It runs
format
andlint
.
(manual) npm run build
It runs
umd
anduglify
.
npm run format
Test the formatting with JSCS
npm run lint
Lint with ESLint
npm run umd
It packages your library with umd
npm run changelog
Generate a changelog for your library based on your commits if you've followed one of the supported convention, and will commit the changes automatically.
npm run bowerSync
It synchronizes bower.json's version with package.json's, and will commit the changes automatically.
npm run uglify
It uglifies your library.
Structure
library
├ .eslintrc // Basic ESLint config
├ .editorconfig // Basic Editor config
├ .jscsrc // Basic JSCS config
├ README.md
├ LICENSE
├ package.json
├ bower.json
│
└─── bin // Helpers for npm scripts
| ├ changelog.js // Is run with 'npm run changelog'
| └ bowerSync.js // Is run with 'npm postversion'
|
└─── src
| └ lib.js // Main file
|
└─── test
└ lib.spec.js // Mocha tests
License
MIT