import process from "node:process"; import { defu } from "defu"; import { join, relative, resolve } from "pathe"; import { isDebug, isDevelopment, isTest } from "std-env"; import { existsSync } from "node:fs"; import { readdir } from "node:fs/promises"; import { randomUUID } from "node:crypto"; import { findWorkspaceDir } from "pkg-types"; import { escapeHtml } from "@vue/shared"; function defineResolvers(config) { return config; } var adhoc_default = defineResolvers({ components: { $resolve: (val) => { if (Array.isArray(val)) return { dirs: val }; if (val === false) return { dirs: [] }; return { dirs: [{ path: "~/components/global", global: true }, "~/components"], ...typeof val === "object" ? val : {} }; } }, imports: { global: false, scan: true, dirs: [] }, pages: void 0, telemetry: void 0, devtools: {} }); var app_default = defineResolvers({ vue: { transformAssetUrls: { video: ["src", "poster"], source: ["src"], img: ["src"], image: ["xlink:href", "href"], use: ["xlink:href", "href"] }, compilerOptions: {}, runtimeCompiler: { $resolve: (val) => { return typeof val === "boolean" ? val : false; } }, propsDestructure: true, config: {} }, app: { baseURL: { $resolve: (val) => { if (typeof val === "string") return val; return process.env.NUXT_APP_BASE_URL || "/"; } }, buildAssetsDir: { $resolve: (val) => { if (typeof val === "string") return val; return process.env.NUXT_APP_BUILD_ASSETS_DIR || "/_nuxt/"; } }, cdnURL: { $resolve: async (val, get) => { if (await get("dev")) return ""; return process.env.NUXT_APP_CDN_URL || (typeof val === "string" ? val : ""); } }, head: { $resolve: (_val) => { const resolved = defu(_val && typeof _val === "object" ? _val : {}, { meta: [], link: [], style: [], script: [], noscript: [] }); if (!resolved.meta.find((m) => m?.charset)?.charset) resolved.meta.unshift({ charset: resolved.charset || "utf-8" }); if (!resolved.meta.find((m) => m?.name === "viewport")?.content) resolved.meta.unshift({ name: "viewport", content: resolved.viewport || "width=device-width, initial-scale=1" }); resolved.meta = resolved.meta.filter(Boolean); resolved.link = resolved.link.filter(Boolean); resolved.style = resolved.style.filter(Boolean); resolved.script = resolved.script.filter(Boolean); resolved.noscript = resolved.noscript.filter(Boolean); return resolved; } }, layoutTransition: false, pageTransition: false, viewTransition: { $resolve: async (val, get) => { if (val === "always" || typeof val === "boolean") return val; return await get("experimental").then((e) => e.viewTransition) ?? false; } }, keepalive: false, rootId: { $resolve: (val) => val === false ? false : val && typeof val === "string" ? val : "__nuxt" }, rootTag: { $resolve: (val) => val && typeof val === "string" ? val : "div" }, rootAttrs: { $resolve: async (val, get) => { const rootId = await get("app.rootId"); return { id: rootId === false ? void 0 : rootId || "__nuxt", ...typeof val === "object" ? val : {} }; } }, teleportTag: { $resolve: (val) => val && typeof val === "string" ? val : "div" }, teleportId: { $resolve: (val) => val === false ? false : val && typeof val === "string" ? val : "teleports" }, teleportAttrs: { $resolve: async (val, get) => { const teleportId = await get("app.teleportId"); return { id: teleportId === false ? void 0 : teleportId || "teleports", ...typeof val === "object" ? val : {} }; } }, spaLoaderTag: { $resolve: (val) => val && typeof val === "string" ? val : "div" }, spaLoaderAttrs: { id: "__nuxt-loader" } }, spaLoadingTemplate: { $resolve: async (val, get) => { if (typeof val === "string") return resolve(await get("srcDir"), val); if (typeof val === "boolean") return val; return null; } }, plugins: [], css: { $resolve: (val) => { if (!Array.isArray(val)) return []; const css = []; for (const item of val) if (typeof item === "string") css.push(item); return css; } }, unhead: { legacy: false, renderSSRHeadOptions: { $resolve: (val) => ({ omitLineBreaks: true, ...typeof val === "object" ? val : {} }) } } }); var build_default = defineResolvers({ builder: { $resolve: (val) => { if (val && typeof val === "object" && "bundle" in val) return val; const map = { rspack: "@nuxt/rspack-builder", vite: "@nuxt/vite-builder", webpack: "@nuxt/webpack-builder" }; if (typeof val === "string" && val in map) return map[val]; return map.vite; } }, sourcemap: { $resolve: async (val, get) => { if (typeof val === "boolean") return { server: val, client: val }; return { server: true, client: await get("dev"), ...typeof val === "object" ? val : {} }; } }, logLevel: { $resolve: (val) => { if (val && typeof val === "string" && ![ "silent", "info", "verbose" ].includes(val)) console.warn(`Invalid \`logLevel\` option: \`${val}\`. Must be one of: \`silent\`, \`info\`, \`verbose\`.`); return val && typeof val === "string" ? val : isTest ? "silent" : "info"; } }, build: { transpile: { $resolve: (val) => { const transpile = []; if (Array.isArray(val)) for (const pattern of val) { if (!pattern) continue; if (typeof pattern === "string" || typeof pattern === "function" || pattern instanceof RegExp) transpile.push(pattern); } return transpile; } }, templates: [], analyze: { $resolve: async (val, get) => { const [rootDir, analyzeDir] = await Promise.all([get("rootDir"), get("analyzeDir")]); return { template: "treemap", projectRoot: rootDir, filename: join(analyzeDir, "{name}.html"), ...typeof val === "boolean" ? { enabled: val } : typeof val === "object" ? val : {} }; } } }, optimization: { keyedComposables: { $resolve: (val) => [ { name: "callOnce", argumentLength: 3, source: "#app/composables/once" }, { name: "defineNuxtComponent", argumentLength: 2, source: "#app/composables/component" }, { name: "useState", argumentLength: 2, source: "#app/composables/state" }, { name: "useFetch", argumentLength: 3, source: "#app/composables/fetch" }, { name: "useAsyncData", argumentLength: 3, source: "#app/composables/asyncData" }, { name: "useLazyAsyncData", argumentLength: 3, source: "#app/composables/asyncData" }, { name: "useLazyFetch", argumentLength: 3, source: "#app/composables/fetch" }, ...Array.isArray(val) ? val : [] ].filter(Boolean) }, treeShake: { composables: { server: { $resolve: async (val, get) => defu(typeof val === "object" ? val || {} : {}, await get("dev") ? {} : { "vue": [ "onMounted", "onUpdated", "onUnmounted", "onBeforeMount", "onBeforeUpdate", "onBeforeUnmount", "onRenderTracked", "onRenderTriggered", "onActivated", "onDeactivated" ], "#app": ["definePayloadReviver", "definePageMeta"] }) }, client: { $resolve: async (val, get) => defu(typeof val === "object" ? val || {} : {}, await get("dev") ? {} : { "vue": [ "onRenderTracked", "onRenderTriggered", "onServerPrefetch" ], "#app": [ "definePayloadReducer", "definePageMeta", "onPrehydrate" ] }) } } }, asyncTransforms: { asyncFunctions: ["defineNuxtPlugin", "defineNuxtRouteMiddleware"], objectDefinitions: { defineNuxtComponent: ["asyncData", "setup"], defineNuxtPlugin: ["setup"], definePageMeta: ["middleware", "validate"] } } } }); var common_default = defineResolvers({ extends: void 0, compatibilityDate: void 0, theme: void 0, rootDir: { $resolve: (val) => typeof val === "string" ? resolve(val) : process.cwd() }, workspaceDir: { $resolve: async (val, get) => { const rootDir = await get("rootDir"); return val && typeof val === "string" ? resolve(rootDir, val) : await findWorkspaceDir(rootDir, { gitConfig: "closest", try: true }).catch(() => rootDir); } }, srcDir: { $resolve: async (val, get) => { if (val && typeof val === "string") return resolve(await get("rootDir"), val); const rootDir = await get("rootDir"); const srcDir = resolve(rootDir, "app"); if (!existsSync(srcDir)) return rootDir; const srcDirFiles = /* @__PURE__ */ new Set(); const files = await readdir(srcDir).catch(() => []); for (const file of files) if (file !== "spa-loading-template.html" && !file.startsWith("router.options")) srcDirFiles.add(file); if (srcDirFiles.size === 0) { for (const file of ["app.vue", "App.vue"]) if (existsSync(resolve(rootDir, file))) return rootDir; const dirs = await Promise.all([ "assets", "layouts", "middleware", "pages", "plugins" ].map((key) => get(`dir.${key}`))); for (const dir of dirs) if (existsSync(resolve(rootDir, dir))) return rootDir; } return srcDir; } }, serverDir: { $resolve: async (val, get) => { return resolve(await get("rootDir"), val && typeof val === "string" ? val : "server"); } }, buildDir: { $resolve: async (val, get) => { return resolve(await get("rootDir"), val && typeof val === "string" ? val : ".nuxt"); } }, appId: { $resolve: (val) => val && typeof val === "string" ? val : "nuxt-app" }, buildId: { $resolve: async (val, get) => { if (typeof val === "string") return val; const [isDev, isTest] = await Promise.all([get("dev"), get("test")]); return isDev ? "dev" : isTest ? "test" : randomUUID(); } }, modulesDir: { $default: ["node_modules"], $resolve: async (val, get) => { const rootDir = await get("rootDir"); const modulesDir = new Set([resolve(rootDir, "node_modules")]); if (Array.isArray(val)) { for (const dir of val) if (dir && typeof dir === "string") modulesDir.add(resolve(rootDir, dir)); } return [...modulesDir]; } }, analyzeDir: { $resolve: async (val, get) => val && typeof val === "string" ? resolve(await get("rootDir"), val) : resolve(await get("buildDir"), "analyze") }, dev: { $resolve: (val) => typeof val === "boolean" ? val : Boolean(isDevelopment) }, test: { $resolve: (val) => typeof val === "boolean" ? val : Boolean(isTest) }, debug: { $resolve: (val) => { val ??= isDebug; if (val === true) return { templates: true, modules: true, watchers: true, hooks: { client: true, server: true }, nitro: true, router: true, hydration: true }; if (val && typeof val === "object") return val; return false; } }, ssr: { $resolve: (val) => typeof val === "boolean" ? val : true }, modules: { $resolve: (val) => { const modules = []; if (Array.isArray(val)) for (const mod of val) { if (!mod) continue; if (typeof mod === "string" || typeof mod === "function" || Array.isArray(mod) && mod[0]) modules.push(mod); } return modules; } }, dir: { app: { $resolve: async (val, get) => { const [srcDir, rootDir] = await Promise.all([get("srcDir"), get("rootDir")]); return resolve(await get("srcDir"), val && typeof val === "string" ? val : srcDir === rootDir ? "app" : "."); } }, assets: "assets", layouts: "layouts", middleware: "middleware", modules: { $resolve: async (val, get) => { return resolve(await get("rootDir"), val && typeof val === "string" ? val : "modules"); } }, pages: "pages", plugins: "plugins", shared: { $resolve: (val) => { return val && typeof val === "string" ? val : "shared"; } }, public: { $resolve: async (val, get) => { return resolve(await get("rootDir"), val && typeof val === "string" ? val : "public"); } } }, extensions: { $resolve: (val) => { const extensions = [ ".js", ".jsx", ".mjs", ".ts", ".tsx", ".vue" ]; if (Array.isArray(val)) { for (const item of val) if (item && typeof item === "string") extensions.push(item); } return extensions; } }, alias: { $resolve: async (val, get) => { const [srcDir, rootDir, buildDir, sharedDir, serverDir] = await Promise.all([ get("srcDir"), get("rootDir"), get("buildDir"), get("dir.shared"), get("serverDir") ]); const srcWithTrailingSlash = withTrailingSlash(srcDir); const rootWithTrailingSlash = withTrailingSlash(rootDir); return { "~": srcWithTrailingSlash, "@": srcWithTrailingSlash, "~~": rootWithTrailingSlash, "@@": rootWithTrailingSlash, "#shared": withTrailingSlash(resolve(rootDir, sharedDir)), "#server": withTrailingSlash(serverDir), "#build": withTrailingSlash(buildDir), "#internal/nuxt/paths": resolve(buildDir, "paths.mjs"), ...typeof val === "object" ? val : {} }; } }, ignoreOptions: void 0, ignorePrefix: { $resolve: (val) => val && typeof val === "string" ? val : "-" }, ignore: { $resolve: async (val, get) => { const [rootDir, ignorePrefix, analyzeDir, buildDir] = await Promise.all([ get("rootDir"), get("ignorePrefix"), get("analyzeDir"), get("buildDir") ]); const ignore = new Set([ "**/*.stories.{js,cts,mts,ts,jsx,tsx}", "**/*.{spec,test}.{js,cts,mts,ts,jsx,tsx}", "**/*.d.{cts,mts,ts}", "**/*.d.vue.{cts,mts,ts}", "**/.{pnpm-store,vercel,netlify,output,git,cache,data,direnv}", "/vendor", "**/node-compile-cache", "**/test-results", "**/*.sock", relative(rootDir, analyzeDir), relative(rootDir, buildDir) ]); if (ignorePrefix) ignore.add(`**/${ignorePrefix}*.*`); if (Array.isArray(val)) { for (const pattern of val) if (pattern) ignore.add(pattern); } return [...ignore]; } }, watch: { $resolve: (val) => { if (Array.isArray(val)) return val.filter((b) => typeof b === "string" || b instanceof RegExp); return []; } }, watchers: { rewatchOnRawEvents: void 0, webpack: { aggregateTimeout: 1e3 }, chokidar: { ignoreInitial: true, ignorePermissionErrors: true } }, hooks: void 0, runtimeConfig: { $resolve: async (_val, get) => { const val = _val && typeof _val === "object" ? _val : {}; const [app, buildId] = await Promise.all([get("app"), get("buildId")]); provideFallbackValues(val); return defu(val, { public: {}, app: { buildId, baseURL: app.baseURL, buildAssetsDir: app.buildAssetsDir, cdnURL: app.cdnURL } }); } }, appConfig: { nuxt: {} }, $schema: {} }); function provideFallbackValues(obj) { for (const key in obj) if (typeof obj[key] === "undefined" || obj[key] === null) obj[key] = ""; else if (typeof obj[key] === "object") provideFallbackValues(obj[key]); } function withTrailingSlash(str) { return str.replace(/\/?$/, "/"); } const _messages = { "appName": "Nuxt", "loading": "Loading", "version": "4.0" }; const template = (messages) => { messages = { ..._messages, ...messages }; return "