1311 lines
48 KiB
JavaScript
1311 lines
48 KiB
JavaScript
import { defineProdDiagnostics } from "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/nostics/dist/index.mjs";
|
|
import { ansiFormatter } from "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/nostics/dist/formatters/ansi.mjs";
|
|
import { Fragment, Suspense, createApp, createCommentVNode, createVNode, defineAsyncComponent, defineComponent, effectScope, getCurrentInstance, getCurrentScope, h, hasInjectionContext, inject, isReactive, isReadonly, isRef, isShallow, isVNode, mergeProps, onErrorCaptured, onServerPrefetch, provide, reactive, ref, resolveDynamicComponent, shallowReactive, shallowRef, toRaw, toRef, toValue, unref, useSSRContext, watchEffect } from "vue";
|
|
import { createHooks } from "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/hookable/dist/index.mjs";
|
|
import { createError, sanitizeStatusCode } from "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/@nuxt/nitro-server/dist/h3.mjs";
|
|
import { decodePath, isScriptProtocol, joinURL, parseURL, withQuery } from "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/ufo/dist/index.mjs";
|
|
import { $fetch } from "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/ofetch/dist/node.mjs";
|
|
import { baseURL } from "#internal/nuxt/paths";
|
|
import { RouterView, START_LOCATION, START_LOCATION as START_LOCATION$1, createMemoryHistory, createRouter } from "vue-router";
|
|
import "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/defu/dist/defu.mjs";
|
|
import { walkResolver } from "C:/Users/kkgu8/OneDrive/Desktop/kyounggu/educo/example/site1/node_modules/unhead/dist/utils.mjs";
|
|
import { ssrInterpolate, ssrRenderAttrs, ssrRenderComponent, ssrRenderSuspense, ssrRenderVNode } from "vue/server-renderer";
|
|
//#region ../site1/node_modules/nuxt/dist/app/diagnostics/_shared.js
|
|
/**
|
|
* Shared configuration for the runtime (E<N>xxx) diagnostics catalogs.
|
|
*
|
|
* Catalogs are split by domain and imported directly where used (no barrel),
|
|
* so the browser bundle only pulls in the codes a module references. Pair the
|
|
* pure-call annotations on each `defineDiagnostics()` with dev-guarded,
|
|
* statement-level report calls so report-only diagnostics strip from production.
|
|
*
|
|
* Codes are stable, fully-qualified `NUXT_E<NNNN>` identifiers. Codes with a
|
|
* dedicated docs page resolve a `see:` URL via {@link docsBase}; the rest opt
|
|
* out with `docs: false`.
|
|
*/
|
|
function docsBase(code) {
|
|
return `https://nuxt.com/docs/4.x/errors/${code.replace("NUXT_", "").toLowerCase()}`;
|
|
}
|
|
var ansi = (open, close) => (s) => `\x1B[${open}m${s}\x1B[${close}m`;
|
|
var colors = {
|
|
red: ansi(31, 39),
|
|
yellow: ansi(33, 39),
|
|
cyan: ansi(36, 39),
|
|
gray: ansi(90, 39),
|
|
bold: ansi(1, 22),
|
|
dim: ansi(2, 22)
|
|
};
|
|
ansiFormatter(colors);
|
|
var prodReporter = (diagnostic) => {
|
|
console.error(`[${diagnostic.name}]`);
|
|
};
|
|
var prodReporters = [prodReporter];
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/diagnostics/core.js
|
|
/**
|
|
* E1xxx
|
|
* Core / Nuxt-instance / lifecycle runtime diagnostics.
|
|
*/
|
|
var appDiagnostics = /* #__PURE__ */ defineProdDiagnostics({
|
|
docsBase,
|
|
reporters: prodReporters
|
|
});
|
|
//#endregion
|
|
//#region ../site1/node_modules/unctx/dist/index.mjs
|
|
function _getAsyncLocalStorage() {
|
|
return globalThis.AsyncLocalStorage || globalThis.process?.getBuiltinModule?.("node:async_hooks")?.AsyncLocalStorage;
|
|
}
|
|
var _WeakRef = globalThis.WeakRef || class StrongRef {
|
|
#value;
|
|
constructor(value) {
|
|
this.#value = value;
|
|
}
|
|
deref() {
|
|
return this.#value;
|
|
}
|
|
};
|
|
function createContext(opts = {}) {
|
|
let currentInstance;
|
|
let isSingleton = false;
|
|
const checkConflict = (instance) => {
|
|
if (currentInstance && currentInstance !== instance) throw new Error("Context conflict");
|
|
};
|
|
let als;
|
|
if (opts.asyncContext) {
|
|
const _AsyncLocalStorage = opts.AsyncLocalStorage || _getAsyncLocalStorage();
|
|
if (_AsyncLocalStorage) als = new _AsyncLocalStorage();
|
|
else console.warn("[unctx] `AsyncLocalStorage` is not provided.");
|
|
}
|
|
const _wrapInstance = (instance) => als && instance !== null && typeof instance === "object" ? { __unctx_weak: new _WeakRef(instance) } : instance;
|
|
const _unwrapInstance = (store) => store && store.__unctx_weak ? store.__unctx_weak.deref() : store;
|
|
const _getCurrentInstance = () => {
|
|
if (als) {
|
|
const store = als.getStore();
|
|
if (store !== void 0) return _unwrapInstance(store);
|
|
}
|
|
return currentInstance;
|
|
};
|
|
return {
|
|
use: () => {
|
|
const _instance = _getCurrentInstance();
|
|
if (_instance === void 0) throw new Error("Context is not available");
|
|
return _instance;
|
|
},
|
|
tryUse: () => {
|
|
return _getCurrentInstance() ?? null;
|
|
},
|
|
set: (instance, replace) => {
|
|
if (!replace) checkConflict(instance);
|
|
currentInstance = instance;
|
|
isSingleton = true;
|
|
},
|
|
unset: () => {
|
|
currentInstance = void 0;
|
|
isSingleton = false;
|
|
},
|
|
call: (instance, callback) => {
|
|
checkConflict(instance);
|
|
currentInstance = instance;
|
|
try {
|
|
return als ? als.run(_wrapInstance(instance), callback) : callback();
|
|
} finally {
|
|
if (!isSingleton) currentInstance = void 0;
|
|
}
|
|
},
|
|
async callAsync(instance, callback) {
|
|
currentInstance = instance;
|
|
const onRestore = () => {
|
|
currentInstance = instance;
|
|
};
|
|
const onLeave = () => currentInstance === instance ? onRestore : void 0;
|
|
asyncHandlers.add(onLeave);
|
|
try {
|
|
const r = als ? als.run(_wrapInstance(instance), callback) : callback();
|
|
if (!isSingleton) currentInstance = void 0;
|
|
return await r;
|
|
} finally {
|
|
asyncHandlers.delete(onLeave);
|
|
}
|
|
}
|
|
};
|
|
}
|
|
function createNamespace(defaultOpts = {}) {
|
|
const contexts = {};
|
|
return { get(key, opts = {}) {
|
|
if (!contexts[key]) contexts[key] = createContext({
|
|
...defaultOpts,
|
|
...opts
|
|
});
|
|
return contexts[key];
|
|
} };
|
|
}
|
|
var _globalThis = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : {};
|
|
var globalKey = "__unctx__";
|
|
var defaultNamespace = _globalThis[globalKey] || (_globalThis[globalKey] = createNamespace());
|
|
var getContext$1 = (key, opts = {}) => defaultNamespace.get(key, opts);
|
|
var asyncHandlersKey = "__unctx_async_handlers__";
|
|
var asyncHandlers = _globalThis[asyncHandlersKey] || (_globalThis[asyncHandlersKey] = /* @__PURE__ */ new Set());
|
|
function executeAsync(function_) {
|
|
const restores = [];
|
|
for (const leaveHandler of asyncHandlers) {
|
|
const restore = leaveHandler();
|
|
if (restore) restores.push(restore);
|
|
}
|
|
const restore = () => {
|
|
for (const restore of restores) restore();
|
|
};
|
|
let awaitable = function_();
|
|
if (awaitable && typeof awaitable === "object" && "catch" in awaitable) awaitable = awaitable.catch((error) => {
|
|
restore();
|
|
throw error;
|
|
});
|
|
return [awaitable, restore];
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/internal/context.js
|
|
globalThis.__nuxt_app_ctx__ ||= {};
|
|
function getContext(key, opts) {
|
|
return getContext$1(key, opts);
|
|
}
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Fnuxt.config.mjs
|
|
var nuxtLinkDefaults = {
|
|
"componentName": "NuxtLink",
|
|
"prefetch": true,
|
|
"prefetchOn": { "visibility": true }
|
|
};
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/nuxt.js
|
|
function getNuxtAppCtx(id = "nuxt-app") {
|
|
return getContext(id, { asyncContext: false });
|
|
}
|
|
var NuxtPluginIndicator = "__nuxt_plugin";
|
|
/** @since 3.0.0 */
|
|
function createNuxtApp(options) {
|
|
let hydratingCount = 0;
|
|
const nuxtApp = {
|
|
_id: options.id || "nuxt-app",
|
|
_scope: effectScope(),
|
|
provide: void 0,
|
|
versions: {
|
|
get nuxt() {
|
|
return "4.6.0";
|
|
},
|
|
get vue() {
|
|
return nuxtApp.vueApp.version;
|
|
}
|
|
},
|
|
payload: shallowReactive({
|
|
...options.ssrContext?.payload || {},
|
|
data: shallowReactive({}),
|
|
state: reactive({}),
|
|
once: /* @__PURE__ */ new Set(),
|
|
_errors: shallowReactive({})
|
|
}),
|
|
static: { data: {} },
|
|
runWithContext(fn) {
|
|
if (nuxtApp._scope.active && !getCurrentScope()) return nuxtApp._scope.run(() => callWithNuxt(nuxtApp, fn));
|
|
return callWithNuxt(nuxtApp, fn);
|
|
},
|
|
isHydrating: false,
|
|
deferHydration() {
|
|
if (!nuxtApp.isHydrating) return () => {};
|
|
hydratingCount++;
|
|
let called = false;
|
|
return () => {
|
|
if (called) return;
|
|
called = true;
|
|
hydratingCount--;
|
|
if (hydratingCount === 0) {
|
|
nuxtApp.isHydrating = false;
|
|
return nuxtApp.callHook("app:suspense:resolve");
|
|
}
|
|
};
|
|
},
|
|
_asyncDataPromises: {},
|
|
_asyncData: shallowReactive({}),
|
|
_state: shallowReactive({}),
|
|
_payloadRevivers: {},
|
|
...options
|
|
};
|
|
nuxtApp.payload.serverRendered = true;
|
|
if (nuxtApp.ssrContext) {
|
|
nuxtApp.payload.path = nuxtApp.ssrContext.url;
|
|
nuxtApp.ssrContext.nuxt = nuxtApp;
|
|
nuxtApp.ssrContext.payload = nuxtApp.payload;
|
|
nuxtApp.ssrContext.config = {
|
|
public: nuxtApp.ssrContext.runtimeConfig.public,
|
|
app: nuxtApp.ssrContext.runtimeConfig.app
|
|
};
|
|
}
|
|
nuxtApp.hooks = createHooks();
|
|
nuxtApp.hook = nuxtApp.hooks.hook;
|
|
{
|
|
const runHooks = async (hooks, args) => {
|
|
for (const hook of hooks) await nuxtApp.runWithContext(() => hook(...args));
|
|
};
|
|
const contextCaller = runHooks;
|
|
nuxtApp.hooks.callHook = (name, ...args) => nuxtApp.hooks.callHookWith(contextCaller, name, args);
|
|
}
|
|
nuxtApp.callHook = nuxtApp.hooks.callHook;
|
|
nuxtApp.provide = (name, value) => {
|
|
const $name = "$" + name;
|
|
defineGetter(nuxtApp, $name, value);
|
|
defineGetter(nuxtApp.vueApp.config.globalProperties, $name, value);
|
|
};
|
|
defineGetter(nuxtApp.vueApp, "$nuxt", nuxtApp);
|
|
defineGetter(nuxtApp.vueApp.config.globalProperties, "$nuxt", nuxtApp);
|
|
const runtimeConfig = options.ssrContext.runtimeConfig;
|
|
nuxtApp.provide("config", runtimeConfig);
|
|
return nuxtApp;
|
|
}
|
|
/** @since 3.0.0 */
|
|
async function applyPlugin(nuxtApp, plugin) {
|
|
if (typeof plugin === "function") {
|
|
const run = () => nuxtApp.runWithContext(() => plugin(nuxtApp));
|
|
const { provide } = await run() || {};
|
|
if (provide && typeof provide === "object") for (const key in provide) nuxtApp.provide(key, provide[key]);
|
|
}
|
|
}
|
|
/** @since 3.0.0 */
|
|
async function applyPlugins(nuxtApp, plugins) {
|
|
let error;
|
|
for (const plugin of plugins) try {
|
|
await applyPlugin(nuxtApp, plugin);
|
|
} catch (e) {
|
|
if (!nuxtApp.payload.error) throw e;
|
|
error ||= e;
|
|
}
|
|
if (error) throw nuxtApp.payload.error || error;
|
|
}
|
|
/** @since 3.0.0 */
|
|
/* @__NO_SIDE_EFFECTS__ */
|
|
function defineNuxtPlugin(plugin) {
|
|
if (typeof plugin === "function") return plugin;
|
|
const _name = plugin._name || plugin.name;
|
|
delete plugin.name;
|
|
return Object.assign(plugin.setup || (() => {}), plugin, {
|
|
[NuxtPluginIndicator]: true,
|
|
_name
|
|
});
|
|
}
|
|
/**
|
|
* Ensures that the setup function passed in has access to the Nuxt instance via `useNuxtApp`.
|
|
* @param nuxt A Nuxt instance
|
|
* @param setup The function to call
|
|
* @since 3.0.0
|
|
*/
|
|
function callWithNuxt(nuxt, setup, args) {
|
|
const fn = () => args ? setup(...args) : setup();
|
|
const nuxtAppCtx = getNuxtAppCtx(nuxt._id);
|
|
return nuxt.vueApp.runWithContext(() => nuxtAppCtx.callAsync(nuxt, fn));
|
|
}
|
|
function tryUseNuxtApp(id) {
|
|
let nuxtAppInstance;
|
|
if (hasInjectionContext()) nuxtAppInstance = getCurrentInstance()?.appContext.app.$nuxt;
|
|
nuxtAppInstance ||= getNuxtAppCtx(id).tryUse();
|
|
return nuxtAppInstance || null;
|
|
}
|
|
function useNuxtApp(id) {
|
|
const nuxtAppInstance = tryUseNuxtApp(id);
|
|
if (!nuxtAppInstance) throw appDiagnostics.NUXT_E1001();
|
|
return nuxtAppInstance;
|
|
}
|
|
/** @since 3.0.0 */
|
|
/* @__NO_SIDE_EFFECTS__ */
|
|
function useRuntimeConfig(_event) {
|
|
return useNuxtApp().$config;
|
|
}
|
|
function defineGetter(obj, key, val) {
|
|
Object.defineProperty(obj, key, { get: () => val });
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/error.js
|
|
var NUXT_ERROR_SIGNATURE = "__nuxt_error";
|
|
/** @since 3.0.0 */
|
|
var isNuxtError = (error) => !!error && typeof error === "object" && "__nuxt_error" in error;
|
|
/** @since 3.0.0 */
|
|
var createError$1 = (error) => {
|
|
if (isNuxtError(error)) return error;
|
|
if (typeof error !== "string" && error?.statusText) error.message ??= error.statusText;
|
|
const nuxtError = createError(error ?? {});
|
|
Object.defineProperty(nuxtError, NUXT_ERROR_SIGNATURE, {
|
|
value: true,
|
|
configurable: false,
|
|
writable: false
|
|
});
|
|
Object.defineProperty(nuxtError, "status", {
|
|
get: () => nuxtError.statusCode,
|
|
configurable: true
|
|
});
|
|
Object.defineProperty(nuxtError, "statusText", {
|
|
get: () => nuxtError.statusMessage,
|
|
configurable: true
|
|
});
|
|
return nuxtError;
|
|
};
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/utils.js
|
|
var PROBE_BASE_A = "https://a.invalid/probe/";
|
|
var PROBE_BASE_B = "https://b.invalid/probe/";
|
|
function parseAnchorURL(value, base = PROBE_BASE_A) {
|
|
try {
|
|
return new URL(value, base);
|
|
} catch {
|
|
return null;
|
|
}
|
|
}
|
|
/** Whether a URL string is a path rooted at the current origin, so carries no protocol. */
|
|
function isRootedPath(value) {
|
|
return value[0] === "/" && value[1] !== "/" && value[1] !== "\\";
|
|
}
|
|
/** Whether a URL string carries its own protocol or authority. */
|
|
function isAbsoluteHref(value) {
|
|
if (!value || isRootedPath(value)) return false;
|
|
const resolved = parseAnchorURL(value);
|
|
return !!resolved && resolved.href === parseAnchorURL(value, PROBE_BASE_B)?.href;
|
|
}
|
|
/** The script-capable protocol a URL string would navigate to, or `null` when it is safe. */
|
|
function getScriptProtocol(value) {
|
|
if (!value || isRootedPath(value)) return null;
|
|
let resolved = parseAnchorURL(value.replace(/[\u0000-\u001F\u007F\s]+/g, ""));
|
|
while (resolved?.protocol === "view-source:") resolved = parseAnchorURL(resolved.pathname);
|
|
if (!resolved) return "";
|
|
return isScriptProtocol(resolved.protocol) ? resolved.protocol : null;
|
|
}
|
|
/** Returns the value unchanged when safe to use as an anchor `href`, or `null`. */
|
|
function sanitizeAnchorHref(value) {
|
|
return getScriptProtocol(value) === null ? value : null;
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/components/injections.js
|
|
var LayoutMetaSymbol = Symbol("layout-meta");
|
|
var PageRouteSymbol = Symbol("route");
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/diagnostics/navigation.js
|
|
/**
|
|
* E2xxx
|
|
* Navigation / routing / middleware runtime diagnostics.
|
|
*/
|
|
var navigationDiagnostics = /* #__PURE__ */ defineProdDiagnostics({
|
|
docsBase,
|
|
reporters: prodReporters
|
|
});
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/composables/router.js
|
|
/** @since 3.0.0 */
|
|
var useRouter = (() => {
|
|
return useNuxtApp()?.$router;
|
|
});
|
|
/**
|
|
* Whether the current effect scope is (a descendant of) the component instance's scope.
|
|
* A detached scope (e.g. `createSharedComposable`) outlives the component, so the
|
|
* per-page route injected there would freeze after navigation (#18903).
|
|
*/
|
|
function getParentScope(scope) {
|
|
const internal = scope;
|
|
return internal.parent ?? internal.subs?.sub;
|
|
}
|
|
function isScopeWithinInstance(instance) {
|
|
const instanceScope = instance.scope;
|
|
let scope = getCurrentScope();
|
|
while (scope) {
|
|
if (scope === instanceScope) return true;
|
|
scope = getParentScope(scope);
|
|
}
|
|
return false;
|
|
}
|
|
/** @since 3.0.0 */
|
|
var useRoute$2 = (() => {
|
|
if (hasInjectionContext()) {
|
|
const instance = getCurrentInstance();
|
|
if (!instance || isScopeWithinInstance(instance)) return inject(PageRouteSymbol, useNuxtApp()._route);
|
|
}
|
|
return useNuxtApp()._route;
|
|
});
|
|
/** @since 3.0.0 */
|
|
/* @__NO_SIDE_EFFECTS__ */
|
|
function defineNuxtRouteMiddleware(middleware) {
|
|
return middleware;
|
|
}
|
|
/** @since 3.0.0 */
|
|
var isProcessingMiddleware = () => {
|
|
try {
|
|
if (useNuxtApp()._processingMiddleware) return true;
|
|
} catch {
|
|
return false;
|
|
}
|
|
return false;
|
|
};
|
|
var HTML_ATTR_UNSAFE_RE = /[&"'<>]/g;
|
|
var HTML_ATTR_ENCODE_MAP = {
|
|
"&": "&",
|
|
"\"": """,
|
|
"'": "'",
|
|
"<": "<",
|
|
">": ">"
|
|
};
|
|
function encodeForHtmlAttr(value) {
|
|
return value.replace(HTML_ATTR_UNSAFE_RE, (c) => HTML_ATTR_ENCODE_MAP[c]);
|
|
}
|
|
/**
|
|
* A helper that aids in programmatic navigation within your Nuxt application.
|
|
*
|
|
* Can be called on the server and on the client, within pages, route middleware, plugins, and more.
|
|
* @param {RouteLocationRaw | undefined | null} [to] - The route to navigate to. Accepts a route object, string path, `undefined`, or `null`. Defaults to '/'.
|
|
* @param {NavigateToOptions} [options] - Optional customization for controlling the behavior of the navigation.
|
|
* @returns {Promise<void | NavigationFailure | false> | false | void | RouteLocationRaw} The navigation result, which varies depending on context and options.
|
|
* @see https://nuxt.com/docs/4.x/api/utils/navigate-to
|
|
* @since 3.0.0
|
|
*/
|
|
var navigateTo = (to, options) => {
|
|
to ||= "/";
|
|
typeof to === "string" || "path" in to;
|
|
const toPath = typeof to === "string" ? to : "path" in to ? resolveRouteObject(to) : useRouter().resolve(to).href;
|
|
const isExternalHost = isAbsoluteHref(toPath);
|
|
const isExternal = options?.external || isExternalHost;
|
|
if (isExternal) {
|
|
if (!options?.external) throw navigationDiagnostics.NUXT_E2001({ toPath });
|
|
const protocol = getScriptProtocol(toPath);
|
|
if (protocol !== null) throw navigationDiagnostics.NUXT_E2002({
|
|
toPath,
|
|
protocol
|
|
});
|
|
}
|
|
const inMiddleware = isProcessingMiddleware();
|
|
const router = useRouter();
|
|
const nuxtApp = useNuxtApp();
|
|
if (nuxtApp.ssrContext) {
|
|
const fullPath = typeof to === "string" || isExternal ? toPath : router.resolve(to).fullPath || "/";
|
|
const location = isExternal ? toPath : joinURL((/* @__PURE__ */ useRuntimeConfig()).app.baseURL, fullPath);
|
|
const redirect = async function(response) {
|
|
await nuxtApp.callHook("app:redirected");
|
|
const encodedHeader = encodeURL(location, isExternalHost);
|
|
const encodedLoc = encodeForHtmlAttr(encodedHeader);
|
|
nuxtApp.ssrContext["~renderResponse"] = {
|
|
statusCode: sanitizeStatusCode(options?.redirectCode || 302, 302),
|
|
body: `<!DOCTYPE html><html><head><meta http-equiv="refresh" content="0; url=${encodedLoc}"></head></html>`,
|
|
headers: { location: encodedHeader }
|
|
};
|
|
return response;
|
|
};
|
|
if (!isExternal && inMiddleware) {
|
|
let expectedPath = fullPath;
|
|
if (typeof to === "string" && toPath.includes("?")) {
|
|
const target = router.resolve(to);
|
|
expectedPath = router.resolve({
|
|
path: target.path,
|
|
query: target.query,
|
|
hash: target.hash
|
|
}).fullPath || "/";
|
|
}
|
|
router.afterEach((final) => final.fullPath === expectedPath ? redirect(false) : void 0);
|
|
return to;
|
|
}
|
|
return redirect(!inMiddleware ? void 0 : false);
|
|
}
|
|
if (isExternal) {
|
|
nuxtApp._scope.stop();
|
|
if (options?.replace) (void 0).replace(toPath);
|
|
else (void 0).href = toPath;
|
|
if (inMiddleware) {
|
|
if (!nuxtApp.isHydrating) return false;
|
|
return new Promise(() => {});
|
|
}
|
|
return Promise.resolve();
|
|
}
|
|
const encodedTo = typeof to === "string" ? encodeRoutePath(to) : to;
|
|
return options?.replace ? router.replace(encodedTo) : router.push(encodedTo);
|
|
};
|
|
/**
|
|
* @internal
|
|
*/
|
|
function resolveRouteObject(to) {
|
|
return withQuery(to.path || "", to.query || {}) + (to.hash || "");
|
|
}
|
|
/**
|
|
* @internal
|
|
*/
|
|
function encodeURL(location, isExternalHost = false) {
|
|
const url = new URL(location, "http://localhost");
|
|
if (!isExternalHost) return url.pathname.replace(/^\/{2,}/, "/") + url.search + url.hash;
|
|
if (location.startsWith("//")) return url.toString().replace(url.protocol, "");
|
|
return url.toString();
|
|
}
|
|
/**
|
|
* Encode the pathname of a route location string. Ensures decoded paths like
|
|
* `/café` are percent-encoded to match vue-router's encoded route records.
|
|
* Already-encoded paths are not double-encoded.
|
|
* @internal
|
|
*/
|
|
function encodeRoutePath(url) {
|
|
const parsed = parseURL(url);
|
|
return encodeVueRouterPath(decodePath(parsed.pathname)) + parsed.search + parsed.hash;
|
|
}
|
|
var ENC_PIPE_RE = /%7C/g;
|
|
var ENC_BRACKET_OPEN_RE = /%5B/g;
|
|
var ENC_BRACKET_CLOSE_RE = /%5D/g;
|
|
var ENC_ENC_SLASH_RE = /%252F/gi;
|
|
var HASH_RE = /#/g;
|
|
var QUESTION_MARK_RE = /\?/g;
|
|
/**
|
|
* Apply vue-router's own path encoding, which leaves sub-delimiters like `&`
|
|
* and `+` literal. This must stay in sync with `encodeVueRouterPath` in
|
|
* `unrouting`, which encodes the route records we need to match against.
|
|
*/
|
|
function encodeVueRouterPath(value) {
|
|
return encodeURI(value).replace(ENC_PIPE_RE, "|").replace(ENC_BRACKET_OPEN_RE, "[").replace(ENC_BRACKET_CLOSE_RE, "]").replace(HASH_RE, "%23").replace(QUESTION_MARK_RE, "%3F").replace(ENC_ENC_SLASH_RE, "%2F");
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/composables/error.js
|
|
/** @since 3.0.0 */
|
|
var useError = /* @__NO_SIDE_EFFECTS__ */ () => toRef(useNuxtApp().payload, "error");
|
|
/** @since 3.0.0 */
|
|
var showError = (error) => {
|
|
const nuxtError = createError$1(error);
|
|
try {
|
|
const error = /* @__PURE__ */ useError();
|
|
error.value ||= nuxtError;
|
|
} catch {
|
|
throw nuxtError;
|
|
}
|
|
return nuxtError;
|
|
};
|
|
/**
|
|
* Show the error page unless the current client is a crawler, in which case the
|
|
* bot receives the already server-rendered HTML instead (#32137, #35338).
|
|
*
|
|
* @internal
|
|
*/
|
|
var _showErrorUnlessCrawler = async (nuxtApp, error) => {
|
|
await nuxtApp.runWithContext(() => showError(error));
|
|
};
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Ffetch.mjs
|
|
if (!globalThis.$fetch) globalThis.$fetch = $fetch.create({ baseURL: baseURL() });
|
|
globalThis.$fetch;
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Fglobal-polyfills.mjs
|
|
if (!("global" in globalThis)) globalThis.global = globalThis;
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/head/runtime/island-head.js
|
|
/**
|
|
* No-op `head.push` until the returned `unfreeze` runs. Plugin/transformer
|
|
* augmentations on the same head are unaffected.
|
|
*/
|
|
function freezeHead(head) {
|
|
const realPush = head.push;
|
|
head.push = () => ({
|
|
dispose: () => {},
|
|
patch: () => {},
|
|
_i: 0
|
|
});
|
|
return () => {
|
|
head.push = realPush;
|
|
};
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/head/runtime/plugins/unhead.server.js
|
|
var plugin$2 = /* @__PURE__ */ defineNuxtPlugin({
|
|
name: "nuxt:head",
|
|
enforce: "pre",
|
|
setup(nuxtApp) {
|
|
const head = nuxtApp.ssrContext.head;
|
|
if (nuxtApp.ssrContext.islandContext) {
|
|
const unfreeze = freezeHead(head);
|
|
nuxtApp.hooks.hookOnce("app:created", unfreeze);
|
|
}
|
|
nuxtApp.vueApp.use(head);
|
|
}
|
|
});
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/pages/runtime/utils.js
|
|
var ROUTE_KEY_PARENTHESES_RE$1 = /(:\w+)\([^)]+\)/g;
|
|
var ROUTE_KEY_SYMBOLS_RE$1 = /(:\w+)[?+*]/g;
|
|
var ROUTE_KEY_NORMAL_RE$1 = /:\w+/g;
|
|
var interpolatePath = (route, match) => {
|
|
return match.path.replace(ROUTE_KEY_PARENTHESES_RE$1, "$1").replace(ROUTE_KEY_SYMBOLS_RE$1, "$1").replace(ROUTE_KEY_NORMAL_RE$1, (r) => route.params[r.slice(1)]?.toString() || "");
|
|
};
|
|
var generateRouteKey$1 = (routeProps, override) => {
|
|
const matchedRoute = routeProps.route.matched.find((m) => m.components?.default === routeProps.Component.type);
|
|
const source = override ?? matchedRoute?.meta.key ?? (matchedRoute && interpolatePath(routeProps.route, matchedRoute));
|
|
return typeof source === "function" ? source(routeProps.route) : source;
|
|
};
|
|
/** @since 3.9.0 */
|
|
function toArray(value) {
|
|
return Array.isArray(value) ? value : [value];
|
|
}
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Froute-rules.mjs
|
|
var virtual_nuxt__nuxt_2Froute_rules_default = () => ({});
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/components/utils.js
|
|
var ROUTE_KEY_PARENTHESES_RE = /(:\w+)\([^)]+\)/g;
|
|
var ROUTE_KEY_SYMBOLS_RE = /(:\w+)[?+*]/g;
|
|
var ROUTE_KEY_NORMAL_RE = /:\w+/g;
|
|
function generateRouteKey(route) {
|
|
const source = route?.meta.key ?? route.path.replace(ROUTE_KEY_PARENTHESES_RE, "$1").replace(ROUTE_KEY_SYMBOLS_RE, "$1").replace(ROUTE_KEY_NORMAL_RE, (r) => route.params[r.slice(1)]?.toString() || "");
|
|
return typeof source === "function" ? source(route) : source;
|
|
}
|
|
/**
|
|
* Utility used within router guards
|
|
* return true if the route has been changed with a page change during navigation
|
|
*/
|
|
function isChangingPage(to, from) {
|
|
if (to === from || from === START_LOCATION$1) return false;
|
|
if (generateRouteKey(to) !== generateRouteKey(from)) return true;
|
|
if (to.matched.every((comp, index) => comp.components && comp.components.default === from.matched[index]?.components?.default)) return false;
|
|
return true;
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/pages/runtime/router.options.js
|
|
var router_options_default = { scrollBehavior(to, from, savedPosition) {
|
|
const nuxtApp = useNuxtApp();
|
|
const router = useRouter();
|
|
const hashScrollBehaviour = router.options?.scrollBehaviorType ?? "auto";
|
|
if (to.path.replace(/\/$/, "") === from.path.replace(/\/$/, "")) {
|
|
if (from.hash && !to.hash) return savedPosition ?? {
|
|
left: 0,
|
|
top: 0
|
|
};
|
|
if (to.hash) return {
|
|
el: to.hash,
|
|
top: _getHashElementScrollMarginTop(to.hash),
|
|
behavior: hashScrollBehaviour
|
|
};
|
|
return false;
|
|
}
|
|
if ((typeof to.meta.scrollToTop === "function" ? to.meta.scrollToTop(to, from) : to.meta.scrollToTop) === false) return false;
|
|
if (from === START_LOCATION) return _calculatePosition(to, from, savedPosition, hashScrollBehaviour);
|
|
return new Promise((resolve) => {
|
|
const doScroll = () => {
|
|
requestAnimationFrame(() => {
|
|
if (router.currentRoute.value.fullPath !== to.fullPath) {
|
|
resolve(false);
|
|
return;
|
|
}
|
|
resolve(_calculatePosition(to, from, savedPosition, hashScrollBehaviour));
|
|
});
|
|
};
|
|
nuxtApp.hooks.hookOnce("page:loading:end", () => {
|
|
const transitionPromise = nuxtApp["~transitionPromise"];
|
|
if (transitionPromise) transitionPromise.then(doScroll);
|
|
else doScroll();
|
|
});
|
|
});
|
|
} };
|
|
function _getHashElementScrollMarginTop(selector) {
|
|
try {
|
|
const elem = (void 0).querySelector(selector);
|
|
if (elem) return (Number.parseFloat(getComputedStyle(elem).scrollMarginTop) || 0) + (Number.parseFloat(getComputedStyle((void 0).documentElement).scrollPaddingTop) || 0);
|
|
} catch {}
|
|
return 0;
|
|
}
|
|
function _calculatePosition(to, from, savedPosition, defaultHashScrollBehaviour) {
|
|
if (savedPosition) return savedPosition;
|
|
if (to.hash) return {
|
|
el: to.hash,
|
|
top: _getHashElementScrollMarginTop(to.hash),
|
|
behavior: isChangingPage(to, from) ? defaultHashScrollBehaviour : "instant"
|
|
};
|
|
return {
|
|
left: 0,
|
|
top: 0
|
|
};
|
|
}
|
|
var virtual_nuxt__nuxt_2Frouter_options_default = {
|
|
hashMode: false,
|
|
scrollBehaviorType: "auto",
|
|
sensitive: false,
|
|
...router_options_default
|
|
};
|
|
Object.assign(Object.create(null), {});
|
|
var pageIslandRoutes = Object.assign(Object.create(null), {});
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/pages/runtime/validate.js
|
|
var middleware$1 = /* @__PURE__ */ defineNuxtRouteMiddleware(async (to) => {
|
|
let __temp, __restore;
|
|
if (!to.meta?.validate) return;
|
|
const result = ([__temp, __restore] = executeAsync(() => Promise.resolve(to.meta.validate(to))), __temp = await __temp, __restore(), __temp);
|
|
if (result === true) return;
|
|
return createError$1({
|
|
fatal: false,
|
|
status: result && (result.status || result.statusCode) || 404,
|
|
statusText: result && (result.statusText || result.statusMessage) || `Page Not Found: ${to.fullPath}`,
|
|
data: { path: to.fullPath }
|
|
});
|
|
}, 1);
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/diagnostics/manifest.js
|
|
/**
|
|
* E5xxx
|
|
* App manifest / route-rules runtime diagnostics.
|
|
*/
|
|
var manifestDiagnostics = /* #__PURE__ */ defineProdDiagnostics({
|
|
docsBase,
|
|
reporters: prodReporters
|
|
});
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/composables/manifest.js
|
|
function routeRulesMatcher(path) {
|
|
return virtual_nuxt__nuxt_2Froute_rules_default(path);
|
|
}
|
|
function getRouteRules(arg) {
|
|
const path = typeof arg === "string" ? arg : arg.path;
|
|
try {
|
|
return routeRulesMatcher(path);
|
|
} catch (e) {
|
|
manifestDiagnostics.NUXT_E5003({
|
|
path,
|
|
cause: e
|
|
});
|
|
return {};
|
|
}
|
|
}
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Fmiddleware.mjs
|
|
var globalMiddleware = [middleware$1, /* @__PURE__ */ defineNuxtRouteMiddleware((to) => {})];
|
|
var namedMiddleware = {};
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Froutes.mjs
|
|
var virtual_nuxt__nuxt_2Froutes_default = [{
|
|
name: "slug",
|
|
path: "/:slug(.*)*",
|
|
component: () => import("./_nuxt/_...slug_-Cka3W0in.js")
|
|
}, {
|
|
name: "index",
|
|
path: "/",
|
|
component: () => import("./_nuxt/pages-Cg7jGZvJ.js")
|
|
}];
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/pages/runtime/plugins/router.js
|
|
var plugin$1 = /* @__PURE__ */ defineNuxtPlugin({
|
|
name: "nuxt:router",
|
|
enforce: "pre",
|
|
async setup(nuxtApp) {
|
|
let __temp, __restore;
|
|
let routerBase = (/* @__PURE__ */ useRuntimeConfig()).app.baseURL;
|
|
const history = virtual_nuxt__nuxt_2Frouter_options_default.history?.(routerBase) ?? createMemoryHistory(routerBase);
|
|
const routes = virtual_nuxt__nuxt_2Frouter_options_default.routes ? ([__temp, __restore] = executeAsync(() => virtual_nuxt__nuxt_2Frouter_options_default.routes(virtual_nuxt__nuxt_2Froutes_default)), __temp = await __temp, __restore(), __temp) ?? virtual_nuxt__nuxt_2Froutes_default : virtual_nuxt__nuxt_2Froutes_default;
|
|
let startPosition;
|
|
const router = createRouter({
|
|
...virtual_nuxt__nuxt_2Frouter_options_default,
|
|
scrollBehavior: (to, from, savedPosition) => {
|
|
if (from === START_LOCATION) {
|
|
startPosition = savedPosition;
|
|
return;
|
|
}
|
|
if (virtual_nuxt__nuxt_2Frouter_options_default.scrollBehavior) {
|
|
router.options.scrollBehavior = virtual_nuxt__nuxt_2Frouter_options_default.scrollBehavior;
|
|
if ("scrollRestoration" in (void 0).history) {
|
|
const unsub = router.beforeEach(() => {
|
|
unsub();
|
|
(void 0).history.scrollRestoration = "manual";
|
|
});
|
|
}
|
|
return virtual_nuxt__nuxt_2Frouter_options_default.scrollBehavior(to, START_LOCATION, startPosition || savedPosition);
|
|
}
|
|
},
|
|
history,
|
|
routes
|
|
});
|
|
nuxtApp.vueApp.use(router);
|
|
const previousRoute = shallowRef(router.currentRoute.value);
|
|
router.afterEach((_to, from) => {
|
|
previousRoute.value = from;
|
|
});
|
|
Object.defineProperty(nuxtApp.vueApp.config.globalProperties, "previousRoute", { get: () => previousRoute.value });
|
|
const initialURL = nuxtApp.ssrContext.url;
|
|
const _route = shallowRef(router.currentRoute.value);
|
|
const syncCurrentRoute = () => {
|
|
_route.value = router.currentRoute.value;
|
|
};
|
|
router.afterEach((to, from) => {
|
|
const lastTo = to.matched.at(-1)?.components?.default;
|
|
const lastFrom = from.matched.at(-1)?.components?.default;
|
|
if (lastTo === lastFrom) {
|
|
if (generateRouteKey$1({
|
|
route: to,
|
|
Component: { type: lastTo }
|
|
}) === generateRouteKey$1({
|
|
route: from,
|
|
Component: { type: lastFrom }
|
|
})) syncCurrentRoute();
|
|
return;
|
|
}
|
|
if (to.matched.length < from.matched.length && to.matched.every((m, i) => m.components?.default === from.matched[i]?.components?.default)) syncCurrentRoute();
|
|
});
|
|
const route = { sync: syncCurrentRoute };
|
|
for (const key in _route.value) Object.defineProperty(route, key, {
|
|
get: () => _route.value[key],
|
|
enumerable: true
|
|
});
|
|
nuxtApp._route = shallowReactive(route);
|
|
nuxtApp._middleware ||= {
|
|
global: [],
|
|
named: {}
|
|
};
|
|
const error = /* @__PURE__ */ useError();
|
|
const isServerPage = nuxtApp.ssrContext?.islandContext?.name?.startsWith("page_");
|
|
if (!nuxtApp.ssrContext?.islandContext || isServerPage) router.afterEach(async (to, _from, failure) => {
|
|
delete nuxtApp._processingMiddleware;
|
|
delete nuxtApp._middlewareTo;
|
|
if (failure) await nuxtApp.callHook("page:loading:end");
|
|
if (failure?.type === 4) return;
|
|
if (to.redirectedFrom && to.fullPath !== initialURL) await nuxtApp.runWithContext(() => navigateTo(to.fullPath || "/"));
|
|
});
|
|
router.onError(async () => {
|
|
delete nuxtApp._processingMiddleware;
|
|
delete nuxtApp._middlewareTo;
|
|
await nuxtApp.callHook("page:loading:end");
|
|
});
|
|
try {
|
|
[__temp, __restore] = executeAsync(() => router.push(initialURL)), __temp = await __temp, __restore();
|
|
[__temp, __restore] = executeAsync(() => router.isReady()), await __temp, __restore();
|
|
} catch (error) {
|
|
[__temp, __restore] = executeAsync(() => _showErrorUnlessCrawler(nuxtApp, error)), await __temp, __restore();
|
|
}
|
|
const resolvedInitialRoute = router.currentRoute.value;
|
|
syncCurrentRoute();
|
|
if (nuxtApp.ssrContext?.islandContext && !isServerPage) return { provide: { router } };
|
|
const initialLayout = nuxtApp.payload.state._layout;
|
|
router.beforeEach(async (to, from) => {
|
|
await nuxtApp.callHook("page:loading:start");
|
|
to.meta = reactive(to.meta);
|
|
if (nuxtApp.isHydrating && initialLayout && !isReadonly(to.meta.layout)) to.meta.layout = initialLayout;
|
|
nuxtApp._processingMiddleware = true;
|
|
nuxtApp._middlewareTo = to;
|
|
if (!nuxtApp.ssrContext?.islandContext || isServerPage) {
|
|
const middlewareEntries = /* @__PURE__ */ new Set([...globalMiddleware, ...nuxtApp._middleware.global]);
|
|
for (const component of to.matched) {
|
|
const componentMiddleware = component.meta.middleware;
|
|
if (!componentMiddleware) continue;
|
|
for (const entry of toArray(componentMiddleware)) middlewareEntries.add(entry);
|
|
}
|
|
const routeRules = getRouteRules({ path: to.path });
|
|
if (routeRules.appMiddleware) for (const key in routeRules.appMiddleware) if (routeRules.appMiddleware[key]) middlewareEntries.add(key);
|
|
else middlewareEntries.delete(key);
|
|
for (const entry of middlewareEntries) {
|
|
const middleware = typeof entry === "string" ? nuxtApp._middleware.named[entry] || await namedMiddleware[entry]?.().then((r) => r.default || r) : entry;
|
|
if (!middleware) throw navigationDiagnostics.NUXT_E2004({
|
|
entry: String(entry),
|
|
validMiddleware: void 0
|
|
});
|
|
try {
|
|
const run = () => nuxtApp.runWithContext(() => middleware(to, from));
|
|
const result = await run();
|
|
if (result === false || result instanceof Error) {
|
|
const error = result || createError$1({
|
|
status: 404,
|
|
statusText: `Page Not Found: ${initialURL}`
|
|
});
|
|
await nuxtApp.runWithContext(() => showError(error));
|
|
return false;
|
|
}
|
|
if (result === true) continue;
|
|
if (result === false) return result;
|
|
if (result) {
|
|
if (isNuxtError(result) && result.fatal) await nuxtApp.runWithContext(() => showError(result));
|
|
return result;
|
|
}
|
|
} catch (err) {
|
|
const error = createError$1(err);
|
|
if (error.fatal) await nuxtApp.runWithContext(() => showError(error));
|
|
return error;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
if (isServerPage) router.beforeResolve((to) => {
|
|
const expected = pageIslandRoutes[nuxtApp.ssrContext.islandContext.name];
|
|
const actual = to.matched.find((m) => (m.components?.default)?.__nuxt_island)?.components?.default;
|
|
if (!expected || expected !== actual?.__nuxt_island) {
|
|
nuxtApp.ssrContext["~renderResponse"] = {
|
|
statusCode: 400,
|
|
statusMessage: "Invalid island request path"
|
|
};
|
|
return false;
|
|
}
|
|
});
|
|
router.afterEach((to) => {
|
|
if (to.matched.length === 0 && !error.value) return nuxtApp.runWithContext(() => showError(createError$1({
|
|
status: 404,
|
|
fatal: false,
|
|
statusText: `Page not found: ${to.fullPath}`,
|
|
data: { path: to.fullPath }
|
|
})));
|
|
});
|
|
nuxtApp.hooks.hookOnce("app:created", async () => {
|
|
try {
|
|
if ("name" in resolvedInitialRoute) resolvedInitialRoute.name = void 0;
|
|
await router.replace({
|
|
...resolvedInitialRoute,
|
|
force: true
|
|
});
|
|
router.options.scrollBehavior = virtual_nuxt__nuxt_2Frouter_options_default.scrollBehavior;
|
|
} catch (error) {
|
|
await _showErrorUnlessCrawler(nuxtApp, error);
|
|
}
|
|
});
|
|
return { provide: { router } };
|
|
}
|
|
}, 1);
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/diagnostics/head.js
|
|
/**
|
|
* E6xxx
|
|
* Head / unhead runtime diagnostics.
|
|
*/
|
|
var unheadDiagnostics = /* #__PURE__ */ defineProdDiagnostics({
|
|
docsBase,
|
|
reporters: prodReporters
|
|
});
|
|
//#endregion
|
|
//#region ../site1/node_modules/@unhead/vue/dist/shared/vue.DKb5ZKVl.mjs
|
|
var headSymbol = "usehead";
|
|
// @__NO_SIDE_EFFECTS__
|
|
function injectHead$1() {
|
|
if (hasInjectionContext()) {
|
|
const instance = inject(headSymbol);
|
|
if (instance) return instance;
|
|
}
|
|
throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.");
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/@unhead/vue/dist/shared/vue.D2XR8FqS.mjs
|
|
var VueResolver = /* @__PURE__ */ Object.assign((_, value) => isRef(value) ? toValue(value) : value, { _static: true });
|
|
//#endregion
|
|
//#region ../site1/node_modules/@unhead/vue/dist/shared/vue.BHyNcdic.mjs
|
|
function useHead$1(input, options = {}) {
|
|
const head = options.head || /* @__PURE__ */ injectHead$1();
|
|
return head.ssr ? head.push(input || {}, options) : clientUseHead(head, input, options);
|
|
}
|
|
function clientUseHead(head, input, options = {}) {
|
|
const scope = getCurrentScope();
|
|
if (scope && !scope.active) return {
|
|
patch() {},
|
|
dispose() {},
|
|
_i: -1
|
|
};
|
|
const deactivated = ref(false);
|
|
if (options.onRendered && scope) {
|
|
const _onRendered = options.onRendered;
|
|
options = {
|
|
...options,
|
|
onRendered: (ctx) => scope.run(() => _onRendered(ctx))
|
|
};
|
|
}
|
|
let entry;
|
|
watchEffect(() => {
|
|
const i = deactivated.value ? {} : walkResolver(input, VueResolver);
|
|
if (entry) entry.patch(i);
|
|
else entry = head.push(i, options);
|
|
});
|
|
if (getCurrentInstance()) {}
|
|
return entry;
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/head/runtime/composables.js
|
|
/**
|
|
* Injects the head client from the Nuxt context or Vue inject.
|
|
*/
|
|
function injectHead(nuxtApp) {
|
|
const nuxt = nuxtApp || useNuxtApp();
|
|
return nuxt.ssrContext?.head || nuxt.runWithContext(() => {
|
|
if (hasInjectionContext()) {
|
|
const head = inject("usehead");
|
|
if (!head) throw unheadDiagnostics.NUXT_E6001();
|
|
return head;
|
|
}
|
|
});
|
|
}
|
|
function useHead(input, options = {}) {
|
|
return useHead$1(input, {
|
|
head: options.head || injectHead(options.nuxt),
|
|
...options
|
|
});
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/composables/payload.js
|
|
/**
|
|
* This is an experimental function for configuring passing rich data from server -> client.
|
|
* @since 3.4.0
|
|
*/
|
|
function definePayloadReducer(name, reduce) {
|
|
useNuxtApp().ssrContext["~payloadReducers"][name] = reduce;
|
|
}
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/plugins/revive-payload.server.js
|
|
var reducers = [
|
|
["NuxtError", (data) => isNuxtError(data) && data.toJSON()],
|
|
["EmptyShallowRef", (data) => isRef(data) && isShallow(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")],
|
|
["EmptyRef", (data) => isRef(data) && !data.value && (typeof data.value === "bigint" ? "0n" : JSON.stringify(data.value) || "_")],
|
|
["ShallowRef", (data) => isRef(data) && isShallow(data) && data.value],
|
|
["ShallowReactive", (data) => isReactive(data) && isShallow(data) && toRaw(data)],
|
|
["Ref", (data) => isRef(data) && data.value],
|
|
["Reactive", (data) => isReactive(data) && toRaw(data)]
|
|
];
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Fplugins.server.mjs
|
|
var virtual_nuxt__nuxt_2Fplugins_server_default = [
|
|
plugin$2,
|
|
plugin$1,
|
|
/* @__PURE__ */ defineNuxtPlugin({
|
|
name: "nuxt:revive-payload:server",
|
|
setup() {
|
|
for (const [reducer, fn] of reducers) definePayloadReducer(reducer, fn);
|
|
}
|
|
}),
|
|
/* @__PURE__ */ defineNuxtPlugin({ name: "nuxt:global-components" })
|
|
];
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/components/route-provider.js
|
|
var defineRouteProvider = (name = "RouteProvider") => defineComponent({
|
|
name,
|
|
props: {
|
|
route: {
|
|
type: Object,
|
|
required: true
|
|
},
|
|
vnode: Object,
|
|
vnodeRef: Object,
|
|
renderKey: String,
|
|
trackRootNodes: Boolean,
|
|
routeRecord: Object
|
|
},
|
|
setup(props) {
|
|
const previousKey = props.renderKey;
|
|
const previousRoute = props.route;
|
|
const route = {};
|
|
for (const key in props.route) Object.defineProperty(route, key, {
|
|
get: () => previousKey === props.renderKey ? props.route[key] : previousRoute[key],
|
|
enumerable: true
|
|
});
|
|
provide(PageRouteSymbol, shallowReactive(route));
|
|
return () => {
|
|
if (!props.vnode) return props.vnode;
|
|
return h(props.vnode, { ref: props.vnodeRef });
|
|
};
|
|
}
|
|
});
|
|
var RouteProvider = defineRouteProvider();
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/pages/runtime/page.js
|
|
var page_default = defineComponent({
|
|
name: "NuxtPage",
|
|
inheritAttrs: false,
|
|
props: {
|
|
name: { type: String },
|
|
transition: {
|
|
type: [Boolean, Object],
|
|
default: void 0
|
|
},
|
|
keepalive: {
|
|
type: [Boolean, Object],
|
|
default: void 0
|
|
},
|
|
route: { type: Object },
|
|
pageKey: {
|
|
type: [Function, String],
|
|
default: null
|
|
}
|
|
},
|
|
setup(props, { attrs, slots, expose }) {
|
|
const nuxtApp = useNuxtApp();
|
|
const pageRef = ref();
|
|
inject(PageRouteSymbol, null);
|
|
expose({ pageRef });
|
|
inject(LayoutMetaSymbol, null);
|
|
nuxtApp.deferHydration();
|
|
return () => {
|
|
return h(RouterView, {
|
|
name: props.name,
|
|
route: props.route,
|
|
...attrs
|
|
}, { default: markStableSlot((routeProps) => {
|
|
return h(Suspense, { suspensible: true }, { default() {
|
|
return h(RouteProvider, {
|
|
vnode: slots.default ? normalizeSlot(slots.default, routeProps) : routeProps.Component,
|
|
route: routeProps.route,
|
|
vnodeRef: pageRef
|
|
});
|
|
} });
|
|
}) });
|
|
};
|
|
}
|
|
});
|
|
function markStableSlot(fn) {
|
|
const wrapped = ((routeProps) => {
|
|
const result = fn(routeProps);
|
|
if (Array.isArray(result)) return result;
|
|
if (result == null || !isVNode(result)) return [createCommentVNode()];
|
|
return [result];
|
|
});
|
|
wrapped._n = true;
|
|
return wrapped;
|
|
}
|
|
function normalizeSlot(slot, data) {
|
|
const slotContent = slot(data);
|
|
return slotContent.length === 1 ? h(slotContent[0]) : h(Fragment, void 0, slotContent);
|
|
}
|
|
//#endregion
|
|
//#region \0plugin-vue:export-helper
|
|
var _plugin_vue_export_helper_default = (sfc, props) => {
|
|
const target = sfc.__vccOpts || sfc;
|
|
for (const [key, val] of props) target[key] = val;
|
|
return target;
|
|
};
|
|
//#endregion
|
|
//#region components/AppFooter.vue
|
|
var _sfc_main$3 = {
|
|
__name: "AppFooter",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
const siteName = (/* @__PURE__ */ useRuntimeConfig()).public.siteName || "에듀로열 1:1 과외";
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(`<footer${ssrRenderAttrs(mergeProps({ class: "site-footer" }, _attrs))} data-v-3b29a045><div class="footer-container" data-v-3b29a045><div class="footer-info" data-v-3b29a045><h4 class="footer-brand" data-v-3b29a045>${ssrInterpolate(unref(siteName))}</h4><p class="footer-meta" data-v-3b29a045> 전국 초·중·고 1:1 맞춤 방문과외 및 실시간 화상코칭 서비스 | 대표번호: 1588-0000<br data-v-3b29a045> 사업자등록번호: 123-45-67890 | 통신판매업신고: 제2026-서울강남-0123호 | 개인정보관리책임자: 교육연구소<br data-v-3b29a045> 주소: 서울특별시 강남구 테헤란로 123 에듀빌딩 4층 </p><p class="footer-copy" data-v-3b29a045> Copyright © 2026 ${ssrInterpolate(unref(siteName))}. All rights reserved. </p></div><div class="footer-links" data-v-3b29a045><a href="#consult-section" class="f-link" data-v-3b29a045>무료상담신청</a><span class="f-divider" data-v-3b29a045>|</span><span class="f-link" data-v-3b29a045>이용약관</span><span class="f-divider" data-v-3b29a045>|</span><span class="f-link" data-v-3b29a045><strong data-v-3b29a045>개인정보처리방침</strong></span></div></div></footer>`);
|
|
};
|
|
}
|
|
};
|
|
var _sfc_setup$3 = _sfc_main$3.setup;
|
|
_sfc_main$3.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("components/AppFooter.vue");
|
|
return _sfc_setup$3 ? _sfc_setup$3(props, ctx) : void 0;
|
|
};
|
|
var AppFooter_default = /*#__PURE__*/ _plugin_vue_export_helper_default(_sfc_main$3, [["__scopeId", "data-v-3b29a045"]]);
|
|
//#endregion
|
|
//#region app.vue
|
|
var _sfc_main$2 = {
|
|
__name: "app",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
const _component_NuxtPage = page_default;
|
|
const _component_AppFooter = AppFooter_default;
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "site-wrapper" }, _attrs))}><main class="site-main">`);
|
|
_push(ssrRenderComponent(_component_NuxtPage, null, null, _parent));
|
|
_push(`</main>`);
|
|
_push(ssrRenderComponent(_component_AppFooter, null, null, _parent));
|
|
_push(`</div>`);
|
|
};
|
|
}
|
|
};
|
|
var _sfc_setup$2 = _sfc_main$2.setup;
|
|
_sfc_main$2.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("app.vue");
|
|
return _sfc_setup$2 ? _sfc_setup$2(props, ctx) : void 0;
|
|
};
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/components/nuxt-error-page.vue
|
|
var _sfc_main$1 = {
|
|
__name: "nuxt-error-page",
|
|
__ssrInlineRender: true,
|
|
props: { error: Object },
|
|
setup(__props) {
|
|
const _error = __props.error;
|
|
const status = Number(_error.statusCode || 500);
|
|
const is404 = status === 404;
|
|
const statusText = _error.statusMessage ?? (is404 ? "Page Not Found" : "Internal Server Error");
|
|
const description = _error.message || _error.toString();
|
|
const stack = void 0;
|
|
const _Error404 = defineAsyncComponent(() => import("./_nuxt/error-404-DmtyracS.js"));
|
|
const _Error = defineAsyncComponent(() => import("./_nuxt/error-500-_lvxeZxk.js"));
|
|
const ErrorTemplate = is404 ? _Error404 : _Error;
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
_push(ssrRenderComponent(unref(ErrorTemplate), mergeProps({
|
|
status: unref(status),
|
|
statusText: unref(statusText),
|
|
statusCode: unref(status),
|
|
statusMessage: unref(statusText),
|
|
description: unref(description),
|
|
stack: unref(stack)
|
|
}, _attrs), null, _parent));
|
|
};
|
|
}
|
|
};
|
|
var _sfc_setup$1 = _sfc_main$1.setup;
|
|
_sfc_main$1.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../site1/node_modules/nuxt/dist/app/components/nuxt-error-page.vue");
|
|
return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
|
|
};
|
|
//#endregion
|
|
//#region virtual:nuxt:.nuxt%2Fisland-renderer.mjs
|
|
var IslandRenderer = () => null;
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/components/nuxt-root.vue
|
|
var _sfc_main = {
|
|
__name: "nuxt-root",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
const nuxtApp = useNuxtApp();
|
|
nuxtApp.deferHydration();
|
|
nuxtApp.ssrContext.url;
|
|
const SingleRenderer = false;
|
|
provide(PageRouteSymbol, useRoute$2());
|
|
nuxtApp.hooks.callHookWith((hooks) => hooks.map((hook) => hook()), "vue:setup", []);
|
|
const error = /* @__PURE__ */ useError();
|
|
const abortRender = error.value && !nuxtApp.ssrContext.error;
|
|
function invokeAppErrorHandler(err, target, info) {
|
|
const errorHandler = nuxtApp.vueApp.config.errorHandler;
|
|
if (errorHandler && !errorHandler.__nuxt_default) try {
|
|
errorHandler(err, target, info);
|
|
} catch (handlerError) {
|
|
console.error("[nuxt] Error in `app.config.errorHandler`", handlerError);
|
|
}
|
|
}
|
|
onErrorCaptured((err, target, info) => {
|
|
nuxtApp.hooks.callHook("vue:error", err, target, info)?.catch((hookError) => console.error("[nuxt] Error in `vue:error` hook", hookError));
|
|
{
|
|
const p = nuxtApp.runWithContext(() => showError(err));
|
|
onServerPrefetch(() => p);
|
|
invokeAppErrorHandler(err, target, info);
|
|
return false;
|
|
}
|
|
});
|
|
const islandContext = nuxtApp.ssrContext.islandContext;
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
ssrRenderSuspense(_push, {
|
|
default: () => {
|
|
if (unref(abortRender)) _push(`<div></div>`);
|
|
else if (unref(error)) _push(ssrRenderComponent(unref(_sfc_main$1), { error: unref(error) }, null, _parent));
|
|
else if (unref(islandContext)) _push(ssrRenderComponent(unref(IslandRenderer), { context: unref(islandContext) }, null, _parent));
|
|
else if (unref(SingleRenderer)) ssrRenderVNode(_push, createVNode(resolveDynamicComponent(unref(SingleRenderer)), null, null), _parent);
|
|
else _push(ssrRenderComponent(unref(_sfc_main$2), null, null, _parent));
|
|
},
|
|
_: 1
|
|
});
|
|
};
|
|
}
|
|
};
|
|
var _sfc_setup = _sfc_main.setup;
|
|
_sfc_main.setup = (props, ctx) => {
|
|
const ssrContext = useSSRContext();
|
|
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("../site1/node_modules/nuxt/dist/app/components/nuxt-root.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
//#endregion
|
|
//#region ../site1/node_modules/nuxt/dist/app/entry.js
|
|
var entry = async function createNuxtAppServer(ssrContext) {
|
|
const vueApp = createApp(_sfc_main);
|
|
const nuxt = createNuxtApp({
|
|
vueApp,
|
|
ssrContext
|
|
});
|
|
try {
|
|
await applyPlugins(nuxt, virtual_nuxt__nuxt_2Fplugins_server_default);
|
|
await nuxt.hooks.callHook("app:created", vueApp);
|
|
} catch (error) {
|
|
await nuxt.hooks.callHook("app:error", error);
|
|
nuxt.payload.error ||= createError$1(error);
|
|
}
|
|
if (ssrContext && (ssrContext["~renderResponse"] || ssrContext._renderResponse)) throw new Error("skipping render");
|
|
return vueApp;
|
|
};
|
|
var entry_default = ((ssrContext) => entry(ssrContext));
|
|
//#endregion
|
|
export { resolveRouteObject as a, isRootedPath as c, useRuntimeConfig as d, entry_default as default, nuxtLinkDefaults as f, navigateTo as i, sanitizeAnchorHref as l, useHead as n, useRouter as o, encodeRoutePath as r, isAbsoluteHref as s, _plugin_vue_export_helper_default as t, useNuxtApp as u };
|
|
|
|
//# sourceMappingURL=server.mjs.map
|