diff --git a/packages/angular_devkit/build_angular/src/dev-server/index.ts b/packages/angular_devkit/build_angular/src/dev-server/index.ts index fe6fc802d67f..38d430992a30 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/index.ts +++ b/packages/angular_devkit/build_angular/src/dev-server/index.ts @@ -57,6 +57,7 @@ export interface DevServerBuilderOptions { baseHref?: string; progress?: boolean; poll?: number; + verbose?: boolean; } @@ -407,6 +408,7 @@ export class DevServerBuilder implements Builder { ...(options.baseHref !== undefined ? { baseHref: options.baseHref } : {}), ...(options.progress !== undefined ? { progress: options.progress } : {}), ...(options.poll !== undefined ? { poll: options.poll } : {}), + ...(options.verbose !== undefined ? { verbose: options.verbose } : {}), }; const browserTargetSpec = { project, target, configuration, overrides }; diff --git a/packages/angular_devkit/build_angular/src/dev-server/schema.json b/packages/angular_devkit/build_angular/src/dev-server/schema.json index aca802e180d0..78a3fa78859b 100644 --- a/packages/angular_devkit/build_angular/src/dev-server/schema.json +++ b/packages/angular_devkit/build_angular/src/dev-server/schema.json @@ -40,6 +40,11 @@ "default": false, "alias": "o" }, + "verbose": { + "type": "boolean", + "description": "Adds more details to output logging.", + "default": false + }, "liveReload": { "type": "boolean", "description": "Whether to reload the page on change, using live-reload.", diff --git a/packages/angular_devkit/build_angular/test/dev-server/works_spec_large.ts b/packages/angular_devkit/build_angular/test/dev-server/works_spec_large.ts index e3148762ba8c..6c62967f007a 100644 --- a/packages/angular_devkit/build_angular/test/dev-server/works_spec_large.ts +++ b/packages/angular_devkit/build_angular/test/dev-server/works_spec_large.ts @@ -6,9 +6,10 @@ * found in the LICENSE file at https://angular.io/license */ -import { request, runTargetSpec } from '@angular-devkit/architect/testing'; +import { TestLogger, request, runTargetSpec } from '@angular-devkit/architect/testing'; import { from } from 'rxjs'; import { concatMap, take, tap } from 'rxjs/operators'; +import { DevServerBuilderOptions } from '../../src'; import { devServerTargetSpec, host } from '../utils'; @@ -24,4 +25,13 @@ describe('Dev Server Builder', () => { take(1), ).toPromise().then(done, done.fail); }, 30000); + + it('works with verbose', (done) => { + const overrides: Partial = { verbose: true }; + const logger = new TestLogger('verbose-serve'); + runTargetSpec(host, devServerTargetSpec, overrides, undefined, logger).pipe( + tap(() => expect(logger.includes('Built at')).toBe(true)), + take(1), + ).toPromise().then(done, done.fail); + }, 30000); });