-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathesbuild.mjs
More file actions
33 lines (30 loc) · 1006 Bytes
/
Copy pathesbuild.mjs
File metadata and controls
33 lines (30 loc) · 1006 Bytes
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
import * as esbuild from "esbuild";
import { copyFile, cp, mkdir } from "node:fs/promises";
const watch = process.argv.includes("--watch");
const context = await esbuild.context({
entryPoints: ["src/extension.ts"],
bundle: true,
outfile: "dist/extension.js",
external: ["vscode"],
format: "cjs",
platform: "node",
target: "node20",
sourcemap: true,
logLevel: "info"
});
if (watch) {
await context.watch();
} else {
await context.rebuild();
await copyKatexAssets();
await context.dispose();
}
async function copyKatexAssets() {
await mkdir("media/katex/fonts", { recursive: true });
await Promise.all([
copyFile("node_modules/katex/dist/katex.min.css", "media/katex/katex.min.css"),
copyFile("node_modules/katex/dist/katex.min.js", "media/katex/katex.min.js"),
copyFile("node_modules/katex/dist/contrib/auto-render.min.js", "media/katex/auto-render.min.js"),
cp("node_modules/katex/dist/fonts", "media/katex/fonts", { recursive: true, force: true })
]);
}