posts from @easrng tagged #i made a thing

basically the idea is "what if you took preact + htm and took away all that silly 'virtual dom' and 'class components' and 'hooks' stuff and just used signals"

  • it's less than 10 kB (uncompressed!) even if you include @preact/signals-core (its one dependency)
  • it has fine grained reactivity™ (the only ways to update things are signals and manual dom manipulation, as the gods intended)
  • it supports components that are async functions on both the client and the server
  • it includes suspense™ as seen in react™ (basic support for rendering fallback content while waiting for async children to resolve)
  • it has a streaming server renderer (works in node, bun, and deno. bring your own dom.)
  • the way it handles props and children should be more or less the same as preact
  • no transpiler is needed to use it but the TS types are as good as i can get them right now
  • it has a full type level parser for its template string dsl that is unused because TypeScript PR 49552 isn't merged
  • it has contexts (i needed them for suspense anyway)
  • it caches the static parts of ur components so it's probably fast idk i haven't actually checked

also i haven't used it for anything outside of its test page and there are no docs but the test page should explain everything if you are familiar with the concepts



⬆️ like this ⬆️
it works on any xterm-compatible terminal, the box fills the width of the terminal even if you save the output and cat it later and it doesn't have any dependencies other than sed + a couple posix builtins (unset + printf) :)

caveats: the body isn't wrapped and it has a maximum width of 196 cols (200 if u include borders + padding)