Feature Overview
A comprehensive overview of everything EreoJS provides.
Routing
| Feature | Description | Learn More |
|---|---|---|
| File-based routing | Files in routes/ map to URLs automatically | Routing |
| Dynamic routes | [param].tsx for URL parameters | Routing |
| Catch-all routes | [...slug].tsx for wildcard matching | Routing |
| Optional segments | [[param]].tsx for optional URL parts | Routing |
| Route groups | (group)/ for organization without URL impact | Routing |
| Nested layouts | _layout.tsx files that nest automatically | Routing |
| Type-safe params | Generated types for route parameters | Routing |
| Route conventions | Complete file naming reference | Route Conventions |
Data Loading
| Feature | Description | Learn More |
|---|---|---|
| Loaders | Server-side data fetching before render | Data Loading |
| Actions | Server-side mutation handling (forms, APIs) | Data Loading |
defineRoute builder | Full type inference across loader/action/meta | Data Loading |
| Deferred data | Stream non-critical data with defer() | Data Loading |
| Combined loaders | Parallel data fetching with combineLoaders | Data Loading |
| Data pipelines | Dependency-aware parallel loading | Data Loading |
| Client loaders | Browser-side data fetching after hydration | Data Loading |
Rendering
| Feature | Description | Learn More |
|---|---|---|
| Server-Side Rendering (SSR) | HTML generated per request | Rendering Modes |
| Static Site Generation (SSG) | HTML generated at build time | Rendering Modes |
| Client-Side Rendering (CSR) | Browser-only rendering | Rendering Modes |
| Streaming SSR | Progressive HTML delivery with Suspense | Streaming Deep Dive |
| Per-route configuration | Set rendering mode per route | Rendering Modes |
Islands Architecture
| Feature | Description | Learn More |
|---|---|---|
| Selective hydration | Only interactive components ship JavaScript | Islands |
.island.tsx convention | File-based island declaration | Islands |
'use client' directive | Alternative island declaration | Islands |
| Hydration strategies | load, idle, visible, media, none | Config Reference |
Caching
| Feature | Description | Learn More |
|---|---|---|
| Tag-based invalidation | Invalidate cache by semantic tags | Caching |
| Path-based invalidation | Invalidate cache by URL path | Caching |
| Edge caching | CDN-layer cache headers | Caching Deep Dive |
| Stale-while-revalidate | Serve stale data while refreshing | Caching |
| Webhook revalidation | External trigger for cache invalidation | Data Loading |
| Custom cache adapters | Memory, Redis, or bring your own | Config Reference |
Forms
| Feature | Description | Learn More |
|---|---|---|
<Form> component | Progressive enhancement for HTML forms | Forms |
@ereo/forms library | Full-featured form management | Forms |
| 20+ validators | Built-in validation rules | Forms |
| Schema validation | Zod, Valibot, Standard Schema support | Forms |
| Field arrays | Dynamic add/remove/reorder fields | Forms |
| Multi-step wizards | Per-step validation with persistence | Forms |
| Server error mapping | Automatic server-to-field error binding | Forms |
State Management
| Feature | Description | Learn More |
|---|---|---|
| Signals | Reactive primitives for state | State Management |
| Computed signals | Derived values that auto-update | State Management |
| React integration | useSignal hook via useSyncExternalStore | State Management |
| Batched updates | Group multiple signal updates | State Management |
Authentication
| Feature | Description | Learn More |
|---|---|---|
| Session management | Cookie and server-side sessions | Auth Plugin |
| OAuth providers | GitHub, Google, and more | Auth Plugin |
| Route protection | Middleware-based auth guards | Authentication Guide |
Testing
| Feature | Description | Learn More |
|---|---|---|
| Bun test runner | Built-in, fast test execution | Testing Guide |
| Route testing | Test loaders, actions, and components | Testing Guide |
| Fixture-based tests | Temporary route definitions for testing | Testing Internals |
Deployment
| Feature | Description | Learn More |
|---|---|---|
| Bun (self-hosted) | Direct Bun server deployment | Bun Deployment |
| Docker | Containerized deployment | Docker |
| Fly.io | Globally distributed hosting | Fly.io |
| Railway | Managed hosting with auto-deploy | Railway |
| Vercel | Edge deployment | Vercel |
| Cloudflare | Workers/Pages deployment | Cloudflare |
CLI
| Feature | Description | Learn More |
|---|---|---|
ereo dev | Development server with HMR | CLI Reference |
ereo build | Production build with multiple targets | CLI Reference |
ereo start | Production server | CLI Reference |
ereo deploy | Platform-specific deployment | CLI Reference |
ereo db | Database migrations and management | CLI Reference |
Plugins
| Feature | Description | Learn More |
|---|---|---|
| Tailwind CSS | Zero-config Tailwind integration | Tailwind Plugin |
| Auth | Authentication and session management | Auth Plugin |
| Images | Automatic image optimization | Images Plugin |
| Plugin API | Build your own plugins | Plugin Development |
Developer Experience
| Feature | Description | Learn More |
|---|---|---|
| TypeScript-first | Native TS execution, full type safety | TypeScript Guide |
| Dev inspector | Route and island overlay in development | Debugging |
| Hot module replacement | Instant feedback during development | Config Reference |
| VS Code support | Extensions and configuration | IDE Setup |