hunk.code_window: import {Component} from 'angular2/core';
   import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
   @Component({
     selector: '<%= htmlComponentName %>-app',
  
hunk.labels: keep replace keep keep keep keep
hunk.after_edit: import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS} from 'angular2/router';
  
hunk.file_path: addon/ng2/blueprints/ng2/files/src/app/__name__.ts
hunk.type: replace
file: {"version":3,"sources":["broccoli/ts-config-converter.ts"],"names":["convertTsConfig"],"mappings":"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","file":"broccoli/ts-config-converter.js","sourcesContent":["import * as ts from 'typescript';\n\n/**\n * Converts external tsconfig.json config to it's internal representation suitable for passing into\n * TypeScript language services.\n *\n * @param config\n * @returns {ts.CompilerOptions}\n */\nexport function convertTsConfig(config): ts.CompilerOptions {\n  return <ts.CompilerOptions>Object.keys(config).reduce((internalConfig, configKey) => {\n    let tsOption = tsOptionsMap[configKey];\n    let configValue = config[configKey];\n\n    switch (tsOption.type) {\n      case 'string':\n      case 'boolean':\n        // keep value as is\n        internalConfig[configKey] = configValue;\n        break;\n      default:\n        if (tsOption.type instanceof Object) {\n          // convert external value to internal value\n          internalConfig[configKey] = tsOption.type[configValue];\n        } else {\n          throw new Error('Unknown tsc option type: ' + tsOption.type);\n        }\n    }\n\n    return internalConfig;\n  }, {});\n}\n\n\n// copied and customized from:\n// https://github.com/Microsoft/TypeScript/blob/302db0a9d58fe6b108c4ec455883fa7a3c4fd991/src/compiler/commandLineParser.ts#L8\nvar tscOptions = [\n  {\n    name: \"charset\",\n    type: \"string\",\n  },\n  {\n    name: \"declaration\",\n    type: \"boolean\",\n  },\n  {\n    name: \"diagnostics\",\n    type: \"boolean\",\n  },\n  {name: \"emitBOM\", type: \"boolean\"},\n  {\n    name: \"help\",\n    type: \"boolean\",\n  },\n  {\n    name: \"init\",\n    type: \"boolean\",\n  },\n  {\n    name: \"inlineSourceMap\",\n    type: \"boolean\",\n  },\n  {\n    name: \"inlineSources\",\n    type: \"boolean\",\n  },\n  {\n    name: \"jsx\",\n    type: {\"preserve\": ts.JsxEmit.Preserve, \"react\": ts.JsxEmit.React},\n  },\n  {\n    name: \"listFiles\",\n    type: \"boolean\",\n  },\n  {\n    name: \"locale\",\n    type: \"string\",\n  },\n  {\n    name: \"mapRoot\",\n    type: \"string\",\n  },\n  {\n    name: \"module\",\n    type: {\n      \"commonjs\": ts.ModuleKind.CommonJS,\n      \"amd\": ts.ModuleKind.AMD,\n      \"system\": ts.ModuleKind.System,\n      \"umd\": ts.ModuleKind.UMD,\n    },\n  },\n  {\n    name: \"newLine\",\n    type: {\"crlf\": ts.NewLineKind.CarriageReturnLineFeed, \"lf\": ts.NewLineKind.LineFeed},\n  },\n  {\n    name: \"noEmit\",\n    type: \"boolean\",\n  },\n  {name: \"noEmitHelpers\", type: \"boolean\"},\n  {\n    name: \"noEmitOnError\",\n    type: \"boolean\",\n  },\n  {\n    name: \"noImplicitAny\",\n    type: \"boolean\",\n  },\n  {\n    name: \"noLib\",\n    type: \"boolean\",\n  },\n  {\n    name: \"noResolve\",\n    type: \"boolean\",\n  },\n  {\n    name: \"skipDefaultLibCheck\",\n    type: \"boolean\",\n  },\n  {\n    name: \"out\",\n    type: \"string\",\n  },\n  {\n    name: \"outFile\",\n    type: \"string\",\n  },\n  {\n    name: \"outDir\",\n    type: \"string\",\n  },\n  {\n    name: \"preserveConstEnums\",\n    type: \"boolean\",\n  },\n  {\n    name: \"project\",\n    type: \"string\",\n  },\n  {\n    name: \"removeComments\",\n    type: \"boolean\",\n  },\n  {\n    name: \"rootDir\",\n    type: \"string\",\n  },\n  {\n    name: \"isolatedModules\",\n    type: \"boolean\",\n  },\n  {\n    name: \"sourceMap\",\n    type: \"boolean\",\n  },\n  {\n    name: \"sourceRoot\",\n    type: \"string\",\n  },\n  {name: \"suppressExcessPropertyErrors\", type: \"boolean\"},\n  {\n    name: \"suppressImplicitAnyIndexErrors\",\n    type: \"boolean\",\n  },\n  {name: \"stripInternal\", type: \"boolean\"},\n  {\n    name: \"target\",\n    type: {\n      \"es3\": ts.ScriptTarget.ES3,\n      \"es5\": ts.ScriptTarget.ES5,\n      \"es6\": ts.ScriptTarget.ES6,\n    },\n  },\n  {\n    name: \"version\",\n    type: \"boolean\",\n  },\n  {\n    name: \"watch\",\n    type: \"boolean\",\n  },\n  {\n    name: \"experimentalDecorators\",\n    type: \"boolean\",\n  },\n  {\n    name: \"emitDecoratorMetadata\",\n    type: \"boolean\",\n  },\n  {\n    name: \"moduleResolution\",\n    type: {\"node\": ts.ModuleResolutionKind.NodeJs, \"classic\": ts.ModuleResolutionKind.Classic},\n  }\n];\n\n\n/**\n * Creates a map out of the `tscOptions` array\n */\nvar tsOptionsMap = tscOptions.reduce((map, option) => {\n  map[option.name] = option;\n  return map;\n}, {});\n"],"sourceRoot":"/source/"}