Skip to content

Boilerplate for coding, linting, testing, debugging and publishing npm module

License

Notifications You must be signed in to change notification settings

trubavuong/npm-boilerplater

Repository files navigation

npm-boilerplater

npm Build Status Codacy Badge Codacy Badge npm bundle size GitHub

Create your next ES6 module in a wink!

Table of Contents

Features

  • Code - Babel will transpile your ES6 code into ES5 for backwards compatiblity.
  • Linter - Eslint and AirBnB config.
  • Formatter - EditorConfig and Prettier with Eslint-compatible.
  • Test - Jest is a great Javascript testing framework with built-in assertion library, mocking, code coverage and more. Debug in Visual Studio Code is great!
  • CI - TravisCI will help you to test and deploy your project automatically.
  • Analysis - Codacy can analyze your code automatically and you can send code coverage metrics to it.
  • Git-hooks - husky and lint-staged can work together to lint files to avoid bad commit.
  • Useful commands - Run npm essential tasks can't be easier.
  • Highly customizable - Easily to customize to fit your need.

Quick start

  • Clone this repo, then remove .git directory.
$ git clone https://github.com/we-code-now/npm-boilerplater.git your-project-name
$ cd your-project-name
$ rm -rf .git
$ git init
  • Customize, if needed. See next section, please!

Self-explanatory structure

.
├── LICENSE
├── README.md
├── package.json
├── .gitignore
├── .npmignore
├── .editorconfig        # EditorConfig config
├── .eslintrc.js         # Eslint config
├── .eslintignore
├── .codacy.yml          # Codacy config
├── .travis.yml          # TravisCI config
├── jest.config.js       # Jest config
├── babel.config.js      # Babel config
├── prettier.config.js   # Prettier config
├── node_modules/
├── coverage/            # code coverage report in here
├── lib/                 # build destination
│   └── index.js           # production code
├── src/                 # development code
│   ├── index.js           # source
│   └── index.spec.js      # test
└── .vscode/             # Visual Studio Code config
    ├── launch.json        # Debugging with Jest
    └── settings.json      # Eslint/Prettier extensions config

Commands

  • npm run lint - Lint code and markdown
  • npm run format - Format code and markdown
  • npm run test - Run test
  • npm run test:watch - Run test in watch mode
  • npm run cover - Run test with code coverage report
  • npm run cover:codacy - Run test with code coverage report and send metrics to Codacy. Read setup guide.
  • npm run build - Transpile ES6 code into ES5 from src/ into lib/
  • npm run clean - Remove lib/ and coverage/
  • npm publish - Publish package to npm

License

MIT