eslint-config-ys7-base
Version:
ys7's base JS ESLint config, following our styleguide
82 lines (53 loc) • 2.45 kB
Markdown
# eslint-config-ys7-base
This package provides ys7's base JS .eslintrc as an extensible shared config.
## Usage
We export two ESLint configurations for your usage.
### eslint-config-ys7-base
Our default export contains all of our ESLint rules, including ECMAScript 6+. It requires `eslint` and `eslint-plugin-import`.
1. Install the correct versions of each package, which are listed by the command:
```sh
npm info "eslint-config-ys7-base@latest" peerDependencies
```
Linux/OSX users can simply run
```sh
(
export PKG=eslint-config-ys7-base;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)
```
Which produces and runs a command like:
```sh
npm install --save-dev eslint-config-ys7-base eslint@^#.#.# eslint-plugin-import@^#.#.#
```
Windows users can either install all the peer dependencies manually, or use the [install-peerdeps](https://github.com/nathanhleung/install-peerdeps) cli tool.
```sh
npm install -g install-peerdeps
install-peerdeps --dev eslint-config-ys7-base
```
The cli will produce and run a command like:
```sh
npm install --save-dev eslint-config-ys7-base eslint@^#.#.# eslint-plugin-import@^#.#.#
```
2. Add `"extends": "ys7-base"` to your .eslintrc
### eslint-config-ys7-base/legacy
Lints ES5 and below. Requires `eslint` and `eslint-plugin-import`.
1. Install the correct versions of each package, which are listed by the command:
```sh
npm info "eslint-config-ys7-base@latest" peerDependencies
```
Linux/OSX users can simply run
```sh
(
export PKG=eslint-config-ys7-base;
npm info "$PKG" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG"
)
```
Which produces and runs a command like:
```sh
npm install --save-dev eslint-config-ys7-base eslint@^3.0.1 eslint-plugin-import@^1.10.3
```
2. Add `"extends": "ys7-base/legacy"` to your .eslintrc
## Improving this config
Consider adding test cases if you're making complicated rules changes, like anything involving regexes. Perhaps in a distant future, we could use literate programming to structure our README as test cases for our .eslintrc?
You can run tests with `npm test`.
You can make sure this module lints with itself using `npm run lint`.