ページ内ナビ
概要
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]lint-staged — README at v17.6.0(2026-10-04)
- [2]lint-staged — package.json at v17.6.0(2026-10-04)
- [3]lint-staged v17.6.0 release(2026-10-04)
- [4]lint-staged — MIT license(2026-10-04)
編集部からの補足
検査を省くのではなく、コミット対象へ絞って待ち時間を短くできる点に注目しました。導入時は整形結果だけでなく、タスクがステージ領域や未ステージ変更へ与える影響もテストしてください。
3ステップで試す
- 1
検査ツールを開発依存へ追加する
Node.js 22.22.1以降を使い、少なくとも一つのコミットがある新しい使い捨てのGit・npm検証プロジェクトまたは検証用ブランチで実行します。後続手順は設定ファイルを作成します。
npm install --save-dev lint-staged@17.6.0 eslint@9 - 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
実ファイルをステージして検査する
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
成長
成長の推移 · 直近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で投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Electron123,376 Stars
共通タグ 2件 · 共通カテゴリ 1件
ChromiumとNode.jsを同梱し、HTML・CSS・JavaScriptから3 OS向けdesktop appを構築するruntime
C++ - Storybook91,195 Stars
共通タグ 2件 · 共通カテゴリ 1件
UI状態をstoryとして保存し、Docs・interaction test・AI toolへ再利用するfrontend workshop
TypeScript - Docusaurus66,390 Stars
共通タグ 2件 · 共通カテゴリ 1件
docs・blog・custom React page・i18nを静的buildへまとめるdocumentation site generator
TypeScript - Expo52,545 Stars
共通タグ 2件 · 共通カテゴリ 1件
React NativeアプリをAndroid・iOS・Webへ一つのprojectから展開する
TypeScript - commitlint18,758 Stars
共通タグ 3件 · 共通カテゴリ 2件
commit messageをConventional Commits等のruleでlintし、teamのrelease・changelog automationへ一貫したmetadataを渡す
TypeScript - Changesets12,466 Stars
共通タグ 3件 · 共通カテゴリ 2件
変更ごとにSemVerの更新種別と変更履歴を記録し、monorepoのversion更新・package公開を一貫して管理する
TypeScript
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。