vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
36 lines (35 loc) • 2.1 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.resolveBase = resolveBase;
const utils_js_1 = require("./utils.js");
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
if (baseViteOriginal === '/__UNSET__')
baseViteOriginal = null;
{
const wrongBase = (val) => `should start with ${picocolors_1.default.cyan('/')}, ${picocolors_1.default.cyan('http://')}, or ${picocolors_1.default.cyan('https://')} (it's ${picocolors_1.default.cyan(val)} instead)`;
(0, utils_js_1.assertUsage)(baseViteOriginal === null || (0, utils_js_1.isBaseAssets)(baseViteOriginal), `vite.config.js#base ${wrongBase(baseViteOriginal)}`);
(0, utils_js_1.assertUsage)(baseAssetsUnresolved === null || (0, utils_js_1.isBaseAssets)(baseAssetsUnresolved), `Config ${picocolors_1.default.cyan('baseAssets')} ${wrongBase(baseAssetsUnresolved)}`);
(0, utils_js_1.assertUsage)(baseServerUnresolved === null || baseServerUnresolved.startsWith('/'), `Config ${picocolors_1.default.cyan('baseServer')} should start with a leading slash ${picocolors_1.default.cyan('/')} (it's ${picocolors_1.default.cyan(String(baseServerUnresolved))} instead)`);
}
if (baseViteOriginal) {
if (baseViteOriginal.startsWith('http')) {
baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
}
else {
baseAssetsUnresolved = baseAssetsUnresolved ?? baseViteOriginal;
baseServerUnresolved = baseServerUnresolved ?? baseViteOriginal;
}
}
const baseServer = baseServerUnresolved ?? '/';
const baseAssets = baseAssetsUnresolved ?? '/';
(0, utils_js_1.assert)((0, utils_js_1.isBaseAssets)(baseAssets));
(0, utils_js_1.assert)((0, utils_js_1.isBaseServer)(baseServer));
return {
baseServer,
baseAssets,
};
}