docs: add Cloudflare Workers adapter page - #1991
Conversation
Dedicated page for running oRPC on Cloudflare Workers, recommending the enable_request_signal flag (and unhandled_rejection_after_microtask_checkpoint on compatibility dates before 2026-03-03). Removes the Workers tab and mention from the Fetch API adapter page and points Requirements and Getting Started at the new page. The Cloudflare playground now enables enable_request_signal.
585dae3 to
9818686
Compare
There was a problem hiding this comment.
ℹ️ Two minor follow-ups, nothing blocking — the content is accurate. I verified both compatibility flags and their anchors against developers.cloudflare.com (
unhandled_rejection_after_microtask_checkpointreally does default on at 2026-03-03, andenable_request_signalis never default-on), and therequest.signalforwarding claim againstpackages/server/src/adapters/standard/handler.ts:141.
Reviewed changes
- New Cloudflare Workers adapter page — Workers entry (
export default { fetch(request, env, ctx) }) passingenv/ctxas handler context, in RPC and OpenAPI variants, plus a Compatibility Flags section recommendingenable_request_signalandunhandled_rejection_after_microtask_checkpointfor compatibility dates before 2026-03-03. - Fetch API adapter page trimmed — Cloudflare Workers removed from the description and the runtime tabs (Bun and Deno remain).
- Cross-page pointers updated — adapters sidebar (
meta.ts), getting-started, and requirements now link the new page. - Playground —
playgrounds/cloudflare/wrangler.jsoncenablesenable_request_signal.
ℹ️ Home-page runtime tile still points Workers at the Fetch API adapter
apps/content/pages/_home/Runtimes.astro:12 still maps the "Cloudflare Workers" tile to /docs/adapters/fetch-api. With a dedicated page now in place, a one-line change to point it at /docs/adapters/cloudflare-workers keeps the landing strip consistent with the new links added in getting-started and requirements. blume validate --strict skips custom Astro pages, so this stays silently stale until edited by hand.
Technical details
# Repoint the home-page Cloudflare Workers runtime tile
## Affected sites
- `apps/content/pages/_home/Runtimes.astro:12` — `{ name: 'Cloudflare Workers', href: '/docs/adapters/fetch-api' }` should point at `/docs/adapters/cloudflare-workers`
## Required outcome
- The landing-page runtime tile for Cloudflare Workers links to its dedicated adapter page, matching the other runtime-to-adapter tiles on the strip.
## Notes
- Custom Astro pages are not covered by `blume validate --strict`, so nothing enforces this; it needs a manual edit.DeepSeek Flash (free via Pullfrog for OSS) | 𝕏
More templates
@orpc/ai-sdk
@orpc/arktype
@orpc/bun
@orpc/client
@orpc/cloudflare
@orpc/contract
@orpc/experimental-effect
@orpc/evlog
@orpc/hibernation
@orpc/json-schema
@orpc/experimental-msw
@orpc/nest
@orpc/next
@orpc/node
@orpc/openapi
@orpc/opentelemetry
@orpc/pinia-colada
@orpc/pino
@orpc/publisher
@orpc/ratelimit
@orpc/server
@orpc/shared
@orpc/swr
@orpc/tanstack-query
@orpc/trpc
@orpc/valibot
@orpc/zod
commit: |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |

Adds a dedicated Cloudflare Workers adapter page and moves the Workers-specific bits out of the Fetch API adapter page. The new page shows the
export default { fetch }entry withenvandctxpassed as context, and recommends the compatibility flags oRPC relies on:enable_request_signal, sorequest.signalactually aborts when the client disconnects, andunhandled_rejection_after_microtask_checkpointon compatibility dates before 2026-03-03, so Workers stop reporting falseunhandledrejectionerrors.Docs
/docs/adapters/cloudflare-workerspage, listed in the adapters sidebar after Browser.Playground
playgrounds/cloudflareenablesenable_request_signal, so itsEvlogHandlerPlugin({ logAbort: true })can observe client aborts.Testing
pnpm docs:validatepasses (JSDoc backlinks andblume validate --strict), eslint is clean, and every external Cloudflare and MDN link returns 200.