hunk.code_window:       });
     });
     it('my-comp --inline-template', function () {
       return ng(['generate', 'component', 'my-comp', '--inline-template']).then(() => {
         var testPath = path.join(root, 'tmp', 'foo', 'src', 'app', 'my-comp', 'my-comp.component.html');
         expect(existsSync(testPath)).to.equal(false);
       });
  
hunk.labels: keep keep add keep keep keep keep keep
hunk.after_edit:   it(`non${path.sep}existing${path.sep}dir${path.sep}myComp will create dir and succeed`, () => {
       const testPath =
         path.join(root, 'tmp', 'foo', 'src', 'app', 'non', 'existing', 'dir', 'my-comp', 'my-comp.component.ts');
       const appModule = path.join(root, 'tmp', 'foo', 'src', 'app', 'app.module.ts');
       return ng(['generate', 'component', `non${path.sep}existing${path.sep}dir${path.sep}myComp`])
         .then(() => expect(existsSync(testPath)).to.equal(true))
         .then(() => readFile(appModule, 'utf-8'))
         .then(content => {
           // Expect that the app.module contains a reference to my-comp and its import.
           expect(content)
             .matches(/import.*MyCompComponent.*from '.\/non\/existing\/dir\/my-comp\/my-comp.component';/);
         });
     });
  
hunk.file_path: tests/acceptance/generate-component.spec.js
hunk.type: add
file: 'use strict';
  
  const fs = require('fs');
  const glob = require('glob');
  const path = require('path');
  
  const packageRoot = path.join(__dirname, '../packages');
  
  // All the supported packages. Go through the packages directory and create a map of
  // name => fullPath.
  const packages =
    glob.sync(path.join(packageRoot, '**/package.json'))
      .filter(p => !p.match(/blueprints/))
      .map(pkgPath => path.relative(packageRoot, path.dirname(pkgPath)))
      .map(pkgName => {
        return { name: pkgName, root: path.join(packageRoot, pkgName) };
      })
      .reduce((packages, pkg) => {
        let pkgJson = JSON.parse(fs.readFileSync(path.join(pkg.root, 'package.json'), 'utf8'));
        let name = pkgJson['name'];
  
        packages[name] = {
          dist: path.join(__dirname, '../dist', pkg.name),
          packageJson: path.join(pkg.root, 'package.json'),
          root: pkg.root,
          relative: path.relative(path.dirname(__dirname), pkg.root),
          main: path.resolve(pkg.root, 'src/index.ts')
        };
        return packages;
      }, {});
  
  
  module.exports = packages;
  
  
  // If we run this from the command line, just output the list of modules neatly formatted.
  if (require.main === module) {
    // eslint-disable-next-line no-console
    console.log(JSON.stringify(packages, null, 2));
  }
  