OSS探訪GitHubでログイン

Gitのステージ済みファイルだけに整形・検査タスクを実行し、コミット前の確認を速くする

スコアの見方

OSS規模スコアはStars・Watchers・Forks・Contributorsを対数圧縮して重み付けした現在の規模指標(上限なし)です。発掘スコアは現在のOSS規模スコアから発掘時点のOSS規模スコアを引いた値、更新ペースは直近30日Commit数、成長モメンタムは直近の観測期間におけるOSS規模スコア差、OSS健全度は取得できた更新状況・Community Health・Releaseの0〜100評価です。

Stars
14,740
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/09/26
ページ内ナビ

概要

lint-stagedは、次のコミットに含めるGitファイルだけを対象に、リンターや整形ツールなどを実行する開発ツールです。ファイルのパターンとコマンドを設定し、pre-commitフックなどから呼び出します。プロジェクト全体を毎回検査せず、変更部分へ絞って品質確認を行えます。

特徴と向いている用途

公式資料に基づく紹介・実機未検証 · 内容確認日:

主な特徴

ステージ済みファイルをパターンで分けて既存ツールへ渡す

globパターンごとにコマンドを設定すると、該当するステージ済みファイルの一覧を引数として渡して実行します。ESLintやPrettierなど既存のツールを組み合わせられ、複数のコマンドを順番または並列に実行できます。既定では実行前の状態をGit stashへ退避し、タスクが書き換えた内容を再びステージします。

出典:[1]

向いている用途

コミットごとの検査時間を抑えながら規約を共有したいチームに向く

大きなリポジトリで、変更したJavaScript、JSON、Markdownなどにだけ整形や静的検査をかけたい場合に向きます。設定とGitフックをリポジトリへ含めることで、開発者が同じ確認手順をコミット前に実行できます。

出典:[1]

導入前の確認

タスクは作業ツリーとステージ領域を書き換えるため、副作用を確認する

任意のシェルコマンドを実行するため、広い範囲を書き換える設定や、対象ファイルを無視するコマンドには注意が必要です。少なくとも一つのコミットがあるリポジトリでは既定で退避用stashを作ります。v17.6.0ではタスクが変更した追跡対象ファイルをすべてステージするため、未ステージの変更と同じファイルをタスクが編集すると、その変更もステージされる可能性があります。必要に応じて--hide-unstagedを使い、導入前に小さな変更で挙動を確認してください。v17.6.0はNode.js 22.22.1以降を要求し、ライセンスはMITです。

出典:[1][3][2][4]

参考にした公式資料

  1. [1]lint-staged — README at v17.6.0(2026-10-04)
  2. [2]lint-staged — package.json at v17.6.0(2026-10-04)
  3. [3]lint-staged v17.6.0 release(2026-10-04)
  4. [4]lint-staged — MIT license(2026-10-04)
編集部からの補足

検査を省くのではなく、コミット対象へ絞って待ち時間を短くできる点に注目しました。導入時は整形結果だけでなく、タスクがステージ領域や未ステージ変更へ与える影響もテストしてください。

3ステップで試す

  1. 1

    検査ツールを開発依存へ追加する

    Node.js 22.22.1以降を使い、少なくとも一つのコミットがある新しい使い捨てのGit・npm検証プロジェクトまたは検証用ブランチで実行します。後続手順は設定ファイルを作成します。

    npm install --save-dev lint-staged@17.6.0 eslint@9
  2. 2

    ESLintとlint-stagedを設定する

    ESLintの最小構成と、ステージ済みJavaScriptを修正するlint-staged構成をプロジェクトのルートに作ります。

    cat > eslint.config.mjs <<'EOF' export default [{ files: ["**/*.js"], rules: { semi: ["error", "always"] } }] EOF cat > lint-staged.config.mjs <<'EOF' export default { "*.js": "eslint --fix" } EOF
  3. 3

    実ファイルをステージして検査する

    lint-demo.jsへセミコロンが追加され、その変更もステージされることを確認します。既定では実行前に追跡済み状態の退避用stashを作るため、未コミット作業のない検証用ブランチで試してください。

    printf 'const answer = 42\n' > lint-demo.js git add lint-demo.js eslint.config.mjs lint-staged.config.mjs package.json package-lock.json npx lint-staged
公式READMEで確認

成長

成長の推移 · 直近30日

14,740 Stars

推移データを蓄積中です。

開発アクティビティ

直近90日・週次

Commit(直近30日)
44
Open PR
0

開発アクティビティを蓄積中です。

Built with

カテゴリとタグ

GitHubデータ

GitHubのデータGitHubの詳細データを見る

GitHub Topics

  • stage-files
  • linter
  • stylelint
  • eslint
  • git
  • developer-experience
  • workflow
Stars
14,740
Forks
473
Watchers
39
Open Issues
2
Contributors
157
所有者種別
Organization
主要言語
JavaScript
ライセンス
MIT
リポジトリ最終更新
2026/09/26

このOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。

情報の誤りを報告

掲載内容に誤りや古い情報があればお知らせください。

このページを読んで、次に何をすればよいか分かりましたか?