build-tests.js
// Bundles each test file so the tests run against the TypeScript sources.
const { buildSync } = require("esbuild");
const fs = require("node:fs");
const path = require("node:path");
fs.rmSync("test-dist", { recursive: true, force: true });
const entries = fs
.readdirSync("test")
.filter((f) => f.endsWith(".test.ts") || f === "fake-browser-main.ts")
.map((f) => path.join("test", f));
for (const entry of entries) {
buildSync({
entryPoints: [entry],
bundle: true,
platform: "node",
target: "node22",
format: "cjs",
external: ["jsdom"],
outfile: path.join("test-dist", path.basename(entry).replace(/\.ts$/, ".js")),
logLevel: "warning",
});
}
build-tests.js
// Bundles each test file so the tests run against the TypeScript sources.
const { buildSync } = require("esbuild");
const fs = require("node:fs");
const path = require("node:path");
fs.rmSync("test-dist", { recursive: true, force: true });
const entries = fs
.readdirSync("test")
.filter((f) => f.endsWith(".test.ts") || f === "fake-browser-main.ts")
.map((f) => path.join("test", f));
for (const entry of entries) {
buildSync({
entryPoints: [entry],
bundle: true,
platform: "node",
target: "node22",
format: "cjs",
external: ["jsdom"],
outfile: path.join("test-dist", path.basename(entry).replace(/\.ts$/, ".js")),
logLevel: "warning",
});
}