generator-nodemod
A Yeoman generator for scaffolding simple node modules.
Built-in packages
- Jest: Painless JavaScript Unit Testing
- JSHint: A JavaScript Code Quality Tool
- Grunt: The JavaScript Task Runner
Scaffolding a new node module
npm install -g yo grunt-cli
- Install the nodemod generator:
npm install -g generator-nodemod
- Create a new directory and initialize a Git repo on it for your new node module:
mkdir your-project
cd your-project
git init
git remote add origin https://github.com/some-user/some-project.git
- Run the generator:
yo nodemod
-
Answer the questions.
-
STRONGLY RECOMMENDED: commit the generated code to your git repository before making any modifications. This will make it much easier to see a diff of the work you have done vs. the generator output.
git add --all
git commit -m "Initial commit"
Start writing your code
See the README.md
file in your newly created node module for more information.
Release versions
This repo uses grunt-bump and Semantic Versioning to version and tag releases. To release a new version, run the appropriate command:
grunt release:major # bump major version, eg. 1.0.2 -> 2.0.0
grunt release:minor # bump minor version, eg. 0.1.3 -> 0.2.0
grunt release:patch # bump patch version, eg. 0.0.1 -> 0.0.2
grunt release:prerelease # bump pre-release version, eg. 1.0.0 -> 1.0.0-1
Make sure to push tags:
git push --tags origin master
Publish the package to npm's public registry:
npm publish
To make sure everything worked just fine, go to http://npmjs.com/package/generator-nodemod.
Heads up! To publish, you must have a user on the npm registry. If you don't have one, create it with npm adduser
. If you created one on the site, use npm login
to store the credentials on the client. You can use npm config ls
to ensure that the credentials are stored on your client. Check that it has been added to the registry by going to http://npmjs.com/~.
Semantic Versioning
Given a version number MAJOR.MINOR.PATCH
, increment the:
MAJOR
version when you make incompatible API changes,MINOR
version when you add functionality in a backwards-compatible manner, andPATCH
version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH
format.
See the Semantic Versioning specification for more information.
Release History
See the CHANGELOG.