UNPKG

zephyr-modernjs-plugin

Version:

Modernjs plugin for Zephyr

48 lines (47 loc) • 1.74 kB
import "node:module"; import { assertZephyrBuildTarget, ze_log } from "zephyr-agent"; const pluginName = 'zephyr-modernjs-plugin'; const isDev = 'development' === process.env['NODE_ENV']; function shouldApplyDevPublicPathFix(target, development = isDev) { return development && 'tap-app' !== target; } const with_zephyr_withZephyr = (zephyrOptions)=>{ if (zephyrOptions?.target !== void 0) assertZephyrBuildTarget(zephyrOptions.target, 'withZephyr({ target })'); return { name: pluginName, pre: [ '@modern-js/plugin-module-federation-config' ], async setup (api) { api['modifyRspackConfig'](async (config)=>{ const { withZephyr } = await import("zephyr-rspack-plugin"); const configureZephyr = withZephyr(zephyrOptions); return await configureZephyr(config); }); }, usePlugins: shouldApplyDevPublicPathFix(zephyrOptions?.target) ? [ zephyrFixPublicPath(zephyrOptions?.target) ] : [] }; }; function zephyrFixPublicPath(target) { return { name: 'zephyr-publicpath-fix', pre: [ pluginName ], setup (api) { api['modifyRspackConfig'](async (config, { isServer })=>{ if (!isServer && 'tap-app' !== target) { ze_log.misc('Modifying publicPath for Dev Server'); config.output = { ...config.output, publicPath: 'auto' }; } }); } }; } export { shouldApplyDevPublicPathFix, with_zephyr_withZephyr as withZephyr }; //# sourceMappingURL=with-zephyr.mjs.map