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

50 lines
1.5 KiB
JavaScript

'use strict';
const kit = require('@nuxt/kit');
const util = require('./shared/nuxt-site-config-kit.a48e9dc3.cjs');
require('pkg-types');
require('site-config-stack');
require('std-env');
require('ufo');
function requireSiteConfig() {
}
function assertSiteConfig(module, requirements, options) {
const siteConfig = util.useSiteConfig();
let valid = true;
const messages = [];
const logger = kit.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
};
}
exports.getSiteConfigStack = util.getSiteConfigStack;
exports.initSiteConfig = util.initSiteConfig;
exports.installNuxtSiteConfig = util.installNuxtSiteConfig;
exports.updateSiteConfig = util.updateSiteConfig;
exports.useNitroOrigin = util.useNitroOrigin;
exports.useSiteConfig = util.useSiteConfig;
exports.assertSiteConfig = assertSiteConfig;
exports.requireSiteConfig = requireSiteConfig;