UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

51 lines (50 loc) 2.06 kB
export { pluginBuildApp }; import { runPrerender_forceExit } from '../../../prerender/runPrerender.js'; import { resolveOutDir } from '../../shared/getOutDirs.js'; import { assert } from '../../utils.js'; import { getVikeConfigInternal } from '../commonConfig.js'; import { isPrerenderForceExit } from './pluginAutoFullBuild.js'; function pluginBuildApp() { return [ { name: 'vike:build:pluginBuildApp', apply: 'build', config(config) { const vike = getVikeConfigInternal(config); if (!vike.config.vite6BuilderApp) return; return { builder: { // Can be overriden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195 async buildApp(builder) { assert(builder.environments.client); assert(builder.environments.ssr); await builder.build(builder.environments.client); await builder.build(builder.environments.ssr); if (isPrerenderForceExit()) { runPrerender_forceExit(); assert(false); } } }, environments: { ssr: { consumer: 'server', build: { outDir: resolveOutDir(config, true), ssr: true } }, client: { consumer: 'client', build: { copyPublicDir: true, ssr: false } } } }; } } ]; }