9

我正在用 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"],
            },
        },
    },
};

tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "ES6",
    "declaration": true,
    "outDir": "./lib",
    "strict": true,
    "noImplicitAny": true
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modules", "**/__tests__/*"]
}

简而言之,我希望 eslint 检查隐含的 any 并警告它的使用。我如何配置规则.eslintrc.js来实现这一点?

4

1 回答 1

5

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

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

extends: [
    'plugin:@typescript-eslint/recommended-requiring-type-checking',

在类似的说明中,有no-explicit-any. 将所有这些放在一起,您应该得到充分的保护,不会any出现问题。

于 2021-12-02T03:22:05.233 回答