UNPKG

1.16 kBJavaScriptView Raw
1//--------------------------------------------------------
2//-- CLI bootstrap
3//--------------------------------------------------------
4'use strict';
5
6//-- Start
7require('./helpers/alias')();
8const chalk = require('chalk');
9const meow = require('meow');
10const cli = require('@absolunet/cli');
11const { terminal } = require('@absolunet/terminal');
12const env = require('~/helpers/env');
13const paths = require('~/helpers/paths');
14const util = require('~/helpers/util');
15
16
17module.exports = ({ cliPkg, cliPath, cliUsage }) => {
18
19 //-- Initialize
20 util.initCli(cliUsage);
21
22 //-- Don't you dare sudo me
23 if (cli.isRoot()) {
24 terminal.dontSudoMe();
25
26 //-- Initialize CLI
27 } else {
28
29 const cliBin = ` cli${chalk.yellow('@')}${cliPkg.version} ${cliPath}`;
30 const workflowBin = `workflow${chalk.yellow('@')}${env.workflowConfig.version} ${paths.workflow.root}`;
31
32 cli.tasksRouter(meow({
33 pkg: cliPkg, // eslint-disable-line unicorn/prevent-abbreviations
34 description: `${env.logo} ${env.workflowConfig.definition}`,
35 help: `${cli.fullUsage}\n${cliBin}\n${workflowBin}`
36 }));
37 }
38
39};