/* oxlint-disable executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: worker-pool test config prepares a Vite artifact before tests start */import { existsSync } from "node:fs";import { readFile } from "node:fs/promises";import { dirname, join } from "node:path";import { fileURLToPath } from "node:url"; import { cloudflareTest } from "@cloudflare/vitest-pool-workers";import { defineConfig } from "vitest/config"; const packageDir = dirname(fileURLToPath(import.meta.url));const workerBundlerDist = join(packageDir, "node_modules", "@cloudflare", "worker-bundler", "dist"); const createWorkerBundlerArtifact = async (): Promise<{ readonly source: string; readonly wasmBase64: string;}> => { if ( !existsSync(join(workerBundlerDist, "index.js")) || !existsSync(join(workerBundlerDist, "esbuild.wasm")) ) { throw new Error(`@cloudflare/worker-bundler dist files not found at ${workerBundlerDist}`); } const { build } = await import("esbuild"); const [result, wasm] = await Promise.all([ build({ entryPoints: [join(workerBundlerDist, "index.js")], bundle: true, format: "esm", platform: "browser", write: false, external: ["./esbuild.wasm"], logLevel: "silent", }), readFile(join(workerBundlerDist, "esbuild.wasm")), ]); const source = result.outputFiles[0]?.text; if (source === undefined) throw new Error("failed to bundle @cloudflare/worker-bundler"); return { source, wasmBase64: wasm.toString("base64") };}; const artifact = await createWorkerBundlerArtifact(); export default defineConfig({ define: { __WORKER_BUNDLER_SOURCE__: JSON.stringify(artifact.source), __WORKER_BUNDLER_WASM_BASE64__: JSON.stringify(artifact.wasmBase64), }, plugins: [ cloudflareTest({ wrangler: { configPath: "./wrangler.worker.jsonc" }, }), ], test: { include: ["src/**/*.worker.test.ts"], testTimeout: 120_000, hookTimeout: 120_000, },});
/* oxlint-disable executor/no-try-catch-or-throw, executor/no-error-constructor -- boundary: worker-pool test config prepares a Vite artifact before tests start */
import { existsSync } from "node:fs";
import { readFile } from "node:fs/promises";
import { dirname, join } from "node:path";
import { fileURLToPath } from "node:url";
import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
import { defineConfig } from "vitest/config";
const packageDir = dirname(fileURLToPath(import.meta.url));
const workerBundlerDist = join(packageDir, "node_modules", "@cloudflare", "worker-bundler", "dist");
const createWorkerBundlerArtifact = async (): Promise<{
readonly source: string;
readonly wasmBase64: string;
}> => {
if (
!existsSync(join(workerBundlerDist, "index.js")) ||
!existsSync(join(workerBundlerDist, "esbuild.wasm"))
) {
throw new Error(`@cloudflare/worker-bundler dist files not found at ${workerBundlerDist}`);
}
const { build } = await import("esbuild");
const [result, wasm] = await Promise.all([
build({
entryPoints: [join(workerBundlerDist, "index.js")],
bundle: true,
format: "esm",
platform: "browser",
write: false,
external: ["./esbuild.wasm"],
logLevel: "silent",
}),
readFile(join(workerBundlerDist, "esbuild.wasm")),
]);
const source = result.outputFiles[0]?.text;
if (source === undefined) throw new Error("failed to bundle @cloudflare/worker-bundler");
return { source, wasmBase64: wasm.toString("base64") };
};
const artifact = await createWorkerBundlerArtifact();
export default defineConfig({
define: {
__WORKER_BUNDLER_SOURCE__: JSON.stringify(artifact.source),
__WORKER_BUNDLER_WASM_BASE64__: JSON.stringify(artifact.wasmBase64),
},
plugins: [
cloudflareTest({
wrangler: { configPath: "./wrangler.worker.jsonc" },
}),
],
test: {
include: ["src/**/*.worker.test.ts"],
testTimeout: 120_000,
hookTimeout: 120_000,
},
});