hunk.code_window:   devServerConfig.stats = false;
     return createWebpack({ ...config, watch: false }).pipe(
       switchMap(webpackCompiler => new Observable<DevServerBuildOutput>(obs => {
         const server = createWebpackDevServer(webpackCompiler, devServerConfig);
         let result: DevServerBuildOutput;
         webpackCompiler.hooks.done.tap('build-webpack', (stats) => {
           // Log stats.
           log(stats, config);
  
hunk.labels: keep keep keep keep keep replace keep keep keep keep
hunk.after_edit:       let result: Partial<DevServerBuildOutput>;
  
hunk.file_path: packages/angular_devkit/build_webpack/src/webpack-dev-server/index.ts
hunk.type: replace
file: /**
   * @license
   * Copyright Google Inc. All Rights Reserved.
   *
   * Use of this source code is governed by an MIT-style license that can be
   * found in the LICENSE file at https://angular.io/license
   */
  import { toArray } from 'rxjs/operators';
  import { LogEntry, Logger } from './logger';
  import { NullLogger } from './null-logger';
  
  
  describe('NullLogger', () => {
    it('works', (done: DoneFn) => {
      const logger = new NullLogger();
      logger.pipe(toArray())
        .toPromise()
        .then((observed: LogEntry[]) => {
          expect(observed).toEqual([]);
        })
        .then(() => done(), err => done.fail(err));
  
      logger.debug('hello');
      logger.info('world');
      logger.complete();
    });
  
    it('nullifies children', (done: DoneFn) => {
      const logger = new Logger('test');
      logger.pipe(toArray())
        .toPromise()
        .then((observed: LogEntry[]) => {
          expect(observed).toEqual([]);
        })
        .then(() => done(), err => done.fail(err));
  
      const nullLogger = new NullLogger(logger);
      const child = new Logger('test', nullLogger);
      child.debug('hello');
      child.info('world');
      logger.complete();
    });
  });
  