@rimac-technology/eslint-config

31.2.0 • Public • Published

Eslint Config

Commitizen friendly Conventional Changelog semantic-release: angular

Usage

  1. Install the library as a dev dependency alongside required dependencies using
yarn add -D @rimac-technology/eslint-config eslint
  1. Set up the minimal required configuration as displayed below

Minimal Required Configuration

  1. Create a new file in the root of the project called .eslintrc.json
  2. Place the following inside
{
    "extends": ["@rimac-technology/eslint-config/core"],
    "parser": "@typescript-eslint/parser",
    "parserOptions": {
        "project": "./tsconfig.json"
    }
}
  1. Make sure the project field (under parserOptions) is pointing to the correct path to your tsconfig.json

Optional Rulesets

You can add the following ruleset to your .eslintrc.json file under extends section (example below)

  • "@rimac-technology/eslint-config/react"
  • "@rimac-technology/eslint-config/jest"
  • "@rimac-technology/eslint-config/type-graphql"
  • "@rimac-technology/eslint-config/mobx"
  • "@rimac-technology/eslint-config/testing-library"

Using Optional Rulesets

General

The following is added to .eslintrc.json

{
    "extends": [
        "@rimac-technology/eslint-config/core",
        "@rimac-technology/eslint-config/<optional-ruleset-name>"
    ]
}

Targeting only some files

If you prefer more granular control of which files some-ruleset considers when linting you can target those by using overrides and globs

{
    "overrides": [
        {
            "files": ["**/__tests__/**/*.[jt]s?(x)"],
            "extends": ["@rimac-technology/eslint-config/some-ruleset"]
        }
    ]
}

Turn on ESLint in your Project

Intellij

  1. Go to File>Settings>Languages & Frameworks>Javascript>Code Quality Tools>ESLint
  2. Select Automatic ESLint Configuration
  3. Check run eslint --fix on save
  4. Apply settings

Overriding or Adding Custom Rules

Rules can be overridden by adding them to the rules section in .eslintrc.json like the following example where we disable the space-infix-ops rule

{
    "extends": ["@rimac-technology/eslint-config/core"],
    "rules": {
        "space-infix-ops": "off"
    }
}

Troubleshooting

Little fellow sometimes has problems. Here is how to help if it doesn't work:

  1. Delete node_modules
  2. Go to File>Invalidate Caches>Invalidate and Restart
  3. Reinstall dependencies

Check if it works from the terminal. If it does, you IDE might be the problem here.

Testing Locally

In package.json, specify the path to the folder where you cloned eslint-config on your computer and place it instead of the version.

Then you can use it like any other lib.

  • Default install
// Current
{
    "@rimac-technology/eslint-config": "^19.0.0"
}
  • Local install for testing
{
    "@rimac-technology/eslint-config": "../eslint-config"
}

Readme

Keywords

none

Package Sidebar

Install

npm i @rimac-technology/eslint-config

Weekly Downloads

3

Version

31.2.0

License

MIT

Unpacked Size

33.7 kB

Total Files

9

Last publish

Collaborators

  • sw-services