zephyr-rspack-plugin
Version:
Repack plugin for Zephyr
128 lines (127 loc) • 5.6 kB
JavaScript
;
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