CLI Reference
CLI Reference
Section titled “CLI Reference”Installation
Section titled “Installation”npm install -g @notjustcoders/ioc-arise# orpnpm add -g @notjustcoders/ioc-arise
Global Usage
Section titled “Global Usage”npx @notjustcoders/ioc-arise [command] [options]# or, if installed globally:ioc-arise [command] [options]
Commands
Section titled “Commands”generate
Section titled “generate”npx @notjustcoders/ioc-arise generate [options]# or, if installed globally:ioc-arise generate [options]
Options
Section titled “Options”Option | Short | Description | Default |
---|---|---|---|
--source <dir> | -s | Source directory to scan | src |
--output <file> | -o | Output file path | container.gen.ts |
--interface <pattern> | -i | Interface name pattern to match (regex) | I[A-Z].* |
--exclude <patterns...> | -e | Exclude patterns for files | [] |
--check-cycles | Only check for circular dependencies without generating | false | |
--verbose | Enable verbose logging | false |
Examples
Section titled “Examples”npx @notjustcoders/ioc-arise generatenpx @notjustcoders/ioc-arise generate --source ./src --output ./generated/container.tsnpx @notjustcoders/ioc-arise generate --interface "I[A-Z].*"npx @notjustcoders/ioc-arise generate --exclude "**/*.test.ts" "**/*.spec.ts"npx @notjustcoders/ioc-arise generate --check-cyclesnpx @notjustcoders/ioc-arise generate --verbose# or, if installed globally:ioc-arise generate
analyze
Section titled “analyze”ioc-arise analyze [options]
Options
Section titled “Options”Option | Short | Description | Default |
---|---|---|---|
--source <dir> | -s | Source directory to scan | src |
--interface <pattern> | -i | Interface name pattern to match (regex) | I[A-Z].* |
--exclude <patterns...> | -e | Exclude patterns for files | [] |
Examples
Section titled “Examples”ioc-arise analyzeioc-arise analyze --source ./modulesioc-arise analyze --interface ".*Service$"ioc-arise analyze --exclude "**/*.test.ts"
visualize
Section titled “visualize”ioc-arise visualize [options]
Options
Section titled “Options”Option | Short | Description | Default |
---|---|---|---|
--source <dir> | -s | Source directory to scan | src |
--interface <pattern> | -i | Interface name pattern to match (regex) | I[A-Z].* |
--exclude <patterns...> | -e | Exclude patterns for files | [] |
--renderer <type> | -r | Renderer type (console) | console |
Examples
Section titled “Examples”ioc-arise visualizeioc-arise visualize --renderer consoleioc-arise visualize --source ./modules
Configuration File
Section titled “Configuration File”{ "source": "src", "output": "container.gen.ts", "interface": "I[A-Z].*", "exclude": [ "**/*.test.ts", "**/*.spec.ts" ], "checkCycles": false, "verbose": false, "modules": { "UserModule": ["user/**"], "TodoModule": ["todo/**"] }}
Interface Patterns
Section titled “Interface Patterns”Pattern | Matches |
---|---|
I[A-Z].* | IUserService , IRepository |
.*Service$ | UserService , EmailService |
.*Repository$ | UserRepository , TodoRepository |
Exclusion Patterns
Section titled “Exclusion Patterns”ioc-arise generate --exclude "**/*.test.ts" "**/*.spec.ts"ioc-arise generate --exclude "**/tests/**" "**/mocks/**"ioc-arise generate --exclude "**/*.d.ts" "**/*.js"
Package.json Scripts
Section titled “Package.json Scripts”{ "scripts": { "ioc:generate": "ioc-arise generate", "ioc:analyze": "ioc-arise analyze", "ioc:check": "ioc-arise generate --check-cycles" }}
ioc-arise --helpioc-arise generate --helpioc-arise analyze --helpioc-arise visualize --help