1# `@fixtures/octane`
2
3An [OctaneJS](https://octanejs.dev) fullstack app driven by the e2e harness
4through `@alchemy.run/frontend-frameworks/octane`.
5
6The project is a stock Octane setup: `octane()` in `vite.config.ts`, routes +
7`adapter: cloudflare()` in `octane.config.ts`. The integration adds nothing to
8the app — `e2e build` runs the project's own `vite build` (client bundle →
9`ssr: true` server sub-build → the adapter emitting `dist/server/worker.js`)
10and maps the on-disk output onto the `BuildOutput` contract.
11
12- `e2e build && e2e preview` / Playwright `live` — the adapter-emitted worker
13 under miniflare, asset-first with SSR on miss, `nodejs_compat`.
14- `e2e dev` / Playwright `dev` — Octane's own Vite dev server (in-process SSR
15 middleware). No `context.platform` in dev (upstream limitation), so the
16 binding assertions are live-only.
17
18Run the smoke tests with `bun run test` (from this directory).