Skip to content
This repository has been archived by the owner on Nov 23, 2022. It is now read-only.

๐Ÿ“œ Sharable eslint configuration rimac technology uses in all of its projects.

Notifications You must be signed in to change notification settings

RimacTechnology/eslint-config-rimac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

DEPRECATED: use Style Guide instead.

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"
}

About

๐Ÿ“œ Sharable eslint configuration rimac technology uses in all of its projects.

Topics

Resources

Stars

Watchers

Forks

Languages