npm-boilerplater
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 markdownnpm run format
- Format code and markdownnpm run test
- Run testnpm run test:watch
- Run test in watch modenpm run cover
- Run test with code coverage reportnpm 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 fromsrc/
intolib/
npm run clean
- Removelib/
andcoverage/
npm publish
- Publish package to npm
License
MIT