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.
 
 

85 lines
1.5 KiB

import { build } from "unbuild";
export function buildFull() {
return build(".", false, {
entries: ["src/index.ts"],
declaration: true,
failOnWarn: false,
rollup: {
replace: {
values: {
__DEV__: "false",
__PROD__: "true",
},
},
emitCJS: true,
output: {
exports: "named",
},
},
});
}
export function buildCjs() {
return build(".", false, {
entries: [
{
input: "src/index.ts",
ext: "cjs",
},
],
outDir: "dist/cjs/",
declaration: true,
failOnWarn: false,
rollup: {
replace: {
values: {
__DEV__: "false",
__PROD__: "true",
},
},
output: {
dir: "dist/cjs",
entryFileNames: "[name].cjs",
format: "cjs",
preserveModules: true,
preserveModulesRoot: "src",
exports: "named",
},
},
});
}
export function buildEsm() {
return build(".", false, {
entries: [
{
input: "src/index.ts",
ext: "mjs",
},
],
outDir: "dist/esm/",
declaration: true,
failOnWarn: false,
rollup: {
replace: {
values: {
__DEV__: "false",
__PROD__: "true",
},
},
output: {
preserveModules: true,
preserveModulesRoot: "src",
format: "esm",
exports: "named",
},
},
});
}
(async function () {
await buildFull();
await buildCjs();
await buildEsm();
})();