ย
ย
ย
import { scope, singleton, factory } from 'discope'
import pino from 'pino'
import { createConfig } from './config.js'
import App from './App.js'
const servicesScope = scope((deps) => {
const logger = factory(({ name }) => {
return pino({ name, level: deps.config.logLevel })
})
return { logger }
})
const appScope = scope(() => {
const config = singleton(() => createConfig())
const { logger } = servicesScope({ config })
const app = singleton(() => new App({ config: config(), logger: logger('App') }))
return { app }
})
const app = appScope()()
app.start()