Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
tsconfig未由typescript eslint使用_Typescript_Eslint_Typescript Eslint - Fatal编程技术网

tsconfig未由typescript eslint使用

tsconfig未由typescript eslint使用,typescript,eslint,typescript-eslint,Typescript,Eslint,Typescript Eslint,在一个新项目中,我安装了typescript,eslint,@typescript-eslint/parser,@typescipt-eslint/eslint插件。我还添加了以下.eslintrc文件: { "parser": "@typescript-eslint/parser", "plugins": ["@typescript-eslint"] } { "compilerOptions": { "strict": true } } 以及以下tsconfig.j

在一个新项目中,我安装了
typescript
eslint
@typescript-eslint/parser
@typescipt-eslint/eslint插件
。我还添加了以下
.eslintrc
文件:

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"]
}
{
  "compilerOptions": {
    "strict": true
  }
}
以及以下
tsconfig.json
文件:

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"]
}
{
  "compilerOptions": {
    "strict": true
  }
}
问题是当我运行命令
eslint
时,
tsconfig.json
中的选项没有应用。不过,它在使用命令
tsc
时仍能正常工作

例如,文件
index.ts
包含:

function sum(a, b) {}
如果我运行
npx eslint index.js
,我没有错误,而如果我运行
tsc--noEmit
,我有两个错误:

  • 错误TS7006:参数“a”隐式具有“any”类型
  • 错误TS7006:参数“b”隐式具有“any”类型
我希望
eslint
命令返回与
tsc
命令相同的错误。 有什么想法吗

编辑我在
.eslintrc
中尝试了以下内容,也尝试了以下内容:

"parserOptions": {
  "project": "./tsconfig.json"
}

typescript eslint不报告编译器警告。它只报告由自己的验证规则生成的警告。此外,在TypeScript中启用
strict
选项对TypeScript eslint执行的代码分析没有影响,因为TypeScript eslint不依赖于项目设置

关于创建一个新的
@typescript eslint/no undef
规则(以eslint规则为模型),该规则将捕获tsc编译器在严格类型检查的情况下生成的至少一些警告


目前最好的方法可能是将执行
tsc--noEmit
集成到lint进程中。

您能提供一个将执行tsc--noEmit集成到lint进程中的示例吗?@olefrank我手头没有运行tsc可执行文件的示例,但在我的一个项目中,我正在使用TypeScript编译器API和最小的一组(包括
noEmit
)来精确地执行这种linting。关键是typescript模块提供的函数
createProgram
,它在编译时抛出一个错误,从而停止构建。兴趣代码是。我看看能不能想出一个简单的例子。