UNPKG

zephyr-xpack-internal

Version:

Xpack internals for Zephyr

116 lines (115 loc) • 5 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__, { getLegacyModuleFederationConfig: ()=>getLegacyModuleFederationConfig, mergeModuleFederationBuildMetadata: ()=>mergeModuleFederationBuildMetadata, mergeModuleFederationConfigs: ()=>mergeModuleFederationConfigs }); const external_zephyr_agent_namespaceObject = require("zephyr-agent"); function stableJson(value) { if (null === value) return 'null'; switch(typeof value){ case 'undefined': return 'undefined'; case 'string': case 'number': case 'boolean': return JSON.stringify(value); case 'bigint': return `bigint:${value.toString()}`; case 'symbol': return `symbol:${String(value)}`; case 'function': return `function:${String(value)}`; default: break; } 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 nonEmptyString(value) { return 'string' == typeof value && value.trim() ? value : void 0; } function mergeUnique(candidates, kind) { const byFingerprint = new Set(); const byIdentity = new Map(); const merged = []; for (const candidate of candidates)if (!byFingerprint.has(candidate.fingerprint)) { for (const identity of candidate.identities){ const existing = byIdentity.get(identity); if (existing && existing !== candidate.fingerprint) throw new external_zephyr_agent_namespaceObject.ZephyrError(external_zephyr_agent_namespaceObject.ZeErrors.ERR_DEPLOY_LOCAL_BUILD, { message: `Conflicting Module Federation ${kind} for ${identity}.` }); } byFingerprint.add(candidate.fingerprint); for (const identity of candidate.identities)byIdentity.set(identity, candidate.fingerprint); merged.push(candidate.value); } return merged; } function mergeModuleFederationConfigs(configs) { return mergeUnique(configs.flatMap((configList)=>(configList ?? []).map((config)=>({ value: config, fingerprint: stableJson(config), identities: [ nonEmptyString(config.name) ? `name:${config.name}` : void 0, nonEmptyString(config.filename) ? `entry:${config.filename}` : void 0 ].filter((identity)=>!!identity) }))), 'configuration'); } function getLegacyModuleFederationConfig(configs) { const config = configs?.length === 1 ? configs[0] : void 0; if (!config || !nonEmptyString(config.name) || !nonEmptyString(config.filename)) return; return config; } function mergeModuleFederationBuildMetadata(metadata) { return mergeUnique(metadata.flatMap((metadataList)=>(metadataList ?? []).map((entry)=>({ value: entry, fingerprint: stableJson(entry), identities: [ nonEmptyString(entry.name) ? `name:${entry.name}` : void 0, nonEmptyString(entry.remote) ? `entry:${entry.remote}` : void 0, nonEmptyString(entry.mf_manifest) ? `manifest:${entry.mf_manifest}` : void 0 ].filter((identity)=>!!identity) }))), 'metadata'); } exports.getLegacyModuleFederationConfig = __webpack_exports__.getLegacyModuleFederationConfig; exports.mergeModuleFederationBuildMetadata = __webpack_exports__.mergeModuleFederationBuildMetadata; exports.mergeModuleFederationConfigs = __webpack_exports__.mergeModuleFederationConfigs; for(var __rspack_i in __webpack_exports__)if (-1 === [ "getLegacyModuleFederationConfig", "mergeModuleFederationBuildMetadata", "mergeModuleFederationConfigs" ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i]; Object.defineProperty(exports, '__esModule', { value: true }); //# sourceMappingURL=federation-config-metadata.js.map