CNN Base Package Generator
Requirements
A current LTS or Stable version of Node.js. We recommend using nvm to manage node versions.
A utility for installing Yeoman packages. yo
should work
but it is recommended you use the cnn
CLI available from
CNN Package Generator.
Install
cnn-package-generator
installs the cnn
cli tool used to run the Yeoman
generator.
$ npm install --global cnn-package-generator$ npm install --global generator-cnn-base
Usage
With cnn
(recommended):
-
$ cnn cnn-base
-
See the README in the CNN Package Generator repo for more details.
With yo
(** NOT** recommended):
$ yo cnn-base
Options
--extend
: Extend cnn-base by another generator. This option is used internally bycnn
and can be passed in as an argument toyo
.
Example:
$ yo cnn-base --extend cnn-generatorExtending cnn-base with cnn-generator
What does this do?
-
Generates a default file structure for the chosen generator.
-
Generates configuration files with predefined settings based on our current standards. This includes settings for the following packages.
-
Generates our standardized process documents.
- AUTHORS.md
- CHANGELOG.md
-
Creates a local GIT repository for the project. Currently the remote repository on GitHub will need to be manually created.
-
Generates a default package.json with all of the required properties and dependencies needed for the chosen generator. Includes the following default scripts.
-
generate-authors
- Uses a bash script to generate the AUTHORS.md file, which is used by npmjs.org when your package is published. -
generate-changelog
- Uses changelog-maker to generate the CHANGELOG.md. -
generate-coverage
- Uses Istanbul along with Mocha and Chai to create a code coverage report. Also opens it up on OS X in a browser. -
generate-docs
- Uses ESDoc to generate documentation in/docs
. -
test
- Uses ESLint to validate all .js files and uses jsonlint to validates all .json files. -
update-apply
- Uses ncu and updates all dependencies. -
update-check
- Uses ncu and lists all updates, but does not apply them.
-
-
Calls
npm-init
to further customize the package.json file.