mirror of
https://github.com/withastro/astro.git
synced 2025-03-10 23:01:26 -05:00
Use renderChunk instead of generateBundle
This commit is contained in:
parent
567e6a6d25
commit
a86b43d7b1
1 changed files with 11 additions and 16 deletions
|
@ -73,23 +73,18 @@ export function vitePluginServerIslands({ settings }: { settings: AstroSettings
|
|||
}
|
||||
}
|
||||
},
|
||||
generateBundle(_options, bundles) {
|
||||
let mapSource = 'new Map([';
|
||||
for(let [resolvedPath, referenceId] of referenceIdMap) {
|
||||
const fileName = this.getFileName(referenceId);
|
||||
const islandName = settings.serverIslandNameMap.get(resolvedPath)!;
|
||||
mapSource += `\n\t['${islandName}', () => import('./${fileName}')],`
|
||||
}
|
||||
mapSource += '\n]);';
|
||||
referenceIdMap.clear();
|
||||
|
||||
for (const [_fileName, output] of Object.entries(bundles)) {
|
||||
if(output.type !== 'chunk') continue;
|
||||
|
||||
if(output.code.includes(serverIslandPlaceholder)) {
|
||||
output.code = output.code.replace(serverIslandPlaceholder, mapSource);
|
||||
renderChunk(code) {
|
||||
if(code.includes(serverIslandPlaceholder)) {
|
||||
let mapSource = 'new Map([';
|
||||
for(let [resolvedPath, referenceId] of referenceIdMap) {
|
||||
const fileName = this.getFileName(referenceId);
|
||||
const islandName = settings.serverIslandNameMap.get(resolvedPath)!;
|
||||
mapSource += `\n\t['${islandName}', () => import('./${fileName}')],`
|
||||
}
|
||||
mapSource += '\n]);';
|
||||
referenceIdMap.clear();
|
||||
return code.replace(serverIslandPlaceholder, mapSource);
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue