-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.mjs
28 lines (23 loc) · 764 Bytes
/
build.mjs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import esbuild from "esbuild";
const baseOptions = {
logLevel: "info",
bundle: true,
minify: process.argv.includes("--production"),
sourcemap: true,
target: "es2020",
legalComments: "linked",
entryPoints: ["Resources/Private/Assets/*.js"],
};
const scriptOptions = { ...baseOptions, outdir: "Resources/Public/Scripts", format: "iife" };
const moduleOptions = { ...baseOptions, outdir: "Resources/Public/Modules", format: "esm", splitting: true };
async function watch(options) {
const context = await esbuild.context(options);
await context.watch();
}
if (process.argv.includes("--watch")) {
watch(scriptOptions);
watch(moduleOptions);
} else {
esbuild.build(scriptOptions);
esbuild.build(moduleOptions);
}