ESLint設定生成ツール
ガイド
ESLint設定生成ツール
あなたのプロジェクトに即座に使えるESLint設定を生成します。フレームワーク、言語バージョン、環境、ルールの厳密度を選択し、出力の内容をリポジトリに直接コピーします。現代的なフラット設定 (ESLint v9+) およびESLint v8で使用されるlegacy設定をサポートしています。eslint.config.js、ESLint v9+ .eslintrc.json ESLint v8で使用されるlegacy形式。
使用方法
- 設定フォーマットを選択:フラット (ESLint v9+) またはlegacy (.eslintrc.json)。
- 使用しているフレームワークを選択してください — vanilla JS、Node.js、React、Next.js、Vue 3、またはTypeScript。
- スタイルガイド(Airbnb、Standard、Google、Prettier)をオプションで選択して拡張できます。
- JavaScriptとTypeScriptが混在する場合、TypeScriptサポートを切り替えます。
- コードベースに合わせて言語オプション、環境、ルールの厳密度を調整します。
- 生成された設定をコピーし、
eslint.config.jsまたは.eslintrc.jsonに貼り付け、表示された依存関係をインストールします。
機能
- フラットおよびlegacyフォーマット — ESLint v9+用の
eslint.config.jsまたは.eslintrc.jsonv8用の - フレームワークプリセット — vanilla JS、Node.js、React、Next.js、Vue 3、およびTypeScriptに適したプラグインと推奨設定が組み込まれています。
- スタイルガイド — オプションでAirbnb、Standard(neostandardによるフラット)、Google、およびPrettierの統合。
- 共通ルールスイッチ — 以下のようなルールの厳密度をカスタマイズ
semi,quotes,indent,no-unused-vars,no-console,eqeqeq,prefer-constと、no-var. - インストールコマンド — 対応する
npm install -D行を表示し、正確に必要なパッケージを追加できるようにします。 - インラインコメント — 各オプションの説明をインラインで表示し、設定がドキュメントとしても機能します。
- クライアントサイドのみ — すべてがブラウザで実行され、コードがアップロードされません。
よくある質問
-
フラット設定とlegacy .eslintrcの違いは?
フラット設定は1つのJavaScriptモジュールで、配列(またはteslint.config()などのヘルパーの結果)をエクスポートします。これはESLint v9でlegacy .eslintrcのカスケードに置き換えられ、実際のインポートを使用し、文字列検索ではなく、本質的にESモジュールと連携しやすくなります。legacy .eslintrcシステムはESLint v8でまだ動作しますが、新しいバージョンではデフォルトになりません。
-
なぜPrettierを最後に適用する必要があるのか?
eslint-config-prettierはPrettierのフォーマッタと衝突するESLintルールを無効にし、最後に適用することで、それらのフォーマットルールが無効になることを保証します。Prettierを早期に適用すると、後の設定がルールを再有効にし、フォーマットされたコードにノイズをもたらす可能性があります。
-
env / globalsオプションは実際に何をしますか?
パーサーに存在する予定のグローバル変数を通知し、no-undefなどのルールがそれらを不正に認識しないようにします。ブラウザ環境はwindow、document、fetchなど、node環境はprocess、require、__dirnameなどを追加します。適切なグローバル変数が宣言されていないと、正しいコードが未定義変数を参照していると誤検出されます。
-
error、warn、offの厳密度の違いは?
errorに設定されたルールはESLintが非ゼロステータスで終了し、CIやpre-commitハンドラーを失敗させます。warnに設定されたルールはメッセージを表示しますが、ビルドを失敗させません。offに設定されたルールは完全に無効になります。多くのチームはerrorをコードの正確性ルールに、warnをスタイルや移行ノイズに割り当てます。
恵 スコアボードが到着しました!
スコアボード ゲームを追跡する楽しい方法です。すべてのデータはブラウザに保存されます。さらに多くの機能がまもなく登場します!
