You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

44 lines
1.0 KiB

import {Application, CommandLineApplication} from '@extollo/lib'
import {Units} from './Units.extollo'
/*
* Helper functions to bootstrap the Application instance for different uses.
*/
/**
* Get the base application with no final-target unit.
*/
export function base(): Application {
const app = Application.getApplication()
app.scaffold(__dirname, Units.slice(0, -1))
return app
}
/**
* Get the application with the final unit replaced with the CommandLineApplication
* for use on the CLI.
*/
export function cli(): Application {
const app = Application.getApplication()
app.forceStartupMessage = false
const units = [...Units]
units.reverse()
CommandLineApplication.setReplacement(units[0])
units[0] = CommandLineApplication
units.reverse()
app.scaffold(__dirname, units)
return app
}
/**
* Get the application as it should be run normally.
*/
export function app(): Application {
const app = Application.getApplication()
app.scaffold(__dirname, Units)
return app
}