finds.dev← search

// the find

thi-ng/umbrella

★ 3,819 · TypeScript · Apache-2.0 · updated Jul 2026

⛱ Broadly scoped ecosystem & mono-repository of 215 TypeScript projects (and ~185 examples) for general purpose, functional, data driven development

thi.ng/umbrella is a monorepo of 216 independent TypeScript libraries covering everything from transducers and reactive streams to WebGL shader ASTs, geometry processing, and WebAssembly bridge code generation. It's a single person's decade-long effort to build functional programming primitives that compose rather than lock you in. For developers who want Clojure-style data transformation pipelines or Haskell-style composability in TypeScript without adopting a framework, this is the closest thing to that in the JS ecosystem.

The transducer and rstream packages are genuinely well-designed — stateful transforms that compose without intermediate allocations, usable with any iterable or async source. The shader-ast package is a rare thing: a typed DSL in TypeScript that cross-compiles to GLSL, JS, or VEX, meaning your shader logic is testable in plain JS before it ever touches the GPU. Each of the 216 packages is independently versioned and ESM-only with tight tree-shaking support, so you pay only for what you import. The 185 examples are runnable and cover nontrivial use cases — flocking sims, cellular automata, pen-plotter toolchains — which is more honest documentation than most projects manage.

The repo has migrated from GitHub to Codeberg and the GitHub copy is a read-only mirror slated for deletion, which means issues, PRs, and any tooling expecting GitHub will break; if your workflow depends on GitHub integrations, you'll feel that immediately. The learning curve is steep because there's no framework entry point — you're expected to know which of the 216 packages solves your problem and how to wire them together, and the tag browser helps but doesn't substitute for experience. With only one primary maintainer, bus factor is a real concern for a dependency this broad; a few packages already show sparse changelogs. The 3,800 stars relative to the scope of the project suggests low adoption, which means thin community support and sparse answers when you hit edge cases.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →