gpt4 book ai didi

typescript - 带有 TypeScript 解析器/插件 : how to include . spec.ts 的 ESLint,从 tsconfig.json 中排除?

转载 作者:行者123 更新时间:2023-12-04 11:36:12 26 4
gpt4 key购买 nike

我正在使用很棒的 typescript-eslint与 ESLint 一起。

问题描述 :TypeScript ESLint 解析器提示 src/module.spec.ts不是项目的一部分,这是正确的。我排除了所有 spec.ts来自 TypeScript 的文件 tsconfig.json文件,因为它们不需要被转译。

如何制作 src/module.spec.ts 未转译但仍检查 反对 ESLint?

my-project\src\module.spec.ts 0:0 error Parsing error: "parserOptions.project" has been set for @typescript-eslint/parser. The file does not match your project config: src\module.spec.ts. The file must be included in at least one of the projects provided



我的 .eslint.json (剥离下来):
{
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended"
],
"env": {
"node": true
},
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module",
"project": "tsconfig.json"
},
"plugins": [
"@typescript-eslint"
]
}

我的 tsconfig.json :
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"declaration": true,
"sourceMap": false,
"outDir": "./dist",
"rootDir": "./src",
"removeComments": true,
"strict": true,
"skipLibCheck": true,
"esModuleInterop": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true
},
"exclude": [
"./dist",
"**/*.spec.ts"
]
}

最佳答案

在包含 tsconfig.json 的项目文件夹中, 使用以下内容创建另一个 JSON 文件:

{
"exclude": [
"./dist"
],
"extends": "./tsconfig.json"
}

确切的文件名在这里无关紧要。请注意,这是一个完全有效的 TypeScript 配置文件,其中所有设置都继承自 ./tsconfig.json , 除了 extends ,其中图案 "**/*.spec.ts"已被删除。

从这个新的 JSON 文件中读取其设置的工具(与默认的 tsconfig.json 相反)不会忽略 src/module.spec.ts .

然后在您的 .eslint.jsonparserOptions将新 JSON 文件的名称设置为 project ,例如如果文件被调用 test.tsconfig.json :
"project": "test.tsconfig.json"

然后运行 ​​ESLint,看看它还有什么提示。

这基本上就是我在遇到类似问题的一个项目中所做的。可能还有其他一些方法可以达到相同的效果。

关于typescript - 带有 TypeScript 解析器/插件 : how to include . spec.ts 的 ESLint,从 tsconfig.json 中排除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62154245/

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