@esmx/core
Version:
A high-performance microfrontend framework supporting Vue, React, Preact, Solid, and Svelte with SSR and Module Federation capabilities.
27 lines (26 loc) • 749 B
JavaScript
export function parsePackConfig(config = {}) {
const outputs = [];
if (typeof config.outputs === "string") {
outputs.push(config.outputs);
} else if (Array.isArray(config.outputs)) {
outputs.push(...config.outputs);
} else if (config.outputs !== false) {
outputs.push("dist/client/versions/latest.tgz");
}
return {
enable: config.enable ?? false,
outputs,
async packageJson(esmx, pkgJson) {
if (config.packageJson) {
pkgJson = await config.packageJson(esmx, pkgJson);
}
return pkgJson;
},
async onBefore(esmx, pkgJson) {
await config.onBefore?.(esmx, pkgJson);
},
async onAfter(esmx, pkgJson, file) {
await config.onAfter?.(esmx, pkgJson, file);
}
};
}