Back to feed
Dev.to
Dev.to
5/11/2026
I was sick of InversifyJS after 3 years in production, so I built a better DI container

I was sick of InversifyJS after 3 years in production, so I built a better DI container

Short summary

After 3 years struggling with InversifyJS—merge conflicts on binding files, forgotten bindings caught only at runtime, dangerous token/type mismatches—a developer built lazy-di, a zero-ceremony DI container for TypeScript that uses constructor types as tokens, eliminating manual registration entirely. In production use but early-stage with limitations around interface tokens.

  • InversifyJS required manual binding files that caused recurring merge conflicts and runtime errors from forgotten bindings
  • lazy-di eliminates ceremony by using TypeScript constructor types as tokens—no binding files, no @inject decorators required
  • Tool is production-ready but early-stage; cannot yet support interface tokens due to TypeScript runtime constraints

Generated with AI, which can make mistakes.

Is this a good recommendation for you?

Explore more