FACTUAL ACTIVITY RECORD · 実際の作業をもとにした活動記録
Web applicationをmonorepo内の独立appへ移す
挙動を変えず、workspace orchestrationとdatabaseの責務からWebを分離する
目的
後続componentを同じworkspaceへ追加するため、rootにあったWeb applicationを明確なapp境界へ移す必要があった。
画面や配信の挙動、dependency version、database資産を変えず、実行入口と所有責務だけを分ける必要があった。
実装
Webのsource、公開asset、3D asset、設定、script、runtime templateを内容を変えずWeb application packageへ移した。rootはworkspace orchestrationとdatabase commandを所有し、Web packageはapplication固有のcommandとdependencyを所有する。
- rootの一つのlockfileでorchestratorとWeb packageを管理する。
- app内の環境file、build、Worker、TypeScript生成物をnested ignoreで除外する。
- 必要な型packageだけをhoistし、移動前と同じ型解決を維持する。
- 検査、配信、monitoringのWeb作業場所と設定参照を新しいapp境界へ揃える。
- database schema、migration、SQL testはroot境界へ残す。
baseline validatorはfile内容の一致、root側の重複不在、package所有、実行場所を検査するよう更新し、移動対象外の設定とdatabase資産が変わっていないことも固定した。
一次Commit時点のworkspace定義を示す。移動後のWeb appを含むapps、services、shared packagesをrootから解決し、必要な型とbuild packageを明示した。
図を描画しています…
確認したこと
確認結果
workspace validator 24件、Web test 90件、lint、typecheck、Next buildが通った。
Worker build、1,253 fileのsecret scan、upload bundleのdry runが通った。
database lint、5本のSQL smoke、並行処理、完全・部分rollback、最終local resetが通った。
移動したassetとsourceのinventoryが一致し、root側に重複が残らなかった。
Webの独立app化は対象へ反映された。外部環境への配信、remote migration、service起動、live runはcutoff時点で未実施だった。
完了とした根拠
Web資産を内容不変で独立appへ移し、package・lockfile・ignore・実行場所・database境界を分離したうえで、Web、Worker、database、rollbackの検証が通ったことをもって完了とした。