# inversify/InversifyJS

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

Repository: https://github.com/inversify/InversifyJS
Canonical: https://ross.abutalabs.com/products/inversifyjs
Homepage: http://inversify.io/
Language: TypeScript
License: MIT
License Family: permissive
Topics: typescript, ioc, javascript, dependency-injection, nodejs, inversifyjs
Last push: 2025-11-19T13:18:33+00:00

## Health v2 (maintenance only)
Score: 60/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 53, release rhythm 47, longevity 100
- inputs: {"age_days": 4166, "days_push": 287, "days_rel": 353, "gap_med": 6, "n_releases_24m": 32}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 12076, forks 709 (observed 2026-08-28T04:10:51.685247+00:00)

## What it is
InversifyJS is a lightweight, strongly-typed inversion of control (IoC) container for TypeScript and JavaScript applications. It uses decorators and constructor injection to manage dependencies, encouraging SOLID design and OOP best practices with minimal runtime overhead.

## Use cases
- dependency injection in TypeScript apps
- manage class dependencies with an IoC container
- write SOLID object-oriented JavaScript code
- inject services into Node.js applications
- decouple components in a React or Express project
- replace manual constructor wiring with a DI container

## When to choose
- you build TypeScript or Node.js apps with class-based OOP architecture
- you want a lightweight, framework-agnostic DI container with strong typing
- you need decorator-based injection with minimal runtime overhead
- you want to follow SOLID principles and testable, decoupled code

## When to avoid
- you prefer functional programming styles over class-based OOP
- your project uses plain JavaScript without decorator support
- you need a full application framework with routing and HTTP built in
- you want zero reflection-metadata setup or build configuration

## Facets
- artifact type: library
- maturity: active
- function: middleware, developer-tools
- domain: developer-tools, web-development, backend, frontend
- platform: cross-platform, browser
- tags: dependency-injection, ioc-container, solid-principles, decorators, oop, javascript, typescript, nodejs

## Member repositories
- inversify/InversifyJS (main) score 60

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:10:51.685247+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:14:57.559298+00:00, confidence not recorded.
  - readme: https://github.com/inversify/InversifyJS (fetched 2026-08-28T04:10:51.685247+00:00, sha e11c7288a593)
  - homepage: http://inversify.io/ (fetched 2026-08-29T08:12:49.398627+00:00, sha 9e30f68d0685)
  - site_page: https://inversify.io/docs/introduction/getting-started (fetched 2026-08-29T08:12:49.408704+00:00, sha 4de655208249)
  - site_page: https://inversify.io/docs/next/introduction/getting-started (fetched 2026-08-29T08:12:49.410666+00:00, sha dcecc360fe0f)
  - site_page: https://inversify.io/docs/7.x/introduction/getting-started (fetched 2026-08-29T08:12:49.412377+00:00, sha 98458916bc53)
  - site_page: https://inversify.io/docs/6.x/introduction/getting-started (fetched 2026-08-29T08:12:49.414127+00:00, sha 6bd1af45efae)
- Data as of 2026-08-30T08:39:29.467469+00:00.
