NodeJS module generator/boilerplate.
- Babel - Write next generation JavaScript today.
- Debug - JS debugging utility that works both in node.js and browsers.
- Jest - JavaScript testing framework used by Facebook.
- ESLint - Make sure you are writing a quality code.
- Prettier - Enforces a consistent style by parsing your code and re-printing it.
- Typescript - A static type checker for JavaScript by Microsoft.
- Circle CI - Automate tests, linting and releases for every push or pull request.
- Documentation - A documentation system so good, you'll actually write documentation.
- Semantic Release - Fully automated version management and package publishing.
git clone
this repo
$ git clone https://github.com/rjchow/nod my-module
$ cd my-module
$ rm -rf .git
$ npm install # or yarn
Just make sure to edit package.json
, README.md
and LICENSE
files accordingly with your module's info.
$ npm test # run tests with Jest
$ npm run coverage # run tests with coverage and open it on browser
$ npm run lint # lint code
$ npm run docs # generate docs
$ npm run build # generate docs and transpile code
- Obtain CircleCI API token
- Modify package.json with:
- package name
- package repository
Run npx semantic-release-cli setup --ask-for-passwords
Turn on debugging by using the DEBUG environment variable for Node.js and using localStorage.debug in the browser.
E.g:
DEBUG="PLACEHOLDER_PROJECT_NAME:*" npm run dev
This boiler plate uses the semantic-release package to manage versioning. Once it has been set up, version numbers and Github release changelogs will be automatically managed. semantic-release uses the commit messages to determine the type of changes in the codebase. Following formalized conventions for commit messages, semantic-release automatically determines the next semantic version number, generates a changelog and publishes the release.
Use npm run commit
instead of git commit
in order to invoke Commitizen commit helper that helps with writing properly formatted commit messages.
MIT © Diego Haz