UNPKG

zephyr-rspack-plugin

Version:

Repack plugin for Zephyr

128 lines (127 loc) • 5.6 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__, { withZephyr: ()=>withZephyr }); const external_zephyr_agent_namespaceObject = require("zephyr-agent"); const external_zephyr_xpack_internal_namespaceObject = require("zephyr-xpack-internal"); const external_ze_rspack_plugin_js_namespaceObject = require("./ze-rspack-plugin.js"); function mergeResolvedDependencies(previous, current) { const merged = new Map(); for (const dependency of [ ...previous, ...current ])merged.set(`${dependency.application_uid}\0${dependency.name}`, dependency); return [ ...merged.values() ]; } function resolveBuildTarget(options) { const target = options?.target; if (void 0 !== target) (0, external_zephyr_agent_namespaceObject.assertZephyrBuildTarget)(target, 'withZephyr({ target })'); return target; } function applyBuildTarget(engine, target) { if (void 0 !== target) engine.env.target = target; } function withZephyr(zephyrPluginOptions) { const target = resolveBuildTarget(zephyrPluginOptions); return async (config)=>{ if ((0, external_zephyr_agent_namespaceObject.getGlobal)().NX_GRAPH_CREATION) return config; if (!Array.isArray(config)) return await _zephyr_configuration(config, { ...zephyrPluginOptions, target }); if (0 === config.length) return config; const engine = await external_zephyr_agent_namespaceObject.ZephyrEngine.create({ builder: 'rspack', context: config[0]?.context, target }); applyBuildTarget(engine, target); try { const { coordinator, compilers } = (0, external_zephyr_xpack_internal_namespaceObject.coordinateXPackCompilers)(engine, config, { snapshotType: zephyrPluginOptions?.snapshotType, entrypoint: zephyrPluginOptions?.entrypoint }); for (const [index, item] of config.entries())await _zephyr_configuration(item, { ...zephyrPluginOptions, target, __engine: engine, __coordinator: coordinator, __participant: compilers[index]?.participant, __assetPrefix: compilers[index]?.assetPrefix }); } catch (error) { if (engine.hasActiveBuild) engine.build_failed(); throw error; } return config; }; } async function _zephyr_configuration(config, _zephyrOptions) { let zephyr_engine; try { const target = resolveBuildTarget(_zephyrOptions); zephyr_engine = _zephyrOptions?.__engine ?? await external_zephyr_agent_namespaceObject.ZephyrEngine.create({ builder: 'rspack', context: config.context, target }); applyBuildTarget(zephyr_engine, target); const dependencyPairs = (0, external_zephyr_xpack_internal_namespaceObject.extractFederatedDependencyPairs)(config); const previousDependencies = zephyr_engine.federated_dependencies ?? []; const resolved_dependency_pairs = await zephyr_engine.resolve_remote_dependencies(dependencyPairs, (0, external_zephyr_xpack_internal_namespaceObject.extractLibraryType)(config.output?.library)); zephyr_engine.federated_dependencies = mergeResolvedDependencies(previousDependencies, resolved_dependency_pairs ?? []); (0, external_zephyr_xpack_internal_namespaceObject.mutWebpackFederatedRemotesConfig)(zephyr_engine, config, resolved_dependency_pairs); (config.plugins ??= []).push(new external_ze_rspack_plugin_js_namespaceObject.ZeRspackPlugin({ zephyr_engine, mfConfig: (0, external_zephyr_xpack_internal_namespaceObject.makeCopyOfModuleFederationOptions)(config), wait_for_index_html: _zephyrOptions?.wait_for_index_html, hooks: _zephyrOptions?.hooks, coordinator: _zephyrOptions?.__coordinator, participant: _zephyrOptions?.__participant, assetPrefix: _zephyrOptions?.__assetPrefix })); } catch (error) { if (_zephyrOptions?.__coordinator) throw error; if (zephyr_engine?.hasActiveBuild !== false) zephyr_engine?.build_failed(); (0, external_zephyr_agent_namespaceObject.handleGlobalError)(error); } return config; } exports.withZephyr = __webpack_exports__.withZephyr; for(var __rspack_i in __webpack_exports__)if (-1 === [ "withZephyr" ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i]; Object.defineProperty(exports, '__esModule', { value: true }); //# sourceMappingURL=with-zephyr.js.map