Skip to content

About

Effront is a React meta-framework built on Web standards and Effect.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Effront

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.

Quick start

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 dev

For other configurations, refer to Platforms.

Usage

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

Key features

  • 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.

Prerequisites

  • 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.

Setup

Install the packages for your application through their consumer setup instructions:

API

  • 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.

Development

Refer to development instructions.

License

MIT License, with retained third-party notices.

This README was generated from the share-artifact skill and README template.

About

Effront is a React meta-framework built on Web standards and Effect.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages