Reuseable eslint config. Created by Clause.io

Usage no npm install needed!

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


A set of reuseable eslint linting rules used by Clause.io. Feel free to use these for your own projects.


Install this package and it's peer dependencies

yarn add -D @clausehq/eslint-config
yarn add -D eslint eslint-config-airbnb eslint-config-loopback eslint-plugin-import eslint-plugin-jest eslint-plugin-jsx-a11y eslint-plugin-promise eslint-plugin-react eslint-plugin-react-hooks

Create a file in the root of your repo called .eslintrc with the contents

  "extends": ["@clausehq/eslint-config"]

Although for serverless functions, where logs are aggregated directly from CloudWatch, you may want this config:

  "extends": ["@clausehq/eslint-config"],
  "rules": {
    "no-console": "off"

Loopback 3 projects may want to add this rule for remote method declaration which by convention breaks this rule:

    "no-param-reassign": 0 

For React apps, use the following config:

  "extends": ["@clausehq/eslint-config"],
  "parser": "babel-eslint",
  "settings": {
    "import/resolver": {
      "node": {
        "paths": ["src"],
        "extensions": [".js", ".jsx", ".ts", ".tsx"]
    "react": {
      "version": "detect"

Optionally add a file called .eslintignore, here are some suggested contents