Skip to content
/ nod Public template
forked from diegohaz/nod

Node.js module generator/boilerplate with Babel, Jest, Typescript, Documentation and more

License

Notifications You must be signed in to change notification settings

rjchow/nod

 
 

Repository files navigation

nod

NodeJS module generator/boilerplate.

Features

  • 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.

Install

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.

Commands

$ 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

Setting up CI with automatic semantic-release versioning

  • Obtain CircleCI API token
  • Modify package.json with:
    • package name
    • package repository

Run npx semantic-release-cli setup --ask-for-passwords

Logging

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

Commit message format

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.

API

Table of Contents

License

MIT © Diego Haz

About

Node.js module generator/boilerplate with Babel, Jest, Typescript, Documentation and more

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 66.7%
  • JavaScript 33.3%