LoginSignup
1
2

More than 5 years have passed since last update.

ESLintの--fixオプションの動作の話の続き

Last updated at Posted at 2017-01-23

元記事:ESLintの--fixはソースを破壊する!本当??

背景

  • Atomで、linter-eslintを使っている。
  • linter-eslintでは、保存時のautofixを使っている。(インデントがグダっていても平気!スイスイかける!!)
  • コード書いたらガンガン保存。
  • コードの記述は「条件チェックでreturn;残りは後で!」って感じで、わかることを書いてあっちこっちに行くスタイル。

というわけで、編集中には、次のようなコードがガンガン存在!で保存されて、eslint --fixが走って、return;が吹っ飛ぶ......

function foo(key) {
  var value = map[key];
  if(!value){
    return;
  }
  // do something....
}

その後

理由がわからなかったので、パニックになりつつ、コードが消えるのが不快だったので、ESLintのissue#7955でお問い合わせをしてみた。
→「後ろのコードと一緒だから、とった。当然!」(ざっくり)とのこと。
→「そうだね......でも、困るケースもあるんだけど??」とお願いしてみた。
→喧々諤々検討してくれています。

コメント

  • 確かに、linterだから、正しくするのが使命だよね。
  • でも、fixにもレベルがあっていいとは思う。
  • でも、あまりにも複雑な指定だと誰も使えないよね。
  • 個人的には、fix-lebel(仮)を追加でseverityまたは、meta.fixableで制御がベターな気がする。
  • でも、あと、ユーザがruleベースでの切り替えって口も用意されているといい気がする。
  • severityは、確かに正しくはない。でも、複雑化を考えると落としどころなのかも。

おまけ

ということで、ざっくりコーディングしてみた。(https://github.com/uk-taniyama/eslint,https://github.com/uk-taniyama/eslint/issues/1)
#あれ?mainブランチに入れちゃっている......ブランチ作って、checkoutし忘れ、そのままpush......
英語書けないんでつらい......

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2