MCPcopy
hub / github.com/opennextjs/opennextjs-cloudflare

github.com/opennextjs/opennextjs-cloudflare @main sqlite

repository ↗ · DeepWiki ↗
2,381 symbols 3,946 edges 503 files 238 documented · 10%
README

Deploy Next.js apps to Cloudflare

OpenNext for Cloudflare is an adapter that enables the deployment of Next.js applications to Cloudflare's developer platform.

This monorepo includes a package for adapting a Next.js application built via next build (in standalone mode) to run in the Cloudflare workerd runtime using the Workers Node.js compatibility layer.

Get started

Visit the OpenNext docs for instructions on starting a new project, or migrating an existing one.

Contributing

The repository

The repository contains two directories:

  • packages containing a cloudflare package that can be used to build a Cloudflare Workers-compatible output for Next.js applications.
  • examples containing Next.js applications that use the above mentioned cloudflare package.

How to try out the @opennextjs/cloudflare package

You can simply install the package from npm as specified in the OpenNext documentation.

Prereleases

Besides the standard npm releases we also automatically publish prerelease packages on branch pushes (using pkg.pr.new):

  • https://pkg.pr.new/@opennextjs/cloudflare@main: Updated with every push to the main branch, this prerelease contains the most up to date yet (reasonably) stable version of the package.
  • https://pkg.pr.new/@opennextjs/cloudflare@experimental Updated with every push to the experimental branch, this prerelease contains the latest experimental version of the package (containing features that we want to test/experiment on before committing to).

Which you can simply install directly with your package manager of choice, for example:

npm i https://pkg.pr.new/@opennextjs/cloudflare@main

How to develop in the repository

See the CONTRIBUTING page for how to get started with this repository.

Extension points exported contracts — how you extend this code

HelloWorldBinding (Interface)
* Hello World binding to serve as an explanatory example. DO NOT USE [4 implementers]
examples/prisma-7/worker-configuration.d.ts
HelloWorldBinding (Interface)
* Hello World binding to serve as an explanatory example. DO NOT USE [4 implementers]
create-cloudflare/next/cloudflare-env.d.ts
SendEmail (Interface)
* A binding that allows a Worker to send email messages. [2 implementers]
examples/prisma/worker-configuration.d.ts
ProcessEnv (Interface)
(no doc)
packages/cloudflare/env.d.ts
CloudflareEnv (Interface)
(no doc)
examples/ssg-app/worker-configuration.d.ts
CloudflareEnv (Interface)
(no doc)
examples/playground15/worker-configuration.d.ts
FillerProps (Interface)
(no doc)
examples/e2e/shared/components/Filler/index.tsx
WorkerLoader (Interface)
(no doc) [4 implementers]
examples/prisma-7/worker-configuration.d.ts

Core symbols most depended-on inside this repo

json
called by 115
create-cloudflare/next/cloudflare-env.d.ts
get
called by 84
examples/prisma/worker-configuration.d.ts
now
called by 70
examples/prisma/worker-configuration.d.ts
set
called by 43
create-cloudflare/next/cloudflare-env.d.ts
debugCache
called by 40
packages/cloudflare/src/api/overrides/internal.ts
get
called by 39
create-cloudflare/next/cloudflare-env.d.ts
getCloudflareContext
called by 34
packages/cloudflare/src/api/cloudflare-context.ts
isStale
called by 30
packages/cloudflare/src/api/overrides/tag-cache/d1-next-tag-cache.ts

Shape

Interface 945
Method 681
Function 459
Class 296

Languages

TypeScript100%

Modules by API surface

examples/prisma-7/worker-configuration.d.ts637 symbols
create-cloudflare/next/cloudflare-env.d.ts594 symbols
examples/prisma/worker-configuration.d.ts535 symbols
packages/cloudflare/src/api/overrides/tag-cache/do-sharded-tag-cache.ts28 symbols
packages/cloudflare/src/cli/commands/populate-cache.ts20 symbols
packages/cloudflare/src/cli/templates/images.ts17 symbols
packages/cloudflare/src/api/overrides/tag-cache/kv-next-tag-cache.ts15 symbols
packages/cloudflare/src/api/overrides/incremental-cache/regional-cache.ts12 symbols
packages/cloudflare/src/api/overrides/tag-cache/d1-next-tag-cache.ts11 symbols
packages/cloudflare/src/api/overrides/queue/queue-cache.ts11 symbols
packages/cloudflare/src/api/durable-objects/queue.ts11 symbols
packages/cloudflare/src/api/cloudflare-context.ts11 symbols

Dependencies from manifests, versioned

@ast-grep/napi0.40.5 · 1×
@aws-sdk/client-s33.971.0 · 1×
@aws-sdk/s3-request-presigner3.971.0 · 1×
@changesets/changelog-github0.5.1 · 1×
@changesets/cli2.29.2 · 1×
@clerk/nextjs6.9.6 · 1×
@cloudflare/workers-typescatalog: · 1×
@dotenvx/dotenvxcatalog: · 1×
@eslint/eslintrc3 · 1×
@eslint/jscatalog: · 1×
@example/sharedworkspace:* · 1×
@hookform/resolvers3.9.1 · 1×

For agents

$ claude mcp add opennextjs-cloudflare \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact