UNPKG

vike

Version:

The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.

28 lines (27 loc) 1.43 kB
export { loadAndParseVirtualFilePageEntry }; import { objectAssign } from '../../utils/objectAssign.js'; import { parseConfigValuesSerialized } from './serialize/parsePageConfigsSerialized.js'; import { assertVirtualFileExports } from '../assertVirtualFileExports.js'; async function loadAndParseVirtualFilePageEntry(pageConfig, isDev) { if ('isPageEntryLoaded' in pageConfig && // We don't need to cache in dev, since Vite already caches the virtual module !isDev) { return pageConfig; } const { moduleId, moduleExportsPromise } = pageConfig.loadVirtualFilePageEntry(); const moduleExports = await moduleExportsPromise; /* `moduleExports` is sometimes `undefined` https://github.com/vikejs/vike/discussions/2092 assert(moduleExports) //*/ // Catch @cloudflare/vite-plugin bug assertVirtualFileExports(moduleExports, () => 'configValuesSerialized' in moduleExports, moduleId); const virtualFileExportsPageEntry = moduleExports; const configValues = parseVirtualFileExportsPageEntry(virtualFileExportsPageEntry); Object.assign(pageConfig.configValues, configValues); objectAssign(pageConfig, { isPageEntryLoaded: true }); return pageConfig; } function parseVirtualFileExportsPageEntry(virtualFileExportsPageEntry) { const configValues = parseConfigValuesSerialized(virtualFileExportsPageEntry.configValuesSerialized); return configValues; }