4.4.9
4.4.9のリリースノート。
リリース日: 2026-07-27
バグ修正
docHistory: falseのプロジェクトがCould not resolve "@takazudo/でまったくビルドできなくなっていたのを修正。chrome グラフのzudo- doc- history- server/ exclude" doc-history-areaがそのサブパスをモジュールのトップレベルで import しており、chrome グラフは常にバンドルされるため、esbuild が毎回このスペシファイアを解決しようとしていた。しかし@takazudo/zudo-doc-history-serverは オプショナル な peer で、doc-history を無効にしたプロジェクトはそもそもインストールしない。exclude フィルタリングの作業で 4.3.0 に混入したリグレッション。正規のマッチャーを@takazudo/zudo-doc側に移し、両方の利用箇所から相対 import するようにした。doc-history-server側は自前のコピーと公開済みの.エクスポートを維持する(依存を持たない単体の Node サーバー / CLI であり、フレームワークパッケージに逆依存できないため)。2 つのコピーはソース同一性のパリティテストで固定している(5dc2a2bec)/ exclude 生成されるスキャフォールドの
package.jsonで、@takazudo/zudo-doc-history-serverをdocHistoryフィーチャーブロックに戻した。上記の解決エラーを回避するためだけに無条件の base 依存へ格上げされていたもので、根本原因が直った今、doc-history を無効にしたスキャフォールドにこのパッケージは一切不要。スキャフォールドのテストで「docHistory OFF ⇒ 含まれない」を検証するようにし、この回避策が黙って復活しないようにした(5d5d0ad1a)リリーススクリプトの pin 書き換え正規表現を、2 つの記法(ブラケット代入とオブジェクトリテラルのキー)の両方にマッチするよう拡張。従来はコロン記法しか見ていなかったため、pin を条件ブロック内へ移動すると次のリリースが
could not locate ... pinで失敗する状態だった(5d5d0ad1a)
その他の変更
実際に注入される doc ルートを辿り、常時バンドルされるグラフから到達可能なオプショナル peer を検出するガードを追加。この種のバグは 3 回目の混入で、他のどの仕組みでも捕まえられない(ユニットテストはソースから import し、このリポジトリ自身のビルドはすべてのオプショナル peer をインストールしてしまうため)。あわせて、パッケージの self-import を external 扱いにせず exports マップ経由でソースへ解決するようにし、
@takazudo/zudo-doc/*の境界で walk が止まらないようにした(5dc2a2bec、cd6bd9516)クリーンなチェックアウトが自己修復するようにした。
pnpm install --ignore-scriptsでインストールしたツリーにはワークスペースパッケージのdist/が存在せず、zfbはzfb.config.tsすら読み込めない(@takazudo/を import しており、これはzudo- doc/ config dist/経由で解決される)ため、1 行も編集しないうちからconfig. js check/build/check:pages/test:packagesがすべて失敗していた。新しいensure:workspace-build前提ステップがこれらのコマンドの前とb4pushのプリフライトで実行され、2 つのワークスペースパッケージを必須の順序でビルドする(c63615d90)そのビルドガードが、単一のセンチネルファイルではなく、各パッケージの
exportsマップが宣言するすべてのリテラル.ターゲットを検査するようにした。/ dist/ ** tscの宣言生成が途中で落ちると一部の.d.tsだけが書かれた状態になるが、センチネル方式はこれを「ビルド済み」と誤認し、次のコマンドがサブパス欠落で失敗していた(自己修復されない)。マニフェストから完全性を導出することで、exports が変わっても検査が正しいまま保たれ、手管理のリストが drift することもない(833b9110e)