1 | #!/usr/bin/env node
|
2 | const pkg = require('../package.json');
|
3 | const yargs = require('yargs');
|
4 | const pinoColada = require('pino-colada');
|
5 | const pino = require('pino');
|
6 |
|
7 | const colada = pinoColada();
|
8 | colada.pipe(process.stdout);
|
9 |
|
10 | const pinoInstance = pino(colada);
|
11 |
|
12 |
|
13 | const { argv } = yargs
|
14 | .commandDir('../src/commands', {
|
15 | exclude: /full/
|
16 | })
|
17 | .demandCommand()
|
18 | .config({
|
19 | logger: {
|
20 | ...['info', 'warn', 'error', 'debug', 'trace'].reduce(
|
21 | (logTypes, current) => ({
|
22 | ...logTypes,
|
23 | [current]: pinoInstance[current].bind(pinoInstance)
|
24 | }),
|
25 | {}
|
26 | )
|
27 | }
|
28 | })
|
29 | .pkgConf('holon')
|
30 | .version(pkg.version)
|
31 | .help()
|
32 | .alias('help', 'h')
|
33 | .alias('version', 'v')
|
34 | .wrap(120)
|
35 | .completion(
|
36 | 'completion',
|
37 | 'Enable bash-completion shortcuts for commands and options.'
|
38 | )
|
39 | .epilog('copyright 2018');
|