首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我将所有推荐的规则从eslint添加到我的.eslintrc.js文件中,它们都抛出“未找到规则的定义”

我将所有推荐的规则从eslint添加到我的.eslintrc.js文件中,它们都抛出“未找到规则的定义”
EN

Stack Overflow用户
提问于 2022-02-22 15:59:25
回答 1查看 2.1K关注 0票数 1

下面是我的.eslintrc.js文件的内容:

代码语言:javascript
运行
复制
module.exports = {
    parser: '@typescript-eslint/parser',
    parserOptions: {
        project: 'tsconfig.json',
        sourceType: 'module'
    },
    plugins: ['@typescript-eslint/eslint-plugin'],
    extends: [
        'eslint:recommended',
        'plugin:@typescript-eslint/recommended',
        'plugin:prettier/recommended',
        'plugin:@typescript-eslint/recommended-requiring-type-checking'
    ],
    root: true,
    env: {
        node: true,
        jest: true
    },
    ignorePatterns: ['.eslintrc.js'],
    rules: {
        '@typescript-eslint/explicit-function-return-type': 'error',
        '@typescript-eslint/explicit-module-boundary-types': 'error',
        '@typescript-eslint/for-direction': 'error',
        '@typescript-eslint/getter-return': 'error',
        '@typescript-eslint/interface-name-prefix': 'off',
        '@typescript-eslint/no-async-promise-executor': 'error',
        '@typescript-eslint/no-await-in-loop': 'error',
        '@typescript-eslint/no-class-assign': 'error',
        '@typescript-eslint/no-compare-neg-zero': 'error',
        '@typescript-eslint/no-cond-assign': 'error',
        '@typescript-eslint/no-const-assign': 'error',
        '@typescript-eslint/no-constant-condition': 'error',
        '@typescript-eslint/no-constructor-return': 'error',
        '@typescript-eslint/no-control-regex': 'error',
        '@typescript-eslint/no-debugger': 'error',
        '@typescript-eslint/no-dupe-args': 'error',
        '@typescript-eslint/no-dupe-class-members': 'error',
        '@typescript-eslint/no-dupe-else-if': 'error',
        '@typescript-eslint/no-dupe-keys': 'error',
        '@typescript-eslint/no-duplicate-case': 'error',
        '@typescript-eslint/no-duplicate-imports': 'error',
        '@typescript-eslint/no-empty-character-class': 'error',
        '@typescript-eslint/no-empty-pattern': 'error',
        '@typescript-eslint/no-ex-assign': 'error',
        '@typescript-eslint/no-explicit-any': 'error',
        '@typescript-eslint/no-fallthrough': 'error',
        '@typescript-eslint/no-func-assign': 'error',
        '@typescript-eslint/no-import-assign': 'error',
        '@typescript-eslint/no-inner-declarations': 'error',
        '@typescript-eslint/no-invalid-regexp': 'error',
        '@typescript-eslint/no-irregular-whitespace': 'error',
        '@typescript-eslint/no-loss-of-precision': 'error',
        '@typescript-eslint/no-misleading-character-class': 'error',
        '@typescript-eslint/no-new-symbol': 'error',
        '@typescript-eslint/no-obj-calls': 'error',
        '@typescript-eslint/no-promise-executor-return': 'error',
        '@typescript-eslint/no-prototype-builtins': 'error',
        '@typescript-eslint/no-self-assign': 'error',
        '@typescript-eslint/no-self-compare': 'error',
        '@typescript-eslint/no-setter-return': 'error',
        '@typescript-eslint/no-sparse-arrays': 'error',
        '@typescript-eslint/no-template-curly-in-string': 'error',
        '@typescript-eslint/no-this-before-super': 'error',
        '@typescript-eslint/no-undef': 'error',
        '@typescript-eslint/no-unexpected-multiline': 'error',
        '@typescript-eslint/no-unmodified-loop-condition': 'error',
        '@typescript-eslint/no-unreachable': 'error',
        '@typescript-eslint/no-unreachable-loop': 'error',
        '@typescript-eslint/no-unsafe-finally': 'error',
        '@typescript-eslint/no-unsafe-negation': 'error',
        '@typescript-eslint/no-unsafe-optional-chaining': 'error',
        '@typescript-eslint/no-unused-expressions': 'error',
        '@typescript-eslint/no-unused-labels': 'error',
        '@typescript-eslint/no-unused-private-class-members': 'error',
        '@typescript-eslint/no-unused-vars': 'error',
        '@typescript-eslint/no-use-before-define': 'error',
        '@typescript-eslint/no-useless-backreference': 'error',
        '@typescript-eslint/require-atomic-updates': 'error',
        '@typescript-eslint/use-isnan ': 'error',
        '@typescript-eslint/valid-typeof': 'error',
        curly: 'error'
    }
};

package.json内容:

代码语言:javascript
运行
复制
...
  "scripts": {
    "lint": "eslint \"{src,libs}/**/*.ts\" --fix",
    "lint:ci": "eslint \"{src,libs}/**/*.ts\"",
...
  "devDependencies": {
    "@typescript-eslint/eslint-plugin": "5.12.1",
    "@typescript-eslint/parser": "5.12.1",
    "eslint": "8.9.0",
    "eslint-config-prettier": "8.4.0",
    "eslint-plugin-import": "2.25.4",
    "eslint-plugin-prettier": "4.0.0",
...

完整错误列表:

代码语言:javascript
运行
复制
 1:1  error  Definition for rule '@typescript-eslint/for-direction' was not found                    @typescript-eslint/for-direction
  1:1  error  Definition for rule '@typescript-eslint/getter-return' was not found                    @typescript-eslint/getter-return
  1:1  error  Definition for rule '@typescript-eslint/no-async-promise-executor' was not found        @typescript-eslint/no-async-promise-executor
  1:1  error  Definition for rule '@typescript-eslint/no-await-in-loop' was not found                 @typescript-eslint/no-await-in-loop
  1:1  error  Definition for rule '@typescript-eslint/no-class-assign' was not found                  @typescript-eslint/no-class-assign
  1:1  error  Definition for rule '@typescript-eslint/no-compare-neg-zero' was not found              @typescript-eslint/no-compare-neg-zero
  1:1  error  Definition for rule '@typescript-eslint/no-cond-assign' was not found                   @typescript-eslint/no-cond-assign
  1:1  error  Definition for rule '@typescript-eslint/no-const-assign' was not found                  @typescript-eslint/no-const-assign
  1:1  error  Definition for rule '@typescript-eslint/no-constant-condition' was not found            @typescript-eslint/no-constant-condition
  1:1  error  Definition for rule '@typescript-eslint/no-constructor-return' was not found            @typescript-eslint/no-constructor-return
  1:1  error  Definition for rule '@typescript-eslint/no-control-regex' was not found                 @typescript-eslint/no-control-regex
  1:1  error  Definition for rule '@typescript-eslint/no-debugger' was not found                      @typescript-eslint/no-debugger
  1:1  error  Definition for rule '@typescript-eslint/no-dupe-args' was not found                     @typescript-eslint/no-dupe-args
  1:1  error  Definition for rule '@typescript-eslint/no-dupe-else-if' was not found                  @typescript-eslint/no-dupe-else-if
  1:1  error  Definition for rule '@typescript-eslint/no-dupe-keys' was not found                     @typescript-eslint/no-dupe-keys
  1:1  error  Definition for rule '@typescript-eslint/no-duplicate-case' was not found                @typescript-eslint/no-duplicate-case
  1:1  error  Definition for rule '@typescript-eslint/no-empty-character-class' was not found         @typescript-eslint/no-empty-character-class
  1:1  error  Definition for rule '@typescript-eslint/no-empty-pattern' was not found                 @typescript-eslint/no-empty-pattern
  1:1  error  Definition for rule '@typescript-eslint/no-ex-assign' was not found                     @typescript-eslint/no-ex-assign
  1:1  error  Definition for rule '@typescript-eslint/no-fallthrough' was not found                   @typescript-eslint/no-fallthrough
  1:1  error  Definition for rule '@typescript-eslint/no-func-assign' was not found                   @typescript-eslint/no-func-assign
  1:1  error  Definition for rule '@typescript-eslint/no-import-assign' was not found                 @typescript-eslint/no-import-assign
  1:1  error  Definition for rule '@typescript-eslint/no-inner-declarations' was not found            @typescript-eslint/no-inner-declarations
  1:1  error  Definition for rule '@typescript-eslint/no-invalid-regexp' was not found                @typescript-eslint/no-invalid-regexp
  1:1  error  Definition for rule '@typescript-eslint/no-irregular-whitespace' was not found          @typescript-eslint/no-irregular-whitespace
  1:1  error  Definition for rule '@typescript-eslint/no-misleading-character-class' was not found    @typescript-eslint/no-misleading-character-class
  1:1  error  Definition for rule '@typescript-eslint/no-new-symbol' was not found                    @typescript-eslint/no-new-symbol
  1:1  error  Definition for rule '@typescript-eslint/no-obj-calls' was not found                     @typescript-eslint/no-obj-calls
  1:1  error  Definition for rule '@typescript-eslint/no-promise-executor-return' was not found       @typescript-eslint/no-promise-executor-return
  1:1  error  Definition for rule '@typescript-eslint/no-prototype-builtins' was not found            @typescript-eslint/no-prototype-builtins
  1:1  error  Definition for rule '@typescript-eslint/no-self-assign' was not found                   @typescript-eslint/no-self-assign
  1:1  error  Definition for rule '@typescript-eslint/no-self-compare' was not found                  @typescript-eslint/no-self-compare
  1:1  error  Definition for rule '@typescript-eslint/no-setter-return' was not found                 @typescript-eslint/no-setter-return
  1:1  error  Definition for rule '@typescript-eslint/no-sparse-arrays' was not found                 @typescript-eslint/no-sparse-arrays
  1:1  error  Definition for rule '@typescript-eslint/no-template-curly-in-string' was not found      @typescript-eslint/no-template-curly-in-string
  1:1  error  Definition for rule '@typescript-eslint/no-this-before-super' was not found             @typescript-eslint/no-this-before-super
  1:1  error  Definition for rule '@typescript-eslint/no-undef' was not found                         @typescript-eslint/no-undef
  1:1  error  Definition for rule '@typescript-eslint/no-unexpected-multiline' was not found          @typescript-eslint/no-unexpected-multiline
  1:1  error  Definition for rule '@typescript-eslint/no-unmodified-loop-condition' was not found     @typescript-eslint/no-unmodified-loop-condition
  1:1  error  Definition for rule '@typescript-eslint/no-unreachable' was not found                   @typescript-eslint/no-unreachable
  1:1  error  Definition for rule '@typescript-eslint/no-unreachable-loop' was not found              @typescript-eslint/no-unreachable-loop
  1:1  error  Definition for rule '@typescript-eslint/no-unsafe-finally' was not found                @typescript-eslint/no-unsafe-finally
  1:1  error  Definition for rule '@typescript-eslint/no-unsafe-negation' was not found               @typescript-eslint/no-unsafe-negation
  1:1  error  Definition for rule '@typescript-eslint/no-unsafe-optional-chaining' was not found      @typescript-eslint/no-unsafe-optional-chaining
  1:1  error  Definition for rule '@typescript-eslint/no-unused-labels' was not found                 @typescript-eslint/no-unused-labels
  1:1  error  Definition for rule '@typescript-eslint/no-unused-private-class-members' was not found  @typescript-eslint/no-unused-private-class-members
  1:1  error  Definition for rule '@typescript-eslint/no-useless-backreference' was not found         @typescript-eslint/no-useless-backreference
  1:1  error  Definition for rule '@typescript-eslint/require-atomic-updates' was not found           @typescript-eslint/require-atomic-updates
  1:1  error  Definition for rule '@typescript-eslint/use-isnan ' was not found                       @typescript-eslint/use-isnan 
  1:1  error  Definition for rule '@typescript-eslint/valid-typeof' was not found                     @typescript-eslint/valid-typeof

我真的不知道我还需要在我的配置中添加什么才能使eslint使用推荐的规则。我一直在翻阅文档,感觉好像我只是在随意尝试,试图让错误消失。

EN

回答 1

Stack Overflow用户

发布于 2022-02-26 07:55:12

错误来自于ESLint认为TypeScript规则是一个缺失的规则。

尽管您的package.json@typescript-eslint/eslint-plugin@typescript-eslint/parser指定了正确的版本,但请再次检查项目是否确实使用了正确的版本。

运行以下命令:

代码语言:javascript
运行
复制
npm ls @typescript-eslint/eslint-plugin
npm ls @typescript-eslint/parser

如果它们都不是5.12.1,请尝试将它们更新到该版本。

代码语言:javascript
运行
复制
npm install --save-dev @typescript-eslint/eslint-plugin@5.12.1
npm install --save-dev @typescript-eslint/parser@5.12.1

注意: 据提交人说,如果您在全局安装了ESLint,那么也可以全局安装@typescript-eslint/eslint-plugin (使用-g而不是--save-dev)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71224401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档