<p dir="auto">`</p>
<p dir="auto"><strong>Current behavior</strong><br>
ng build</p>
<p dir="auto">ng build --aot</p>
<p dir="auto">ng build --prod</p>
<p dir="auto">ng build --prod --aot</p>
<p dir="auto">can not build successfully;</p>
<p dir="auto"><strong>Expected behavior</strong><br>
i can ng serve to  running in local;</p>
<p dir="auto">but can't build .</p>
<p dir="auto">And i have updated everything use 'ncu -u ' &amp; 'npm install'</p>
<p dir="auto"><strong>What is the motivation / use case for changing the behavior?</strong><br>
lazy load route;</p>
<p dir="auto"><strong>Please tell us about your environment:</strong><br>
I use angular-cli  build my project .</p>
<p dir="auto">When i 'ng serve', it often comes out error:<br>
'ERROR in Error encountered resolving symbol values statically. Reference to a local (non-exported) symbol 'Routes'. Consider exporting the symbol (position 10:7 in the original .ts file), resolving symbol RoutingModule in projectname/src/app/app-routing.module.ts<br>
';</p>
<p dir="auto">My code is about the same  in the tutorial :</p>
<p dir="auto"><a href="http://codingthesmartway.com/angular-2-routing-with-modules/" rel="nofollow">http://codingthesmartway.com/angular-2-routing-with-modules/</a></p>
<p dir="auto">as below:</p>
<p dir="auto">import { NgModule } from '@angular/core';<br>
import { Routes, RouterModule } from '@angular/router';<br>
import { FirstComponent } from './first.component';<br>
import { SecondComponent } from './second.component';<br>
import { ThirdComponent } from './third.component';</p>
<p dir="auto">const routes: Routes = [<br>
{path: '', pathMatch: 'full', redirectTo: 'first'}<br>
{path: 'first', component: FirstComponent},<br>
{path: 'second', component: SecondComponent},<br>
{path: 'third', component: ThirdComponent},<br>
];</p>
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NgModule/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NgModule">@NgModule</a>({<br>
imports: [RouterModule.forRoot(routes)],<br>
exports: [RouterModule]<br>
})<br>
export class AppRoutingModule {}</p>
<p dir="auto">export const routingComponents = [FirstComponent, SecondComponent, ThirdComponent];</p>
<p dir="auto">My code:</p>
<p dir="auto"><strong>start</strong><br>
import { NgModule } from '@angular/core';<br>
import { Routes, RouterModule } from '@angular/router';<br>
import { HomeComponent } from './home/home.component';<br>
import { LoginComponent } from './login/login.component';<br>
import { AuditComponent } from './audit/audit.component';<br>
import { UserComponent } from './user/user.component';<br>
import { HouseSourceComponent } from './house-source/house-source.component';</p>
<p dir="auto">declare var require: any;</p>
<p dir="auto">export const routes : Routes = [<br>
{<br>
path: '',<br>
redirectTo: 'home',<br>
pathMatch : 'full'<br>
},<br>
{<br>
path: 'home',<br>
component : HomeComponent<br>
},</p>
<p dir="auto">{<br>
path: 'login',<br>
component : LoginComponent<br>
},</p>
<p dir="auto">{<br>
path: 'about',<br>
loadChildren : () =&gt; new Promise(resolve =&gt; {<br>
(require as any).ensure([],(require : any) =&gt; {<br>
resolve(require('./about/about.module').AboutModule);<br>
})<br>
})<br>
},</p>
<p dir="auto">{<br>
path: 'houseSource',<br>
loadChildren : () =&gt;<br>
new Promise(resolve =&gt; {<br>
(require as any).ensure([],(require : any) =&gt; {<br>
resolve(require('./house-source/house-source.module').HouseSourceModule);<br>
})<br>
})<br>
},<br>
{<br>
path: 'user',<br>
loadChildren : () =&gt;<br>
new Promise(resolve =&gt; {<br>
(require as any).ensure([],(require : any) =&gt; {<br>
resolve(require('./user/user.module').UserModule);<br>
})<br>
})<br>
},<br>
{<br>
path: 'audit',<br>
loadChildren : () =&gt;<br>
new Promise(resolve =&gt; {<br>
(require as any).ensure([],(require : any) =&gt; {<br>
resolve(require('./audit/audit.module').AuditModule);<br>
})<br>
})<br>
},<br>
{<br>
path: 'houseSourceAudit',<br>
loadChildren : () =&gt;<br>
new Promise(resolve =&gt; {<br>
(require as any).ensure([],(require : any) =&gt; {<br>
resolve(require('./house-source-audit/house-source-audit.module').HouseSourceAuditModule);<br>
})<br>
})<br>
},{<br>
path: 'userAudit',<br>
loadChildren : () =&gt;<br>
new Promise(resolve =&gt; {<br>
(require as any).ensure([],(require : any) =&gt; {<br>
resolve(require('./user-audit/user-audit.module').UserAuditModule);<br>
})<br>
})<br>
},{<br>
path: 'userAuditDetail/:id',<br>
loadChildren : () =&gt;<br>
new Promise(resolve =&gt; {<br>
(require as any).ensure([],(require : any) =&gt; {<br>
resolve(require('./user-audit-detail/user-audit-detail.module').UserAuditDetailModule);<br>
})<br>
})<br>
}<br>
]<br>
<a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/NgModule/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/NgModule">@NgModule</a>({<br>
imports: [RouterModule.forRoot(routes)],<br>
exports: [RouterModule],<br>
providers: []<br>
})<br>
export class RoutingModule {}</p>
<p dir="auto"><em><strong>end</strong></em>**</p>
<ul dir="auto">
<li>
<p dir="auto"><strong>Angular version:</strong> @angular/cli@1.0.0-rc.0</p>
</li>
<li>
<p dir="auto"><strong>Language:</strong> [all | TypeScript :@2.2.1</p>
</li>
<li>
<p dir="auto"><strong>Node (for AoT issues):</strong> <code class="notranslate">node --version</code> =</p>
</li>
</ul>
<p dir="auto">├─┬ @angular/cli@1.0.0-rc.0<br>
│ ├─┬ @angular/tsc-wrapped@0.5.2<br>
│ │ └── tsickle@0.2.6<br>
│ ├── @ngtools/json-schema@1.0.5<br>
│ ├─┬ @ngtools/webpack@1.2.11<br>
│ │ ├── enhanced-resolve@3.1.0<br>
│ │ └─┬ magic-string@0.19.0<br>
│ │   └── vlq@0.2.1<br>
│ ├─┬ autoprefixer@6.7.5<br>
│ │ ├─┬ browserslist@1.7.5<br>
│ │ │ └── electron-to-chromium@1.2.4<br>
│ │ ├── caniuse-db@1.0.30000628<br>
│ │ ├── normalize-range@0.1.2<br>
│ │ ├── num2fraction@1.2.2<br>
│ │ ├── postcss@5.2.15<br>
│ │ └── postcss-value-parser@3.3.0<br>
│ ├─┬ chalk@1.1.3<br>
│ │ ├── ansi-styles@2.2.1<br>
│ │ ├── escape-string-regexp@1.0.5<br>
│ │ ├─┬ has-ansi@2.0.0<br>
│ │ │ └── ansi-regex@2.1.1<br>
│ │ ├── strip-ansi@3.0.1<br>
│ │ └── supports-color@2.0.0<br>
│ ├─┬ common-tags@1.4.0<br>
│ │ └─┬ babel-runtime@6.23.0<br>
│ │   └── regenerator-runtime@0.10.1<br>
│ ├─┬ css-loader@0.26.2<br>
│ │ ├── loader-utils@1.0.2<br>
│ │ ├── lodash.camelcase@4.3.0<br>
│ │ ├── postcss-modules-extract-imports@1.0.1<br>
│ │ ├─┬ postcss-modules-local-by-default@1.1.1<br>
│ │ │ └── css-selector-tokenizer@0.6.0<br>
│ │ ├─┬ postcss-modules-scope@1.0.2<br>
│ │ │ └── css-selector-tokenizer@0.6.0<br>
│ │ ├─┬ postcss-modules-values@1.2.2<br>
│ │ │ └── icss-replace-symbols@1.0.2<br>
│ │ └── source-list-map@0.1.8<br>
│ ├─┬ cssnano@3.10.0<br>
│ │ ├── decamelize@1.2.0<br>
│ │ ├── defined@1.0.0<br>
│ │ ├─┬ has@1.0.1<br>
│ │ │ └── function-bind@1.1.0<br>
│ │ ├─┬ postcss-calc@5.3.1<br>
│ │ │ ├── postcss-message-helpers@2.0.0<br>
│ │ │ └─┬ reduce-css-calc@1.3.0<br>
│ │ │   ├── math-expression-evaluator@1.2.16<br>
│ │ │   └── reduce-function-call@1.0.2<br>
│ │ ├─┬ postcss-colormin@2.2.2<br>
│ │ │ └─┬ colormin@1.1.2<br>
│ │ │   ├─┬ color@0.11.4<br>
│ │ │   │ ├── clone@1.0.2<br>
│ │ │   │ ├─┬ color-convert@1.9.0<br>
│ │ │   │ │ └── color-name@1.1.1<br>
│ │ │   │ └── color-string@0.3.0<br>
│ │ │   └── css-color-names@0.0.4<br>
│ │ ├── postcss-convert-values@2.6.1<br>
│ │ ├── postcss-discard-comments@2.0.4<br>
│ │ ├── postcss-discard-duplicates@2.1.0<br>
│ │ ├── postcss-discard-empty@2.1.0<br>
│ │ ├── postcss-discard-overridden@0.1.1<br>
│ │ ├─┬ postcss-discard-unused@2.2.3<br>
│ │ │ └── uniqs@2.0.0<br>
│ │ ├─┬ postcss-filter-plugins@2.0.2<br>
│ │ │ └─┬ uniqid@4.1.1<br>
│ │ │   └── macaddress@0.2.8<br>
│ │ ├── postcss-merge-idents@2.1.7<br>
│ │ ├── postcss-merge-longhand@2.0.2<br>
│ │ ├─┬ postcss-merge-rules@2.1.2<br>
│ │ │ ├─┬ caniuse-api@1.5.3<br>
│ │ │ │ ├── lodash.memoize@4.1.2<br>
│ │ │ │ └── lodash.uniq@4.5.0<br>
│ │ │ ├─┬ postcss-selector-parser@2.2.3<br>
│ │ │ │ ├── flatten@1.0.2<br>
│ │ │ │ ├── indexes-of@1.0.1<br>
│ │ │ │ └── uniq@1.0.1<br>
│ │ │ └── vendors@1.0.1<br>
│ │ ├── postcss-minify-font-values@1.0.5<br>
│ │ ├── postcss-minify-gradients@1.0.5<br>
│ │ ├─┬ postcss-minify-params@1.2.2<br>
│ │ │ └── alphanum-sort@1.0.2<br>
│ │ ├── postcss-minify-selectors@2.1.1<br>
│ │ ├── postcss-normalize-charset@1.1.1<br>
│ │ ├─┬ postcss-normalize-url@3.0.8<br>
│ │ │ ├── is-absolute-url@2.1.0<br>
│ │ │ └─┬ normalize-url@1.9.0<br>
│ │ │   ├── prepend-http@1.0.4<br>
│ │ │   ├─┬ query-string@4.3.2<br>
│ │ │   │ └── strict-uri-encode@1.1.0<br>
│ │ │   └─┬ sort-keys@1.1.2<br>
│ │ │     └── is-plain-obj@1.1.0<br>
│ │ ├── postcss-ordered-values@2.2.3<br>
│ │ ├── postcss-reduce-idents@2.4.0<br>
│ │ ├── postcss-reduce-initial@1.0.1<br>
│ │ ├── postcss-reduce-transforms@1.0.4<br>
│ │ ├─┬ postcss-svgo@2.1.6<br>
│ │ │ ├─┬ is-svg@2.1.0<br>
│ │ │ │ └── html-comment-regex@1.1.1<br>
│ │ │ └─┬ svgo@0.7.2<br>
│ │ │   ├── coa@1.0.1<br>
│ │ │   ├─┬ csso@2.3.1<br>
│ │ │   │ └── clap@1.1.2<br>
│ │ │   └── whet.extend@0.9.9<br>
│ │ ├── postcss-unique-selectors@2.0.2<br>
│ │ └── postcss-zindex@2.2.0<br>
│ ├─┬ debug@2.6.1<br>
│ │ └── ms@0.7.2<br>
│ ├── denodeify@1.2.1<br>
│ ├── diff@3.2.0<br>
│ ├── ember-cli-normalize-entity-name@1.0.0<br>
│ ├── ember-cli-string-utils@1.1.0<br>
│ ├─┬ exports-loader@0.6.4<br>
│ │ └── loader-utils@1.0.2<br>
│ ├─┬ extract-text-webpack-plugin@2.0.0<br>
│ │ ├─┬ ajv@4.11.3<br>
│ │ │ ├── co@4.6.0<br>
│ │ │ └─┬ json-stable-stringify@1.0.1<br>
│ │ │   └── jsonify@0.0.0<br>
│ │ ├── loader-utils@1.0.2<br>
│ │ └── webpack-sources@0.1.4<br>
│ ├─┬ file-loader@0.10.1<br>
│ │ └── loader-utils@1.0.2<br>
│ ├─┬ fs-extra@2.0.0<br>
│ │ └── jsonfile@2.4.0<br>
│ ├── get-caller-file@1.0.2<br>
│ ├─┬ glob@7.1.1<br>
│ │ ├── fs.realpath@1.0.0<br>
│ │ ├─┬ inflight@1.0.6<br>
│ │ │ └── wrappy@1.0.2<br>
│ │ ├── inherits@2.0.3<br>
│ │ ├── once@1.4.0<br>
│ │ └── path-is-absolute@1.0.1<br>
│ ├─┬ html-webpack-plugin@2.28.0<br>
│ │ ├─┬ html-minifier@3.3.3<br>
│ │ │ ├─┬ camel-case@3.0.0<br>
│ │ │ │ ├─┬ no-case@2.3.1<br>
│ │ │ │ │ └── lower-case@1.1.4<br>
│ │ │ │ └── upper-case@1.1.3<br>
│ │ │ ├── clean-css@4.0.8<br>
│ │ │ ├─┬ commander@2.9.0<br>
│ │ │ │ └── graceful-readlink@1.0.1<br>
│ │ │ ├── he@1.1.1<br>
│ │ │ ├─┬ ncname@1.0.0<br>
│ │ │ │ └── xml-char-classes@1.0.0<br>
│ │ │ ├── param-case@2.1.0<br>
│ │ │ └── relateurl@0.2.7<br>
│ │ ├─┬ pretty-error@2.0.2<br>
│ │ │ ├─┬ renderkid@2.0.0<br>
│ │ │ │ ├─┬ css-select@1.2.0<br>
│ │ │ │ │ ├── boolbase@1.0.0<br>
│ │ │ │ │ ├── css-what@2.1.0<br>
│ │ │ │ │ ├─┬ domutils@1.5.1<br>
│ │ │ │ │ │ └─┬ dom-serializer@0.1.0<br>
│ │ │ │ │ │   ├── domelementtype@1.1.3<br>
│ │ │ │ │ │   └── entities@1.1.1<br>
│ │ │ │ │ └── nth-check@1.0.1<br>
│ │ │ │ ├─┬ dom-converter@0.1.4<br>
│ │ │ │ │ └── utila@0.3.3<br>
│ │ │ │ ├─┬ htmlparser2@3.3.0<br>
│ │ │ │ │ ├── domelementtype@1.3.0<br>
│ │ │ │ │ ├── domhandler@2.1.0<br>
│ │ │ │ │ ├── domutils@1.1.6<br>
│ │ │ │ │ └─┬ readable-stream@1.0.34<br>
│ │ │ │ │   └── isarray@0.0.1<br>
│ │ │ │ └── utila@0.3.3<br>
│ │ │ └── utila@0.4.0<br>
│ │ └── toposort@1.0.3<br>
│ ├── inflection@1.12.0<br>
│ ├─┬ inquirer@3.0.4<br>
│ │ ├── ansi-escapes@1.4.0<br>
│ │ ├─┬ cli-cursor@2.1.0<br>
│ │ │ └─┬ restore-cursor@2.0.0<br>
│ │ │   └─┬ onetime@2.0.0<br>
│ │ │     └── mimic-fn@1.1.0<br>
│ │ ├── cli-width@2.1.0<br>
│ │ ├── external-editor@2.0.1<br>
│ │ ├── figures@2.0.0<br>
│ │ ├── mute-stream@0.0.7<br>
│ │ ├─┬ run-async@2.3.0<br>
│ │ │ └── is-promise@2.1.0<br>
│ │ ├── rx@4.1.0<br>
│ │ ├─┬ string-width@2.0.0<br>
│ │ │ └── is-fullwidth-code-point@2.0.0<br>
│ │ └── through@2.3.8<br>
│ ├── isbinaryfile@3.0.2<br>
│ ├─┬ istanbul-instrumenter-loader@2.0.0<br>
│ │ ├── convert-source-map@1.4.0<br>
│ │ └─┬ istanbul-lib-instrument@1.4.2<br>
│ │   ├─┬ babel-generator@6.23.0<br>
│ │   │ ├── babel-messages@6.23.0<br>
│ │   │ ├── detect-indent@4.0.0<br>
│ │   │ ├── jsesc@1.3.0<br>
│ │   │ └── trim-right@1.0.1<br>
│ │   ├── babel-template@6.23.0<br>
│ │   ├─┬ babel-traverse@6.23.1<br>
│ │   │ ├── globals@9.16.0<br>
│ │   │ └─┬ invariant@2.2.2<br>
│ │   │   └── loose-envify@1.3.1<br>
│ │   ├─┬ babel-types@6.23.0<br>
│ │   │ └── to-fast-properties@1.0.2<br>
│ │   └── babylon@6.15.0<br>
│ ├── json-loader@0.5.4<br>
│ ├── karma-sourcemap-loader@0.3.7<br>
│ ├─┬ karma-webpack@2.0.2<br>
│ │ ├── async@0.9.2<br>
│ │ ├── lodash@3.10.1<br>
│ │ ├─┬ source-map@0.1.43<br>
│ │ │ └── amdefine@1.0.1<br>
│ │ └── webpack-dev-middleware@1.10.1<br>
│ ├─┬ less@2.7.2<br>
│ │ ├─┬ errno@0.1.4<br>
│ │ │ └── prr@0.0.0<br>
│ │ ├── image-size@0.5.1<br>
│ │ └─┬ promise@7.1.1<br>
│ │   └── asap@2.0.5<br>
│ ├── less-loader@2.2.3<br>
│ ├── lodash@4.17.4<br>
│ ├─┬ minimatch@3.0.3<br>
│ │ └─┬ brace-expansion@1.1.6<br>
│ │   ├── balanced-match@0.4.2<br>
│ │   └── concat-map@0.0.1<br>
│ ├── node-modules-path@1.0.1<br>
│ ├─┬ nopt@4.0.1<br>
│ │ ├── abbrev@1.1.0<br>
│ │ └─┬ osenv@0.1.4<br>
│ │   └── os-homedir@1.0.2<br>
│ ├─┬ opn@4.0.2<br>
│ │ └── pinkie-promise@2.0.1<br>
│ ├─┬ portfinder@1.0.13<br>
│ │ └── async@1.5.2<br>
│ ├── postcss-loader@0.13.0<br>
│ ├─┬ postcss-url@5.1.2<br>
│ │ ├─┬ directory-encoder@0.7.2<br>
│ │ │ ├── fs-extra@0.23.1<br>
│ │ │ ├─┬ handlebars@1.3.0<br>
│ │ │ │ ├── optimist@0.3.7<br>
│ │ │ │ └─┬ uglify-js@2.3.6<br>
│ │ │ │   ├── async@0.2.10<br>
│ │ │ │   └── source-map@0.1.43<br>
│ │ │ └─┬ img-stats@0.5.2<br>
│ │ │   └── xmldom@0.1.27<br>
│ │ └── js-base64@2.1.9<br>
│ ├── resolve@1.2.0<br>
│ ├── rimraf@2.5.4<br>
│ ├── rsvp@3.3.3<br>
│ ├─┬ sass-loader@4.1.1<br>
│ │ ├── async@2.1.4<br>
│ │ ├── loader-utils@0.2.17<br>
│ │ └── object-assign@4.1.1<br>
│ ├── script-loader@0.7.0<br>
│ ├── semver@5.3.0<br>
│ ├── silent-error@1.0.1<br>
│ ├─┬ source-map-loader@0.1.6<br>
│ │ ├── async@0.9.2<br>
│ │ └── source-map@0.1.43<br>
│ ├─┬ style-loader@0.13.2<br>
│ │ └── loader-utils@1.0.2<br>
│ ├─┬ stylus@0.54.5<br>
│ │ ├── css-parse@1.7.0<br>
│ │ ├── glob@7.0.6<br>
│ │ ├── sax@0.5.8<br>
│ │ └── source-map@0.1.43<br>
│ ├─┬ stylus-loader@2.5.0<br>
│ │ └── when@3.6.4<br>
│ ├─┬ temp@0.8.3<br>
│ │ ├── os-tmpdir@1.0.2<br>
│ │ └── rimraf@2.2.8<br>
│ ├── typescript@2.1.6<br>
│ ├─┬ url-loader@0.5.8<br>
│ │ └── loader-utils@1.0.2<br>
│ ├─┬ walk-sync@0.3.1<br>
│ │ ├── ensure-posix-path@1.0.2<br>
│ │ └── matcher-collection@1.0.4<br>
│ ├─┬ webpack@2.2.1<br>
│ │ ├── acorn@4.0.11<br>
│ │ ├── acorn-dynamic-import@2.0.1<br>
│ │ ├── ajv-keywords@1.5.1<br>
│ │ ├── interpret@1.0.1<br>
│ │ ├── loader-runner@2.3.0<br>
│ │ ├── memory-fs@0.4.1<br>
│ │ ├─┬ node-libs-browser@2.0.0<br>
│ │ │ ├── assert@1.4.1<br>
│ │ │ ├─┬ browserify-zlib@0.1.4<br>
│ │ │ │ └── pako@0.2.9<br>
│ │ │ ├─┬ buffer@4.9.1<br>
│ │ │ │ ├── base64-js@1.2.0<br>
│ │ │ │ └── ieee754@1.1.8<br>
│ │ │ ├─┬ console-browserify@1.1.0<br>
│ │ │ │ └── date-now@0.1.4<br>
│ │ │ ├── constants-browserify@1.0.0<br>
│ │ │ ├─┬ crypto-browserify@3.11.0<br>
│ │ │ │ ├─┬ browserify-cipher@1.0.0<br>
│ │ │ │ │ ├─┬ browserify-aes@1.0.6<br>
│ │ │ │ │ │ └── buffer-xor@1.0.3<br>
│ │ │ │ │ ├─┬ browserify-des@1.0.0<br>
│ │ │ │ │ │ └── des.js@1.0.0<br>
│ │ │ │ │ └── evp_bytestokey@1.0.0<br>
│ │ │ │ ├─┬ browserify-sign@4.0.0<br>
│ │ │ │ │ ├── bn.js@4.11.6<br>
│ │ │ │ │ ├── browserify-rsa@4.0.1<br>
│ │ │ │ │ ├─┬ elliptic@6.4.0<br>
│ │ │ │ │ │ ├── brorand@1.1.0<br>
│ │ │ │ │ │ ├── hash.js@1.0.3<br>
│ │ │ │ │ │ ├── hmac-drbg@1.0.0<br>
│ │ │ │ │ │ └── minimalistic-crypto-utils@1.0.1<br>
│ │ │ │ │ └─┬ parse-asn1@5.0.0<br>
│ │ │ │ │   └── asn1.js@4.9.1<br>
│ │ │ │ ├── create-ecdh@4.0.0<br>
│ │ │ │ ├─┬ create-hash@1.1.2<br>
│ │ │ │ │ ├── cipher-base@1.0.3<br>
│ │ │ │ │ ├── ripemd160@1.0.1<br>
│ │ │ │ │ └── sha.js@2.4.8<br>
│ │ │ │ ├── create-hmac@1.1.4<br>
│ │ │ │ ├─┬ diffie-hellman@5.0.2<br>
│ │ │ │ │ └── miller-rabin@4.0.0<br>
│ │ │ │ ├── pbkdf2@3.0.9<br>
│ │ │ │ ├── public-encrypt@4.0.0<br>
│ │ │ │ └── randombytes@2.0.3<br>
│ │ │ ├── domain-browser@1.1.7<br>
│ │ │ ├── events@1.1.1<br>
│ │ │ ├── https-browserify@0.0.1<br>
│ │ │ ├── os-browserify@0.2.1<br>
│ │ │ ├── path-browserify@0.0.0<br>
│ │ │ ├── process@0.11.9<br>
│ │ │ ├── punycode@1.4.1<br>
│ │ │ ├── querystring-es3@0.2.1<br>
│ │ │ ├── stream-browserify@2.0.1<br>
│ │ │ ├─┬ stream-http@2.6.3<br>
│ │ │ │ ├── builtin-status-codes@3.0.0<br>
│ │ │ │ └── to-arraybuffer@1.0.1<br>
│ │ │ ├── string_decoder@0.10.31<br>
│ │ │ ├─┬ timers-browserify@2.0.2<br>
│ │ │ │ └── setimmediate@1.0.5<br>
│ │ │ ├── tty-browserify@0.0.0<br>
│ │ │ ├─┬ url@0.11.0<br>
│ │ │ │ ├── punycode@1.3.2<br>
│ │ │ │ └── querystring@0.2.0<br>
│ │ │ ├─┬ util@0.10.3<br>
│ │ │ │ └── inherits@2.0.1<br>
│ │ │ └── vm-browserify@0.0.4<br>
│ │ ├─┬ supports-color@3.2.3<br>
│ │ │ └── has-flag@1.0.0<br>
│ │ ├── tapable@0.2.6<br>
│ │ ├─┬ uglify-js@2.7.5<br>
│ │ │ ├── async@0.2.10<br>
│ │ │ ├── uglify-to-browserify@1.0.2<br>
│ │ │ └─┬ yargs@3.10.0<br>
│ │ │   ├── camelcase@1.2.1<br>
│ │ │   ├─┬ cliui@2.1.0<br>
│ │ │   │ ├─┬ center-align@0.1.3<br>
│ │ │   │ │ └─┬ align-text@0.1.4<br>
│ │ │   │ │   ├── longest@1.0.1<br>
│ │ │   │ │   └── repeat-string@1.6.1<br>
│ │ │   │ └── right-align@0.1.3<br>
│ │ │   └── window-size@0.1.0<br>
│ │ ├── watchpack@1.3.1<br>
│ │ └─┬ yargs@6.6.0<br>
│ │   ├── camelcase@3.0.0<br>
│ │   ├─┬ cliui@3.2.0<br>
│ │   │ └─┬ wrap-ansi@2.1.0<br>
│ │   │   └─┬ string-width@1.0.2<br>
│ │   │     └── is-fullwidth-code-point@1.0.0<br>
│ │   ├─┬ os-locale@1.4.0<br>
│ │   │ └─┬ lcid@1.0.0<br>
│ │   │   └── invert-kv@1.0.0<br>
│ │   ├── require-directory@2.1.1<br>
│ │   ├── require-main-filename@1.0.1<br>
│ │   ├─┬ string-width@1.0.2<br>
│ │   │ ├── code-point-at@1.1.0<br>
│ │   │ └─┬ is-fullwidth-code-point@1.0.0<br>
│ │   │   └── number-is-nan@1.0.1<br>
│ │   ├── which-module@1.0.0<br>
│ │   ├── y18n@3.2.1<br>
│ │   └── yargs-parser@4.2.1<br>
│ ├─┬ webpack-dev-server@2.3.0<br>
│ │ ├── ansi-html@0.0.7<br>
│ │ ├─┬ compression@1.6.2<br>
│ │ │ ├─┬ accepts@1.3.3<br>
│ │ │ │ └── negotiator@0.6.1<br>
│ │ │ ├── bytes@2.3.0<br>
│ │ │ ├── compressible@2.0.9<br>
│ │ │ ├─┬ debug@2.2.0<br>
│ │ │ │ └── ms@0.7.1<br>
│ │ │ ├── on-headers@1.0.1<br>
│ │ │ └── vary@1.1.0<br>
│ │ ├── connect-history-api-fallback@1.3.0<br>
│ │ ├─┬ express@4.14.1<br>
│ │ │ ├── array-flatten@1.1.1<br>
│ │ │ ├── content-disposition@0.5.2<br>
│ │ │ ├── cookie@0.3.1<br>
│ │ │ ├── cookie-signature@1.0.6<br>
│ │ │ ├─┬ debug@2.2.0<br>
│ │ │ │ └── ms@0.7.1<br>
│ │ │ ├── encodeurl@1.0.1<br>
│ │ │ ├── escape-html@1.0.3<br>
│ │ │ ├── etag@1.7.0<br>
│ │ │ ├─┬ finalhandler@0.5.1<br>
│ │ │ │ └─┬ debug@2.2.0<br>
│ │ │ │   └── ms@0.7.1<br>
│ │ │ ├── fresh@0.3.0<br>
│ │ │ ├── merge-descriptors@1.0.1<br>
│ │ │ ├── methods@1.1.2<br>
│ │ │ ├── path-to-regexp@0.1.7<br>
│ │ │ ├─┬ proxy-addr@1.1.3<br>
│ │ │ │ ├── forwarded@0.1.0<br>
│ │ │ │ └── ipaddr.js@1.2.0<br>
│ │ │ ├── qs@6.2.0<br>
│ │ │ ├─┬ send@0.14.2<br>
│ │ │ │ ├─┬ debug@2.2.0<br>
│ │ │ │ │ └── ms@0.7.1<br>
│ │ │ │ └── destroy@1.0.4<br>
│ │ │ └── serve-static@1.11.2<br>
│ │ ├── html-entities@1.2.0<br>
│ │ ├─┬ http-proxy-middleware@0.17.3<br>
│ │ │ ├─┬ is-glob@3.1.0<br>
│ │ │ │ └── is-extglob@2.1.1<br>
│ │ │ └─┬ micromatch@2.3.11<br>
│ │ │   ├─┬ arr-diff@2.0.0<br>
│ │ │   │ └── arr-flatten@1.0.1<br>
│ │ │   ├─┬ braces@1.8.5<br>
│ │ │   │ ├─┬ expand-range@1.8.2<br>
│ │ │   │ │ └─┬ fill-range@2.2.3<br>
│ │ │   │ │   ├── is-number@2.1.0<br>
│ │ │   │ │   ├── isobject@2.1.0<br>
│ │ │   │ │   └── randomatic@1.1.6<br>
│ │ │   │ ├── preserve@0.2.0<br>
│ │ │   │ └── repeat-element@1.1.2<br>
│ │ │   ├─┬ expand-brackets@0.1.5<br>
│ │ │   │ └── is-posix-bracket@0.1.1<br>
│ │ │   ├── extglob@0.3.2<br>
│ │ │   ├── filename-regex@2.0.0<br>
│ │ │   ├── normalize-path@2.0.1<br>
│ │ │   ├── object.omit@2.0.1<br>
│ │ │   ├─┬ parse-glob@3.0.4<br>
│ │ │   │ ├── glob-base@0.3.0<br>
│ │ │   │ └── is-dotfile@1.0.2<br>
│ │ │   └─┬ regex-cache@0.4.3<br>
│ │ │     ├── is-equal-shallow@0.1.3<br>
│ │ │     └── is-primitive@2.0.0<br>
│ │ ├─┬ serve-index@1.8.0<br>
│ │ │ ├── batch@0.5.3<br>
│ │ │ └─┬ debug@2.2.0<br>
│ │ │   └── ms@0.7.1<br>
│ │ ├─┬ sockjs@0.3.18<br>
│ │ │ ├─┬ faye-websocket@0.10.0<br>
│ │ │ │ └─┬ websocket-driver@0.6.5<br>
│ │ │ │   └── websocket-extensions@0.1.1<br>
│ │ │ └── uuid@2.0.3<br>
│ │ ├─┬ sockjs-client@1.1.1<br>
│ │ │ ├─┬ eventsource@0.1.6<br>
│ │ │ │ └─┬ original@1.0.0<br>
│ │ │ │   └── url-parse@1.0.5<br>
│ │ │ ├── faye-websocket@0.11.1<br>
│ │ │ ├── json3@3.3.2<br>
│ │ │ └─┬ url-parse@1.1.8<br>
│ │ │   └── querystringify@0.0.4<br>
│ │ ├─┬ spdy@3.4.4<br>
│ │ │ ├── handle-thing@1.2.5<br>
│ │ │ ├── http-deceiver@1.2.7<br>
│ │ │ ├── select-hose@2.0.0<br>
│ │ │ └─┬ spdy-transport@2.0.18<br>
│ │ │   ├── hpack.js@2.1.6<br>
│ │ │   ├── obuf@1.1.1<br>
│ │ │   └─┬ wbuf@1.7.2<br>
│ │ │     └── minimalistic-assert@1.0.0<br>
│ │ └─┬ yargs@6.6.0<br>
│ │   ├── camelcase@3.0.0<br>
│ │   ├── cliui@3.2.0<br>
│ │   ├─┬ string-width@1.0.2<br>
│ │   │ └── is-fullwidth-code-point@1.0.0<br>
│ │   └── yargs-parser@4.2.1<br>
│ └── webpack-merge@2.6.1<br>
├── @angular/common@2.4.8<br>
├── @angular/compiler@2.4.8<br>
├─┬ @angular/compiler-cli@2.4.8<br>
│ ├── minimist@1.2.0<br>
│ └── reflect-metadata@0.1.10<br>
├── @angular/core@2.4.8<br>
├── @angular/flex-layout@2.0.0-rc.1<br>
├── UNMET PEER DEPENDENCY @angular/forms@2.4.8<br>
├── UNMET PEER DEPENDENCY @angular/http@2.4.8<br>
├── @angular/material@2.0.0-beta.2<br>
├── @angular/platform-browser@2.4.8<br>
├── @angular/platform-browser-dynamic@2.4.8<br>
├── @angular/router@3.4.8<br>
├── @angular2-material/button@2.0.0-alpha.8-experimental3<br>
├── @angular2-material/card@2.0.0-alpha.8-experimental3<br>
├── @angular2-material/checkbox@2.0.0-alpha.8-experimental3<br>
├── UNMET PEER DEPENDENCY @angular2-material/core@2.0.0-alpha.8-experimental3<br>
├── @angular2-material/icon@2.0.0-alpha.8-experimental3<br>
├── @angular2-material/input@2.0.0-alpha.8-experimental3<br>
├── @angular2-material/list@2.0.0-alpha.8-experimental3<br>
├── @angular2-material/radio@2.0.0-alpha.8-2 extraneous<br>
├── @angular2-material/sidenav@2.0.0-alpha.8-experimental3<br>
├── @angular2-material/toolbar@2.0.0-alpha.8-experimental3<br>
├── @ng-bootstrap/ng-bootstrap@1.0.0-alpha.20<br>
├── @types/jasmine@2.5.43<br>
├── @types/node@7.0.5<br>
├── angular2-material-datepicker@0.5.0 extraneous<br>
├── angular2-modal@2.0.3<br>
├── bootstrap@3.3.7<br>
├─┬ codelyzer@3.0.0-beta.0<br>
│ ├── app-root-path@2.0.1<br>
│ ├─┬ css-selector-tokenizer@0.7.0<br>
│ │ ├── cssesc@0.1.0<br>
│ │ ├── fastparse@1.1.1<br>
│ │ └─┬ regexpu-core@1.0.0<br>
│ │   ├── regenerate@1.3.2<br>
│ │   ├── regjsgen@0.2.0<br>
│ │   └─┬ regjsparser@0.1.5<br>
│ │     └── jsesc@0.5.0<br>
│ ├── cssauron@1.4.0<br>
│ ├── semver-dsl@1.0.1<br>
│ ├── source-map@0.5.6<br>
│ └── sprintf-js@1.0.3<br>
├── core-js@2.4.1<br>
├── hammerjs@2.0.8<br>
├── jasmine-core@2.5.2<br>
├─┬ jasmine-spec-reporter@3.2.0<br>
│ └── colors@1.1.2<br>
├─┬ karma@1.5.0<br>
│ ├── bluebird@3.4.7<br>
│ ├─┬ body-parser@1.16.1<br>
│ │ ├── bytes@2.4.0<br>
│ │ ├── content-type@1.0.2<br>
│ │ ├── depd@1.1.0<br>
│ │ ├─┬ http-errors@1.5.1<br>
│ │ │ ├── setprototypeof@1.0.2<br>
│ │ │ └── statuses@1.3.1<br>
│ │ ├── iconv-lite@0.4.15<br>
│ │ ├─┬ on-finished@2.3.0<br>
│ │ │ └── ee-first@1.1.1<br>
│ │ ├── qs@6.2.1<br>
│ │ ├─┬ raw-body@2.2.0<br>
│ │ │ ├── bytes@2.4.0<br>
│ │ │ └── unpipe@1.0.0<br>
│ │ └─┬ type-is@1.6.14<br>
│ │   └── media-typer@0.3.0<br>
│ ├─┬ chokidar@1.6.1<br>
│ │ ├── anymatch@1.3.0<br>
│ │ ├── async-each@1.0.1<br>
│ │ ├─┬ fsevents@1.0.17<br>
│ │ │ └─┬ node-pre-gyp@0.6.32<br>
│ │ │   ├─┬ mkdirp@0.5.1<br>
│ │ │   │ └── minimist@0.0.8<br>
│ │ │   ├─┬ nopt@3.0.6<br>
│ │ │   │ └── abbrev@1.0.9<br>
│ │ │   ├─┬ npmlog@4.0.2<br>
│ │ │   │ ├─┬ are-we-there-yet@1.1.2<br>
│ │ │   │ │ ├── delegates@1.0.0<br>
│ │ │   │ │ └── readable-stream@2.2.2<br>
│ │ │   │ ├── console-control-strings@1.1.0<br>
│ │ │   │ ├─┬ gauge@2.7.2<br>
│ │ │   │ │ ├── aproba@1.0.4<br>
│ │ │   │ │ ├── has-unicode@2.0.1<br>
│ │ │   │ │ ├── object-assign@4.1.0<br>
│ │ │   │ │ ├── signal-exit@3.0.2<br>
│ │ │   │ │ ├─┬ string-width@1.0.2<br>
│ │ │   │ │ │ ├── code-point-at@1.1.0<br>
│ │ │   │ │ │ └─┬ is-fullwidth-code-point@1.0.0<br>
│ │ │   │ │ │   └── number-is-nan@1.0.1<br>
│ │ │   │ │ ├─┬ strip-ansi@3.0.1<br>
│ │ │   │ │ │ └── ansi-regex@2.0.0<br>
│ │ │   │ │ ├── supports-color@0.2.0<br>
│ │ │   │ │ └── wide-align@1.1.0<br>
│ │ │   │ └── set-blocking@2.0.0<br>
│ │ │   ├─┬ rc@1.1.6<br>
│ │ │   │ ├── deep-extend@0.4.1<br>
│ │ │   │ ├── ini@1.3.4<br>
│ │ │   │ ├── minimist@1.2.0<br>
│ │ │   │ └── strip-json-comments@1.0.4<br>
│ │ │   ├─┬ request@2.79.0<br>
│ │ │   │ ├── aws-sign2@0.6.0<br>
│ │ │   │ ├── aws4@1.5.0<br>
│ │ │   │ ├── caseless@0.11.0<br>
│ │ │   │ ├─┬ combined-stream@1.0.5<br>
│ │ │   │ │ └── delayed-stream@1.0.0<br>
│ │ │   │ ├── extend@3.0.0<br>
│ │ │   │ ├── forever-agent@0.6.1<br>
│ │ │   │ ├─┬ form-data@2.1.2<br>
│ │ │   │ │ └── asynckit@0.4.0<br>
│ │ │   │ ├─┬ har-validator@2.0.6<br>
│ │ │   │ │ ├─┬ chalk@1.1.3<br>
│ │ │   │ │ │ ├── ansi-styles@2.2.1<br>
│ │ │   │ │ │ ├── escape-string-regexp@1.0.5<br>
│ │ │   │ │ │ ├── has-ansi@2.0.0<br>
│ │ │   │ │ │ └── supports-color@2.0.0<br>
│ │ │   │ │ ├─┬ commander@2.9.0<br>
│ │ │   │ │ │ └── graceful-readlink@1.0.1<br>
│ │ │   │ │ ├─┬ is-my-json-valid@2.15.0<br>
│ │ │   │ │ │ ├── generate-function@2.0.0<br>
│ │ │   │ │ │ ├─┬ generate-object-property@1.2.0<br>
│ │ │   │ │ │ │ └── is-property@1.0.2<br>
│ │ │   │ │ │ ├── jsonpointer@4.0.1<br>
│ │ │   │ │ │ └── xtend@4.0.1<br>
│ │ │   │ │ └─┬ pinkie-promise@2.0.1<br>
│ │ │   │ │   └── pinkie@2.0.4<br>
│ │ │   │ ├─┬ hawk@3.1.3<br>
│ │ │   │ │ ├── boom@2.10.1<br>
│ │ │   │ │ ├── cryptiles@2.0.5<br>
│ │ │   │ │ ├── hoek@2.16.3<br>
│ │ │   │ │ └── sntp@1.0.9<br>
│ │ │   │ ├─┬ http-signature@1.1.1<br>
│ │ │   │ │ ├── assert-plus@0.2.0<br>
│ │ │   │ │ ├─┬ jsprim@1.3.1<br>
│ │ │   │ │ │ ├── extsprintf@1.0.2<br>
│ │ │   │ │ │ ├── json-schema@0.2.3<br>
│ │ │   │ │ │ └── verror@1.3.6<br>
│ │ │   │ │ └─┬ sshpk@1.10.1<br>
│ │ │   │ │   ├── asn1@0.2.3<br>
│ │ │   │ │   ├── assert-plus@1.0.0<br>
│ │ │   │ │   ├── bcrypt-pbkdf@1.0.0<br>
│ │ │   │ │   ├─┬ dashdash@1.14.1<br>
│ │ │   │ │   │ └── assert-plus@1.0.0<br>
│ │ │   │ │   ├── ecc-jsbn@0.1.1<br>
│ │ │   │ │   ├─┬ getpass@0.1.6<br>
│ │ │   │ │   │ └── assert-plus@1.0.0<br>
│ │ │   │ │   ├── jodid25519@1.0.2<br>
│ │ │   │ │   ├── jsbn@0.1.0<br>
│ │ │   │ │   └── tweetnacl@0.14.5<br>
│ │ │   │ ├── is-typedarray@1.0.0<br>
│ │ │   │ ├── isstream@0.1.2<br>
│ │ │   │ ├── json-stringify-safe@5.0.1<br>
│ │ │   │ ├─┬ mime-types@2.1.13<br>
│ │ │   │ │ └── mime-db@1.25.0<br>
│ │ │   │ ├── oauth-sign@0.8.2<br>
│ │ │   │ ├── qs@6.3.0<br>
│ │ │   │ ├── stringstream@0.0.5<br>
│ │ │   │ ├─┬ tough-cookie@2.3.2<br>
│ │ │   │ │ └── punycode@1.4.1<br>
│ │ │   │ ├── tunnel-agent@0.4.3<br>
│ │ │   │ └── uuid@3.0.1<br>
│ │ │   ├─┬ rimraf@2.5.4<br>
│ │ │   │ └─┬ glob@7.1.1<br>
│ │ │   │   ├── fs.realpath@1.0.0<br>
│ │ │   │   ├── inflight@1.0.6<br>
│ │ │   │   ├─┬ minimatch@3.0.3<br>
│ │ │   │   │ └─┬ brace-expansion@1.1.6<br>
│ │ │   │   │   ├── balanced-match@0.4.2<br>
│ │ │   │   │   └── concat-map@0.0.1<br>
│ │ │   │   ├── once@1.4.0<br>
│ │ │   │   └── path-is-absolute@1.0.1<br>
│ │ │   ├── semver@5.3.0<br>
│ │ │   ├─┬ tar@2.2.1<br>
│ │ │   │ ├── block-stream@0.0.9<br>
│ │ │   │ ├─┬ fstream@1.0.10<br>
│ │ │   │ │ └── graceful-fs@4.1.11<br>
│ │ │   │ └── inherits@2.0.3<br>
│ │ │   └─┬ tar-pack@3.3.0<br>
│ │ │     ├─┬ debug@2.2.0<br>
│ │ │     │ └── ms@0.7.1<br>
│ │ │     ├── fstream-ignore@1.0.5<br>
│ │ │     ├─┬ once@1.3.3<br>
│ │ │     │ └── wrappy@1.0.2<br>
│ │ │     ├─┬ readable-stream@2.1.5<br>
│ │ │     │ ├── buffer-shims@1.0.0<br>
│ │ │     │ ├── core-util-is@1.0.2<br>
│ │ │     │ ├── isarray@1.0.0<br>
│ │ │     │ ├── process-nextick-args@1.0.7<br>
│ │ │     │ ├── string_decoder@0.10.31<br>
│ │ │     │ └── util-deprecate@1.0.2<br>
│ │ │     └── uid-number@0.0.6<br>
│ │ ├── glob-parent@2.0.0<br>
│ │ ├─┬ is-binary-path@1.0.1<br>
│ │ │ └── binary-extensions@1.8.0<br>
│ │ ├─┬ is-glob@2.0.1<br>
│ │ │ └── is-extglob@1.0.0<br>
│ │ └─┬ readdirp@2.1.0<br>
│ │   └── set-immediate-shim@1.0.1<br>
│ ├── combine-lists@1.0.1<br>
│ ├─┬ connect@3.6.0<br>
│ │ ├── finalhandler@1.0.0<br>
│ │ ├── parseurl@1.3.1<br>
│ │ └── utils-merge@1.0.0<br>
│ ├── di@0.0.1<br>
│ ├─┬ dom-serialize@2.2.1<br>
│ │ ├── custom-event@1.0.1<br>
│ │ ├── ent@2.2.0<br>
│ │ ├── extend@3.0.0<br>
│ │ └── void-elements@2.0.1<br>
│ ├─┬ expand-braces@0.1.2<br>
│ │ ├── array-slice@0.2.3<br>
│ │ ├── array-unique@0.2.1<br>
│ │ └─┬ braces@0.1.5<br>
│ │   └─┬ expand-range@0.1.1<br>
│ │     ├── is-number@0.1.1<br>
│ │     └── repeat-string@0.2.2<br>
│ ├── graceful-fs@4.1.11<br>
│ ├─┬ http-proxy@1.16.2<br>
│ │ ├── eventemitter3@1.2.0<br>
│ │ └── requires-port@1.0.0<br>
│ ├── lodash@3.10.1<br>
│ ├─┬ log4js@0.6.38<br>
│ │ ├─┬ readable-stream@1.0.34<br>
│ │ │ ├── core-util-is@1.0.2<br>
│ │ │ └── isarray@0.0.1<br>
│ │ └── semver@4.3.6<br>
│ ├── mime@1.3.4<br>
│ ├─┬ optimist@0.6.1<br>
│ │ ├── minimist@0.0.10<br>
│ │ └── wordwrap@0.0.2<br>
│ ├── qjobs@1.1.5<br>
│ ├── range-parser@1.2.0<br>
│ ├── rimraf@2.6.0<br>
│ ├── safe-buffer@5.0.1<br>
│ ├─┬ socket.io@1.7.3<br>
│ │ ├── debug@2.3.3<br>
│ │ ├─┬ engine.io@1.8.3<br>
│ │ │ ├── base64id@1.0.0<br>
│ │ │ ├── debug@2.3.3<br>
│ │ │ ├─┬ engine.io-parser@1.3.2<br>
│ │ │ │ ├── after@0.8.2<br>
│ │ │ │ ├── arraybuffer.slice@0.0.6<br>
│ │ │ │ ├── base64-arraybuffer@0.1.5<br>
│ │ │ │ ├── blob@0.0.4<br>
│ │ │ │ └── wtf-8@1.0.0<br>
│ │ │ └─┬ ws@1.1.2<br>
│ │ │   ├── options@0.0.6<br>
│ │ │   └── ultron@1.0.2<br>
│ │ ├─┬ has-binary@0.1.7<br>
│ │ │ └── isarray@0.0.1<br>
│ │ ├── object-assign@4.1.0<br>
│ │ ├─┬ socket.io-adapter@0.5.0<br>
│ │ │ └── debug@2.3.3<br>
│ │ ├─┬ socket.io-client@1.7.3<br>
│ │ │ ├── backo2@1.0.2<br>
│ │ │ ├── component-bind@1.0.0<br>
│ │ │ ├── component-emitter@1.2.1<br>
│ │ │ ├── debug@2.3.3<br>
│ │ │ ├─┬ engine.io-client@1.8.3<br>
│ │ │ │ ├── component-emitter@1.2.1<br>
│ │ │ │ ├── component-inherit@0.0.3<br>
│ │ │ │ ├── debug@2.3.3<br>
│ │ │ │ ├── has-cors@1.1.0<br>
│ │ │ │ ├── parsejson@0.0.3<br>
│ │ │ │ ├── parseqs@0.0.5<br>
│ │ │ │ ├── ws@1.1.2<br>
│ │ │ │ ├── xmlhttprequest-ssl@1.5.3<br>
│ │ │ │ └── yeast@0.1.2<br>
│ │ │ ├── indexof@0.0.1<br>
│ │ │ ├── object-component@0.0.3<br>
│ │ │ ├─┬ parseuri@0.0.5<br>
│ │ │ │ └─┬ better-assert@1.0.2<br>
│ │ │ │   └── callsite@1.0.0<br>
│ │ │ └── to-array@0.1.4<br>
│ │ └─┬ socket.io-parser@2.3.1<br>
│ │   ├── component-emitter@1.1.2<br>
│ │   ├─┬ debug@2.2.0<br>
│ │   │ └── ms@0.7.1<br>
│ │   └── isarray@0.0.1<br>
│ ├── tmp@0.0.31<br>
│ └─┬ useragent@2.1.12<br>
│   └── lru-cache@2.2.4<br>
├─┬ karma-chrome-launcher@2.0.0<br>
│ ├─┬ fs-access@1.0.1<br>
│ │ └── null-check@1.0.0<br>
│ └─┬ which@1.2.12<br>
│   └── isexe@1.1.2<br>
├── karma-cli@1.0.1<br>
├─┬ karma-coverage-istanbul-reporter@0.2.3<br>
│ └─┬ istanbul-api@1.1.1<br>
│   ├── fileset@2.0.3<br>
│   ├── istanbul-lib-coverage@1.0.1<br>
│   ├─┬ istanbul-lib-hook@1.0.0<br>
│   │ └─┬ append-transform@0.4.0<br>
│   │   └── default-require-extensions@1.0.0<br>
│   ├─┬ istanbul-lib-report@1.0.0-alpha.3<br>
│   │ ├── async@1.5.2<br>
│   │ └── path-parse@1.0.5<br>
│   ├── istanbul-lib-source-maps@1.1.0<br>
│   ├─┬ istanbul-reports@1.0.1<br>
│   │ └─┬ handlebars@4.0.6<br>
│   │   ├── async@1.5.2<br>
│   │   └── source-map@0.4.4<br>
│   └─┬ js-yaml@3.7.0<br>
│     ├── argparse@1.0.9<br>
│     └── esprima@2.7.3<br>
├── karma-jasmine@1.1.0<br>
├── ng2-bs3-modal@0.10.4<br>
├─┬ node-sass@4.5.0<br>
│ ├── async-foreach@0.1.3<br>
│ ├─┬ cross-spawn@3.0.1<br>
│ │ └─┬ lru-cache@4.0.2<br>
│ │   ├── pseudomap@1.0.2<br>
│ │   └── yallist@2.0.0<br>
│ ├─┬ gaze@1.1.2<br>
│ │ └─┬ globule@1.1.0<br>
│ │   └── lodash@4.16.6<br>
│ ├── get-stdin@4.0.1<br>
│ ├── in-publish@2.0.0<br>
│ ├── lodash.assign@4.2.0<br>
│ ├── lodash.clonedeep@4.5.0<br>
│ ├── lodash.mergewith@4.6.0<br>
│ ├─┬ meow@3.7.0<br>
│ │ ├─┬ camelcase-keys@2.1.0<br>
│ │ │ └── camelcase@2.1.1<br>
│ │ ├─┬ loud-rejection@1.6.0<br>
│ │ │ ├─┬ currently-unhandled@0.4.1<br>
│ │ │ │ └── array-find-index@1.0.2<br>
│ │ │ └── signal-exit@3.0.2<br>
│ │ ├── map-obj@1.0.1<br>
│ │ ├─┬ normalize-package-data@2.3.5<br>
│ │ │ ├── hosted-git-info@2.2.0<br>
│ │ │ ├─┬ is-builtin-module@1.0.0<br>
│ │ │ │ └── builtin-modules@1.1.1<br>
│ │ │ └─┬ validate-npm-package-license@3.0.1<br>
│ │ │   ├─┬ spdx-correct@1.0.2<br>
│ │ │   │ └── spdx-license-ids@1.2.2<br>
│ │ │   └── spdx-expression-parse@1.0.4<br>
│ │ ├─┬ read-pkg-up@1.0.1<br>
│ │ │ ├─┬ find-up@1.1.2<br>
│ │ │ │ └── path-exists@2.1.0<br>
│ │ │ └─┬ read-pkg@1.1.0<br>
│ │ │   ├── load-json-file@1.1.0<br>
│ │ │   └── path-type@1.1.0<br>
│ │ ├─┬ redent@1.0.0<br>
│ │ │ ├── indent-string@2.1.0<br>
│ │ │ └── strip-indent@1.0.1<br>
│ │ └── trim-newlines@1.0.0<br>
│ ├─┬ mkdirp@0.5.1<br>
│ │ └── minimist@0.0.8<br>
│ ├── nan@2.5.1<br>
│ ├─┬ node-gyp@3.5.0<br>
│ │ ├── fstream@1.0.10<br>
│ │ ├── nopt@3.0.6<br>
│ │ └─┬ tar@2.2.1<br>
│ │   └── block-stream@0.0.9<br>
│ ├─┬ npmlog@4.0.2<br>
│ │ ├─┬ are-we-there-yet@1.1.2<br>
│ │ │ └── delegates@1.0.0<br>
│ │ ├── console-control-strings@1.1.0<br>
│ │ ├─┬ gauge@2.7.3<br>
│ │ │ ├── aproba@1.1.1<br>
│ │ │ ├── has-unicode@2.0.1<br>
│ │ │ ├─┬ string-width@1.0.2<br>
│ │ │ │ └── is-fullwidth-code-point@1.0.0<br>
│ │ │ └─┬ wide-align@1.1.0<br>
│ │ │   └─┬ string-width@1.0.2<br>
│ │ │     └── is-fullwidth-code-point@1.0.0<br>
│ │ └── set-blocking@2.0.0<br>
│ ├─┬ request@2.79.0<br>
│ │ ├── aws-sign2@0.6.0<br>
│ │ ├── aws4@1.6.0<br>
│ │ ├── caseless@0.11.0<br>
│ │ ├─┬ combined-stream@1.0.5<br>
│ │ │ └── delayed-stream@1.0.0<br>
│ │ ├── forever-agent@0.6.1<br>
│ │ ├─┬ form-data@2.1.2<br>
│ │ │ └── asynckit@0.4.0<br>
│ │ ├─┬ har-validator@2.0.6<br>
│ │ │ ├── commander@2.9.0<br>
│ │ │ └─┬ is-my-json-valid@2.15.0<br>
│ │ │   ├── generate-function@2.0.0<br>
│ │ │   ├─┬ generate-object-property@1.2.0<br>
│ │ │   │ └── is-property@1.0.2<br>
│ │ │   └── jsonpointer@4.0.1<br>
│ │ ├─┬ hawk@3.1.3<br>
│ │ │ ├── boom@2.10.1<br>
│ │ │ ├── cryptiles@2.0.5<br>
│ │ │ ├── hoek@2.16.3<br>
│ │ │ └── sntp@1.0.9<br>
│ │ ├─┬ http-signature@1.1.1<br>
│ │ │ ├── assert-plus@0.2.0<br>
│ │ │ ├─┬ jsprim@1.3.1<br>
│ │ │ │ ├── extsprintf@1.0.2<br>
│ │ │ │ ├── json-schema@0.2.3<br>
│ │ │ │ └── verror@1.3.6<br>
│ │ │ └─┬ sshpk@1.10.2<br>
│ │ │   ├── asn1@0.2.3<br>
│ │ │   ├── assert-plus@1.0.0<br>
│ │ │   ├── bcrypt-pbkdf@1.0.1<br>
│ │ │   ├─┬ dashdash@1.14.1<br>
│ │ │   │ └── assert-plus@1.0.0<br>
│ │ │   ├── ecc-jsbn@0.1.1<br>
│ │ │   ├─┬ getpass@0.1.6<br>
│ │ │   │ └── assert-plus@1.0.0<br>
│ │ │   ├── jodid25519@1.0.2<br>
│ │ │   ├── jsbn@0.1.1<br>
│ │ │   └── tweetnacl@0.14.5<br>
│ │ ├── is-typedarray@1.0.0<br>
│ │ ├── isstream@0.1.2<br>
│ │ ├── json-stringify-safe@5.0.1<br>
│ │ ├─┬ mime-types@2.1.14<br>
│ │ │ └── mime-db@1.26.0<br>
│ │ ├── oauth-sign@0.8.2<br>
│ │ ├── qs@6.3.1<br>
│ │ ├── stringstream@0.0.5<br>
│ │ ├── tough-cookie@2.3.2<br>
│ │ ├── tunnel-agent@0.4.3<br>
│ │ └── uuid@3.0.1<br>
│ ├─┬ sass-graph@2.1.2<br>
│ │ └─┬ yargs@4.8.1<br>
│ │   ├── cliui@3.2.0<br>
│ │   ├─┬ string-width@1.0.2<br>
│ │   │ └── is-fullwidth-code-point@1.0.0<br>
│ │   ├── window-size@0.2.0<br>
│ │   └─┬ yargs-parser@2.4.1<br>
│ │     └── camelcase@3.0.0<br>
│ └─┬ stdout-stream@1.4.0<br>
│   └─┬ readable-stream@2.2.2<br>
│     ├── buffer-shims@1.0.0<br>
│     ├── isarray@1.0.0<br>
│     ├── process-nextick-args@1.0.7<br>
│     └── util-deprecate@1.0.2<br>
├─┬ protractor@5.1.1<br>
│ ├── @types/node@6.0.63<br>
│ ├── @types/q@0.0.32<br>
│ ├── @types/selenium-webdriver@2.53.39<br>
│ ├── blocking-proxy@0.0.5<br>
│ ├─┬ jasmine@2.5.3<br>
│ │ └── exit@0.1.2<br>
│ ├── jasminewd2@2.0.0<br>
│ ├── q@1.4.1<br>
│ ├─┬ saucelabs@1.3.0<br>
│ │ └─┬ https-proxy-agent@1.0.0<br>
│ │   └─┬ agent-base@2.0.1<br>
│ │     └── semver@5.0.3<br>
│ ├─┬ selenium-webdriver@3.0.1<br>
│ │ └── tmp@0.0.30<br>
│ ├── source-map-support@0.4.11<br>
│ ├─┬ webdriver-js-extender@1.0.0<br>
│ │ └─┬ selenium-webdriver@2.53.3<br>
│ │   ├── adm-zip@0.4.4<br>
│ │   ├── tmp@0.0.24<br>
│ │   ├── ws@1.1.1<br>
│ │   └─┬ xml2js@0.4.4<br>
│ │     └── sax@0.6.1<br>
│ └─┬ webdriver-manager@12.0.2<br>
│   ├── adm-zip@0.4.7<br>
│   ├─┬ del@2.2.2<br>
│   │ ├─┬ globby@5.0.0<br>
│   │ │ └─┬ array-union@1.0.2<br>
│   │ │   └── array-uniq@1.0.3<br>
│   │ ├── is-path-cwd@1.0.0<br>
│   │ └─┬ is-path-in-cwd@1.0.0<br>
│   │   └─┬ is-path-inside@1.0.0<br>
│   │     └── path-is-inside@1.0.2<br>
│   ├── ini@1.3.4<br>
│   └─┬ xml2js@0.4.17<br>
│     ├── sax@1.2.2<br>
│     └── xmlbuilder@4.2.1<br>
├── raw-loader@0.5.1<br>
├─┬ rxjs@5.2.0<br>
│ └── symbol-observable@1.0.4<br>
├─┬ sass-loader@6.0.2<br>
│ ├── async@2.1.5<br>
│ ├─┬ clone-deep@0.2.4<br>
│ │ ├─┬ for-own@0.1.4<br>
│ │ │ └── for-in@0.1.6<br>
│ │ ├─┬ is-plain-object@2.0.1<br>
│ │ │ └── isobject@1.0.2<br>
│ │ ├─┬ kind-of@3.1.0<br>
│ │ │ └── is-buffer@1.1.4<br>
│ │ ├── lazy-cache@1.0.4<br>
│ │ └─┬ shallow-clone@0.1.2<br>
│ │   ├── is-extendable@0.1.1<br>
│ │   ├── kind-of@2.0.1<br>
│ │   ├── lazy-cache@0.2.7<br>
│ │   └── mixin-object@2.0.1<br>
│ ├─┬ loader-utils@1.0.2<br>
│ │ ├── big.js@3.1.3<br>
│ │ ├── emojis-list@2.1.0<br>
│ │ └── json5@0.5.1<br>
│ ├── lodash.tail@4.1.1<br>
│ └── pify@2.3.0<br>
├── ts-helpers@1.1.2<br>
├─┬ ts-node@2.1.0<br>
│ ├── arrify@1.0.1<br>
│ ├── make-error@1.2.1<br>
│ ├── pinkie@2.0.4<br>
│ ├─┬ tsconfig@5.0.3<br>
│ │ ├── any-promise@1.3.0<br>
│ │ ├─┬ parse-json@2.2.0<br>
│ │ │ └─┬ error-ex@1.3.0<br>
│ │ │   └── is-arrayish@0.2.1<br>
│ │ ├─┬ strip-bom@2.0.0<br>
│ │ │ └── is-utf8@0.2.1<br>
│ │ └── strip-json-comments@2.0.1<br>
│ ├─┬ v8flags@2.0.11<br>
│ │ └── user-home@1.1.1<br>
│ ├── xtend@4.0.1<br>
│ └── yn@1.2.0<br>
├─┬ tslint@4.4.2<br>
│ ├─┬ babel-code-frame@6.22.0<br>
│ │ ├── esutils@2.0.2<br>
│ │ └── js-tokens@3.0.1<br>
│ ├─┬ findup-sync@0.3.0<br>
│ │ └── glob@5.0.15<br>
│ └─┬ update-notifier@1.0.3<br>
│   ├─┬ boxen@0.6.0<br>
│   │ ├─┬ ansi-align@1.1.0<br>
│   │ │ └─┬ string-width@1.0.2<br>
│   │ │   └── is-fullwidth-code-point@1.0.0<br>
│   │ ├── camelcase@2.1.1<br>
│   │ ├── cli-boxes@1.0.0<br>
│   │ ├── filled-array@1.1.0<br>
│   │ ├─┬ repeating@2.0.1<br>
│   │ │ └── is-finite@1.0.2<br>
│   │ ├─┬ string-width@1.0.2<br>
│   │ │ └── is-fullwidth-code-point@1.0.0<br>
│   │ └─┬ widest-line@1.0.0<br>
│   │   └─┬ string-width@1.0.2<br>
│   │     └── is-fullwidth-code-point@1.0.0<br>
│   ├─┬ configstore@2.1.0<br>
│   │ ├─┬ dot-prop@3.0.0<br>
│   │ │ └── is-obj@1.0.1<br>
│   │ ├── uuid@2.0.3<br>
│   │ └─┬ write-file-atomic@1.3.1<br>
│   │   ├── imurmurhash@0.1.4<br>
│   │   └── slide@1.1.6<br>
│   ├── is-npm@1.0.0<br>
│   ├─┬ latest-version@2.0.0<br>
│   │ └─┬ package-json@2.4.0<br>
│   │   ├─┬ got@5.7.1<br>
│   │   │ ├─┬ create-error-class@3.0.2<br>
│   │   │ │ └── capture-stack-trace@1.0.0<br>
│   │   │ ├── duplexer2@0.1.4<br>
│   │   │ ├── is-redirect@1.0.0<br>
│   │   │ ├── is-retry-allowed@1.1.0<br>
│   │   │ ├── is-stream@1.1.0<br>
│   │   │ ├── lowercase-keys@1.0.0<br>
│   │   │ ├── node-status-codes@1.0.0<br>
│   │   │ ├── read-all-stream@3.1.0<br>
│   │   │ ├── timed-out@3.1.3<br>
│   │   │ ├── unzip-response@1.0.2<br>
│   │   │ └── url-parse-lax@1.0.0<br>
│   │   ├─┬ registry-auth-token@3.1.0<br>
│   │   │ └─┬ rc@1.1.7<br>
│   │   │   └── deep-extend@0.4.1<br>
│   │   └── registry-url@3.1.0<br>
│   ├── lazy-req@1.1.0<br>
│   ├── semver-diff@2.1.0<br>
│   └── xdg-basedir@2.0.0<br>
├── typescript@2.2.1<br>
└── zone.js@0.7.7</p>
<ul class="contains-task-list">
<li><strong>I'm submitting a ...</strong></li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> bug report</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> feature request</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox"> support request =&gt; Please do not submit support request here, see note at the top of this template.</li>
</ul>
<p dir="auto"><strong>Current behavior</strong><br>
If you have base class A, with dependencies specified in its constructor, and then create class B, which subclasses A, and do not specify a constructor, when you try to inject class B into a component, its dependencies are not resolved per its parent constructor. As a workaround, I am duplicating the constructor of A in B.</p>
<p dir="auto"><strong>Expected/desired behavior</strong><br>
Dependencies specified in the parent constructor are resolved.</p>
<ul dir="auto">
<li><strong>What is the motivation / use case for changing the behavior?</strong><br>
Developer ergonomics. This bug fix should be feasible since the entire prototype chain is available from within the decorator (at least in modern browsers): <a href="https://www.typescriptlang.org/play/#src=abstract%20class%20RuntimeErrorHandler%20%7B%0D%0A%09constructor(msg%3A%20string)%20%7B%7D%0D%0A%7D%0D%0A%0D%0Afunction%20test(constructor%3A%20Function)%20%7B%0D%0A%09console.log(constructor.prototype)%3B%0D%0A%7D%0D%0A%0D%0A%40test%0D%0Aclass%20ConsoleErrorHandler%20extends%20RuntimeErrorHandler%20%7B%7D" rel="nofollow">https://www.typescriptlang.org/play/#src=abstract%20class%20RuntimeErrorHandler%20%7B%0D%0A%09constructor(msg%3A%20string)%20%7B%7D%0D%0A%7D%0D%0A%0D%0Afunction%20test(constructor%3A%20Function)%20%7B%0D%0A%09console.log(constructor.prototype)%3B%0D%0A%7D%0D%0A%0D%0A%40test%0D%0Aclass%20ConsoleErrorHandler%20extends%20RuntimeErrorHandler%20%7B%7D</a></li>
<li><strong>Please tell us about your environment:</strong><br>
Node 5.</li>
<li><strong>Angular version:</strong> 2.0.0-beta.X</li>
<li><strong>Browser:</strong> [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]</li>
<li><strong>Language:</strong> [all | TypeScript X.X | ES6/7 | ES5 | Dart]</li>
</ul>