dashpay / js-dp-services-ctl

Control Dash Platform services using JavaScript and Docker
MIT License
5 stars 6 forks source link

ReferenceError : before is not defined #118

Open cloudwheels opened 4 years ago

cloudwheels commented 4 years ago

The issue identified in #18 and fixed in #19 does not appear to be resolved in the npm package @dashevo/dp-services-ctl: ??latest package not pushed to registry?

const {startDashCore}  = require('@dashevo/dp-services-ctl');
ReferenceError: before is not defined
    at Object.<anonymous> (/home/nigel/service-ctl/node_modules/@dashevo/dp-services-ctl/lib/mocha/startHelperWithMochaHooksFactory.js:3:1)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
    at Object.<anonymous> (/home/nigel/service-ctl/node_modules/@dashevo/dp-services-ctl/lib/mocha/startDashCore.js:1:42)
    at Module._compile (internal/modules/cjs/loader.js:778:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)
    at Module.require (internal/modules/cjs/loader.js:692:17)
    at require (internal/modules/cjs/helpers.js:25:18)
shumkov commented 4 years ago

Hello!

What version do you use?

cloudwheels commented 4 years ago

Hi!

I just installed default, i.e. npm install @dashevo/dp-services-ctl

I got 0.10.0

npm list

service-ctl@1.0.0 /home/nigel/service-ctl
└─┬ @dashevo/dp-services-ctl@0.10.0
  ├─┬ @dashevo/dapi-client@0.8.0
  │ ├─┬ @babel/polyfill@7.8.7
  │ │ ├── core-js@2.6.11
  │ │ └── regenerator-runtime@0.13.4
  │ ├─┬ @dashevo/dapi-grpc@0.12.0
  │ │ ├── @dashevo/grpc-common@0.2.0 deduped
  │ │ ├── google-protobuf@3.11.4 deduped
  │ │ ├── grpc@1.24.2 deduped
  │ │ ├── grpc-web@1.0.7
  │ │ └── protobufjs@6.8.8 deduped
  │ ├─┬ @dashevo/dash-spv@1.1.6
  │ │ ├── @dashevo/dark-gravity-wave@1.1.1
  │ │ ├─┬ @dashevo/dash-util@2.0.3
  │ │ │ ├── bn.js@4.11.8 deduped
  │ │ │ └── buffer-reverse@1.0.1
  │ │ ├─┬ @dashevo/dashcore-lib@0.17.12
  │ │ │ ├── @dashevo/x11-hash-js@1.0.2 deduped
  │ │ │ ├── bloom-filter@0.2.0 deduped
  │ │ │ ├── bn.js@4.11.8 deduped
  │ │ │ ├── bs58@4.0.1 deduped
  │ │ │ ├── elliptic@6.4.1 deduped
  │ │ │ ├── inherits@2.0.1 deduped
  │ │ │ ├── lodash@4.17.15 deduped
  │ │ │ └── unorm@1.6.0 deduped
  │ │ ├─┬ levelup@4.3.2
  │ │ │ ├─┬ deferred-leveldown@5.3.0
  │ │ │ │ ├─┬ abstract-leveldown@6.2.2
  │ │ │ │ │ ├── level-concat-iterator@2.0.1
  │ │ │ │ │ ├── level-supports@1.0.1 deduped
  │ │ │ │ │ └── xtend@4.0.2 deduped
  │ │ │ │ └── inherits@2.0.4
  │ │ │ ├─┬ level-errors@2.0.1
  │ │ │ │ └─┬ errno@0.1.7
  │ │ │ │   └── prr@1.0.1
  │ │ │ ├─┬ level-iterator-stream@4.0.2
  │ │ │ │ ├── inherits@2.0.4
  │ │ │ │ ├─┬ readable-stream@3.6.0
  │ │ │ │ │ ├── inherits@2.0.4
  │ │ │ │ │ ├─┬ string_decoder@1.3.0
  │ │ │ │ │ │ └── safe-buffer@5.2.0 deduped
  │ │ │ │ │ └── util-deprecate@1.0.2 deduped
  │ │ │ │ └── xtend@4.0.2 deduped
  │ │ │ ├─┬ level-supports@1.0.1
  │ │ │ │ └── xtend@4.0.2 deduped
  │ │ │ └── xtend@4.0.2 deduped
  │ │ └─┬ memdown@3.0.0
  │ │   ├─┬ abstract-leveldown@5.0.0
  │ │   │ └── xtend@4.0.2 deduped
  │ │   ├── functional-red-black-tree@1.0.1
  │ │   ├── immediate@3.2.3
  │ │   ├── inherits@2.0.1 deduped
  │ │   ├── ltgt@2.2.1
  │ │   └── safe-buffer@5.1.2
  │ ├─┬ @dashevo/dashcore-lib@0.18.0
  │ │ ├── @dashevo/x11-hash-js@1.0.2
  │ │ ├── @types/node@12.12.29
  │ │ ├── bloom-filter@0.2.0
  │ │ ├── bn.js@4.11.8
  │ │ ├─┬ bs58@4.0.1
  │ │ │ └─┬ base-x@3.0.8
  │ │ │   └── safe-buffer@5.2.0 deduped
  │ │ ├─┬ elliptic@6.4.1
  │ │ │ ├── bn.js@4.11.8 deduped
  │ │ │ ├── brorand@1.1.0
  │ │ │ ├─┬ hash.js@1.1.7
  │ │ │ │ ├── inherits@2.0.4
  │ │ │ │ └── minimalistic-assert@1.0.1 deduped
  │ │ │ ├─┬ hmac-drbg@1.0.1
  │ │ │ │ ├── hash.js@1.1.7 deduped
  │ │ │ │ ├── minimalistic-assert@1.0.1 deduped
  │ │ │ │ └── minimalistic-crypto-utils@1.0.1 deduped
  │ │ │ ├── inherits@2.0.1 deduped
  │ │ │ ├── minimalistic-assert@1.0.1
  │ │ │ └── minimalistic-crypto-utils@1.0.1
  │ │ ├── inherits@2.0.1
  │ │ ├── lodash@4.17.15 deduped
  │ │ └── unorm@1.6.0
  │ ├─┬ @dashevo/dpp@0.10.1
  │ │ ├── @dashevo/dashcore-lib@0.18.0 deduped
  │ │ ├─┬ ajv@6.12.0
  │ │ │ ├── fast-deep-equal@3.1.1
  │ │ │ ├── fast-json-stable-stringify@2.1.0
  │ │ │ ├── json-schema-traverse@0.4.1
  │ │ │ └─┬ uri-js@4.2.2
  │ │ │   └── punycode@2.1.1
  │ │ ├── bs58@4.0.1 deduped
  │ │ ├─┬ cbor@5.0.1
  │ │ │ ├── bignumber.js@9.0.0 deduped
  │ │ │ └── nofilter@1.0.3 deduped
  │ │ ├── lodash.get@4.4.2 deduped
  │ │ ├── lodash.mergewith@4.6.2
  │ │ ├── lodash.set@4.3.2
  │ │ └─┬ multihashes@0.4.15
  │ │   ├── bs58@4.0.1 deduped
  │ │   └── varint@5.0.0
  │ ├── axios@0.19.2 deduped
  │ ├─┬ cbor@5.0.1
  │ │ ├── bignumber.js@9.0.0 deduped
  │ │ └── nofilter@1.0.3 deduped
  │ ├── lodash@4.17.15 deduped
  │ └─┬ lowdb@1.0.0
  │   ├── graceful-fs@4.2.3
  │   ├── is-promise@2.1.0
  │   ├── lodash@4.17.15 deduped
  │   ├── pify@3.0.0
  │   └─┬ steno@0.4.4
  │     └── graceful-fs@4.2.3 deduped
  ├─┬ @dashevo/dashd-rpc@1.3.1
  │ ├── async@1.5.2
  │ └── bluebird@3.7.2
  ├─┬ @dashevo/drive-grpc@0.3.0
  │ ├─┬ @dashevo/grpc-common@0.2.0
  │ │ ├─┬ @grpc/proto-loader@0.5.3
  │ │ │ ├── lodash.camelcase@4.3.0 deduped
  │ │ │ └── protobufjs@6.8.8 deduped
  │ │ ├── grpc@1.24.2 deduped
  │ │ ├── grpc-health-check@1.7.0 deduped
  │ │ └── lodash.get@4.4.2 deduped
  │ ├── google-protobuf@3.11.4
  │ ├── grpc@1.24.2 deduped
  │ └─┬ protobufjs@6.8.8
  │   ├── @protobufjs/aspromise@1.1.2
  │   ├── @protobufjs/base64@1.1.2
  │   ├── @protobufjs/codegen@2.0.4
  │   ├── @protobufjs/eventemitter@1.1.0
  │   ├─┬ @protobufjs/fetch@1.1.0
  │   │ ├── @protobufjs/aspromise@1.1.2 deduped
  │   │ └── @protobufjs/inquire@1.1.0 deduped
  │   ├── @protobufjs/float@1.0.2
  │   ├── @protobufjs/inquire@1.1.0
  │   ├── @protobufjs/path@1.1.2
  │   ├── @protobufjs/pool@1.1.0
  │   ├── @protobufjs/utf8@1.1.0
  │   ├── @types/long@4.0.1
  │   ├── @types/node@10.17.17 deduped
  │   └── long@4.0.0
  ├─┬ aws-sdk@2.634.0
  │ ├─┬ buffer@4.9.1
  │ │ ├── base64-js@1.3.1
  │ │ ├── ieee754@1.1.13 deduped
  │ │ └── isarray@1.0.0
  │ ├── events@1.1.1
  │ ├── ieee754@1.1.13
  │ ├── jmespath@0.15.0
  │ ├── querystring@0.2.0
  │ ├── sax@1.2.1
  │ ├─┬ url@0.10.3
  │ │ ├── punycode@1.3.2
  │ │ └── querystring@0.2.0 deduped
  │ ├── uuid@3.3.2
  │ └─┬ xml2js@0.4.19
  │   ├── sax@1.2.1 deduped
  │   └── xmlbuilder@9.0.7
  ├─┬ axios@0.19.2
  │ └─┬ follow-redirects@1.5.10
  │   └── debug@3.1.0 deduped
  ├─┬ cbor@4.3.0
  │ ├── bignumber.js@9.0.0
  │ ├── commander@3.0.2
  │ ├─┬ json-text-sequence@0.1.1
  │ │ └── delimit-stream@0.1.0
  │ └── nofilter@1.0.3
  ├─┬ dockerode@2.5.8
  │ ├─┬ concat-stream@1.6.2
  │ │ ├── buffer-from@1.1.1
  │ │ ├── inherits@2.0.4
  │ │ ├─┬ readable-stream@2.3.7
  │ │ │ ├── core-util-is@1.0.2
  │ │ │ ├── inherits@2.0.4 deduped
  │ │ │ ├── isarray@1.0.0 deduped
  │ │ │ ├── process-nextick-args@2.0.1
  │ │ │ ├── safe-buffer@5.1.2
  │ │ │ ├─┬ string_decoder@1.1.1
  │ │ │ │ └── safe-buffer@5.1.2 deduped
  │ │ │ └── util-deprecate@1.0.2
  │ │ └── typedarray@0.0.6
  │ ├─┬ docker-modem@1.0.9
  │ │ ├─┬ debug@3.2.6
  │ │ │ └── ms@2.1.2
  │ │ ├── JSONStream@1.3.2 deduped
  │ │ ├─┬ readable-stream@1.0.34
  │ │ │ ├── core-util-is@1.0.2 deduped
  │ │ │ ├── inherits@2.0.1 deduped
  │ │ │ ├── isarray@0.0.1
  │ │ │ └── string_decoder@0.10.31
  │ │ └── split-ca@1.0.1
  │ └─┬ tar-fs@1.16.3
  │   ├── chownr@1.1.4
  │   ├─┬ mkdirp@0.5.1
  │   │ └── minimist@0.0.8
  │   ├─┬ pump@1.0.3
  │   │ ├─┬ end-of-stream@1.4.4
  │   │ │ └── once@1.4.0 deduped
  │   │ └─┬ once@1.4.0
  │   │   └── wrappy@1.0.2
  │   └─┬ tar-stream@1.6.2
  │     ├─┬ bl@1.2.2
  │     │ ├─┬ readable-stream@2.3.7
  │     │ │ ├── core-util-is@1.0.2 deduped
  │     │ │ ├── inherits@2.0.4
  │     │ │ ├── isarray@1.0.0 deduped
  │     │ │ ├── process-nextick-args@2.0.1 deduped
  │     │ │ ├── safe-buffer@5.1.2
  │     │ │ ├─┬ string_decoder@1.1.1
  │     │ │ │ └── safe-buffer@5.1.2
  │     │ │ └── util-deprecate@1.0.2 deduped
  │     │ └── safe-buffer@5.2.0 deduped
  │     ├─┬ buffer-alloc@1.2.0
  │     │ ├── buffer-alloc-unsafe@1.1.0
  │     │ └── buffer-fill@1.0.0
  │     ├── end-of-stream@1.4.4 deduped
  │     ├── fs-constants@1.0.0
  │     ├─┬ readable-stream@2.3.7
  │     │ ├── core-util-is@1.0.2 deduped
  │     │ ├── inherits@2.0.4
  │     │ ├── isarray@1.0.0 deduped
  │     │ ├── process-nextick-args@2.0.1 deduped
  │     │ ├── safe-buffer@5.1.2
  │     │ ├─┬ string_decoder@1.1.1
  │     │ │ └── safe-buffer@5.1.2 deduped
  │     │ └── util-deprecate@1.0.2 deduped
  │     ├── to-buffer@1.1.1
  │     └── xtend@4.0.2 deduped
  ├─┬ grpc@1.24.2
  │ ├─┬ @types/bytebuffer@5.0.40
  │ │ ├── @types/long@4.0.1 deduped
  │ │ └── @types/node@10.17.17 deduped
  │ ├── lodash.camelcase@4.3.0
  │ ├── lodash.clone@4.5.0
  │ ├── nan@2.14.0
  │ ├─┬ node-pre-gyp@0.14.0
  │ │ ├── detect-libc@1.0.3
  │ │ ├─┬ mkdirp@0.5.1
  │ │ │ └── minimist@0.0.8
  │ │ ├─┬ needle@2.4.0
  │ │ │ ├─┬ debug@3.2.6
  │ │ │ │ └── ms@2.1.2
  │ │ │ ├─┬ iconv-lite@0.4.24
  │ │ │ │ └── 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.4.6
  │ │ │ ├─┬ ignore-walk@3.0.3
  │ │ │ │ └── minimatch@3.0.4 deduped
  │ │ │ └── npm-bundled@1.0.6
  │ │ ├─┬ 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
  │ │ │ │   ├── inherits@2.0.4 deduped
  │ │ │ │   ├── isarray@1.0.0
  │ │ │ │   ├── process-nextick-args@2.0.1
  │ │ │ │   ├── safe-buffer@5.1.2 deduped
  │ │ │ │   ├─┬ string_decoder@1.1.1
  │ │ │ │   │ └── safe-buffer@5.1.2 deduped
  │ │ │ │   └── util-deprecate@1.0.2
  │ │ │ ├── console-control-strings@1.1.0
  │ │ │ ├─┬ gauge@2.7.4
  │ │ │ │ ├── aproba@1.2.0
  │ │ │ │ ├── console-control-strings@1.1.0 deduped
  │ │ │ │ ├── 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 deduped
  │ │ │ │ ├─┬ strip-ansi@3.0.1
  │ │ │ │ │ └── ansi-regex@2.1.1
  │ │ │ │ └─┬ wide-align@1.1.3
  │ │ │ │   └── string-width@1.0.2 deduped
  │ │ │ └── set-blocking@2.0.0
  │ │ ├─┬ rc@1.2.8
  │ │ │ ├── deep-extend@0.6.0
  │ │ │ ├── ini@1.3.5
  │ │ │ ├── minimist@1.2.0
  │ │ │ └── strip-json-comments@2.0.1
  │ │ ├─┬ rimraf@2.7.1
  │ │ │ └── glob@7.1.4 deduped
  │ │ ├── semver@5.7.1
  │ │ └─┬ tar@4.4.13
  │ │   ├── chownr@1.1.3
  │ │   ├─┬ fs-minipass@1.2.7
  │ │   │ └── minipass@2.9.0 deduped
  │ │   ├─┬ minipass@2.9.0
  │ │   │ ├── safe-buffer@5.1.2 deduped
  │ │   │ └── yallist@3.1.1 deduped
  │ │   ├─┬ minizlib@1.3.3
  │ │   │ └── minipass@2.9.0 deduped
  │ │   ├── mkdirp@0.5.1 deduped
  │ │   ├── safe-buffer@5.1.2
  │ │   └── yallist@3.1.1
  │ └─┬ protobufjs@5.0.3
  │   ├─┬ ascli@1.0.1
  │   │ ├── colour@0.7.1
  │   │ └── optjs@3.2.2
  │   ├─┬ bytebuffer@5.0.1
  │   │ └── long@3.2.0
  │   ├─┬ glob@7.1.4
  │   │ ├── fs.realpath@1.0.0
  │   │ ├─┬ inflight@1.0.6
  │   │ │ ├── once@1.4.0 deduped
  │   │ │ └── wrappy@1.0.2
  │   │ ├── inherits@2.0.4
  │   │ ├─┬ minimatch@3.0.4
  │   │ │ └─┬ brace-expansion@1.1.11
  │   │ │   ├── balanced-match@1.0.0
  │   │ │   └── concat-map@0.0.1
  │   │ ├─┬ once@1.4.0
  │   │ │ └── wrappy@1.0.2 deduped
  │   │ └── path-is-absolute@1.0.1
  │   └─┬ yargs@3.32.0
  │     ├── camelcase@2.1.1
  │     ├─┬ cliui@3.2.0
  │     │ ├── string-width@1.0.2 deduped
  │     │ ├─┬ strip-ansi@3.0.1
  │     │ │ └── ansi-regex@2.1.1
  │     │ └─┬ wrap-ansi@2.1.0
  │     │   ├── string-width@1.0.2 deduped
  │     │   └── strip-ansi@3.0.1 deduped
  │     ├── decamelize@1.2.0
  │     ├─┬ os-locale@1.4.0
  │     │ └─┬ lcid@1.0.0
  │     │   └── invert-kv@1.0.0
  │     ├─┬ 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 deduped
  │     ├── window-size@0.1.4
  │     └── y18n@3.2.1
  ├─┬ grpc-health-check@1.7.0
  │ ├── google-protobuf@3.11.4 deduped
  │ ├── grpc@1.24.2 deduped
  │ ├── lodash.clone@4.5.0 deduped
  │ └── lodash.get@4.4.2
  ├─┬ jayson@2.1.2
  │ ├── @types/node@10.17.17
  │ ├── commander@2.20.3
  │ ├─┬ es6-promisify@5.0.0
  │ │ └── es6-promise@4.2.8
  │ ├── eyes@0.1.8
  │ ├── json-stringify-safe@5.0.1
  │ ├─┬ JSONStream@1.3.2
  │ │ ├── jsonparse@1.3.1
  │ │ └── through@2.3.8
  │ ├── lodash@4.17.15 deduped
  │ └── uuid@3.3.2 deduped
  ├── lodash@4.17.15
  ├─┬ mongodb@3.5.4
  │ ├─┬ bl@2.2.0
  │ │ ├─┬ readable-stream@2.3.7
  │ │ │ ├── core-util-is@1.0.2 deduped
  │ │ │ ├── inherits@2.0.4
  │ │ │ ├── isarray@1.0.0 deduped
  │ │ │ ├── process-nextick-args@2.0.1 deduped
  │ │ │ ├── safe-buffer@5.1.2
  │ │ │ ├─┬ string_decoder@1.1.1
  │ │ │ │ └── safe-buffer@5.1.2
  │ │ │ └── util-deprecate@1.0.2 deduped
  │ │ └── safe-buffer@5.2.0 deduped
  │ ├── bson@1.1.3
  │ ├── denque@1.4.1
  │ ├─┬ require_optional@1.0.1
  │ │ ├── resolve-from@2.0.0
  │ │ └── semver@5.7.1
  │ ├── safe-buffer@5.2.0
  │ └─┬ saslprep@1.0.3
  │   └─┬ sparse-bitfield@3.0.3
  │     └── memory-pager@1.5.0
  └─┬ tendermint@4.0.8
    ├── axios@0.19.2 deduped
    ├── camelcase@4.1.0
    ├─┬ create-hash@1.2.0
    │ ├─┬ cipher-base@1.0.4
    │ │ ├── inherits@2.0.1 deduped
    │ │ └── safe-buffer@5.2.0 deduped
    │ ├── inherits@2.0.1 deduped
    │ ├─┬ md5.js@1.3.5
    │ │ ├─┬ hash-base@3.0.4
    │ │ │ ├── inherits@2.0.1 deduped
    │ │ │ └── safe-buffer@5.2.0 deduped
    │ │ ├── inherits@2.0.1 deduped
    │ │ └── safe-buffer@5.2.0 deduped
    │ ├─┬ ripemd160@2.0.2
    │ │ ├── hash-base@3.0.4 deduped
    │ │ └── inherits@2.0.1 deduped
    │ └─┬ sha.js@2.4.11
    │   ├── inherits@2.0.1 deduped
    │   └── safe-buffer@5.2.0 deduped
    ├─┬ debug@3.1.0
    │ └── ms@2.0.0
    ├─┬ json-stable-stringify@1.0.1
    │ └── jsonify@0.0.0
    ├─┬ ndjson@1.5.0
    │ ├── json-stringify-safe@5.0.1 deduped
    │ ├── minimist@1.2.0
    │ ├─┬ split2@2.2.0
    │ │ └── through2@2.0.5 deduped
    │ └─┬ through2@2.0.5
    │   ├─┬ readable-stream@2.3.7
    │   │ ├── core-util-is@1.0.2 deduped
    │   │ ├── inherits@2.0.4
    │   │ ├── isarray@1.0.0 deduped
    │   │ ├── process-nextick-args@2.0.1 deduped
    │   │ ├── safe-buffer@5.1.2
    │   │ ├─┬ string_decoder@1.1.1
    │   │ │ └── safe-buffer@5.1.2 deduped
    │   │ └── util-deprecate@1.0.2 deduped
    │   └── xtend@4.0.2 deduped
    ├─┬ old@0.1.3
    │ └── object-assign@4.1.1
    ├─┬ pumpify@1.5.1
    │ ├─┬ duplexify@3.7.1
    │ │ ├── end-of-stream@1.4.4 deduped
    │ │ ├── inherits@2.0.1 deduped
    │ │ ├─┬ readable-stream@2.3.7
    │ │ │ ├── core-util-is@1.0.2 deduped
    │ │ │ ├── inherits@2.0.4
    │ │ │ ├── isarray@1.0.0 deduped
    │ │ │ ├── process-nextick-args@2.0.1 deduped
    │ │ │ ├── safe-buffer@5.1.2
    │ │ │ ├─┬ string_decoder@1.1.1
    │ │ │ │ └── safe-buffer@5.1.2 deduped
    │ │ │ └── util-deprecate@1.0.2 deduped
    │ │ └── stream-shift@1.0.1
    │ ├── inherits@2.0.4
    │ └─┬ pump@2.0.1
    │   ├── end-of-stream@1.4.4 deduped
    │   └── once@1.4.0 deduped
    ├── supercop.js@2.0.1
    ├─┬ varstruct@6.1.3
    │ ├── int53@0.2.4
    │ └── safe-buffer@5.2.0 deduped
    └─┬ websocket-stream@5.5.2
      ├── duplexify@3.7.1 deduped
      ├── inherits@2.0.1 deduped
      ├─┬ readable-stream@2.3.7
      │ ├── core-util-is@1.0.2 deduped
      │ ├── inherits@2.0.4
      │ ├── isarray@1.0.0 deduped
      │ ├── process-nextick-args@2.0.1 deduped
      │ ├── safe-buffer@5.1.2
      │ ├─┬ string_decoder@1.1.1
      │ │ └── safe-buffer@5.1.2
      │ └── util-deprecate@1.0.2 deduped
      ├── safe-buffer@5.2.0 deduped
      ├─┬ ws@3.3.3
      │ ├── async-limiter@1.0.1
      │ ├── safe-buffer@5.1.2
      │ └── ultron@1.1.1
      └── xtend@4.0.2