hunk.code_window:         if (fs.existsSync(fileName)) {
             // Put the moduleName as relative to the main.ts.
             const fullPath = path.resolve(path.dirname(tsPath), moduleName);
             const name = `./${path.relative(projectRoot, fullPath)}.ts`;
             result[name] = true;
           }
         });
       });
  
hunk.labels: keep keep replace replace replace keep keep keep
hunk.after_edit:           result[moduleName] = fileName;
  
hunk.file_path: addon/ng2/models/find-lazy-modules.ts
hunk.type: replace
file: import {npm, ng} from '../../utils/process';
  import {updateJsonFile} from '../../utils/project';
  import {expectFileToMatch} from '../../utils/fs';
  import {oneLineTrim} from 'common-tags';
  
  
  export default function() {
    return Promise.resolve()
      .then(() => npm('install', 'bootstrap@next'))
      .then(() => updateJsonFile('angular-cli.json', configJson => {
        const app = configJson['apps'][0];
        app['styles'].push('../node_modules/bootstrap/dist/css/bootstrap.css');
        app['scripts'].push(
          '../node_modules/jquery/dist/jquery.js',
          '../node_modules/tether/dist/js/tether.js',
          '../node_modules/bootstrap/dist/js/bootstrap.js'
        );
      }))
      .then(() => ng('build'))
      .then(() => expectFileToMatch('dist/scripts.bundle.js', '/*!\\n * jQuery JavaScript'))
      .then(() => expectFileToMatch('dist/scripts.bundle.js', '/*! tether '))
      .then(() => expectFileToMatch('dist/scripts.bundle.js', '/*!\\n * Bootstrap'))
      .then(() => expectFileToMatch('dist/styles.bundle.js', '/*!\\n * Bootstrap'))
      .then(() => expectFileToMatch('dist/index.html', oneLineTrim`
        <script type="text/javascript" src="inline.js"></script>
        <script type="text/javascript" src="styles.bundle.js"></script>
        <script type="text/javascript" src="scripts.bundle.js"></script>
        <script type="text/javascript" src="main.bundle.js"></script>
      `));
  }
  