hunk.code_window:     // eslint-disable-next-line @typescript-eslint/no-explicit-any
       if ((output as any)['ng-component']) {
         continue;
       }
       let name = initial.get(file)?.name;
       if (name === undefined && output.entryPoint) {
         name = path
           .basename(output.entryPoint)
  
hunk.labels: keep keep keep keep add keep keep keep keep
hunk.after_edit:     // Show only changed files if a changed list is provided
       if (changedFiles && !changedFiles.has(file)) {
         ++unchangedCount;
         continue;
       }
  
hunk.file_path: packages/angular_devkit/build_angular/src/tools/esbuild/utils.ts
hunk.type: add
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
   */
  
  import { TaskExecutor, TaskExecutorFactory } from '../../src';
  import { NodePackageName, NodePackageTaskFactoryOptions } from '../package-manager/options';
  import {
    RepositoryInitializerName,
    RepositoryInitializerTaskFactoryOptions,
  } from '../repo-init/options';
  import { RunSchematicName } from '../run-schematic/options';
  
  export class BuiltinTaskExecutor {
    static readonly NodePackage: TaskExecutorFactory<NodePackageTaskFactoryOptions> = {
      name: NodePackageName,
      create: (options) =>
        import('../package-manager/executor').then((mod) => mod.default(options)) as Promise<
          TaskExecutor<{}>
        >,
    };
    static readonly RepositoryInitializer: TaskExecutorFactory<RepositoryInitializerTaskFactoryOptions> =
      {
        name: RepositoryInitializerName,
        create: (options) => import('../repo-init/executor').then((mod) => mod.default(options)),
      };
    static readonly RunSchematic: TaskExecutorFactory<{}> = {
      name: RunSchematicName,
      create: () =>
        import('../run-schematic/executor').then((mod) => mod.default()) as Promise<TaskExecutor<{}>>,
    };
  }
  