vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
20 lines (19 loc) • 951 B
JavaScript
export { loadConfigValues };
import { assert, objectAssign } from '../utils.js';
import { parseConfigValuesSerialized } from './serialize/parsePageConfigs.js';
async function loadConfigValues(pageConfig, isDev) {
if ('isAllLoaded' in pageConfig &&
// We don't need to cache in dev, since Vite already caches the virtual module
!isDev) {
return pageConfig;
}
const { moduleId, moduleExports } = pageConfig.loadConfigValuesAll();
const configValuesLoaded = await moduleExports;
// `configValuesLoaded` is sometimes `undefined` https://github.com/vikejs/vike/discussions/2092
if (!configValuesLoaded)
assert(false, { moduleExports, configValuesLoaded, moduleId });
const configValues = parseConfigValuesSerialized(configValuesLoaded.configValuesSerialized);
Object.assign(pageConfig.configValues, configValues);
objectAssign(pageConfig, { isAllLoaded: true });
return pageConfig;
}