Skip to content

rxjs/finnish is slow #56

@drewwiens

Description

@drewwiens

The rxjs/finnish rule seems to take a lot of time. Example:

drew@drew-thinkpad-x1c6:~/some/dir$ TIMING=1 yarn eslint --ext .ts apps/api
yarn run v1.22.5
$ /home/drew/some/dir/node_modules/.bin/eslint --ext .ts apps/api
Rule                                      | Time (ms) | Relative
:-----------------------------------------|----------:|--------:
rxjs/finnish                              |   245.032 |    71.3%
import/order                              |    36.321 |    10.6%
@nrwl/nx/enforce-module-boundaries        |    31.685 |     9.2%
@typescript-eslint/no-unused-vars         |    12.963 |     3.8%
@typescript-eslint/no-empty-function      |     2.758 |     0.8%
no-global-assign                          |     1.768 |     0.5%
no-regex-spaces                           |     1.210 |     0.4%
no-empty-character-class                  |     1.034 |     0.3%
@typescript-eslint/triple-slash-reference |     0.995 |     0.3%
@typescript-eslint/no-explicit-any        |     0.975 |     0.3%
Done in 6.71s.

Rules from .eslintrc.json for the project:

{
  "extends": ["plugin:@nrwl/nx/typescript"],
  "rules": {
    "import/newline-after-import": "error",
    "import/order": [
      "error",
      {
        "alphabetize": {
          "order": "asc",
          "caseInsensitive": true
        },
        "newlines-between": "always",
        "pathGroups": [
          {
            "group": "external",
            "position": "after",
            "pattern": "@some-pattern/**"
          }
        ],
        "pathGroupsExcludedImportTypes": ["builtin"]
      }
    ],
    "rxjs/finnish": [
      "error",
      {
        "functions": false,
        "methods": false,
        "parameters": true,
        "properties": true,
        "types": {
          "^EventEmitter$": false,
          "^MockStore": false,
          "^Store": false
        },
        "variables": true
      }
    ],
    "rxjs/no-sharereplay": [
      "error",
      {
        "allowConfig": true
      }
    ],
    "@typescript-eslint/no-explicit-any": "error",
    "@typescript-eslint/dot-notation": "off",
    "@typescript-eslint/explicit-member-accessibility": [
      "off",
      {
        "accessibility": "explicit"
      }
    ],
    "@typescript-eslint/member-delimiter-style": [
      "off",
      {
        "multiline": {
          "delimiter": "none",
          "requireLast": true
        },
        "singleline": {
          "delimiter": "semi",
          "requireLast": false
        }
      }
    ],
    "@typescript-eslint/semi": ["off", null],
    "@typescript-eslint/type-annotation-spacing": "off",
    "arrow-parens": ["off", "always"],
    "brace-style": ["off", "off"],
    "eol-last": "off",
    "linebreak-style": "off",
    "max-len": "off",
    "new-parens": "off",
    "newline-per-chained-call": "off",
    "no-extra-semi": "off",
    "no-irregular-whitespace": "off",
    "no-trailing-spaces": "off",
    "@typescript-eslint/no-unused-vars": [
      "error",
      {
        "caughtErrorsIgnorePattern": "_",
        "argsIgnorePattern": "_",
        "args": "all"
      }
    ],
    "quote-props": "off",
    "space-before-function-paren": "off",
    "space-in-parens": ["off", "never"],
        "@nrwl/nx/enforce-module-boundaries": [
          "error",
          {
            "enforceBuildableLibDependency": true,
            "allow": [],
            "depConstraints": [
              <Nx contraints>
            ]
          }
        ]
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions