Skip to content

Commit d849834

Browse files
clydinalexeagle
authored andcommitted
feat(@angular-devkit/core): support console logger color customization
1 parent 889c254 commit d849834

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

etc/api/angular_devkit/core/node/_golden-api.d.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
export declare function createConsoleLogger(verbose?: boolean, stdout?: ProcessOutput, stderr?: ProcessOutput): logging.Logger;
1+
export declare function createConsoleLogger(verbose?: boolean, stdout?: ProcessOutput, stderr?: ProcessOutput, colors?: Partial<Record<logging.LogLevel, (s: string) => string>>): logging.Logger;
22

33
export declare function isDirectory(filePath: string): boolean;
44

packages/angular_devkit/core/node/cli-logger.ts

+5-5
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,25 @@ export function createConsoleLogger(
1919
verbose = false,
2020
stdout: ProcessOutput = process.stdout,
2121
stderr: ProcessOutput = process.stderr,
22+
colors?: Partial<Record<logging.LogLevel, (s: string) => string>>,
2223
): logging.Logger {
2324
const logger = new logging.IndentLogger('cling');
2425

2526
logger
2627
.pipe(filter(entry => (entry.level != 'debug' || verbose)))
2728
.subscribe(entry => {
28-
let color = terminal.dim;
29+
let color = colors && colors[entry.level];
2930
let output = stdout;
3031
switch (entry.level) {
3132
case 'info':
32-
color = s => s;
3333
break;
3434
case 'warn':
35-
color = (s: string) => terminal.bold(terminal.yellow(s));
35+
color = color || (s => terminal.bold(terminal.yellow(s)));
3636
output = stderr;
3737
break;
3838
case 'fatal':
3939
case 'error':
40-
color = (s: string) => terminal.bold(terminal.red(s));
40+
color = color || (s => terminal.bold(terminal.red(s)));
4141
output = stderr;
4242
break;
4343
}
@@ -66,7 +66,7 @@ export function createConsoleLogger(
6666
while (message) {
6767
const chunk = message.slice(0, chunkSize);
6868
message = message.slice(chunkSize);
69-
output.write(color(chunk));
69+
output.write(color ? color(chunk) : chunk);
7070
}
7171
output.write('\n');
7272
});

0 commit comments

Comments
 (0)