Lighthouse CIをローカルで回してみたメモ
2025.09.16 09:00
2025.09.29 10:13
サイトの速度やアクセシビリティを確認するときに便利な Google Lighthouse。
いつもは Chrome DevTools や PageSpeed Insights から使っていたんですが、今回はちょっと進んで Lighthouse CI(LHCI) をローカルで動かしてみました。
「CIって言ってもまずは手元で試すところから」という軽いノリで触ったときのメモです。
セットアップ
まずは npm で CLI を導入します。
npm init -y
npm i -D @lhci/cli設定ファイル lighthouserc.json を用意。
今回はテスト対象を2ページにして、スコアの基準も設定してみました。
{
"ci": {
"collect": {
"url": [
"https://hogehoge.com/",
"https://hogehoge.com/company/"
],
"numberOfRuns": 3,
"settings": {
"preset": "desktop"
}
},
"assert": {
"assertions": {
"categories:performance": ["warn", { "minScore": 0.8 }],
"categories:accessibility": ["warn", { "minScore": 0.9 }],
"categories:seo": ["warn", { "minScore": 0.9 }]
}
},
"upload": {
"target": "filesystem",
"outputDir": "./lhci_reports"
}
}
}
ポイントは JSONにコメントが書けない こと。
最初ここでエラーを出してハマりました(笑)
実行
npmスクリプトを追加して
"scripts": {
"lhci:run": "lhci autorun"
}実行します。
npm run lhci:run結果
コマンドラインにはこんな感じで出ます。
⚠️ categories.performance warning for minScore assertion
expected: >=0.8
found: 0.76- expected → 設定した基準値
- found → 実際の平均スコア
- all values → 複数回走らせたときの各値
つまり「基準を下回ったよ」という警告のようです。
詳細は lhci_reports/ に HTML として保存され、ブラウザで開くと見慣れた Lighthouse のレポートが出てきます。すごく便利ですね!
まとめ
- Lighthouse CIはローカルでも簡単に試せる
- 設定ファイルで基準値を決めて「warn/エラー扱い」を制御できる
- 詳細はHTMLレポートで確認
- CIに組み込めば、改修のたびに「パフォーマンス落ちてない?」を自動でチェックできそう
次はこの仕組みを GitHub Actionsに載せてPRごとに回す ところに挑戦したいと思います。
今回は以上です!