jacobinwwey_obsidian-NotEMD/esbuild.config.mjs

32 lines
828 B
JavaScript
Raw Permalink Normal View History

2025-04-17 15:31:56 +00:00
import esbuild from "esbuild";
import { rm } from "fs/promises";
2025-04-17 15:31:56 +00:00
import process from "process";
import bundleConfig from "./scripts/lib/esbuild-bundle-config.js";
import packagingContract from "./scripts/lib/packaging-contract.js";
2025-04-17 15:31:56 +00:00
const prod = (process.argv[2] === "production");
const {
createMainBundleBuildOptions
} = bundleConfig;
const {
RENDER_HOST_STANDALONE_OUTPUT_FILES
} = packagingContract;
async function removeStaleRenderHostOutputs() {
await Promise.all(RENDER_HOST_STANDALONE_OUTPUT_FILES.map(async (relativePath) => {
await rm(relativePath, { force: true });
}));
}
await removeStaleRenderHostOutputs();
const context = await esbuild.context(createMainBundleBuildOptions({ prod }));
2025-04-17 15:31:56 +00:00
if (prod) {
await context.rebuild();
await context.dispose();
2025-04-17 15:31:56 +00:00
process.exit(0);
} else {
await context.watch();
}