2.0.11 • Published 6 months ago

@justia/eslint-config-rts v2.0.11

Weekly downloads
2
License
MIT
Repository
github
Last release
6 months ago

@justia/eslint-config-rts version 2.0.11

Justia's ESLint configuration for React and TypeScript projects

This package is a combination of @justia/eslint-config-react and @justia/eslint-config-typescript with small modifications to React and prettier rules to support the combination of React and TypeScript.

Install

Install the correct versions of the peer dependencies, which are listed by the command:

npm info "@justia/eslint-config-rts@latest" peerDependencies

If using npm 5+, use this shortcut

npx install-peerdeps --dev @justia/eslint-config-rts

If using npm < 5, Linux/OSX users can run

(
export PKG=@justia/eslint-config-rts;
npm info "$PKG@latest" peerDependencies --json | command sed 's/[\{\},]//g ; s/: /@/g' | xargs npm install --save-dev "$PKG@latest"
)

Which produces and runs a command like:

npm install --save-dev @justia/eslint-config-rts eslint@^#.#.# prettier@^#.#.# eslint-config-prettier@^#.#.# eslint-plugin-import@^#.#.# eslint-plugin-prettier@^#.#.# eslint-plugin-promise@^#.#.# eslint-plugin-jsx-a11y@^#.#.# eslint-plugin-react@^#.#.# eslint-plugin-react-hooks@^#.#.# @typescript-eslint/parser@^#.#.# @typescript-eslint/eslint-plugin@^#.#.#

Usage

This configuration contains all of our ESLint rules, including ECMAScript 6+, TypeScript and formatting styles. It requires the following external packages:

  • eslint
  • prettier
  • eslint-config-prettier
  • eslint-plugin-import
  • eslint-plugin-prettier
  • eslint-plugin-promise
  • eslint-plugin-jsx-a11y
  • eslint-plugin-react
  • eslint-plugin-react-hooks
  • @typescript-eslint/parser
  • @typescript-eslint/eslint-plugin

After installation of packages and its peer dependencies, add the following configuration to your ESLint configuration file:

{
    "extends": ["@justia/eslint-config-rts"],
    "parserOptions": {
        "project": "./tsconfig.json"
    }
}

Alter your eslint command to include ts files:

eslint --ext .js,.jsx,.ts,.tsx ./

VS Code Issue

For those how use VS Code, it is possible you are getting the following error message:

Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. The file does not match your project config: .eslintrc.js. The file must be included in at least one of the projects provided.

To fix it you will need to add a ESLint-specific TypeScript configuration file (tsconfig.eslint.json):

{
    "extends": "./tsconfig.json",
    "compilerOptions": {
        "noEmit": true
    },
    "include": [
        ".eslintrc.js",
        // Also re-add the patterns you define in the original `include` key.
    ]
}

Then change the parserOptions.project to tsconfig.eslint.json.