UNPKG

852 BPlain TextView Raw
1import { RunnerResult, RunnerConfig } from './types'
2import resolve from './config-resolver'
3
4import engine from './engine'
5
6import { printHelp, availableActions } from './help'
7
8const runner = async (
9 argv: string[],
10 config: RunnerConfig,
11): Promise<RunnerResult> => {
12 const resolvedConfig = await resolve(config)
13 const { templates, logger } = resolvedConfig
14 try {
15 const actions = await engine(argv, resolvedConfig)
16 return { success: true, actions, time: 0 }
17 } catch (err) {
18 logger.log(err.toString())
19 if (resolvedConfig.debug) {
20 logger.log('details -----------')
21 logger.log(err.stack)
22 logger.log('-------------------')
23 }
24 printHelp(templates, logger)
25 return { success: false, actions: [], time: 0 }
26 // process.exit(1)
27 }
28}
29
30export { runner, engine, resolve, printHelp, availableActions }