Files
crossdesk/apps/mcp/scripts/build-harness.mjs
T

19 lines
1.1 KiB
JavaScript

import { build } from "esbuild";
import { dirname, resolve } from "node:path";
import { fileURLToPath } from "node:url";
const root = resolve(dirname(fileURLToPath(import.meta.url)), "../integrations/deepseek-harness");
const dist = resolve(root, "../../dist");
await build({ entryPoints: [resolve(root, "src/plugin.js")], outfile: resolve(dist, "harness.js"),
bundle: true, format: "esm", platform: "node", target: "node22",
packages: "external" });
await build({ entryPoints: [resolve(root, "src/host.js")], outfile: resolve(root, "dist/host.js"),
bundle: true, format: "esm", platform: "node", target: "node22" });
for (const [id, outfile] of [
["@chunkdash/crossdesk-mcp", resolve(dist, "harness-client.js")],
["@chunkdash/dsh-crossdesk-sidebar", resolve(root, "dist/client.js")],
]) await build({ entryPoints: [resolve(root, "src/client.js")], outfile,
bundle: true, format: "cjs", platform: "browser", target: "es2022",
banner: { js: `window.__ModuleLoader__.load({ id: ${JSON.stringify(id)}, factory: (require) => { var module = { exports: {} }; var exports = module.exports;` },
footer: { js: "return module.exports; } });" } });