Eslint Typescript“无隐式任何”规则

zit*_*hir 21 typescript eslint

我正在使用 eslint 设置一个新的打字稿项目。我正在尝试正确设置 eslint 规则,以便tsc命令运行时不会出现错误。我在 中使用的“noImplicitAny”规则有问题tsconfig.json,但我无法在 eslint 中检查这一点。

.eslintrc.js:

module.exports = {
    extends: [
        "eslint:recommended",
        "plugin:@typescript-eslint/eslint-recommended",
        "plugin:@typescript-eslint/recommended",
    ],
    parser: "@typescript-eslint/parser",
    parserOptions: {
        project: ["tsconfig.json"],
        sourceType: "module",
    },
    rules: {
        "no-undef": "warn",
    },
    plugins: ["@typescript-eslint"],
    settings: {
        "import/resolver": {
            node: {
                extensions: [".js", ".ts"],
            },
        },
    },
};
Run Code Online (Sandbox Code Playgroud)

tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "ES6",
    "declaration": true,
    "outDir": "./lib",
    "strict": true,
    "noImplicitAny": true
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules", "**/__tests__/*"]
}
Run Code Online (Sandbox Code Playgroud)

简而言之,我希望 eslint 检查隐式的 any 并警告其使用情况。我如何配置规则来.eslintrc.js实现这一目标?

Cer*_*nce 18

TypeScript-ESLint 中已实现了许多no-unsafe-*规则:

这些都是独立的规则,但它们也都已集成到 Typescript-ESLint 的官方 推荐要求类型检查配置中。

extends: [
    'plugin:@typescript-eslint/recommended-requiring-type-checking',
Run Code Online (Sandbox Code Playgroud)

类似地,还有no-explicit-any. 将所有这些放在一起,您应该得到充分的保护,免受any问题的影响。

  • “任何”问题。哈哈。 (7认同)