These are settings for ESLint
This setup lints your JavaScript code based on practices.
In the root directory of your repository run:
npm i -D @cruk/eslint-config
yarn add --dev @cruk/eslint-config
This will install the configuration package but peer dependencies are required for @cruk/eslint-config. To install these:
If using npm 5+ or yarn:
npx install-peerdeps --dev @cruk/eslint-config
If using npm < 5 and Linux/OSX:
(
export PKG=@cruk/eslint-config;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)
If using npm < 5 and Windows:
npm install -g install-peerdeps
install-peerdeps --dev @cruk/eslint-config
Create (or update) an .eslintrc
file in the root of your repo with the following content:
{
"extends": ["@cruk"]
}
Additionally create .eslintignore
in the root of your repo. It is recommended that the content of these files match your .gitignore
file.
You can test your setup is correct by running
npx eslint --fix-dry-run .
For monorepos the .eslintrc
must be modified to handle different tsconfig.json locations. See the content below. The jest version is also set as it cannot be determined at the root package level.
{
"extends": ["@cruk"],
"parserOptions": {
"sourceType": "module",
"project": ["./packages/*/tsconfig.json"]
},
"settings": {
"jest": {
"version": 26
}
}
}
This repository is inspired by eslint-config-wesbos.
The peer dependency instructions are inherited from eslint-config-airbnb.