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