UNPKG

@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
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 };