31 lines
902 B
JavaScript
31 lines
902 B
JavaScript
|
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)
|
||
|
})
|