我在所有的TypeScript项目中使用ESLint,设置如下:
"extends": ["airbnb", "prettier", 'plugin:vue/recommended'],
"plugins": ["prettier"],
"parserOptions": {
"parser": "@typescript-eslint/parser",
"ecmaVersion": 2018,
"sourceType": "module"
},
-
一堆习惯规则.我还为TypeScript支持安装了以下依赖项:
"@typescript-eslint/eslint-plugin": "^1.7.0", "@typescript-eslint/parser": "^1.7.0",
然而,ESLint最有用的规则之一https://eslint.org/docs/rules/no-unused-vars似乎在TypeScript项目中配置得非常糟糕.例如,当我导出一个枚举时,规则会警告我该枚举未在声明该枚举的文件中使用:
export enum Foo {
Bar,
}
类似地,当我导入要用作类型的接口或类时,"没有未使用的变量"会在实际导入的行上再次抱怨:
In Foo.ts
export interface Foo {
bar: string;
}
In bar.ts
import { Foo } from './Foo'
const bar: Foo = { bar: 'Hello' };
有没有办法配置no unused vars规则来考虑这两种情况?我不喜欢禁用该规则,因为它是除此之外我的整个规则集中最有用的规则之一.
我已经将规则降级为只给出警告而不是错误,但让所有文档都充满警告仍然有点违背了使用esLint的目的.
用建议的//eslint disable line here填充我的所有文档似乎也是一个糟糕的解决方案.