// readme

injecute

Type-safe dependency injection for TypeScript and JavaScript: explicit wiring, plain classes, no decorators. Adopt it one module at a time in an existing app, or structure a new one without a framework’s opinions.

Features

  • Typed from the registrations. get() results and factory parameters are inferred; a missing service or a wrong dependency key fails the typecheck. See TypeScript.
  • Explicit wiring, plain classes. Dependencies are keys listed next to the factory. Your code has no decorators, no reflection and no container imports (why).
  • Modules and private services. Each module declares the services it needs, and the compiler checks that the app provides them. See Modules.
  • Extension points. Modules contribute routes, handlers or plugins through tags, without importing each other.
  • Scopes. A fork per request, transaction or job, with its own services; the root can’t depend on a scope,…