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