nitrojs / nitro-cloudflare-dev

Enable access to the Cloudflare runtime bindings in development server of Nitro and Nuxt
MIT License
79 stars 4 forks source link

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

Development

License

MIT