hunk.code_window:   // stuck to the first build done
     return npm('install', '@angular/service-worker')
       .then(() => ng('set', 'apps.0.serviceWorker=true'))
       .then(() => ng('build', '--prod'))
       .then(() => expectFileToExist(join(process.cwd(), 'dist')))
       .then(() => expectFileToExist(join(process.cwd(), 'dist/ngsw-manifest.json')));
   }
hunk.labels: keep keep keep keep keep replace keep
hunk.after_edit:     .then(() => expectFileToExist(join(process.cwd(), 'dist/ngsw-manifest.json')))
       .then(() => ng('build', '--prod', '--base-href=/foo/bar'))
       .then(() => expectFileToExist(join(process.cwd(), 'dist/ngsw-manifest.json')))
       .then(() => expectFileToMatch('dist/ngsw-manifest.json', /"\/foo\/bar\/index.html"/));
  
hunk.file_path: tests/e2e/tests/build/service-worker.ts
hunk.type: replace
file: import {Serializer} from './serializer';
  
  
  // A TypeScript Type. This can be used to do `new tsType(value)`.
  // `null` implies any type; be careful.
  export type TypeScriptType = typeof Number
    | typeof Boolean
    | typeof String
    | typeof Object
    | typeof Array
    | null;
  
  
  // The most generic interface for a schema node. This is used by the serializers.
  export interface SchemaNode {
    readonly name: string;
    readonly type: string;
    readonly tsType: TypeScriptType;
    readonly defined: boolean;
    readonly dirty: boolean;
    readonly frozen: boolean;
    readonly readOnly: boolean;
    readonly defaultValue: any | null;
    readonly required: boolean;
    readonly parent: SchemaNode | null;
  
    // Schema related properties.
    readonly description: string | null;
  
    // Object-only properties. `null` for everything else.
    readonly children: { [key: string]: SchemaNode } | null;
  
    // Array-only properties. `null` for everything else.
    readonly items: SchemaNode[] | null;
    readonly itemPrototype: SchemaNode | null;
  
    // Mutable properties.
    value: any;
  
    // Serialization.
    serialize(serializer: Serializer): void;
  }
  