UNPKG

ut-tools

Version:

Build and Release management automation package.

65 lines 2.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.builtins = void 0; const tslib_1 = require("tslib"); const core = (0, tslib_1.__importStar)(require("@stoplight/spectral-core")); const formats = (0, tslib_1.__importStar)(require("@stoplight/spectral-formats")); const functions = (0, tslib_1.__importStar)(require("@stoplight/spectral-functions")); const parsers = (0, tslib_1.__importStar)(require("@stoplight/spectral-parsers")); const refResolver = (0, tslib_1.__importStar)(require("@stoplight/spectral-ref-resolver")); const rulesets = (0, tslib_1.__importStar)(require("@stoplight/spectral-rulesets")); const runtime = (0, tslib_1.__importStar)(require("@stoplight/spectral-runtime")); const NAME = '@stoplight-spectral/builtins'; function registerModule(instanceId, id, members, overrides) { var _a, _b; var _c; const actualOverrides = overrides[id]; const instances = ((_a = globalThis[_c = Symbol.for(NAME)]) !== null && _a !== void 0 ? _a : (globalThis[_c] = {})); const root = ((_b = instances[instanceId]) !== null && _b !== void 0 ? _b : (instances[instanceId] = {})); root[id] = actualOverrides ? { ...members, ...actualOverrides } : members; const m = `globalThis[Symbol.for('${NAME}')]['${instanceId}']['${id}']`; let code = ''; for (const member of Object.keys(members)) { code += `export const ${member} = ${m}['${member}'];\n`; } return [id, code]; } const builtins = (overrides = {}) => { const instanceId = Math.round(Math.random() * 1000000); const modules = Object.fromEntries([ registerModule(instanceId, '@stoplight/spectral-core', core, overrides), registerModule(instanceId, '@stoplight/spectral-formats', formats, overrides), registerModule(instanceId, '@stoplight/spectral-functions', functions, overrides), registerModule(instanceId, '@stoplight/spectral-parsers', parsers, overrides), registerModule(instanceId, '@stoplight/spectral-ref-resolver', refResolver, overrides), registerModule(instanceId, '@stoplight/spectral-rulesets', rulesets, overrides), registerModule(instanceId, '@stoplight/spectral-runtime', runtime, overrides), ]); return { name: NAME, options(rawOptions) { const external = rawOptions.external; if (typeof external === 'function') { return { ...rawOptions, external: (((id, importer, isResolved) => !(id in modules) && external(id, importer, isResolved))), }; } return rawOptions; }, resolveId(id) { if (id in modules) { return id; } return null; }, load(id) { if (id in modules) { return modules[id]; } return; }, }; }; exports.builtins = builtins; //# sourceMappingURL=builtins.js.map