#!/usr/bin/env -S node --experimental-repl-await
import {globalRegistry, env} from '@extollo/lib'
import {cli} from './bootstrap'

globalRegistry.run(async () => {
    /*
     * The Application
     * -----------------------------------------------------
     * The application instance is a global inversion of control container that
     * ties your entire application together. The app container manages services
     * and lifecycle.
     */
    const appInstance = cli()

    const limitOverride = env('STACK_TRACE_LIMIT')
    if ( limitOverride && !isNaN(limitOverride) ) {
        Error.stackTraceLimit = limitOverride
    }

    await appInstance.run()
})
