|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
import fs from 'fs-extra'
|
|
|
|
|
import path from 'node:path'
|
|
|
|
|
import { fileURLToPath } from 'node:url'
|
|
|
|
|
import * as vite from 'vite'
|
|
|
|
|
import {
|
|
|
|
|
build,
|
|
|
|
|
normalizePath,
|
|
|
|
@ -98,9 +99,12 @@ export async function bundle(
|
|
|
|
|
app: path.resolve(APP_PATH, ssr ? 'ssr.js' : 'index.js'),
|
|
|
|
|
...input
|
|
|
|
|
},
|
|
|
|
|
// important so that each page chunk and the index export things for each
|
|
|
|
|
// @ts-ignore skip setting it for rolldown-vite since it doesn't support `preserveEntrySignatures` yet
|
|
|
|
|
...(vite.rolldownVersion
|
|
|
|
|
? undefined
|
|
|
|
|
: // important so that each page chunk and the index export things for each
|
|
|
|
|
// other
|
|
|
|
|
preserveEntrySignatures: 'allow-extension',
|
|
|
|
|
{ preserveEntrySignatures: 'allow-extension' }),
|
|
|
|
|
output: {
|
|
|
|
|
sanitizeFileName,
|
|
|
|
|
...rollupOptions?.output,
|
|
|
|
@ -118,7 +122,14 @@ export async function bundle(
|
|
|
|
|
? `${config.assetsDir}/chunks/ui-custom.[hash].js`
|
|
|
|
|
: `${config.assetsDir}/chunks/[name].[hash].js`
|
|
|
|
|
},
|
|
|
|
|
manualChunks(id, ctx) {
|
|
|
|
|
// @ts-ignore skip setting it for rolldown-vite since it doesn't support `manualChunks`
|
|
|
|
|
...(vite.rolldownVersion
|
|
|
|
|
? undefined
|
|
|
|
|
: {
|
|
|
|
|
manualChunks(
|
|
|
|
|
id: string,
|
|
|
|
|
ctx: Pick<Rollup.PluginContext, 'getModuleInfo'>
|
|
|
|
|
) {
|
|
|
|
|
// move known framework code into a stable chunk so that
|
|
|
|
|
// custom theme changes do not invalidate hash for all pages
|
|
|
|
|
if (
|
|
|
|
@ -157,6 +168,7 @@ export async function bundle(
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|