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