inversify/inversifyjs

Powerful and lightweight inversion of control container. Moved to https://github.com/inversify/monorepo

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 32 minutes ago
Added to GitGenius on September 5th, 2026
Created on April 7th, 2015
Open Issues & Pull Requests: 2 (+0)
GitHub issues: Enabled
Number of forks: 708
Total Stargazers: 12,075 (+0)
Total Subscribers: 130 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 28.3 days
Mean response time: 426.1 days
90th percentile: 1779.1 days
Tracked items: 276

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 2
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 1,173 days
Stale 30+ days: 1
Stale 90+ days: 1

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • enhancement (9)
  • bug (8)
  • discussion (7)
  • Accepting PRs (5)
  • Suggestion (4)
  • express-utils (4)
  • side-project (4)
  • question (2)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

InversifyJS is an inversion of control container for TypeScript and JavaScript applications that enables dependency injection through decorators and metadata reflection.

The tool solves the problem of managing complex object dependencies in large applications by allowing developers to declare dependencies declaratively rather than manually constructing and wiring objects together. It works by using TypeScript decorators and the reflect-metadata library to capture type information at runtime, then resolving and injecting dependencies automatically based on those annotations. This approach reduces boilerplate code and makes dependency graphs explicit and testable.

Developers should choose InversifyJS for applications where dependency injection will reduce coupling and improve testability, particularly in TypeScript projects that can leverage decorator syntax. It suits medium to large applications with complex object graphs, server-side Node.js applications, and frameworks built on top of IoC patterns. The tool is lightweight, meaning it adds minimal overhead compared to heavier enterprise frameworks, making it appropriate for projects where you want IoC benefits without framework bloat.

The project has transitioned its development to a monorepo structure, consolidating related packages and tooling in a single repository to streamline maintenance and coordination across the InversifyJS ecosystem. This reorganization reflects an effort to improve the development workflow and make it easier to manage multiple related packages as a cohesive unit. The move to a monorepo indicates active maintenance and a commitment to evolving the project's infrastructure to support its growth.