@commonground/eslint-config

Shared ESLint config for Common Ground.

Usage no npm install needed!

<script type="module">
  import commongroundEslintConfig from 'https://cdn.skypack.dev/@commonground/eslint-config';
</script>

README

Shared eslint-config

Common Ground shared ESLint config for all our JavaScript projects.

For a create-react-app project see our CRA lint config.

Usage

Note: if you use a NPM version <7.x you should install the peer dependencies manually.

npm install --save-dev --save-exact @commonground/eslint-config

Then add the eslintConfig setting in package.json:

"eslintConfig": {
  "extends": "@commonground/eslint-config"
}

Alternatively, you can remove the eslintConfig entry and create a .eslintrc.js file, with:

module.exports = {
  extends: ['@commonground/eslint-config']
}

You can also extend only parts of our config, for instance to only use/add our prettier and header config to your linting:

// .eslintrc.js
module.exports = {
  extends: [
    '@commonground/eslint-config/rules/prettier',
    '@commonground/eslint-config/rules/header',
  ]
}

Related plugins will automatically be added, so you don't need to add eg: plugins: ['header'] yourself.

Editor integration

VSCode

Add the following extension:

Then create the following file in the frontend project directory: .vscode/settings.json (it's .gitignored) containing:

{
  "editor.defaultFormatter": "dbaeumer.vscode-eslint",
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true
  }
}

You may define this file at a higher level as well, but then make sure you add this to the settings.json:

{
  "eslint.workingDirectories": [
    "./ui-directory"
  ]
}

How to contribute

See CONTRIBUTING