webrtc-web-call
VOIP call and conference Webrtc communication component , plugable to any third party site
Get started
Purge the existing of older node versions sudo apt-get purge nodejs npm
Install node and npm ( use 5.0.0 for thsi project ) curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs
Self Sign Keys
-- tbd --
Start server
node webrtcserver.js
Access Webpage
https://localhost:8084 ( give advanced permission to keys if SSL is self signed and not by public a CA)
Node modules
npm install
npm list should look like ├─┬ apidoc@0.17.6 │ ├─┬ apidoc-core@0.8.3 │ │ ├─┬ glob@7.1.2 │ │ │ ├── fs.realpath@1.0.0 │ │ │ ├── inflight@1.0.6 │ │ │ └── path-is-absolute@1.0.1 │ │ ├── iconv-lite@0.4.19 │ │ ├── klaw-sync@2.1.0 │ │ └── semver@5.3.0 │ ├─┬ fs-extra@3.0.1 │ │ ├── graceful-fs@4.1.11 │ │ ├── jsonfile@3.0.1 │ │ └── universalify@0.1.1 │ ├── lodash@4.17.5 │ ├─┬ markdown-it@8.4.1 │ │ ├─┬ argparse@1.0.10 │ │ │ └── sprintf-js@1.0.3 │ │ ├── entities@1.1.1 │ │ ├── linkify-it@2.0.3 │ │ ├── mdurl@1.0.1 │ │ └── uc.micro@1.0.5 │ ├─┬ nomnom@1.8.1 │ │ ├─┬ chalk@0.4.0 │ │ │ ├── ansi-styles@1.0.0 │ │ │ └── strip-ansi@0.1.1 │ │ └── underscore@1.6.0 │ └─┬ winston@2.3.1 │ ├── async@1.0.0 │ ├── colors@1.0.3 │ ├── cycle@1.0.3 │ ├── eyes@0.1.8 │ ├── isstream@0.1.2 │ └── stack-trace@0.0.10 ├─┬ express@4.16.3 │ ├─┬ accepts@1.3.5 │ │ └─┬ mime-types@2.1.18 │ │ └── mime-db@1.33.0 │ ├── array-flatten@1.1.1 │ ├─┬ body-parser@1.18.2 │ │ ├── bytes@3.0.0 │ │ ├── http-errors@1.6.3 │ │ └─┬ raw-body@2.3.2 │ │ └─┬ http-errors@1.6.2 │ │ ├── depd@1.1.1 │ │ └── setprototypeof@1.0.3 │ ├── content-disposition@0.5.2 │ ├── content-type@1.0.4 │ ├── cookie@0.3.1 │ ├── cookie-signature@1.0.6 │ ├─┬ debug@2.6.9 │ │ └── ms@2.0.0 │ ├── depd@1.1.2 │ ├── encodeurl@1.0.2 │ ├── escape-html@1.0.3 │ ├── etag@1.8.1 │ ├─┬ finalhandler@1.1.1 │ │ └── unpipe@1.0.0 │ ├── fresh@0.5.2 │ ├── merge-descriptors@1.0.1 │ ├── methods@1.1.2 │ ├─┬ on-finished@2.3.0 │ │ └── ee-first@1.1.1 │ ├── parseurl@1.3.2 │ ├── path-to-regexp@0.1.7 │ ├─┬ proxy-addr@2.0.3 │ │ ├── forwarded@0.1.2 │ │ └── ipaddr.js@1.6.0 │ ├── qs@6.5.1 │ ├── range-parser@1.2.0 │ ├── safe-buffer@5.1.1 │ ├─┬ 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 │ ├─┬ type-is@1.6.16 │ │ └── media-typer@0.3.0 │ ├── utils-merge@1.0.1 │ └── vary@1.1.2 ├─┬ googleapis@3.1.0 │ ├── async@1.5.2 │ ├─┬ gapitoken@0.1.5 │ │ └─┬ jws@3.0.0 │ │ ├─┬ base64url@1.0.6 │ │ │ └─┬ meow@2.0.0 │ │ │ ├─┬ camelcase-keys@1.0.0 │ │ │ │ └── camelcase@1.2.1 │ │ │ ├─┬ indent-string@1.2.2 │ │ │ │ ├── minimist@1.2.0 │ │ │ │ └─┬ repeating@1.1.3 │ │ │ │ └─┬ is-finite@1.0.2 │ │ │ │ └── number-is-nan@1.0.1 │ │ │ ├── minimist@1.2.0 │ │ │ └── object-assign@1.0.0 │ │ └─┬ jwa@1.0.2 │ │ ├── base64url@0.0.6 │ │ ├── buffer-equal-constant-time@1.0.1 │ │ └─┬ ecdsa-sig-formatter@1.0.9 │ │ └── base64url@2.0.0 │ ├─┬ google-auth-library@0.9.10 │ │ ├── async@1.4.2 │ │ ├─┬ gtoken@1.2.3 │ │ │ ├─┬ google-p12-pem@0.1.2 │ │ │ │ └── node-forge@0.7.5 │ │ │ └─┬ request@2.85.0 │ │ │ ├── aws-sign2@0.7.0 │ │ │ ├── caseless@0.12.0 │ │ │ ├── form-data@2.3.2 │ │ │ ├─┬ har-validator@5.0.3 │ │ │ │ ├─┬ ajv@5.5.2 │ │ │ │ │ ├── co@4.6.0 │ │ │ │ │ ├── fast-deep-equal@1.1.0 │ │ │ │ │ ├── fast-json-stable-stringify@2.0.0 │ │ │ │ │ └── json-schema-traverse@0.3.1 │ │ │ │ └── har-schema@2.0.0 │ │ │ ├─┬ hawk@6.0.2 │ │ │ │ ├── boom@4.3.1 │ │ │ │ ├─┬ cryptiles@3.1.2 │ │ │ │ │ └── boom@5.2.0 │ │ │ │ ├── hoek@4.2.1 │ │ │ │ └── sntp@2.1.0 │ │ │ ├── performance-now@2.1.0 │ │ │ ├── tough-cookie@2.3.4 │ │ │ └── tunnel-agent@0.6.0 │ │ ├── lodash.noop@3.0.1 │ │ ├─┬ request@2.74.0 │ │ │ ├─┬ bl@1.1.2 │ │ │ │ └─┬ readable-stream@2.0.6 │ │ │ │ ├── process-nextick-args@1.0.7 │ │ │ │ └── string_decoder@0.10.31 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ └── assert-plus@0.2.0 │ │ │ ├── node-uuid@1.4.8 │ │ │ ├── qs@6.2.3 │ │ │ └── tough-cookie@2.3.4 │ │ └── string-template@0.2.1 │ ├─┬ request@2.69.0 │ │ ├── aws-sign2@0.6.0 │ │ ├── aws4@1.7.0 │ │ ├─┬ bl@1.0.3 │ │ │ └─┬ readable-stream@2.0.6 │ │ │ ├── process-nextick-args@1.0.7 │ │ │ └── string_decoder@0.10.31 │ │ ├── caseless@0.11.0 │ │ ├─┬ combined-stream@1.0.6 │ │ │ └── delayed-stream@1.0.0 │ │ ├── extend@3.0.1 │ │ ├── forever-agent@0.6.1 │ │ ├─┬ form-data@1.0.1 │ │ │ └── async@2.6.0 │ │ ├─┬ har-validator@2.0.6 │ │ │ ├─┬ is-my-json-valid@2.17.2 │ │ │ │ ├── generate-function@2.0.0 │ │ │ │ ├─┬ generate-object-property@1.2.0 │ │ │ │ │ └── is-property@1.0.2 │ │ │ │ ├── is-my-ip-valid@1.0.0 │ │ │ │ └── jsonpointer@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 │ │ ├── is-typedarray@1.0.0 │ │ ├── json-stringify-safe@5.0.1 │ │ ├── node-uuid@1.4.8 │ │ ├── oauth-sign@0.8.2 │ │ ├── qs@6.0.4 │ │ ├── stringstream@0.0.5 │ │ ├── tough-cookie@2.2.2 │ │ └── tunnel-agent@0.4.3 │ └── string-template@1.0.0 ├─┬ grunt@0.4.5 │ ├── async@0.1.22 │ ├── coffee-script@1.3.3 │ ├── colors@0.6.2 │ ├── dateformat@1.0.2-1.2.3 │ ├── eventemitter2@0.4.14 │ ├── exit@0.1.2 │ ├─┬ findup-sync@0.1.3 │ │ ├─┬ glob@3.2.11 │ │ │ └─┬ minimatch@0.3.0 │ │ │ └── lru-cache@2.7.3 │ │ └── lodash@2.4.2 │ ├── getobject@0.1.0 │ ├─┬ glob@3.1.21 │ │ ├── graceful-fs@1.2.3 │ │ └── inherits@1.0.2 │ ├─┬ grunt-legacy-log@0.1.3 │ │ ├── colors@0.6.2 │ │ ├─┬ grunt-legacy-log-utils@0.1.1 │ │ │ ├── colors@0.6.2 │ │ │ ├── lodash@2.4.2 │ │ │ └── underscore.string@2.3.3 │ │ ├── lodash@2.4.2 │ │ └── underscore.string@2.3.3 │ ├─┬ grunt-legacy-util@0.2.0 │ │ ├── async@0.1.22 │ │ └── lodash@0.9.2 │ ├── hooker@0.2.3 │ ├── iconv-lite@0.2.11 │ ├─┬ js-yaml@2.0.5 │ │ ├─┬ argparse@0.1.16 │ │ │ ├── underscore@1.7.0 │ │ │ └── underscore.string@2.4.0 │ │ └── esprima@1.0.4 │ ├── lodash@0.9.2 │ ├─┬ minimatch@0.2.14 │ │ ├── lru-cache@2.7.3 │ │ └── sigmund@1.0.1 │ ├─┬ nopt@1.0.10 │ │ └── abbrev@1.1.1 │ ├── rimraf@2.2.8 │ ├── underscore.string@2.2.1 │ └── which@1.0.9 ├── grunt-apidoc@0.11.0 ├─┬ grunt-contrib-jshint@1.1.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 ├─┬ grunt-contrib-nodeunit@1.0.0 │ └─┬ nodeunit@0.9.5 │ └─┬ tap@7.1.2 │ ├── bluebird@3.5.1 │ ├── clean-yaml-object@0.1.0 │ ├── color-support@1.1.3 │ ├─┬ coveralls@2.13.3 │ │ ├─┬ js-yaml@3.6.1 │ │ │ └── esprima@2.7.3 │ │ ├── lcov-parse@0.0.10 │ │ ├── log-driver@1.2.5 │ │ ├── minimist@1.2.0 │ │ └─┬ request@2.79.0 │ │ ├── form-data@2.1.4 │ │ ├─┬ http-signature@1.1.1 │ │ │ └── assert-plus@0.2.0 │ │ ├── qs@6.3.2 │ │ └── tough-cookie@2.3.4 │ ├── deeper@2.1.0 │ ├─┬ foreground-child@1.5.6 │ │ └─┬ cross-spawn@4.0.2 │ │ └─┬ which@1.3.0 │ │ └── isexe@2.0.0 │ ├── glob@7.1.2 │ ├── isexe@1.1.2 │ ├─┬ js-yaml@3.11.0 │ │ └── esprima@4.0.0 │ ├─┬ nyc@7.1.0 │ │ ├── arrify@1.0.1 │ │ ├─┬ caching-transform@1.0.1 │ │ │ └─┬ write-file-atomic@1.1.4 │ │ │ ├── graceful-fs@4.1.4 │ │ │ ├── imurmurhash@0.1.4 │ │ │ └── slide@1.1.6 │ │ ├── convert-source-map@1.3.0 │ │ ├─┬ default-require-extensions@1.0.0 │ │ │ └─┬ strip-bom@2.0.0 │ │ │ └── is-utf8@0.2.1 │ │ ├─┬ find-cache-dir@0.1.1 │ │ │ ├── commondir@1.0.1 │ │ │ └── pkg-dir@1.0.0 │ │ ├─┬ find-up@1.1.2 │ │ │ ├── path-exists@2.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ ├─┬ foreground-child@1.5.3 │ │ │ └─┬ cross-spawn@4.0.0 │ │ │ └─┬ lru-cache@4.0.1 │ │ │ ├── pseudomap@1.0.2 │ │ │ └── yallist@2.0.0 │ │ ├─┬ glob@7.0.5 │ │ │ ├── fs.realpath@1.0.0 │ │ │ ├─┬ inflight@1.0.5 │ │ │ │ └── wrappy@1.0.2 │ │ │ ├── inherits@2.0.1 │ │ │ ├─┬ minimatch@3.0.2 │ │ │ │ └─┬ brace-expansion@1.1.6 │ │ │ │ ├── balanced-match@0.4.2 │ │ │ │ └── concat-map@0.0.1 │ │ │ ├── once@1.3.3 │ │ │ └── path-is-absolute@1.0.0 │ │ ├── istanbul-lib-coverage@1.0.0-alpha.4 │ │ ├─┬ istanbul-lib-hook@1.0.0-alpha.4 │ │ │ └── append-transform@0.3.0 │ │ ├─┬ istanbul-lib-instrument@1.1.0-alpha.4 │ │ │ ├─┬ babel-generator@6.11.4 │ │ │ │ ├── babel-messages@6.8.0 │ │ │ │ ├─┬ babel-runtime@6.9.2 │ │ │ │ │ ├── core-js@2.4.1 │ │ │ │ │ └── regenerator-runtime@0.9.5 │ │ │ │ ├─┬ detect-indent@3.0.1 │ │ │ │ │ ├── get-stdin@4.0.1 │ │ │ │ │ ├── minimist@1.2.0 │ │ │ │ │ └─┬ repeating@1.1.3 │ │ │ │ │ └── is-finite@1.0.1 │ │ │ │ └── lodash@4.13.1 │ │ │ ├── babel-template@6.9.0 │ │ │ ├─┬ babel-traverse@6.11.4 │ │ │ │ ├─┬ babel-code-frame@6.11.0 │ │ │ │ │ ├─┬ 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 │ │ │ │ │ └── js-tokens@2.0.0 │ │ │ │ ├─┬ debug@2.2.0 │ │ │ │ │ └── ms@0.7.1 │ │ │ │ ├── globals@8.18.0 │ │ │ │ └─┬ invariant@2.2.1 │ │ │ │ └─┬ loose-envify@1.2.0 │ │ │ │ └── js-tokens@1.0.3 │ │ │ ├─┬ babel-types@6.11.1 │ │ │ │ ├── esutils@2.0.2 │ │ │ │ └── to-fast-properties@1.0.2 │ │ │ └── babylon@6.8.4 │ │ ├─┬ istanbul-lib-report@1.0.0-alpha.3 │ │ │ ├── async@1.5.2 │ │ │ ├── path-parse@1.0.5 │ │ │ └─┬ supports-color@3.1.2 │ │ │ └── has-flag@1.0.0 │ │ ├─┬ istanbul-lib-source-maps@1.0.0-alpha.10 │ │ │ └── source-map@0.5.6 │ │ ├─┬ istanbul-reports@1.0.0-alpha.8 │ │ │ └─┬ handlebars@4.0.5 │ │ │ ├─┬ optimist@0.6.1 │ │ │ │ └── wordwrap@0.0.3 │ │ │ ├─┬ source-map@0.4.4 │ │ │ │ └── amdefine@1.0.0 │ │ │ └─┬ uglify-js@2.7.0 │ │ │ ├── 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 │ │ │ │ │ └── lazy-cache@1.0.4 │ │ │ │ ├── right-align@0.1.3 │ │ │ │ └── wordwrap@0.0.2 │ │ │ └── window-size@0.1.0 │ │ ├─┬ md5-hex@1.3.0 │ │ │ └── md5-o-matic@0.1.1 │ │ ├─┬ micromatch@2.3.11 │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ └── arr-flatten@1.0.1 │ │ │ ├── array-unique@0.2.1 │ │ │ ├─┬ braces@1.8.5 │ │ │ │ ├─┬ expand-range@1.8.2 │ │ │ │ │ └─┬ fill-range@2.2.3 │ │ │ │ │ ├── is-number@2.1.0 │ │ │ │ │ ├─┬ isobject@2.1.0 │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ ├── randomatic@1.1.5 │ │ │ │ │ └── repeat-string@1.5.4 │ │ │ │ ├── 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 │ │ │ ├── is-extglob@1.0.0 │ │ │ ├── is-glob@2.0.1 │ │ │ ├─┬ kind-of@3.0.3 │ │ │ │ └── is-buffer@1.1.3 │ │ │ ├── normalize-path@2.0.1 │ │ │ ├─┬ object.omit@2.0.0 │ │ │ │ ├─┬ for-own@0.1.4 │ │ │ │ │ └── for-in@0.1.5 │ │ │ │ └── is-extendable@0.1.1 │ │ │ ├─┬ parse-glob@3.0.4 │ │ │ │ ├─┬ glob-base@0.3.0 │ │ │ │ │ └── glob-parent@2.0.0 │ │ │ │ └── is-dotfile@1.0.2 │ │ │ └─┬ regex-cache@0.4.3 │ │ │ ├── is-equal-shallow@0.1.3 │ │ │ └── is-primitive@2.0.0 │ │ ├─┬ mkdirp@0.5.1 │ │ │ └── minimist@0.0.8 │ │ ├── pkg-up@1.0.0 │ │ ├── resolve-from@2.0.0 │ │ ├── rimraf@2.5.4 │ │ ├── signal-exit@3.0.0 │ │ ├─┬ spawn-wrap@1.2.4 │ │ │ ├── os-homedir@1.0.1 │ │ │ ├── signal-exit@2.1.2 │ │ │ └─┬ which@1.2.10 │ │ │ └── isexe@1.1.2 │ │ ├─┬ test-exclude@1.1.0 │ │ │ ├─┬ lodash.assign@4.0.9 │ │ │ │ ├── lodash.keys@4.0.7 │ │ │ │ └── lodash.rest@4.0.3 │ │ │ ├─┬ read-pkg-up@1.0.1 │ │ │ │ └─┬ read-pkg@1.1.0 │ │ │ │ ├─┬ load-json-file@1.1.0 │ │ │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ │ │ └─┬ error-ex@1.3.0 │ │ │ │ │ │ └── is-arrayish@0.2.1 │ │ │ │ │ └── pify@2.3.0 │ │ │ │ ├─┬ normalize-package-data@2.3.5 │ │ │ │ │ ├── hosted-git-info@2.1.5 │ │ │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ │ │ └── builtin-modules@1.1.1 │ │ │ │ │ ├── semver@5.3.0 │ │ │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ │ │ └── spdx-license-ids@1.2.1 │ │ │ │ │ └─┬ spdx-expression-parse@1.0.2 │ │ │ │ │ └── spdx-exceptions@1.0.5 │ │ │ │ └── path-type@1.1.0 │ │ │ └── require-main-filename@1.0.1 │ │ ├─┬ yargs@4.8.1 │ │ │ ├─┬ cliui@3.2.0 │ │ │ │ └── wrap-ansi@2.0.0 │ │ │ ├── decamelize@1.2.0 │ │ │ ├── get-caller-file@1.0.1 │ │ │ ├─┬ os-locale@1.4.0 │ │ │ │ └─┬ lcid@1.0.0 │ │ │ │ └── invert-kv@1.0.0 │ │ │ ├── require-directory@2.1.1 │ │ │ ├── set-blocking@2.0.0 │ │ │ ├─┬ string-width@1.0.1 │ │ │ │ ├─┬ code-point-at@1.0.0 │ │ │ │ │ └── number-is-nan@1.0.0 │ │ │ │ ├── is-fullwidth-code-point@1.0.0 │ │ │ │ └─┬ strip-ansi@3.0.1 │ │ │ │ └── ansi-regex@2.0.0 │ │ │ ├── which-module@1.0.0 │ │ │ ├── window-size@0.2.0 │ │ │ └── y18n@3.2.1 │ │ └─┬ yargs-parser@2.4.1 │ │ └── camelcase@3.0.0 │ ├── only-shallow@1.2.0 │ ├── opener@1.4.3 │ ├── signal-exit@3.0.2 │ ├── stack-utils@0.4.0 │ ├─┬ tap-mocha-reporter@2.0.1 │ │ ├── diff@1.4.0 │ │ ├── glob@7.1.2 │ │ ├─┬ js-yaml@3.11.0 │ │ │ └── esprima@4.0.0 │ │ └── unicode-length@1.0.3 │ ├─┬ tap-parser@2.2.3 │ │ ├── events-to-array@1.1.2 │ │ └─┬ js-yaml@3.11.0 │ │ └── esprima@4.0.0 │ └── tmatch@2.0.1 ├─┬ grunt-contrib-uglify@3.3.0 │ ├─┬ maxmin@1.1.0 │ │ ├─┬ figures@1.7.0 │ │ │ └── object-assign@4.1.1 │ │ ├─┬ gzip-size@1.0.0 │ │ │ ├─┬ browserify-zlib@0.1.4 │ │ │ │ └── pako@0.2.9 │ │ │ └─┬ concat-stream@1.4.11 │ │ │ ├─┬ readable-stream@1.1.14 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ └── string_decoder@0.10.31 │ │ │ └── typedarray@0.0.6 │ │ └─┬ pretty-bytes@1.0.4 │ │ ├── get-stdin@4.0.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 │ │ ├── map-obj@1.0.1 │ │ ├── minimist@1.2.0 │ │ ├─┬ normalize-package-data@2.4.0 │ │ │ ├── hosted-git-info@2.6.0 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.3 │ │ │ ├─┬ spdx-correct@3.0.0 │ │ │ │ └── spdx-license-ids@3.0.0 │ │ │ └─┬ spdx-expression-parse@3.0.0 │ │ │ └── spdx-exceptions@2.1.0 │ │ ├── object-assign@4.1.1 │ │ ├─┬ 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 │ │ │ │ │ └─┬ error-ex@1.3.1 │ │ │ │ │ └── is-arrayish@0.2.1 │ │ │ │ ├── pify@2.3.0 │ │ │ │ └── strip-bom@2.0.0 │ │ │ └── path-type@1.1.0 │ │ ├─┬ redent@1.0.0 │ │ │ ├─┬ indent-string@2.1.0 │ │ │ │ └── repeating@2.0.1 │ │ │ └── strip-indent@1.0.1 │ │ └── trim-newlines@1.0.0 │ ├─┬ uglify-js@3.3.20 │ │ ├── commander@2.15.1 │ │ └── source-map@0.6.1 │ └── uri-path@1.0.0 ├─┬ grunt-contrib-watch@1.0.0 │ ├─┬ gaze@1.1.2 │ │ └─┬ globule@1.2.0 │ │ └── glob@7.1.2 │ ├── lodash@3.10.1 │ └─┬ tiny-lr@0.2.1 │ ├─┬ body-parser@1.14.2 │ │ ├── bytes@2.2.0 │ │ ├── http-errors@1.3.1 │ │ ├── iconv-lite@0.4.13 │ │ ├── qs@5.2.0 │ │ └─┬ raw-body@2.1.7 │ │ └── bytes@2.4.0 │ ├─┬ debug@2.2.0 │ │ └── ms@0.7.1 │ ├─┬ faye-websocket@0.10.0 │ │ └─┬ websocket-driver@0.7.0 │ │ ├── http-parser-js@0.4.11 │ │ └── websocket-extensions@0.1.3 │ ├── livereload-js@2.3.0 │ └── qs@5.1.0 ├─┬ grunt-ec2@0.9.2 │ ├── async@0.2.10 │ ├─┬ aws-sdk@2.0.31 │ │ ├─┬ xml2js@0.2.6 │ │ │ └── sax@0.4.2 │ │ └── xmlbuilder@0.4.2 │ ├─┬ chalk@0.4.0 │ │ ├── ansi-styles@1.0.0 │ │ ├── has-color@0.1.7 │ │ └── strip-ansi@0.1.1 │ ├─┬ fs-extra@0.8.1 │ │ ├── jsonfile@1.1.1 │ │ ├── ncp@0.4.2 │ │ └── rimraf@2.2.8 │ ├── lodash@2.4.2 │ ├── mkdirp@0.3.5 │ ├── moment@2.5.1 │ ├── mustache@0.8.2 │ └─┬ ssh2@0.2.25 │ ├── asn1@0.1.11 │ └── streamsearch@0.1.2 ├── grunt-git-deploy@0.3.1 ├─┬ grunt-rsync@2.0.1 │ └─┬ rsyncwrapper@2.0.1 │ └── lodash@4.15.0 ├─┬ gulp@3.9.1 │ ├── archy@1.0.0 │ ├── deprecated@0.0.1 │ ├─┬ gulp-util@3.0.8 │ │ ├── array-differ@1.0.0 │ │ ├── array-uniq@1.0.3 │ │ ├── beeper@1.1.1 │ │ ├── dateformat@2.2.0 │ │ ├─┬ fancy-log@1.3.2 │ │ │ ├─┬ ansi-gray@0.1.1 │ │ │ │ └── ansi-wrap@0.1.0 │ │ │ └── time-stamp@1.1.0 │ │ ├── lodash._reescape@3.0.0 │ │ ├── lodash._reevaluate@3.0.0 │ │ ├── lodash._reinterpolate@3.0.0 │ │ ├─┬ lodash.template@3.6.2 │ │ │ ├── lodash._basecopy@3.0.1 │ │ │ ├── lodash._basetostring@3.0.1 │ │ │ ├── lodash._basevalues@3.0.0 │ │ │ ├── lodash._isiterateecall@3.0.9 │ │ │ ├─┬ lodash.escape@3.2.0 │ │ │ │ └── lodash._root@3.0.1 │ │ │ ├─┬ lodash.keys@3.1.2 │ │ │ │ ├── lodash._getnative@3.9.1 │ │ │ │ ├── lodash.isarguments@3.1.0 │ │ │ │ └── lodash.isarray@3.0.4 │ │ │ ├── lodash.restparam@3.6.1 │ │ │ └── lodash.templatesettings@3.1.1 │ │ ├── minimist@1.2.0 │ │ ├─┬ multipipe@0.1.2 │ │ │ └─┬ duplexer2@0.0.2 │ │ │ └─┬ readable-stream@1.1.14 │ │ │ ├── isarray@0.0.1 │ │ │ └── string_decoder@0.10.31 │ │ ├── object-assign@3.0.0 │ │ ├── replace-ext@0.0.1 │ │ └─┬ vinyl@0.5.3 │ │ └── clone-stats@0.0.1 │ ├── interpret@1.1.0 │ ├─┬ liftoff@2.5.0 │ │ ├─┬ findup-sync@2.0.0 │ │ │ ├── detect-file@1.0.0 │ │ │ ├─┬ is-glob@3.1.0 │ │ │ │ └── is-extglob@2.1.1 │ │ │ ├─┬ micromatch@3.1.10 │ │ │ │ ├── arr-diff@4.0.0 │ │ │ │ ├── array-unique@0.3.2 │ │ │ │ ├─┬ braces@2.3.2 │ │ │ │ │ ├── arr-flatten@1.1.0 │ │ │ │ │ ├─┬ extend-shallow@2.0.1 │ │ │ │ │ │ └── is-extendable@0.1.1 │ │ │ │ │ ├─┬ fill-range@4.0.0 │ │ │ │ │ │ ├── extend-shallow@2.0.1 │ │ │ │ │ │ ├─┬ is-number@3.0.0 │ │ │ │ │ │ │ └─┬ kind-of@3.2.2 │ │ │ │ │ │ │ └── is-buffer@1.1.6 │ │ │ │ │ │ ├── repeat-string@1.6.1 │ │ │ │ │ │ └── to-regex-range@2.1.1 │ │ │ │ │ ├── repeat-element@1.1.2 │ │ │ │ │ ├─┬ 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 │ │ │ │ ├─┬ 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 │ │ │ │ ├── kind-of@6.0.2 │ │ │ │ ├─┬ nanomatch@1.2.9 │ │ │ │ │ └─┬ is-odd@2.0.0 │ │ │ │ │ └── is-number@4.0.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@0.5.7 │ │ │ │ │ ├─┬ source-map-resolve@0.5.1 │ │ │ │ │ │ ├── atob@2.1.0 │ │ │ │ │ │ ├── decode-uri-component@0.2.0 │ │ │ │ │ │ ├── resolve-url@0.2.1 │ │ │ │ │ │ ├── source-map-url@0.4.0 │ │ │ │ │ │ └── urix@0.1.0 │ │ │ │ │ └── use@3.1.0 │ │ │ │ └── to-regex@3.0.2 │ │ │ └─┬ resolve-dir@1.0.1 │ │ │ └─┬ global-modules@1.0.0 │ │ │ └─┬ global-prefix@1.0.2 │ │ │ ├── ini@1.3.5 │ │ │ └─┬ which@1.3.0 │ │ │ └── isexe@2.0.0 │ │ ├─┬ fined@1.1.0 │ │ │ ├─┬ expand-tilde@2.0.2 │ │ │ │ └─┬ homedir-polyfill@1.0.1 │ │ │ │ └── parse-passwd@1.0.0 │ │ │ ├─┬ object.defaults@1.1.0 │ │ │ │ ├── array-each@1.0.1 │ │ │ │ └── array-slice@1.1.0 │ │ │ ├── object.pick@1.3.0 │ │ │ └─┬ parse-filepath@1.0.2 │ │ │ ├─┬ is-absolute@1.0.0 │ │ │ │ ├─┬ is-relative@1.0.0 │ │ │ │ │ └─┬ is-unc-path@1.0.0 │ │ │ │ │ └── unc-path-regex@0.1.2 │ │ │ │ └── is-windows@1.0.2 │ │ │ ├── map-cache@0.2.2 │ │ │ └─┬ path-root@0.1.1 │ │ │ └── path-root-regex@0.1.2 │ │ ├── flagged-respawn@1.0.0 │ │ ├─┬ is-plain-object@2.0.4 │ │ │ └── isobject@3.0.1 │ │ ├─┬ object.map@1.0.1 │ │ │ ├─┬ for-own@1.0.0 │ │ │ │ └── for-in@1.0.2 │ │ │ └── make-iterator@1.0.1 │ │ ├── rechoir@0.6.2 │ │ └─┬ resolve@1.7.0 │ │ └── path-parse@1.0.5 │ ├── minimist@1.2.0 │ ├─┬ orchestrator@0.3.8 │ │ ├─┬ end-of-stream@0.1.5 │ │ │ └── once@1.3.3 │ │ ├── sequencify@0.0.7 │ │ └── stream-consume@0.1.1 │ ├── pretty-hrtime@1.0.3 │ ├── semver@4.3.6 │ ├─┬ tildify@1.2.0 │ │ └── os-homedir@1.0.1 │ ├─┬ v8flags@2.1.1 │ │ └── user-home@1.1.1 │ └─┬ vinyl-fs@0.3.14 │ ├── defaults@1.0.3 │ ├─┬ glob-stream@3.1.18 │ │ ├── glob@4.5.3 │ │ ├─┬ glob2base@0.0.12 │ │ │ └── find-index@0.1.1 │ │ ├── minimatch@2.0.10 │ │ ├── ordered-read-streams@0.1.0 │ │ ├─┬ through2@0.6.5 │ │ │ └─┬ readable-stream@1.0.34 │ │ │ ├── isarray@0.0.1 │ │ │ └── string_decoder@0.10.31 │ │ └── unique-stream@1.0.0 │ ├─┬ glob-watcher@0.0.6 │ │ └─┬ gaze@0.5.2 │ │ └─┬ globule@0.1.0 │ │ ├─┬ glob@3.1.21 │ │ │ ├── graceful-fs@1.2.3 │ │ │ └── inherits@1.0.2 │ │ ├── lodash@1.0.2 │ │ └─┬ minimatch@0.2.14 │ │ └── lru-cache@2.7.3 │ ├─┬ graceful-fs@3.0.11 │ │ └── natives@1.1.3 │ ├── mkdirp@0.5.1 │ ├─┬ strip-bom@1.0.0 │ │ ├── first-chunk-stream@1.0.0 │ │ └── is-utf8@0.2.1 │ ├─┬ through2@0.6.5 │ │ └─┬ readable-stream@1.0.34 │ │ ├── isarray@0.0.1 │ │ └── string_decoder@0.10.31 │ └─┬ vinyl@0.4.6 │ └── clone@0.2.0 ├─┬ gulp-add-src@0.2.0 │ ├─┬ event-stream@3.1.7 │ │ ├── duplexer@0.1.1 │ │ ├── from@0.1.7 │ │ ├── map-stream@0.1.0 │ │ ├── pause-stream@0.0.11 │ │ ├── split@0.2.10 │ │ ├── stream-combiner@0.0.4 │ │ └── through@2.3.8 │ ├─┬ streamqueue@0.1.3 │ │ └─┬ readable-stream@1.0.34 │ │ ├── isarray@0.0.1 │ │ └── string_decoder@0.10.31 │ └─┬ through2@0.4.2 │ ├─┬ readable-stream@1.0.34 │ │ ├── isarray@0.0.1 │ │ └── string_decoder@0.10.31 │ └─┬ xtend@2.1.2 │ └── object-keys@0.4.0 ├─┬ gulp-base64@0.1.3 │ ├── async@0.2.10 │ ├── buffers@0.1.1 │ ├── extend@1.2.1 │ ├── mime@1.2.11 │ ├─┬ request@2.33.0 │ │ ├── aws-sign2@0.5.0 │ │ ├── forever-agent@0.5.2 │ │ ├─┬ form-data@0.1.4 │ │ │ ├── async@0.9.2 │ │ │ └─┬ combined-stream@0.0.7 │ │ │ └── delayed-stream@0.0.5 │ │ ├─┬ hawk@1.0.0 │ │ │ ├── boom@0.4.2 │ │ │ ├── cryptiles@0.2.2 │ │ │ ├── hoek@0.9.1 │ │ │ └── sntp@0.2.4 │ │ ├─┬ http-signature@0.10.1 │ │ │ ├── asn1@0.1.11 │ │ │ ├── assert-plus@0.1.5 │ │ │ └── ctype@0.5.3 │ │ ├── node-uuid@1.4.8 │ │ ├── oauth-sign@0.3.0 │ │ ├── qs@0.6.6 │ │ └── tunnel-agent@0.3.0 │ └─┬ through2@0.4.2 │ ├─┬ readable-stream@1.0.34 │ │ ├── isarray@0.0.1 │ │ └── string_decoder@0.10.31 │ └── xtend@2.1.2 ├── gulp-cat@0.3.3 ├─┬ gulp-concat@2.6.1 │ ├── concat-with-sourcemaps@1.0.5 │ ├─┬ through2@2.0.3 │ │ └── xtend@4.0.1 │ └─┬ vinyl@2.1.0 │ ├── clone@2.1.2 │ ├── clone-buffer@1.0.0 │ ├── clone-stats@1.0.0 │ ├── cloneable-readable@1.1.2 │ ├── remove-trailing-separator@1.1.0 │ └── replace-ext@1.0.0 ├─┬ gulp-minify-css@1.2.4 │ ├─┬ clean-css@3.4.28 │ │ ├─┬ commander@2.8.1 │ │ │ └── graceful-readlink@1.0.1 │ │ └─┬ source-map@0.4.4 │ │ └── amdefine@1.0.1 │ ├── object-assign@4.1.1 │ ├─┬ readable-stream@2.3.6 │ │ ├── core-util-is@1.0.2 │ │ ├── inherits@2.0.3 │ │ ├── isarray@1.0.0 │ │ ├── process-nextick-args@2.0.0 │ │ ├── string_decoder@1.1.1 │ │ └── util-deprecate@1.0.2 │ ├─┬ vinyl-bufferstream@1.0.1 │ │ └─┬ bufferstreams@1.0.1 │ │ └─┬ readable-stream@1.1.14 │ │ ├── isarray@0.0.1 │ │ └── string_decoder@0.10.31 │ └─┬ vinyl-sourcemaps-apply@0.2.1 │ └── source-map@0.5.7 ├─┬ gulp-remote-src@0.4.3 │ ├─┬ event-stream@3.3.4 │ │ └── split@0.3.3 │ ├─┬ node.extend@1.1.6 │ │ └── is@3.2.1 │ ├─┬ request@2.79.0 │ │ ├─┬ form-data@2.1.4 │ │ │ └── asynckit@0.4.0 │ │ ├─┬ http-signature@1.1.1 │ │ │ └── assert-plus@0.2.0 │ │ ├── qs@6.3.2 │ │ └─┬ tough-cookie@2.3.4 │ │ └── punycode@1.4.1 │ └─┬ vinyl@2.0.2 │ ├── clone@1.0.4 │ ├── clone-stats@1.0.0 │ ├── is-stream@1.1.0 │ └── replace-ext@1.0.0 ├─┬ gulp-sequence@1.0.0 │ └── thunks@4.9.2 ├─┬ gulp-uglify@3.0.0 │ ├─┬ gulplog@1.0.0 │ │ └── glogg@1.0.1 │ ├─┬ has-gulplog@0.1.0 │ │ └── sparkles@1.0.0 │ └─┬ make-error-cause@1.2.2 │ └── make-error@1.3.4 ├─┬ jshint@2.9.5 │ ├─┬ cli@1.0.1 │ │ └── glob@7.1.2 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├─┬ htmlparser2@3.8.3 │ │ ├── domelementtype@1.3.0 │ │ ├── domhandler@2.3.0 │ │ ├─┬ domutils@1.5.1 │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ └── domelementtype@1.1.3 │ │ ├── entities@1.0.0 │ │ └─┬ readable-stream@1.1.14 │ │ ├── isarray@0.0.1 │ │ └── string_decoder@0.10.31 │ ├── lodash@3.7.0 │ ├─┬ minimatch@3.0.4 │ │ └─┬ brace-expansion@1.1.11 │ │ ├── balanced-match@1.0.0 │ │ └── concat-map@0.0.1 │ ├── shelljs@0.3.0 │ └── strip-json-comments@1.0.4 ├── log@1.4.0 extraneous ├─┬ node-static@0.7.10 │ ├── colors@1.2.1 │ ├── mime@1.6.0 │ └─┬ optimist@0.6.1 │ ├── minimist@0.0.8 │ └── wordwrap@0.0.3 ├─┬ restify@7.1.0 │ ├── assert-plus@1.0.0 │ ├─┬ bunyan@1.8.12 │ │ ├── moment@2.22.0 │ │ ├─┬ mv@2.1.1 │ │ │ ├── ncp@2.0.0 │ │ │ └─┬ rimraf@2.4.5 │ │ │ └── glob@6.0.4 │ │ └── safe-json-stringify@1.1.0 │ ├─┬ csv@1.2.1 │ │ ├── csv-generate@1.1.2 │ │ ├── csv-parse@1.3.3 │ │ ├─┬ csv-stringify@1.1.2 │ │ │ └── lodash.get@4.4.2 │ │ └── stream-transform@0.2.2 │ ├─┬ dtrace-provider@0.8.6 │ │ └── nan@2.10.0 │ ├── escape-regexp-component@1.0.2 │ ├── ewma@2.0.1 │ ├─┬ find-my-way@1.11.1 │ │ └── fast-decode-uri-component@1.0.0 │ ├── formidable@1.2.1 │ ├─┬ http-signature@1.2.0 │ │ ├─┬ jsprim@1.4.1 │ │ │ └── json-schema@0.2.3 │ │ └─┬ sshpk@1.14.1 │ │ ├── asn1@0.2.3 │ │ ├── bcrypt-pbkdf@1.0.1 │ │ ├── dashdash@1.14.1 │ │ ├── ecc-jsbn@0.1.1 │ │ ├── getpass@0.1.7 │ │ ├── jsbn@0.1.1 │ │ └── tweetnacl@0.14.5 │ ├─┬ lru-cache@4.1.2 │ │ ├── pseudomap@1.0.2 │ │ └── yallist@2.1.2 │ ├── negotiator@0.6.1 │ ├─┬ once@1.4.0 │ │ └── wrappy@1.0.2 │ ├── pidusage@1.2.0 │ ├── restify-errors@5.0.0 │ ├── semver@5.5.0 │ ├─┬ spdy@3.4.7 │ │ ├── handle-thing@1.2.5 │ │ ├── http-deceiver@1.2.7 │ │ ├── select-hose@2.0.0 │ │ └─┬ spdy-transport@2.1.0 │ │ ├── detect-node@2.0.3 │ │ ├── hpack.js@2.1.6 │ │ ├── obuf@1.1.2 │ │ └─┬ wbuf@1.7.3 │ │ └── minimalistic-assert@1.0.0 │ ├── uuid@3.2.1 │ ├─┬ vasync@1.6.4 │ │ └─┬ verror@1.6.0 │ │ └── extsprintf@1.2.0 │ └─┬ verror@1.10.0 │ └── extsprintf@1.3.0 ├─┬ socket.io@2.1.0 │ ├── debug@3.1.0 │ ├─┬ engine.io@3.2.0 │ │ ├── base64id@1.0.0 │ │ ├── debug@3.1.0 │ │ ├─┬ engine.io-parser@2.1.2 │ │ │ ├── after@0.8.2 │ │ │ ├── arraybuffer.slice@0.0.7 │ │ │ └── blob@0.0.4 │ │ └─┬ ws@3.3.3 │ │ ├── async-limiter@1.0.0 │ │ └── ultron@1.1.1 │ ├─┬ has-binary2@1.0.2 │ │ └── isarray@2.0.1 │ ├── socket.io-adapter@1.1.1 │ ├─┬ socket.io-client@2.1.0 │ │ ├── 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 ├── supervisor@0.10.0 └── webrtcdevelopment@1.6.449
Debug Tip
socket.io trasnport problems { "code": 0, "message": "Transport unknown" }
solution : npm uninstall socket.io npm install socket.io@0.9