Skip to content

Latest commit

 

History

History
60 lines (40 loc) · 2.29 KB

README.md

File metadata and controls

60 lines (40 loc) · 2.29 KB

Cloudflare Platform for Nitro and Nuxt

This proof of concept module enables access to the Cloudflare runtime platform in the development server of Nitro and Nuxt using the new getPlatformProxy API exposed by wrangler and miniflare

Note

Nitro plans to introduce a new method to allow native dev presets, meaning you can natively run miniflare as your development server without this module or a proxy in the future!

Usage

First, install nitro-cloudflare-dev and wrangler packages as a dev dependency: (unjs/nypm will automatically detect your package manager!)

npx nypm@latest add -D wrangler nitro-cloudflare-dev

For Nuxt update nuxt.config.ts:

export default defineNuxtConfig({
  modules: ["nitro-cloudflare-dev"],
});

For Nitro update nitro.config.ts:

import nitroCloudflareBindings from "nitro-cloudflare-dev";

export default defineNitroConfig({
  modules: [nitroCloudflareBindings],
});

Configuration and persistence

This module automatically finds the closest wrangler.toml file for configuration.

Data is persisted .wrangler/state/v3 directory. On first use of the module, it will be automatically added to the .gitignore file.

You can configure additional options using cloudflareDev: { } in nitro.config or nitro: { cloudflareDev: {} } in nuxt.config.

Available options

  • persistDir: Sets the persist dir (default .wrangler/state/v3).
  • configPath: Sets a custom path for wrangler.toml file.
  • silent: Hide initial banner.
  • shamefullyPatchR2Buckets: Add workaround for cloudflare/workers-sdk#5360

Development

  • Clone this repository
  • Install the latest LTS version of Node.js
  • Enable Corepack using corepack enable
  • Install dependencies using pnpm install
  • Build in stub mode using pnpm build --stub
  • Run Nitro playground using pnpm dev:nitro or Nuxt playground using pnpm dev:nuxt

License

MIT