Skip to content

feat(site-migrator): add resolveIdTemplate for downstream id token resolution#906

Open
YusukeHirao wants to merge 1 commit into
devfrom
feat/site-migrator-publish-and-id-resolver
Open

feat(site-migrator): add resolveIdTemplate for downstream id token resolution#906
YusukeHirao wants to merge 1 commit into
devfrom
feat/site-migrator-publish-and-id-resolver

Conversation

@YusukeHirao

Copy link
Copy Markdown
Member

Summary

  • rewritePageRefs が残す {{<id>}} token を実 URL に解決する純関数 resolveIdTemplate を追加。
  • site-migrator は出力パス/ルーティング規約を知らないので、解決は後段ビルドツール(kamado/scaffold 想定)の責務に切り出す。
  • 公開 API として export、JSDoc + @example + spec (8 ケース) + README 追記まで揃える。
  • このPR ではビルドツール側の組み込みは行わず、純関数の追加のみ。

仕様メモ

  • {{42}}?q=foo#frag のような末尾 ?query#fragment は idMap の URL の後ろにそのまま連結(マージしない、必要なら呼び出し側で前処理)。
  • 未解決の id は {{42}} のまま残し onUnresolved(42) を呼ぶ。リンク切れの早期検出が目的でフェイルセーフは行わない。
  • 非 digit な {{name}} のような mustache は触らない。

Follow-up

  • ビルドツール(kamado/scaffold)への組み込み、site-migrator の publish 解禁、@d-zero/shared 等への分割は別 issue で管理予定。

Test plan

  • yarn lint
  • yarn test (144/144 pass)
  • CI green

🤖 Generated with Claude Code

…am id token resolution

rewritePageRefs が同一オリジンのページ参照に対して残す `{{<id>}}` token を、後段
ビルドツール側で実 URL に解決するための純関数を追加する。site-migrator 自身は
出力ディレクトリ構造やルーティング規約を知らないため、解決ロジックはここで API
として用意して呼び出し側に委ねる。

scaffold + kamado への組み込みは別 PR で対応。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant