42 lines
1.4 KiB
JavaScript
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 };
|