![](/img/trans.png)
[英]How to apply only single rule or set of rules with prettier (or prettierx)
[英]How do you run eslint for only a specific rule or set of rules - command line only
我知道你可以在.eslintrc
文件中定义规则,但是如果我只想运行eslint
并检查一个特定的规则怎么办?
例如$ eslint helpme.js --rule some-important-rule
我不知道这是否是最好的方法,但我能够做到这一点:
$ eslint helpme.js --no-eslintrc --env "es6" --env "node" --parser-options "{ecmaVersion: 2018}" --rule "{some-important-rule: error}"
注意:使用这种方法(完全忽略.eslintrc
),您仍然需要从.eslintrc
添加一些东西,例如您的环境和解析器选项。
如果你想使用 .eslintrc 文件来保存你的配置(解析器、插件设置等),你可以使用带有--rule=some-important-rule
标志的eslint- nibble。 这将尊重您的正常配置,但仅向您显示该规则中的错误。 如果您想在 CI 环境之类的环境中运行它,还有其他一些标志,例如--no-interactive
。
免责声明:我是 eslint-nibble 的创建者。
可以用来过滤部分规则,你要关注的文件。
你不需要:
prop-types
错误:// ./eslint-file-path-formatter.js
const fs = require('fs');
function containRules(result, targetRuleId) {
if (!result || !targetRuleId) {
return false;
}
return result.messages.some((cur) => {
// console.log(`cur?.ruleId = ${cur?.ruleId}`);
if (cur?.ruleId?.includes(targetRuleId)) {
return true;
}
});
}
module.exports = function (results, context) {
const summary = [];
results.forEach((cur) => {
if (containRules(cur, 'prop-types')) {
summary.push(`'${cur.filePath}',`);
}
});
// fs.writeFileSync('eslint-error-files.txt', summary.join('\n'));
// return 'Done Write';
return summary.join('\n');
};
eslint . -f ./eslint-file-path-formatter.js
然后这个格式化程序会将所有文件名打印到控制台。
您还可以将结果写入本地文件,随心所欲。
在仍然使用.eslintrc
的同时查看单个规则输出的简单方法是使用 grep:
$ eslint helpme.js | egrep "(^/|some\-important\-rule$)"
扩展@matrik 答案,这不需要我再次定义所有 eslint 配置并且还显示文件名。
eslint helpme.js | egrep "react/jsx-no-literals" -B 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.