0Pricing
JavaScript Academy · レッスン

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によるLintとPrettierによるフォーマット — イラスト1

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));
ESLintによるLintとPrettierによるフォーマット — イラスト2

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によるLintとPrettierによるフォーマット — イラスト3

小さな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);
ESLintによるLintとPrettierによるフォーマット — イラスト4

小さな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);
ESLintによるLintとPrettierによるフォーマット — イラスト5

日常のワークフロー

ヒント:

  • コミット前にformatを実行します。
  • ESLintのルールは少数に絞り、明確にします。
  • eslint:recommendedと小さな.prettierrcを使います。
  • 自動修正用にnpm run fixのようなショートカットスクリプトを追加します。
ESLintによるLintとPrettierによるフォーマット — イラスト6

PrettierとESLintのクイズ

クイックチェック:コード整形ツールです。

ESLintによるLintとPrettierによるフォーマット — イラスト7

まとめ

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

ESLintによるLintとPrettierによるフォーマット — イラスト8

よくある質問

「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フィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. テストの考え方 — 小さなアサーション、AAA、red→green→refactor
  2. ESLintによるLintとPrettierによるフォーマット
  3. CIの基礎 — pushごとにlint/testを実行
← JavaScript Academyに戻る