加载规则“@typescript-eslint/dot-notation”时出错

Posted

技术标签:

【中文标题】加载规则“@typescript-eslint/dot-notation”时出错【英文标题】:Error while loading rule '@typescript-eslint/dot-notation' 【发布时间】:2021-01-14 20:58:56 【问题描述】:

今天我运行 eslint,两个脚本

 "lint-staged": "lint-staged",
 "eslint": "eslint --ext .tsx,.ts --fix ./src -c .eslintrc.js",

当我运行npm run eslint // 没问题 当我运行npm run lint-staged // 这是错误的

lint-staged 的​​结果;

> lint-staged
  ❯ Running tasks for src/**/*.tsx
    ✖ eslint --fix [FAILED]
    ◼ git add
  
✖ eslint --fix :


Oops! Something went wrong! :(

ESLint: 7.10.0

Error: Error while loading rule '@typescript-eslint/dot-notation': You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.
Occurred while linting /Users/***/components/BrowserInfo/Index.tsx
    at Object.getParserServices (/Users/fugang/workspace/xinao/channel-desk/node_modules/_@typescript-eslint_experimental-utils@4.3.0@@typescript-eslint/experimental-utils/dist/eslint-utils/getParserServices.js:26:15)

在包中 lint-staged

发生了什么?

"lint-staged": 
    "src/**/*.tsx": [
      "eslint --fix -c .eslintrc.js",
      "git add"
    ]
  ,

【问题讨论】:

【参考方案1】:

如果有人使用.eslintrc.yml 可以使用以下解决上述问题

extends:
  - airbnb-typescript
parserOptions:
  project:
    - tsconfig.json

PS:tsconfig.json 在根文件夹中,如果它不在根文件夹中,请更改它以匹配您的位置。

【讨论】:

【参考方案2】:

您必须将以下配置添加到您的 .eslint.json 文件中


    "parserOptions": 
        ...
        "project": ["path/to/your/tsconfig/file"]
        ...
    ,

【讨论】:

谢谢@Vladimir Jovanović。在我的项目中,我添加了如下内容,因为“tsconfig.json”和“.eslintrc.json”处于同一级别。 "parserOptions": "project": ["tsconfig.json"] @RamyaVelivala 你有没有发现你的问题?我正在经历同样的事情

以上是关于加载规则“@typescript-eslint/dot-notation”时出错的主要内容,如果未能解决你的问题,请参考以下文章

sonar自定义规则开发完并加载之后,为啥sonar只显示,扫描的时候扫描不出来

构建服务器加载自定义代码分析规则集失败

浏览器渲染的工作流程和图片加载与渲染规则

用户点击组合框后重新加载页面(有一些规则)

自定义过滤器扩展 UrlRewriteFilter 以从数据库加载规则

加载 HTML 内容后应用的 CSS 规则