gpt4 book ai didi

javascript - Eslint/Tslint 配置帮助(不包括文件)

转载 作者:行者123 更新时间:2023-12-05 00:34:28 28 4
gpt4 key购买 nike

最近在我们的项目中,我们迁移到使用 @typescript-eslint/parser从 tslint 慢慢迁移。一切都很顺利,但我有一个小问题/问题我无法解决。

我是否需要在 tsconfig 排除数组以及 .eslintrc 上的 ignorePatterns 中指定忽略文件/模式?导出对象?有什么区别?

我们的src/lang 中有一个messages.js 文件。我试图忽略但目前在我们的预提交 Hook 上引发 lint 错误的目录,这让我想知道这个问题以及这两个设置如何协同工作。
Parsing error: "parserOptions.project" has been set for '@typescript-eslint/parser'
The file does not match your project config: src/lang/messages.js. The file must be included in at least one of the projects provided

我认为我对这些交织的理解是关闭的,因为当 eslint 运行时,我认为 parserOptions 会从 tsconfig 中获取项目规则,其中排除了 js 文件。

目前,我在 eslintrc 中讨论的部分如下所示:

module.exports = {
parser: '@typescript-eslint/parser',
parserOptions: {
project: path.resolve(__dirname, './tsconfig.json'),
tsconfigRootDir: __dirname,
useJSXTextNode: true,
sourceType: 'module',
ecmaFeatures: {
modules: true,
jsx: true,
},
},
ignorePatterns: ['node_modules/**', '.storybook/**', 'src/stories/**', '*.scss', '*.js'] // ignoring here works

配置:
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules", "src/**/*.js"], // exclude here doesn't work.

包.json:
"scripts": {
"lint": "tsc --project ./tsconfig.json --noEmit && eslint --ext=jsx,ts,tsx src"
},

​​​

最佳答案

ESLint 通过 @typescript-eslint/parser plugin 文件列表(ESLint 从命令行获取)。 @typescript-eslint/parser插件无法控制此列表,因此它会尽力根据给出的列表进行操作。

错误消息试图通知用户 ESlint 正在检查一个被 @typescript-eslint/parser 排除在分析之外的文件。插入。从插件的 Angular 来看,这可能有两个原因:

  • 该文件被有意、明确​​地排除(通过将其添加到 tconfig 排除)。
  • 用户忘记将文件添加到 tsconfig 包含。

  • 在后一种情况下(更常见),插件想要通知用户他们的配置错误,以便他们可以更正它。因此,您看到的错误消息。

    为了从 TSLint 中正确排除文件,一种选择是使用 .eslintignore 文件。
    您还可以更改 eslint 命令以忽略排除的文件:
    eslint ... --ignore-pattern "src/**/*.js"
    (但请注意,忽略模式是相对于当前目录的,而不是相对于 tsconfig 等的位置。)

    或者,如果您确实希望 ESLint 对文件进行 lint(但仍将它们排除在 tsconfig 中),您可以考虑为 @typescript-eslint/parser 提供更具包容性的 tsconfig通过创建 tsconfig.eslint.json 文件 extends from your normal tsconfig .

    另请参阅这些 GitHub 问题:
  • @typescript-eslint/parser doesn't ignore files, which is excluded by/in tsconfig.json #905
  • parse error on excluded files #1174
  • Exclude files in tsconfig without throwing an @typescript-eslint/parser error #1350
  • 关于javascript - Eslint/Tslint 配置帮助(不包括文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60822280/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com