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 :
The generator will even reserve its name on npm's registery if you whish to, thanks to npmreserve.
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
npm preversion
(auto)
Is run automatically before npm bump
and runs npm build
.
npm postversion
(auto)
Is run automatically after npm bump
and will synchronize bower.json
with package.js
's new version, and will generate the changelog.
npm build
(manual)
It runs test
, that is hooked with everything else.
npm pretest
(auto)
Is run automatically before npm test
and will umdify and uglify the library.
npm test
(manual)
Tests.
npm postest
(auto)
Is run automatically after npm test
and controls formatting and linting.
Custom Scripts
They are all run by the previous npm scripts but you can run them at your convenience.
npm run-script format
Test the formatting with JSCS
npm run-script lint
Lint with ESLint
npm run-script umd
UMDify your library
npm run-script 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-script bowerSync
Will synchronize bower.json's version with package.json's.
And will commit the changes automatically.
npm run-script uglify
Uglify your library
Structure
library
├ .eslintrc
├ .editorconfig
├ .jscsrc
├ README.md
├ LICENSE
├ package.json
├ bower.json
│
└─── bin
| ├ changelog.js
| └ bowerSync.js
|
└─── src
| └ lib.js
|
└─── test
└ lib.spec.js
License
MIT