You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

75 lines
1.4 KiB

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);
}