Initial commit

This commit is contained in:
Vendicated
2023-03-30 01:02:30 +02:00
commit 0a3a0ca076
12 changed files with 1654 additions and 0 deletions

40
scripts/build.mts Normal file
View File

@@ -0,0 +1,40 @@
import { BuildContext, BuildOptions, context } from "esbuild";
const NodeCommonOpts: BuildOptions = {
format: "cjs",
platform: "node",
external: ["electron"],
minify: true,
bundle: true,
sourcemap: "linked",
logLevel: "info"
};
const contexts = [] as BuildContext[];
async function createContext(options: BuildOptions) {
contexts.push(await context(options));
}
await Promise.all([
createContext({
...NodeCommonOpts,
entryPoints: ["src/main/index.ts"],
outfile: "dist/main.js"
}),
createContext({
...NodeCommonOpts,
entryPoints: ["src/preload/index.ts"],
outfile: "dist/preload.js"
})
]);
const watch = process.argv.includes("--watch");
if (watch) {
await Promise.all(contexts.map(ctx => ctx.watch()));
} else {
await Promise.all(contexts.map(async ctx => {
await ctx.rebuild();
await ctx.dispose();
}));
}

15
scripts/startWatch.mts Normal file
View File

@@ -0,0 +1,15 @@
import { spawn as cpSpawn, SpawnOptions } from "child_process";
import { join } from "path";
const EXT = process.platform === "win32" ? ".cmd" : "";
const OPTS: SpawnOptions = {
stdio: "inherit",
};
function spawn(bin: string, args: string[]) {
cpSpawn(join("node_modules", ".bin", bin + EXT), args, OPTS);
}
spawn("tsx", ["scripts/build.mts", "--", "--watch"]);
spawn("electron", ["."]);