ultra icon indicating copy to clipboard operation
ultra copied to clipboard

A new take on V2

Open deckchairlabs opened this issue 2 years ago • 0 comments

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

deckchairlabs avatar May 13 '22 07:05 deckchairlabs