メインコンテンツまでスキップ

第16章:ESLintの役目:未来の自分を守る盾🛡️✨

この章でできるようになること👇😊

  • ESLintが「何を守ってくれるか」をイメージできる🧠💡
  • npm run lint(または next lint)でチェックできる✅
  • まずは“初期設定のまま”安全運転できる🚗💨

1) ESLintってなに?🤔🧹

ESLintは、ざっくり言うと…

「バグになりやすい書き方」や「よくないクセ」を見つけて教えてくれる先生だよ👩‍🏫✨ TypeScriptが「型のミス」を見つけるのに対して、ESLintは「書き方のミス」「事故りやすい癖」を見つける感じ🧠🛡️

Next.jsは、Next向けのおすすめESLint設定(eslint-config-next)を用意してくれてて、React/React Hooks/Next特有のルールもまとめて見てくれるよ✨ (Next.js)


2) どんなミスを見つけてくれるの?🕵️‍♀️💥

よく助けられる例👇(あるある多め😂)

  • 使ってない変数が残ってる(お掃除忘れ)🧽
  • useEffect の依存配列が怪しい(バグの温床)🧨
  • Next.js的にNGな書き方(画像・リンク等)を注意してくれる📣
  • 条件分岐で「たまたま動いてる」危険な書き方を警告⚠️

「動いたからOK!」ってしがちなところを、未来の自分のために止めてくれるのがESLintだよ〜🫶🛡️


3) Next.jsのESLintはどう動く?(ざっくり図解)🗺️✨


4) まずやること:lintを走らせてみよう💨✅

ターミナル(PowerShellでもOK)で👇

npm run lint

プロジェクトによっては next lint がスクリプトに入ってることもあるよ(中身は同じ気持ちでOK)😊 Next.jsはESLintの導線を公式で用意してるよ (Next.js)


5) 設定ファイルが2パターンあるかも!👀📄

最近の環境だと、プロジェクトによってどっちかがあるよ〜👇

  • eslint.config.mjs(ESLintの新しめ方式 “flat config”)🆕
  • .eslintrc.json(昔からある方式)📌

どっちでも大丈夫🙆‍♀️✨ ESLint v9以降は “flat config” が基本になってきて、設定の置き場所や書き方が変わってるよ〜って公式でも案内されてるよ (ESLint) (だから eslint.config.* を見る機会が増えがち!👀)


6) Next.jsでよく見る「extends」:next/core-web-vitals って?🫀✨

.eslintrc.json の場合、こんなのを見かけることがあるよ👇

{
"extends": "next/core-web-vitals"
}

これはNext.jsが用意してる「ちょい厳しめで、パフォーマンス的にも危ないのを強めに注意するセット」ってイメージでOK🛡️✨ Create Next Appで作った新しいアプリは、これが最初から入ってることが多いよ (Next.js)


7) ミニ練習:わざと怒られてみよう😆⚡

練習①:使ってない変数(超あるある)🧽

どこか適当なファイルで👇

const unused = 123;

そのまま npm run lint すると、だいたい「使ってないよ〜」って言われるはず🙃


練習②:Next.jsっぽい注意(<img>)📸⚠️

どこかのコンポーネントで、試しに👇

export default function Sample() {
return <img src="/sample.png" alt="sample" />;
}

すると、環境によっては「Nextなら別のやり方があるよ〜」的な注意が出ることがあるよ📣 (“Next特有のルール”が動いてる証拠だね!✨) (Next.js)


8) 「消す」より「意味を理解して判断」が最強👑🫶

ESLintの警告を見たときのおすすめムーブ👇

  • まず読む👀:「これ、どんな事故を防いでる?」
  • 直せるなら直す🛠️:未来の自分が助かる
  • “意図的に無視”なら理由を残す📝:後で見ても納得できるように

どうしても一時的に無視したいときは、ピンポイントで使うのがコツだよ(乱用は危険⚠️)😇 ※コメント無視の挙動もESLint v9で細かく変化があるので、“最低限だけ” が安全〜 (ESLint)


まとめ:第16章のゴール🎯✨

  • ESLintは 未来の自分を守る盾 🛡️😊
  • Next.jsは Next/React/Hooks向けのESLintセットを用意してくれてる✨ (Next.js)
  • まずは npm run lint を回す習慣がいちばん強い✅
  • 設定ファイルは eslint.config.mjs or .eslintrc.json どっちでもOK(環境差あるよ〜)🧩 (ESLint)

次は「パスエイリアス(@/)」で、フォルダ迷子を減らしてさらに快適になるよ〜🗺️✨