22import { Command } from 'commander' ;
33import packageJson from '../package.json' ;
44import { init , run , sync } from './commands/index.js' ;
5- import { logger } from './utils/index.js' ;
5+ import {
6+ TemplatesAccess ,
7+ UseCaseRunner ,
8+ UseCasesRepository ,
9+ } from './services/index.js' ;
10+ import { RepositoriesRepository } from './services/repositories.repository.js' ;
11+ import { ScriptExecutor } from './services/script-executor.js' ;
12+ import { ServersRepository } from './services/servers.repository.js' ;
13+ import { ContextCreator } from './services/use-cases/context-creator.js' ;
14+ import { DefaultInjector , inject , Logger } from './utils/index.js' ;
615
716const handleSigTerm = ( ) => process . exit ( 0 ) ;
817process . on ( 'SIGINT' , handleSigTerm ) ;
918process . on ( 'SIGTERM' , handleSigTerm ) ;
1019process . on ( 'uncaughtException' , err => {
11- logger . error ( err . message ) ;
20+ inject ( Logger ) . error ( err . message ) ;
1221 process . exit ( 1 ) ;
1322} ) ;
1423
24+ DefaultInjector . getInstance ( [
25+ [ Logger , { factory : ( ) => new Logger ( ) } ] ,
26+ [ ScriptExecutor , { factory : ( ) => new ScriptExecutor ( ) } ] ,
27+ [ TemplatesAccess , { factory : ( ) => new TemplatesAccess ( ) } ] ,
28+ [ RepositoriesRepository , { factory : ( ) => new RepositoriesRepository ( ) } ] ,
29+ [ ServersRepository , { factory : ( ) => new ServersRepository ( ) } ] ,
30+ [ UseCasesRepository , { factory : ( ) => new UseCasesRepository ( ) } ] ,
31+ [ ContextCreator , { factory : ( ) => new ContextCreator ( ) } ] ,
32+ [ UseCaseRunner , { factory : ( ) => new UseCaseRunner ( ) } ] ,
33+ ] ) ;
34+
1535new Command ( )
1636 . name ( packageJson . name )
1737 . description ( packageJson . description )
@@ -21,7 +41,7 @@ new Command()
2141 . addCommand ( sync )
2242 . parseAsync ( )
2343 . catch ( err => {
24- logger . error ( err . message ) ;
44+ inject ( Logger ) . error ( err . message ) ;
2545 process . exit ( 1 ) ;
2646 } )
27- . finally ( ( ) => logger . success ( 'Finished execution.' ) ) ;
47+ . finally ( ( ) => inject ( Logger ) . success ( 'Finished execution.' ) ) ;
0 commit comments