generator-libstart
v0.1.1
Published
Yeoman generator to start your UMD library.
Downloads
4
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
npm preversion
(auto)
It runs
npm build
.
npm postversion
(auto)
It runs
bowerSync
andchangelog
.
npm pretest
(auto)
It runs
build
.
npm test
(manual)
It launches tests with mocha.
npm postest
(auto)
It runs
format
andlint
.
Custom Scripts
They are all run by the previous npm scripts but you can run them at your convenience.
npm run prebuild
(manual)
It runs
format
andlint
.
npm run build
(manual)
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