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!
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],
});
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
.
persistDir
: Sets the persist dir (default .wrangler/state/v3
).configPath
: Sets a custom path for wrangler.toml
file.silent
: Hide initial banner.environment
: Sets specific environment (useful for multi-environment configurations)corepack enable
pnpm install
pnpm build --stub
pnpm dev:nitro
or Nuxt playground using pnpm dev:nuxt