Configuration Reference
Configuration Reference
Section titled “Configuration Reference”Basic Configuration
Section titled “Basic Configuration”Create an ioc.config.json file in your project root:
{ "sourceDir": "./src", "outputPath": "./src/container.gen.ts", "interface": "I*.ts", "exclude": [ "node_modules", "dist", "**/*.test.ts", "**/*.spec.ts" ], "modules": { "UserModule": ["user/**", "auth/**"], "TodoModule": ["todo/**"], "CoreModule": ["core/**"] }}Configuration Options
Section titled “Configuration Options”| Option | Type | Default | Description |
|---|---|---|---|
sourceDir | string | "./src" | Source directory to analyze |
outputPath | string | "container.gen.ts" | Output file path for generated code |
interface | string | "I*.ts" | Interface file pattern (glob) |
exclude | string[] | [] | File patterns to exclude from analysis |
modules | Record<string, string[]> | undefined | Module groupings (optional) |
Interface Patterns
Section titled “Interface Patterns”"I*.ts"- Files starting with ‘I’ (default)"*Interface.ts"- Files ending with ‘Interface’"*Service.ts"- Files ending with ‘Service’"I*.ts|*Repository.ts"- Multiple patterns
Exclude Patterns
Section titled “Exclude Patterns”{ "exclude": [ "**/*.test.ts", "**/*.spec.ts", "**/mocks/**", "**/*.d.ts" ]}Module Configuration
Section titled “Module Configuration”{ "modules": { "UserModule": ["user/**", "auth/**"], "TodoModule": ["todo/**", "!todo/**/*.test.ts"], "InfrastructureModule": ["infrastructure/**", "repositories/**"] }}CLI Override
Section titled “CLI Override”npx @notjustcoders/ioc-arise generate --source lib --output custom.ts --verbosenpx @notjustcoders/ioc-arise generate --config ioc.dev.json# or, if installed globally:ioc-arise generate --source lib --output custom.ts --verbosePriority: CLI arguments > Configuration file > Defaults
Project Examples
Section titled “Project Examples”Monorepo:
{ "sourceDir": "./packages", "outputPath": "./packages/container.gen.ts", "modules": { "CoreModule": ["core/**"], "UIModule": ["ui/**"] }}Clean Architecture:
{ "sourceDir": "./src", "outputPath": "./src/container.gen.ts", "interface": "I*.ts", "modules": { "DomainModule": ["domain/**"], "ApplicationModule": ["application/**"], "InfrastructureModule": ["infrastructure/**"] }}