Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 19 additions & 1 deletion public/__redirects
Original file line number Diff line number Diff line change
Expand Up @@ -1716,7 +1716,25 @@
/workers/static-assets/migrate-from-pages/ /workers/static-assets/migration-guides/migrate-from-pages/ 301
/workers/static-assets/compatibility-matrix/ /workers/static-assets/migration-guides/migrate-from-pages/ 301
/workers/static-assets/migrations/vercel-to-workers/ /workers/static-assets/migration-guides/vercel-to-workers/ 301
/workers/frameworks/framework-guides/remix/ /workers/frameworks/framework-guides/react-router/ 301
/workers/frameworks/framework-guides/remix/ /workers/framework-guides/web-apps/react-router/ 301
/workers/frameworks/ /workers/framework-guides/ 301
/workers/frameworks/framework-guides/ /workers/framework-guides/ 301
/workers/frameworks/framework-guides/astro/ /workers/framework-guides/web-apps/astro/ 301
/workers/frameworks/framework-guides/nextjs/ /workers/framework-guides/web-apps/nextjs/ 301
/workers/frameworks/framework-guides/react-router/ /workers/framework-guides/web-apps/react-router/ 301
/workers/frameworks/framework-guides/react/ /workers/framework-guides/web-apps/react/ 301
/workers/frameworks/framework-guides/redwoodsdk/ /workers/framework-guides/web-apps/redwoodsdk/ 301
/workers/frameworks/framework-guides/svelte/ /workers/framework-guides/web-apps/svelte/ 301
/workers/frameworks/framework-guides/tanstack/ /workers/framework-guides/web-apps/tanstack/ 301
/workers/frameworks/framework-guides/vue/ /workers/framework-guides/web-apps/vue/ 301
/workers/frameworks/framework-guides/angular/ /workers/framework-guides/web-apps/more-web-frameworks/angular/ 301
/workers/frameworks/framework-guides/docusaurus/ /workers/framework-guides/web-apps/more-web-frameworks/docusaurus/ 301
/workers/frameworks/framework-guides/gatsby/ /workers/framework-guides/web-apps/more-web-frameworks/gatsby/ 301
/workers/frameworks/framework-guides/hono/ /workers/framework-guides/web-apps/more-web-frameworks/hono/ 301
/workers/frameworks/framework-guides/nuxt/ /workers/framework-guides/web-apps/more-web-frameworks/nuxt/ 301
/workers/frameworks/framework-guides/qwik/ /workers/framework-guides/web-apps/more-web-frameworks/qwik/ 301
/workers/frameworks/framework-guides/solid/ /workers/framework-guides/web-apps/more-web-frameworks/solid/ 301

/workers/testing/unit-testing/ /workers/testing/vitest-integration/write-your-first-test/ 301
/workers/testing/integration-testing/ /workers/testing/ 301
/workers/testing/vitest-integration/get-started/ /workers/testing/vitest-integration/write-your-first-test/ 301
Expand Down
22 changes: 11 additions & 11 deletions src/content/changelog/workers/2025-04-08-fullstack-on-workers.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,23 @@ import fullstackWorkers from "~/assets/images/changelog/workers/fullstack-on-wor

The following full-stack frameworks now have Generally Available ("GA") adapters for Cloudflare Workers, and are ready for you to use in production:

- [React Router v7 (Remix)](/workers/frameworks/framework-guides/react-router/)
- [Astro](/workers/frameworks/framework-guides/astro/)
- [Hono](/workers/frameworks/framework-guides/hono/)
- [Vue.js](/workers/frameworks/framework-guides/vue/)
- [Nuxt](/workers/frameworks/framework-guides/nuxt/)
- [Svelte (SvelteKit)](/workers/frameworks/framework-guides/svelte/)
- And [more](/workers/frameworks/).
- [React Router v7 (Remix)](/workers/framework-guides/web-apps/react-router/)
- [Astro](/workers/framework-guides/web-apps/astro/)
- [Hono](/workers/framework-guides/web-apps/more-web-frameworks/hono/)
- [Vue.js](/workers/framework-guides/web-apps/vue/)
- [Nuxt](/workers/framework-guides/web-apps/more-web-frameworks/nuxt/)
- [Svelte (SvelteKit)](/workers/framework-guides/web-apps/svelte/)
- And [more](/workers/framework-guides/).

The following frameworks are now in **beta**, with GA support coming very soon:

- [Next.js](/workers/frameworks/framework-guides/nextjs/), supported through [@opennextjs/cloudflare](https://opennext.js.org/cloudflare) is now `v1.0-beta`.
- [Angular](/workers/frameworks/framework-guides/angular/)
- [SolidJS (SolidStart)](/workers/frameworks/framework-guides/solid/)
- [Next.js](/workers/framework-guides/web-apps/nextjs/), supported through [@opennextjs/cloudflare](https://opennext.js.org/cloudflare) is now `v1.0-beta`.
- [Angular](/workers/framework-guides/web-apps/more-web-frameworks/angular/)
- [SolidJS (SolidStart)](/workers/framework-guides/web-apps/more-web-frameworks/solid/)

You can also build complete full-stack apps on Workers **without a framework**:

- You can [“just use Vite"](https://blog.cloudflare.com/introducing-the-cloudflare-vite-plugin) and React together, and build a back-end API in the same Worker. Follow our [React SPA with an API tutorial](/workers/vite-plugin/tutorial/) to learn how.


**Get started building today with our [framework guides](/workers/frameworks/)**, or read our [Developer Week 2025 blog post](https://blog.cloudflare.com/full-stack-development-on-cloudflare-workers) about all the updates to building full-stack applications on Workers.
**Get started building today with our [framework guides](/workers/framework-guides/)**, or read our [Developer Week 2025 blog post](https://blog.cloudflare.com/full-stack-development-on-cloudflare-workers) about all the updates to building full-stack applications on Workers.
2 changes: 1 addition & 1 deletion src/content/changelog/workers/2025-04-08-vite-plugin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ This lets you get the best of both worlds for a full-stack app — you can use

You can build any type of application with `@cloudflare/vite-plugin`, using any rendering mode, from single page applications (SPA) and static sites to server-side rendered (SSR) pages and API routes.

[React Router v7 (Remix)](/workers/frameworks/framework-guides/react-router/) is the first full-stack framework to provide full support for Cloudflare Vite plugin, allowing you to use all parts of Cloudflare's developer platform, without additional build steps.
[React Router v7 (Remix)](/workers/framework-guides/web-apps/react-router/) is the first full-stack framework to provide full support for Cloudflare Vite plugin, allowing you to use all parts of Cloudflare's developer platform, without additional build steps.

You can also build complete full-stack apps on Workers **without a framework** — ["just use Vite"](https://blog.cloudflare.com/introducing-the-cloudflare-vite-plugin) and React together, and build a back-end API in the same Worker. Follow our [React SPA with an API tutorial](/workers/vite-plugin/tutorial/) to learn how.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import {
FileTree,
} from "~/components";

In this tutorial, you will build a [Next.js app](/workers/frameworks/framework-guides/nextjs/) with authentication powered by Auth.js, Resend, and [Cloudflare D1](/d1/).
In this tutorial, you will build a [Next.js app](/workers/framework-guides/web-apps/nextjs/) with authentication powered by Auth.js, Resend, and [Cloudflare D1](/d1/).

Before continuing, make sure you have a Cloudflare account and have installed and [authenticated Wrangler](https://developers.cloudflare.com/workers/wrangler/commands/#login). Some experience with HTML, CSS, and JavaScript/TypeScript is helpful but not required. In this tutorial, you will learn:

Expand Down Expand Up @@ -58,7 +58,7 @@ From within the repository or directory where you want to create your project ru
}}
/>

This will create a new Next.js project using [OpenNext](https://opennext.js.org/cloudflare) that will run in a Worker using [Workers Static Assets](/workers/frameworks/framework-guides/nextjs/#static-assets).
This will create a new Next.js project using [OpenNext](https://opennext.js.org/) that will run in a Worker using [Workers Static Assets](#static-assets).

Before we get started, open your project's `tsconfig.json` file and modify the following to the `compilerOptions` object to allow for top level await needed to let our application get the Cloudflare context:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ import { PackageManagers, WranglerConfig } from "~/components";
Learn how to deploy full-stack (SSR) Next.js apps to Cloudflare Pages.

:::note
You can now also deploy Next.js apps to [Cloudflare Workers](https://developers.cloudflare.com/workers/frameworks/), including apps that use the Node.js "runtime" from Next.js. This allows you to use the [Node.js APIs that Cloudflare Workers provides](/workers/runtime-apis/nodejs/#built-in-nodejs-runtime-apis), and ensures compatibility with a broader set of Next.js features and rendering modes.
You can now also [deploy Next.js apps to Cloudflare Workers](/workers/framework-guides/web-apps/nextjs/), including apps that use the Node.js "runtime" from Next.js. This allows you to use the [Node.js APIs that Cloudflare Workers provides](/workers/runtime-apis/nodejs/#built-in-nodejs-runtime-apis), and ensures compatibility with a broader set of Next.js features and rendering modes.

Refer to the [OpenNext docs for the `@opennextjs/cloudflare` adapter](https://opennext.js.org/cloudflare) to learn how to get started.
:::
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ For this tutorial, you will build a landing page for an e-commerce website. User

## 1. Create a new Workers project

You will create a new Worker project that will use [Static Assets](/workers/static-assets/) to serve the HTML file. While you can use any front-end framework, this tutorial uses plain HTML and JavaScript to keep things simple. If you are interested in learning how to build and deploy a web application on Workers with Static Assets, you can refer to the [Frameworks](/workers/frameworks/) documentation.
You will create a new Worker project that will use [Static Assets](/workers/static-assets/) to serve the HTML file. While you can use any front-end framework, this tutorial uses plain HTML and JavaScript to keep things simple. If you are interested in learning how to build and deploy a web application on Workers with Static Assets, you can refer to the [Frameworks](/workers/framework-guides/) documentation.

Create a new Worker project by running the following commands:

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/workers/ci-cd/builds/build-caching.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The following frameworks support build output caching:
| Nuxt | `node_modules/.cache/nuxt` |

:::note
[Static assets](/workers/static-assets/) and [frameworks](/workers/frameworks/) are now supported in Cloudflare Workers.
[Static assets](/workers/static-assets/) and [frameworks](/workers/framework-guides/) are now supported in Cloudflare Workers.
:::

### Limits
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/workers/ci-cd/builds/configuration.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,6 @@ It is recommended to consistently use the same API token across all uploads and

## Framework support

[Static assets](/workers/static-assets/) and [frameworks](/workers/frameworks/) are now supported in Cloudflare Workers. Learn to set up Workers projects and the commands for each framework in the framework guides:
[Static assets](/workers/static-assets/) and [frameworks](/workers/framework-guides/) are now supported in Cloudflare Workers. Learn to set up Workers projects and the commands for each framework in the framework guides:

<DirectoryListing folder="workers/frameworks/framework-guides" />
<DirectoryListing folder="workers/framework-guides" maxDepth={4}/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
pcx_content_type: navigation
title: Agents SDK
external_link: /agents/

---
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: AI & agents
pcx_content_type: navigation
sidebar:
order: 4
group:
hideIndex: true
---

import {
Description,
DirectoryListing
} from "~/components";

<Description>
Create full-stack applications deployed to Cloudflare Workers with AI & agent frameworks.
</Description>

<DirectoryListing folder="workers/framework-guides/ai-and-agents" maxDepth={2}/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
pcx_content_type: navigation
title: LangChain
external_link: /workers/languages/python/packages/langchain/

---
6 changes: 6 additions & 0 deletions src/content/docs/workers/framework-guides/apis/fast-api.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
pcx_content_type: navigation
title: FastAPI
external_link: /workers/languages/python/packages/fastapi/

---
6 changes: 6 additions & 0 deletions src/content/docs/workers/framework-guides/apis/hono.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
pcx_content_type: navigation
title: Hono
external_link: /workers/framework-guides/web-apps/more-web-frameworks/hono/

---
19 changes: 19 additions & 0 deletions src/content/docs/workers/framework-guides/apis/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: APIs
pcx_content_type: navigation
sidebar:
order: 3
group:
hideIndex: true
---

import {
Description,
DirectoryListing
} from "~/components";

<Description>
Create full-stack applications deployed to Cloudflare Workers using APIs.
</Description>

<DirectoryListing folder="workers/framework-guides/apis" maxDepth={2}/>
21 changes: 21 additions & 0 deletions src/content/docs/workers/framework-guides/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
pcx_content_type: navigation
title: Framework guides
sidebar:
order: 12
group:
hideIndex: true
head: []
description: Create full-stack applications deployed to Cloudflare Workers.
---

import {
Description,
DirectoryListing
} from "~/components";

<Description>
Create full-stack applications deployed to Cloudflare Workers.
</Description>

<DirectoryListing folder="workers/framework-guides" maxDepth={4}/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
title: Expo
pcx_content_type: navigation
external_link: https://docs.expo.dev/eas/hosting/reference/worker-runtime/
---
19 changes: 19 additions & 0 deletions src/content/docs/workers/framework-guides/mobile-apps/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: Mobile applications
pcx_content_type: navigation
sidebar:
order: 2
group:
hideIndex: true
---

import {
Description,
DirectoryListing
} from "~/components";

<Description>
Create full-stack mobile applications deployed to Cloudflare Workers.
</Description>

<DirectoryListing folder="workers/framework-guides/mobile-apps" maxDepth={2}/>
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
pcx_content_type: how-to
title: Astro
sidebar:
order: 2
tags: ["ssg", "full-stack"]
description: Create an Astro application and deploy it to Cloudflare Workers with Workers Assets.
---
Expand Down
19 changes: 19 additions & 0 deletions src/content/docs/workers/framework-guides/web-apps/index.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: Web applications
pcx_content_type: navigation
sidebar:
order: 1
group:
hideIndex: true
---

import {
Description,
DirectoryListing
} from "~/components";

<Description>
Create full-stack web applications deployed to Cloudflare Workers.
</Description>

<DirectoryListing folder="workers/framework-guides/web-apps" maxDepth={2}/>
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
---
title: More guides...
pcx_content_type: navigation
title: Framework guides
external_link: /workers/frameworks/
sidebar:
order: 9
group:
hideIndex: true
---
---
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
pcx_content_type: how-to
title: Next.js
sidebar:
order: 4
tags: ["full-stack"]
description: Create an Next.js application and deploy it to Cloudflare Workers with Workers Assets.
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
pcx_content_type: how-to
title: React Router (formerly Remix)
sidebar:
order: 3
tags: ["full-stack"]
description: Create a React Router application and deploy it to Cloudflare Workers
---
Expand Down Expand Up @@ -69,7 +71,7 @@ It combines with the [Cloudflare Vite plugin](/workers/vite-plugin/) to provide

:::note
SPA mode and prerendering are not currently supported when using the [Cloudflare Vite plugin](/workers/vite-plugin/).
If you wish to use React Router in an SPA then we recommend starting with the [React template](/workers/frameworks/framework-guides/react/) and using React Router [as a library](https://reactrouter.com/start/data/installation).
If you wish to use React Router in an SPA then we recommend starting with the [React template](/workers/framework-guides/web-apps/react/) and using React Router [as a library](https://reactrouter.com/start/data/installation).
:::

`vite.config.ts` is your [Vite config file](https://vite.dev/config/).
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
pcx_content_type: how-to
title: React
title: React + Vite
sidebar:
order: 1
tags: ["spa"]
description: Create a React application and deploy it to Cloudflare Workers with Workers Assets.
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
---
pcx_content_type: how-to
title: RedwoodSDK
sidebar:
order: 6
head: []
tags: ["full-stack"]
description: Create an RedwoodSDK application and deploy it to Cloudflare Workers with Workers Assets.
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
pcx_content_type: how-to
title: Svelte
sidebar:
order: 8
tags: ["spa"]
description: Create a Svelte application and deploy it to Cloudflare Workers with Workers Assets.
---
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
---
pcx_content_type: how-to
title: TanStack Router
title: TanStack
sidebar:
order: 7
head: []
tags: ["full-stack"]
description: Create a TanStack Router application and deploy it to Cloudflare Workers with Workers Assets.
---

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
---
pcx_content_type: how-to
title: Vue
sidebar:
order: 5
tags: ["spa"]
description: Create a Vue application and deploy it to Cloudflare Workers with Workers Assets.
---
Expand Down
Loading
Loading