rsbuild-cloudflare
v0.1.0
Published
Cloudflare Workers plugin for Rsbuild
Maintainers
Readme
rsbuild-cloudflare
Experimental Cloudflare Workers plugin for Rsbuild.
The plugin reads Wrangler configuration, configures an Rsbuild Worker environment, serves development requests through Miniflare, and emits deployable Worker output.
Installation
pnpm add -D rsbuild-cloudflare @rsbuild/core wrangler// rsbuild.config.ts
import { defineConfig } from "@rsbuild/core";
import { cloudflare } from "rsbuild-cloudflare";
export default defineConfig({
plugins: [cloudflare()],
});Configuration
By default, the plugin reads the project Wrangler config and uses main as the
Worker entrypoint.
import { defineConfig } from "@rsbuild/core";
import { cloudflare } from "rsbuild-cloudflare";
export default defineConfig({
plugins: [
cloudflare({
configPath: "wrangler.json",
persistState: true,
}),
],
});You can also provide a Wrangler config override inline:
cloudflare({
config: {
name: "my-worker",
main: "src/index.ts",
compatibility_date: "2025-01-01",
},
});Inline config can be used without a wrangler.json file:
cloudflare({
config: {
name: "my-worker",
main: "src/index.ts",
compatibility_date: "2025-01-01",
vars: {
MESSAGE: "hello",
},
},
});Environment Variables
CLOUDFLARE_ENVselects a Wrangler environment.CLOUDFLARE_RSBUILD_WRANGLER_CONFIG_PATHsets the Wrangler config path.
The plugin also honors CLOUDFLARE_VITE_WRANGLER_CONFIG_PATH as a migration
fallback.
Examples
examples/basic-workerbuilds a plain Worker entrypoint with inline Worker config.examples/react-appbuilds a React browser app and Cloudflare Worker API in one Rsbuild project without awrangler.jsonfile.
Initial Scope
This package is the Rsbuild equivalent of the Cloudflare Vite plugin's core Worker loop:
- Wrangler config resolution through Wrangler's unstable integration APIs
- Rsbuild Worker environment output targeting module Workers
wrangler.jsonemission beside the compiled Worker entry.wrangler/deploy/config.jsonemission for Wrangler deploy discovery- Miniflare-backed development middleware
Full parity with @cloudflare/vite-plugin is not included yet. Future work
should extract shared Wrangler/Miniflare config helpers, add assets/static-site
support, add remote binding proxy support, handle framework-specific SSR
integrations, and expand the test matrix with Rsbuild fixtures.
Publishing
Run the local release gate before publishing:
pnpm release:checkFor the first manual publish from a local checkout:
pnpm view rsbuild-cloudflare version
pnpm whoami
pnpm login
pnpm publish --access public
git tag v0.1.0
git push origin v0.1.0If pnpm view returns 404, the package name is still unpublished. If
pnpm whoami fails, authenticate with npm before publishing. Create the git tag
only after npm publish succeeds.
Future releases can use Changesets:
pnpm changeset
pnpm release:version
pnpm release:check
pnpm release:publish