UNPKG

793 BJavaScriptView Raw
1'use strict';
2
3const { load } = require('@carbon/cli-runtime');
4const { logger } = require('@carbon/cli-tools');
5const program = require('commander');
6const packageJson = require('../package.json');
7const addCommandToProgram = require('./addCommandToProgram');
8
9const cwd = process.cwd();
10
11async function main({ argv }) {
12 logger.trace(`Loading CLI for ${cwd}`);
13
14 const { error, api, env } = await load({ cwd });
15 if (error) {
16 throw error;
17 }
18
19 // prettier-ignore
20 program
21 .name('toolkit')
22 .version(packageJson.version)
23 .usage('<command> [options]');
24
25 for (const command of api.getCommands()) {
26 logger.trace(`Adding command ${command.name} to program`);
27 addCommandToProgram(program, command, env.CLI_ENV);
28 }
29
30 program.parse(argv);
31}
32
33module.exports = main;