forked from kisstkondoros/codemetrics
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.mjs
49 lines (44 loc) · 1.38 KB
/
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
import { build } from "esbuild";
import { rmSync } from "node:fs";
const args = process.argv.slice(2);
const watch = args.some((p) => p == "--watch");
console.log("cleaning output directory");
rmSync("./dist", { recursive: true, force: true });
console.log("starting build for extension");
build({
entryPoints: ["src/extension.ts"],
platform: "node",
external: ["vscode"],
bundle: true,
sourcemap: true,
outfile: "dist/extension.js",
watch: watch && {
onRebuild(error, result) {
if (error) console.error("watch build for extension failed:", error);
else console.log("watch build for extension succeeded!");
},
},
})
.then(() => {
console.log("finished build for extension.");
})
.catch(() => process.exit(1));
console.log("starting build for server");
build({
entryPoints: ["src/metrics/server/server.ts"],
platform: "node",
external: ["vscode"],
bundle: true,
sourcemap: true,
outfile: "dist/server.js",
watch: watch && {
onRebuild(error, result) {
if (error) console.error("watch build for server failed:", error);
else console.log("watch build for server succeeded.");
},
},
})
.then(() => {
console.log("finished build for server.");
})
.catch(() => process.exit(1));