November 6, 2025
Dragons, DI, and Drama
Chibi Izumi: Phased dependency injection for TypeScript
AI‑built TypeScript toolkit drops; devs split between “magic” and “just use constructors”
TLDR: Chibi Izumi brings a shiny, AI‑assisted dependency injector to TypeScript, packed with features but flagged with “expect dragons.” The community is split: some love the automation, while others argue for simple constructor wiring or string identifiers, sparking a classic magic‑vs‑manual showdown.
A new toolkit called Chibi Izumi just landed, promising “phased dependency injection” for TypeScript—aka wiring all your app parts together automatically. It’s a port of a Scala library, and the creator casually revealed “Most of the job was done by Claude”, an AI assistant. Cue the drama: some cheered the innovation, others clutched their constructors.
On the hype side, fans love the feature scoreboard flex—lots of checkmarks for async, lifecycle, factories, and type safety—while rivals like Inversify and Nest get side‑eyed. But the thread turned spicy fast. Skeptics like tyleo say DI frameworks create new bugs and prefer simple “pass things in the constructor.” Another voice, mininao, called DI “clunky” for JS/TS’s script‑y vibe. And nkohari dropped a minimalist bomb: skip decorators and use string IDs instead, plugging a lightweight alternative with forge.
The biggest meme? The project’s own warning: “Expect dragons, landmines and varying mileage.” People joked about bringing a map, a helmet, and maybe a rollback plan. Decorator drama also popped up—folks grumbled that TypeScript needs too many magical annotations to make this work. So, we’ve got a flashy new tool, AI in the mix, a scoreboard calling shots, and a classic internet split: magic vs. manual. Grab popcorn.
Key Points
- •izumi-chibi-ts ports distage’s staged dependency injection concepts from Scala to TypeScript.
- •The library offers a fluent, type-safe DI DSL with decorators (@Reflected, @Id), factory bindings, axis tagging, async support, and lifecycle management.
- •A comparison table shows izumi-chibi-ts has full support across key DI features compared to other TS/JS DI libraries.
- •Installation is via npm (@izumi-framework/izumi-chibi-ts) and requires enabling experimentalDecorators in tsconfig.json.
- •Quick start examples demonstrate automatic dependency resolution and named bindings, with ApplyReflection available for third-party classes.