Skip to content

emerson-eps/eslint-config

Repository files navigation

Shared ESLint Config

GitHub Workflow Status GitHub license npm (scoped) semantic-release Conventional Commits

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.