Getting Started
Installation
Section titled “Installation”pnpm add -D @notjustcoders/ioc-arise
- Generate IoC Container
npx @notjustcoders/ioc-arise generate --source ./src --output ./src/container.ts
- Use the Container
import { container } from "./container";
const userService = container.coreModule.UserService;
Simple Configuration
Section titled “Simple Configuration”Create ioc.config.json
in your project root:
{ "source": "./src", "output": "./src/container.ts", "interface": "I*", "exclude": ["**/*.test.ts", "**/*.spec.ts"]}
Modules Configuration
Section titled “Modules Configuration”Organize code into separate modules:
{ "source": "./src", "output": "./src/container.ts", "modules": { "UserModule": ["user/**"], "TodoModule": ["todo/**"] }}
Access: container.userModule.UserService
Scopes
Section titled “Scopes”- Singleton (default): One instance per container
- Transient: New instance each time
/** * @scope transient */export class TempService {}
Then run:
npx @notjustcoders/ioc-arise generate
Next Steps: Check out our examples for more advanced usage patterns.