Episource's ESLint config, following our code conventions
To install with all necessary peerDependencies
, use install-peerdeps:
npx install-peerdeps --dev @episource/eslint-config
Or with yarn
npx install-peerdeps -Y --dev @episource/eslint-config
All exported configs should be added to your ESlint configuration file extends
.
For example, in a JSON .eslintrc
:
{
"extends": "@episource/eslint-config"
}
Lint all the things, including ECMAScript 6+, React, and Prettier.
If you don't need React, use @episource/eslint-config-base.
Typescript rules and environment added to the default export.
Jest-specific rules and environment added to the default export.
Unfortunately, super-useful editor plugins like prettier-atom
and prettier-vscode
do not load Prettier settings from ESLint config, which is where we load our Prettier options from. To workaround this, add a .prettierrc.js
or prettier.config.js
file to your root with the following content:
module.exports = require('@episource/prettier-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 (from the repo root) with npm test
.
You can make sure this module lints with itself using npm run lint
(from the repo root).