ESLint v 4.14.0 has been released: https://t.co/x1WNHLYaqw
— ESLint (@geteslint) 2017年12月23日
ESLint 4.14.0 がリリースされました。
小さな機能追加とバグ修正が含まれています。
babel-eslint
をご利用の方は、babel-eslint
も最新版に更新してください。
質問やバグ報告等ありましたら、お気軽にこちらまでお寄せください。
🚀 本体への機能追加
#8755: カスタム パーサーが独自の変数解析ロジックを持てるようになった
プラグイン開発者向け。
babel-eslint
のような独自の構文を追加するカスタム パーサーは、現在の JavaScript とは異なる変数スコープ・変数宣言・変数参照を導入する構文を扱うことがあります。今までは ESLint が変数解析に関する振る舞いを変更する API を提供していなかったため、babel-eslint
は ESLint の該当部分にモンキーパッチを当てて動作していました。その為、ESLint の内部的な変更で度々動作しなくなっていました。
この機能追加によって、カスタム パーサーはモンキーパッチ無しで独自の変数解析ロジックを持つことができるようになります。
詳細はこちらを御覧ください。
💡 新しいルール
特になし。
🔧 オプションが追加されたルール
#9344: array-callback-return allowImplicit
Array.prototype.map
等の値を返す必要のあるメソッドのコールバック関数で、値を返さない return
文を許可する (undefined
を返すものとして扱う) オプションが追加されました。
/*eslint array-callback-return: [error, { allowImplicit: true }] */ //✔ GOOD var ys = xs.map(function(x) { return })
#9441: one-var separateRequires
連続する変数宣言を1つにまとめることを強制するルールにおいて、require()
とそれ以外の変数を分離するオプションが追加されました。
/*eslint one-var: ["error", { separateRequires: true, var: "always" }]*/ /*eslint-env node*/ //✘ BAD function wrapper() { var foo = require("foo"), bar = require("bar"), baz = "baz"; } //✔ GOOD function wrapper() { var foo = require("foo"), bar = require("bar"); var baz = "baz"; }
✒️ eslint --fix
をサポートしたルール
特になし。