tsconfig.json未由typescript-eslint使用

时间:2019-07-28 22:19:38

标签: typescript eslint typescript-eslint

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

{
  "parser": "@typescript-eslint/parser",
  "plugins": ["@typescript-eslint"]
}

以及以下tsconfig.json文件:

{
  "compilerOptions": {
    "strict": true
  }
}

问题是运行命令tsconfig.json时,eslint中的选项未应用。不过,它可以与命令tsc一起正常工作。

例如,文件index.ts包含:

function sum(a, b) {}

如果我运行npx eslint index.js,则没有错误,而如果我运行tsc --noEmit,则有两个错误:

  • 错误TS7006:参数'a'隐式具有'any'类型。
  • 错误TS7006:参数'b'隐式具有'any'类型。

我希望eslint命令返回与tsc命令相同的错误。 有想法吗?

1 个答案:

答案 0 :(得分:2)

typescript-eslint不报告编译器警告。它仅报告由其自己的验证规则生成的警告。另外,在TypeScript中启用strict选项不会影响由typescript-eslint执行的代码分析,而该脚本分析不依赖于项目设置。

已有some discussions关于创建新的@typescript-eslint/no-undef规则(以ESLint no-undef规则为模型)的信息,该规则将至少捕获tsc编译器通过严格类型检查生成的一些警告上。

目前最好的方法可能是将tsc --noEmit的执行整合到整个进程中。