Shared ESLint Config
This is the home of the shared E&P Software ESLint configs. The default config should be used for all React Typescript projects in E&P Software.
Usage
The ESLint config and Prettier config must both be added to get the full shared configuration.
(1) Install the shared Prettier and ESLint configs
npm install --save-dev @emerson-eps/prettier-config @emerson-eps/eslint-config
If you have not already installed prettier
and eslint
install those as well:
npm install --save-dev prettier eslint
(2) Configure Prettier
Add @emerson-eps/prettier-config
to your .prettierrc.js
:
module.exports = {
...require("@emerson-eps/prettier-config"),
};
For more advanced setups, including how to override settings, see the instructions in the @emerson-eps/prettier-config repository.
(3) Configure ESLint
Specify the package in the extends
section of your ESLint configuration:
{
"extends": "@emerson-eps/eslint-config",
"rules": {
// Additional rules...
}
}
List of current rules
The list of applied rules can be found here
Running ESLint on your code
Add a lint script to your package.json
, for example:
{
"scripts": {
"lint": "eslint . --max-warnings=0"
}
}
Code can then be linted with:
npm run lint
CI pipelines should be configured to fail on linting warnings.
Integration with Visual Studio Code
If not already installed, install the Prettier and ESLint extensions.
Overriding the shared configs
Try not to override the shared configs unless you really need to. If you must override them please consider proposing the override as a change to the relevant repository first to avoid divergence of code styles in different projects.