From 2ae87aea108d96ca7aa843751038eb299e0a0b11 Mon Sep 17 00:00:00 2001 From: Alan Agius Date: Tue, 11 Dec 2018 18:50:18 +0100 Subject: [PATCH] fix(@angular-devkit/build-angular): output non human readable lint result At the moment, when the tslint formatted is non human readable, it is being fully silenced. This changes this behaviour and only emit the formatted result. Fixes #13173 --- .../build_angular/src/tslint/index.ts | 15 +++++++-------- .../build_angular/test/tslint/works_spec_large.ts | 1 + 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/angular_devkit/build_angular/src/tslint/index.ts b/packages/angular_devkit/build_angular/src/tslint/index.ts index 6fcf8b11854e..525334b47950 100644 --- a/packages/angular_devkit/build_angular/src/tslint/index.ts +++ b/packages/angular_devkit/build_angular/src/tslint/index.ts @@ -63,12 +63,11 @@ export default class TslintBuilder implements Builder { const targetSpecifier = this.context.targetSpecifier; const projectName = targetSpecifier && targetSpecifier.project || ''; - // Print formatter output directly for non human-readable formats. - if (!['prose', 'verbose', 'stylish'].includes(options.format)) { - options.silent = true; - } + // Print formatter output only for non human-readable formats. + const printInfo = ['prose', 'verbose', 'stylish'].includes(options.format) + && !options.silent; - if (!options.silent) { + if (printInfo) { this.context.logger.info(`Linting ${JSON.stringify(projectName)}...`); } @@ -127,15 +126,15 @@ export default class TslintBuilder implements Builder { } } - if (result.warningCount > 0 && !options.silent) { + if (result.warningCount > 0 && printInfo) { this.context.logger.warn('Lint warnings found in the listed files.'); } - if (result.errorCount > 0 && !options.silent) { + if (result.errorCount > 0 && printInfo) { this.context.logger.error('Lint errors found in the listed files.'); } - if (result.warningCount === 0 && result.errorCount === 0 && !options.silent) { + if (result.warningCount === 0 && result.errorCount === 0 && printInfo) { this.context.logger.info('All files pass linting.'); } diff --git a/packages/angular_devkit/build_angular/test/tslint/works_spec_large.ts b/packages/angular_devkit/build_angular/test/tslint/works_spec_large.ts index 583557cdf3b9..b3789f669b47 100644 --- a/packages/angular_devkit/build_angular/test/tslint/works_spec_large.ts +++ b/packages/angular_devkit/build_angular/test/tslint/works_spec_large.ts @@ -43,6 +43,7 @@ describe('Tslint Target', () => { tap((buildEvent) => expect(buildEvent.success).toBe(true)), tap(() => { expect(logger.includes('Linting "app"...')).toBe(false); + expect(logger.includes('