hunk.code_window:     "karma-chrome-launcher": "^2.0.0",
       "karma-cli": "^1.0.1",
       "karma-jasmine": "^1.0.2",
       "karma-remap-istanbul": "^0.6.0",
       "protractor": "~5.1.0",
       "ts-node": "1.2.1",
       "tslint": "^4.3.0",
       "typescript": "~2.0.3"
     }
  
hunk.labels: keep keep keep replace keep keep keep keep keep
hunk.after_edit:     "karma-coverage-istanbul-reporter": "^0.2.0",
  
hunk.file_path: packages/@angular/cli/blueprints/ng2/files/package.json
hunk.type: replace
file: import * as path from 'path';
  
  import {CliConfig} from './config';
  import {NgCliWebpackConfig} from './webpack-config';
  const webpackMerge = require('webpack-merge');
  import {getWebpackExtractI18nConfig} from './webpack-configs';
  
  export interface XI18WebpackOptions {
    genDir?: string;
    buildDir?: string;
    i18nFormat?: string;
    verbose?: boolean;
    progress?: boolean;
  }
  export class XI18nWebpackConfig extends NgCliWebpackConfig {
  
    public config: any;
  
    constructor(extractOptions: XI18WebpackOptions) {
  
      super({
        target: 'development',
        verbose: extractOptions.verbose,
        progress: extractOptions.progress
      });
  
      const configPath = CliConfig.configFilePath();
      const projectRoot = path.dirname(configPath);
      const appConfig = CliConfig.fromProject().config.apps[0];
  
      const extractI18nConfig =
        getWebpackExtractI18nConfig(projectRoot,
          appConfig,
          extractOptions.genDir,
          extractOptions.i18nFormat);
  
      this.config = webpackMerge([this.config, extractI18nConfig]);
    }
  }
  