UNPKG

vite-plugin-zephyr

Version:

Vite plugin for Zephyr

154 lines (153 loc) • 6.13 kB
"use strict"; var __webpack_require__ = {}; (()=>{ __webpack_require__.d = (exports1, getters, values)=>{ var define = (defs, kind)=>{ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, { enumerable: true, [kind]: defs[key] }); }; define(getters, "get"); define(values, "value"); }; })(); (()=>{ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop); })(); (()=>{ __webpack_require__.r = (exports1)=>{ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, { value: 'Module' }); Object.defineProperty(exports1, '__esModule', { value: true }); }; })(); var __webpack_exports__ = {}; __webpack_require__.r(__webpack_exports__); __webpack_require__.d(__webpack_exports__, { createViteModuleFederationPublicationMetadata: ()=>createViteModuleFederationPublicationMetadata, getConfigIdentities: ()=>getConfigIdentities, mergeViteModuleFederationConfigs: ()=>mergeViteModuleFederationConfigs }); const external_zephyr_agent_namespaceObject = require("zephyr-agent"); function nonEmptyString(value) { return 'string' == typeof value && value.trim() ? value : void 0; } function serializeConfig(config) { try { const serialized = JSON.stringify(config); if (!serialized) throw new Error('configuration did not serialize to JSON'); return JSON.parse(serialized); } catch { throw new external_zephyr_agent_namespaceObject.ZephyrError(external_zephyr_agent_namespaceObject.ZeErrors.ERR_DEPLOY_LOCAL_BUILD, { message: 'Vite Module Federation configuration must be JSON-serializable before Zephyr can publish it.' }); } } function stableJson(value) { if (null === value || 'object' != typeof value) return JSON.stringify(value) ?? 'undefined'; if (Array.isArray(value)) return `[${value.map((item)=>stableJson(item)).join(',')}]`; const record = value; return `{${Object.keys(record).sort().map((key)=>`${JSON.stringify(key)}:${stableJson(record[key])}`).join(',')}}`; } function getConfigIdentities(config) { return [ nonEmptyString(config.name) ? `name:${config.name}` : void 0, nonEmptyString(config.filename) ? `entry:${config.filename}` : void 0 ].filter((identity)=>!!identity); } function mergeViteModuleFederationConfigs(configLists) { const byFingerprint = new Set(); const byIdentity = new Map(); const merged = []; for (const sourceConfig of configLists.flatMap((configs)=>configs ?? [])){ const config = serializeConfig(sourceConfig); const fingerprint = stableJson(config); if (!byFingerprint.has(fingerprint)) { for (const identity of getConfigIdentities(config)){ const existing = byIdentity.get(identity); if (existing && existing !== fingerprint) throw new external_zephyr_agent_namespaceObject.ZephyrError(external_zephyr_agent_namespaceObject.ZeErrors.ERR_DEPLOY_LOCAL_BUILD, { message: `Conflicting Vite Module Federation configuration for ${identity}.` }); } byFingerprint.add(fingerprint); for (const identity of getConfigIdentities(config))byIdentity.set(identity, fingerprint); merged.push(config); } } return merged; } function stringRecord(value) { if (!value || 'object' != typeof value || Array.isArray(value) || !Object.values(value).every((entry)=>'string' == typeof entry)) return; return value; } function getLegacyConfig(configs) { const config = 1 === configs.length ? configs[0] : void 0; const name = nonEmptyString(config?.name); const filename = nonEmptyString(config?.filename); if (!config || !name || !filename) return; const remotes = stringRecord(config.remotes); return { name, filename, ...config.exposes ? { exposes: config.exposes } : {}, ...remotes ? { remotes } : {}, ...config.shared ? { shared: config.shared } : {}, ...config.runtimePlugins ? { runtimePlugins: config.runtimePlugins } : {}, ...void 0 !== config.manifest ? { manifest: config.manifest } : {} }; } function libraryType(library) { if ('string' == typeof library) return library; if (library && !Array.isArray(library)) return library.type; } function createViteModuleFederationPublicationMetadata(configs) { const mfConfigs = mergeViteModuleFederationConfigs([ configs ]); const mfConfig = getLegacyConfig(mfConfigs); const federation = mfConfigs.map((config)=>({ name: config.name, remote: config.filename, mf_manifest: (0, external_zephyr_agent_namespaceObject.resolveMfManifestPath)(config.manifest), library_type: libraryType(config.library), exposes: config.exposes, shared: config.shared })); return { ...mfConfigs.length > 0 ? { mfConfigs } : {}, ...mfConfig ? { mfConfig } : {}, ...federation.length > 0 ? { federation } : {} }; } exports.createViteModuleFederationPublicationMetadata = __webpack_exports__.createViteModuleFederationPublicationMetadata; exports.getConfigIdentities = __webpack_exports__.getConfigIdentities; exports.mergeViteModuleFederationConfigs = __webpack_exports__.mergeViteModuleFederationConfigs; for(var __rspack_i in __webpack_exports__)if (-1 === [ "createViteModuleFederationPublicationMetadata", "getConfigIdentities", "mergeViteModuleFederationConfigs" ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i]; Object.defineProperty(exports, '__esModule', { value: true }); //# sourceMappingURL=federation-metadata.js.map