All Projects → uditalias → Injex

uditalias / Injex

Licence: mit
Simple, Decorated, Pluggable dependency-injection framework for TypeScript applications

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to Injex

CNeptune
CNeptune improve productivity & efficiency by urbanize .net module with meta-code to lay foundation for frameworks
Stars: ✭ 30 (-53.85%)
Mutual labels:  ioc, container, dependency
Container Ioc
Inversion of Control container & Dependency Injection for Javascript and Node.js apps powered by Typescript.
Stars: ✭ 89 (+36.92%)
Mutual labels:  dependency, ioc, container
typeioc
Dependency injection container for typescript / javascript
Stars: ✭ 32 (-50.77%)
Mutual labels:  ioc, container, dependency
Tsyringe
Lightweight dependency injection container for JavaScript/TypeScript
Stars: ✭ 2,761 (+4147.69%)
Mutual labels:  dependency, ioc, container
Hiboot
hiboot is a high performance web and cli application framework with dependency injection support
Stars: ✭ 150 (+130.77%)
Mutual labels:  ioc, container
Container
A lightweight yet powerful IoC container for Go projects
Stars: ✭ 160 (+146.15%)
Mutual labels:  ioc, container
waiter
Dependency injection, Inversion of control container for rust with compile time binding.
Stars: ✭ 71 (+9.23%)
Mutual labels:  ioc, container
dioc
A dart simple dependency container based on code generation.
Stars: ✭ 47 (-27.69%)
Mutual labels:  ioc, container
firmeve
a out-of-the-box, full-featured go framework supporting http, http2, websocket, tcp, udp, rpc and microservice
Stars: ✭ 36 (-44.62%)
Mutual labels:  ioc, container
Reflex
Minimal dependency injection framework for Unity
Stars: ✭ 263 (+304.62%)
Mutual labels:  ioc, container
DependencyInjector
Lightweight dependency injector
Stars: ✭ 30 (-53.85%)
Mutual labels:  ioc, dependency
Zenject-2019
Dependency Injection Framework for Unity3D
Stars: ✭ 2,567 (+3849.23%)
Mutual labels:  ioc, dependency
Gandalf.web
Open-Source Decision Engine and Scoring Table for Big-Data.
Stars: ✭ 46 (-29.23%)
Mutual labels:  container
Poodinis
A dependency injection framework for D with support for autowiring.
Stars: ✭ 57 (-12.31%)
Mutual labels:  ioc
Singularity Tutorial
Tutorial for using Singularity containers
Stars: ✭ 46 (-29.23%)
Mutual labels:  container
Vue Slicksort
A set of vue mixins to turn any list into an animated, touch-friendly, sortable list ✌️
Stars: ✭ 1,010 (+1453.85%)
Mutual labels:  dependency
Log Pilot
Collect logs for docker containers
Stars: ✭ 1,112 (+1610.77%)
Mutual labels:  container
Photo Blog
The Photo Blog Application based on Laravel 5 and Vue.js 2 + Prerender
Stars: ✭ 55 (-15.38%)
Mutual labels:  container
Nodejs Cloud Container
Deploy, manage, and scale containerized applications on Kubernetes, powered by Google Cloud.
Stars: ✭ 38 (-41.54%)
Mutual labels:  container
Golang Docker Build Tutorial
A template project to create a minimal Docker image for a Go application
Stars: ✭ 36 (-44.62%)
Mutual labels:  container

Injex Language grade: JavaScript Injex License Node Version TypeScript Version

Simple, Decorated, Pluggable dependency-injection framework for TypeScript applications

Injex makes software architecture more easy & fun by creating a dependency tree between your application modules with a minimal API.

Home · Docs · Runtimes · Plugins · Examples

Installation

Start by installing the core package. This package includes most of the functionality you're going to use when working with the Injex framework.

npm install --save @injex/core

After the core is installed and based on your project, you need to install a runtime container. The runtime container enables modules definition and registration across your application.

You can currently choose between the Node or Webpack runtimes for the server or the client, respectively.

Node Runtime

Create a dependency-injection container inside a Node.JS application.

npm install --save @injex/node

Webpack Runtime

Create a dependency-injection container inside a Webpack bundled client-side application.

npm install --save @injex/webpack

Getting Started

Basic Usage

Create an Injex Node runtime container.

import { Injex } from "@injex/node";

Injex.create({
    rootDirs: [
        "./src"
    ]
}).bootstrap()

Injex will scan all the files and folders recursively and look for Injex modules.

Module definition example:

// src/services/mailService.ts
import { define, singleton, inject } from "@injex/core";

@define()
@singleton()
export class MailService {
    @inject() private mailProvider: IMailProvider;

    public sendMail(mail: Mail) {
        this.mailProvider.send(mail);
    }
}

Since Injex automatically scans all the files and folders inside the rootDirs, this is all you need to do to create an injectable module.

Learn more >>

Plugins

Injex is pluggable, so you can use and create your plugins to enrich your applications.

📦 Env Plugin - Manage environment variables across your application. Docs →

📦 Express Plugin - Use Injex to power up your Express application by creating controllers, better route handlers, and middlewares. Docs →

📦 React Plugin - Use React hooks to inject dependencies into components. Docs →

Learn more about Injex plugins and the plugin anatomy.

Follow Us

Follow us on Twitter or join our live Discord server for more help, ideas, and discussions.

Author

twitter/uditalias
Udi Talias

License

This repository is available under the MIT License.


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].