1 | import { inspect } from 'util';
|
2 | import kleur from 'kleur';
|
3 | import CliError from './CliError.mjs';
|
4 | import errorConsole from './errorConsole.mjs';
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 |
|
11 |
|
12 |
|
13 |
|
14 | export default function reportCliError(cliDescription, error) {
|
15 | if (typeof cliDescription !== 'string')
|
16 | throw new TypeError('First argument `cliDescription` must be a string.');
|
17 |
|
18 | errorConsole.group(
|
19 |
|
20 | `\n${kleur.bold().red(`Error running ${cliDescription}:`)}\n`
|
21 | );
|
22 |
|
23 | errorConsole.error(
|
24 | kleur.red(
|
25 | error instanceof CliError
|
26 | ? error.message
|
27 | : error instanceof Error
|
28 | ?
|
29 |
|
30 |
|
31 |
|
32 | error.stack || error
|
33 | : inspect(error)
|
34 | )
|
35 | );
|
36 |
|
37 | errorConsole.groupEnd();
|
38 |
|
39 |
|
40 | errorConsole.error();
|
41 | }
|