@esmx/rspack
Version:
A high-performance Rspack integration for Esmx microfrontend framework, providing Module Linking and SSR capabilities.
32 lines (31 loc) • 900 B
JavaScript
export const PRESET_TARGETS = {
compatible: {
client: ["chrome>=64", "edge>=79", "firefox>=67", "safari>=11.1"],
server: ["node>=24"],
node: ["node>=24"]
},
modern: {
client: ["chrome>=89", "edge>=89", "firefox>=108", "safari>=16.4"],
server: ["node>=24"],
node: ["node>=24"]
}
};
function resolveTargetSpec(spec, buildTarget) {
if (typeof spec === "string") {
return [...PRESET_TARGETS[spec][buildTarget]];
}
return spec;
}
export function getTargetSetting(setting, buildTarget) {
if (!setting) {
return [...PRESET_TARGETS.compatible[buildTarget]];
}
if (typeof setting === "string" || Array.isArray(setting)) {
return resolveTargetSpec(setting, buildTarget);
}
const targetSpec = setting[buildTarget];
if (!targetSpec) {
return [...PRESET_TARGETS.compatible[buildTarget]];
}
return resolveTargetSpec(targetSpec, buildTarget);
}