公開 更新
更新ダイジェスト 2026 年 9 月下旬〜10 月上旬
2026-09-22〜10-06 に全リポジトリへ入った変更のまとめ。依存更新と ESLint 10、undici の脆弱性対応、axe 違反ゼロ化、UI 層のテスト、SHIG 2 巡目、Effect 4、chronoscroll の Workers 移行、Service Anatomy の新記事 8 本。
9/22〜10/6 の 2 週間分の変更を、横断的なものと個別のものに分けてまとめます。PR 番号は各リポジトリのものです。10/11 以降の変更は10 月中旬のダイジェストにまとめています。
全リポジトリ横断
依存の更新と ESLint 10(9/28): three 0.186.1・vite 8.3.1・vitest 5.0.2・wrangler 4.142.0 など、範囲内の minor/patch をまとめて上げ、不要になった overrides を外しました。Next.js アプリは 16.3.6 へ。ESLint は 9 → 10 で、eslint-plugin-react の version: "detect" が ESLint 10 で消えた context.getFilename() を呼ぶため、インストール済みの React のバージョンを明示する対応をしています。
undici の脆弱性(9/29): miniflare 経由の undici に GHSA-3wwx-pv8p-q78v が出たので、19 リポジトリで 7.30.0 へ override しました。
ソースコードの英語化(9/27〜29): コメント・AGENTS.md・テスト名を英語に揃えました。モデルが読みやすく、トークンも少ないためです。会話と UI の文言は日本語のままです。
axe 違反ゼロ化(9/29〜10/1): css-atelier 819 → 0、lifeplan-simulator 494 → 0、hyper-tetris 85 → 0、acro-finder 74 → 0、snippet-sprint 71 → 0 をはじめ、全リポジトリで一括点検しました。見出し階層・ランドマーク・フォーカス表示・ダイアログのキーボード操作が主な修正です。
UI 層の振る舞いテスト(9/29〜10/1): jsdom + Testing Library のテストを足し、実測の 2 ポイント下にカバレッジの床を置きました。詳しくはテスト方針の記事に。
SHIG 2 巡目(10/1): skydial・snippet-sprint・acro-finder・css-atelier で UI の 2 周目。SHIG の記事参照。
Effect 4(10/4): chronoscroll #40・somewhere-now #59/#60・ai-news-feed-app #41・agent-cockpit #31。Effect の記事参照。
npm audit のゲート化(10/3): ai-primer #48・acro-finder #52・my-apps-portal #46 で、素の npm audit を例外リストつきの scripts/audit-gate.mjs に置き換えました。
個別のトピック
- chronoscroll: 9/27 に Cloudflare Workers へ移行(#24、
/e/は R2 配信)。月次データ更新の 429 対策と、存在しない年ページを再試行しない修正(#26・#27)、2026-09 のデータ更新(#28)、PR 作成失敗を握りつぶさない修正(#29)、検索の次の一手表示(#31)、?e=形式崩れでの RangeError(#35)、年ラベルをカード前面に(#38) - Service Anatomy: 独自ドメイン serviceanatomy.com へ(9/23、#22)。Wix・DigitalOcean・freee・Better Stack・マネーフォワード クラウド・Webflow・Railway・ElevenLabs の解剖記事 8 本(9/28)と、比較解剖 12 本の techStack 点検
- Somewhere Now: 閉じたカメラを通知から戻す(#50)、初回描画の CLS 0.128 を解消(#53)、地名検索の正規化(#57)、Cron の Effect 化と CPU 時間削減(#59・#60)
- AI ニュースダイジェスト: 建設的なエラー表示と日本語の 404(#36)、取得失敗で描いたページを 1 時間キャッシュしない(#37)、UTC サーバーで日付が 1 日ずれる修正(#39)、日次ジョブの Effect 化(#41)、取得できなくなった RSS ソースの修正(#42)
- acro-finder: 地図タイル待ちで LCP 13 秒だった問題(#46)、戻るで閉じるパネルと地図・一覧の対応(#49)、UI 層カバレッジ 50% → 99%(#50)
- utility-tracker: 金額入力の寛容化と文字コード自動判定(#45)、前年同月比を色に頼らない 2 本の棒に(#46)、ファイルからの取込開始と追加・編集の取り消し(#52)
- Hyper Tetris: Vitest 導入(#15)、5D/6D で盤外にピースが出る修正(#16)、ホールド・リスタート・取り消しで鳴っていたロック音を止める(#20)
- このポートフォリオ: 更新日を依存更新・chore を除いた最後の変更日に(#40)、公開 19 本の Lighthouse / Observatory を 9/30 の実測に更新(#44)、
/api/ogpを掲載ページだけに限定してオープンプロキシを塞ぐ(#47、10/5)、トップとアイキャッチの静的配信で 1102 エラーを解消(#55、10/6)、そしてこのブログ
10 月 6 日の追加分
10/6 には次の変更も入りました。それぞれ記事にしています。
- CSP: このポートフォリオ(#64・#65)、acro-finder(#68・#69)、service-anatomy(#121)で script-src の
'unsafe-inline'を外し、Observatory は 3 本とも A+ 125 に(CSP の記事) - モバイル Lighthouse: acro-finder 94、service-anatomy 92、chronoscroll 93 に(Lighthouse の記事)
- 依存とワークフロー: source-map-js の勧告 GHSA-68fv-2mgg-jv7q への対応、Actions のコミット SHA 固定、Dependabot の Actions 更新のグループ化(依存更新の記事)
- CPU 上限: acro-finder も全ページを静的アセットにして 1102 を止めた(#68、CPU 上限の記事)
- SvelteKit 3: chronoscroll を kit 3.0.1・adapter-static 4.0.0 に(#52、SvelteKit 3 の記事)
数字で見る 2 週間
ポートフォリオの一覧に載せている計測値(2026-10-05)では、公開リポジトリの本番依存の npm audit は全て 0 件、gitleaks も 0 件です。テスト件数の合計は一覧の上部に出しています。
参考
- 各リポジトリの
git log --since=2026-09-22と、PR 番号で参照したマージ済み PR - chronoscroll PR #24、my-apps-portal PR #47
- 10/6 の追加分: my-apps-portal PR #67・#69・#70・#71・#72(計測値の記録)、acro-finder PR #68、chronoscroll PR #52