Dinou v5

DinouLightweight-Ejectable Full-Stack React 19 Framework

Choose your build engine with esbuild, Rollup, or Webpack. Extract the entire core with a single command when you need complete customization. No lock-in, just pure React 19 power.

Core Architecture

Architectural Freedom by Design

Choose your own bundler, customize the build process, or eject the entire framework core directly into your repository.

Bundler Agnostic Integration
Build with the engine of your choice. Full support for three major bundlers.
  • esbuild (default) for blazing fast development startup
  • Rollup for highly optimized production bundling
  • Webpack for legacy plugin support and ecosystem maturity
  • Seamless switching via npm scripts (e.g. npm run dev:rollup)
Lightweight & Ejectable
No framework lock-in. Extract the entire codebase and customize it.
  • Extract core code to a local dinou/ folder in one command
  • Take complete ownership of build scripts and routing logic
  • Evolve your own fork or tweak internal configurations directly
  • Clean, minimal, lightweight codebase with zero magic black boxes
React 19 Core Foundation
Deep integration with the React core architecture and modern APIs.
  • Native React Server Components (RSC) support
  • Server Functions ('use server') for seamless client-to-server calls
  • HTML Streaming with Suspense for fast load times
  • Clean client state sync using custom Jotai & Suspense utilities
Rendering & Routing Controls
Fine-grained control over layout rendering and static/dynamic states.
  • Static site generation (SSG) with automatic dynamic bailout (Dynamic Rendering)
  • Incremental Static Regeneration (ISR) & dynamic-demand generation (ISG)
  • File-based routing with layout isolation flags (no_layout, reset_layout)
  • SPA experience with client-side soft navigation & link prefetching
Zero Configuration

Start coding in seconds

Start with a zero-config setup using esbuild, or seamlessly switch to Rollup or Webpack using standard npm scripts. If you ever need to customize the internals, just run the eject command to take full ownership.

bash
$npx create-dinou@latest my-app
Creating a new Dinou app in ./my-app...
Project initialized
$cd my-app && npm run dev
🚀 Dinou Server is ready and listening on http://localhost:3000
   Environment: Development

Ready to ship?

Build lightweight, robust React 19 apps with zero constraints and absolute builder flexibility.