@edgeone/nuxt-pages
Version:
A professional deployment package that seamlessly deploys your Nuxt 3/4 applications to Tencent Cloud EdgeOne platform with optimized performance and intelligent caching.
79 lines (75 loc) • 2.37 kB
JavaScript
var require = await (async () => {
var { createRequire } = await import("node:module");
return createRequire(import.meta.url);
})();
import {
createServerHandler,
patchNitroHandler
} from "./esm-chunks/chunk-QG7JLDXY.js";
import "./esm-chunks/chunk-NJ4SUJNF.js";
import {
addNitroBuildOutputConfig,
resetNitroConfig
} from "./esm-chunks/chunk-7JK67XZ2.js";
import "./esm-chunks/chunk-V2LFVP3C.js";
import {
PluginContext
} from "./esm-chunks/chunk-ZYJTEPF7.js";
import {
createNuxtApiRoutesMeta,
createNuxtPagesRouteMeta
} from "./esm-chunks/chunk-VCO654TD.js";
import "./esm-chunks/chunk-5VJRCUAW.js";
import "./esm-chunks/chunk-6BT4RYQJ.js";
// src/index.ts
import { rm } from "node:fs/promises";
import { join } from "node:path";
import { existsSync } from "node:fs";
function checkNuxtVersion(version) {
const versionData = version.split(".");
if (versionData.length === 3 && Number(versionData[0]) < 3) {
console.error("Nuxt version must be greater than 3.16.0. Compatibility for lower versions is under development...");
process.exit(1);
}
}
var removeServerHandler = async (ctx) => {
await rm(ctx.serverHandlerDir, { recursive: true, force: true });
};
var removeIndexMJS = async (ctx) => {
if (existsSync(join(ctx.serverHandlerDir, "index.mjs"))) {
await rm(join(ctx.serverHandlerDir, "index.mjs"), { force: true });
}
};
var recordOldNitroConfig = null;
var onPreBuild = async (options) => {
try {
const ctx = new PluginContext(options);
checkNuxtVersion(ctx.nuxtVersion || "1.0.0");
recordOldNitroConfig = await addNitroBuildOutputConfig(ctx);
} catch (error) {
console.error("onPreBuild failed:", error);
}
};
var onBuild = async (options) => {
const ctx = new PluginContext(options);
const isStaticGeneration = await ctx.nuxtStaticGeneration();
if (isStaticGeneration) {
await removeServerHandler(ctx);
return;
}
await createServerHandler(ctx), await createNuxtPagesRouteMeta(ctx);
await createNuxtApiRoutesMeta(ctx);
await patchNitroHandler(ctx);
};
var onPostBuild = async (options) => {
const ctx = new PluginContext(options);
if (recordOldNitroConfig) {
await resetNitroConfig(recordOldNitroConfig.oldOutput, recordOldNitroConfig.oldPreset);
await removeIndexMJS(ctx);
}
};
export {
onBuild,
onPostBuild,
onPreBuild
};