1import * as Options from "@alchemy.run/cloudflare-test-tools/e2e/Options";
2import vocsFramework from "@alchemy.run/frontend-frameworks/vocs";
3import cloudflare from "@alchemy.run/frontend-frameworks/vocs/cloudflare";
4
5export default Options.make({
6 target: {
7 cloudflare: {
8 worker: {
9 // `main` and `viteEnvironments` are pinned by the waku cloudflare
10 // target (waku's rsc entry + the rsc/ssr topology) — only worker
11 // config here.
12 compatibilityDate: "2026-03-10",
13 compatibilityFlags: ["nodejs_compat"],
14 worker: {
15 name: "fixtures-vocs",
16 bindings: [],
17 assets: {
18 htmlHandling: "drop-trailing-slash",
19 notFoundHandling: "none",
20 },
21 },
22 },
23 preview: {
24 compatibilityDate: "2026-03-10",
25 compatibilityFlags: ["nodejs_compat"],
26 assets: {
27 routerConfig: {
28 has_user_worker: true,
29 invoke_user_worker_ahead_of_assets: false,
30 debug: true,
31 },
32 assetConfig: {
33 html_handling: "drop-trailing-slash",
34 not_found_handling: "none",
35 debug: true,
36 has_static_routing: false,
37 },
38 },
39 },
40 },
41 },
42 framework: (options) =>
43 vocsFramework({
44 root: options.root,
45 port: 3105,
46 target: cloudflare({
47 worker: Options.resolveCloudflareOptions(options).worker,
48 }),
49 }),
50});