Skip to content

figify/eslint-config

Repository files navigation

eslint-config

An ESLint Shareable Config for web application development using node.js + react

gha npm license

Contents

Uses recommended rules from eslint the following plugins:

  • import
  • json
  • jsx-a11y
  • eslint-plugin-node
  • eslint-plugin-promise
  • eslint-plugin-react
  • eslint-plugin-security
  • eslint-plugin-sonarjs

Usage

Install as devDependencies the following packages:

npm install --save-dev @figify/eslint-config eslint-plugin-promise eslint-plugin-import eslint-plugin-node eslint-plugin-json eslint-plugin-jsx-a11y eslint-plugin-react eslint-plugin-security eslint-plugin-sonarjs

or if using npm 5+ use the shortcut:

npx install-peerdeps --dev @figify/eslint-config

then create an .eslintrc.json file with

{
  extends: "@figify"
}

React addition

In order not to be bothered by the no unsupported features rule from the node plugin, I add in the folder containing React code another .eslintrc.json file with

{
  "rules": {
    "node/no-unsupported-features/es-syntax": "off"
  }
}

For devDependencies in tests etc.

The node plugin will complain for any unpublished require statement if the dependency is in devDependencies.

From this issue comment:

{
  "overrides": [{
    "files": "**/*.test.js",
    "rules": {
        "node/no-unpublished-require": 0,
        "node/no-missing-require": 0
    }
  }]
} 

Test

npm test

License

MIT. Copyright (c) Kyriakos Chatzidimitriou.