BUPT / cad-board

Monitor Reports for CAD Lab(CAD看板)
https://cad-board.surge.sh
Apache License 2.0
0 stars 2 forks source link

npm test error #12

Open linyimin0812 opened 5 years ago

linyimin0812 commented 5 years ago

I clone the repository, and npm install, then run npm test,but there are errors.

> cad-board@0.2.9 test /home/linyimin/practice/cad-board
> npm run lint && npm run test:unit && npm run test:e2e

> cad-board@0.2.9 lint /home/linyimin/practice/cad-board
> ng lint

All files pass linting.

All files pass linting.

> cad-board@0.2.9 test:unit /home/linyimin/practice/cad-board
> ng test --watch=false

 10% building modules 2/2 modules 0 active20 11 2018 08:52:06.662:INFO [karma]: Karma v3.0.0 server started at http://0.0.0.0:9876/
20 11 2018 08:52:06.664:INFO [launcher]: Launching browser ChromeHeadless with unlimited concurrency
 10% building modules 3/3 modules 0 active20 11 2018 08:52:06.715:INFO [launcher]: Starting browser ChromeHeadless
20 11 2018 08:52:11.064:INFO [HeadlessChrome 0.0.0 (Linux 0.0.0)]: Connected on socket 8XUkLJQs3NPukYCvAAAA with id 63260279
HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR
  {
    "message": "Uncaught ReferenceError: jasmine is not defined\nat /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n\nReferenceError: jasmine is not defined\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:58:3",
    "str": "Uncaught ReferenceError: jasmine is not defined\nat /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n\nReferenceError: jasmine is not defined\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:58:3"
  }

HeadlessChrome 0.0.0 (Linux 0.0.0) ERROR
  {
    "message": "Uncaught ReferenceError: jasmine is not defined\nat /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n\nReferenceError: jasmine is not defined\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:58:3",
    "str": "Uncaught ReferenceError: jasmine is not defined\nat /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n\nReferenceError: jasmine is not defined\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:6:25\n    at /home/linyimin/practice/cad-board/node_modules/_karma-jasmine-html-reporter@0.2.2@karma-jasmine-html-reporter/src/lib/adapter.js:58:3"
  }

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! cad-board@0.2.9 test:unit: `ng test --watch=false`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the cad-board@0.2.9 test:unit script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/linyimin/.npm/_logs/2018-11-20T00_52_11_267Z-debug.log
npm ERR! Test failed.  See above for more details.
huan commented 5 years ago

CI can work without any problem.

Can you have a look at https://github.com/BUPT/cad-board/commits/master and see what you had missed in your local environment?

linyimin0812 commented 5 years ago

I get the repository by git clone https://github.com/BUPT/cad-board.git, and run npm install,then run npm test, I don't change anything, But it appear some errors.

huan commented 5 years ago

Can you try again in another Linux, like Ubuntu 18.04 with a good internet connection, like our CAD-Google Wifi?

Because I had just done what you said from scratch, it works without any problem:

┌ zixia@zixia-desktop:~/git [10:24:51] tty:[3] jobs:[0]
└ $ git clone git@github.com:BUPT/cad-board.git
Cloning into 'cad-board'...
remote: Enumerating objects: 58, done.
remote: Counting objects: 100% (58/58), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 593 (delta 29), reused 52 (delta 29), pack-reused 535
Receiving objects: 100% (593/593), 190.20 KiB | 399.00 KiB/s, done.
Resolving deltas: 100% (357/357), done.
┌ zixia@zixia-desktop:~/git [10:25:01] tty:[3] jobs:[0]
└ $ cd cad-board/
┌ zixia@zixia-desktop:~/git/cad-board [10:26:54] tty:[3] jobs:[0]
└ (master) $ npm i
loadDevDep:typescript → n ▐ ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDevDep:typescript → g ▄ ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:node-sass → addNa ▄ ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:node-sass → mapTo ▀ ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:node-sass → addNa ▌ ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:node-sass → get   ▄ ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:node-sass → mapTo ▀ ╢████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:yargs-parser → fe ▄ ╢█████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
loadDep:yargs-parser → he ▀ ╢█████████████████████████████████████████████████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine @schematics/angular@0.8.7: wanted: {"node":">= 8.9.0","npm":">= 5.5.1"} (current: {"node":"8.10.0","npm":"3.5.2"})
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.
npm WARN prefer global node-gyp@3.8.0 should be installed with -g

> grpc@1.16.0 install /home/zixia/git/cad-board/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using request for node-pre-gyp https download 
[grpc] Success: "/home/zixia/git/cad-board/node_modules/grpc/src/node/extension_binary/node-v57-linux-x64-glibc/grpc_node.node" is installed via remote

> node-sass@4.10.0 install /home/zixia/git/cad-board/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.10.0/linux-x64-57_binding.node
Download complete .] - :
Binary saved to /home/zixia/git/cad-board/node_modules/node-sass/vendor/linux-x64-57/binding.node
Caching binary to /home/zixia/.npm/node-sass/4.10.0/linux-x64-57_binding.node

> puppeteer@1.10.0 install /home/zixia/git/cad-board/node_modules/puppeteer
> node install.js

Downloading Chromium r599821 - 105.1 Mb [====================] 99% 0.0s 
Chromium downloaded to /home/zixia/git/cad-board/node_modules/puppeteer/.local-chromium/linux-599821

> git-scripts@0.2.1 postinstall /home/zixia/git/cad-board/node_modules/git-scripts
> ./bin/install

> node-sass@4.10.0 postinstall /home/zixia/git/cad-board/node_modules/node-sass
> node scripts/build.js

Binary found at /home/zixia/git/cad-board/node_modules/node-sass/vendor/linux-x64-57/binding.node
Testing binary
Binary is fine
cad-board@0.2.9 /home/zixia/git/cad-board
├─┬ @angular-devkit/build-angular@0.8.7 
│ ├── @angular-devkit/architect@0.8.7 
│ ├── @angular-devkit/build-optimizer@0.8.7 
│ ├── @angular-devkit/build-webpack@0.8.7 
│ ├── @angular-devkit/core@0.8.7 
│ ├── @ngtools/webpack@6.2.7 
│ ├─┬ ajv@6.4.0 
│ │ ├── fast-deep-equal@1.1.0 
│ │ ├── fast-json-stable-stringify@2.0.0 
│ │ ├── json-schema-traverse@0.3.1 
│ │ └─┬ uri-js@3.0.2 
│ │   └── punycode@2.1.1 
│ ├─┬ autoprefixer@8.6.5 
│ │ ├─┬ browserslist@3.2.8 
│ │ │ └── electron-to-chromium@1.3.84 
│ │ ├── caniuse-lite@1.0.30000909 
│ │ ├── normalize-range@0.1.2 
│ │ ├── num2fraction@1.2.2 
│ │ └── postcss-value-parser@3.3.1 
│ ├── circular-dependency-plugin@5.0.2 
│ ├─┬ clean-css@4.2.1 
│ │ └── source-map@0.6.1 
│ ├─┬ copy-webpack-plugin@4.5.2 
│ │ ├─┬ cacache@10.0.4 
│ │ │ ├── chownr@1.1.1 
│ │ │ ├─┬ lru-cache@4.1.3 
│ │ │ │ ├── pseudomap@1.0.2 
│ │ │ │ └── yallist@2.1.2 
│ │ │ ├─┬ mississippi@2.0.0 
│ │ │ │ ├─┬ duplexify@3.6.1 
│ │ │ │ │ └── stream-shift@1.0.0 
│ │ │ │ ├── end-of-stream@1.4.1 
│ │ │ │ ├── flush-write-stream@1.0.3 
│ │ │ │ ├── from2@2.3.0 
│ │ │ │ ├─┬ parallel-transform@1.1.0 
│ │ │ │ │ └── cyclist@0.2.2 
│ │ │ │ ├── pump@2.0.1 
│ │ │ │ ├── pumpify@1.5.1 
│ │ │ │ ├── stream-each@1.2.3 
│ │ │ │ └── through2@2.0.5 
│ │ │ ├─┬ move-concurrently@1.0.1 
│ │ │ │ ├── aproba@1.2.0 
│ │ │ │ ├─┬ copy-concurrently@1.0.5 
│ │ │ │ │ └── iferr@0.1.5 
│ │ │ │ ├─┬ fs-write-stream-atomic@1.0.10 
│ │ │ │ │ └── imurmurhash@0.1.4 
│ │ │ │ └── run-queue@1.0.3 
│ │ │ ├── promise-inflight@1.0.1 
│ │ │ ├── ssri@5.3.0 
│ │ │ ├─┬ unique-filename@1.1.1 
│ │ │ │ └── unique-slug@2.0.1 
│ │ │ └── y18n@4.0.0 
│ │ ├─┬ find-cache-dir@1.0.0 
│ │ │ ├── commondir@1.0.1 
│ │ │ └─┬ pkg-dir@2.0.0 
│ │ │   └─┬ find-up@2.1.0 
│ │ │     └─┬ locate-path@2.0.0 
│ │ │       └── p-locate@2.0.0 
│ │ ├─┬ globby@7.1.1 
│ │ │ ├─┬ array-union@1.0.2 
│ │ │ │ └── array-uniq@1.0.3 
│ │ │ ├─┬ dir-glob@2.0.0 
│ │ │ │ └── path-type@3.0.0 
│ │ │ ├── ignore@3.3.10 
│ │ │ └── slash@1.0.0 
│ │ ├─┬ is-glob@4.0.0 
│ │ │ └── is-extglob@2.1.1 
│ │ ├─┬ p-limit@1.3.0 
│ │ │ └── p-try@1.0.0 
│ │ └── serialize-javascript@1.5.0 
│ ├─┬ file-loader@1.1.11 
│ │ └── schema-utils@0.4.7 
│ ├─┬ glob@7.1.3 
│ │ ├── 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@3.2.0 
│ │ ├─┬ html-minifier@3.5.21 
│ │ │ ├─┬ camel-case@3.0.0 
│ │ │ │ ├─┬ no-case@2.3.2 
│ │ │ │ │ └── lower-case@1.1.4 
│ │ │ │ └── upper-case@1.1.3 
│ │ │ ├── he@1.2.0 
│ │ │ ├── param-case@2.1.1 
│ │ │ ├── relateurl@0.2.7 
│ │ │ └─┬ uglify-js@3.4.9 
│ │ │   └── source-map@0.6.1 
│ │ ├─┬ loader-utils@0.2.17 
│ │ │ └── object-assign@4.1.1 
│ │ ├─┬ pretty-error@2.1.1 
│ │ │ ├─┬ renderkid@2.0.2 
│ │ │ │ ├─┬ css-select@1.2.0 
│ │ │ │ │ ├── boolbase@1.0.0 
│ │ │ │ │ ├── css-what@2.1.2 
│ │ │ │ │ ├─┬ domutils@1.5.1 
│ │ │ │ │ │ └─┬ dom-serializer@0.1.0 
│ │ │ │ │ │   ├── domelementtype@1.1.3 
│ │ │ │ │ │   └── entities@1.1.2 
│ │ │ │ │ └── nth-check@1.0.2 
│ │ │ │ ├── dom-converter@0.2.0 
│ │ │ │ └─┬ htmlparser2@3.3.0 
│ │ │ │   ├── domelementtype@1.2.1 
│ │ │ │   ├── domhandler@2.1.0 
│ │ │ │   ├── domutils@1.1.6 
│ │ │ │   └─┬ readable-stream@1.0.34 
│ │ │ │     ├── isarray@0.0.1 
│ │ │ │     └── string_decoder@0.10.31 
│ │ │ └── utila@0.4.0 
│ │ ├── tapable@1.1.0 
│ │ ├── toposort@1.0.7 
│ │ └─┬ util.promisify@1.0.0 
│ │   ├─┬ define-properties@1.1.3 
│ │   │ └── object-keys@1.0.12 
│ │   └─┬ object.getownpropertydescriptors@2.0.3 
│ │     └─┬ es-abstract@1.12.0 
│ │       ├─┬ es-to-primitive@1.2.0 
│ │       │ ├── is-date-object@1.0.1 
│ │       │ └─┬ is-symbol@1.0.2 
│ │       │   └── has-symbols@1.0.0 
│ │       ├── function-bind@1.1.1 
│ │       ├── has@1.0.3 
│ │       ├── is-callable@1.1.4 
│ │       └── is-regex@1.0.4 
│ ├─┬ istanbul@0.4.5 
│ │ ├── abbrev@1.0.9 
│ │ ├── async@1.5.2 
│ │ ├─┬ escodegen@1.8.1 
│ │ │ ├── estraverse@1.9.3 
│ │ │ ├─┬ optionator@0.8.2 
│ │ │ │ ├── deep-is@0.1.3 
│ │ │ │ ├── fast-levenshtein@2.0.6 
│ │ │ │ ├── levn@0.3.0 
│ │ │ │ ├── prelude-ls@1.1.2 
│ │ │ │ └── type-check@0.3.2 
│ │ │ └── source-map@0.2.0 
│ │ ├── esprima@2.7.3 
│ │ ├── glob@5.0.15 
│ │ ├─┬ handlebars@4.0.12 
│ │ │ ├── async@2.6.1 
│ │ │ └── source-map@0.6.1 
│ │ ├── nopt@3.0.6 
│ │ ├── resolve@1.1.7 
│ │ ├─┬ supports-color@3.2.3 
│ │ │ └── has-flag@1.0.0 
│ │ └── wordwrap@1.0.0 
│ ├─┬ istanbul-instrumenter-loader@3.0.1 
│ │ ├── convert-source-map@1.6.0 
│ │ ├─┬ istanbul-lib-instrument@1.10.2 
│ │ │ ├─┬ babel-generator@6.26.1 
│ │ │ │ ├── babel-messages@6.23.0 
│ │ │ │ ├─┬ babel-runtime@6.26.0 
│ │ │ │ │ └── regenerator-runtime@0.11.1 
│ │ │ │ ├─┬ detect-indent@4.0.0 
│ │ │ │ │ └─┬ repeating@2.0.1 
│ │ │ │ │   └── is-finite@1.0.2 
│ │ │ │ ├── jsesc@1.3.0 
│ │ │ │ └── trim-right@1.0.1 
│ │ │ ├── babel-template@6.26.0 
│ │ │ ├─┬ babel-traverse@6.26.0 
│ │ │ │ ├── globals@9.18.0 
│ │ │ │ └─┬ invariant@2.2.4 
│ │ │ │   └── loose-envify@1.4.0 
│ │ │ ├─┬ babel-types@6.26.0 
│ │ │ │ └── to-fast-properties@1.0.3 
│ │ │ ├── babylon@6.18.0 
│ │ │ └── istanbul-lib-coverage@1.2.1 
│ │ └─┬ schema-utils@0.3.0 
│ │   └─┬ ajv@5.5.2 
│ │     └── co@4.6.0 
│ ├── karma-source-map-support@1.3.0 
│ ├─┬ less@3.8.1 
│ │ ├── clone@2.1.2 
│ │ ├─┬ errno@0.1.7 
│ │ │ └── prr@1.0.1 
│ │ ├── image-size@0.5.5 
│ │ ├── mime@1.6.0 
│ │ ├─┬ promise@7.3.1 
│ │ │ └── asap@2.0.6 
│ │ ├─┬ request@2.88.0 
│ │ │ ├── aws-sign2@0.7.0 
│ │ │ ├── aws4@1.8.0 
│ │ │ ├── caseless@0.12.0 
│ │ │ ├─┬ combined-stream@1.0.7 
│ │ │ │ └── delayed-stream@1.0.0 
│ │ │ ├── forever-agent@0.6.1 
│ │ │ ├─┬ form-data@2.3.3 
│ │ │ │ └── asynckit@0.4.0 
│ │ │ ├─┬ har-validator@5.1.3 
│ │ │ │ ├─┬ ajv@6.5.5 
│ │ │ │ │ ├── fast-deep-equal@2.0.1 
│ │ │ │ │ ├── json-schema-traverse@0.4.1 
│ │ │ │ │ └── uri-js@4.2.2 
│ │ │ │ └── har-schema@2.0.0 
│ │ │ ├─┬ http-signature@1.2.0 
│ │ │ │ ├── assert-plus@1.0.0 
│ │ │ │ ├─┬ jsprim@1.4.1 
│ │ │ │ │ ├── extsprintf@1.3.0 
│ │ │ │ │ ├── json-schema@0.2.3 
│ │ │ │ │ └── verror@1.10.0 
│ │ │ │ └─┬ sshpk@1.15.2 
│ │ │ │   ├── asn1@0.2.4 
│ │ │ │   ├── bcrypt-pbkdf@1.0.2 
│ │ │ │   ├── dashdash@1.14.1 
│ │ │ │   ├── ecc-jsbn@0.1.2 
│ │ │ │   ├── getpass@0.1.7 
│ │ │ │   ├── 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.21 
│ │ │ │ └── mime-db@1.37.0 
│ │ │ ├── oauth-sign@0.9.0 
│ │ │ ├── performance-now@2.1.0 
│ │ │ ├─┬ tough-cookie@2.4.3 
│ │ │ │ ├── psl@1.1.29 
│ │ │ │ └── punycode@1.4.1 
│ │ │ ├── tunnel-agent@0.6.0 
│ │ │ └── uuid@3.3.2 
│ │ └── source-map@0.6.1 
│ ├─┬ less-loader@4.1.0 
│ │ └── pify@3.0.0 
│ ├─┬ license-webpack-plugin@1.5.0 
│ │ └── ejs@2.6.1 
│ ├─┬ loader-utils@1.1.0 
│ │ ├── big.js@3.2.0 
│ │ ├── emojis-list@2.1.0 
│ │ └── json5@0.5.1 
│ ├─┬ mini-css-extract-plugin@0.4.4 
│ │ └─┬ schema-utils@1.0.0 
│ │   └── ajv-errors@1.0.0 
│ ├─┬ minimatch@3.0.4 
│ │ └─┬ brace-expansion@1.1.11 
│ │   ├── balanced-match@1.0.0 
│ │   └── concat-map@0.0.1 
│ ├─┬ node-sass@4.10.0 
│ │ ├── async-foreach@0.1.3 
│ │ ├─┬ chalk@1.1.3 
│ │ │ ├── ansi-styles@2.2.1 
│ │ │ └── supports-color@2.0.0 
│ │ ├── cross-spawn@3.0.1 
│ │ ├─┬ gaze@1.1.3 
│ │ │ └── globule@1.2.1 
│ │ ├── get-stdin@4.0.1 
│ │ ├── in-publish@2.0.0 
│ │ ├── lodash.assign@4.2.0 
│ │ ├── lodash.clonedeep@4.5.0 
│ │ ├── lodash.mergewith@4.6.1 
│ │ ├─┬ meow@3.7.0 
│ │ │ ├─┬ camelcase-keys@2.1.0 
│ │ │ │ └── camelcase@2.1.1 
│ │ │ ├── decamelize@1.2.0 
│ │ │ ├─┬ 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 
│ │ │ ├── minimist@1.2.0 
│ │ │ ├─┬ normalize-package-data@2.4.0 
│ │ │ │ ├── hosted-git-info@2.7.1 
│ │ │ │ ├── is-builtin-module@1.0.0 
│ │ │ │ └─┬ validate-npm-package-license@3.0.4 
│ │ │ │   ├─┬ spdx-correct@3.0.2 
│ │ │ │   │ └── spdx-license-ids@3.0.2 
│ │ │ │   └─┬ spdx-expression-parse@3.0.0 
│ │ │ │     └── spdx-exceptions@2.2.0 
│ │ │ ├─┬ 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 
│ │ │ │   │ ├── parse-json@2.2.0 
│ │ │ │   │ ├── pify@2.3.0 
│ │ │ │   │ └─┬ strip-bom@2.0.0 
│ │ │ │   │   └── is-utf8@0.2.1 
│ │ │ │   └─┬ path-type@1.1.0 
│ │ │ │     └── pify@2.3.0 
│ │ │ ├─┬ redent@1.0.0 
│ │ │ │ ├── indent-string@2.1.0 
│ │ │ │ └── strip-indent@1.0.1 
│ │ │ └── trim-newlines@1.0.0 
│ │ ├── nan@2.11.1 
│ │ ├─┬ node-gyp@3.8.0 
│ │ │ ├── fstream@1.0.11 
│ │ │ ├─┬ osenv@0.1.5 
│ │ │ │ └── os-homedir@1.0.2 
│ │ │ ├── semver@5.3.0 
│ │ │ └─┬ tar@2.2.1 
│ │ │   └── block-stream@0.0.9 
│ │ ├─┬ npmlog@4.1.2 
│ │ │ ├─┬ are-we-there-yet@1.1.5 
│ │ │ │ └── delegates@1.0.0 
│ │ │ ├── console-control-strings@1.1.0 
│ │ │ ├─┬ gauge@2.7.4 
│ │ │ │ ├── has-unicode@2.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 
│ │ │ │ └── wide-align@1.1.3 
│ │ │ └── set-blocking@2.0.0 
│ │ ├─┬ sass-graph@2.2.4 
│ │ │ ├─┬ scss-tokenizer@0.2.3 
│ │ │ │ ├── js-base64@2.4.9 
│ │ │ │ └── source-map@0.4.4 
│ │ │ └─┬ yargs@7.1.0 
│ │ │   ├── camelcase@3.0.0 
│ │ │   ├── cliui@3.2.0 
│ │ │   ├─┬ os-locale@1.4.0 
│ │ │   │ └─┬ lcid@1.0.0 
│ │ │   │   └── invert-kv@1.0.0 
│ │ │   ├── which-module@1.0.0 
│ │ │   └─┬ yargs-parser@5.0.0 
│ │ │     └── camelcase@3.0.0 
│ │ ├─┬ stdout-stream@1.4.1 
│ │ │ └─┬ readable-stream@2.3.6 
│ │ │   ├── core-util-is@1.0.2 
│ │ │   ├── isarray@1.0.0 
│ │ │   ├── process-nextick-args@2.0.0 
│ │ │   └── util-deprecate@1.0.2 
│ │ └── true-case-path@1.0.3 
│ ├─┬ opn@5.4.0 
│ │ └── is-wsl@1.1.0 
│ ├── parse5@4.0.0 
│ ├─┬ portfinder@1.0.19 
│ │ └─┬ debug@2.6.9 
│ │   └── ms@2.0.0 
│ ├─┬ postcss@6.0.23 
│ │ ├── source-map@0.6.1 
│ │ └─┬ supports-color@5.5.0 
│ │   └── has-flag@3.0.0 
│ ├─┬ postcss-import@11.1.0 
│ │ └─┬ read-cache@1.0.0 
│ │   └── pify@2.3.0 
│ ├─┬ postcss-loader@2.1.6 
│ │ └─┬ postcss-load-config@2.0.0 
│ │   ├─┬ cosmiconfig@4.0.0 
│ │   │ ├── is-directory@0.3.1 
│ │   │ ├─┬ parse-json@4.0.0 
│ │   │ │ └─┬ error-ex@1.3.2 
│ │   │ │   └── is-arrayish@0.2.1 
│ │   │ └── require-from-string@2.0.2 
│ │   └─┬ import-cwd@2.1.0 
│ │     └── import-from@2.1.0 
│ ├─┬ postcss-url@7.3.2 
│ │ └─┬ xxhashjs@0.2.2 
│ │   └── cuint@0.2.2 
│ ├── raw-loader@0.5.1 
│ ├─┬ sass-loader@7.1.0 
│ │ ├─┬ clone-deep@2.0.2 
│ │ │ ├─┬ for-own@1.0.0 
│ │ │ │ └── for-in@1.0.2 
│ │ │ ├── is-plain-object@2.0.4 
│ │ │ ├── kind-of@6.0.2 
│ │ │ └─┬ shallow-clone@1.0.0 
│ │ │   ├── is-extendable@0.1.1 
│ │ │   ├── kind-of@5.1.0 
│ │ │   └─┬ mixin-object@2.0.1 
│ │ │     └── for-in@0.1.8 
│ │ ├── lodash.tail@4.1.1 
│ │ └── neo-async@2.6.0 
│ ├── semver@5.6.0 
│ ├─┬ source-map-loader@0.2.4 
│ │ └── async@2.6.1 
│ ├─┬ source-map-support@0.5.9 
│ │ └── source-map@0.6.1 
│ ├── stats-webpack-plugin@0.6.2 
│ ├── style-loader@0.21.0 
│ ├─┬ stylus@0.54.5 
│ │ ├── css-parse@1.7.0 
│ │ ├── glob@7.0.6 
│ │ ├── sax@0.5.8 
│ │ └─┬ source-map@0.1.43 
│ │   └── amdefine@1.0.1 
│ ├─┬ stylus-loader@3.0.2 
│ │ └── when@3.6.4 
│ ├── tree-kill@1.2.1 
│ ├─┬ uglifyjs-webpack-plugin@1.3.0 
│ │ ├── source-map@0.6.1 
│ │ ├─┬ uglify-es@3.3.9 
│ │ │ └── commander@2.13.0 
│ │ └── worker-farm@1.6.0 
│ ├─┬ url-loader@1.1.2 
│ │ ├── mime@2.3.1 
│ │ └── schema-utils@1.0.0 
│ ├─┬ webpack@4.16.4 
│ │ ├─┬ @webassemblyjs/ast@1.5.13 
│ │ │ ├── @webassemblyjs/helper-wasm-bytecode@1.5.13 
│ │ │ ├─┬ @webassemblyjs/wast-parser@1.5.13 
│ │ │ │ ├── @webassemblyjs/floating-point-hex-parser@1.5.13 
│ │ │ │ ├── @webassemblyjs/helper-code-frame@1.5.13 
│ │ │ │ ├── @webassemblyjs/helper-fsm@1.5.13 
│ │ │ │ └── long@3.2.0 
│ │ │ ├─┬ debug@3.2.6 
│ │ │ │ └── ms@2.1.1 
│ │ │ └── mamacro@0.0.3 
│ │ ├─┬ @webassemblyjs/helper-module-context@1.5.13 
│ │ │ └─┬ debug@3.2.6 
│ │ │   └── ms@2.1.1 
│ │ ├─┬ @webassemblyjs/wasm-edit@1.5.13 
│ │ │ ├─┬ @webassemblyjs/helper-buffer@1.5.13 
│ │ │ │ └─┬ debug@3.2.6 
│ │ │ │   └── ms@2.1.1 
│ │ │ ├─┬ @webassemblyjs/helper-wasm-section@1.5.13 
│ │ │ │ └─┬ debug@3.2.6 
│ │ │ │   └── ms@2.1.1 
│ │ │ ├── @webassemblyjs/wasm-gen@1.5.13 
│ │ │ ├── @webassemblyjs/wast-printer@1.5.13 
│ │ │ └─┬ debug@3.2.6 
│ │ │   └── ms@2.1.1 
│ │ ├─┬ @webassemblyjs/wasm-opt@1.5.13 
│ │ │ └─┬ debug@3.2.6 
│ │ │   └── ms@2.1.1 
│ │ ├─┬ @webassemblyjs/wasm-parser@1.5.13 
│ │ │ ├── @webassemblyjs/helper-api-error@1.5.13 
│ │ │ ├─┬ @webassemblyjs/ieee754@1.5.13 
│ │ │ │ └── ieee754@1.1.12 
│ │ │ ├─┬ @webassemblyjs/leb128@1.5.13 
│ │ │ │ └── long@4.0.0 
│ │ │ └── @webassemblyjs/utf8@1.5.13 
│ │ ├── acorn@5.7.3 
│ │ ├── acorn-dynamic-import@3.0.0 
│ │ ├── ajv-keywords@3.2.0 
│ │ ├── chrome-trace-event@1.0.0 
│ │ ├── enhanced-resolve@4.1.0 
│ │ ├─┬ eslint-scope@4.0.0 
│ │ │ ├─┬ esrecurse@4.2.1 
│ │ │ │ └── estraverse@4.2.0 
│ │ │ └── estraverse@4.2.0 
│ │ ├── json-parse-better-errors@1.0.2 
│ │ ├── loader-runner@2.3.1 
│ │ ├── memory-fs@0.4.1 
│ │ ├─┬ micromatch@3.1.10 
│ │ │ ├── arr-diff@4.0.0 
│ │ │ ├── array-unique@0.3.2 
│ │ │ ├─┬ define-property@2.0.2 
│ │ │ │ └─┬ is-descriptor@1.0.2 
│ │ │ │   ├── is-accessor-descriptor@1.0.0 
│ │ │ │   └── is-data-descriptor@1.0.0 
│ │ │ ├─┬ extend-shallow@3.0.2 
│ │ │ │ ├── assign-symbols@1.0.0 
│ │ │ │ └── is-extendable@1.0.1 
│ │ │ ├─┬ extglob@2.0.4 
│ │ │ │ ├─┬ define-property@1.0.0 
│ │ │ │ │ └─┬ is-descriptor@1.0.2 
│ │ │ │ │   ├── is-accessor-descriptor@1.0.0 
│ │ │ │ │   └── is-data-descriptor@1.0.0 
│ │ │ │ ├─┬ expand-brackets@2.1.4 
│ │ │ │ │ ├── define-property@0.2.5 
│ │ │ │ │ ├── extend-shallow@2.0.1 
│ │ │ │ │ └── posix-character-classes@0.1.1 
│ │ │ │ └── extend-shallow@2.0.1 
│ │ │ ├─┬ fragment-cache@0.2.1 
│ │ │ │ └── map-cache@0.2.2 
│ │ │ ├─┬ nanomatch@1.2.13 
│ │ │ │ └── is-windows@1.0.2 
│ │ │ ├── object.pick@1.3.0 
│ │ │ ├─┬ regex-not@1.0.2 
│ │ │ │ └─┬ safe-regex@1.1.0 
│ │ │ │   └── ret@0.1.15 
│ │ │ ├─┬ snapdragon@0.8.2 
│ │ │ │ ├─┬ base@0.11.2 
│ │ │ │ │ ├─┬ cache-base@1.0.1 
│ │ │ │ │ │ ├─┬ collection-visit@1.0.0 
│ │ │ │ │ │ │ ├── map-visit@1.0.0 
│ │ │ │ │ │ │ └── object-visit@1.0.1 
│ │ │ │ │ │ ├── get-value@2.0.6 
│ │ │ │ │ │ ├─┬ has-value@1.0.0 
│ │ │ │ │ │ │ └─┬ has-values@1.0.0 
│ │ │ │ │ │ │   └── kind-of@4.0.0 
│ │ │ │ │ │ ├─┬ set-value@2.0.0 
│ │ │ │ │ │ │ └── extend-shallow@2.0.1 
│ │ │ │ │ │ ├─┬ to-object-path@0.3.0 
│ │ │ │ │ │ │ └── kind-of@3.2.2 
│ │ │ │ │ │ ├─┬ union-value@1.0.0 
│ │ │ │ │ │ │ └─┬ set-value@0.4.3 
│ │ │ │ │ │ │   └── extend-shallow@2.0.1 
│ │ │ │ │ │ └─┬ unset-value@1.0.0 
│ │ │ │ │ │   └─┬ has-value@0.3.1 
│ │ │ │ │ │     ├── has-values@0.1.4 
│ │ │ │ │ │     └── isobject@2.1.0 
│ │ │ │ │ ├─┬ class-utils@0.3.6 
│ │ │ │ │ │ ├── arr-union@3.1.0 
│ │ │ │ │ │ ├── define-property@0.2.5 
│ │ │ │ │ │ └─┬ static-extend@0.1.2 
│ │ │ │ │ │   ├── define-property@0.2.5 
│ │ │ │ │ │   └─┬ object-copy@0.1.0 
│ │ │ │ │ │     ├── copy-descriptor@0.1.1 
│ │ │ │ │ │     ├── define-property@0.2.5 
│ │ │ │ │ │     └── kind-of@3.2.2 
│ │ │ │ │ ├─┬ define-property@1.0.0 
│ │ │ │ │ │ └─┬ is-descriptor@1.0.2 
│ │ │ │ │ │   ├── is-accessor-descriptor@1.0.0 
│ │ │ │ │ │   └── is-data-descriptor@1.0.0 
│ │ │ │ │ ├─┬ mixin-deep@1.3.1 
│ │ │ │ │ │ └── is-extendable@1.0.1 
│ │ │ │ │ └── pascalcase@0.1.1 
│ │ │ │ ├─┬ define-property@0.2.5 
│ │ │ │ │ └─┬ is-descriptor@0.1.6 
│ │ │ │ │   ├─┬ is-accessor-descriptor@0.1.6 
│ │ │ │ │   │ └── kind-of@3.2.2 
│ │ │ │ │   ├─┬ is-data-descriptor@0.1.4 
│ │ │ │ │   │ └── kind-of@3.2.2 
│ │ │ │ │   └── kind-of@5.1.0 
│ │ │ │ ├── extend-shallow@2.0.1 
│ │ │ │ ├─┬ source-map-resolve@0.5.2 
│ │ │ │ │ ├── atob@2.1.2 
│ │ │ │ │ ├── decode-uri-component@0.2.0 
│ │ │ │ │ ├── resolve-url@0.2.1 
│ │ │ │ │ ├── source-map-url@0.4.0 
│ │ │ │ │ └── urix@0.1.0 
│ │ │ │ └── use@3.1.1 
│ │ │ └── to-regex@3.0.2 
│ │ ├─┬ node-libs-browser@2.1.0 
│ │ │ ├─┬ assert@1.4.1 
│ │ │ │ └─┬ util@0.10.3 
│ │ │ │   └── inherits@2.0.1 
│ │ │ ├── browserify-zlib@0.2.0 
│ │ │ ├─┬ buffer@4.9.1 
│ │ │ │ └── base64-js@1.3.0 
│ │ │ ├─┬ console-browserify@1.1.0 
│ │ │ │ └── date-now@0.1.4 
│ │ │ ├── constants-browserify@1.0.0 
│ │ │ ├─┬ crypto-browserify@3.12.0 
│ │ │ │ ├─┬ browserify-cipher@1.0.1 
│ │ │ │ │ ├─┬ browserify-aes@1.2.0 
│ │ │ │ │ │ └── buffer-xor@1.0.3 
│ │ │ │ │ ├─┬ browserify-des@1.0.2 
│ │ │ │ │ │ └── des.js@1.0.0 
│ │ │ │ │ └── evp_bytestokey@1.0.3 
│ │ │ │ ├─┬ browserify-sign@4.0.4 
│ │ │ │ │ ├── bn.js@4.11.8 
│ │ │ │ │ ├── browserify-rsa@4.0.1 
│ │ │ │ │ ├─┬ elliptic@6.4.1 
│ │ │ │ │ │ ├── brorand@1.1.0 
│ │ │ │ │ │ ├── hash.js@1.1.5 
│ │ │ │ │ │ ├── hmac-drbg@1.0.1 
│ │ │ │ │ │ └── minimalistic-crypto-utils@1.0.1 
│ │ │ │ │ └─┬ parse-asn1@5.1.1 
│ │ │ │ │   └── asn1.js@4.10.1 
│ │ │ │ ├── create-ecdh@4.0.3 
│ │ │ │ ├─┬ create-hash@1.2.0 
│ │ │ │ │ ├── cipher-base@1.0.4 
│ │ │ │ │ ├─┬ md5.js@1.3.5 
│ │ │ │ │ │ └── hash-base@3.0.4 
│ │ │ │ │ ├── ripemd160@2.0.2 
│ │ │ │ │ └── sha.js@2.4.11 
│ │ │ │ ├── create-hmac@1.1.7 
│ │ │ │ ├─┬ diffie-hellman@5.0.3 
│ │ │ │ │ └── miller-rabin@4.0.1 
│ │ │ │ ├── pbkdf2@3.0.17 
│ │ │ │ ├── public-encrypt@4.0.3 
│ │ │ │ ├── randombytes@2.0.6 
│ │ │ │ └── randomfill@1.0.4 
│ │ │ ├── domain-browser@1.2.0 
│ │ │ ├── events@1.1.1 
│ │ │ ├── https-browserify@1.0.0 
│ │ │ ├── os-browserify@0.3.0 
│ │ │ ├── path-browserify@0.0.0 
│ │ │ ├── process@0.11.10 
│ │ │ ├── punycode@1.4.1 
│ │ │ ├── querystring-es3@0.2.1 
│ │ │ ├── stream-browserify@2.0.1 
│ │ │ ├─┬ stream-http@2.8.3 
│ │ │ │ ├── builtin-status-codes@3.0.0 
│ │ │ │ ├── to-arraybuffer@1.0.1 
│ │ │ │ └── xtend@4.0.1 
│ │ │ ├── string_decoder@1.1.1 
│ │ │ ├─┬ timers-browserify@2.0.10 
│ │ │ │ └── setimmediate@1.0.5 
│ │ │ ├── tty-browserify@0.0.0 
│ │ │ ├─┬ url@0.11.0 
│ │ │ │ ├── punycode@1.3.2 
│ │ │ │ └── querystring@0.2.0 
│ │ │ ├── util@0.10.4 
│ │ │ └── vm-browserify@0.0.4 
│ │ └── watchpack@1.6.0 
│ ├─┬ webpack-dev-middleware@3.4.0 
│ │ ├── mime@2.3.1 
│ │ └─┬ webpack-log@2.0.0 
│ │   └── ansi-colors@3.2.1 
│ ├─┬ webpack-dev-server@3.1.10 
│ │ ├── ansi-html@0.0.7 
│ │ ├─┬ bonjour@3.5.0 
│ │ │ ├── array-flatten@2.1.1 
│ │ │ ├── deep-equal@1.0.1 
│ │ │ ├── dns-equal@1.0.0 
│ │ │ ├─┬ dns-txt@2.0.2 
│ │ │ │ └── buffer-indexof@1.1.1 
│ │ │ ├─┬ multicast-dns@6.2.3 
│ │ │ │ ├── dns-packet@1.3.1 
│ │ │ │ └── thunky@1.0.3 
│ │ │ └── multicast-dns-service-types@1.1.0 
│ │ ├─┬ compression@1.7.3 
│ │ │ ├─┬ accepts@1.3.5 
│ │ │ │ └── negotiator@0.6.1 
│ │ │ ├── compressible@2.0.15 
│ │ │ ├── on-headers@1.0.1 
│ │ │ └── vary@1.1.2 
│ │ ├── connect-history-api-fallback@1.5.0 
│ │ ├─┬ debug@3.2.6 
│ │ │ └── ms@2.1.1 
│ │ ├─┬ del@3.0.0 
│ │ │ ├─┬ globby@6.1.0 
│ │ │ │ └── pify@2.3.0 
│ │ │ ├── is-path-cwd@1.0.0 
│ │ │ ├─┬ is-path-in-cwd@1.0.1 
│ │ │ │ └─┬ is-path-inside@1.0.1 
│ │ │ │   └── path-is-inside@1.0.2 
│ │ │ └── p-map@1.2.0 
│ │ ├─┬ express@4.16.4 
│ │ │ ├── array-flatten@1.1.1 
│ │ │ ├── content-disposition@0.5.2 
│ │ │ ├── cookie@0.3.1 
│ │ │ ├── cookie-signature@1.0.6 
│ │ │ ├── encodeurl@1.0.2 
│ │ │ ├── escape-html@1.0.3 
│ │ │ ├── etag@1.8.1 
│ │ │ ├── finalhandler@1.1.1 
│ │ │ ├── fresh@0.5.2 
│ │ │ ├── merge-descriptors@1.0.1 
│ │ │ ├── methods@1.1.2 
│ │ │ ├── path-to-regexp@0.1.7 
│ │ │ ├─┬ proxy-addr@2.0.4 
│ │ │ │ └── forwarded@0.1.2 
│ │ │ ├─┬ send@0.16.2 
│ │ │ │ ├── destroy@1.0.4 
│ │ │ │ └── mime@1.4.1 
│ │ │ ├── serve-static@1.13.2 
│ │ │ ├── setprototypeof@1.1.0 
│ │ │ └── statuses@1.4.0 
│ │ ├── html-entities@1.2.1 
│ │ ├── http-proxy-middleware@0.18.0 
│ │ ├─┬ import-local@2.0.0 
│ │ │ ├─┬ pkg-dir@3.0.0 
│ │ │ │ └─┬ find-up@3.0.0 
│ │ │ │   └─┬ locate-path@3.0.0 
│ │ │ │     └─┬ p-locate@3.0.0 
│ │ │ │       └─┬ p-limit@2.0.0 
│ │ │ │         └── p-try@2.0.0 
│ │ │ └─┬ resolve-cwd@2.0.0 
│ │ │   └── resolve-from@3.0.0 
│ │ ├─┬ internal-ip@3.0.1 
│ │ │ ├─┬ default-gateway@2.7.2 
│ │ │ │ ├─┬ execa@0.10.0 
│ │ │ │ │ ├─┬ cross-spawn@6.0.5 
│ │ │ │ │ │ ├── nice-try@1.0.5 
│ │ │ │ │ │ ├── path-key@2.0.1 
│ │ │ │ │ │ └─┬ shebang-command@1.2.0 
│ │ │ │ │ │   └── shebang-regex@1.0.0 
│ │ │ │ │ ├── get-stream@3.0.0 
│ │ │ │ │ ├── npm-run-path@2.0.2 
│ │ │ │ │ ├── p-finally@1.0.0 
│ │ │ │ │ └── strip-eof@1.0.0 
│ │ │ │ └── ip-regex@2.1.0 
│ │ │ └── ipaddr.js@1.8.0 
│ │ ├── ip@1.1.5 
│ │ ├── killable@1.0.1 
│ │ ├── loglevel@1.6.1 
│ │ ├── schema-utils@1.0.0 
│ │ ├─┬ selfsigned@1.10.4 
│ │ │ └── node-forge@0.7.5 
│ │ ├─┬ serve-index@1.9.1 
│ │ │ └── batch@0.6.1 
│ │ ├─┬ sockjs@0.3.19 
│ │ │ └── faye-websocket@0.10.0 
│ │ ├─┬ sockjs-client@1.3.0 
│ │ │ ├─┬ debug@3.2.6 
│ │ │ │ └── ms@2.1.1 
│ │ │ ├─┬ eventsource@1.0.7 
│ │ │ │ └── original@1.0.2 
│ │ │ ├── json3@3.3.2 
│ │ │ └─┬ url-parse@1.4.4 
│ │ │   └── querystringify@2.1.0 
│ │ ├─┬ spdy@3.4.7 
│ │ │ ├── handle-thing@1.2.5 
│ │ │ ├── http-deceiver@1.2.7 
│ │ │ ├── select-hose@2.0.0 
│ │ │ └─┬ spdy-transport@2.1.1 
│ │ │   ├── detect-node@2.0.4 
│ │ │   ├── hpack.js@2.1.6 
│ │ │   ├── obuf@1.1.2 
│ │ │   └─┬ wbuf@1.7.3 
│ │ │     └── minimalistic-assert@1.0.1 
│ │ ├─┬ strip-ansi@3.0.1 
│ │ │ └── ansi-regex@2.1.1 
│ │ └─┬ yargs@12.0.2 
│ │   ├─┬ cliui@4.1.0 
│ │   │ ├─┬ strip-ansi@4.0.0 
│ │   │ │ └── ansi-regex@3.0.0 
│ │   │ └── wrap-ansi@2.1.0 
│ │   ├─┬ decamelize@2.0.0 
│ │   │ └── xregexp@4.0.0 
│ │   ├─┬ find-up@3.0.0 
│ │   │ └─┬ locate-path@3.0.0 
│ │   │   ├─┬ p-locate@3.0.0 
│ │   │   │ └─┬ p-limit@2.0.0 
│ │   │   │   └── p-try@2.0.0 
│ │   │   └── path-exists@3.0.0 
│ │   ├── get-caller-file@1.0.3 
│ │   ├─┬ os-locale@3.0.1 
│ │   │ ├─┬ lcid@2.0.0 
│ │   │ │ └── invert-kv@2.0.0 
│ │   │ └─┬ mem@4.0.0 
│ │   │   ├─┬ map-age-cleaner@0.1.3 
│ │   │   │ └── p-defer@1.0.0 
│ │   │   ├── mimic-fn@1.2.0 
│ │   │   └── p-is-promise@1.1.0 
│ │   ├── require-directory@2.1.1 
│ │   ├── require-main-filename@1.0.1 
│ │   ├─┬ string-width@2.1.1 
│ │   │ ├── is-fullwidth-code-point@2.0.0 
│ │   │ └── strip-ansi@4.0.0 
│ │   ├── which-module@2.0.0 
│ │   ├── y18n@3.2.1 
│ │   └─┬ yargs-parser@10.1.0 
│ │     └── camelcase@4.1.0 
│ ├── webpack-merge@4.1.4 
│ ├─┬ webpack-sources@1.3.0 
│ │ ├── source-list-map@2.0.1 
│ │ └── source-map@0.6.1 
│ └── webpack-subresource-integrity@1.3.0 
├─┬ @angular/animations@6.1.10 
│ └── tslib@1.9.3 
├── UNMET PEER DEPENDENCY @angular/cdk@6.4.7
├─┬ @angular/cli@6.2.7 
│ ├── @angular-devkit/schematics@0.8.7 
│ ├── @schematics/angular@0.8.7 
│ ├─┬ @schematics/update@0.8.7 
│ │ ├─┬ npm-registry-client@8.6.0 
│ │ │ ├─┬ npm-package-arg@6.1.0 
│ │ │ │ └─┬ validate-npm-package-name@3.0.0 
│ │ │ │   └── builtins@1.0.3 
│ │ │ ├── retry@0.10.1 
│ │ │ └── slide@1.1.6 
│ │ └── semver-intersect@1.4.0 
│ ├── json-schema-traverse@0.4.1 
│ ├── symbol-observable@1.2.0 
│ └─┬ yargs-parser@10.1.0 
│   └── camelcase@4.1.0 
├── @angular/common@6.1.10 
├── @angular/compiler@6.1.10 
├─┬ @angular/compiler-cli@6.1.10 
│ ├─┬ chokidar@1.7.0 
│ │ ├─┬ anymatch@1.3.2 
│ │ │ └─┬ micromatch@2.3.11 
│ │ │   ├── arr-diff@2.0.0 
│ │ │   ├── array-unique@0.2.1 
│ │ │   ├─┬ braces@1.8.5 
│ │ │   │ ├─┬ expand-range@1.8.2 
│ │ │   │ │ └─┬ fill-range@2.2.4 
│ │ │   │ │   ├─┬ is-number@2.1.0 
│ │ │   │ │   │ └── kind-of@3.2.2 
│ │ │   │ │   ├── isobject@2.1.0 
│ │ │   │ │   └─┬ randomatic@3.1.1 
│ │ │   │ │     ├── is-number@4.0.0 
│ │ │   │ │     └── math-random@1.0.1 
│ │ │   │ └── preserve@0.2.0 
│ │ │   ├─┬ expand-brackets@0.1.5 
│ │ │   │ └── is-posix-bracket@0.1.1 
│ │ │   ├── extglob@0.3.2 
│ │ │   ├── filename-regex@2.0.1 
│ │ │   ├─┬ kind-of@3.2.2 
│ │ │   │ └── is-buffer@1.1.6 
│ │ │   ├─┬ object.omit@2.0.1 
│ │ │   │ └── for-own@0.1.5 
│ │ │   ├─┬ parse-glob@3.0.4 
│ │ │   │ ├─┬ glob-base@0.3.0 
│ │ │   │ │ ├── glob-parent@2.0.0 
│ │ │   │ │ └─┬ is-glob@2.0.1 
│ │ │   │ │   └── is-extglob@1.0.0 
│ │ │   │ ├── is-dotfile@1.0.3 
│ │ │   │ ├── is-extglob@1.0.0 
│ │ │   │ └── is-glob@2.0.1 
│ │ │   └─┬ regex-cache@0.4.4 
│ │ │     └─┬ is-equal-shallow@0.1.3 
│ │ │       └── is-primitive@2.0.0 
│ │ ├── async-each@1.0.1 
│ │ ├── glob-parent@2.0.0 
│ │ ├─┬ is-binary-path@1.0.1 
│ │ │ └── binary-extensions@1.12.0 
│ │ ├─┬ is-glob@2.0.1 
│ │ │ └── is-extglob@1.0.0 
│ │ └── readdirp@2.2.1 
│ ├── minimist@1.2.0 
│ ├── reflect-metadata@0.1.12 
│ └─┬ tsickle@0.32.1 
│   ├── jasmine-diff@0.1.3 
│   ├── minimist@1.2.0 
│   └── source-map@0.6.1 
├── @angular/core@6.1.10 
├── @angular/fire@5.1.0 
├── @angular/forms@6.1.10 
├── @angular/http@6.1.10 
├── @angular/language-service@6.1.10 
├─┬ @angular/material@6.4.7 
│ └── parse5@5.1.0 
├── @angular/platform-browser@6.1.10 
├── @angular/platform-browser-dynamic@6.1.10 
├── @angular/router@6.1.10 
├── @types/jasmine@2.8.12 
├── @types/jasminewd2@2.0.6 
├── @types/node@10.12.9 
├─┬ @types/shelljs@0.8.0 
│ └─┬ @types/glob@7.1.1 
│   ├── @types/events@1.2.0 
│   └── @types/minimatch@3.0.3 
├─┬ angular-google-charts@0.0.9 
│ └── @types/google.visualization@0.0.43 
├─┬ codelyzer@4.3.0 
│ ├── app-root-path@2.1.0 
│ ├─┬ css-selector-tokenizer@0.7.1 
│ │ ├── cssesc@0.1.0 
│ │ ├── fastparse@1.1.2 
│ │ └─┬ regexpu-core@1.0.0 
│ │   ├── regenerate@1.4.0 
│ │   ├── regjsgen@0.2.0 
│ │   └─┬ regjsparser@0.1.5 
│ │     └── jsesc@0.5.0 
│ ├─┬ cssauron@1.4.0 
│ │ └── through@2.3.8 
│ ├── semver-dsl@1.0.1 
│ ├── source-map@0.5.7 
│ └── sprintf-js@1.0.3 
├── core-js@2.5.7 
├─┬ firebase@5.5.8 
│ ├─┬ @firebase/app@0.3.4 
│ │ ├── @firebase/app-types@0.3.2 
│ │ ├─┬ @firebase/util@0.2.2 
│ │ │ └── tslib@1.9.0 
│ │ ├── dom-storage@2.1.0 
│ │ ├── tslib@1.9.0 
│ │ └── xmlhttprequest@1.8.0 
│ ├─┬ @firebase/auth@0.7.9 
│ │ └── @firebase/auth-types@0.3.4 
│ ├─┬ @firebase/database@0.3.6 
│ │ ├── @firebase/database-types@0.3.2 
│ │ ├── @firebase/logger@0.1.1 
│ │ ├─┬ faye-websocket@0.11.1 
│ │ │ └─┬ websocket-driver@0.7.0 
│ │ │   ├── http-parser-js@0.5.0 
│ │ │   └── websocket-extensions@0.1.3 
│ │ └── tslib@1.9.0 
│ ├─┬ @firebase/firestore@0.8.7 
│ │ ├── @firebase/firestore-types@0.7.0 
│ │ ├── @firebase/webchannel-wrapper@0.2.11 
│ │ ├─┬ grpc@1.16.0 
│ │ │ ├─┬ node-pre-gyp@0.10.3 
│ │ │ │ ├── detect-libc@1.0.3 
│ │ │ │ ├─┬ mkdirp@0.5.1 
│ │ │ │ │ └── minimist@0.0.8 
│ │ │ │ ├─┬ needle@2.2.2 
│ │ │ │ │ ├─┬ debug@2.6.9 
│ │ │ │ │ │ └── ms@2.0.0 
│ │ │ │ │ ├─┬ iconv-lite@0.4.23 
│ │ │ │ │ │ └── safer-buffer@2.1.2 
│ │ │ │ │ └── sax@1.2.4 
│ │ │ │ ├─┬ nopt@4.0.1 
│ │ │ │ │ ├── abbrev@1.1.1 
│ │ │ │ │ └─┬ osenv@0.1.5 
│ │ │ │ │   ├── os-homedir@1.0.2 
│ │ │ │ │   └── os-tmpdir@1.0.2 
│ │ │ │ ├─┬ npm-packlist@1.1.11 
│ │ │ │ │ ├─┬ ignore-walk@3.0.1 
│ │ │ │ │ │ └─┬ minimatch@3.0.4 
│ │ │ │ │ │   └─┬ brace-expansion@1.1.11 
│ │ │ │ │ │     ├── balanced-match@1.0.0 
│ │ │ │ │ │     └── concat-map@0.0.1 
│ │ │ │ │ └── npm-bundled@1.0.3 
│ │ │ │ ├─┬ npmlog@4.1.2 
│ │ │ │ │ ├─┬ are-we-there-yet@1.1.5 
│ │ │ │ │ │ ├── delegates@1.0.0 
│ │ │ │ │ │ └─┬ readable-stream@2.3.6 
│ │ │ │ │ │   ├── core-util-is@1.0.2 
│ │ │ │ │ │   ├── isarray@1.0.0 
│ │ │ │ │ │   ├── process-nextick-args@2.0.0 
│ │ │ │ │ │   ├── string_decoder@1.1.1 
│ │ │ │ │ │   └── util-deprecate@1.0.2 
│ │ │ │ │ ├── console-control-strings@1.1.0 
│ │ │ │ │ ├─┬ gauge@2.7.4 
│ │ │ │ │ │ ├── aproba@1.2.0 
│ │ │ │ │ │ ├── has-unicode@2.0.1 
│ │ │ │ │ │ ├── object-assign@4.1.1 
│ │ │ │ │ │ ├── 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.1.1 
│ │ │ │ │ │ └── wide-align@1.1.3 
│ │ │ │ │ └── set-blocking@2.0.0 
│ │ │ │ ├─┬ rc@1.2.8 
│ │ │ │ │ ├── deep-extend@0.6.0 
│ │ │ │ │ ├── ini@1.3.5 
│ │ │ │ │ └── strip-json-comments@2.0.1 
│ │ │ │ ├─┬ rimraf@2.6.2 
│ │ │ │ │ └─┬ glob@7.1.2 
│ │ │ │ │   ├── 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 
│ │ │ │ ├── semver@5.5.0 
│ │ │ │ └─┬ tar@4.4.6 
│ │ │ │   ├── chownr@1.0.1 
│ │ │ │   ├── fs-minipass@1.2.5 
│ │ │ │   ├── minipass@2.3.3 
│ │ │ │   ├── minizlib@1.1.0 
│ │ │ │   ├── safe-buffer@5.1.2 
│ │ │ │   └── yallist@3.0.2 
│ │ │ └─┬ protobufjs@5.0.3 
│ │ │   ├─┬ ascli@1.0.1 
│ │ │   │ ├── colour@0.7.1 
│ │ │   │ └── optjs@3.2.2 
│ │ │   ├── bytebuffer@5.0.1 
│ │ │   └─┬ yargs@3.32.0 
│ │ │     └── window-size@0.1.4 
│ │ └── tslib@1.9.0 
│ ├─┬ @firebase/functions@0.3.2 
│ │ ├── @firebase/functions-types@0.2.1 
│ │ ├── @firebase/messaging-types@0.2.3 
│ │ ├─┬ isomorphic-fetch@2.2.1 
│ │ │ ├─┬ node-fetch@1.7.3 
│ │ │ │ ├─┬ encoding@0.1.12 
│ │ │ │ │ └── iconv-lite@0.4.24 
│ │ │ │ └── is-stream@1.1.0 
│ │ │ └── whatwg-fetch@3.0.0 
│ │ └── tslib@1.9.0 
│ ├─┬ @firebase/messaging@0.3.6 
│ │ └── tslib@1.9.0 
│ ├─┬ @firebase/polyfill@0.3.3 
│ │ ├── core-js@2.5.5 
│ │ ├── promise-polyfill@7.1.2 
│ │ └── whatwg-fetch@2.0.4 
│ └─┬ @firebase/storage@0.2.4 
│   ├── @firebase/storage-types@0.2.3 
│   └── tslib@1.9.0 
├─┬ git-scripts@0.2.1 
│ └── commander@2.6.0 
├── jasmine-core@2.99.1 
├─┬ jasmine-spec-reporter@4.2.1 
│ └── colors@1.1.2 
├─┬ karma@3.0.0 
│ ├── bluebird@3.5.3 
│ ├─┬ body-parser@1.18.3 
│ │ ├── bytes@3.0.0 
│ │ ├── content-type@1.0.4 
│ │ ├── depd@1.1.2 
│ │ ├── http-errors@1.6.3 
│ │ ├─┬ iconv-lite@0.4.23 
│ │ │ └── safer-buffer@2.1.2 
│ │ ├─┬ on-finished@2.3.0 
│ │ │ └── ee-first@1.1.1 
│ │ ├── qs@6.5.2 
│ │ ├─┬ raw-body@2.3.3 
│ │ │ ├── iconv-lite@0.4.23 
│ │ │ └── unpipe@1.0.0 
│ │ └─┬ type-is@1.6.16 
│ │   └── media-typer@0.3.0 
│ ├─┬ chokidar@2.0.4 
│ │ ├── anymatch@2.0.0 
│ │ ├─┬ braces@2.3.2 
│ │ │ ├── arr-flatten@1.1.0 
│ │ │ ├── extend-shallow@2.0.1 
│ │ │ ├─┬ fill-range@4.0.0 
│ │ │ │ ├── extend-shallow@2.0.1 
│ │ │ │ ├─┬ is-number@3.0.0 
│ │ │ │ │ └── kind-of@3.2.2 
│ │ │ │ ├── repeat-string@1.6.1 
│ │ │ │ └── to-regex-range@2.1.1 
│ │ │ ├── isobject@3.0.1 
│ │ │ ├── repeat-element@1.1.3 
│ │ │ ├─┬ snapdragon-node@2.1.1 
│ │ │ │ ├─┬ define-property@1.0.0 
│ │ │ │ │ └─┬ is-descriptor@1.0.2 
│ │ │ │ │   ├── is-accessor-descriptor@1.0.0 
│ │ │ │ │   └── is-data-descriptor@1.0.0 
│ │ │ │ └─┬ snapdragon-util@3.0.1 
│ │ │ │   └── kind-of@3.2.2 
│ │ │ └── split-string@3.1.0 
│ │ ├─┬ glob-parent@3.1.0 
│ │ │ ├── is-glob@3.1.0 
│ │ │ └── path-dirname@1.0.2 
│ │ ├── lodash.debounce@4.0.8 
│ │ ├─┬ normalize-path@2.1.1 
│ │ │ └── remove-trailing-separator@1.1.0 
│ │ └── upath@1.1.0 
│ ├── combine-lists@1.0.1 
│ ├─┬ connect@3.6.6 
│ │ ├─┬ finalhandler@1.1.0 
│ │ │ └── statuses@1.3.1 
│ │ ├── parseurl@1.3.2 
│ │ └── utils-merge@1.0.1 
│ ├── di@0.0.1 
│ ├─┬ dom-serialize@2.2.1 
│ │ ├── custom-event@1.0.1 
│ │ ├── ent@2.2.0 
│ │ ├── extend@3.0.2 
│ │ └── 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.15 
│ ├─┬ http-proxy@1.17.0 
│ │ ├── eventemitter3@3.1.0 
│ │ ├─┬ follow-redirects@1.5.10 
│ │ │ └── debug@3.1.0 
│ │ └── requires-port@1.0.0 
│ ├─┬ isbinaryfile@3.0.3 
│ │ └─┬ buffer-alloc@1.2.0 
│ │   ├── buffer-alloc-unsafe@1.1.0 
│ │   └── buffer-fill@1.0.0 
│ ├── lodash@4.17.11 
│ ├─┬ log4js@3.0.6 
│ │ ├── circular-json@0.5.9 
│ │ ├── date-format@1.2.0 
│ │ ├─┬ debug@3.2.6 
│ │ │ └── ms@2.1.1 
│ │ ├── rfdc@1.1.2 
│ │ └─┬ streamroller@0.7.0 
│ │   └─┬ debug@3.2.6 
│ │     └── ms@2.1.1 
│ ├── mime@2.3.1 
│ ├─┬ optimist@0.6.1 
│ │ ├── minimist@0.0.8 
│ │ └── wordwrap@0.0.3 
│ ├── qjobs@1.2.0 
│ ├── range-parser@1.2.0 
│ ├── rimraf@2.6.2 
│ ├── safe-buffer@5.1.2 
│ ├─┬ socket.io@2.1.1 
│ │ ├── debug@3.1.0 
│ │ ├─┬ engine.io@3.2.1 
│ │ │ ├── base64id@1.0.0 
│ │ │ ├── debug@3.1.0 
│ │ │ ├─┬ engine.io-parser@2.1.3 
│ │ │ │ ├── after@0.8.2 
│ │ │ │ ├── arraybuffer.slice@0.0.7 
│ │ │ │ └── blob@0.0.5 
│ │ │ └─┬ ws@3.3.3 
│ │ │   └── ultron@1.1.1 
│ │ ├─┬ has-binary2@1.0.3 
│ │ │ └── isarray@2.0.1 
│ │ ├── socket.io-adapter@1.1.1 
│ │ ├─┬ socket.io-client@2.1.1 
│ │ │ ├── backo2@1.0.2 
│ │ │ ├── base64-arraybuffer@0.1.5 
│ │ │ ├── component-bind@1.0.0 
│ │ │ ├── component-emitter@1.2.1 
│ │ │ ├── debug@3.1.0 
│ │ │ ├─┬ engine.io-client@3.2.1 
│ │ │ │ ├── component-inherit@0.0.3 
│ │ │ │ ├── debug@3.1.0 
│ │ │ │ ├── xmlhttprequest-ssl@1.5.5 
│ │ │ │ └── yeast@0.1.2 
│ │ │ ├── has-cors@1.1.0 
│ │ │ ├── indexof@0.0.1 
│ │ │ ├── object-component@0.0.3 
│ │ │ ├─┬ parseqs@0.0.5 
│ │ │ │ └─┬ better-assert@1.0.2 
│ │ │ │   └── callsite@1.0.0 
│ │ │ ├── parseuri@0.0.5 
│ │ │ └── to-array@0.1.4 
│ │ └─┬ socket.io-parser@3.2.0 
│ │   ├── debug@3.1.0 
│ │   └── isarray@2.0.1 
│ ├── source-map@0.6.1 
│ ├─┬ tmp@0.0.33 
│ │ └── os-tmpdir@1.0.2 
│ └─┬ useragent@2.2.1 
│   └── lru-cache@2.2.4 
├─┬ karma-chrome-launcher@2.2.0 
│ ├─┬ fs-access@1.0.1 
│ │ └── null-check@1.0.0 
│ └─┬ which@1.3.1 
│   └── isexe@2.0.0 
├─┬ karma-coverage-istanbul-reporter@2.0.4 
│ └─┬ istanbul-api@2.0.6 
│   ├── async@2.6.1 
│   ├── compare-versions@3.4.0 
│   ├── fileset@2.0.3 
│   ├── istanbul-lib-coverage@2.0.1 
│   ├─┬ istanbul-lib-hook@2.0.1 
│   │ └─┬ append-transform@1.0.0 
│   │   └─┬ default-require-extensions@2.0.0 
│   │     └── strip-bom@3.0.0 
│   ├─┬ istanbul-lib-instrument@3.0.0 
│   │ ├─┬ @babel/generator@7.1.6 
│   │ │ └── jsesc@2.5.2 
│   │ ├── @babel/parser@7.1.6 
│   │ ├─┬ @babel/template@7.1.2 
│   │ │ └─┬ @babel/code-frame@7.0.0 
│   │ │   └─┬ @babel/highlight@7.0.0 
│   │ │     └── js-tokens@4.0.0 
│   │ ├─┬ @babel/traverse@7.1.6 
│   │ │ ├─┬ @babel/helper-function-name@7.1.0 
│   │ │ │ └── @babel/helper-get-function-arity@7.0.0 
│   │ │ ├── @babel/helper-split-export-declaration@7.0.0 
│   │ │ ├─┬ debug@4.1.0 
│   │ │ │ └── ms@2.1.1 
│   │ │ └── globals@11.9.0 
│   │ └─┬ @babel/types@7.1.6 
│   │   └── to-fast-properties@2.0.0 
│   ├─┬ istanbul-lib-report@2.0.2 
│   │ └── istanbul-lib-coverage@2.0.1 
│   ├─┬ istanbul-lib-source-maps@2.0.1 
│   │ ├─┬ debug@3.2.6 
│   │ │ └── ms@2.1.1 
│   │ ├── istanbul-lib-coverage@2.0.1 
│   │ └── source-map@0.6.1 
│   ├── istanbul-reports@2.0.1 
│   └── make-dir@1.3.0 
├── karma-jasmine@1.1.2 
├── karma-jasmine-html-reporter@0.2.2 
├── minimist@1.2.0 
├─┬ protractor@5.4.1 
│ ├── @types/node@6.14.2 
│ ├── @types/q@0.0.32 
│ ├── @types/selenium-webdriver@3.0.13 
│ ├─┬ blocking-proxy@1.0.1 
│ │ └── minimist@1.2.0 
│ ├── browserstack@1.5.1 
│ ├─┬ 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 
│ ├─┬ jasmine@2.8.0 
│ │ ├── exit@0.1.2 
│ │ └── jasmine-core@2.8.0 
│ ├── jasminewd2@2.2.0 
│ ├── q@1.4.1 
│ ├── saucelabs@1.5.0 
│ ├─┬ selenium-webdriver@3.6.0 
│ │ ├─┬ jszip@3.1.5 
│ │ │ ├── core-js@2.3.0 
│ │ │ ├── es6-promise@3.0.2 
│ │ │ ├─┬ lie@3.1.1 
│ │ │ │ └── immediate@3.0.6 
│ │ │ ├── pako@1.0.6 
│ │ │ └─┬ readable-stream@2.0.6 
│ │ │   ├── process-nextick-args@1.0.7 
│ │ │   └── string_decoder@0.10.31 
│ │ └── tmp@0.0.30 
│ ├── source-map-support@0.4.18 
│ ├── webdriver-js-extender@2.1.0 
│ └─┬ webdriver-manager@12.1.0 
│   ├── adm-zip@0.4.13 
│   ├─┬ del@2.2.2 
│   │ ├── globby@5.0.0 
│   │ ├── pify@2.3.0 
│   │ └─┬ pinkie-promise@2.0.1 
│   │   └── pinkie@2.0.4 
│   ├── ini@1.3.5 
│   ├── minimist@1.2.0 
│   └─┬ xml2js@0.4.19 
│     ├── sax@1.2.4 
│     └── xmlbuilder@9.0.7 
├─┬ puppeteer@1.10.0 
│ ├─┬ debug@3.2.6 
│ │ └── ms@2.1.1 
│ ├─┬ extract-zip@1.6.7 
│ │ ├─┬ concat-stream@1.6.2 
│ │ │ └── typedarray@0.0.6 
│ │ └─┬ yauzl@2.4.1 
│ │   └─┬ fd-slicer@1.0.1 
│ │     └── pend@1.2.0 
│ ├─┬ https-proxy-agent@2.2.1 
│ │ ├─┬ agent-base@4.2.1 
│ │ │ └─┬ es6-promisify@5.0.0 
│ │ │   └── es6-promise@4.2.5 
│ │ └─┬ debug@3.2.6 
│ │   └── ms@2.1.1 
│ ├── mime@2.3.1 
│ ├── progress@2.0.1 
│ ├── proxy-from-env@1.0.0 
│ └─┬ ws@5.2.2 
│   └── async-limiter@1.0.0 
├── rxjs@6.2.2 
├─┬ shelljs@0.8.3 
│ ├── interpret@1.1.0 
│ └── rechoir@0.6.2 
├─┬ ts-node@7.0.1 
│ ├── arrify@1.0.1 
│ ├── buffer-from@1.1.1 
│ ├── diff@3.5.0 
│ ├── make-error@1.3.5 
│ ├── minimist@1.2.0 
│ ├── mkdirp@0.5.1 
│ └── yn@2.0.0 
├─┬ tslint@5.11.0 
│ ├─┬ babel-code-frame@6.26.0 
│ │ ├─┬ chalk@1.1.3 
│ │ │ ├── ansi-styles@2.2.1 
│ │ │ └── supports-color@2.0.0 
│ │ ├── esutils@2.0.2 
│ │ └── js-tokens@3.0.2 
│ ├── builtin-modules@1.1.1 
│ ├─┬ chalk@2.4.1 
│ │ └─┬ ansi-styles@3.2.1 
│ │   └─┬ color-convert@1.9.3 
│ │     └── color-name@1.1.3 
│ ├── commander@2.17.1 
│ ├─┬ js-yaml@3.12.0 
│ │ ├── argparse@1.0.10 
│ │ └── esprima@4.0.1 
│ ├─┬ resolve@1.8.1 
│ │ └── path-parse@1.0.6 
│ └── tsutils@2.29.0 
├── typescript@2.9.2 
└── zone.js@0.8.26 

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.4
npm WARN optional Skipping failed optional dependency /@angular/compiler-cli/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.2.4
npm WARN @angular/material@6.4.7 requires a peer of @angular/cdk@6.4.7 but none was installed.
┌ zixia@zixia-desktop:~/git/cad-board [10:30:40] tty:[3] jobs:[0]
└ (master) $ npm t

> cad-board@0.2.9 test /home/zixia/git/cad-board
> npm run lint && npm run test:unit && npm run test:e2e

> cad-board@0.2.9 lint /home/zixia/git/cad-board
> ng lint

All files pass linting.

All files pass linting.

> cad-board@0.2.9 test:unit /home/zixia/git/cad-board
> ng test --watch=false

 10% building modules 2/2 modules 0 active20 11 2018 10:30:52.118:INFO [karma]: Karma v3.0.0 server started at http://0.0.0.0:9876/
20 11 2018 10:30:52.119:INFO [launcher]: Launching browser ChromeHeadless with unlimited concurrency
20 11 2018 10:30:52.123:INFO [launcher]: Starting browser ChromeHeadless
20 11 2018 10:30:54.300:INFO [HeadlessChrome 0.0.0 (Linux 0.0.0)]: Connected on socket b3trMRZw71HuabYzAAAA with id 57069232
HeadlessChrome 0.0.0 (Linux 0.0.0): Executed 0 of 3 SUCCESS (0 secs / 0 secs)
ERROR: HttpErrorResponse{headers: HttpHeaders{normalizedNames: Map{}, lazyUpdate: null, lazyInit: function () { ... }}, status: 404, statusText: 'Not Found', url: 'http://localhost:9876/version.json?t=1542681054660', ok: false, name: 'HttpErrorResponse', message: 'Http failure response for http://localhost:9876/version.json?t=1542681054660: 404 Not Found', error: 'NOT FOUND'}, 'Could not get version'
HeadlessChrome 0.0.0 (Linux 0.0.0): Executed 0 of 3 SUCCESS (0 secs / 0 secs)
ERROR: HttpErrorResponse{headers: HttpHeaders{normalizedNames: Map{}, lazyUpdate: null, lazyInit: function () { ... }}, status: 404, statusText: 'Not Found', url: 'http://localhost:9876/version.json?t=154HeadlessChrome 0.0.0 (Linux 0.0.0): Executed 3 of 3 SUCCESS (1.134 secs / 1.125 secs)
TOTAL: 3 SUCCESS
TOTAL: 3 SUCCESS

> cad-board@0.2.9 test:e2e /home/zixia/git/cad-board
> ng e2e

** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **

Date: 2018-11-20T02:31:03.604Z
Hash: 8b48bcfc5b18af468583
Time: 5722ms
chunk {main} main.js, main.js.map (main) 26.5 kB [initial] [rendered]
chunk {polyfills} polyfills.js, polyfills.js.map (polyfills) 226 kB [initial] [rendered]
chunk {runtime} runtime.js, runtime.js.map (runtime) 6.22 kB [entry] [rendered]
chunk {styles} styles.js, styles.js.map (styles) 15.6 kB [initial] [rendered]
chunk {vendor} vendor.js, vendor.js.map (vendor) 4.63 MB [initial] [rendered]
[10:31:03] I/file_manager - creating folder /home/zixia/git/cad-board/node_modules/protractor/node_modules/webdriver-manager/selenium
[10:31:03] I/config_source - curl -o/home/zixia/git/cad-board/node_modules/protractor/node_modules/webdriver-manager/selenium/chrome-response.xml https://chromedriver.storage.googleapis.com/
ℹ 「wdm」: Compiled successfully.
[10:31:05] I/downloader - curl -o/home/zixia/git/cad-board/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.43.zip https://chromedriver.storage.googleapis.com/2.43/chromedriver_linux64.zip
[10:31:06] I/update - chromedriver: unzipping chromedriver_2.43.zip
[10:31:06] I/update - chromedriver: setting permissions to 0755 for /home/zixia/git/cad-board/node_modules/protractor/node_modules/webdriver-manager/selenium/chromedriver_2.43
[10:31:07] I/launcher - Running 1 instances of WebDriver
[10:31:07] I/direct - Using ChromeDriver directly...
Jasmine started

  workspace-project App
    ✓ should display welcome message

Executed 1 of 1 spec SUCCESS in 1 sec.
[10:31:10] I/launcher - 0 instance(s) of WebDriver still running
[10:31:10] I/launcher - chrome #01 passed
┌ zixia@zixia-desktop:~/git/cad-board [10:31:10] tty:[3] jobs:[0]
└ (master) $ 
linyimin0812 commented 5 years ago

I find another linux-Centos 6 x86_64, The version of node is v10.13.0, which also have a good internet connection(a Foreign VPS),there are still some errors:

[root@localhost ~]# git clone https://github.com/BUPT/cad-board.git
Initialized empty Git repository in /root/cad-board/.git/
remote: Enumerating objects: 58, done.
remote: Counting objects: 100% (58/58), done.
remote: Compressing objects: 100% (29/29), done.
remote: Total 593 (delta 29), reused 52 (delta 29), pack-reused 535
Receiving objects: 100% (593/593), 190.20 KiB, done.
Resolving deltas: 100% (357/357), done.
[root@localhost ~]# cd cad-board/
[root@localhost cad-board]#  npm install --unsafe-perm=true --allow-root
npm WARN deprecated circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor.

> grpc@1.16.0 install /root/cad-board/node_modules/grpc
> node-pre-gyp install --fallback-to-build --library=static_library

node-pre-gyp WARN Using request for node-pre-gyp https download 
[grpc] Success: "/root/cad-board/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc/grpc_node.node" is installed via remote

> node-sass@4.10.0 install /root/cad-board/node_modules/node-sass
> node scripts/install.js

Cached binary found at /root/.npm/node-sass/4.10.0/linux-x64-64_binding.node

> puppeteer@1.10.0 install /root/cad-board/node_modules/puppeteer
> node install.js

Downloading Chromium r599821 - 105.1 Mb [====================] 99% 0.0s 
Chromium downloaded to /root/cad-board/node_modules/puppeteer/.local-chromium/linux-599821

> node-sass@4.10.0 postinstall /root/cad-board/node_modules/node-sass
> node scripts/build.js

Binary found at /root/cad-board/node_modules/node-sass/vendor/linux-x64-64/binding.node
Testing binary
Binary is fine

> git-scripts@0.2.1 postinstall /root/cad-board/node_modules/git-scripts
> ./bin/install

npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN @angular/material@6.4.7 requires a peer of @angular/cdk@6.4.7 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1219 packages from 1378 contributors and audited 39472 packages in 58.737s
found 0 vulnerabilities

[root@localhost cad-board]# npm test

> cad-board@0.2.9 test /root/cad-board
> npm run lint && npm run test:unit && npm run test:e2e

> cad-board@0.2.9 lint /root/cad-board
> ng lint

All files pass linting.

All files pass linting.

> cad-board@0.2.9 test:unit /root/cad-board
> ng test --watch=false

 10% building modules 8/8 modules 0 active20 11 2018 13:07:52.158:INFO [karma]: Karma v3.0.0 server started at http://0.0.0.0:9876/
20 11 2018 13:07:52.161:INFO [launcher]: Launching browser ChromeHeadless with unlimited concurrency
20 11 2018 13:07:52.176:INFO [launcher]: Starting browser ChromeHeadless
 11% building modules 11/11 modules 0 active20 11 2018 13:07:52.252:ERROR [launcher]: Cannot start ChromeHeadless
    /root/cad-board/node_modules/puppeteer/.local-chromium/linux-599821/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

20 11 2018 13:07:52.252:ERROR [launcher]: ChromeHeadless stdout: 
20 11 2018 13:07:52.252:ERROR [launcher]: ChromeHeadless stderr: /root/cad-board/node_modules/puppeteer/.local-chromium/linux-599821/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

 11% building modules 15/15 modules 0 active20 11 2018 13:07:52.332:INFO [launcher]: Trying to start ChromeHeadless again (1/2).
 12% building modules 19/19 modules 0 active20 11 2018 13:07:52.398:ERROR [launcher]: Cannot start ChromeHeadless
    /root/cad-board/node_modules/puppeteer/.local-chromium/linux-599821/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

20 11 2018 13:07:52.399:ERROR [launcher]: ChromeHeadless stdout: 
20 11 2018 13:07:52.399:ERROR [launcher]: ChromeHeadless stderr: /root/cad-board/node_modules/puppeteer/.local-chromium/linux-599821/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

 12% building modules 22/22 modules 0 active20 11 2018 13:07:52.441:INFO [launcher]: Trying to start ChromeHeadless again (2/2).
 13% building modules 27/27 modules 0 active20 11 2018 13:07:52.813:ERROR [launcher]: Cannot start ChromeHeadless
    /root/cad-board/node_modules/puppeteer/.local-chromium/linux-599821/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

20 11 2018 13:07:52.813:ERROR [launcher]: ChromeHeadless stdout: 
20 11 2018 13:07:52.813:ERROR [launcher]: ChromeHeadless stderr: /root/cad-board/node_modules/puppeteer/.local-chromium/linux-599821/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory

 13% building modules 29/29 modules 0 active20 11 2018 13:07:52.980:ERROR [launcher]: ChromeHeadless failed 2 times (cannot start). Giving up.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! cad-board@0.2.9 test:unit: `ng test --watch=false`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the cad-board@0.2.9 test:unit script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-11-20T05_07_53_034Z-debug.log
npm ERR! Test failed.  See above for more details.
huan commented 5 years ago

Yes, I know you have some issue with the test.

I had just push a new commit to the repository and the CI passed without any problem. (see: https://github.com/BUPT/cad-board/runs/33278179 )

So it mostly like the issue is related to your local environment, as far as I can help is to suggest you compare your local setup with the CI config file, and google more.

Please feel free to let me know if you can not fix your problem this week, then I can help you to get it done in the coming week.

linyimin0812 commented 5 years ago

OK

huan commented 5 years ago

Do you still have any problem with this issue?

If it hasn't, could you please close this issue for it had been solved?

linyimin0812 commented 5 years ago

Yes, When I add the repeat function, the test still can't pass.

  workspace-project App
    ✗ should display welcome message
      - Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
          at ontimeout (timers.js:436:11)
          at tryOnTimeout (timers.js:300:5)
          at listOnTimeout (timers.js:263:5)
          at Timer.processTimers (timers.js:223:10)
      - Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
          at ontimeout (timers.js:436:11)
          at tryOnTimeout (timers.js:300:5)
          at listOnTimeout (timers.js:263:5)
          at Timer.processTimers (timers.js:223:10)
**************************************************
*                    Failures                    *
**************************************************
1) workspace-project App should display welcome message
  - Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
  - Error: Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.
Executed 1 of 1 spec (1 FAILED) in 1 min.
[02:16:41] I/launcher - 0 instance(s) of WebDriver still running
[02:16:41] I/launcher - chrome #01 failed 1 test(s)
[02:16:41] I/launcher - overall: 1 failed spec(s)
[02:16:41] E/launcher - Process exited with error code 1
An unexpected error occurred: undefined
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! cad-board@0.2.10 test:e2e: `ng e2e`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the cad-board@0.2.10 test:e2e script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/travis/.npm/_logs/2018-12-10T02_16_41_221Z-debug.log
npm ERR! Test failed.  See above for more details.
The command "npm test" exited with 1.