This looks neat. Does the “just import a server function” model stay simple once you add auth, caching and transactions, or does the client/server boundary start leaking through?
It should stay simple. Of course, there are various tools for various problems. If things start getting complex, you can use the underlying RPC to better organize the logic: https://oxide.build/tacho/quickstart/.
Hey all, I had a bit too much fun with Celld, so I decided it'd be great to have a small backend that works well with it without limiting its capabilities.
TLDR: The backend framework as a Vite and Rsbuild plugin. You import server functions on the client side, and they are executed on the server side with full type safety. It's powered by my own tiny JSON RPC 2.0 server implementation (under 2 KB minzipped btw).
This looks neat. Does the “just import a server function” model stay simple once you add auth, caching and transactions, or does the client/server boundary start leaking through?
It should stay simple. Of course, there are various tools for various problems. If things start getting complex, you can use the underlying RPC to better organize the logic: https://oxide.build/tacho/quickstart/.
Hey all, I had a bit too much fun with Celld, so I decided it'd be great to have a small backend that works well with it without limiting its capabilities.
TLDR: The backend framework as a Vite and Rsbuild plugin. You import server functions on the client side, and they are executed on the server side with full type safety. It's powered by my own tiny JSON RPC 2.0 server implementation (under 2 KB minzipped btw).