UNPKG

nuxt-safe-runtime-config

Version:

Validate Nuxt runtime config with Standard Schema at build time

15 lines (14 loc) 706 B
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); });