hunk.code_window: export function ngServe(...args: string[]) {
     return silentExecAndWaitForOutputToMatch('ng',
       ['serve', '--no-progress', ...args],
       /webpack: bundle is now VALID|webpack: Compiled successfully./);
   }
  
hunk.labels: keep keep keep keep replace keep keep keep
hunk.after_edit:     ['serve', ...args],
  
hunk.file_path: tests/e2e/utils/project.ts
hunk.type: replace
file: import {ng} from '../../utils/process';
  import {deleteFile, expectFileToExist, moveFile, symlinkFile} from '../../utils/fs';
  
  
  // THIS TEST REQUIRES TO MOVE NODE_MODULES AND MOVE IT BACK.
  export default function() {
    return Promise.resolve()
      .then(() => moveFile('node_modules', '../node_modules'))
      .then(() => symlinkFile('../node_modules', 'node_modules', 'dir'))
      .then(() => ng('build'))
      .then(() => expectFileToExist('dist/vendor.bundle.js'))
      .then(() => expectFileToExist('dist/vendor.bundle.js.map'))
      // Cleanup
      .then(() => {
        return deleteFile('node_modules')
          .then(() => moveFile('../node_modules', 'node_modules'));
      }, (err: any) => {
        return deleteFile('node_modules')
          .then(() => moveFile('../node_modules', 'node_modules'))
          .then(() => { throw err; });
      })
  }
  