@lego/eslint-config-typescript
TypeScript icon, indicating that this package has built-in type declarations

9.4.1 • Public • Published

@lego/eslint-config-typescript

Installation

Install this config package:

$ npm i -D @lego/eslint-config-typescript

Important Note

If your editor supports automatic import sorting and culling of unused imports, prettier might clash with that, especially in vscode.

read more on:

therefore ensure that your vscode has the following combination of flags enabled:

{
  ...
  // Editor
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": true,
    "source.fixAll.stylelint": true,
    "source.organizeImports": false
  },
  "editor.formatOnSave": false,
  ...
}

Usage

Extend your eslint.json, and make sure @lego/eslint-config-typescript has been added.

{
  "extends": ["@lego/eslint-config-typescript"]
}

with TypeScript & React & Prettier:

{
  "extends": [
    "@lego/eslint-config-typescript",
    "@lego/eslint-config-react",
    "@lego/eslint-config-prettier"
  ]
}

Overriding Rules

With the above eslint.json configuration example, you can still use or override already defined rules as such:

{
  "extends": [
    "@lego/eslint-config-typescript",
    "@lego/eslint-config-react",
    "@lego/eslint-config-prettier"
  ],
  "rules": {
    // eslint-config rules
    "camelcase": "warn",

    // @typescript-eslint/eslint-plugin rules
    "@typescript-eslint/no-useless-constructor": "error",

    // eslint-plugin-react rules
    "react/jsx-child-element-spacing": "error",

    // eslint-plugin-react-hooks rules
    "react-hooks/exhaustive-deps": "warn",

    // eslint-plugin-prettier rules
    "prettier/prettier": [
      "error",
      {
        "singleQuote": false
      }
    ]
  }
}

It's recommended to inspect the defined rule's configurations where the reasoning for the configuration lives. If a configuration could benefit more than just the project you're working on, feel free to create a pull request.

Package Sidebar

Install

npm i @lego/eslint-config-typescript

Weekly Downloads

165

Version

9.4.1

License

MIT

Unpacked Size

80.1 kB

Total Files

19

Last publish

Collaborators

  • mbogh
  • xshteff
  • vincentbriglia
  • giovannidegani