Edited at

ESLint v4.15.0

More than 1 year has passed since last update.

v4.14.0 | 次 v4.16.0

ESLint 4.15.0 がリリースされました。

小さな機能追加とバグ修正が含まれています。

質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。


🏢 日本語 Issue 管理リポジトリ

👫 日本語サポート チャット

🏢 本家リポジトリ

👫 本家サポート チャット



🚀 本体への機能追加


#9165: messageId

ルール・プラグイン開発者向け。

従来は各検証ルールがエラーを報告する場合、context.report({ node, message: "Oops!" }) のように、エラーメッセージを直接報告していました。この機能追加によって、次のように messageId を利用して、エラーメッセージを分離できるようになります。


ルール

module.exports = {

meta: {
description: "Disallow 'foo' as identifier.",
messages: {
avoidName: "Avoid using variables named '{{name}}'.",
},
schema: [],
},
create(context) {
return {
Identifier(node) {
if (node.name === "foo") {
context.report({
node,
messageId: "avoidName",
data: { name: "foo" },
});
}
}
};
}
};


テスト

const RuleTester = require("eslint").RuleTester

const rule = require("../../../lib/rules/no-foo")

var ruleTester = new RuleTester()
ruleTester.run("no-foo", rule, {
valid: [
"bar",
"baz",
],
invalid: [
{
code: "foo",
errors: [
{ messageId: 'avoidName', data: { name: "foo" } },
],
},
],
})


エラーメッセージの i18n を行うための布石です。

詳細はこちらを御覧ください。


#9782: CLIEngine#getRules()

エディタの拡張機能などのツール開発者向け。

CLIEngine クラスに、現在ロードされているルールの一覧を取得するメソッド getRules() が追加されました。


💡 新しいルール

特になし。


🔧 オプションが追加されたルール


#9752: indent ignoreComments

インデント ルールにコメントを無視するオプションが追加されました。


✒️ eslint --fix をサポートしたルール

特になし。