Skip to content

arnaudbzn/wakuwork

 
 

Repository files navigation

Waku

Minimalistic React Framework

Project status

We are working toward v1-alpha: dai-shi#24

Feel free to try it serioursly with non-production projects and give us feedback.

Playground: https://codesandbox.io/p/sandbox/waku-example-counter-mdc1yb

Why develop a React framework?

We believe that React Server Components (RSCs) are the future of React. The challenge is that we can't utilize RSCs with the React library alone. Instead, they require a React framework for bundling, at the very least.

Currently, only a few React frameworks support RSCs, and they often come with more features than RSCs. It would be nice to have a minimal framework that implements RSCs, which should help learning how RSCs work.

Learning is the start, but it's not what we aim at. Our assumption is that RSC best practices are still to explore. The minimal implementation should clarify the fundamentals of RSCs and enable the creation of additional features. Our goal is to establish an ecosystem that covers a broader range of use cases.

How to create a new project

Minimum requirement: Node.js 18

npm create waku@latest
yarn create waku
pnpm create waku

APIs

TODO

Tweets

Diagrams

Architecture

https://excalidraw.com/#json=XGEA5V5JVU3AZSri7fXOw,Q95v26_30v05jwwQeU_tjw

waku-arch

How React Server Functions Work

https://excalidraw.com/#json=sqAZKA6csX-vLDlnu7CyK,JYQiZyAHbCPK4zPgeD2a8g

waku-rsf

How Waku counter example communicates with server

https://excalidraw.com/#json=LMrRnVfDm8TDGtP-BfHZ5,o1fI7c_HvL81TDKSRoEc5A

waku-counter

Waku's minimal spec for React Server Components

https://excalidraw.com/#json=RPBX88sLf6FFCQXOVXIyW,ngpz5ZqKyQyU2vgWx_x6tg

waku-spec

How Waku's RSC-only SSR works

https://excalidraw.com/#json=pSsBQOqkYX4O-TIgxNrZj,i_CsymP1VZiHIAa0dlLbNw

waku-ssr

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 91.0%
  • JavaScript 7.5%
  • HTML 1.5%