vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
42 lines (41 loc) • 1.63 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.isVirtualFileId = isVirtualFileId;
exports.getVirtualFileId = getVirtualFileId;
exports.resolveVirtualFileId = resolveVirtualFileId;
exports.removeVirtualIdTag = removeVirtualIdTag;
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
const utils_js_1 = require("./utils.js");
const idBase = 'virtual:vike:';
// https://vitejs.dev/guide/api-plugin.html#virtual-modules-convention
const virtualIdTag = '\0';
function isVirtualFileId(id) {
if (id.startsWith(idBase))
return true;
if (id.startsWith(virtualIdTag + idBase))
return true;
// https://github.com/vikejs/vike/issues/1985
(0, utils_js_1.assertUsage)(!id.includes(idBase), `Encountered a module ID ${picocolors_1.default.cyan(id)} that is unexpected. Are you using a tool that modifies the ID of modules? For example, the baseUrl setting in tsconfig.json cannot be used.`);
return false;
}
function getVirtualFileId(id) {
return removeVirtualIdTag(id);
}
function resolveVirtualFileId(id) {
(0, utils_js_1.assert)(isVirtualFileId(id));
if (!id.startsWith(virtualIdTag)) {
id = virtualIdTag + id;
}
(0, utils_js_1.assert)(id.startsWith(virtualIdTag));
return id;
}
function removeVirtualIdTag(id) {
if (id.startsWith(virtualIdTag)) {
id = id.slice(virtualIdTag.length);
}
(0, utils_js_1.assert)(!id.startsWith(virtualIdTag));
return id;
}