ultra
ultra copied to clipboard
A new take on V2
This is my take on version 2.
- [x] Middleware
- [x] Automatic JSX runtime
- [x] Custom routes (API, whatever)
- [x] Plugins (ala Fastify, can register routes, middleware, responseTransformers, compiler visitors etc)
- [x] Basic preloader (we can leverage the ImportVisitor here to get complete dependencies needed for preload)
- [x] Control of rendering whole document
- [x] CSS-in-JS support (stitches currently)
I haven't bothered with testing deployment, or our current build/vendor steps. As I think these need a more general approach.
It does require a little more bootstrapping to get an App going, but worth the flexibility and control in my opinion. With this approach we allow any routing lib, not just wouter, as you control the rendering and hydration (like remix)
We also, no longer need to worry about Oak! Ultra would now be all you need.
TODO
- [ ] Dev server
- [ ] Error handling, 404 etc (I think we can do this with error boundaries?)
- [ ] Get tests passing
- [x] Data fetching / SWR
Wishlist
- [ ] Proper React Refresh integration