Fork Horse repository, listed by its owner. Publisher snapshot.
packages/forkhorse-gatekeeper/vitest.local.config.ts
Snapshot at 34e3175
1import { cloudflareTest } from "@cloudflare/vitest-pool-workers";
2import capnwebValidate from "capnweb-validate/vite";
3import { kCurrentWorker } from "miniflare";
4import { defineConfig } from "vitest/config";
5import { textModules } from "./text-modules.ts";
6import { readFileSync } from "node:fs";
7import { resolve, basename } from "node:path";
8const port = process.env.FH_LOCAL_FIXTURE_PORT;
9if (!port || !/^\d+$/.test(port)) throw new Error("Use test/local/run.ts to start the offline Git fixture.");
10export default defineConfig({
11 resolve: { dedupe: ["capnweb"], alias: { "@gadgets/typed-storage": resolve("../../cloudflare-os/packages/typed-storage/src/index.ts") } },
12 plugins: [{ name: "local-generated-output", enforce: "pre", resolveId(source) {
13 if (source.startsWith("./generated/")) return "\0local-generated:" + basename(source);
14 }, load(id) {
15 if (id.startsWith("\0local-generated:")) {
16 const name = id.slice(17), content = readFileSync(resolve(process.env.FH_LOCAL_GENERATED_DIR!, name), "utf8");
17 return name.endsWith(".txt") ? `export default ${JSON.stringify(content)}` : content;
18 }
19 } }, textModules(), capnwebValidate({ tsconfig: "./tsconfig.local.json" }), cloudflareTest({
20 main: "./test/local/worker.ts",
21 miniflare: {
22 compatibilityDate: "2026-08-04",
23 compatibilityFlags: ["experimental", "nodejs_compat", "allow_irrevocable_stub_storage"],
24 bindings: { BASE_URL: "https://os.fixture.idiot.tax/gatekeeper/forkhorse", PUBLIC_BASE_URL: "https://os.fixture.idiot.tax/" },
25 workerLoaders: { LOADER: {} },
26 durableObjects: {
27 TEST_OVERSEER: { className: "OverseerDurableObject", useSQLite: true },
28 WORKSPACES: { className: "FixtureWorkspace", useSQLite: true },
29 ACCOUNTS: { className: "UserAccount", useSQLite: true }, FORKS: { className: "ForkGatekeeper", useSQLite: true },
30 },
31 serviceBindings: {
32 FIXTURE: { name: kCurrentWorker, entrypoint: "FixtureHarness" }, VENDOR_HTTP: kCurrentWorker,
33 LOCAL_GIT: async (request) => {
34 const url = new URL(request.url);
35 return fetch(`http://127.0.0.1:${port}${url.pathname}`, { method: request.method,
36 headers: request.headers, body: request.body, duplex: "half" } as RequestInit);
37 },
38 },
39 },
40 })],
41 test: { include: ["test/local/*.test.ts"], setupFiles: ["../../cloudflare-os/scripts/assert-workerd.ts"], testTimeout: 30000 },
42});
43