UNPKG

zephyr-xpack-internal

Version:

Xpack internals for Zephyr

157 lines (156 loc) • 6.49 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__, { getBuildStats: ()=>getBuildStats, getModuleFederationBuildMetadata: ()=>getModuleFederationBuildMetadata, getModuleFederationConfigs: ()=>getModuleFederationConfigs }); const external_zephyr_agent_namespaceObject = require("zephyr-agent"); const extract_federation_config_js_namespaceObject = require("../xpack-extract/extract-federation-config.js"); const federation_config_metadata_js_namespaceObject = require("../xpack-extract/federation-config-metadata.js"); const FederationDashboardPlugin_js_namespaceObject = require("./utils/federation-dashboard-plugin/FederationDashboardPlugin.js"); function getFederationConfigEntries(mfConfig) { const plugins = mfConfig ? Array.isArray(mfConfig) ? mfConfig : [ mfConfig ] : []; return plugins.flatMap((plugin)=>{ const config = (0, extract_federation_config_js_namespaceObject.extractFederatedConfig)(plugin); return config ? [ { plugin, config } ] : []; }); } function getModuleFederationConfigs(mfConfig) { return (0, federation_config_metadata_js_namespaceObject.mergeModuleFederationConfigs)([ getFederationConfigEntries(mfConfig).map(({ config })=>JSON.parse(JSON.stringify(config))) ]); } function getModuleFederationBuildMetadata(mfConfig) { return (0, federation_config_metadata_js_namespaceObject.mergeModuleFederationBuildMetadata)([ getFederationConfigEntries(mfConfig).map(({ plugin, config })=>{ const emitsManifest = void 0 !== config.manifest || 'name' in plugin && 'string' == typeof plugin.name; return { name: config.name, remote: config.filename, mf_manifest: emitsManifest ? (0, external_zephyr_agent_namespaceObject.resolveMfManifestPath)(config.manifest) : void 0, library_type: config.library?.type ?? 'var', exposes: config.exposes, shared: config.shared }; }) ]); } async function getBuildStats({ stats, stats_json, pluginOptions, EDGE_URL, DOMAIN, PLATFORM, TYPE, DELIMITER: delimiter }) { external_zephyr_agent_namespaceObject.ze_log.app('get build stats started. create federation dashboard plugin'); const ze_engine = pluginOptions.zephyr_engine; const app = ze_engine.applicationProperties; const { git } = ze_engine.gitProperties; const context = ze_engine.env; const version = await ze_engine.snapshotId; const application_uid = ze_engine.application_uid; const buildId = await ze_engine.build_id; const build_target = ze_engine.env.target ?? 'web'; const federation = getModuleFederationBuildMetadata(pluginOptions.mfConfig); const legacyFederation = 1 === federation.length ? federation[0] : void 0; const legacyFederationFields = legacyFederation ?? { name: app.name, remote: void 0, mf_manifest: void 0, library_type: void 0, exposes: void 0, shared: void 0 }; const remotes = ze_engine.federated_dependencies; const data_overrides = { id: application_uid, ...legacyFederationFields, federation, edge: { url: EDGE_URL, delimiter }, domain: DOMAIN, platform: PLATFORM, type: TYPE ?? 'app', app: Object.assign({}, app, { buildId }), version, git, remotes: remotes?.map(({ application_uid })=>application_uid) ?? [], context, build_target, zephyrDependencies: ze_engine.zephyr_dependencies }; if ('tap-app' === build_target) { const baseline = await (0, external_zephyr_agent_namespaceObject.zeBuildDashData)(ze_engine); const tapBuildStats = { ...baseline, ...data_overrides, project: legacyFederation?.name ?? app.name, tags: baseline.tags ?? [] }; external_zephyr_agent_namespaceObject.ze_log.app('get tap-app build stats done.', tapBuildStats); return tapBuildStats; } const dashboardPlugin = new FederationDashboardPlugin_js_namespaceObject.FederationDashboardPlugin({ app, git, context }); external_zephyr_agent_namespaceObject.ze_log.app('process webpack graph.pluginOptions', pluginOptions); const convertedGraph = dashboardPlugin.processWebpackGraph({ stats, stats_json, pluginOptions }); if (!convertedGraph) throw new external_zephyr_agent_namespaceObject.ZephyrError(external_zephyr_agent_namespaceObject.ZeErrors.ERR_CONVERT_GRAPH_TO_DASHBOARD); const res = Object.assign({}, convertedGraph, data_overrides, { project: legacyFederation?.name ?? app.name, tags: [] }); external_zephyr_agent_namespaceObject.ze_log.app('get build stats done.', res); return res; } exports.getBuildStats = __webpack_exports__.getBuildStats; exports.getModuleFederationBuildMetadata = __webpack_exports__.getModuleFederationBuildMetadata; exports.getModuleFederationConfigs = __webpack_exports__.getModuleFederationConfigs; for(var __rspack_i in __webpack_exports__)if (-1 === [ "getBuildStats", "getModuleFederationBuildMetadata", "getModuleFederationConfigs" ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i]; Object.defineProperty(exports, '__esModule', { value: true }); //# sourceMappingURL=get-build-stats.js.map