1- import { server } from '@/_boot/server' ;
2- import { appModules } from '@/_boot/appModules' ;
1+ import { server , ServerConfig , ServerRegistry } from '@/_boot/server' ;
2+ import { appModules , AppModulesConfig , AppModulesRegistry } from '@/_boot/appModules' ;
33import { asValue } from 'awilix' ;
4- import { database } from '@/_boot/database' ;
5- import { repl } from '@/_boot/repl' ;
4+ import { database , DatabaseConfig , DatabaseRegistry } from '@/_boot/database' ;
5+ import { repl , REPLConfig } from '@/_boot/repl' ;
66import { withContext } from '@/context' ;
77import { Configuration } from '@/config' ;
88import { Logger } from 'pino' ;
9- import { pubSub } from '@/_boot/pubSub' ;
10- import { MessageBundle } from '@/messages' ;
11- import { swagger } from '@/_boot/swagger' ;
9+ import { pubSub , PubSubRegistry } from '@/_boot/pubSub' ;
10+ import { swagger , SwaggerConfig } from '@/_boot/swagger' ;
11+ import { EnvironmentConfig } from '@/_lib/Environment' ;
12+ import { ContextApp } from '@/_lib/Context' ;
13+ import { Container , Initialize } from '@/container' ;
1214
13- const main = withContext ( async ( { app, container, config, bootstrap, logger, messageBundle } ) => {
15+ type MainConfig = ServerConfig & DatabaseConfig & EnvironmentConfig & REPLConfig & SwaggerConfig & AppModulesConfig ;
16+
17+ const main = withContext ( async ( { app, container, config, bootstrap, logger, initialize } ) => {
1418 container . register ( {
1519 app : asValue ( app ) ,
16- messageBundle : asValue ( messageBundle ) ,
20+ initialize : asValue ( initialize ) ,
21+ container : asValue ( container ) ,
1722 logger : asValue ( logger ) ,
1823 startedAt : asValue ( new Date ( ) ) ,
1924 config : asValue ( config ) ,
@@ -23,12 +28,16 @@ const main = withContext(async ({ app, container, config, bootstrap, logger, mes
2328} ) ;
2429
2530type MainRegistry = {
26- app : any ;
27- messageBundle : MessageBundle ;
31+ app : ContextApp ;
32+ container : Container ;
33+ initialize : Initialize ;
2834 startedAt : Date ;
2935 logger : Logger ;
3036 config : Configuration ;
31- } ;
37+ } & DatabaseRegistry &
38+ ServerRegistry &
39+ PubSubRegistry &
40+ AppModulesRegistry ;
3241
3342export { main } ;
34- export type { MainRegistry } ;
43+ export type { MainConfig , MainRegistry } ;
0 commit comments