hunk.code_window:       i18nInFile: i18nInFile,
         i18nInFormat: buildOptions.i18nFormat,
       };
     const additionalLazyModules: { [module: string]: string } = {};
     if (buildOptions.lazyModules) {
       for (const lazyModule of buildOptions.lazyModules) {
         additionalLazyModules[lazyModule] = path.resolve(
           root,
  
hunk.labels: keep keep keep add keep keep keep keep keep
hunk.after_edit:   const compilerOptions = options.compilerOptions || {};
     if (i18nExtract) {
       // Extraction of i18n is still using the legacy VE pipeline
       compilerOptions.enableIvy = false;
     }
  
hunk.file_path: packages/angular_devkit/build_angular/src/angular-cli-files/models/webpack-configs/typescript.ts
hunk.type: add
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 { Observable, of, throwError } from 'rxjs';
  import { FileDoesNotExistException } from '../../exception';
  import { Path, PathFragment } from '../path';
  import { FileBuffer, HostCapabilities, ReadonlyHost, Stats } from './interface';
  
  export class Empty implements ReadonlyHost {
    readonly capabilities: HostCapabilities = {
      synchronous: true,
    };
  
    read(path: Path): Observable<FileBuffer> {
      return throwError(new FileDoesNotExistException(path));
    }
  
    list(path: Path): Observable<PathFragment[]> {
      return of([]);
    }
  
    exists(path: Path): Observable<boolean> {
      return of(false);
    }
  
    isDirectory(path: Path): Observable<boolean> {
      return of(false);
    }
  
    isFile(path: Path): Observable<boolean> {
      return of(false);
    }
  
    stat(path: Path): Observable<Stats<{}> | null> {
      // We support stat() but have no file.
      return of(null);
    }
  }
  