awesome-repositories.com
Blog
awesome-repositories.com

Descoperă cele mai bune repository-uri open source cu căutare AI.

ExploreazăCăutări recomandateAlternative open-sourceSoftware self-hostedBlogHartă site
ProiectDespreCum realizăm clasamentulPresăServer MCP
LegalConfidențialitateTermeni
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
typestack avatar

typestack/typedi

0
View on GitHub↗
4,242 stele·165 fork-uri·TypeScript·MIT·7 vizualizăridocs.typestack.community/typedi/v/develop/01-getting-started↗

Typedi

TypeDI este un container de injecție de dependențe TypeScript și un instrument de inversare a controlului (IoC). Funcționează ca un registru centralizat și localizator de servicii care gestionează instanțierea obiectelor și decuplează dependențele componentelor folosind inferența de tip și decoratori.

Proiectul oferă gestionarea dependențelor pe domenii (scoped) pentru a izola instanțele de servicii în contexte specifice, prevenind scurgerea datelor între diferite fluxuri de execuție. Suportă rezolvarea flexibilă a serviciilor prin utilizarea token-urilor sigure de tip și capacitatea de a mapa identificatori unici sau constructori de clasă către instanțe de servicii specifice.

Containerul acoperă gestionarea cuprinzătoare a ciclului de viață al serviciilor, inclusiv durate de viață singleton și tranzitorii, precum și rezolvarea referințelor circulare. Include capabilități pentru gruparea serviciilor, instanțierea bazată pe fabrică și integrarea cu framework-uri externe. Pentru asigurarea calității, sistemul oferă utilitare pentru mocking-ul dependențelor și resetarea stării containerului pentru a asigura izolarea în timpul testării unitare.

Features

  • TypeScript Dependency Injection Libraries - A specialized dependency injection library utilizing TypeScript decorators and type inference to decouple class dependencies.
  • Dependency Injection - Provides a comprehensive TypeScript container for decoupling software components through automated dependency injection.
  • Metadata-Driven Dependency Injection - Implements a system that uses TypeScript decorators and metadata for automatic service registration and resolution.
  • Hierarchical Containers - Provides hierarchical containers that allow for scoped dependency resolution and isolated service sets across different contexts.
  • Execution Context Isolation - Provides scoped dependency management to isolate service instances within specific contexts and prevent data leakage between execution flows.
  • Dependency Injection Containers - Implements a container that manages service lifecycles and resolves class dependencies using TypeScript-specific metadata.
  • Inversion-of-Control Containers - Functions as a centralized registry that manages object lifecycles and dependency wiring to decouple components.
  • Instance Lifecycles - Manages service lifetimes, allowing users to define whether dependencies should be shared singletons or fresh transient instances.
  • Dependency Lifetimes - Implements comprehensive service lifecycle management, supporting both singleton and transient lifetimes for optimized memory and state handling.
  • Service Dependency Registration - Provides a centralized registry to map classes and unique tokens to their respective service implementations.
  • Service Locators - Provides a centralized registry for resolving and retrieving shared or transient service instances via unique tokens.
  • Token-Based Service Mapping - Allows decoupling of service retrieval by mapping unique identifiers or class types to specific service implementations.
  • Service Lifetime Scopes - Provides configuration for service lifetimes, specifically supporting singleton and transient scopes within the container.
  • Type-Safe Tokens - Implements type-safe tokens to prevent errors caused by using string identifiers for service retrieval.
  • Isolated Resolution Scopes - Implements isolated resolution scopes to prevent data leakage between separate execution flows or users.
  • Circular Dependency Resolvers - Provides mechanisms to break circular dependency loops during object instantiation using proxies or delayed resolution.
  • Dependency Injection Integrations - Provides a bridge to integrate third-party libraries and external frameworks into the centralized dependency container.
  • Custom Injection Logic - Allows the creation of specialized decorators and factory functions to define custom instantiation logic for dependencies.
  • Factory-Based Instantiation - Supports the creation of complex services through custom factory functions that handle dynamic setup logic.
  • Circular Dependency Resolution - Handles circular dependencies between components by deferring registration and using function-based resolution.
  • Function - Enables the resolution of dependencies for standalone functions and factory objects in addition to standard classes.
  • Named Service Injection - Allows controlling which specific service instance is injected by associating them with unique names or identifiers.
  • Modular Application Architectures - Supports organizing services into scoped containers and groups to manage complex dependencies between application modules.
  • Dependency Mocking - Provides mechanisms to replace registered services with mock implementations for isolated unit testing.
  • Unit Testing - Enables component isolation during automated tests by substituting real service implementations with mock objects.

Istoric stele

Graficul istoricului de stele pentru typestack/typediGraficul istoricului de stele pentru typestack/typedi

Căutare AI

Explorează mai multe repository-uri excelente

Descrie ce ai nevoie în limbaj simplu — AI-ul sortează mii de proiecte open source selectate în funcție de relevanță.

Start searching with AI

Alternative open-source pentru Typedi

Proiecte open-source similare, clasificate după numărul de funcționalități comune cu Typedi.
  • microsoft/tsyringeAvatar microsoft

    microsoft/tsyringe

    5,960Vezi pe GitHub↗

    tsyringe is a TypeScript dependency injection container and inversion of control framework. It decouples class implementations from object creation by managing dependencies and object lifecycles using decorators and metadata. The framework features a hierarchical container system where child containers can maintain independent registration scopes and fall back to parent containers for dependency resolution. It provides a provider system that controls object longevity through singleton and transient instantiation rules. The system supports recursive constructor injection and handles circular

    TypeScriptcontainerdecoratorsdependency
    Vezi pe GitHub↗5,960
  • ets-labs/python-dependency-injectorAvatar ets-labs

    ets-labs/python-dependency-injector

    4,805Vezi pe GitHub↗

    This is a dependency injection framework and inversion of control container for Python. It decouples object creation from business logic by managing how services and their dependencies are assembled, delivered, and linked within an application. The framework is distinguished by its ability to perform automated component wiring, using import hooks and decorators to inject dependencies into functions and classes across different modules. It supports non-blocking flows through an asynchronous dependency resolver and manages the initialization and shutdown sequences of shared external resources a

    Pythonaiohttpasynciodependency-injection
    Vezi pe GitHub↗4,805
  • inversify/inversifyjsAvatar inversify

    inversify/InversifyJS

    12,066Vezi pe GitHub↗

    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 depende

    TypeScript
    Vezi pe GitHub↗12,066
  • jeffijoe/awilixAvatar jeffijoe

    jeffijoe/awilix

    4,088Vezi pe 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
    Vezi pe GitHub↗4,088
Vezi toate cele 30 alternative pentru Typedi→

Întrebări frecvente

Ce face typestack/typedi?

TypeDI este un container de injecție de dependențe TypeScript și un instrument de inversare a controlului (IoC). Funcționează ca un registru centralizat și localizator de servicii care gestionează instanțierea obiectelor și decuplează dependențele componentelor folosind inferența de tip și decoratori.

Care sunt principalele funcționalități ale typestack/typedi?

Principalele funcționalități ale typestack/typedi sunt: TypeScript Dependency Injection Libraries, Dependency Injection, Metadata-Driven Dependency Injection, Hierarchical Containers, Execution Context Isolation, Dependency Injection Containers, Inversion-of-Control Containers, Instance Lifecycles.

Care sunt câteva alternative open-source pentru typestack/typedi?

Alternativele open-source pentru typestack/typedi includ: microsoft/tsyringe — tsyringe is a TypeScript dependency injection container and inversion of control framework. It decouples class… ets-labs/python-dependency-injector — This is a dependency injection framework and inversion of control container for Python. It decouples object creation… inversify/inversifyjs — InversifyJS is an inversion of control framework and dependency injection library for TypeScript. It provides a… jeffijoe/awilix — Awilix is a JavaScript dependency injection framework and inversion of control container. It provides a centralized… autofac/autofac — Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component… code4craft/tiny-spring — tiny-spring is a Java inversion of control container and aspect-oriented programming framework. It provides a system…