LoginSignup
0
0

eslint --initで `enforce code style`が選べなくなっていたことの調査メモ

Posted at

はじめに

ESLintはJavaScriptやTypeScriptのコード品質を保つためのツールですが、最近のアップデートで設定方法が変わり、一部のオプションが削除された。npm eslint --initコマンドを実行して選択肢が変わっており、変なハマり方をしたため、調査結果を備忘として記載します。

期待した選択肢

? How would you like to use ESLint? (Use arrow keys)
  To check syntax only
  To check syntax and find problems
❯ To check syntax, find problems, and enforce code style

最新の選択肢

? How would you like to use ESLint? (Use arrow keys)
  To check syntax only
❯ To check syntax and find problems

ESLintを8.0.0まで落としたところ、選択肢が復活。どこで変更が加えられたのか気になったため、調査しました。

ESLintのフォーマットに関するルールの廃止について

フォーマットに関するルールがESLintから削除された様子。

メンテナンスの負荷軽減が主な理由。ただ、2023年10月以前のバージョンに戻してもenforce code styleが選べない問題は解決しなかった。

バージョンを特定

過去のバージョンで調査したところ、以下の状況。

  • 8.6 → 適用されていない
  • 8.7 → 適用されている

関連するコミットを確認したところ、以下の変更が行われていた。

initコマンドはversion 8.7でcreate-configに移管され、create-configの最新版が自動で呼ばれるようになった模様。

create-configの変更

enforce code styleの選択肢がなくなったのは以下のコミット。

2024年4月28日以降のようですが、8.7以降のESLintではcreate-configの最新版を使用するようになっている。ESLintのバージョンを8.6以前に戻せば古い選択肢(enforce code styleがある)が表示され、8.7以降ならば新しい選択肢(enforce code styleがない)が表示される、ということと理解しました。

最後に

このガイダンスに沿って作成されたファイルをそのまま使うわけではないかと思いますが、書籍や記事を参考にしていると、バージョンを揃えても異なるガイダンスが表示されるのは戸惑うだろうなと思い記事化しました。
フロントエンドについてはまだ勉強中のため、何か不備等があればコメントで指摘してもらえますと幸いです。

0
0
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
0
0