Skip to content

Getting Started

Terminal window
pnpm add -D @notjustcoders/ioc-arise
  1. Generate IoC Container
Terminal window
npx @notjustcoders/ioc-arise generate --source ./src --output ./src/container.ts
  1. Use the Container
import { container } from "./container";
const userService = container.coreModule.UserService;

Create ioc.config.json in your project root:

{
"source": "./src",
"output": "./src/container.ts",
"interface": "I*",
"exclude": ["**/*.test.ts", "**/*.spec.ts"]
}

Organize code into separate modules:

{
"source": "./src",
"output": "./src/container.ts",
"modules": {
"UserModule": ["user/**"],
"TodoModule": ["todo/**"]
}
}

Access: container.userModule.UserService

  • Singleton (default): One instance per container
  • Transient: New instance each time
/**
* @scope transient
*/
export class TempService {}

Then run:

Terminal window
npx @notjustcoders/ioc-arise generate

Next Steps: Check out our examples for more advanced usage patterns.