hunk.code_window:     // Write a file to the output path to later verify it was deleted.
       host.writeMultipleFiles({
         'src-link/dummy.txt': '',
         'dist/file.txt': virtualFs.stringToFileBuffer('file'),
       });
       const distLinked = join(host.root(), 'dist', 'linked');
  
hunk.labels: keep keep replace keep keep keep keep keep
hunk.after_edit:       'src-link/a.txt': '',
  
hunk.file_path: packages/angular_devkit/build_angular/src/builders/browser/specs/output-path_spec.ts
hunk.type: replace
file: /**
   * @license
   * Copyright Google LLC 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
   */
  
  export class SharedTSCompilationState {
    #pendingCompilation = true;
    #resolveCompilationReady: (() => void) | undefined;
    #compilationReadyPromise: Promise<void> | undefined;
  
    get waitUntilReady(): Promise<void> {
      if (!this.#pendingCompilation) {
        return Promise.resolve();
      }
  
      this.#compilationReadyPromise ??= new Promise((resolve) => {
        this.#resolveCompilationReady = resolve;
      });
  
      return this.#compilationReadyPromise;
    }
  
    markAsReady(): void {
      this.#resolveCompilationReady?.();
      this.#compilationReadyPromise = undefined;
      this.#pendingCompilation = false;
    }
  
    markAsInProgress(): void {
      this.#pendingCompilation = true;
    }
  
    dispose(): void {
      this.markAsReady();
      globalSharedCompilationState = undefined;
    }
  }
  
  let globalSharedCompilationState: SharedTSCompilationState | undefined;
  
  export function getSharedCompilationState(): SharedTSCompilationState {
    return (globalSharedCompilationState ??= new SharedTSCompilationState());
  }
  