aboutsummaryrefslogtreecommitdiff
path: root/packages/bun-vscode/scripts/build.mjs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/bun-vscode/scripts/build.mjs')
-rw-r--r--packages/bun-vscode/scripts/build.mjs29
1 files changed, 29 insertions, 0 deletions
diff --git a/packages/bun-vscode/scripts/build.mjs b/packages/bun-vscode/scripts/build.mjs
new file mode 100644
index 000000000..261965840
--- /dev/null
+++ b/packages/bun-vscode/scripts/build.mjs
@@ -0,0 +1,29 @@
+import { buildSync } from "esbuild";
+import { rmSync, mkdirSync, cpSync } from "node:fs";
+import { spawnSync } from "node:child_process";
+
+const { pathname } = new URL("..", import.meta.url);
+process.chdir(pathname);
+
+buildSync({
+ entryPoints: ["src/extension.ts", "src/web-extension.ts"],
+ outdir: "dist",
+ bundle: true,
+ external: ["vscode"],
+ platform: "node",
+ format: "cjs",
+});
+
+rmSync("extension", { recursive: true, force: true });
+mkdirSync("extension", { recursive: true });
+cpSync("dist", "extension/dist", { recursive: true });
+cpSync("assets", "extension/assets", { recursive: true });
+cpSync("README.md", "extension/README.md");
+cpSync("LICENSE", "extension/LICENSE");
+cpSync("package.json", "extension/package.json");
+
+const cmd = process.isBun ? "bunx" : "npx";
+spawnSync(cmd, ["vsce", "package"], {
+ cwd: "extension",
+ stdio: "inherit",
+});