包括同一 ESLint 规则的错误和警告?
Including both errors and warnings for same ESLint rule?
我的团队正在重构我们的代码库,我们正在使用 ESLint 来识别有任何 lint 错误的文件。我们目前有一个 .eslintrc 文件具有极高的阈值,并且随着我们对代码库中的某些文件进行改进,我们正在逐步降低这些阈值。例如,我们的 "max-statements" 阈值设置为 99 个语句,我们的目标是将其降低到 20 个语句。因此,我们逐渐将阈值从 99 降低到 98 再到 97 等,直到我们看到 lint 错误出现。然后我们知道接下来要重构哪个文件。
问题是这个策略并没有止血。继续上面的例子,假设引入了一个有 45 个语句的新控制器。这个数字低于我们当前的阈值(因为我们的瓶颈文件有 99 条语句),但高于我们 20 条语句的目标阈值。
理想情况下,我们希望看到任何违反我们当前阈值的 lint 错误的错误,以及违反我们目标阈值的 lint 错误的警告。这将为我们提供所有违规文件的列表,并首先对违规行为最严重的文件进行分类。例如:
// inside .eslintrc
....
"rules": {
"max-statements": [2, 99],
"max-statements": [1, 20]
}
....
在这种情况下,对于语句超过 20 条的任何文件,我们都会看到警告,对于语句超过 99 条的每个文件,我们都会看到错误。
我尝试实施上述配置,但正如我所担心的那样,第一个 "max-statements" 规则被第二个规则覆盖了。
有什么方法可以达到我描述的效果吗?
当运行从命令行使用 ESlint 时,您可以指定配置文件。只需使用不同的配置调用命令两次即可。
如果需要,您实际上可以解析第一个 运行 的结果并在第二个 运行 中忽略有错误的文件。
我的团队正在重构我们的代码库,我们正在使用 ESLint 来识别有任何 lint 错误的文件。我们目前有一个 .eslintrc 文件具有极高的阈值,并且随着我们对代码库中的某些文件进行改进,我们正在逐步降低这些阈值。例如,我们的 "max-statements" 阈值设置为 99 个语句,我们的目标是将其降低到 20 个语句。因此,我们逐渐将阈值从 99 降低到 98 再到 97 等,直到我们看到 lint 错误出现。然后我们知道接下来要重构哪个文件。
问题是这个策略并没有止血。继续上面的例子,假设引入了一个有 45 个语句的新控制器。这个数字低于我们当前的阈值(因为我们的瓶颈文件有 99 条语句),但高于我们 20 条语句的目标阈值。
理想情况下,我们希望看到任何违反我们当前阈值的 lint 错误的错误,以及违反我们目标阈值的 lint 错误的警告。这将为我们提供所有违规文件的列表,并首先对违规行为最严重的文件进行分类。例如:
// inside .eslintrc
....
"rules": {
"max-statements": [2, 99],
"max-statements": [1, 20]
}
....
在这种情况下,对于语句超过 20 条的任何文件,我们都会看到警告,对于语句超过 99 条的每个文件,我们都会看到错误。
我尝试实施上述配置,但正如我所担心的那样,第一个 "max-statements" 规则被第二个规则覆盖了。
有什么方法可以达到我描述的效果吗?
当运行从命令行使用 ESlint 时,您可以指定配置文件。只需使用不同的配置调用命令两次即可。
如果需要,您实际上可以解析第一个 运行 的结果并在第二个 运行 中忽略有错误的文件。