Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/exhibitionist-digital/ultra
Zero-Legacy Deno/React Suspense SSR Framework
https://github.com/exhibitionist-digital/ultra
0-legacy deno esm no-bundle react ssr streaming suspense typescript zero-legacy
Last synced: 2 days ago
JSON representation
Zero-Legacy Deno/React Suspense SSR Framework
- Host: GitHub
- URL: https://github.com/exhibitionist-digital/ultra
- Owner: exhibitionist-digital
- License: mit
- Created: 2021-06-29T16:16:27.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-28T09:07:24.000Z (about 2 months ago)
- Last Synced: 2024-12-04T13:04:48.965Z (10 days ago)
- Topics: 0-legacy, deno, esm, no-bundle, react, ssr, streaming, suspense, typescript, zero-legacy
- Language: TypeScript
- Homepage: https://ultrajs.dev
- Size: 9.27 MB
- Stars: 2,996
- Watchers: 17
- Forks: 68
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-github-repos - exhibitionist-digital/ultra - Zero-Legacy Deno/React Suspense SSR Framework (TypeScript)
- awesome-deno - ultra - ๐ Modern Streaming React Framework in Deno. (Modules / Frontend framework)
README
### Ultra 2.0
#### Zero-Legacy Deno/React Suspense SSR Framework*
[![Discord][discord-badge]][discord]
![GitHub Workflow Status](https://github.com/exhibitionist-digital/ultra/actions/workflows/ci.yml/badge.svg)
[![Deno module](https://shield.deno.dev/x/ultra)](https://deno.land/x/ultra)
![Deno compatibility](https://shield.deno.dev/deno/^1.27.1)\* If you want to get very meta (not facebook), **Ultra** can be viewed as a
tiny bridge to utilise native browser features ๐ whilst using popular front-end
libraries. ๐งฐ## ๐ง Start your journey
Here's a basic **Ultra** project to set you on your way.
```sh
deno run -A -r https://deno.land/x/ultra/create.ts
```## โจ What's new
**Ultra** allows you to write web-apps which massively simplify your tool chain.
You write ESM, we ship ESM. Where we are going, there is no "bundling" (it feels
so 2018 just saying that word).- Less opinionated, BYO routing, styling, data fetching, and head libraries
- Support for much of the React ecosystem by custom server/client
controls**
- Native import maps in browser ๐ค
- Localised import maps for production ๐ฅ
- API routing
- Overhaul of internal source code
- Updated Deno Deploy support\*\* _Examples include (but not limited to) `react-query` `twind` `stitches`
`react-router` `wouter` `mdx`_ **@__@****Does Ultra _'ship JS'_?**
Yes, **Ultra** creates rich web applications which allow complex client-side
routing, allow components to persist through route changes (media players,
interactive elements, etc).Our goal is to both write _AND_ ship source code that works the same way on
server/runtime and client. We view the browser as more than just a "target".
Browser is life, and JavaScript is good.**Can I use TypeScript and/or JSX?**
If you want.
**What native browser features should we all be using more?**
Unbundled ESM, service workers, universal import maps, cascading style sheets.
**Ultra always has been (and always will be) powered 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---
### ๐จโ๐ฉโ๐งโ๐ฆ Community
We have the [Discord](https://discord.gg/XDC5WxGHb2). Come say 'sup.
### ๐ง Contributions
The **Ultra** community welcomes outside contributions. See the
[Contributor Guidelines](./CONTRIBUTING.md) for details.### ๐ฆฅ Wishlist
Here some things we are interested in for the future of JS and/or Ultra:
- React [ESM exports](https://github.com/facebook/react/issues/10021)
- [AbTs: Anything but TypeScript](https://tc39.es/proposal-type-annotations)
- Libraries supporting
[optimal JavaScript module design](https://jaydenseric.com/blog/optimal-javascript-module-design)
- React [resources](https://github.com/reactjs/rfcs/pull/219) for streaming head
management
- React [async/await support](https://github.com/reactjs/rfcs/pull/229)
- [Native import maps](https://caniuse.com/import-maps) support in Safari and
Firefox
- [Dynamic import](https://github.com/denoland/deploy_feedback/issues/1) support
on Deno Deploy
- [Native CSS modules](https://css-tricks.com/css-modules-the-native-ones/)
- More and better ESM CDNs**Thank you for going on this journey with us.**
[docs-badge]: https://img.shields.io/github/v/release/exhibitionist-digital/ultra?label=Docs&logo=deno&color=000000&
[docs]: https://ultrajs.dev/docs
[discord-badge]: https://img.shields.io/discord/956480805088153620?logo=discord&label=Discord&color=000000&&logoColor=ffffff
[discord]: https://discord.gg/XDC5WxGHb2