scrapbox-bundlerのimport map解決方法
いやもしかしたらあってるのか?
わからん
採用する解決手順
前処理
external
の相対URLを絶対URLに直す
1. path
と importer
を組み合わせてresourceの絶対URLを作る
bare moduleの場合はそのまま
3. 解決結果を返す
URLの場合
URLを返す
redirectが必要な場合は、redirect解決函数 redirect()
を使って変換したURLを返す
CORS制限のないURLの場合
そのまま fetch()
を実行してredirect後のURLを取得する
fetch()
した内容はcacheに保存しておく
CORS制限つきURLの場合
個別にclient側で対処するしかない
他のドメインへの対応が必要な場合は、別途PRを作って対処する
bare moduleもしくは external
で指定されたpathの場合
{external: true, path: "..."}
を返す
解決の順序
keyの方のみ
valueはいじらない
3. 解決対象のpathを絶対URLに変換する
単に importer
と統合するだけ
bare module nameだった場合はそのままにする
5. externalで指定されたpathをskipする
この段階でもbare module nameだったpathもskipする
6. pathを読み込み対象として登録する
これって、redirect先URLをimport mapによる書き換え対象とすべき?それともredirect元URLの方を書き換え対象とすべき?
どっちも書き換えたいかな
単にresourceの取得先を切り替えているだけ
URLは書き換えないべきだろう