Issue 1:
`

Current behavior

ng build

ng build --aot

ng build --prod

ng build --prod --aot

can not build successfully;

Expected behavior

i can ng serve to running in local;

but can't build .

And i have updated everything use 'ncu -u ' & 'npm install'

What is the motivation / use case for changing the behavior?

lazy load route;

Please tell us about your environment:

I use angular-cli build my project .

When i 'ng serve', it often comes out error:

'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

';

My code is about the same in the tutorial :

http://codingthesmartway.com/angular-2-routing-with-modules/

as below:

import { NgModule } from '@angular/core';

import { Routes, RouterModule } from '@angular/router';

import { FirstComponent } from './first.component';

import { SecondComponent } from './second.component';

import { ThirdComponent } from './third.component';

const routes: Routes = [

{path: '', pathMatch: 'full', redirectTo: 'first'}

{path: 'first', component: FirstComponent},

{path: 'second', component: SecondComponent},

{path: 'third', component: ThirdComponent},

];

@NgModule({

imports: [RouterModule.forRoot(routes)],

exports: [RouterModule]

})

export class AppRoutingModule {}

export const routingComponents = [FirstComponent, SecondComponent, ThirdComponent];

My code:

start

import { NgModule } from '@angular/core';

import { Routes, RouterModule } from '@angular/router';

import { HomeComponent } from './home/home.component';

import { LoginComponent } from './login/login.component';

import { AuditComponent } from './audit/audit.component';

import { UserComponent } from './user/user.component';

import { HouseSourceComponent } from './house-source/house-source.component';

declare var require: any;

export const routes : Routes = [

{

path: '',

redirectTo: 'home',

pathMatch : 'full'

},

{

path: 'home',

component : HomeComponent

},

{

path: 'login',

component : LoginComponent

},

{

path: 'about',

loadChildren : () => new Promise(resolve => {

(require as any).ensure([],(require : any) => {

resolve(require('./about/about.module').AboutModule);

})

})

},

{

path: 'houseSource',

loadChildren : () =>

new Promise(resolve => {

(require as any).ensure([],(require : any) => {

resolve(require('./house-source/house-source.module').HouseSourceModule);

})

})

},

{

path: 'user',

loadChildren : () =>

new Promise(resolve => {

(require as any).ensure([],(require : any) => {

resolve(require('./user/user.module').UserModule);

})

})

},

{

path: 'audit',

loadChildren : () =>

new Promise(resolve => {

(require as any).ensure([],(require : any) => {

resolve(require('./audit/audit.module').AuditModule);

})

})

},

{

path: 'houseSourceAudit',

loadChildren : () =>

new Promise(resolve => {

(require as any).ensure([],(require : any) => {

resolve(require('./house-source-audit/house-source-audit.module').HouseSourceAuditModule);

})

})

},{

path: 'userAudit',

loadChildren : () =>

new Promise(resolve => {

(require as any).ensure([],(require : any) => {

resolve(require('./user-audit/user-audit.module').UserAuditModule);

})

})

},{

path: 'userAuditDetail/:id',

loadChildren : () =>

new Promise(resolve => {

(require as any).ensure([],(require : any) => {

resolve(require('./user-audit-detail/user-audit-detail.module').UserAuditDetailModule);

})

})

}

]

@NgModule({

imports: [RouterModule.forRoot(routes)],

exports: [RouterModule],

providers: []

})

export class RoutingModule {}

end**

Angular version: @angular/cli@1.0.0-rc.0

Language: [all | TypeScript :@2.2.1

Node (for AoT issues): node --version =

├─┬ @angular/cli@1.0.0-rc.0

│ ├─┬ @angular/tsc-wrapped@0.5.2

│ │ └── tsickle@0.2.6

│ ├── @ngtools/json-schema@1.0.5

│ ├─┬ @ngtools/webpack@1.2.11

│ │ ├── enhanced-resolve@3.1.0

│ │ └─┬ magic-string@0.19.0

│ │ └── vlq@0.2.1

│ ├─┬ autoprefixer@6.7.5

│ │ ├─┬ browserslist@1.7.5

│ │ │ └── electron-to-chromium@1.2.4

│ │ ├── caniuse-db@1.0.30000628

│ │ ├── normalize-range@0.1.2

│ │ ├── num2fraction@1.2.2

│ │ ├── postcss@5.2.15

│ │ └── postcss-value-parser@3.3.0

│ ├─┬ chalk@1.1.3

│ │ ├── ansi-styles@2.2.1

│ │ ├── escape-string-regexp@1.0.5

│ │ ├─┬ has-ansi@2.0.0

│ │ │ └── ansi-regex@2.1.1

│ │ ├── strip-ansi@3.0.1

│ │ └── supports-color@2.0.0

│ ├─┬ common-tags@1.4.0

│ │ └─┬ babel-runtime@6.23.0

│ │ └── regenerator-runtime@0.10.1

│ ├─┬ css-loader@0.26.2

│ │ ├── loader-utils@1.0.2

│ │ ├── lodash.camelcase@4.3.0

│ │ ├── postcss-modules-extract-imports@1.0.1

│ │ ├─┬ postcss-modules-local-by-default@1.1.1

│ │ │ └── css-selector-tokenizer@0.6.0

│ │ ├─┬ postcss-modules-scope@1.0.2

│ │ │ └── css-selector-tokenizer@0.6.0

│ │ ├─┬ postcss-modules-values@1.2.2

│ │ │ └── icss-replace-symbols@1.0.2

│ │ └── source-list-map@0.1.8

│ ├─┬ cssnano@3.10.0

│ │ ├── decamelize@1.2.0

│ │ ├── defined@1.0.0

│ │ ├─┬ has@1.0.1

│ │ │ └── function-bind@1.1.0

│ │ ├─┬ postcss-calc@5.3.1

│ │ │ ├── postcss-message-helpers@2.0.0

│ │ │ └─┬ reduce-css-calc@1.3.0

│ │ │ ├── math-expression-evaluator@1.2.16

│ │ │ └── reduce-function-call@1.0.2

│ │ ├─┬ postcss-colormin@2.2.2

│ │ │ └─┬ colormin@1.1.2

│ │ │ ├─┬ color@0.11.4

│ │ │ │ ├── clone@1.0.2

│ │ │ │ ├─┬ color-convert@1.9.0

│ │ │ │ │ └── color-name@1.1.1

│ │ │ │ └── color-string@0.3.0

│ │ │ └── css-color-names@0.0.4

│ │ ├── postcss-convert-values@2.6.1

│ │ ├── postcss-discard-comments@2.0.4

│ │ ├── postcss-discard-duplicates@2.1.0

│ │ ├── postcss-discard-empty@2.1.0

│ │ ├── postcss-discard-overridden@0.1.1

│ │ ├─┬ postcss-discard-unused@2.2.3

│ │ │ └── uniqs@2.0.0

│ │ ├─┬ postcss-filter-plugins@2.0.2

│ │ │ └─┬ uniqid@4.1.1

│ │ │ └── macaddress@0.2.8

│ │ ├── postcss-merge-idents@2.1.7

│ │ ├── postcss-merge-longhand@2.0.2

│ │ ├─┬ postcss-merge-rules@2.1.2

│ │ │ ├─┬ caniuse-api@1.5.3

│ │ │ │ ├── lodash.memoize@4.1.2

│ │ │ │ └── lodash.uniq@4.5.0

│ │ │ ├─┬ postcss-selector-parser@2.2.3

│ │ │ │ ├── flatten@1.0.2

│ │ │ │ ├── indexes-of@1.0.1

│ │ │ │ └── uniq@1.0.1

│ │ │ └── vendors@1.0.1

│ │ ├── postcss-minify-font-values@1.0.5

│ │ ├── postcss-minify-gradients@1.0.5

│ │ ├─┬ postcss-minify-params@1.2.2

│ │ │ └── alphanum-sort@1.0.2

│ │ ├── postcss-minify-selectors@2.1.1

│ │ ├── postcss-normalize-charset@1.1.1

│ │ ├─┬ postcss-normalize-url@3.0.8

│ │ │ ├── is-absolute-url@2.1.0

│ │ │ └─┬ normalize-url@1.9.0

│ │ │ ├── prepend-http@1.0.4

│ │ │ ├─┬ query-string@4.3.2

│ │ │ │ └── strict-uri-encode@1.1.0

│ │ │ └─┬ sort-keys@1.1.2

│ │ │ └── is-plain-obj@1.1.0

│ │ ├── postcss-ordered-values@2.2.3

│ │ ├── postcss-reduce-idents@2.4.0

│ │ ├── postcss-reduce-initial@1.0.1

│ │ ├── postcss-reduce-transforms@1.0.4

│ │ ├─┬ postcss-svgo@2.1.6

│ │ │ ├─┬ is-svg@2.1.0

│ │ │ │ └── html-comment-regex@1.1.1

│ │ │ └─┬ svgo@0.7.2

│ │ │ ├── coa@1.0.1

│ │ │ ├─┬ csso@2.3.1

│ │ │ │ └── clap@1.1.2

│ │ │ └── whet.extend@0.9.9

│ │ ├── postcss-unique-selectors@2.0.2

│ │ └── postcss-zindex@2.2.0

│ ├─┬ debug@2.6.1

│ │ └── ms@0.7.2

│ ├── denodeify@1.2.1

│ ├── diff@3.2.0

│ ├── ember-cli-normalize-entity-name@1.0.0

│ ├── ember-cli-string-utils@1.1.0

│ ├─┬ exports-loader@0.6.4

│ │ └── loader-utils@1.0.2

│ ├─┬ extract-text-webpack-plugin@2.0.0

│ │ ├─┬ ajv@4.11.3

│ │ │ ├── co@4.6.0

│ │ │ └─┬ json-stable-stringify@1.0.1

│ │ │ └── jsonify@0.0.0

│ │ ├── loader-utils@1.0.2

│ │ └── webpack-sources@0.1.4

│ ├─┬ file-loader@0.10.1

│ │ └── loader-utils@1.0.2

│ ├─┬ fs-extra@2.0.0

│ │ └── jsonfile@2.4.0

│ ├── get-caller-file@1.0.2

│ ├─┬ glob@7.1.1

│ │ ├── fs.realpath@1.0.0

│ │ ├─┬ inflight@1.0.6

│ │ │ └── wrappy@1.0.2

│ │ ├── inherits@2.0.3

│ │ ├── once@1.4.0

│ │ └── path-is-absolute@1.0.1

│ ├─┬ html-webpack-plugin@2.28.0

│ │ ├─┬ html-minifier@3.3.3

│ │ │ ├─┬ camel-case@3.0.0

│ │ │ │ ├─┬ no-case@2.3.1

│ │ │ │ │ └── lower-case@1.1.4

│ │ │ │ └── upper-case@1.1.3

│ │ │ ├── clean-css@4.0.8

│ │ │ ├─┬ commander@2.9.0

│ │ │ │ └── graceful-readlink@1.0.1

│ │ │ ├── he@1.1.1

│ │ │ ├─┬ ncname@1.0.0

│ │ │ │ └── xml-char-classes@1.0.0

│ │ │ ├── param-case@2.1.0

│ │ │ └── relateurl@0.2.7

│ │ ├─┬ pretty-error@2.0.2

│ │ │ ├─┬ renderkid@2.0.0

│ │ │ │ ├─┬ css-select@1.2.0

│ │ │ │ │ ├── boolbase@1.0.0

│ │ │ │ │ ├── css-what@2.1.0

│ │ │ │ │ ├─┬ domutils@1.5.1

│ │ │ │ │ │ └─┬ dom-serializer@0.1.0

│ │ │ │ │ │ ├── domelementtype@1.1.3

│ │ │ │ │ │ └── entities@1.1.1

│ │ │ │ │ └── nth-check@1.0.1

│ │ │ │ ├─┬ dom-converter@0.1.4

│ │ │ │ │ └── utila@0.3.3

│ │ │ │ ├─┬ htmlparser2@3.3.0

│ │ │ │ │ ├── domelementtype@1.3.0

│ │ │ │ │ ├── domhandler@2.1.0

│ │ │ │ │ ├── domutils@1.1.6

│ │ │ │ │ └─┬ readable-stream@1.0.34

│ │ │ │ │ └── isarray@0.0.1

│ │ │ │ └── utila@0.3.3

│ │ │ └── utila@0.4.0

│ │ └── toposort@1.0.3

│ ├── inflection@1.12.0

│ ├─┬ inquirer@3.0.4

│ │ ├── ansi-escapes@1.4.0

│ │ ├─┬ cli-cursor@2.1.0

│ │ │ └─┬ restore-cursor@2.0.0

│ │ │ └─┬ onetime@2.0.0

│ │ │ └── mimic-fn@1.1.0

│ │ ├── cli-width@2.1.0

│ │ ├── external-editor@2.0.1

│ │ ├── figures@2.0.0

│ │ ├── mute-stream@0.0.7

│ │ ├─┬ run-async@2.3.0

│ │ │ └── is-promise@2.1.0

│ │ ├── rx@4.1.0

│ │ ├─┬ string-width@2.0.0

│ │ │ └── is-fullwidth-code-point@2.0.0

│ │ └── through@2.3.8

│ ├── isbinaryfile@3.0.2

│ ├─┬ istanbul-instrumenter-loader@2.0.0

│ │ ├── convert-source-map@1.4.0

│ │ └─┬ istanbul-lib-instrument@1.4.2

│ │ ├─┬ babel-generator@6.23.0

│ │ │ ├── babel-messages@6.23.0

│ │ │ ├── detect-indent@4.0.0

│ │ │ ├── jsesc@1.3.0

│ │ │ └── trim-right@1.0.1

│ │ ├── babel-template@6.23.0

│ │ ├─┬ babel-traverse@6.23.1

│ │ │ ├── globals@9.16.0

│ │ │ └─┬ invariant@2.2.2

│ │ │ └── loose-envify@1.3.1

│ │ ├─┬ babel-types@6.23.0

│ │ │ └── to-fast-properties@1.0.2

│ │ └── babylon@6.15.0

│ ├── json-loader@0.5.4

│ ├── karma-sourcemap-loader@0.3.7

│ ├─┬ karma-webpack@2.0.2

│ │ ├── async@0.9.2

│ │ ├── lodash@3.10.1

│ │ ├─┬ source-map@0.1.43

│ │ │ └── amdefine@1.0.1

│ │ └── webpack-dev-middleware@1.10.1

│ ├─┬ less@2.7.2

│ │ ├─┬ errno@0.1.4

│ │ │ └── prr@0.0.0

│ │ ├── image-size@0.5.1

│ │ └─┬ promise@7.1.1

│ │ └── asap@2.0.5

│ ├── less-loader@2.2.3

│ ├── lodash@4.17.4

│ ├─┬ minimatch@3.0.3

│ │ └─┬ brace-expansion@1.1.6

│ │ ├── balanced-match@0.4.2

│ │ └── concat-map@0.0.1

│ ├── node-modules-path@1.0.1

│ ├─┬ nopt@4.0.1

│ │ ├── abbrev@1.1.0

│ │ └─┬ osenv@0.1.4

│ │ └── os-homedir@1.0.2

│ ├─┬ opn@4.0.2

│ │ └── pinkie-promise@2.0.1

│ ├─┬ portfinder@1.0.13

│ │ └── async@1.5.2

│ ├── postcss-loader@0.13.0

│ ├─┬ postcss-url@5.1.2

│ │ ├─┬ directory-encoder@0.7.2

│ │ │ ├── fs-extra@0.23.1

│ │ │ ├─┬ handlebars@1.3.0

│ │ │ │ ├── optimist@0.3.7

│ │ │ │ └─┬ uglify-js@2.3.6

│ │ │ │ ├── async@0.2.10

│ │ │ │ └── source-map@0.1.43

│ │ │ └─┬ img-stats@0.5.2

│ │ │ └── xmldom@0.1.27

│ │ └── js-base64@2.1.9

│ ├── resolve@1.2.0

│ ├── rimraf@2.5.4

│ ├── rsvp@3.3.3

│ ├─┬ sass-loader@4.1.1

│ │ ├── async@2.1.4

│ │ ├── loader-utils@0.2.17

│ │ └── object-assign@4.1.1

│ ├── script-loader@0.7.0

│ ├── semver@5.3.0

│ ├── silent-error@1.0.1

│ ├─┬ source-map-loader@0.1.6

│ │ ├── async@0.9.2

│ │ └── source-map@0.1.43

│ ├─┬ style-loader@0.13.2

│ │ └── loader-utils@1.0.2

│ ├─┬ stylus@0.54.5

│ │ ├── css-parse@1.7.0

│ │ ├── glob@7.0.6

│ │ ├── sax@0.5.8

│ │ └── source-map@0.1.43

│ ├─┬ stylus-loader@2.5.0

│ │ └── when@3.6.4

│ ├─┬ temp@0.8.3

│ │ ├── os-tmpdir@1.0.2

│ │ └── rimraf@2.2.8

│ ├── typescript@2.1.6

│ ├─┬ url-loader@0.5.8

│ │ └── loader-utils@1.0.2

│ ├─┬ walk-sync@0.3.1

│ │ ├── ensure-posix-path@1.0.2

│ │ └── matcher-collection@1.0.4

│ ├─┬ webpack@2.2.1

│ │ ├── acorn@4.0.11

│ │ ├── acorn-dynamic-import@2.0.1

│ │ ├── ajv-keywords@1.5.1

│ │ ├── interpret@1.0.1

│ │ ├── loader-runner@2.3.0

│ │ ├── memory-fs@0.4.1

│ │ ├─┬ node-libs-browser@2.0.0

│ │ │ ├── assert@1.4.1

│ │ │ ├─┬ browserify-zlib@0.1.4

│ │ │ │ └── pako@0.2.9

│ │ │ ├─┬ buffer@4.9.1

│ │ │ │ ├── base64-js@1.2.0

│ │ │ │ └── ieee754@1.1.8

│ │ │ ├─┬ console-browserify@1.1.0

│ │ │ │ └── date-now@0.1.4

│ │ │ ├── constants-browserify@1.0.0

│ │ │ ├─┬ crypto-browserify@3.11.0

│ │ │ │ ├─┬ browserify-cipher@1.0.0

│ │ │ │ │ ├─┬ browserify-aes@1.0.6

│ │ │ │ │ │ └── buffer-xor@1.0.3

│ │ │ │ │ ├─┬ browserify-des@1.0.0

│ │ │ │ │ │ └── des.js@1.0.0

│ │ │ │ │ └── evp_bytestokey@1.0.0

│ │ │ │ ├─┬ browserify-sign@4.0.0

│ │ │ │ │ ├── bn.js@4.11.6

│ │ │ │ │ ├── browserify-rsa@4.0.1

│ │ │ │ │ ├─┬ elliptic@6.4.0

│ │ │ │ │ │ ├── brorand@1.1.0

│ │ │ │ │ │ ├── hash.js@1.0.3

│ │ │ │ │ │ ├── hmac-drbg@1.0.0

│ │ │ │ │ │ └── minimalistic-crypto-utils@1.0.1

│ │ │ │ │ └─┬ parse-asn1@5.0.0

│ │ │ │ │ └── asn1.js@4.9.1

│ │ │ │ ├── create-ecdh@4.0.0

│ │ │ │ ├─┬ create-hash@1.1.2

│ │ │ │ │ ├── cipher-base@1.0.3

│ │ │ │ │ ├── ripemd160@1.0.1

│ │ │ │ │ └── sha.js@2.4.8

│ │ │ │ ├── create-hmac@1.1.4

│ │ │ │ ├─┬ diffie-hellman@5.0.2

│ │ │ │ │ └── miller-rabin@4.0.0

│ │ │ │ ├── pbkdf2@3.0.9

│ │ │ │ ├── public-encrypt@4.0.0

│ │ │ │ └── randombytes@2.0.3

│ │ │ ├── domain-browser@1.1.7

│ │ │ ├── events@1.1.1

│ │ │ ├── https-browserify@0.0.1

│ │ │ ├── os-browserify@0.2.1

│ │ │ ├── path-browserify@0.0.0

│ │ │ ├── process@0.11.9

│ │ │ ├── punycode@1.4.1

│ │ │ ├── querystring-es3@0.2.1

│ │ │ ├── stream-browserify@2.0.1

│ │ │ ├─┬ stream-http@2.6.3

│ │ │ │ ├── builtin-status-codes@3.0.0

│ │ │ │ └── to-arraybuffer@1.0.1

│ │ │ ├── string_decoder@0.10.31

│ │ │ ├─┬ timers-browserify@2.0.2

│ │ │ │ └── setimmediate@1.0.5

│ │ │ ├── tty-browserify@0.0.0

│ │ │ ├─┬ url@0.11.0

│ │ │ │ ├── punycode@1.3.2

│ │ │ │ └── querystring@0.2.0

│ │ │ ├─┬ util@0.10.3

│ │ │ │ └── inherits@2.0.1

│ │ │ └── vm-browserify@0.0.4

│ │ ├─┬ supports-color@3.2.3

│ │ │ └── has-flag@1.0.0

│ │ ├── tapable@0.2.6

│ │ ├─┬ uglify-js@2.7.5

│ │ │ ├── async@0.2.10

│ │ │ ├── uglify-to-browserify@1.0.2

│ │ │ └─┬ yargs@3.10.0

│ │ │ ├── camelcase@1.2.1

│ │ │ ├─┬ cliui@2.1.0

│ │ │ │ ├─┬ center-align@0.1.3

│ │ │ │ │ └─┬ align-text@0.1.4

│ │ │ │ │ ├── longest@1.0.1

│ │ │ │ │ └── repeat-string@1.6.1

│ │ │ │ └── right-align@0.1.3

│ │ │ └── window-size@0.1.0

│ │ ├── watchpack@1.3.1

│ │ └─┬ yargs@6.6.0

│ │ ├── camelcase@3.0.0

│ │ ├─┬ cliui@3.2.0

│ │ │ └─┬ wrap-ansi@2.1.0

│ │ │ └─┬ string-width@1.0.2

│ │ │ └── is-fullwidth-code-point@1.0.0

│ │ ├─┬ os-locale@1.4.0

│ │ │ └─┬ lcid@1.0.0

│ │ │ └── invert-kv@1.0.0

│ │ ├── require-directory@2.1.1

│ │ ├── require-main-filename@1.0.1

│ │ ├─┬ string-width@1.0.2

│ │ │ ├── code-point-at@1.1.0

│ │ │ └─┬ is-fullwidth-code-point@1.0.0

│ │ │ └── number-is-nan@1.0.1

│ │ ├── which-module@1.0.0

│ │ ├── y18n@3.2.1

│ │ └── yargs-parser@4.2.1

│ ├─┬ webpack-dev-server@2.3.0

│ │ ├── ansi-html@0.0.7

│ │ ├─┬ compression@1.6.2

│ │ │ ├─┬ accepts@1.3.3

│ │ │ │ └── negotiator@0.6.1

│ │ │ ├── bytes@2.3.0

│ │ │ ├── compressible@2.0.9

│ │ │ ├─┬ debug@2.2.0

│ │ │ │ └── ms@0.7.1

│ │ │ ├── on-headers@1.0.1

│ │ │ └── vary@1.1.0

│ │ ├── connect-history-api-fallback@1.3.0

│ │ ├─┬ express@4.14.1

│ │ │ ├── array-flatten@1.1.1

│ │ │ ├── content-disposition@0.5.2

│ │ │ ├── cookie@0.3.1

│ │ │ ├── cookie-signature@1.0.6

│ │ │ ├─┬ debug@2.2.0

│ │ │ │ └── ms@0.7.1

│ │ │ ├── encodeurl@1.0.1

│ │ │ ├── escape-html@1.0.3

│ │ │ ├── etag@1.7.0

│ │ │ ├─┬ finalhandler@0.5.1

│ │ │ │ └─┬ debug@2.2.0

│ │ │ │ └── ms@0.7.1

│ │ │ ├── fresh@0.3.0

│ │ │ ├── merge-descriptors@1.0.1

│ │ │ ├── methods@1.1.2

│ │ │ ├── path-to-regexp@0.1.7

│ │ │ ├─┬ proxy-addr@1.1.3

│ │ │ │ ├── forwarded@0.1.0

│ │ │ │ └── ipaddr.js@1.2.0

│ │ │ ├── qs@6.2.0

│ │ │ ├─┬ send@0.14.2

│ │ │ │ ├─┬ debug@2.2.0

│ │ │ │ │ └── ms@0.7.1

│ │ │ │ └── destroy@1.0.4

│ │ │ └── serve-static@1.11.2

│ │ ├── html-entities@1.2.0

│ │ ├─┬ http-proxy-middleware@0.17.3

│ │ │ ├─┬ is-glob@3.1.0

│ │ │ │ └── is-extglob@2.1.1

│ │ │ └─┬ micromatch@2.3.11

│ │ │ ├─┬ arr-diff@2.0.0

│ │ │ │ └── arr-flatten@1.0.1

│ │ │ ├─┬ braces@1.8.5

│ │ │ │ ├─┬ expand-range@1.8.2

│ │ │ │ │ └─┬ fill-range@2.2.3

│ │ │ │ │ ├── is-number@2.1.0

│ │ │ │ │ ├── isobject@2.1.0

│ │ │ │ │ └── randomatic@1.1.6

│ │ │ │ ├── preserve@0.2.0

│ │ │ │ └── repeat-element@1.1.2

│ │ │ ├─┬ expand-brackets@0.1.5

│ │ │ │ └── is-posix-bracket@0.1.1

│ │ │ ├── extglob@0.3.2

│ │ │ ├── filename-regex@2.0.0

│ │ │ ├── normalize-path@2.0.1

│ │ │ ├── object.omit@2.0.1

│ │ │ ├─┬ parse-glob@3.0.4

│ │ │ │ ├── glob-base@0.3.0

│ │ │ │ └── is-dotfile@1.0.2

│ │ │ └─┬ regex-cache@0.4.3

│ │ │ ├── is-equal-shallow@0.1.3

│ │ │ └── is-primitive@2.0.0

│ │ ├─┬ serve-index@1.8.0

│ │ │ ├── batch@0.5.3

│ │ │ └─┬ debug@2.2.0

│ │ │ └── ms@0.7.1

│ │ ├─┬ sockjs@0.3.18

│ │ │ ├─┬ faye-websocket@0.10.0

│ │ │ │ └─┬ websocket-driver@0.6.5

│ │ │ │ └── websocket-extensions@0.1.1

│ │ │ └── uuid@2.0.3

│ │ ├─┬ sockjs-client@1.1.1

│ │ │ ├─┬ eventsource@0.1.6

│ │ │ │ └─┬ original@1.0.0

│ │ │ │ └── url-parse@1.0.5

│ │ │ ├── faye-websocket@0.11.1

│ │ │ ├── json3@3.3.2

│ │ │ └─┬ url-parse@1.1.8

│ │ │ └── querystringify@0.0.4

│ │ ├─┬ spdy@3.4.4

│ │ │ ├── handle-thing@1.2.5

│ │ │ ├── http-deceiver@1.2.7

│ │ │ ├── select-hose@2.0.0

│ │ │ └─┬ spdy-transport@2.0.18

│ │ │ ├── hpack.js@2.1.6

│ │ │ ├── obuf@1.1.1

│ │ │ └─┬ wbuf@1.7.2

│ │ │ └── minimalistic-assert@1.0.0

│ │ └─┬ yargs@6.6.0

│ │ ├── camelcase@3.0.0

│ │ ├── cliui@3.2.0

│ │ ├─┬ string-width@1.0.2

│ │ │ └── is-fullwidth-code-point@1.0.0

│ │ └── yargs-parser@4.2.1

│ └── webpack-merge@2.6.1

├── @angular/common@2.4.8

├── @angular/compiler@2.4.8

├─┬ @angular/compiler-cli@2.4.8

│ ├── minimist@1.2.0

│ └── reflect-metadata@0.1.10

├── @angular/core@2.4.8

├── @angular/flex-layout@2.0.0-rc.1

├── UNMET PEER DEPENDENCY @angular/forms@2.4.8

├── UNMET PEER DEPENDENCY @angular/http@2.4.8

├── @angular/material@2.0.0-beta.2

├── @angular/platform-browser@2.4.8

├── @angular/platform-browser-dynamic@2.4.8

├── @angular/router@3.4.8

├── @angular2-material/button@2.0.0-alpha.8-experimental3

├── @angular2-material/card@2.0.0-alpha.8-experimental3

├── @angular2-material/checkbox@2.0.0-alpha.8-experimental3

├── UNMET PEER DEPENDENCY @angular2-material/core@2.0.0-alpha.8-experimental3

├── @angular2-material/icon@2.0.0-alpha.8-experimental3

├── @angular2-material/input@2.0.0-alpha.8-experimental3

├── @angular2-material/list@2.0.0-alpha.8-experimental3

├── @angular2-material/radio@2.0.0-alpha.8-2 extraneous

├── @angular2-material/sidenav@2.0.0-alpha.8-experimental3

├── @angular2-material/toolbar@2.0.0-alpha.8-experimental3

├── @ng-bootstrap/ng-bootstrap@1.0.0-alpha.20

├── @types/jasmine@2.5.43

├── @types/node@7.0.5

├── angular2-material-datepicker@0.5.0 extraneous

├── angular2-modal@2.0.3

├── bootstrap@3.3.7

├─┬ codelyzer@3.0.0-beta.0

│ ├── app-root-path@2.0.1

│ ├─┬ css-selector-tokenizer@0.7.0

│ │ ├── cssesc@0.1.0

│ │ ├── fastparse@1.1.1

│ │ └─┬ regexpu-core@1.0.0

│ │ ├── regenerate@1.3.2

│ │ ├── regjsgen@0.2.0

│ │ └─┬ regjsparser@0.1.5

│ │ └── jsesc@0.5.0

│ ├── cssauron@1.4.0

│ ├── semver-dsl@1.0.1

│ ├── source-map@0.5.6

│ └── sprintf-js@1.0.3

├── core-js@2.4.1

├── hammerjs@2.0.8

├── jasmine-core@2.5.2

├─┬ jasmine-spec-reporter@3.2.0

│ └── colors@1.1.2

├─┬ karma@1.5.0

│ ├── bluebird@3.4.7

│ ├─┬ body-parser@1.16.1

│ │ ├── bytes@2.4.0

│ │ ├── content-type@1.0.2

│ │ ├── depd@1.1.0

│ │ ├─┬ http-errors@1.5.1

│ │ │ ├── setprototypeof@1.0.2

│ │ │ └── statuses@1.3.1

│ │ ├── iconv-lite@0.4.15

│ │ ├─┬ on-finished@2.3.0

│ │ │ └── ee-first@1.1.1

│ │ ├── qs@6.2.1

│ │ ├─┬ raw-body@2.2.0

│ │ │ ├── bytes@2.4.0

│ │ │ └── unpipe@1.0.0

│ │ └─┬ type-is@1.6.14

│ │ └── media-typer@0.3.0

│ ├─┬ chokidar@1.6.1

│ │ ├── anymatch@1.3.0

│ │ ├── async-each@1.0.1

│ │ ├─┬ fsevents@1.0.17

│ │ │ └─┬ node-pre-gyp@0.6.32

│ │ │ ├─┬ mkdirp@0.5.1

│ │ │ │ └── minimist@0.0.8

│ │ │ ├─┬ nopt@3.0.6

│ │ │ │ └── abbrev@1.0.9

│ │ │ ├─┬ npmlog@4.0.2

│ │ │ │ ├─┬ are-we-there-yet@1.1.2

│ │ │ │ │ ├── delegates@1.0.0

│ │ │ │ │ └── readable-stream@2.2.2

│ │ │ │ ├── console-control-strings@1.1.0

│ │ │ │ ├─┬ gauge@2.7.2

│ │ │ │ │ ├── aproba@1.0.4

│ │ │ │ │ ├── has-unicode@2.0.1

│ │ │ │ │ ├── object-assign@4.1.0

│ │ │ │ │ ├── signal-exit@3.0.2

│ │ │ │ │ ├─┬ string-width@1.0.2

│ │ │ │ │ │ ├── code-point-at@1.1.0

│ │ │ │ │ │ └─┬ is-fullwidth-code-point@1.0.0

│ │ │ │ │ │ └── number-is-nan@1.0.1

│ │ │ │ │ ├─┬ strip-ansi@3.0.1

│ │ │ │ │ │ └── ansi-regex@2.0.0

│ │ │ │ │ ├── supports-color@0.2.0

│ │ │ │ │ └── wide-align@1.1.0

│ │ │ │ └── set-blocking@2.0.0

│ │ │ ├─┬ rc@1.1.6

│ │ │ │ ├── deep-extend@0.4.1

│ │ │ │ ├── ini@1.3.4

│ │ │ │ ├── minimist@1.2.0

│ │ │ │ └── strip-json-comments@1.0.4

│ │ │ ├─┬ request@2.79.0

│ │ │ │ ├── aws-sign2@0.6.0

│ │ │ │ ├── aws4@1.5.0

│ │ │ │ ├── caseless@0.11.0

│ │ │ │ ├─┬ combined-stream@1.0.5

│ │ │ │ │ └── delayed-stream@1.0.0

│ │ │ │ ├── extend@3.0.0

│ │ │ │ ├── forever-agent@0.6.1

│ │ │ │ ├─┬ form-data@2.1.2

│ │ │ │ │ └── asynckit@0.4.0

│ │ │ │ ├─┬ har-validator@2.0.6

│ │ │ │ │ ├─┬ chalk@1.1.3

│ │ │ │ │ │ ├── ansi-styles@2.2.1

│ │ │ │ │ │ ├── escape-string-regexp@1.0.5

│ │ │ │ │ │ ├── has-ansi@2.0.0

│ │ │ │ │ │ └── supports-color@2.0.0

│ │ │ │ │ ├─┬ commander@2.9.0

│ │ │ │ │ │ └── graceful-readlink@1.0.1

│ │ │ │ │ ├─┬ is-my-json-valid@2.15.0

│ │ │ │ │ │ ├── generate-function@2.0.0

│ │ │ │ │ │ ├─┬ generate-object-property@1.2.0

│ │ │ │ │ │ │ └── is-property@1.0.2

│ │ │ │ │ │ ├── jsonpointer@4.0.1

│ │ │ │ │ │ └── xtend@4.0.1

│ │ │ │ │ └─┬ pinkie-promise@2.0.1

│ │ │ │ │ └── pinkie@2.0.4

│ │ │ │ ├─┬ hawk@3.1.3

│ │ │ │ │ ├── boom@2.10.1

│ │ │ │ │ ├── cryptiles@2.0.5

│ │ │ │ │ ├── hoek@2.16.3

│ │ │ │ │ └── sntp@1.0.9

│ │ │ │ ├─┬ http-signature@1.1.1

│ │ │ │ │ ├── assert-plus@0.2.0

│ │ │ │ │ ├─┬ jsprim@1.3.1

│ │ │ │ │ │ ├── extsprintf@1.0.2

│ │ │ │ │ │ ├── json-schema@0.2.3

│ │ │ │ │ │ └── verror@1.3.6

│ │ │ │ │ └─┬ sshpk@1.10.1

│ │ │ │ │ ├── asn1@0.2.3

│ │ │ │ │ ├── assert-plus@1.0.0

│ │ │ │ │ ├── bcrypt-pbkdf@1.0.0

│ │ │ │ │ ├─┬ dashdash@1.14.1

│ │ │ │ │ │ └── assert-plus@1.0.0

│ │ │ │ │ ├── ecc-jsbn@0.1.1

│ │ │ │ │ ├─┬ getpass@0.1.6

│ │ │ │ │ │ └── assert-plus@1.0.0

│ │ │ │ │ ├── jodid25519@1.0.2

│ │ │ │ │ ├── jsbn@0.1.0

│ │ │ │ │ └── tweetnacl@0.14.5

│ │ │ │ ├── is-typedarray@1.0.0

│ │ │ │ ├── isstream@0.1.2

│ │ │ │ ├── json-stringify-safe@5.0.1

│ │ │ │ ├─┬ mime-types@2.1.13

│ │ │ │ │ └── mime-db@1.25.0

│ │ │ │ ├── oauth-sign@0.8.2

│ │ │ │ ├── qs@6.3.0

│ │ │ │ ├── stringstream@0.0.5

│ │ │ │ ├─┬ tough-cookie@2.3.2

│ │ │ │ │ └── punycode@1.4.1

│ │ │ │ ├── tunnel-agent@0.4.3

│ │ │ │ └── uuid@3.0.1

│ │ │ ├─┬ rimraf@2.5.4

│ │ │ │ └─┬ glob@7.1.1

│ │ │ │ ├── fs.realpath@1.0.0

│ │ │ │ ├── inflight@1.0.6

│ │ │ │ ├─┬ minimatch@3.0.3

│ │ │ │ │ └─┬ brace-expansion@1.1.6

│ │ │ │ │ ├── balanced-match@0.4.2

│ │ │ │ │ └── concat-map@0.0.1

│ │ │ │ ├── once@1.4.0

│ │ │ │ └── path-is-absolute@1.0.1

│ │ │ ├── semver@5.3.0

│ │ │ ├─┬ tar@2.2.1

│ │ │ │ ├── block-stream@0.0.9

│ │ │ │ ├─┬ fstream@1.0.10

│ │ │ │ │ └── graceful-fs@4.1.11

│ │ │ │ └── inherits@2.0.3

│ │ │ └─┬ tar-pack@3.3.0

│ │ │ ├─┬ debug@2.2.0

│ │ │ │ └── ms@0.7.1

│ │ │ ├── fstream-ignore@1.0.5

│ │ │ ├─┬ once@1.3.3

│ │ │ │ └── wrappy@1.0.2

│ │ │ ├─┬ readable-stream@2.1.5

│ │ │ │ ├── buffer-shims@1.0.0

│ │ │ │ ├── core-util-is@1.0.2

│ │ │ │ ├── isarray@1.0.0

│ │ │ │ ├── process-nextick-args@1.0.7

│ │ │ │ ├── string_decoder@0.10.31

│ │ │ │ └── util-deprecate@1.0.2

│ │ │ └── uid-number@0.0.6

│ │ ├── glob-parent@2.0.0

│ │ ├─┬ is-binary-path@1.0.1

│ │ │ └── binary-extensions@1.8.0

│ │ ├─┬ is-glob@2.0.1

│ │ │ └── is-extglob@1.0.0

│ │ └─┬ readdirp@2.1.0

│ │ └── set-immediate-shim@1.0.1

│ ├── combine-lists@1.0.1

│ ├─┬ connect@3.6.0

│ │ ├── finalhandler@1.0.0

│ │ ├── parseurl@1.3.1

│ │ └── utils-merge@1.0.0

│ ├── di@0.0.1

│ ├─┬ dom-serialize@2.2.1

│ │ ├── custom-event@1.0.1

│ │ ├── ent@2.2.0

│ │ ├── extend@3.0.0

│ │ └── void-elements@2.0.1

│ ├─┬ expand-braces@0.1.2

│ │ ├── array-slice@0.2.3

│ │ ├── array-unique@0.2.1

│ │ └─┬ braces@0.1.5

│ │ └─┬ expand-range@0.1.1

│ │ ├── is-number@0.1.1

│ │ └── repeat-string@0.2.2

│ ├── graceful-fs@4.1.11

│ ├─┬ http-proxy@1.16.2

│ │ ├── eventemitter3@1.2.0

│ │ └── requires-port@1.0.0

│ ├── lodash@3.10.1

│ ├─┬ log4js@0.6.38

│ │ ├─┬ readable-stream@1.0.34

│ │ │ ├── core-util-is@1.0.2

│ │ │ └── isarray@0.0.1

│ │ └── semver@4.3.6

│ ├── mime@1.3.4

│ ├─┬ optimist@0.6.1

│ │ ├── minimist@0.0.10

│ │ └── wordwrap@0.0.2

│ ├── qjobs@1.1.5

│ ├── range-parser@1.2.0

│ ├── rimraf@2.6.0

│ ├── safe-buffer@5.0.1

│ ├─┬ socket.io@1.7.3

│ │ ├── debug@2.3.3

│ │ ├─┬ engine.io@1.8.3

│ │ │ ├── base64id@1.0.0

│ │ │ ├── debug@2.3.3

│ │ │ ├─┬ engine.io-parser@1.3.2

│ │ │ │ ├── after@0.8.2

│ │ │ │ ├── arraybuffer.slice@0.0.6

│ │ │ │ ├── base64-arraybuffer@0.1.5

│ │ │ │ ├── blob@0.0.4

│ │ │ │ └── wtf-8@1.0.0

│ │ │ └─┬ ws@1.1.2

│ │ │ ├── options@0.0.6

│ │ │ └── ultron@1.0.2

│ │ ├─┬ has-binary@0.1.7

│ │ │ └── isarray@0.0.1

│ │ ├── object-assign@4.1.0

│ │ ├─┬ socket.io-adapter@0.5.0

│ │ │ └── debug@2.3.3

│ │ ├─┬ socket.io-client@1.7.3

│ │ │ ├── backo2@1.0.2

│ │ │ ├── component-bind@1.0.0

│ │ │ ├── component-emitter@1.2.1

│ │ │ ├── debug@2.3.3

│ │ │ ├─┬ engine.io-client@1.8.3

│ │ │ │ ├── component-emitter@1.2.1

│ │ │ │ ├── component-inherit@0.0.3

│ │ │ │ ├── debug@2.3.3

│ │ │ │ ├── has-cors@1.1.0

│ │ │ │ ├── parsejson@0.0.3

│ │ │ │ ├── parseqs@0.0.5

│ │ │ │ ├── ws@1.1.2

│ │ │ │ ├── xmlhttprequest-ssl@1.5.3

│ │ │ │ └── yeast@0.1.2

│ │ │ ├── indexof@0.0.1

│ │ │ ├── object-component@0.0.3

│ │ │ ├─┬ parseuri@0.0.5

│ │ │ │ └─┬ better-assert@1.0.2

│ │ │ │ └── callsite@1.0.0

│ │ │ └── to-array@0.1.4

│ │ └─┬ socket.io-parser@2.3.1

│ │ ├── component-emitter@1.1.2

│ │ ├─┬ debug@2.2.0

│ │ │ └── ms@0.7.1

│ │ └── isarray@0.0.1

│ ├── tmp@0.0.31

│ └─┬ useragent@2.1.12

│ └── lru-cache@2.2.4

├─┬ karma-chrome-launcher@2.0.0

│ ├─┬ fs-access@1.0.1

│ │ └── null-check@1.0.0

│ └─┬ which@1.2.12

│ └── isexe@1.1.2

├── karma-cli@1.0.1

├─┬ karma-coverage-istanbul-reporter@0.2.3

│ └─┬ istanbul-api@1.1.1

│ ├── fileset@2.0.3

│ ├── istanbul-lib-coverage@1.0.1

│ ├─┬ istanbul-lib-hook@1.0.0

│ │ └─┬ append-transform@0.4.0

│ │ └── default-require-extensions@1.0.0

│ ├─┬ istanbul-lib-report@1.0.0-alpha.3

│ │ ├── async@1.5.2

│ │ └── path-parse@1.0.5

│ ├── istanbul-lib-source-maps@1.1.0

│ ├─┬ istanbul-reports@1.0.1

│ │ └─┬ handlebars@4.0.6

│ │ ├── async@1.5.2

│ │ └── source-map@0.4.4

│ └─┬ js-yaml@3.7.0

│ ├── argparse@1.0.9

│ └── esprima@2.7.3

├── karma-jasmine@1.1.0

├── ng2-bs3-modal@0.10.4

├─┬ node-sass@4.5.0

│ ├── async-foreach@0.1.3

│ ├─┬ cross-spawn@3.0.1

│ │ └─┬ lru-cache@4.0.2

│ │ ├── pseudomap@1.0.2

│ │ └── yallist@2.0.0

│ ├─┬ gaze@1.1.2

│ │ └─┬ globule@1.1.0

│ │ └── lodash@4.16.6

│ ├── get-stdin@4.0.1

│ ├── in-publish@2.0.0

│ ├── lodash.assign@4.2.0

│ ├── lodash.clonedeep@4.5.0

│ ├── lodash.mergewith@4.6.0

│ ├─┬ meow@3.7.0

│ │ ├─┬ camelcase-keys@2.1.0

│ │ │ └── camelcase@2.1.1

│ │ ├─┬ loud-rejection@1.6.0

│ │ │ ├─┬ currently-unhandled@0.4.1

│ │ │ │ └── array-find-index@1.0.2

│ │ │ └── signal-exit@3.0.2

│ │ ├── map-obj@1.0.1

│ │ ├─┬ normalize-package-data@2.3.5

│ │ │ ├── hosted-git-info@2.2.0

│ │ │ ├─┬ is-builtin-module@1.0.0

│ │ │ │ └── builtin-modules@1.1.1

│ │ │ └─┬ validate-npm-package-license@3.0.1

│ │ │ ├─┬ spdx-correct@1.0.2

│ │ │ │ └── spdx-license-ids@1.2.2

│ │ │ └── spdx-expression-parse@1.0.4

│ │ ├─┬ read-pkg-up@1.0.1

│ │ │ ├─┬ find-up@1.1.2

│ │ │ │ └── path-exists@2.1.0

│ │ │ └─┬ read-pkg@1.1.0

│ │ │ ├── load-json-file@1.1.0

│ │ │ └── path-type@1.1.0

│ │ ├─┬ redent@1.0.0

│ │ │ ├── indent-string@2.1.0

│ │ │ └── strip-indent@1.0.1

│ │ └── trim-newlines@1.0.0

│ ├─┬ mkdirp@0.5.1

│ │ └── minimist@0.0.8

│ ├── nan@2.5.1

│ ├─┬ node-gyp@3.5.0

│ │ ├── fstream@1.0.10

│ │ ├── nopt@3.0.6

│ │ └─┬ tar@2.2.1

│ │ └── block-stream@0.0.9

│ ├─┬ npmlog@4.0.2

│ │ ├─┬ are-we-there-yet@1.1.2

│ │ │ └── delegates@1.0.0

│ │ ├── console-control-strings@1.1.0

│ │ ├─┬ gauge@2.7.3

│ │ │ ├── aproba@1.1.1

│ │ │ ├── has-unicode@2.0.1

│ │ │ ├─┬ string-width@1.0.2

│ │ │ │ └── is-fullwidth-code-point@1.0.0

│ │ │ └─┬ wide-align@1.1.0

│ │ │ └─┬ string-width@1.0.2

│ │ │ └── is-fullwidth-code-point@1.0.0

│ │ └── set-blocking@2.0.0

│ ├─┬ request@2.79.0

│ │ ├── aws-sign2@0.6.0

│ │ ├── aws4@1.6.0

│ │ ├── caseless@0.11.0

│ │ ├─┬ combined-stream@1.0.5

│ │ │ └── delayed-stream@1.0.0

│ │ ├── forever-agent@0.6.1

│ │ ├─┬ form-data@2.1.2

│ │ │ └── asynckit@0.4.0

│ │ ├─┬ har-validator@2.0.6

│ │ │ ├── commander@2.9.0

│ │ │ └─┬ is-my-json-valid@2.15.0

│ │ │ ├── generate-function@2.0.0

│ │ │ ├─┬ generate-object-property@1.2.0

│ │ │ │ └── is-property@1.0.2

│ │ │ └── jsonpointer@4.0.1

│ │ ├─┬ hawk@3.1.3

│ │ │ ├── boom@2.10.1

│ │ │ ├── cryptiles@2.0.5

│ │ │ ├── hoek@2.16.3

│ │ │ └── sntp@1.0.9

│ │ ├─┬ http-signature@1.1.1

│ │ │ ├── assert-plus@0.2.0

│ │ │ ├─┬ jsprim@1.3.1

│ │ │ │ ├── extsprintf@1.0.2

│ │ │ │ ├── json-schema@0.2.3

│ │ │ │ └── verror@1.3.6

│ │ │ └─┬ sshpk@1.10.2

│ │ │ ├── asn1@0.2.3

│ │ │ ├── assert-plus@1.0.0

│ │ │ ├── bcrypt-pbkdf@1.0.1

│ │ │ ├─┬ dashdash@1.14.1

│ │ │ │ └── assert-plus@1.0.0

│ │ │ ├── ecc-jsbn@0.1.1

│ │ │ ├─┬ getpass@0.1.6

│ │ │ │ └── assert-plus@1.0.0

│ │ │ ├── jodid25519@1.0.2

│ │ │ ├── jsbn@0.1.1

│ │ │ └── tweetnacl@0.14.5

│ │ ├── is-typedarray@1.0.0

│ │ ├── isstream@0.1.2

│ │ ├── json-stringify-safe@5.0.1

│ │ ├─┬ mime-types@2.1.14

│ │ │ └── mime-db@1.26.0

│ │ ├── oauth-sign@0.8.2

│ │ ├── qs@6.3.1

│ │ ├── stringstream@0.0.5

│ │ ├── tough-cookie@2.3.2

│ │ ├── tunnel-agent@0.4.3

│ │ └── uuid@3.0.1

│ ├─┬ sass-graph@2.1.2

│ │ └─┬ yargs@4.8.1

│ │ ├── cliui@3.2.0

│ │ ├─┬ string-width@1.0.2

│ │ │ └── is-fullwidth-code-point@1.0.0

│ │ ├── window-size@0.2.0

│ │ └─┬ yargs-parser@2.4.1

│ │ └── camelcase@3.0.0

│ └─┬ stdout-stream@1.4.0

│ └─┬ readable-stream@2.2.2

│ ├── buffer-shims@1.0.0

│ ├── isarray@1.0.0

│ ├── process-nextick-args@1.0.7

│ └── util-deprecate@1.0.2

├─┬ protractor@5.1.1

│ ├── @types/node@6.0.63

│ ├── @types/q@0.0.32

│ ├── @types/selenium-webdriver@2.53.39

│ ├── blocking-proxy@0.0.5

│ ├─┬ jasmine@2.5.3

│ │ └── exit@0.1.2

│ ├── jasminewd2@2.0.0

│ ├── q@1.4.1

│ ├─┬ saucelabs@1.3.0

│ │ └─┬ https-proxy-agent@1.0.0

│ │ └─┬ agent-base@2.0.1

│ │ └── semver@5.0.3

│ ├─┬ selenium-webdriver@3.0.1

│ │ └── tmp@0.0.30

│ ├── source-map-support@0.4.11

│ ├─┬ webdriver-js-extender@1.0.0

│ │ └─┬ selenium-webdriver@2.53.3

│ │ ├── adm-zip@0.4.4

│ │ ├── tmp@0.0.24

│ │ ├── ws@1.1.1

│ │ └─┬ xml2js@0.4.4

│ │ └── sax@0.6.1

│ └─┬ webdriver-manager@12.0.2

│ ├── adm-zip@0.4.7

│ ├─┬ del@2.2.2

│ │ ├─┬ globby@5.0.0

│ │ │ └─┬ array-union@1.0.2

│ │ │ └── array-uniq@1.0.3

│ │ ├── is-path-cwd@1.0.0

│ │ └─┬ is-path-in-cwd@1.0.0

│ │ └─┬ is-path-inside@1.0.0

│ │ └── path-is-inside@1.0.2

│ ├── ini@1.3.4

│ └─┬ xml2js@0.4.17

│ ├── sax@1.2.2

│ └── xmlbuilder@4.2.1

├── raw-loader@0.5.1

├─┬ rxjs@5.2.0

│ └── symbol-observable@1.0.4

├─┬ sass-loader@6.0.2

│ ├── async@2.1.5

│ ├─┬ clone-deep@0.2.4

│ │ ├─┬ for-own@0.1.4

│ │ │ └── for-in@0.1.6

│ │ ├─┬ is-plain-object@2.0.1

│ │ │ └── isobject@1.0.2

│ │ ├─┬ kind-of@3.1.0

│ │ │ └── is-buffer@1.1.4

│ │ ├── lazy-cache@1.0.4

│ │ └─┬ shallow-clone@0.1.2

│ │ ├── is-extendable@0.1.1

│ │ ├── kind-of@2.0.1

│ │ ├── lazy-cache@0.2.7

│ │ └── mixin-object@2.0.1

│ ├─┬ loader-utils@1.0.2

│ │ ├── big.js@3.1.3

│ │ ├── emojis-list@2.1.0

│ │ └── json5@0.5.1

│ ├── lodash.tail@4.1.1

│ └── pify@2.3.0

├── ts-helpers@1.1.2

├─┬ ts-node@2.1.0

│ ├── arrify@1.0.1

│ ├── make-error@1.2.1

│ ├── pinkie@2.0.4

│ ├─┬ tsconfig@5.0.3

│ │ ├── any-promise@1.3.0

│ │ ├─┬ parse-json@2.2.0

│ │ │ └─┬ error-ex@1.3.0

│ │ │ └── is-arrayish@0.2.1

│ │ ├─┬ strip-bom@2.0.0

│ │ │ └── is-utf8@0.2.1

│ │ └── strip-json-comments@2.0.1

│ ├─┬ v8flags@2.0.11

│ │ └── user-home@1.1.1

│ ├── xtend@4.0.1

│ └── yn@1.2.0

├─┬ tslint@4.4.2

│ ├─┬ babel-code-frame@6.22.0

│ │ ├── esutils@2.0.2

│ │ └── js-tokens@3.0.1

│ ├─┬ findup-sync@0.3.0

│ │ └── glob@5.0.15

│ └─┬ update-notifier@1.0.3

│ ├─┬ boxen@0.6.0

│ │ ├─┬ ansi-align@1.1.0

│ │ │ └─┬ string-width@1.0.2

│ │ │ └── is-fullwidth-code-point@1.0.0

│ │ ├── camelcase@2.1.1

│ │ ├── cli-boxes@1.0.0

│ │ ├── filled-array@1.1.0

│ │ ├─┬ repeating@2.0.1

│ │ │ └── is-finite@1.0.2

│ │ ├─┬ string-width@1.0.2

│ │ │ └── is-fullwidth-code-point@1.0.0

│ │ └─┬ widest-line@1.0.0

│ │ └─┬ string-width@1.0.2

│ │ └── is-fullwidth-code-point@1.0.0

│ ├─┬ configstore@2.1.0

│ │ ├─┬ dot-prop@3.0.0

│ │ │ └── is-obj@1.0.1

│ │ ├── uuid@2.0.3

│ │ └─┬ write-file-atomic@1.3.1

│ │ ├── imurmurhash@0.1.4

│ │ └── slide@1.1.6

│ ├── is-npm@1.0.0

│ ├─┬ latest-version@2.0.0

│ │ └─┬ package-json@2.4.0

│ │ ├─┬ got@5.7.1

│ │ │ ├─┬ create-error-class@3.0.2

│ │ │ │ └── capture-stack-trace@1.0.0

│ │ │ ├── duplexer2@0.1.4

│ │ │ ├── is-redirect@1.0.0

│ │ │ ├── is-retry-allowed@1.1.0

│ │ │ ├── is-stream@1.1.0

│ │ │ ├── lowercase-keys@1.0.0

│ │ │ ├── node-status-codes@1.0.0

│ │ │ ├── read-all-stream@3.1.0

│ │ │ ├── timed-out@3.1.3

│ │ │ ├── unzip-response@1.0.2

│ │ │ └── url-parse-lax@1.0.0

│ │ ├─┬ registry-auth-token@3.1.0

│ │ │ └─┬ rc@1.1.7

│ │ │ └── deep-extend@0.4.1

│ │ └── registry-url@3.1.0

│ ├── lazy-req@1.1.0

│ ├── semver-diff@2.1.0

│ └── xdg-basedir@2.0.0

├── typescript@2.2.1

└── zone.js@0.7.7

Issue 2:
I'm submitting a ...

bug report

feature request

support request => Please do not submit support request here, see note at the top of this template.

Current behavior

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.

Expected/desired behavior

Dependencies specified in the parent constructor are resolved.

What is the motivation / use case for changing the behavior?

Developer ergonomics. This bug fix should be feasible since the entire prototype chain is available from within the decorator (at least in modern browsers): 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

Please tell us about your environment:

Node 5.

Angular version: 2.0.0-beta.X

Browser: [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 ]

Language: [all | TypeScript X.X | ES6/7 | ES5 | Dart]