2025-09-05 14:59:21 +08:00

42 lines
1.4 KiB
JavaScript

import { useLogger } from '@nuxt/kit';
import { u as useSiteConfig } from './shared/nuxt-site-config-kit.41c495f1.mjs';
export { g as getSiteConfigStack, i as initSiteConfig, a as installNuxtSiteConfig, b as updateSiteConfig, c as useNitroOrigin } from './shared/nuxt-site-config-kit.41c495f1.mjs';
import 'pkg-types';
import 'site-config-stack';
import 'std-env';
import 'ufo';
function requireSiteConfig() {
}
function assertSiteConfig(module, requirements, options) {
const siteConfig = useSiteConfig();
let valid = true;
const messages = [];
const logger = useLogger("nuxt-site-config");
Object.keys(requirements).forEach((k) => {
const key = k;
if (!siteConfig[key]) {
const reason = (requirements[key] || "").split("\n");
const msg = [
`The \`${module}\` module requires a \`site.${key}\` to be set:`,
...reason.map((r) => ` - ${r}`),
"",
`You can fix this by adding a \`site.${key}\` to your \`nuxt.config\` or a \`NUXT_PUBLIC_SITE_${key.toUpperCase()}\` to your .env. Learn more at https://nuxtseo.com/site-config/getting-started/how-it-works`
];
messages.push(msg.join("\n"));
valid = false;
}
});
if (!valid) {
logger.error(messages.join("\n"));
if (options?.throwError)
throw new Error();
}
return {
valid,
messages
};
}
export { assertSiteConfig, requireSiteConfig, useSiteConfig };