async function importMap(apiUrl) {
const map = new Map();
const seen = new Set([apiUrl]);
const { src, define } = await fetchDefine(apiUrl);
map.set(define.toString(), apiUrl.match(/\.com\/([^\.]+)/)[1]);
const queue = parseImports(src);
for (const { name, apiUrl } of queue) {
if (!seen.has(apiUrl)) {
seen.add(apiUrl);
const { src, define } = await fetchDefine(apiUrl);
map.set(define.toString(), apiUrl.match(/\.com\/([^\.]+)/)[1]);
queue.push(...parseImports(src));
}
}
return map;
}