32 lines
649 B
JavaScript
32 lines
649 B
JavaScript
|
import { build } from "esbuild";
|
||
|
import { globSync } from "glob";
|
||
|
|
||
|
const entryPoints = globSync("./src/**/**.{ts,tsx}");
|
||
|
|
||
|
/** @type {import('esbuild').BuildOptions} */
|
||
|
const options = {
|
||
|
entryPoints,
|
||
|
minify: true,
|
||
|
outdir: "./built/esm",
|
||
|
target: "es2022",
|
||
|
platform: "browser",
|
||
|
format: "esm",
|
||
|
};
|
||
|
|
||
|
if (process.env.WATCH === "true") {
|
||
|
options.watch = {
|
||
|
onRebuild(error, result) {
|
||
|
if (error) {
|
||
|
console.error("watch build failed:", error);
|
||
|
} else {
|
||
|
console.log("watch build succeeded:", result);
|
||
|
}
|
||
|
},
|
||
|
};
|
||
|
}
|
||
|
|
||
|
build(options).catch((err) => {
|
||
|
process.stderr.write(err.stderr);
|
||
|
process.exit(1);
|
||
|
});
|