如何覆盖我的 nx 工作区中的 eslint 规则?
How do I override an eslint rule in my nx workspace?
如何覆盖 plugin:@nrwl/nx/typescript
中的 eslint 规则?我已经对 .eslintrc.json
.
的根目录进行了此更改
"rules": {
"@typescript-eslint/member-ordering": "warn"
},
并且在引入违反规则的演示后仍然出现错误
D:\me\sample\apps\my-app\src\app\app.component.ts
16:3 error Member outOfOrder should be declared before all instance method definitions @typescript-eslint/member-ordering
✖ 1 problem (1 error, 0 warnings)
Lint errors found in the listed files.
我也尝试将规则更改添加到打字稿的 overrides
部分。
无法在根级别上进行设置,因为您的项目的 .eslintrc.json
将始终覆盖这些更改,因为 @nrwl/nx/typescript
是在覆盖部分中设置的。
不幸的是,您必须在覆盖部分中为每个项目设置此项。
如果您有多个项目 and/or 需要应用多个更改,您可以将其提取到 eslint-custom-overrides
文件中并将其用作 extends
部分的最后一个:
{
"extends": ["../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts"],
"extends": [
"plugin:@nrwl/nx/typescript",
"../../eslintrc-custom-overrides.json"
],
},
...
],
...
}
你的 eslintrc-custom-overrides.json
看起来像这样:
{
"overrides": [
{
"files": ["*.ts"],
"rules": {
"@typescript-eslint/member-ordering": "warn"
}
}
]
}
查看有关 NX Issue 的更多详细信息。
我找到了一个非常适合我的解决方案,它避免了任何复制粘贴(我认为这是不可接受的)并且或多或少违背了已接受答案中的“不可能”断言。对我来说,关键不是使用基于文件的覆盖而是扩展。它工作得很好,并且完全按照我的意愿去做(并且没有看到任何缺点)。希望对您有所帮助:
一个 NextJS / React UI 项目
NodeJS GraphQL 项目的配置
所有 NextJS / UI 项目的配置
可被以上任何内容覆盖的所有内容的配置
如何覆盖 plugin:@nrwl/nx/typescript
中的 eslint 规则?我已经对 .eslintrc.json
.
"rules": {
"@typescript-eslint/member-ordering": "warn"
},
并且在引入违反规则的演示后仍然出现错误
D:\me\sample\apps\my-app\src\app\app.component.ts
16:3 error Member outOfOrder should be declared before all instance method definitions @typescript-eslint/member-ordering
✖ 1 problem (1 error, 0 warnings)
Lint errors found in the listed files.
我也尝试将规则更改添加到打字稿的 overrides
部分。
无法在根级别上进行设置,因为您的项目的 .eslintrc.json
将始终覆盖这些更改,因为 @nrwl/nx/typescript
是在覆盖部分中设置的。
不幸的是,您必须在覆盖部分中为每个项目设置此项。
如果您有多个项目 and/or 需要应用多个更改,您可以将其提取到 eslint-custom-overrides
文件中并将其用作 extends
部分的最后一个:
{
"extends": ["../../.eslintrc.json"],
"ignorePatterns": ["!**/*"],
"overrides": [
{
"files": ["*.ts"],
"extends": [
"plugin:@nrwl/nx/typescript",
"../../eslintrc-custom-overrides.json"
],
},
...
],
...
}
你的 eslintrc-custom-overrides.json
看起来像这样:
{
"overrides": [
{
"files": ["*.ts"],
"rules": {
"@typescript-eslint/member-ordering": "warn"
}
}
]
}
查看有关 NX Issue 的更多详细信息。
我找到了一个非常适合我的解决方案,它避免了任何复制粘贴(我认为这是不可接受的)并且或多或少违背了已接受答案中的“不可能”断言。对我来说,关键不是使用基于文件的覆盖而是扩展。它工作得很好,并且完全按照我的意愿去做(并且没有看到任何缺点)。希望对您有所帮助:
一个 NextJS / React UI 项目
NodeJS GraphQL 项目的配置
所有 NextJS / UI 项目的配置
可被以上任何内容覆盖的所有内容的配置