awesome-repositories.com
المدونة
MCP
awesome-repositories.com

اكتشف أفضل مستودعات المصادر المفتوحة باستخدام بحث مدعوم بالذكاء الاصطناعي.

استكشفعمليات بحث منسقةبدائل مفتوحة المصدربرمجيات ذاتية الاستضافةالمدونةخريطة الموقع
المشروعخادم MCPحولكيفية ترتيب النتائجالصحافة
قانونيالخصوصيةالشروط
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jeffijoe avatar

jeffijoe/awilix

0
View on GitHub↗
4,088 نجوم·144 تفرعات·TypeScript·mit·7 مشاهدات

Awilix

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 system manages object lifecycles through singleton and transient patterns, including hierarchical container scoping for request-specific state. It includes capabilities for resource disposal, dependency lifetime validation, and registration verification to ensure resolution correctness.

Features

  • Dependency Injection Containers - Provides a centralized inversion of control container to decouple components and automate service resolution.
  • Dependency Injection - Decouples application components by automating how services are created and passed to the classes or functions that need them.
  • Dependency Lifecycle Management - Manages whether services are created as singletons or recreated on every request.
  • Dependency Scoping - Generates child containers with private caches to allow for request-specific state scoping.
  • Automatic Dependency Discovery - Implements an automatic module loader that scans the filesystem using glob patterns to register dependencies based on filenames and exports.
  • Constructor Injection - Injects required dependencies into constructors and functions using parameter parsing or proxy objects.
  • Dependency Injection - Maps identifiers to values, functions, or classes to be managed and injected across the application.
  • Dependency Injection Frameworks - Implements a framework for decoupling components by registering and resolving services through a central registry.
  • Dependency Resolution - Retrieves registered dependencies by name while utilizing type inference to ensure correct object shapes.
  • Automatic Dependency Loaders - Ships a utility that scans the filesystem using glob patterns to automatically register classes and functions.
  • Filesystem Scanning - Provides an automatic module loader that scans the filesystem using glob patterns to register dependencies.
  • Inversion-of-Control Containers - Manages object lifecycles and dependencies via constructor injection and hierarchical scoped containers.
  • Object Lifetime Management - Controls whether objects are recreated on every request, cached within a scope, or maintained as a singleton.
  • Parameter-Name Injection - Resolves dependencies by parsing constructor or function parameter names and matching them to registered keys.
  • Automatic Dependency Registrations - Automates the discovery and registration of services within the dependency injection container via filesystem scanning.
  • Service Lifetime Scopes - Manages object instantiation cycles through singleton, scoped, and transient lifetimes.
  • Scoped State Containers - Supports hierarchical container scoping to maintain private instance caches for request-specific state.
  • Dependency Resource Disposal - Provides mechanisms to execute registered cleanup functions and clear resolver caches to close connection pools and other system resources.
  • Lifetime Consistency Validation - Validates that dependencies do not have shorter lifetimes than the modules they are injected into to prevent stale data.
  • Modular Architecture - Organizes large codebases by separating service definitions from their instantiation and wiring logic.
  • Resolution Integrity Enforcement - Throws runtime errors when dependencies have shorter lifetimes than their ancestors or when singletons are registered in child scopes.
  • Proxy-Based Resolution - Provides a proxy object to modules that dynamically resolves requested dependencies on demand.
  • Recursive Dependency Resolution - Implements recursive resolution to construct complex dependency graphs for service instantiation.
  • Resource Lifecycle Managers - Tracks instantiated dependencies and executes cleanup functions when a scope is destroyed.

سجل النجوم

مخطط تاريخ النجوم لـ jeffijoe/awilixمخطط تاريخ النجوم لـ jeffijoe/awilix

بحث بالذكاء الاصطناعي

استكشف المزيد من المستودعات الرائعة

صف ما تحتاجه بلغة بسيطة — وسيقوم الذكاء الاصطناعي بترتيب آلاف المشاريع مفتوحة المصدر المنسقة حسب الصلة.

Start searching with AI

بدائل مفتوحة المصدر لـ Awilix

مشاريع مفتوحة المصدر مشابهة، مرتبة حسب عدد الميزات المشتركة مع Awilix.
  • microsoft/tsyringeالصورة الرمزية لـ microsoft

    microsoft/tsyringe

    5,960عرض على 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
    عرض على GitHub↗5,960
  • ets-labs/python-dependency-injectorالصورة الرمزية لـ ets-labs

    ets-labs/python-dependency-injector

    4,805عرض على 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
    عرض على GitHub↗4,805
  • derekyrc/mini-springالصورة الرمزية لـ DerekYRC

    DerekYRC/mini-spring

    6,360عرض على GitHub↗

    mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle of beans, including instantiation, property population, and scope management, while providing a system for automating the wiring of components. The project implements a Java AOP framework that uses dynamic proxies to intercept method calls for cross-cutting logic. It also functions as a Java component scanner to automatically discover and register managed objects via annotations and as a Java event bus to decouple components through a publish-subscribe multicast system. The

    Javamini-springspringspring-boot
    عرض على GitHub↗6,360
  • typestack/typediالصورة الرمزية لـ typestack

    typestack/typedi

    4,242عرض على 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
    عرض على GitHub↗4,242
عرض جميع البدائل الـ 30 لـ Awilix→

الأسئلة الشائعة

ما هي وظيفة jeffijoe/awilix؟

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.

ما هي الميزات الرئيسية لـ jeffijoe/awilix؟

الميزات الرئيسية لـ jeffijoe/awilix هي: Dependency Injection Containers, Dependency Injection, Dependency Lifecycle Management, Dependency Scoping, Automatic Dependency Discovery, Constructor Injection, Dependency Injection Frameworks, Dependency Resolution.

ما هي البدائل مفتوحة المصدر لـ jeffijoe/awilix؟

تشمل البدائل مفتوحة المصدر لـ jeffijoe/awilix: 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… derekyrc/mini-spring — mini-spring is a Java dependency injection framework and inversion of control container. It manages the full lifecycle… typestack/typedi — TypeDI is a TypeScript dependency injection container and inversion of control tool. It functions as a centralized… autofac/autofac — Autofac is a dependency injection framework and inversion of control container for .NET. It functions as a component… liangxiegame/qframework — QFramework is a Unity game architecture framework designed to separate presentation, system, and data logic. It…