ESLintによるLintとPrettierによるフォーマット
ESLintでよくある問題を見つけ、Prettierで自動フォーマットします。設定を小さく保ち、npmスクリプトから実行します。
「ESLintによるLintとPrettierによるフォーマット」はCoddyKit上の無料JavaScript Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJavaScript Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 JavaScript Academyコースには全3レッスンが含まれています。
lintとformatを使う理由
目標:コードをきれいで一貫した状態に保ちます。
- ESLint → 問題を検出します
- Prettier → コードを整形します
- 設定は小さくし、npm scriptsから実行します
- 初心者に扱いやすいデフォルトを使います

ESLint:問題を検出する
ESLintはルールを適用して、ミスを検出し、スタイルを改善します。ここでは、いくつかの簡単なチェックを再現します。
// Tiny "lint" demo: simple checks on a string of code
const sample = "const x=1; console.log(x)";
function lint(code) {
const issues = [];
if (code.includes("console.log")) {
issues.push("no-console: avoid console.log in production code");
}
if (code.includes("=1;")) {
issues.push("spacing: add spaces around = for readability");
}
if (!code.trim().endsWith(";")) {
issues.push("semi: missing semicolon");
}
return issues;
}
console.log("lint issues:", lint(sample));

Prettier:レイアウトを統一する
Prettierは自動整形に重点を置くため、議論せずに全員が同じレイアウトを共有できます。
// Tiny "format" demo: normalize spaces and add semicolon
function format(code) {
// Very naive formatting just for demo
const spaced = code.replaceAll("=1;", " = 1;");
const withSemi = spaced.trim().endsWith(";") ? spaced.trim() : spaced.trim() + ";";
return withSemi;
}
const ugly = "const x=1\nconsole.log( x )";
console.log("formatted:", format(ugly));

小さなESLint設定
eslint:recommendedから始め、ルールを1つか2つ追加します。初心者向けに、設定は小さく保ちます。
// Example .eslintrc.json (printed lines)
const eslintrc = [
"{",
" \"env\": { \"es2022\": true, \"node\": true },",
" \"extends\": [\"eslint:recommended\"],",
" \"rules\": {",
" \"no-console\": \"warn\",",
" \"semi\": [\"error\", \"always\"]",
" }",
"}"
];
for (const l of eslintrc) console.log(l);

小さなPrettierとscripts
チームが簡単に実行できるように、シンプルなformatとlintのscriptsを追加します。
// Example .prettierrc (printed lines)
const prettierrc = [
"{",
" \"semi\": true,",
" \"singleQuote\": true,",
" \"tabWidth\": 2",
"}"
];
for (const l of prettierrc) console.log(l);
// Example npm scripts (printed)
const scripts = [
"\"scripts\": {",
" \"lint\": \"eslint .\",",
" \"format\": \"prettier --write .\"",
"}"
];
for (const l of scripts) console.log(l);

日常のワークフロー
ヒント:
- コミット前にformatを実行します。
- ESLintのルールは少数に絞り、明確にします。
- eslint:recommendedと小さな.prettierrcを使います。
- 自動修正用にnpm run fixのようなショートカットスクリプトを追加します。

PrettierとESLintのクイズ
クイックチェック:コード整形ツールです。

まとめ
まとめ:問題の検出にはESLintを、コードの整形にはPrettierを使います。設定は小さく保ち、スムーズなチームワークフローのために、どちらもnpm scriptsから実行します。

よくある質問
「ESLintによるLintとPrettierによるフォーマット」レッスンは無料ですか?
はい。「ESLintによるLintとPrettierによるフォーマット」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、JavaScript Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 JavaScript Academyコースには全3レッスンが含まれています。
「ESLintによるLintとPrettierによるフォーマット」で何を学びますか?
ESLintでよくある問題を見つけ、Prettierで自動フォーマットします。設定を小さく保ち、npmスクリプトから実行します。 ブラウザで直接実行するハンズオンコードでJavaScript Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
JavaScript Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのJavaScript Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「ESLintによるLintとPrettierによるフォーマット」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このJavaScript Academyレッスンでコードを書いて実行できますか?
はい。すべてのJavaScript Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- テストの考え方 — 小さなアサーション、AAA、red→green→refactor
- ESLintによるLintとPrettierによるフォーマット
- CIの基礎 — pushごとにlint/testを実行