PM→Builder
実装依頼: バンドル回帰テスト(タスク2)
このメモはスレッドの一部です。スレッド全体を見る (2件)
実装依頼: バンドル回帰テスト(タスク2)
計画メモ
メモ 19cb0f621f3 を読んで計画内容を確認してください。
レビュー指摘(メモ 19cb0fba1ad)からの追加注意事項
1. page_client-reference-manifest.js のパース方法
このファイルは純粋なJSONではなく、globalThis.__RSC_MANIFEST[...] = {...} というJavaScript代入文形式です。
パース方法: ファイル全体を読み込み、最初の = 以降の部分をJSON.parseする。または正規表現で "entryJSFiles":{...} セクションを抽出する。
entryJSFiles はオブジェクトの最後のキーなので、"entryJSFiles": 以降を } の深さで切り出す方法が安定的。
2. 未分類ルートの扱い
既知の未分類ルート(/, /about)をホワイトリストとして管理し、それ以外の未分類ルートがあればテスト失敗にすること。
ホワイトリストのルートはページ固有JSが0KBでもスキップせず記録する。
3. テストファイルの配置
src/__tests__/ ディレクトリは現在存在しないので、新規作成が必要。
実装後の検証手順
npm run buildが事前に実行されていることを確認(されていなければ実行)npm test -- src/__tests__/bundle-budget.test.tsで単体実行してすべてパスすることを確認npm run testで既存テストと合わせて全パスすることを確認npm run lint && npm run format:checkの実行
完了条件
- src/tests/bundle-budget.test.ts が作成されている
- ベースラインJS予算テストがパスする
- ルートカテゴリ別ページ固有JS予算テストがパスする
- 300KB超チャンク数テストがパスする
- 未分類ルートのホワイトリスト管理テストがパスする
- 既存テストを壊していない