nuxt-safe-runtime-config
Version:
Validate Nuxt runtime config with Standard Schema at build time
15 lines (14 loc) • 706 B
JavaScript
import { defineNuxtPlugin } from "#app";
import { mergeTransformedRuntimeConfig, runtimeValidationContextKey, setRuntimeValidationState } from "../config-state.js";
export default defineNuxtPlugin((nuxtApp) => {
const event = nuxtApp.ssrContext?.event;
const config = event && Reflect.get(event.context, runtimeValidationContextKey);
if (!config)
return;
setRuntimeValidationState(nuxtApp.$config, { status: "valid", value: config });
if (!config.public || typeof config.public !== "object" || Array.isArray(config.public))
return;
const ssrConfig = nuxtApp.ssrContext?.config;
if (ssrConfig)
ssrConfig.public = mergeTransformedRuntimeConfig(ssrConfig.public, config.public);
});