modern-node
Version:
> All-in-one development toolkit for creating node modules with Jest, Prettier, ESLint, and Standard
74 lines (51 loc) • 2.05 kB
Markdown
#  [](https://travis-ci.org/sheerun/modern-node) [](https://github.com/sheerun/modern-node)
> All-in-one development toolkit for creating node modules with Jest, Prettier, ESLint, and Standard
- 🃏 Testing with [Jest](https://facebook.github.io/jest/)
- 💅 Formatting with [prettier](https://prettier.io/)
- 🌟 Linting with [eslint](https://eslint.org/) configured on [standard](https://standardjs.com/) rules
- 🐶 Automatically runs `precommit` script from `package.json` from when committing code
## Installation (new projects)
```
yarn create modern-node my-module
```
> If you're using [npm](https://www.npmjs.com/): `npm init modern-node my-module`.
## Installation (existing projects)
```
yarn add --dev modern-node
```
> If you're using [npm](https://www.npmjs.com/): `npm install --save-dev modern-node`.
Now you add appropriate scripts to your `package.json`:
```
{
"scripts": {
"test": "modern test",
"format": "modern format",
"lint": "modern lint",
"precommit": "modern precommit"
}
}
```
## Usage
Test your project with Jest (watch mode, unless running on CI server):
```
modern test
```
Format all files in the project with [prettier-standard](https://github.com/sheerun/prettier-standard) (add `--help` for more options):
```
modern format # format all files
modern format --changed # format only changed files
modern format '**/*.js' # format only selected files
```
Format and files in the project (add `--help` for more options):
```
modern lint # lint all files
modern lint --changed # lint only changed files
modern lint '**/*.js' # lint only selected files
```
Format and lint staged changes (useful to put into `precommit` script):
```
modern precommit
```
For now linted extensions can be configured with `lint-staged` option in `package.json`.
## License
MIT