import { BuildConfig, defineBuildConfig, build } from "unbuild"; import { merge, values } from "lodash-es"; // OR tsup const BaseConfig = [ { entries: ["src/index.ts"], declaration: true, rollup: { replace: { values: { __DEV__: "false", __PROD__: "true", }, }, emitCJS: true, output: { exports: "named", }, }, }, { entries: [ { input: "src/index.ts", ext: "cjs", }, ], outDir: "dist/cjs/", rollup: { replace: { values: { __DEV__: "false", __PROD__: "true", }, }, output: { dir: "dist/cjs", entryFileNames: "[name].cjs", format: "cjs", preserveModules: true, preserveModulesRoot: "src", exports: "named", }, }, }, { entries: [ { input: "src/index.ts", ext: "mjs", }, ], outDir: "dist/esm/", rollup: { replace: { values: { __DEV__: "false", __PROD__: "true", }, }, output: { preserveModules: true, preserveModulesRoot: "src", format: "esm", exports: "named", }, }, }, ] as BuildConfig[]; export function mergeConfig(targetConfig: BuildConfig) { return defineBuildConfig(BaseConfig); }