![](/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.