InversifyJS
Powerful and lightweight inversion of control container. Moved to https://github.com/inversify/monorepo (by inversify)
tsyringe
Lightweight dependency injection container for JavaScript/TypeScript (by microsoft)
| InversifyJS | tsyringe | |
|---|---|---|
| 34 | 28 | |
| 12,064 | 5,955 | |
| 0.0% | 0.3% | |
| 9.1 | 4.6 | |
| 7 months ago | 5 months ago | |
| TypeScript | TypeScript | |
| MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
InversifyJS
Posts with mentions or reviews of InversifyJS.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-02-02.
-
The 6th SOLID Principle?
I've been writing about the SOLID principles for over a decade. I built InversifyJS because of them, I wrote about implementing them with the onion architecture, and just recently, I argued that they are universal design principles that show up far beyond the world of object-oriented programming. But I've always felt something was missing — not from the principles themselves, but from the conversation around them.
-
The SOLID Principles are Universal
I've spent a significant portion of my career thinking about the SOLID principles. I wrote about them in the context of JavaScript and TypeScript, I built InversifyJS largely because of them, and I've had countless conversations with other developers about whether they belong in the JavaScript world at all. Over the years, many people have pushed back, arguing that SOLID is an object-oriented thing, that it only matters if you're writing Java or C#, and that it doesn't apply to their world.
-
InversifyJS VS vorarbeiter - a user suggested alternative
2 projects | 2 Feb 20252 projects | 2 Feb 2025
-
vorarbeiter VS InversifyJS - a user suggested alternative
2 projects | 2 Feb 2025
Vorarbeiter Service Container is about 10 times lighter then InversifyJS. It has simpler API and works faster.
-
Mastering the Dependency Inversion Principle: Best Practices for Clean Code with DI
One of the most popular libraries in JavaScript for implementing the Inversion of Control (IoC) pattern is InversifyJS. It provides a robust and flexible framework for managing dependencies in a clean, modular way. However, InversifyJS has some drawbacks. One major limitation is the amount of boilerplate code required to set up and manage dependencies. Additionally, it often requires structuring your application in a specific way, which may not suit every project.
-
How to Apply SOLID with Testing JS/TS Class Methods
Take a class for which we are tasked to write a unit test. This class may have a dozen methods and a dozen more attributes. In my environment we were already using inversify to dependency inject into this class, and using container snapshot and restore as setup and teardown operators, in our jest test file. But it began getting out of control even after refactoring into test cases and test runners.
-
VulcanSQL: open-source data API framework. Empowering you to construct APIs exclusively with SQL.
Inversify (https://inversify.io/) for IoC.
-
SOLID explicado com TypeScript
Alguns frameworks trabalham desta forma por padrão, como é o caso do Angular, quando este não é o padrão do framework que utilizamos podemos usar alguma biblioteca, como a Inversify ou tsyringe da Microsoft.
-
Using modern decorators in TypeScript
Using decorators required setting an --experimentalDecorators experimental compiler flag. Several popular TypeScript libraries, such as type-graphql and inversify, rely on this implementation.
tsyringe
Posts with mentions or reviews of tsyringe.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2025-05-02.
-
Stop Spaghetti Code! How Clean Architecture Saves Next.js Projects
For connecting layers we uses DI(dependency-injection) by tsyringe.
- Framework-Level DI Even for student Node.js Developers
-
tsyringe VS vorarbeiter - a user suggested alternative
2 projects | 2 Feb 20252 projects | 2 Feb 2025
-
TSyringe and Dependency Injection in TypeScript
TSyringe is a lightweight dependency injection container for TypeScript/JavaScript applications. Maintained by Microsoft on their GitHub (https://github.com/microsoft/tsyringe), it uses decorators to do Constructor injection. Then, it uses an Inversion of Control container to store the dependencies based on a token that you can exchange for an instance or a value.
-
SOLID explicado com TypeScript
Alguns frameworks trabalham desta forma por padrão, como é o caso do Angular, quando este não é o padrão do framework que utilizamos podemos usar alguma biblioteca, como a Inversify ou tsyringe da Microsoft.
-
Approach to applying DI container to an existing codebase?
We are writing a backend application that handles a data stream and provides REST and GraphQL endpoints to query and manage these data. We are using TypeScript with Express.js and TSyringe for our DI container.
-
Announcing TypeScript 5.0 Beta
This is exciting but also make be a bit nervous as my projects make extensive use of https://github.com/microsoft/tsyringe and the decorator changes are not going to play nice.
-
Typesafe, (almost) Zero Cost Dependency Injection in TypeScript
tsyringe
-
Has anyone successfully created a Dependency Injection using typescript decorators?
If you don’t want to tie yourself to a full web framework like Nest, there are a few DI-only frameworks that work with decorators, like TypeDI, TSyringe, or Typed Inject.
What are some alternatives?
When comparing InversifyJS and tsyringe you can also consider the following projects:
awilix - Extremely powerful Inversion of Control (IoC) container for Node.JS
Brunch - :fork_and_knife: Web applications made easy. Since 2011.
typedi - Simple yet powerful dependency injection tool for JavaScript and TypeScript.
typed-inject - Type safe dependency injection for TypeScript