Skip to content

v0.1.0

Choose a tag to compare

@joshburgess joshburgess released this 02 May 01:05
· 5 commits to main since this release

First public release of Tachys.

Tachys is a high-performance virtual DOM library with a React-compatible API. On the Krausest js-framework-benchmark, it matches Inferno on click-to-paint time (1.007x geomean) and is ~18% faster on script time (0.823x geomean). Core runtime is ~36KB minified, ~11KB gzipped, zero dependencies.

Packages

Package Description
tachys Core runtime: VDOM, hooks, Suspense, ErrorBoundary, streaming SSR, hydration, concurrent scheduler
babel-plugin-tachys Compiles JSX components to markCompiled + _template form, skipping the VDOM at runtime
swc-plugin-tachys Same compile pipeline, parsed via @swc/core for SWC-based toolchains
compiler-core-tachys Shared portable IR + emitter used by both compiler frontends
tachys-aeon Aeon FRP integration: Behavior and Event as first-class UI primitives via hooks

What's in core

  • Function components and hooks: useState, useReducer, useEffect, useLayoutEffect, useMemo, useCallback, useRef, useContext, useTransition, useDeferredValue, useId, useSyncExternalStore, use
  • memo, forwardRef, lazy, createPortal, createRef
  • Suspense + ErrorBoundary (works with lazy() and use(promise))
  • Streaming SSR (renderToReadableStream) with selective hydration
  • Concurrent scheduler with priority lanes
  • React compatibility shim (tachys/compat) so existing React code can import from Tachys
  • Lean entry points (tachys/sync, tachys/sync-core) that drop the concurrent scheduler and Suspense for apps that don't need them

Install

pnpm add tachys

JSX setup, full API, and architecture notes: https://joshburgess.github.io/tachys/

Notes

  • Dual-licensed under MIT or Apache-2.0
  • Requires Node.js >= 18
  • 962 tests passing across 55 files