const fs = require("fs"); const esbuild = require("esbuild"); const sveltePlugin = require("esbuild-svelte"); const sveltePreprocess = require('svelte-preprocess'); //make sure the directoy exists before stuff gets put into it if (!fs.existsSync("./public/build/")) { fs.mkdirSync("./public/build/") } const isDev = process.argv[2] === "--watch"; //build the application esbuild.build({ entryPoints: ['./src/main.ts', './src/workers/ai-worker.ts', './src/workers/pixel-worker.ts'], outdir: './public/build', bundle: true, minify: !isDev, watch: isDev ? { onRebuild(error, result) { if (error) console.error('watch build failed:', error) else console.log('watch build succeeded') } } : false, loader: { ".vert": "text", ".frag": "text" }, plugins: [sveltePlugin({ preprocess: sveltePreprocess() }),] }).catch((err) => { console.error(err) process.exit(1) })