Skip to main content

ULTRA

Modern Streaming React Framework

ultrajs.dev

Discord GitHub Workflow Status deno module deno compatibility


Ultra is a web framework that leans hard into your browser’s native features. Embrace the future of ES Modules, Import Maps, and Web Streams. All while supporting some of the non-standards that many normal people love for some reason (JSX and TypeScript).

It’s driven by the following hot-takes:

  • ESM is non-negotiable in {currentYear}
  • SSR is non-negotiable in {currentYear}
  • Bundling is an anti-pattern in {currentYear}
  • Data can be requested anywhere, and is accessible on the server, always
  • Lazy routing with dynamic imports trumps FS routing
  • Less magic in tooling and frameworks is a good thing
  • Simplify your workflow and tech stack at all costs - life is too short
  • Streams are neat

‼️ v1.0.0 @__@

  • Total overhaul of transforms, migration to brand new @swc/wasm-web!
  • Esbuild removed!
  • Unfettered support for React 18!
  • Tests!
  • Example integration with @mdx-js/mdx!
  • Improvements to API routes!
  • Updated docs!
  • New website!

Migration notes:

Previous v0.8.0 (and earlier) projects need to update the server import. We removed the mod.ts file for simplicity.

import ultra from "https://deno.land/x/ultra/server.ts";

Community

We now have a Discord. Come say HI.


Notes on using Deno Deploy

We aim to support Deno Deploy as a first class target for Ultra, but there are a few things to consider before deploying:

NOTE: These above issues are not a limitation when deploying to a service like Fly.io, and if you require either of the above, we recommend using Fly.io with a custom dockerfile.


✨ Wishlist

Here some things we are interested in for the future of JS and/or Ultra:

Thank you for going on this journey with us.