ESLint v3.18.0 has been released: https://t.co/ajPcRN19PJ
— ESLint (@geteslint) 2017年3月17日
ESLint 3.18.0 がリリースされました。
いくつかの機能追加・バグ修正が行われています。
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。
✨ 本体の変更
#5407: AST Selectors
プラグイン・カスタム ルール開発者向けです。
各ルールは AST の種類毎にイベントハンドラを書くことで実装されていますが、そのイベント名に AST Selectors を利用できるようになりました。
例えば、let
定義を調べたい場合のコードは次のように簡潔になります。
例.(before)
exports.create = (context) => ({
VariableDeclaration(node) {
if (node.kind === "let") {
// 調べる
}
}
})
例.(after)
exports.create = (context) => ({
"VariableDeclaration[kind=let]"(node) {
// 調べる
}
})
これに伴い、no-restricted-syntax ルールのオプションとしても AST Selectors が利用できるようになりました。
例.(xdescribe関数呼び出しを禁止する)
{
"rules": {
"no-restricted-syntax": [
"error",
"CallExpression[callee.name='xdescribe']"
]
}
}
💡 新しいルール
今回はありません。
🔧 オプションが追加されたルール
#7632: no-unused-expressions (allowTaggedTemplates
)
タグ付きテンプレートを副作用を持つ式として扱うオプションが追加されました。
/*eslint no-unused-expressions: [error, {allowTaggedTemplates: true}] */
//✘ BAD
`hello, ${world}!`
//✔ GOOD
tag`hello, ${world}!`
✒️ eslint --fix
をサポートしたルール
今回はありません。