Skip to content

CLI Reference

Terminal window
npm install -g @notjustcoders/ioc-arise
# or
pnpm add -g @notjustcoders/ioc-arise
Terminal window
npx @notjustcoders/ioc-arise [command] [options]
# or, if installed globally:
ioc-arise [command] [options]
Terminal window
npx @notjustcoders/ioc-arise generate [options]
# or, if installed globally:
ioc-arise generate [options]
OptionShortDescriptionDefault
--source <dir>-sSource directory to scansrc
--output <file>-oOutput file pathcontainer.gen.ts
--interface <pattern>-iInterface name pattern to match (regex)I[A-Z].*
--exclude <patterns...>-eExclude patterns for files[]
--check-cyclesOnly check for circular dependencies without generatingfalse
--verboseEnable verbose loggingfalse
Terminal window
npx @notjustcoders/ioc-arise generate
npx @notjustcoders/ioc-arise generate --source ./src --output ./generated/container.ts
npx @notjustcoders/ioc-arise generate --interface "I[A-Z].*"
npx @notjustcoders/ioc-arise generate --exclude "**/*.test.ts" "**/*.spec.ts"
npx @notjustcoders/ioc-arise generate --check-cycles
npx @notjustcoders/ioc-arise generate --verbose
# or, if installed globally:
ioc-arise generate
Terminal window
ioc-arise analyze [options]
OptionShortDescriptionDefault
--source <dir>-sSource directory to scansrc
--interface <pattern>-iInterface name pattern to match (regex)I[A-Z].*
--exclude <patterns...>-eExclude patterns for files[]
Terminal window
ioc-arise analyze
ioc-arise analyze --source ./modules
ioc-arise analyze --interface ".*Service$"
ioc-arise analyze --exclude "**/*.test.ts"
Terminal window
ioc-arise visualize [options]
OptionShortDescriptionDefault
--source <dir>-sSource directory to scansrc
--interface <pattern>-iInterface name pattern to match (regex)I[A-Z].*
--exclude <patterns...>-eExclude patterns for files[]
--renderer <type>-rRenderer type (console)console
Terminal window
ioc-arise visualize
ioc-arise visualize --renderer console
ioc-arise visualize --source ./modules
{
"source": "src",
"output": "container.gen.ts",
"interface": "I[A-Z].*",
"exclude": [
"**/*.test.ts",
"**/*.spec.ts"
],
"checkCycles": false,
"verbose": false,
"modules": {
"UserModule": ["user/**"],
"TodoModule": ["todo/**"]
}
}
PatternMatches
I[A-Z].*IUserService, IRepository
.*Service$UserService, EmailService
.*Repository$UserRepository, TodoRepository
Terminal window
ioc-arise generate --exclude "**/*.test.ts" "**/*.spec.ts"
ioc-arise generate --exclude "**/tests/**" "**/mocks/**"
ioc-arise generate --exclude "**/*.d.ts" "**/*.js"
{
"scripts": {
"ioc:generate": "ioc-arise generate",
"ioc:analyze": "ioc-arise analyze",
"ioc:check": "ioc-arise generate --check-cycles"
}
}
Terminal window
ioc-arise --help
ioc-arise generate --help
ioc-arise analyze --help
ioc-arise visualize --help