vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
53 lines (52 loc) • 2.39 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.pluginBuildApp = pluginBuildApp;
const runPrerenderEntry_js_1 = require("../../../prerender/runPrerenderEntry.js");
const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
const utils_js_1 = require("../../utils.js");
const pluginAutoFullBuild_js_1 = require("./pluginAutoFullBuild.js");
const resolveVikeConfigInternal_js_1 = require("../../shared/resolveVikeConfigInternal.js");
function pluginBuildApp() {
return [
{
name: 'vike:build:pluginBuildApp',
apply: 'build',
async config(config) {
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
if (!vikeConfig.config.vite6BuilderApp)
return;
return {
builder: {
// Can be overridden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
async buildApp(builder) {
(0, utils_js_1.assert)(builder.environments.client);
(0, utils_js_1.assert)(builder.environments.ssr);
await builder.build(builder.environments.client);
await builder.build(builder.environments.ssr);
if ((0, pluginAutoFullBuild_js_1.isPrerenderForceExit)()) {
(0, runPrerenderEntry_js_1.runPrerender_forceExit)();
(0, utils_js_1.assert)(false);
}
},
},
environments: {
ssr: {
consumer: 'server',
build: {
outDir: (0, getOutDirs_js_1.resolveOutDir)(config, true),
ssr: true,
},
},
client: {
consumer: 'client',
build: {
copyPublicDir: true,
ssr: false,
},
},
},
};
},
},
];
}