Effront renders React applications on Cloudflare Workers, Node.js, and Bun. It supplies streamed Server Components, request-scoped Effect services, typed Server Functions, and client navigation.
Effront is a fork of effective-rsc.
Implementation of this fork started from upstream commit ed886996d1d3780b94166af4f798c53416d547c8.
Refer to upstream provenance for the immutable baseline and subsequent incorporation history.
Create a one-page Node.js application. Use the current Node.js LTS and Vite+. Bun is needed only when selecting the Bun application runtime. Install its dependencies. Then start the development server.
vp create effront -- my-app --platform node
cd my-app
vp install
vp devFor other configurations, refer to Platforms.
| To… | Use… |
|---|---|
| Render routes with typed services and server-driven interactions | Core |
| Build the application's server and browser entries | Vite |
| Serve streamed pages and static assets on Node.js or Bun | Node/Bun server |
| Serve a Fetch application with Worker bindings, without Alchemy | Cloudflare |
| Use Alchemy resource capabilities in pages and Server Functions | Alchemy |
| Render Markdown with file-relative links and images | Markdown |
| Apply utility styles to server-rendered and hydrated components | Tailwind |
- React Server Components and streamed server-rendered HTML with browser hydration.
- Effect service requirements, typed failures, and request-owned resource lifetimes.
- Typed routes, shared layouts, Server Functions, and Page View Transitions.
- Standalone Cloudflare, native Node/Bun, and Alchemy integrations.
- Optional Markdown rendering and Tailwind styling integrations.
- Host: Cloudflare Workers with Node compatibility, or the native Node/Bun server.
- Build integration: VitePlus with the matching Effront integration and host adapter.
- Peers: Use Effect and React/React DOM versions that match the installed packages'
peerDependencies. Use one consistent Effect installation across your application. Use the same version for React and React DOM. - Alchemy: Use the version specified by the installed adapter's
peerDependencies. A configured Cloudflare profile is necessary for its official CLI, also for local use. That profile is not necessary for local development with standalone Workers.
Install the packages for your application through their consumer setup instructions:
- Core runtime and required peers.
- Vite integration and standalone Cloudflare hosting.
- Native Node/Bun hosting.
- Native Alchemy adapter.
- Markdown content and Tailwind styling.
- Core: application definitions, components, routes, middleware, Server Functions, Page View Transitions, and Effect HTTP/Fetch handlers.
- Vite: RSC, SSR, and browser entry configuration.
- Node/Bun server: scoped native listeners, static assets, and Vite development hosting.
- Cloudflare: standalone Vite hosting and typed Worker context accessors.
- Alchemy: native Worker construction and deferred application loading.
- Markdown: collections, parsing, and typed content errors.
- Tailwind: generated or explicit automatically loaded stylesheets.
Refer to development instructions.
MIT License, with retained third-party notices.
This README was generated from the share-artifact skill and README template.