@darcytech/eslint-config-darcytech
v5.3.0
Published
eslint Typescript + React 通用配置
Downloads
10
Maintainers
Readme
@darcytech/eslint-config-darcytech
简介
整理 eslint 的通用配置, 支持 Typescript 、React
注意
ESLint8 要求 node 版本 ^12.22.0, ^14.17.0, or >=16.0.0
安装
npm install --save-dev @darcytech/eslint-config-darcytech eslint prettier jest
用法
module.exports = {
root: true,
extends: ['@darytech/darcytech'],
parserOptions: {
project: "./tsconfig.json"
}
};
常见问题
请看这个链接
how to silence warnings about ignored files in eslint
type-aware linting
Error: Error while loading rule '@typescript-eslint/dot-notation': You have used a rule which requires parserServices to be generated. You must therefore provide a value for the "parserOptions.project" property for @typescript-eslint/parser.
原因是:依赖库 eslint-config-airbnb-typescript 中开启了一些被称之为 type-aware 的 typescript eslint 规则。这类规则需要额外的配置,以获取项目代码的 ts 类型,进行规则的校验。
虽然 @darcytech/eslint-config-darcytech 已经帮忙禁用了一些 type-aware 的 typescript eslint 规则,但难免会因为依赖的更新而出现新的 type-aware 规则没有禁用。
另外,type-aware linting 会影响开发过程中的 eslint 性能,因为它需要获取整个项目的 ts 类型,相当于使用时需要利用 tsc 构建一次项目。
使用中,若仍然出现以上类似问题,请禁用该 typescript-eslint 规则,同时开启对应的 eslint 规则(如果有的话)。
例如:
module.exports = {
root: true,
extends: [
"@darcytech/eslint-config-darcytech"
],
rules: {
"dot-notation": 2,
"@typescript-eslint/dot-notation": 0
}
}
如果你一定要使用 type-aware linting, 可以这么配置:
module.exports = {
root: true,
extends: [
"@darcytech/eslint-config-darcytech"
],
parserOptions: {
tsconfigRootDir: __dirname,
project: ['./tsconfig.json'],
}
}