awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
inversify avatar

inversify/InversifyJS

0
View on GitHub↗
inversify.io↗

InversifyJS

InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a centralized container to manage object lifecycles and automate the instantiation of classes and their dependencies.

The library decouples software components by mapping unique identifiers to concrete implementations. This architecture separates object creation from business logic and allows for the replacement of real service implementations with mock objects during unit testing.

The framework utilizes TypeScript decorators to provide metadata-driven injection and recursive dependency resolution. It manages the application object graph through container-based service location and lazy-loaded instance management.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • TypeScript Dependency Injection Libraries - A dependency injection container for TypeScript applications that decouples components by mapping identifiers to concrete implementations.
  • Dependency Injection - Provides a comprehensive system for decoupling software components by injecting required dependencies.
  • Metadata-Driven Dependency Injection - Utilizes TypeScript decorators and metadata to automatically resolve and inject service dependencies at runtime.
  • Dependency Mapping - Maps unique identifiers to concrete implementations to decouple components from specific class definitions.
  • Dependency Resolution - Automates the process of retrieving and instantiating registered services from a container using type inference.
  • Inversion-of-Control Containers - Implements an inversion-of-control container to manage object lifecycles and dependency wiring.
  • Container-Based Dependency Injection - Provides a centralized container for registering and resolving dependencies to manage the application object graph.
  • Lazy Instance Provisioning - Implements lazy instantiation by deferring object creation until a dependency is explicitly requested.
  • Recursive Dependency Resolution - Analyzes and resolves the complete dependency tree to instantiate all nested requirements for a requested class.
  • Dependency-Mocked Unit Testers - Facilitates unit testing by allowing real service implementations to be replaced with mock objects in the container.
  • Dependency Injection - Powerful and lightweight IoC container.
  • Developer Utilities - Powerful dependency injection container for applications.
  • Utility Libraries - Inversion of control container for Node.js and browser apps.
12,066 stars·711 forks·TypeScript·MIT·30 views

Star history

Star history chart for inversify/inversifyjsStar history chart for inversify/inversifyjs

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with InversifyJS

These projects share indexed features with InversifyJS. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • typestack/typeditypestack avatar

    typestack/typedi

    4,242View on GitHub↗

    TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized registry and service locator that manages object instantiation and decouples component dependencies using type inference and decorators. The project provides scoped dependency management to isolate service instances within specific contexts, preventing data leakage between different execution flows. It supports flexible service resolution through the use of type-safe tokens and the ability to map unique identifiers or class constructors to specific service instances. The contain

    TypeScriptdependency-injectioninversion-of-controlioc
    View on GitHub↗4,242
  • jeffijoe/awilixjeffijoe avatar

    jeffijoe/awilix

    4,088View on GitHub↗

    Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized system for registering and resolving services, decoupling application components by automating how dependencies are created and passed to the functions or classes that require them. The framework features an automatic module loader that scans the filesystem using glob patterns to register dependencies based on filenames and exports. It supports parameter-name-based injection and proxy-based resolution to manage how dependencies are delivered to constructors and functions. The s

    TypeScriptawilixdependency-injectionioc
    View on GitHub↗4,088
  • square/daggersquare avatar

    square/dagger

    7,281View on GitHub↗

    Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and lifecycle management. It functions as a static dependency injector and graph validator, resolving object requirements during the build process to avoid runtime reflection and prevent crashes caused by missing bindings. The framework distinguishes itself by using static analysis and code generation to produce factory classes at build time. It employs qualifier-based type differentiation to manage multiple implementations of the same type and provides scope-based lifecycle management

    Java
    View on GitHub↗7,281
  • google/guicegoogle avatar

    google/guice

    12,734View on GitHub↗

    Guice is a Java dependency injection framework and component container. It automates object wiring by mapping interfaces to implementations via a central injector, removing the need for manual factory patterns and constructor calls. The framework provides specialized support for aspect-oriented programming, allowing for the interception and modification of method execution to implement shared cross-cutting concerns. It also functions as a persistence manager to coordinate transaction boundaries and manage the lifecycle of entity managers within a dependency-injected environment. Its core cap

    Java
    View on GitHub↗12,734
Compare all 30 related projects→

Frequently asked questions

What does inversify/inversifyjs do?

InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a centralized container to manage object lifecycles and automate the instantiation of classes and their dependencies.

What are the main features of inversify/inversifyjs?

The main features of inversify/inversifyjs are: TypeScript Dependency Injection Libraries, Dependency Injection, Metadata-Driven Dependency Injection, Dependency Mapping, Dependency Resolution, Inversion-of-Control Containers, Container-Based Dependency Injection, Lazy Instance Provisioning.

Which projects share features with inversify/inversifyjs?

Projects with overlapping indexed features include: typestack/typedi — TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… square/dagger — Dagger is a compile-time dependency injection framework for Java and Android that automates object creation and… google/guice — Guice is a Java dependency injection framework and component container. It automates object wiring by mapping… microsoft/tsyringe — tsyringe is a TypeScript dependency injection container and inversion of control framework. It decouples class… google/dagger — Dagger is a compile-time dependency injection framework for Java and Android applications. It automates the…