50 lines
1.5 KiB
JavaScript
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;
|