pota is a small, pluggable, yet fully-featured Reactive Web Renderer,
designed to work with html
and xml
.
It includes a Babel preset for transforming JSX
into fast and
compact partials inspired by
dom-expressions. pota
can also be compiler-less, allowing you to use it with an xml
function. You may still use transform-react-jsx
or tsc
, as
transformation needs no "magic".
The API and Core components, draw significant inspiration from SolidJS, albeit things differ to an extent based on personal preferences. It can be said that this project is what I wish client-side-solid to be.
pota prioritizes simplicity, consistency, usage, and is subjectively easy to understand. It's driven by developer needs, and wont compromise these for benchmarks. It is still fast while respecting the core philosophy.
This is mostly a research and personal project, subject to change, that I use for myself and to help improve SolidJS. If you are in doubt of using this or SolidJS, you should use SolidJS.
- TypeScript types are a work in progress and kind of messy.
- Project will reach v1.0 once I'm happy with the API shape.
- I keep notes related to this project here.
- SSR is out of the scope of this project
- Documentation with editable live examples and a playground
- For getting started, check out templates
- https://pota.quack.uy/
- https://github.com/potahtml/
- https://github.com/potahtml/pota
- https://github.com/potahtml/templates
- https://www.npmjs.com/package/pota
Thanks to: Joe, Fabio, Ryan, Erika, kilo, Javier, Paty, bigmistqke
Bug-free till proven otherwise.
In loving memory of Quack 🐈⬛ 🩵 - 2018.03.01 - 2025.07.18