UNPKG

npm-boilerplater

Version:

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

84 lines (67 loc) 4.2 kB
# npm-boilerplater ![npm](https://img.shields.io/npm/v/npm-boilerplater) [![Build Status](https://travis-ci.org/we-code-now/npm-boilerplater.svg?branch=master)](https://travis-ci.org/we-code-now/npm-boilerplater) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/c67890a8255a46d9a65e7bb158b6dd7d)](https://www.codacy.com/app/StevenTea/npm-boilerplater?utm_source=github.com&utm_medium=referral&utm_content=we-code-now/npm-boilerplater&utm_campaign=Badge_Grade) [![Codacy Badge](https://api.codacy.com/project/badge/Coverage/c67890a8255a46d9a65e7bb158b6dd7d)](https://www.codacy.com/app/StevenTea/npm-boilerplater?utm_source=github.com&utm_medium=referral&utm_content=we-code-now/npm-boilerplater&utm_campaign=Badge_Coverage) ![npm bundle size](https://img.shields.io/bundlephobia/minzip/npm-boilerplater) ![GitHub](https://img.shields.io/github/license/we-code-now/npm-boilerplater) Create your next ES6 module in a wink! ## Table of Contents - [Features](#features) - [Quick start](#quick-start) - [Self-explanatory structure](#self-explanatory-structure) - [Commands](#commands) - [License](#license) ## Features - **Code** - [Babel](https://babeljs.io/) will transpile your ES6 code into ES5 for backwards compatiblity. - **Linter** - [Eslint](https://eslint.org/) and [AirBnB config](https://www.npmjs.com/package/eslint-config-airbnb). - **Formatter** - [EditorConfig](https://editorconfig.org/) and [Prettier](https://prettier.io/) with [Eslint-compatible](https://github.com/prettier/prettier-eslint-cli). - **Test** - [Jest](https://jestjs.io/) 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](https://travis-ci.org/) will help you to test and deploy your project automatically. - **Analysis** - [Codacy](https://www.codacy.com/) can analyze your code automatically and you can send code coverage metrics to it. - **Git-hooks** - [husky](https://github.com/typicode/husky) and [lint-staged](https://github.com/okonet/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. ```shell $ 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 ```text . ├── 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](https://support.codacy.com/hc/en-us/articles/207279819-Coverage). - `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](https://www.npmjs.com/) ## License MIT