balena-io / etcher

Flash OS images to SD cards & USB drives, safely and easily.
https://etcher.io/
Apache License 2.0
29.55k stars 2.1k forks source link

Escalation issue #1860

Closed craigmulligan closed 6 years ago

craigmulligan commented 6 years ago

I've tried multiple images/drives. I noticed the problem about a week after I added windows with bootcamp. May just be coincidence but seems relevant.

jhermsmeier commented 6 years ago

This is very relevant, thank you! Can you dump the output of node -v, npm -v, and npm ls as well as some more context around the "Elevation cancelled" message here? That'd be very helpful :)

craigmulligan commented 6 years ago
➜  etcher git:(master) node -v
v6.11.3
➜  etcher git:(master) npm -v 
3.10.10
➜  etcher git:(master) npm ls
etcher@1.1.2 /Users/gaudi/etcher
├── angular@1.6.3
├─┬ angular-if-state@1.0.0
│ └── angular-ui-router@0.3.2
├── angular-middle-ellipses@1.0.0
├── angular-mocks@1.6.3
├─┬ angular-moment@1.0.1
│ └── moment@2.13.0
├── angular-seconds-to-date@1.0.0
├── angular-ui-bootstrap@2.5.0
├── angular-ui-router@0.4.2
├─┬ asar@0.10.0
│ ├── chromium-pickle-js@0.1.0
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├── cuint@0.2.2
│ ├─┬ glob@6.0.4
│ │ ├─┬ inflight@1.0.6
│ │ │ └── wrappy@1.0.2
│ │ ├── inherits@2.0.1
│ │ └── once@1.3.3
│ ├─┬ minimatch@3.0.3
│ │ └─┬ brace-expansion@1.1.6
│ │   ├── balanced-match@0.4.2
│ │   └── concat-map@0.0.1
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ └─┬ mksnapshot@0.1.0
│   ├─┬ decompress-zip@0.1.0
│   │ ├─┬ binary@0.3.0
│   │ │ ├── buffers@0.1.1
│   │ │ └─┬ chainsaw@0.1.0
│   │ │   └── traverse@0.3.9
│   │ ├─┬ graceful-fs@3.0.11
│   │ │ └── natives@1.1.0
│   │ ├── mkpath@0.1.0
│   │ ├── q@1.4.1
│   │ ├─┬ readable-stream@1.1.14
│   │ │ └── isarray@0.0.1
│   │ └─┬ touch@0.0.3
│   │   └── nopt@1.0.10
│   ├─┬ fs-extra@0.18.2
│   │ └── graceful-fs@3.0.11
│   └─┬ request@2.55.0
│     ├── aws-sign2@0.5.0
│     ├─┬ bl@0.9.5
│     │ └── readable-stream@1.0.34
│     ├── caseless@0.9.0
│     ├─┬ combined-stream@0.0.7
│     │ └── delayed-stream@0.0.5
│     ├─┬ form-data@0.2.0
│     │ └── async@0.9.2
│     ├─┬ har-validator@1.8.0
│     │ ├── bluebird@2.11.0
│     │ └── commander@2.9.0
│     ├── hawk@2.3.1
│     ├─┬ http-signature@0.10.1
│     │ ├── asn1@0.1.11
│     │ ├── assert-plus@0.1.5
│     │ └── ctype@0.5.3
│     ├─┬ mime-types@2.0.14
│     │ └── mime-db@1.12.0
│     ├── node-uuid@1.4.7
│     ├── oauth-sign@0.6.0
│     ├── qs@2.4.2
│     └── tunnel-agent@0.4.3
├── bindings@1.2.1
├─┬ blockmap@2.0.2
│ ├── bloodline@1.0.1
│ ├─┬ debug@3.1.0
│ │ └── ms@2.0.0
│ ├─┬ htmlparser2@3.9.2
│ │ ├── domelementtype@1.3.0
│ │ ├── domhandler@2.4.1
│ │ ├─┬ domutils@1.6.2
│ │ │ └─┬ dom-serializer@0.1.0
│ │ │   └── domelementtype@1.1.3
│ │ └── entities@1.1.1
│ └── xml@1.0.1
├── bluebird@3.4.1
├── bluebird-retry@0.11.0
├── bootstrap-sass@3.3.6
├─┬ chalk@1.1.3
│ ├── ansi-styles@2.2.1
│ ├── escape-string-regexp@1.0.5
│ ├─┬ has-ansi@2.0.0
│ │ └── ansi-regex@2.0.0
│ ├── strip-ansi@3.0.1
│ └── supports-color@2.0.0
├── command-join@2.0.0
├─┬ crc32-stream@2.0.0
│ └── crc@3.4.4
├─┬ debug@2.6.8
│ └── ms@2.0.0
├─┬ drivelist@5.2.4
│ ├── bindings@1.3.0
│ ├─┬ debug@3.1.0
│ │ └── ms@2.0.0
│ ├─┬ js-yaml@3.10.0
│ │ ├── argparse@1.0.7
│ │ └── esprima@4.0.0
│ ├── lodash@4.17.4
│ ├── nan@2.7.0
│ └─┬ prebuild-install@2.3.0
│   ├── expand-template@1.0.3
│   ├── github-from-package@0.0.0
│   ├── node-abi@2.1.1
│   ├── noop-logger@0.1.1
│   ├── os-homedir@1.0.2
│   ├─┬ pump@1.0.2
│   │ └─┬ end-of-stream@1.4.0
│   │   └── once@1.4.0
│   ├─┬ rc@1.1.7
│   │ └── deep-extend@0.4.1
│   ├─┬ simple-get@1.4.3
│   │ ├── unzip-response@1.0.2
│   │ └── xtend@4.0.1
│   ├─┬ tar-fs@1.16.0
│   │ ├── chownr@1.0.1
│   │ └─┬ tar-stream@1.5.4
│   │   ├── bl@1.2.1
│   │   └── xtend@4.0.1
│   └── xtend@4.0.1
├─┬ electron@1.7.9
│ ├── @types/node@7.0.46
│ ├─┬ electron-download@3.3.0
│ │ ├── fs-extra@0.30.0
│ │ ├── home-path@1.0.5
│ │ ├─┬ nugget@2.0.1
│ │ │ ├─┬ progress-stream@1.2.0
│ │ │ │ ├── speedometer@0.1.4
│ │ │ │ └─┬ through2@0.2.3
│ │ │ │   ├── readable-stream@1.1.14
│ │ │ │   └─┬ xtend@2.1.2
│ │ │ │     └── object-keys@0.4.0
│ │ │ ├── single-line-log@1.1.2
│ │ │ └── throttleit@0.0.2
│ │ ├── path-exists@2.1.0
│ │ ├── semver@5.4.1
│ │ └─┬ sumchecker@1.3.1
│ │   └── es6-promise@4.1.1
│ └─┬ extract-zip@1.6.5
│   ├─┬ concat-stream@1.6.0
│   │ └── inherits@2.0.3
│   ├─┬ debug@2.2.0
│   │ └── ms@0.7.1
│   ├─┬ mkdirp@0.5.0
│   │ └── minimist@0.0.8
│   └── yauzl@2.4.1
├─┬ electron-builder@19.9.1
│ ├─┬ 7zip-bin@2.1.0
│ │ ├── UNMET OPTIONAL DEPENDENCY 7zip-bin-linux@^1.1.0
│ │ ├── 7zip-bin-mac@1.0.1
│ │ └── UNMET OPTIONAL DEPENDENCY 7zip-bin-win@^2.1.0
│ ├─┬ ajv@5.2.0
│ │ ├── co@4.6.0
│ │ ├── fast-deep-equal@0.1.0
│ │ ├── json-schema-traverse@0.3.1
│ │ └── json-stable-stringify@1.0.1
│ ├── ajv-keywords@2.1.0
│ ├── asar-integrity@0.1.1
│ ├─┬ bluebird-lst@1.0.2
│ │ └── bluebird@3.5.0
│ ├── chromium-pickle-js@0.2.0
│ ├─┬ debug@2.6.8
│ │ └── ms@2.0.0
│ ├─┬ electron-builder-http@19.7.2
│ │ └─┬ debug@2.6.8
│ │   └── ms@2.0.0
│ ├─┬ electron-builder-util@19.8.0
│ │ ├─┬ debug@2.6.8
│ │ │ └── ms@2.0.0
│ │ ├── fcopy-pre-bundled@0.3.4
│ │ ├── ini@1.3.4
│ │ ├─┬ node-emoji@1.5.1
│ │ │ └── string.prototype.codepointat@0.2.0
│ │ ├─┬ source-map-support@0.4.15
│ │ │ └── source-map@0.5.6
│ │ └── stat-mode@0.2.2
│ ├─┬ electron-download-tf@4.3.1
│ │ ├─┬ debug@2.6.8
│ │ │ └── ms@2.0.0
│ │ ├── env-paths@1.0.0
│ │ ├── path-exists@3.0.0
│ │ ├── rc@1.2.1
│ │ ├── semver@5.3.0
│ │ └── sumchecker@2.0.2
│ ├─┬ electron-osx-sign@0.4.6
│ │ ├── bluebird@3.5.0
│ │ ├── compare-version@0.1.2
│ │ ├─┬ debug@2.6.8
│ │ │ └── ms@2.0.0
│ │ └─┬ tempfile@1.1.1
│ │   └── uuid@2.0.3
│ ├─┬ electron-publish@19.8.0
│ │ └── mime@1.3.6
│ ├── fs-extra-p@4.3.0
│ ├── hosted-git-info@2.5.0
│ ├─┬ is-ci@1.0.10
│ │ └── ci-info@1.0.0
│ ├── isbinaryfile@3.0.2
│ ├─┬ js-yaml@3.8.4
│ │ └── esprima@3.1.3
│ ├── json5@0.5.1
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.8
│ │   └── balanced-match@1.0.0
│ ├─┬ normalize-package-data@2.4.0
│ │ ├── is-builtin-module@1.0.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.4
│ ├─┬ parse-color@1.0.0
│ │ └── color-convert@0.5.3
│ ├─┬ plist@2.1.0
│ │ ├── base64-js@1.2.0
│ │ ├── xmlbuilder@8.2.2
│ │ └── xmldom@0.1.27
│ ├─┬ sanitize-filename@1.6.1
│ │ └─┬ truncate-utf8-bytes@1.0.2
│ │   └── utf8-byte-length@1.0.4
│ ├── semver@5.3.0
│ ├─┬ update-notifier@2.2.0
│ │ ├─┬ boxen@1.1.0
│ │ │ ├─┬ ansi-align@2.0.0
│ │ │ │ └─┬ string-width@2.1.0
│ │ │ │   ├── is-fullwidth-code-point@2.0.0
│ │ │ │   └─┬ strip-ansi@4.0.0
│ │ │ │     └── ansi-regex@3.0.0
│ │ │ ├── camelcase@4.1.0
│ │ │ ├── cli-boxes@1.0.0
│ │ │ ├─┬ string-width@2.1.0
│ │ │ │ ├── is-fullwidth-code-point@2.0.0
│ │ │ │ └─┬ strip-ansi@4.0.0
│ │ │ │   └── ansi-regex@3.0.0
│ │ │ ├─┬ term-size@0.1.1
│ │ │ │ └─┬ execa@0.4.0
│ │ │ │   ├── cross-spawn-async@2.2.5
│ │ │ │   ├── npm-run-path@1.0.0
│ │ │ │   └── path-key@1.0.0
│ │ │ └── widest-line@1.0.0
│ │ ├─┬ configstore@3.1.0
│ │ │ ├─┬ dot-prop@4.1.1
│ │ │ │ └── is-obj@1.0.1
│ │ │ ├── make-dir@1.0.0
│ │ │ ├─┬ unique-string@1.0.0
│ │ │ │ └── crypto-random-string@1.0.0
│ │ │ └─┬ write-file-atomic@2.1.0
│ │ │   └── slide@1.1.6
│ │ ├── import-lazy@2.1.0
│ │ ├── is-npm@1.0.0
│ │ ├─┬ latest-version@3.1.0
│ │ │ └─┬ package-json@4.0.1
│ │ │   ├─┬ got@6.7.1
│ │ │   │ ├─┬ create-error-class@3.0.2
│ │ │   │ │ └── capture-stack-trace@1.0.0
│ │ │   │ ├── duplexer3@0.1.4
│ │ │   │ ├── is-redirect@1.0.0
│ │ │   │ ├── is-retry-allowed@1.1.0
│ │ │   │ ├── lowercase-keys@1.0.0
│ │ │   │ ├── timed-out@4.0.1
│ │ │   │ ├── unzip-response@2.0.1
│ │ │   │ └─┬ url-parse-lax@1.0.0
│ │ │   │   └── prepend-http@1.0.4
│ │ │   ├── registry-auth-token@3.3.1
│ │ │   └── registry-url@3.1.0
│ │ ├── semver-diff@2.1.0
│ │ └── xdg-basedir@3.0.0
│ ├─┬ uuid-1345@0.99.6
│ │ └── macaddress@0.2.8
│ └─┬ yargs@8.0.2
│   ├── camelcase@4.1.0
│   ├── get-caller-file@1.0.2
│   ├─┬ os-locale@2.0.0
│   │ └─┬ execa@0.5.1
│   │   ├── cross-spawn@4.0.2
│   │   ├── get-stream@2.3.1
│   │   └─┬ npm-run-path@2.0.2
│   │     └── path-key@2.0.1
│   ├─┬ read-pkg-up@2.0.0
│   │ ├── find-up@2.1.0
│   │ └─┬ read-pkg@2.0.0
│   │   ├─┬ load-json-file@2.0.0
│   │   │ └── strip-bom@3.0.0
│   │   └── path-type@2.0.0
│   ├── require-directory@2.1.1
│   ├── set-blocking@2.0.0
│   ├─┬ string-width@2.1.0
│   │ ├── is-fullwidth-code-point@2.0.0
│   │ └─┬ strip-ansi@4.0.0
│   │   └── ansi-regex@3.0.0
│   ├── which-module@2.0.0
│   └── yargs-parser@7.0.0
├── electron-is-running-in-asar@1.0.0
├─┬ electron-mocha@3.3.0
│ ├── commander@2.9.0
│ ├─┬ electron-window@0.8.1
│ │ └── is-electron-renderer@2.0.1
│ ├─┬ fs-extra@1.0.0
│ │ ├── jsonfile@2.4.0
│ │ └── klaw@1.3.1
│ ├─┬ mocha@3.2.0
│ │ ├── browser-stdout@1.3.0
│ │ ├── commander@2.9.0
│ │ ├─┬ debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├── diff@1.4.0
│ │ ├── glob@7.0.5
│ │ ├── growl@1.9.2
│ │ ├── json3@3.3.2
│ │ ├─┬ lodash.create@3.1.1
│ │ │ ├─┬ lodash._baseassign@3.2.0
│ │ │ │ ├── lodash._basecopy@3.0.1
│ │ │ │ └─┬ lodash.keys@3.1.2
│ │ │ │   ├── lodash._getnative@3.9.1
│ │ │ │   ├── lodash.isarguments@3.1.0
│ │ │ │   └── lodash.isarray@3.0.4
│ │ │ ├── lodash._basecreate@3.0.3
│ │ │ └── lodash._isiterateecall@3.0.9
│ │ └─┬ supports-color@3.1.2
│ │   └── has-flag@1.0.0
│ └─┬ which@1.2.10
│   └── isexe@1.1.2
├─┬ eslint@3.19.0
│ ├─┬ babel-code-frame@6.22.0
│ │ └── js-tokens@3.0.2
│ ├─┬ concat-stream@1.5.2
│ │ ├─┬ readable-stream@2.0.6
│ │ │ ├── isarray@1.0.0
│ │ │ └── string_decoder@0.10.31
│ │ └── typedarray@0.0.6
│ ├─┬ doctrine@2.0.0
│ │ └── isarray@1.0.0
│ ├─┬ escope@3.6.0
│ │ ├─┬ es6-map@0.1.5
│ │ │ ├── d@1.0.0
│ │ │ ├── es5-ext@0.10.14
│ │ │ ├── es6-iterator@2.0.1
│ │ │ ├─┬ es6-set@0.1.5
│ │ │ │ ├── d@1.0.0
│ │ │ │ ├── es5-ext@0.10.14
│ │ │ │ ├── es6-iterator@2.0.1
│ │ │ │ └── es6-symbol@3.1.1
│ │ │ ├── es6-symbol@3.1.1
│ │ │ └─┬ event-emitter@0.3.5
│ │ │   ├── d@1.0.0
│ │ │   └── es5-ext@0.10.14
│ │ ├─┬ es6-weak-map@2.0.1
│ │ │ ├── d@0.1.1
│ │ │ ├── es5-ext@0.10.12
│ │ │ ├── es6-iterator@2.0.0
│ │ │ └── es6-symbol@3.1.0
│ │ └─┬ esrecurse@4.1.0
│ │   └── estraverse@4.1.1
│ ├─┬ espree@3.4.0
│ │ ├── acorn@4.0.4
│ │ └─┬ acorn-jsx@3.0.1
│ │   └── acorn@3.3.0
│ ├── esquery@1.0.0
│ ├── estraverse@4.2.0
│ ├── esutils@2.0.2
│ ├─┬ file-entry-cache@2.0.0
│ │ └─┬ flat-cache@1.2.2
│ │   ├── circular-json@0.3.1
│ │   ├─┬ del@2.2.2
│ │   │ ├─┬ globby@5.0.0
│ │   │ │ └── arrify@1.0.1
│ │   │ ├── is-path-cwd@1.0.0
│ │   │ └─┬ is-path-in-cwd@1.0.0
│ │   │   └── is-path-inside@1.0.0
│ │   └── write@0.2.1
│ ├─┬ glob@7.1.1
│ │ └── fs.realpath@1.0.0
│ ├── globals@9.16.0
│ ├── ignore@3.2.6
│ ├── imurmurhash@0.1.4
│ ├─┬ inquirer@0.12.0
│ │ ├── ansi-escapes@1.4.0
│ │ ├─┬ cli-cursor@1.0.2
│ │ │ └─┬ restore-cursor@1.0.1
│ │ │   ├── exit-hook@1.1.1
│ │ │   └── onetime@1.1.0
│ │ ├── cli-width@2.1.0
│ │ ├── figures@1.7.0
│ │ ├─┬ readline2@1.0.1
│ │ │ └── mute-stream@0.0.5
│ │ ├── run-async@0.1.0
│ │ └── rx-lite@3.1.2
│ ├─┬ is-my-json-valid@2.16.0
│ │ ├── generate-function@2.0.0
│ │ ├─┬ generate-object-property@1.2.0
│ │ │ └── is-property@1.0.2
│ │ ├── jsonpointer@4.0.1
│ │ └── xtend@4.0.1
│ ├─┬ is-resolvable@1.0.0
│ │ └── tryit@1.0.3
│ ├─┬ js-yaml@3.6.1
│ │ └── esprima@2.7.2
│ ├─┬ json-stable-stringify@1.0.1
│ │ └── jsonify@0.0.0
│ ├─┬ levn@0.3.0
│ │ ├── prelude-ls@1.1.2
│ │ └── type-check@0.3.2
│ ├── natural-compare@1.4.0
│ ├─┬ optionator@0.8.2
│ │ ├── deep-is@0.1.3
│ │ ├── fast-levenshtein@2.0.6
│ │ └── wordwrap@1.0.0
│ ├── pluralize@1.2.1
│ ├── progress@1.1.8
│ ├─┬ require-uncached@1.0.3
│ │ ├─┬ caller-path@0.1.0
│ │ │ └── callsites@0.2.0
│ │ └── resolve-from@1.0.1
│ ├─┬ shelljs@0.7.8
│ │ ├── interpret@1.0.3
│ │ └── rechoir@0.6.2
│ ├── strip-bom@3.0.0
│ ├── strip-json-comments@2.0.1
│ ├─┬ table@3.8.3
│ │ ├─┬ ajv@4.11.5
│ │ │ └── json-stable-stringify@1.0.1
│ │ ├── ajv-keywords@1.5.1
│ │ ├── slice-ansi@0.0.4
│ │ └─┬ string-width@2.0.0
│ │   └── is-fullwidth-code-point@2.0.0
│ ├── text-table@0.2.0
│ └── user-home@2.0.0
├── eslint-config-standard@10.2.1
├─┬ eslint-plugin-import@2.7.0
│ ├── builtin-modules@1.1.1
│ ├── contains-path@0.1.0
│ ├─┬ debug@2.6.8
│ │ └── ms@2.0.0
│ ├─┬ doctrine@1.5.0
│ │ └── isarray@1.0.0
│ ├─┬ eslint-import-resolver-node@0.3.1
│ │ └─┬ debug@2.6.8
│ │   └── ms@2.0.0
│ ├─┬ eslint-module-utils@2.1.1
│ │ ├─┬ debug@2.6.8
│ │ │ └── ms@2.0.0
│ │ └── pkg-dir@1.0.0
│ ├─┬ has@1.0.1
│ │ └── function-bind@1.1.0
│ ├── lodash.cond@4.5.2
│ └─┬ read-pkg-up@2.0.0
│   ├─┬ find-up@2.1.0
│   │ └─┬ locate-path@2.0.0
│   │   ├─┬ p-locate@2.0.0
│   │   │ └── p-limit@1.1.0
│   │   └── path-exists@3.0.0
│   └─┬ read-pkg@2.0.0
│     ├─┬ load-json-file@2.0.0
│     │ └── strip-bom@3.0.0
│     └── path-type@2.0.0
├─┬ eslint-plugin-jsdoc@3.1.1
│ └── comment-parser@0.4.0
├── eslint-plugin-lodash@2.3.6
├─┬ eslint-plugin-node@5.1.1
│ ├── ignore@3.3.3
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.8
│ │   └── balanced-match@1.0.0
│ ├─┬ resolve@1.4.0
│ │ └── path-parse@1.0.5
│ └── semver@5.3.0
├── eslint-plugin-promise@3.5.0
├── eslint-plugin-standard@3.0.1
├── file-exists@1.0.0
├── file-type@4.1.0
├── flexboxgrid@6.3.0
├─┬ gpt@1.0.0
│ └── buffer-crc32@0.2.5
├─┬ html-angular-validate@0.1.9
│ ├── async@1.5.2
│ ├── filendir@1.0.0
│ ├─┬ globule@0.2.0
│ │ ├─┬ glob@3.2.11
│ │ │ └── minimatch@0.3.0
│ │ ├── lodash@2.4.2
│ │ └─┬ minimatch@0.2.14
│ │   ├── lru-cache@2.7.3
│ │   └── sigmund@1.0.1
│ ├─┬ node.extend@1.1.6
│ │ └── is@3.2.1
│ ├─┬ promise@7.1.1
│ │ └── asap@2.0.5
│ ├── string.prototype.endswith@0.2.0
│ ├─┬ temporary@0.0.8
│ │ └── package@1.0.1
│ ├─┬ w3cjs@0.3.0
│ │ ├── commander@2.6.0
│ │ ├─┬ superagent@0.21.0
│ │ │ ├── component-emitter@1.1.2
│ │ │ ├── cookiejar@2.0.1
│ │ │ ├── extend@1.2.1
│ │ │ ├─┬ form-data@0.1.3
│ │ │ │ └── async@0.9.2
│ │ │ ├── formidable@1.0.14
│ │ │ ├── methods@1.0.1
│ │ │ ├── mime@1.2.11
│ │ │ ├── qs@1.2.0
│ │ │ ├── readable-stream@1.0.27-1
│ │ │ └── reduce-component@1.0.1
│ │ └─┬ superagent-proxy@0.3.2
│ │   ├─┬ debug@2.2.0
│ │   │ └── ms@0.7.1
│ │   └─┬ proxy-agent@1.1.1
│ │     ├─┬ http-proxy-agent@0.2.7
│ │     │ └── agent-base@1.0.2
│ │     ├── https-proxy-agent@0.3.6
│ │     ├── lru-cache@2.5.2
│ │     ├─┬ pac-proxy-agent@0.2.0
│ │     │ ├── extend@1.2.1
│ │     │ ├─┬ get-uri@0.1.4
│ │     │ │ ├── data-uri-to-buffer@0.0.4
│ │     │ │ ├── file-uri-to-path@0.0.2
│ │     │ │ └─┬ ftp@0.3.10
│ │     │ │   ├── readable-stream@1.1.14
│ │     │ │   └── xregexp@2.0.0
│ │     │ ├─┬ pac-resolver@1.2.6
│ │     │ │ ├── co@3.0.6
│ │     │ │ ├─┬ degenerator@1.0.4
│ │     │ │ │ ├── ast-types@0.9.6
│ │     │ │ │ └── esprima@3.1.3
│ │     │ │ ├── netmask@1.0.6
│ │     │ │ ├─┬ regenerator@0.8.46
│ │     │ │ │ ├─┬ commoner@0.10.8
│ │     │ │ │ │ ├── commander@2.9.0
│ │     │ │ │ │ ├─┬ detective@4.5.0
│ │     │ │ │ │ │ ├── acorn@4.0.11
│ │     │ │ │ │ │ └── defined@1.0.0
│ │     │ │ │ │ ├── glob@5.0.15
│ │     │ │ │ │ └─┬ recast@0.11.23
│ │     │ │ │ │   └── esprima@3.1.3
│ │     │ │ │ ├─┬ defs@1.1.1
│ │     │ │ │ │ ├─┬ alter@0.2.0
│ │     │ │ │ │ │ └── stable@0.1.6
│ │     │ │ │ │ ├── ast-traverse@0.1.1
│ │     │ │ │ │ ├── breakable@1.0.0
│ │     │ │ │ │ ├── esprima-fb@15001.1001.0-dev-harmony-fb
│ │     │ │ │ │ ├── simple-fmt@0.1.0
│ │     │ │ │ │ ├── simple-is@0.2.0
│ │     │ │ │ │ ├── stringmap@0.2.2
│ │     │ │ │ │ ├── stringset@0.2.1
│ │     │ │ │ │ ├── tryor@0.1.2
│ │     │ │ │ │ └─┬ yargs@3.27.0
│ │     │ │ │ │   ├── camelcase@1.2.1
│ │     │ │ │ │   ├─┬ cliui@2.1.0
│ │     │ │ │ │   │ └── wordwrap@0.0.2
│ │     │ │ │ │   └── window-size@0.1.4
│ │     │ │ │ ├── esprima-fb@15001.1001.0-dev-harmony-fb
│ │     │ │ │ ├── private@0.1.7
│ │     │ │ │ ├─┬ recast@0.10.33
│ │     │ │ │ │ ├── ast-types@0.8.12
│ │     │ │ │ │ └── esprima-fb@15001.1001.0-dev-harmony-fb
│ │     │ │ │ └── regenerator-runtime@0.9.6
│ │     │ │ └── thunkify@2.1.2
│ │     │ └── stream-to-array@1.0.0
│ │     └─┬ socks-proxy-agent@1.0.2
│ │       ├── extend@1.2.1
│ │       └─┬ socks@1.1.10
│ │         ├── ip@1.1.5
│ │         └── smart-buffer@1.1.15
│ └── xmlbuilder@8.2.2
├── immutable@3.8.1
├── lodash@4.13.1
├─┬ lzma-native@1.5.2
│ ├── any-promise@1.3.0
│ ├── commander@2.9.0
│ ├─┬ node-pre-gyp@0.6.29
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├─┬ nopt@3.0.6
│ │ │ └── abbrev@1.0.9
│ │ ├─┬ npmlog@3.1.2
│ │ │ ├─┬ are-we-there-yet@1.1.2
│ │ │ │ └── delegates@1.0.0
│ │ │ ├── console-control-strings@1.1.0
│ │ │ ├─┬ gauge@2.6.0
│ │ │ │ ├── aproba@1.0.4
│ │ │ │ ├── has-color@0.1.7
│ │ │ │ ├── has-unicode@2.0.1
│ │ │ │ ├── object-assign@4.1.0
│ │ │ │ ├── signal-exit@3.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
│ │ │ │ └── wide-align@1.1.0
│ │ │ └── set-blocking@2.0.0
│ │ ├─┬ rc@1.1.6
│ │ │ ├── deep-extend@0.4.1
│ │ │ ├── ini@1.3.4
│ │ │ ├── minimist@1.2.0
│ │ │ └── strip-json-comments@1.0.4
│ │ ├─┬ request@2.72.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├── aws4@1.4.1
│ │ │ ├─┬ bl@1.1.2
│ │ │ │ └── readable-stream@2.0.6
│ │ │ ├── caseless@0.11.0
│ │ │ ├─┬ combined-stream@1.0.5
│ │ │ │ └── delayed-stream@1.0.0
│ │ │ ├── extend@3.0.0
│ │ │ ├── forever-agent@0.6.1
│ │ │ ├─┬ form-data@1.0.0-rc4
│ │ │ │ └── async@1.5.2
│ │ │ ├─┬ har-validator@2.0.6
│ │ │ │ ├─┬ chalk@1.1.3
│ │ │ │ │ ├── ansi-styles@2.2.1
│ │ │ │ │ ├── escape-string-regexp@1.0.5
│ │ │ │ │ ├── has-ansi@2.0.0
│ │ │ │ │ └── supports-color@2.0.0
│ │ │ │ ├─┬ commander@2.9.0
│ │ │ │ │ └── graceful-readlink@1.0.1
│ │ │ │ ├─┬ is-my-json-valid@2.13.1
│ │ │ │ │ ├── generate-function@2.0.0
│ │ │ │ │ ├─┬ generate-object-property@1.2.0
│ │ │ │ │ │ └── is-property@1.0.2
│ │ │ │ │ ├── jsonpointer@2.0.0
│ │ │ │ │ └── xtend@4.0.1
│ │ │ │ └─┬ pinkie-promise@2.0.1
│ │ │ │   └── pinkie@2.0.4
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├── boom@2.10.1
│ │ │ │ ├── cryptiles@2.0.5
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └── sntp@1.0.9
│ │ │ ├─┬ http-signature@1.1.1
│ │ │ │ ├── assert-plus@0.2.0
│ │ │ │ ├─┬ jsprim@1.3.0
│ │ │ │ │ ├── extsprintf@1.0.2
│ │ │ │ │ ├── json-schema@0.2.2
│ │ │ │ │ └── verror@1.3.6
│ │ │ │ └─┬ sshpk@1.8.3
│ │ │ │   ├── asn1@0.2.3
│ │ │ │   ├── assert-plus@1.0.0
│ │ │ │   ├─┬ dashdash@1.14.0
│ │ │ │   │ └── assert-plus@1.0.0
│ │ │ │   ├── ecc-jsbn@0.1.1
│ │ │ │   ├─┬ getpass@0.1.6
│ │ │ │   │ └── assert-plus@1.0.0
│ │ │ │   ├── jodid25519@1.0.2
│ │ │ │   ├── jsbn@0.1.0
│ │ │ │   └── tweetnacl@0.13.3
│ │ │ ├── is-typedarray@1.0.0
│ │ │ ├── isstream@0.1.2
│ │ │ ├── json-stringify-safe@5.0.1
│ │ │ ├─┬ mime-types@2.1.11
│ │ │ │ └── mime-db@1.23.0
│ │ │ ├── node-uuid@1.4.7
│ │ │ ├── oauth-sign@0.8.2
│ │ │ ├── qs@6.1.0
│ │ │ ├── stringstream@0.0.5
│ │ │ ├── tough-cookie@2.2.2
│ │ │ └── tunnel-agent@0.4.3
│ │ ├─┬ rimraf@2.5.2
│ │ │ └─┬ glob@7.0.5
│ │ │   ├── fs.realpath@1.0.0
│ │ │   ├── inflight@1.0.5
│ │ │   ├─┬ minimatch@3.0.2
│ │ │   │ └─┬ brace-expansion@1.1.5
│ │ │   │   ├── balanced-match@0.4.1
│ │ │   │   └── concat-map@0.0.1
│ │ │   └── path-is-absolute@1.0.0
│ │ ├── semver@5.2.0
│ │ ├─┬ tar@2.2.1
│ │ │ ├── block-stream@0.0.9
│ │ │ ├─┬ fstream@1.0.10
│ │ │ │ └── graceful-fs@4.1.4
│ │ │ └── inherits@2.0.1
│ │ └─┬ tar-pack@3.1.4
│ │   ├─┬ debug@2.2.0
│ │   │ └── ms@0.7.1
│ │   ├── fstream-ignore@1.0.5
│ │   ├─┬ once@1.3.3
│ │   │ └── wrappy@1.0.2
│ │   ├─┬ readable-stream@2.1.4
│ │   │ ├── buffer-shims@1.0.0
│ │   │ ├── core-util-is@1.0.2
│ │   │ ├── isarray@1.0.0
│ │   │ ├── process-nextick-args@1.0.7
│ │   │ ├── string_decoder@0.10.31
│ │   │ └── util-deprecate@1.0.2
│ │   └── uid-number@0.0.6
│ └── util-extend@1.0.3
├─┬ mbr@1.1.2
│ └── chs@1.1.0
├─┬ mime-types@2.1.15
│ └── mime-db@1.27.0
├─┬ mochainon@1.0.0
│ ├─┬ chai@3.5.0
│ │ ├── assertion-error@1.0.2
│ │ ├─┬ deep-eql@0.1.3
│ │ │ └── type-detect@0.1.1
│ │ └── type-detect@1.0.0
│ ├── chai-as-promised@5.3.0
│ ├── chai-datetime@1.4.1
│ ├─┬ chai-interface@2.0.3
│ │ └─┬ tracery@1.0.3
│ │   ├── connective@1.0.0
│ │   └── ski@1.0.0
│ ├── chai-string@1.3.0
│ ├── chai-things@0.2.0
│ ├─┬ sinon@1.17.7
│ │ ├── formatio@1.1.1
│ │ ├── lolex@1.3.2
│ │ └── samsam@1.1.2
│ └── sinon-chai@2.8.0
├─┬ mountutils@1.2.2
│ └── nan@2.6.2
├── nan@2.3.5
├─┬ nock@9.0.9
│ ├── deep-equal@1.0.1
│ ├── json-stringify-safe@5.0.1
│ ├── lodash@4.17.4
│ ├── propagate@0.4.0
│ └── qs@6.4.0
├─┬ node-gyp@3.5.0
│ ├── fstream@1.0.11
│ ├── graceful-fs@4.1.11
│ ├─┬ nopt@3.0.6
│ │ └── abbrev@1.1.0
│ ├─┬ npmlog@4.0.2
│ │ ├─┬ are-we-there-yet@1.1.2
│ │ │ └── delegates@1.0.0
│ │ ├── console-control-strings@1.1.0
│ │ ├─┬ gauge@2.7.3
│ │ │ ├── aproba@1.1.1
│ │ │ ├── has-unicode@2.0.1
│ │ │ ├── signal-exit@3.0.2
│ │ │ └── wide-align@1.1.0
│ │ └── set-blocking@2.0.0
│ ├── osenv@0.1.4
│ ├── rimraf@2.6.1
│ ├── semver@5.3.0
│ └─┬ tar@2.2.1
│   └── block-stream@0.0.9
├─┬ node-ipc@9.1.1
│ ├── event-pubsub@4.3.0
│ ├── js-message@1.0.5
│ └─┬ js-queue@2.0.0
│   └── easy-stack@1.0.0
├─┬ node-sass@4.5.3
│ ├── async-foreach@0.1.3
│ ├─┬ cross-spawn@3.0.1
│ │ └─┬ lru-cache@4.0.1
│ │   ├── pseudomap@1.0.2
│ │   └── yallist@2.0.0
│ ├─┬ gaze@1.1.2
│ │ └─┬ globule@1.1.0
│ │   └── lodash@4.16.6
│ ├── get-stdin@4.0.1
│ ├── in-publish@2.0.0
│ ├── lodash.assign@4.2.0
│ ├── lodash.clonedeep@4.5.0
│ ├── lodash.mergewith@4.6.0
│ ├─┬ meow@3.7.0
│ │ ├─┬ camelcase-keys@2.1.0
│ │ │ └── camelcase@2.1.1
│ │ ├─┬ loud-rejection@1.6.0
│ │ │ └─┬ currently-unhandled@0.4.1
│ │ │   └── array-find-index@1.0.2
│ │ ├── map-obj@1.0.1
│ │ ├─┬ normalize-package-data@2.3.5
│ │ │ └── hosted-git-info@2.1.5
│ │ ├─┬ redent@1.0.0
│ │ │ ├─┬ indent-string@2.1.0
│ │ │ │ └─┬ repeating@2.0.1
│ │ │ │   └── is-finite@1.0.2
│ │ │ └── strip-indent@1.0.1
│ │ └── trim-newlines@1.0.0
│ ├─┬ sass-graph@2.2.4
│ │ ├─┬ scss-tokenizer@0.2.3
│ │ │ ├── js-base64@2.1.9
│ │ │ └── source-map@0.4.4
│ │ └─┬ yargs@7.1.0
│ │   ├── set-blocking@2.0.0
│ │   ├── string-width@1.0.2
│ │   ├── which-module@1.0.0
│ │   └── yargs-parser@5.0.0
│ └── stdout-stream@1.4.0
├── node-stream-zip@1.3.7
├─┬ npx@5.2.0
│ ├── bluebird@3.5.0
│ ├── dotenv@4.0.0
│ ├─┬ npm@5.0.3
│ │ ├── abbrev@1.1.0
│ │ ├── ansi-regex@2.1.1
│ │ ├── ansicolors@0.3.2
│ │ ├── ansistyles@0.1.3
│ │ ├── aproba@1.1.2
│ │ ├── archy@1.0.0
│ │ ├── bluebird@3.5.0
│ │ ├─┬ cacache@9.2.8
│ │ │ └── y18n@3.2.1
│ │ ├── call-limit@1.1.0
│ │ ├── chownr@1.0.1
│ │ ├── cmd-shim@2.0.2
│ │ ├─┬ columnify@1.5.4
│ │ │ └─┬ wcwidth@1.0.1
│ │ │   └─┬ defaults@1.0.3
│ │ │     └── clone@1.0.2
│ │ ├─┬ config-chain@1.1.11
│ │ │ └── proto-list@1.2.4
│ │ ├── debuglog@1.0.1
│ │ ├── detect-indent@5.0.0
│ │ ├─┬ dezalgo@1.0.3
│ │ │ └── asap@2.0.5
│ │ ├── editor@1.0.0
│ │ ├── fs-vacuum@1.2.10
│ │ ├── fs-write-stream-atomic@1.0.10
│ │ ├── fstream@1.0.11
│ │ ├─┬ fstream-npm@1.2.1
│ │ │ └─┬ fstream-ignore@1.0.5
│ │ │   └─┬ minimatch@3.0.4
│ │ │     └─┬ brace-expansion@1.1.7
│ │ │       ├── balanced-match@0.4.2
│ │ │       └── concat-map@0.0.1
│ │ ├─┬ glob@7.1.2
│ │ │ ├── fs.realpath@1.0.0
│ │ │ ├─┬ minimatch@3.0.4
│ │ │ │ └─┬ brace-expansion@1.1.7
│ │ │ │   ├── balanced-match@0.4.2
│ │ │ │   └── concat-map@0.0.1
│ │ │ └── path-is-absolute@1.0.1
│ │ ├── graceful-fs@4.1.11
│ │ ├── has-unicode@2.0.1
│ │ ├── hosted-git-info@2.4.2
│ │ ├── iferr@0.1.5
│ │ ├── imurmurhash@0.1.4
│ │ ├── inflight@1.0.6
│ │ ├── inherits@2.0.3
│ │ ├── ini@1.3.4
│ │ ├─┬ init-package-json@1.10.1
│ │ │ └── promzard@0.3.0
│ │ ├─┬ JSONStream@1.3.1
│ │ │ ├── jsonparse@1.3.0
│ │ │ └── through@2.3.8
│ │ ├── lazy-property@1.0.0
│ │ ├── lockfile@1.0.3
│ │ ├── lodash._baseindexof@3.1.0
│ │ ├─┬ lodash._baseuniq@4.6.0
│ │ │ ├── lodash._createset@4.0.3
│ │ │ └── lodash._root@3.0.1
│ │ ├── lodash._bindcallback@3.0.1
│ │ ├── lodash._cacheindexof@3.0.2
│ │ ├── lodash._createcache@3.1.2
│ │ ├── lodash._getnative@3.9.1
│ │ ├── lodash.clonedeep@4.5.0
│ │ ├── lodash.restparam@3.6.1
│ │ ├── lodash.union@4.6.0
│ │ ├── lodash.uniq@4.5.0
│ │ ├── lodash.without@4.4.0
│ │ ├─┬ lru-cache@4.0.2
│ │ │ ├── pseudomap@1.0.2
│ │ │ └── yallist@2.1.2
│ │ ├─┬ mississippi@1.3.0
│ │ │ ├─┬ concat-stream@1.6.0
│ │ │ │ └── typedarray@0.0.6
│ │ │ ├─┬ duplexify@3.5.0
│ │ │ │ ├─┬ end-of-stream@1.0.0
│ │ │ │ │ └── once@1.3.3
│ │ │ │ └── stream-shift@1.0.0
│ │ │ ├── end-of-stream@1.4.0
│ │ │ ├── flush-write-stream@1.0.2
│ │ │ ├── from2@2.3.0
│ │ │ ├─┬ parallel-transform@1.1.0
│ │ │ │ └── cyclist@0.2.2
│ │ │ ├── pump@1.0.2
│ │ │ ├── pumpify@1.3.5
│ │ │ ├─┬ stream-each@1.2.0
│ │ │ │ └── stream-shift@1.0.0
│ │ │ └─┬ through2@2.0.3
│ │ │   └── xtend@4.0.1
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├─┬ move-concurrently@1.0.1
│ │ │ ├── copy-concurrently@1.0.3
│ │ │ └── run-queue@1.0.3
│ │ ├─┬ node-gyp@3.6.2
│ │ │ ├─┬ minimatch@3.0.4
│ │ │ │ └─┬ brace-expansion@1.1.7
│ │ │ │   ├── balanced-match@0.4.2
│ │ │ │   └── concat-map@0.0.1
│ │ │ └── nopt@3.0.6
│ │ ├── nopt@4.0.1
│ │ ├─┬ normalize-package-data@2.3.8
│ │ │ └─┬ is-builtin-module@1.0.0
│ │ │   └── builtin-modules@1.1.1
│ │ ├── npm-cache-filename@1.0.2
│ │ ├── npm-install-checks@3.0.0
│ │ ├── npm-package-arg@5.1.1
│ │ ├─┬ npm-registry-client@8.3.0
│ │ │ └─┬ concat-stream@1.6.0
│ │ │   └── typedarray@0.0.6
│ │ ├── npm-user-validate@1.0.0
│ │ ├─┬ npmlog@4.1.0
│ │ │ ├─┬ are-we-there-yet@1.1.4
│ │ │ │ └── delegates@1.0.0
│ │ │ ├── console-control-strings@1.1.0
│ │ │ ├─┬ gauge@2.7.4
│ │ │ │ ├── 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
│ │ │ │ └── wide-align@1.1.0
│ │ │ └── set-blocking@2.0.0
│ │ ├── once@1.4.0
│ │ ├── opener@1.4.3
│ │ ├─┬ osenv@0.1.4
│ │ │ ├── os-homedir@1.0.2
│ │ │ └── os-tmpdir@1.0.2
│ │ ├─┬ pacote@2.7.30
│ │ │ ├─┬ make-fetch-happen@2.4.11
│ │ │ │ ├─┬ agentkeepalive@3.1.0
│ │ │ │ │ └─┬ humanize-ms@1.2.1
│ │ │ │ │   └── ms@2.0.0
│ │ │ │ ├── http-cache-semantics@3.7.3
│ │ │ │ ├─┬ http-proxy-agent@1.0.0
│ │ │ │ │ ├─┬ agent-base@2.1.1
│ │ │ │ │ │ └── semver@5.0.3
│ │ │ │ │ ├─┬ debug@2.6.8
│ │ │ │ │ │ └── ms@2.0.0
│ │ │ │ │ └── extend@3.0.1
│ │ │ │ ├─┬ https-proxy-agent@1.0.0
│ │ │ │ │ ├─┬ agent-base@2.1.1
│ │ │ │ │ │ └── semver@5.0.3
│ │ │ │ │ ├─┬ debug@2.6.8
│ │ │ │ │ │ └── ms@2.0.0
│ │ │ │ │ └── extend@3.0.1
│ │ │ │ ├─┬ node-fetch-npm@2.0.1
│ │ │ │ │ ├─┬ encoding@0.1.12
│ │ │ │ │ │ └── iconv-lite@0.4.17
│ │ │ │ │ └─┬ json-parse-helpfulerror@1.0.3
│ │ │ │ │   └── jju@1.3.0
│ │ │ │ └─┬ socks-proxy-agent@2.1.0
│ │ │ │   ├─┬ agent-base@2.1.1
│ │ │ │   │ └── semver@5.0.3
│ │ │ │   ├── extend@3.0.1
│ │ │ │   └─┬ socks@1.1.10
│ │ │ │     ├── ip@1.1.5
│ │ │ │     └── smart-buffer@1.1.15
│ │ │ ├─┬ minimatch@3.0.4
│ │ │ │ └─┬ brace-expansion@1.1.7
│ │ │ │   ├── balanced-match@0.4.2
│ │ │ │   └── concat-map@0.0.1
│ │ │ ├── npm-pick-manifest@1.0.3
│ │ │ ├─┬ promise-retry@1.1.1
│ │ │ │ └── err-code@1.1.2
│ │ │ ├─┬ protoduck@4.0.0
│ │ │ │ └── genfun@4.0.1
│ │ │ ├─┬ tar-fs@1.15.2
│ │ │ │ └─┬ pump@1.0.2
│ │ │ │   └── end-of-stream@1.4.0
│ │ │ └─┬ tar-stream@1.5.4
│ │ │   ├── bl@1.2.1
│ │ │   ├── end-of-stream@1.4.0
│ │ │   └── xtend@4.0.1
│ │ ├── path-is-inside@1.0.2
│ │ ├── promise-inflight@1.0.1
│ │ ├─┬ read@1.0.7
│ │ │ └── mute-stream@0.0.7
│ │ ├── read-cmd-shim@1.0.1
│ │ ├─┬ read-installed@4.0.3
│ │ │ └── util-extend@1.0.3
│ │ ├─┬ read-package-json@2.0.5
│ │ │ └─┬ json-parse-helpfulerror@1.0.3
│ │ │   └── jju@1.3.0
│ │ ├── read-package-tree@5.1.6
│ │ ├─┬ readable-stream@2.2.10
│ │ │ ├── core-util-is@1.0.2
│ │ │ ├── isarray@1.0.0
│ │ │ ├── process-nextick-args@1.0.7
│ │ │ ├── string_decoder@1.0.1
│ │ │ └── util-deprecate@1.0.2
│ │ ├── readdir-scoped-modules@1.0.2
│ │ ├─┬ request@2.81.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├── aws4@1.6.0
│ │ │ ├── caseless@0.12.0
│ │ │ ├─┬ combined-stream@1.0.5
│ │ │ │ └── delayed-stream@1.0.0
│ │ │ ├── extend@3.0.1
│ │ │ ├── forever-agent@0.6.1
│ │ │ ├─┬ form-data@2.1.4
│ │ │ │ └── asynckit@0.4.0
│ │ │ ├─┬ har-validator@4.2.1
│ │ │ │ ├─┬ ajv@4.11.8
│ │ │ │ │ ├── co@4.6.0
│ │ │ │ │ └─┬ json-stable-stringify@1.0.1
│ │ │ │ │   └── jsonify@0.0.0
│ │ │ │ └── har-schema@1.0.5
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├── boom@2.10.1
│ │ │ │ ├── cryptiles@2.0.5
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └── sntp@1.0.9
│ │ │ ├─┬ http-signature@1.1.1
│ │ │ │ ├── assert-plus@0.2.0
│ │ │ │ ├─┬ jsprim@1.4.0
│ │ │ │ │ ├── assert-plus@1.0.0
│ │ │ │ │ ├── extsprintf@1.0.2
│ │ │ │ │ ├── json-schema@0.2.3
│ │ │ │ │ └── verror@1.3.6
│ │ │ │ └─┬ sshpk@1.13.0
│ │ │ │   ├── asn1@0.2.3
│ │ │ │   ├── assert-plus@1.0.0
│ │ │ │   ├── bcrypt-pbkdf@1.0.1
│ │ │ │   ├── dashdash@1.14.1
│ │ │ │   ├── ecc-jsbn@0.1.1
│ │ │ │   ├── getpass@0.1.7
│ │ │ │   ├── jodid25519@1.0.2
│ │ │ │   ├── jsbn@0.1.1
│ │ │ │   └── tweetnacl@0.14.5
│ │ │ ├── is-typedarray@1.0.0
│ │ │ ├── isstream@0.1.2
│ │ │ ├── json-stringify-safe@5.0.1
│ │ │ ├─┬ mime-types@2.1.15
│ │ │ │ └── mime-db@1.27.0
│ │ │ ├── oauth-sign@0.8.2
│ │ │ ├── performance-now@0.2.0
│ │ │ ├── qs@6.4.0
│ │ │ ├── safe-buffer@5.0.1
│ │ │ ├── stringstream@0.0.5
│ │ │ ├─┬ tough-cookie@2.3.2
│ │ │ │ └── punycode@1.4.1
│ │ │ └── tunnel-agent@0.6.0
│ │ ├── retry@0.10.1
│ │ ├── rimraf@2.6.1
│ │ ├── safe-buffer@5.1.0
│ │ ├── semver@5.3.0
│ │ ├── sha@2.0.1
│ │ ├── slide@1.1.6
│ │ ├── sorted-object@2.0.1
│ │ ├─┬ sorted-union-stream@2.1.3
│ │ │ ├─┬ from2@1.3.0
│ │ │ │ └─┬ readable-stream@1.1.14
│ │ │ │   ├── core-util-is@1.0.2
│ │ │ │   ├── isarray@0.0.1
│ │ │ │   └── string_decoder@0.10.31
│ │ │ └─┬ stream-iterate@1.2.0
│ │ │   └── stream-shift@1.0.0
│ │ ├── ssri@4.1.5
│ │ ├── strip-ansi@3.0.1
│ │ ├─┬ tar@2.2.1
│ │ │ └── block-stream@0.0.9
│ │ ├── text-table@0.2.0
│ │ ├── uid-number@0.0.6
│ │ ├── umask@1.1.0
│ │ ├─┬ unique-filename@1.1.0
│ │ │ └── unique-slug@2.0.0
│ │ ├── unpipe@1.0.0
│ │ ├─┬ update-notifier@2.1.0
│ │ │ ├─┬ boxen@1.0.0
│ │ │ │ ├─┬ ansi-align@1.1.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
│ │ │ │ ├── camelcase@4.1.0
│ │ │ │ ├── cli-boxes@1.0.0
│ │ │ │ ├─┬ string-width@2.0.0
│ │ │ │ │ └── is-fullwidth-code-point@2.0.0
│ │ │ │ ├─┬ term-size@0.1.1
│ │ │ │ │ └─┬ execa@0.4.0
│ │ │ │ │   ├── cross-spawn-async@2.2.5
│ │ │ │ │   ├── is-stream@1.1.0
│ │ │ │ │   ├── npm-run-path@1.0.0
│ │ │ │ │   ├── object-assign@4.1.1
│ │ │ │ │   ├── path-key@1.0.0
│ │ │ │ │   └── strip-eof@1.0.0
│ │ │ │ └─┬ widest-line@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
│ │ │ ├─┬ 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
│ │ │ ├─┬ configstore@3.0.0
│ │ │ │ ├─┬ dot-prop@4.1.1
│ │ │ │ │ └── is-obj@1.0.1
│ │ │ │ ├─┬ unique-string@1.0.0
│ │ │ │ │ └── crypto-random-string@1.0.0
│ │ │ │ └── write-file-atomic@1.3.4
│ │ │ ├── is-npm@1.0.0
│ │ │ ├─┬ latest-version@3.1.0
│ │ │ │ └─┬ package-json@4.0.1
│ │ │ │   ├─┬ got@6.7.1
│ │ │ │   │ ├─┬ create-error-class@3.0.2
│ │ │ │   │ │ └── capture-stack-trace@1.0.0
│ │ │ │   │ ├── duplexer3@0.1.4
│ │ │ │   │ ├── get-stream@3.0.0
│ │ │ │   │ ├── is-redirect@1.0.0
│ │ │ │   │ ├── is-retry-allowed@1.1.0
│ │ │ │   │ ├── is-stream@1.1.0
│ │ │ │   │ ├── lowercase-keys@1.0.0
│ │ │ │   │ ├── safe-buffer@5.0.1
│ │ │ │   │ ├── timed-out@4.0.1
│ │ │ │   │ ├── unzip-response@2.0.1
│ │ │ │   │ └─┬ url-parse-lax@1.0.0
│ │ │ │   │   └── prepend-http@1.0.4
│ │ │ │   ├─┬ registry-auth-token@3.3.0
│ │ │ │   │ ├─┬ rc@1.2.1
│ │ │ │   │ │ ├── deep-extend@0.4.1
│ │ │ │   │ │ ├── minimist@1.2.0
│ │ │ │   │ │ └── strip-json-comments@2.0.1
│ │ │ │   │ └── safe-buffer@5.0.1
│ │ │ │   └─┬ registry-url@3.1.0
│ │ │ │     └─┬ rc@1.2.1
│ │ │ │       ├── deep-extend@0.4.1
│ │ │ │       ├── minimist@1.2.0
│ │ │ │       └── strip-json-comments@2.0.1
│ │ │ ├── lazy-req@2.0.0
│ │ │ ├── semver-diff@2.1.0
│ │ │ └── xdg-basedir@3.0.0
│ │ ├── uuid@3.0.1
│ │ ├─┬ validate-npm-package-license@3.0.1
│ │ │ ├─┬ spdx-correct@1.0.2
│ │ │ │ └── spdx-license-ids@1.2.2
│ │ │ └── spdx-expression-parse@1.0.4
│ │ ├─┬ validate-npm-package-name@3.0.0
│ │ │ └── builtins@1.0.3
│ │ ├─┬ which@1.2.14
│ │ │ └── isexe@2.0.0
│ │ ├── wrappy@1.0.2
│ │ └── write-file-atomic@2.1.0
│ ├─┬ npm-package-arg@5.1.2
│ │ ├── hosted-git-info@2.4.2
│ │ ├─┬ osenv@0.1.4
│ │ │ ├── os-homedir@1.0.2
│ │ │ └── os-tmpdir@1.0.2
│ │ ├── semver@5.3.0
│ │ └─┬ validate-npm-package-name@3.0.0
│ │   └── builtins@1.0.3
│ ├─┬ rimraf@2.6.1
│ │ └─┬ glob@7.1.2
│ │   ├── fs.realpath@1.0.0
│ │   ├─┬ inflight@1.0.6
│ │   │ └── wrappy@1.0.2
│ │   ├── inherits@2.0.3
│ │   ├─┬ minimatch@3.0.4
│ │   │ └─┬ brace-expansion@1.1.7
│ │   │   ├── balanced-match@0.4.2
│ │   │   └── concat-map@0.0.1
│ │   ├── once@1.4.0
│ │   └── path-is-absolute@1.0.1
│ ├─┬ update-notifier@2.2.0
│ │ ├─┬ boxen@1.1.0
│ │ │ ├── ansi-align@2.0.0
│ │ │ ├── cli-boxes@1.0.0
│ │ │ ├─┬ term-size@0.1.1
│ │ │ │ └─┬ execa@0.4.0
│ │ │ │   ├── cross-spawn-async@2.2.5
│ │ │ │   ├── npm-run-path@1.0.0
│ │ │ │   ├── object-assign@4.1.1
│ │ │ │   └── path-key@1.0.0
│ │ │ └─┬ widest-line@1.0.0
│ │ │   └── string-width@1.0.2
│ │ ├─┬ 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
│ │ ├─┬ configstore@3.1.0
│ │ │ ├─┬ dot-prop@4.1.1
│ │ │ │ └── is-obj@1.0.1
│ │ │ ├── graceful-fs@4.1.11
│ │ │ ├─┬ make-dir@1.0.0
│ │ │ │ └── pify@2.3.0
│ │ │ ├─┬ unique-string@1.0.0
│ │ │ │ └── crypto-random-string@1.0.0
│ │ │ └─┬ write-file-atomic@2.1.0
│ │ │   ├── imurmurhash@0.1.4
│ │ │   └── slide@1.1.6
│ │ ├── import-lazy@2.1.0
│ │ ├── is-npm@1.0.0
│ │ ├─┬ latest-version@3.1.0
│ │ │ └─┬ package-json@4.0.1
│ │ │   ├─┬ got@6.7.1
│ │ │   │ ├─┬ create-error-class@3.0.2
│ │ │   │ │ └── capture-stack-trace@1.0.0
│ │ │   │ ├── duplexer3@0.1.4
│ │ │   │ ├── get-stream@3.0.0
│ │ │   │ ├── is-redirect@1.0.0
│ │ │   │ ├── is-retry-allowed@1.1.0
│ │ │   │ ├── lowercase-keys@1.0.0
│ │ │   │ ├── safe-buffer@5.1.0
│ │ │   │ ├── timed-out@4.0.1
│ │ │   │ ├── unzip-response@2.0.1
│ │ │   │ └─┬ url-parse-lax@1.0.0
│ │ │   │   └── prepend-http@1.0.4
│ │ │   ├─┬ registry-auth-token@3.3.1
│ │ │   │ └─┬ rc@1.2.1
│ │ │   │   ├── deep-extend@0.4.2
│ │ │   │   ├── ini@1.3.4
│ │ │   │   ├── minimist@1.2.0
│ │ │   │   └── strip-json-comments@2.0.1
│ │ │   └── registry-url@3.1.0
│ │ ├── semver-diff@2.1.0
│ │ └── xdg-basedir@3.0.0
│ ├─┬ which@1.2.14
│ │ └── isexe@2.0.0
│ ├── y18n@3.2.1
│ └─┬ yargs@8.0.1
│   ├── camelcase@4.1.0
│   ├─┬ cliui@3.2.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
│   │ └─┬ wrap-ansi@2.1.0
│   │   └── string-width@1.0.2
│   ├── decamelize@1.2.0
│   ├── get-caller-file@1.0.2
│   ├─┬ os-locale@2.0.0
│   │ ├─┬ execa@0.5.1
│   │ │ ├─┬ cross-spawn@4.0.2
│   │ │ │ └─┬ lru-cache@4.0.2
│   │ │ │   ├── pseudomap@1.0.2
│   │ │ │   └── yallist@2.1.2
│   │ │ ├─┬ get-stream@2.3.1
│   │ │ │ └─┬ pinkie-promise@2.0.1
│   │ │ │   └── pinkie@2.0.4
│   │ │ ├── is-stream@1.1.0
│   │ │ ├─┬ npm-run-path@2.0.2
│   │ │ │ └── path-key@2.0.1
│   │ │ ├── p-finally@1.0.0
│   │ │ ├── signal-exit@3.0.2
│   │ │ └── strip-eof@1.0.0
│   │ ├─┬ lcid@1.0.0
│   │ │ └── invert-kv@1.0.0
│   │ └─┬ mem@1.1.0
│   │   └── mimic-fn@1.1.0
│   ├─┬ read-pkg-up@2.0.0
│   │ ├─┬ find-up@2.1.0
│   │ │ └─┬ locate-path@2.0.0
│   │ │   ├─┬ p-locate@2.0.0
│   │ │   │ └── p-limit@1.1.0
│   │ │   └── path-exists@3.0.0
│   │ └─┬ read-pkg@2.0.0
│   │   ├─┬ load-json-file@2.0.0
│   │   │ ├─┬ parse-json@2.2.0
│   │   │ │ └─┬ error-ex@1.3.1
│   │   │ │   └── is-arrayish@0.2.1
│   │   │ └── strip-bom@3.0.0
│   │   ├─┬ normalize-package-data@2.3.8
│   │   │ ├─┬ is-builtin-module@1.0.0
│   │   │ │ └── builtin-modules@1.1.1
│   │   │ └─┬ validate-npm-package-license@3.0.1
│   │   │   ├─┬ spdx-correct@1.0.2
│   │   │   │ └── spdx-license-ids@1.2.2
│   │   │   └── spdx-expression-parse@1.0.4
│   │   └── path-type@2.0.0
│   ├── require-directory@2.1.1
│   ├── require-main-filename@1.0.1
│   ├── set-blocking@2.0.0
│   ├─┬ string-width@2.0.0
│   │ └── is-fullwidth-code-point@2.0.0
│   ├── which-module@2.0.0
│   └── yargs-parser@7.0.0
├── path-is-inside@1.0.2
├─┬ pipage@1.0.2
│ └─┬ debug@3.1.0
│   └── ms@2.0.0
├─┬ pkg@4.1.1
│ ├── acorn@5.0.3
│ ├─┬ babel-runtime@6.23.0
│ │ ├── core-js@2.4.1
│ │ └── regenerator-runtime@0.10.5
│ ├─┬ escodegen@1.8.1
│ │ ├── estraverse@1.9.3
│ │ └─┬ source-map@0.2.0
│ │   └── amdefine@1.0.1
│ ├─┬ fs-extra@3.0.1
│ │ ├── jsonfile@3.0.0
│ │ └── universalify@0.1.0
│ ├─┬ globby@6.1.0
│ │ ├─┬ array-union@1.0.2
│ │ │ └── array-uniq@1.0.3
│ │ ├── pify@2.3.0
│ │ └─┬ pinkie-promise@2.0.1
│ │   └── pinkie@2.0.4
│ ├── minimist@1.2.0
│ ├── multistream@2.1.0
│ ├─┬ pkg-fetch@2.3.3
│ │ ├── byline@5.0.0
│ │ ├── progress@2.0.0
│ │ ├─┬ request-progress@3.0.0
│ │ │ └── throttleit@1.0.0
│ │ ├── semver@5.3.0
│ │ └─┬ unique-temp-dir@1.0.0
│ │   └── uid2@0.0.3
│ ├── progress@2.0.0
│ ├── resolve@1.3.3
│ ├── simple-bufferstream@1.0.0
│ └── stream-meter@1.0.4
├── pretty-bytes@1.0.4
├─┬ prop-types@15.5.9
│ ├─┬ fbjs@0.8.12
│ │ ├── core-js@1.2.7
│ │ ├─┬ isomorphic-fetch@2.2.1
│ │ │ ├─┬ node-fetch@1.6.3
│ │ │ │ └─┬ encoding@0.1.12
│ │ │ │   └── iconv-lite@0.4.15
│ │ │ └── whatwg-fetch@2.0.3
│ │ ├── setimmediate@1.0.5
│ │ └── ua-parser-js@0.7.12
│ └─┬ loose-envify@1.3.1
│   └── js-tokens@3.0.1
├─┬ react@15.5.4
│ ├─┬ loose-envify@1.2.0
│ │ └── js-tokens@1.0.3
│ └── object-assign@4.1.0
├── react-dom@15.5.4
├─┬ react2angular@1.1.3
│ ├─┬ @types/angular@1.6.17
│ │ └── @types/jquery@2.0.43
│ ├─┬ @types/lodash.frompairs@4.0.2
│ │ └── @types/lodash@4.14.64
│ ├── @types/react@15.0.24
│ ├── @types/react-dom@15.5.0
│ ├── lodash.frompairs@4.0.1
│ └─┬ ngcomponent@3.0.1
│   ├── @types/lodash.assign@4.2.2
│   ├── @types/lodash.mapvalues@4.6.2
│   ├── @types/lodash.some@4.6.2
│   ├── lodash.assign@4.2.0
│   ├── lodash.mapvalues@4.6.0
│   └── lodash.some@4.6.0
├─┬ readable-stream@2.3.3
│ ├── core-util-is@1.0.2
│ ├── inherits@2.0.3
│ ├── isarray@1.0.0
│ ├── process-nextick-args@1.0.7
│ ├── safe-buffer@5.1.1
│ ├── string_decoder@1.0.3
│ └── util-deprecate@1.0.2
├─┬ redux@3.5.2
│ ├── lodash-es@4.13.1
│ └── symbol-observable@0.2.4
├─┬ request@2.81.0
│ ├── aws-sign2@0.6.0
│ ├── aws4@1.6.0
│ ├── caseless@0.12.0
│ ├─┬ combined-stream@1.0.5
│ │ └── delayed-stream@1.0.0
│ ├── extend@3.0.0
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.1.2
│ │ ├── asynckit@0.4.0
│ │ ├─┬ combined-stream@1.0.5
│ │ │ └── delayed-stream@1.0.0
│ │ └─┬ mime-types@2.1.12
│ │   └── mime-db@1.24.0
│ ├─┬ har-validator@4.2.1
│ │ └── har-schema@1.0.5
│ ├─┬ hawk@3.1.3
│ │ ├── boom@2.10.1
│ │ ├── cryptiles@2.0.5
│ │ ├── hoek@2.16.3
│ │ └── sntp@1.0.9
│ ├─┬ http-signature@1.1.1
│ │ ├── assert-plus@0.2.0
│ │ ├─┬ jsprim@1.4.0
│ │ │ ├── assert-plus@1.0.0
│ │ │ ├── extsprintf@1.0.2
│ │ │ ├── json-schema@0.2.3
│ │ │ └── verror@1.3.6
│ │ └─┬ sshpk@1.11.0
│ │   ├── asn1@0.2.3
│ │   ├── assert-plus@1.0.0
│ │   ├── bcrypt-pbkdf@1.0.1
│ │   ├─┬ dashdash@1.14.1
│ │   │ └── assert-plus@1.0.0
│ │   ├── ecc-jsbn@0.1.1
│ │   ├─┬ getpass@0.1.6
│ │   │ └── assert-plus@1.0.0
│ │   ├── jodid25519@1.0.2
│ │   ├── jsbn@0.1.1
│ │   └── tweetnacl@0.14.5
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├── oauth-sign@0.8.2
│ ├── performance-now@0.2.0
│ ├── safe-buffer@5.0.1
│ ├── stringstream@0.0.5
│ ├─┬ tough-cookie@2.3.2
│ │ └── punycode@1.4.1
│ └── tunnel-agent@0.6.0
├─┬ resin-cli-form@1.4.1
│ ├── bluebird@2.10.2
│ ├─┬ inquirer@0.11.4
│ │ ├── cli-width@1.1.1
│ │ └── lodash@3.10.1
│ ├── lodash@3.10.1
│ └─┬ underscore.string@3.3.4
│   └── sprintf-js@1.0.3
├─┬ resin-cli-visuals@1.3.1
│ ├── bluebird@2.11.0
│ ├── cli-spinner@0.2.6
│ ├─┬ columnify@1.5.4
│ │ └─┬ wcwidth@1.0.1
│ │   └─┬ defaults@1.0.3
│ │     └── clone@1.0.2
│ ├─┬ inquirer-dynamic-list@1.0.0
│ │ ├── bluebird@2.11.0
│ │ └── lodash@3.10.1
│ ├── is-promise@2.1.0
│ ├── lodash@3.10.1
│ ├── moment-duration-format@1.3.0
│ └── progress-bar-formatter@2.0.1
├─┬ resin-corvus@1.0.0-beta.30
│ ├── arch@2.1.0
│ ├── deep-map-keys@1.2.0
│ ├─┬ detect-process@1.0.4
│ │ ├── detect-node@2.0.3
│ │ ├── is-electron@2.1.0
│ │ └── is-phantom@1.0.1
│ ├─┬ flat@2.0.1
│ │ └── is-buffer@1.1.4
│ ├── lodash@4.17.4
│ ├── lodash-deep@2.0.0
│ ├── mixpanel@0.6.0
│ ├── mixpanel-browser@2.13.0
│ ├─┬ os-locale@2.1.0
│ │ ├─┬ execa@0.7.0
│ │ │ ├─┬ cross-spawn@5.1.0
│ │ │ │ └─┬ shebang-command@1.2.0
│ │ │ │   └── shebang-regex@1.0.0
│ │ │ ├── get-stream@3.0.0
│ │ │ ├── is-stream@1.1.0
│ │ │ ├─┬ npm-run-path@2.0.2
│ │ │ │ └── path-key@2.0.1
│ │ │ ├── p-finally@1.0.0
│ │ │ └── strip-eof@1.0.0
│ │ ├─┬ lcid@1.0.0
│ │ │ └── invert-kv@1.0.0
│ │ └─┬ mem@1.1.0
│ │   └── mimic-fn@1.1.0
│ ├─┬ raven@1.2.1
│ │ ├── cookie@0.3.1
│ │ ├── lsmod@1.0.0
│ │ ├── stack-trace@0.0.9
│ │ └── uuid@3.0.0
│ └── raven-js@3.19.1
├─┬ sass-lint@1.10.2
│ ├── commander@2.9.0
│ ├─┬ eslint@2.13.1
│ │ ├─┬ doctrine@1.5.0
│ │ │ └── isarray@1.0.0
│ │ ├── file-entry-cache@1.3.1
│ │ ├─┬ inquirer@0.12.0
│ │ │ └── cli-width@2.1.0
│ │ ├── json-stable-stringify@1.0.1
│ │ ├── shelljs@0.6.1
│ │ └── strip-json-comments@1.0.4
│ ├── front-matter@2.1.0
│ ├── fs-extra@1.0.0
│ ├─┬ globule@1.1.0
│ │ └── lodash@4.16.6
│ ├─┬ gonzales-pe@3.4.7
│ │ └── minimist@1.1.3
│ ├── lodash.capitalize@4.2.1
│ ├── lodash.kebabcase@4.1.1
│ ├── merge@1.2.0
│ ├── path-is-absolute@1.0.1
│ └── util@0.10.3
├── semver@5.1.1
├── speedometer@1.0.0
├── sudo-prompt@6.1.0
├─┬ tmp@0.0.31
│ └── os-tmpdir@1.0.2
├── trackjs@2.3.1
├─┬ udif@0.10.0
│ ├── apple-data-compression@0.1.0
│ ├─┬ plist@2.0.1
│ │ ├── base64-js@1.1.2
│ │ └── xmlbuilder@8.2.2
│ └─┬ seek-bzip@1.0.5
│   └── commander@2.8.1
├─┬ unbzip2-stream@1.0.11
│ ├─┬ buffer@3.6.0
│ │ ├── base64-js@0.0.8
│ │ ├── ieee754@1.1.6
│ │ └── isarray@1.0.0
│ └── through@2.3.8
├─┬ usb@1.3.0 (git://github.com/tessel/node-usb.git#38cc9cc75759e74f3d3ee8c79ca852395c3529b0)
│ ├── nan@2.6.2
│ └─┬ node-pre-gyp@0.6.36
│   ├── nopt@4.0.1
│   ├── semver@5.4.1
│   └─┬ tar-pack@3.4.0
│     ├── fstream-ignore@1.0.5
│     └── uid-number@0.0.6
├── uuid@3.0.1
├─┬ versionist@2.8.1
│ ├── async@2.0.0
│ ├─┬ debug@2.5.1
│ │ └── ms@0.7.2
│ ├─┬ handlebars@4.0.6
│ │ ├── async@1.5.2
│ │ ├─┬ optimist@0.6.1
│ │ │ ├── minimist@0.0.10
│ │ │ └── wordwrap@0.0.3
│ │ ├── source-map@0.4.4
│ │ └─┬ uglify-js@2.8.13
│ │   ├── 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
│ │     │ ├── right-align@0.1.3
│ │     │ └── wordwrap@0.0.2
│ │     └── window-size@0.1.0
│ ├─┬ handlebars-helpers@0.6.2
│ │ ├─┬ arr-filter@1.1.2
│ │ │ └── make-iterator@1.0.0
│ │ ├── arr-flatten@1.0.1
│ │ ├─┬ array-sort@0.1.2
│ │ │ └── kind-of@2.0.1
│ │ ├─┬ code-context@0.5.3
│ │ │ └── parse-code-context@0.1.3
│ │ ├─┬ create-frame@0.1.4
│ │ │ ├── extend-shallow@2.0.1
│ │ │ └── lazy-cache@2.0.2
│ │ ├─┬ define-property@0.2.5
│ │ │ └─┬ is-descriptor@0.1.5
│ │ │   ├── is-accessor-descriptor@0.1.6
│ │ │   ├── is-data-descriptor@0.1.4
│ │ │   └── lazy-cache@2.0.2
│ │ ├── for-in@0.1.8
│ │ ├─┬ for-own@0.1.5
│ │ │ └── for-in@1.0.2
│ │ ├─┬ get-object@0.2.0
│ │ │ └── isobject@0.2.0
│ │ ├── get-value@2.0.6
│ │ ├─┬ helper-date@0.2.3
│ │ │ ├─┬ date.js@0.3.1
│ │ │ │ ├── debug@0.7.4
│ │ │ │ ├── lodash.filter@4.6.0
│ │ │ │ ├── lodash.findkey@4.6.0
│ │ │ │ ├── lodash.foreach@4.5.0
│ │ │ │ ├── lodash.includes@4.3.0
│ │ │ │ ├── lodash.isempty@4.4.0
│ │ │ │ ├── lodash.partition@4.6.0
│ │ │ │ └── lodash.trim@4.5.1
│ │ │ └── moment@2.17.1
│ │ ├─┬ helper-markdown@0.2.1
│ │ │ ├─┬ isobject@2.1.0
│ │ │ │ └── isarray@1.0.0
│ │ │ └─┬ remarkable@1.7.1
│ │ │   ├─┬ argparse@0.1.16
│ │ │   │ ├── underscore@1.7.0
│ │ │   │ └── underscore.string@2.4.0
│ │ │   └── autolinker@0.15.3
│ │ ├─┬ helper-md@0.2.1
│ │ │ ├── ent@2.2.0
│ │ │ └── fs-exists-sync@0.1.0
│ │ ├── html-tag@0.2.1
│ │ ├── index-of@0.2.0
│ │ ├─┬ is-even@0.1.1
│ │ │ └── is-number@1.1.2
│ │ ├─┬ is-glob@2.0.1
│ │ │ └── is-extglob@1.0.0
│ │ ├── is-number@2.1.0
│ │ ├─┬ is-odd@0.1.1
│ │ │ └── is-number@1.1.2
│ │ ├── kind-of@3.1.0
│ │ ├─┬ lazy-cache@2.0.2
│ │ │ └─┬ set-getter@0.1.0
│ │ │   └── to-object-path@0.3.0
│ │ ├── logging-helpers@0.4.0
│ │ ├── make-iterator@0.2.1
│ │ ├─┬ markdown-utils@0.7.3
│ │ │ ├── array-slice@0.2.3
│ │ │ └─┬ list-item@1.1.1
│ │ │   ├─┬ expand-range@1.8.2
│ │ │   │ └─┬ fill-range@2.2.3
│ │ │   │   ├─┬ isobject@2.1.0
│ │ │   │   │ └── isarray@1.0.0
│ │ │   │   └── randomatic@1.1.6
│ │ │   └── repeat-string@1.6.1
│ │ ├─┬ micromatch@2.3.11
│ │ │ ├── arr-diff@2.0.0
│ │ │ ├── array-unique@0.2.1
│ │ │ ├─┬ braces@1.8.5
│ │ │ │ ├── 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
│ │ │ ├── object.omit@2.0.1
│ │ │ ├─┬ parse-glob@3.0.4
│ │ │ │ ├── glob-base@0.3.0
│ │ │ │ └── is-dotfile@1.0.2
│ │ │ └─┬ regex-cache@0.4.3
│ │ │   ├── is-equal-shallow@0.1.3
│ │ │   └── is-primitive@2.0.0
│ │ ├─┬ mixin-deep@1.2.0
│ │ │ ├── for-in@1.0.2
│ │ │ └── is-extendable@0.1.1
│ │ ├── normalize-path@2.0.1
│ │ ├─┬ relative@3.0.2
│ │ │ └─┬ isobject@2.1.0
│ │ │   └── isarray@1.0.0
│ │ ├─┬ repo-utils@0.3.7
│ │ │ ├─┬ git-config-path@1.0.1
│ │ │ │ └─┬ homedir-polyfill@1.0.1
│ │ │ │   └── parse-passwd@1.0.0
│ │ │ ├─┬ is-absolute@0.2.6
│ │ │ │ ├─┬ is-relative@0.2.1
│ │ │ │ │ └─┬ is-unc-path@0.1.2
│ │ │ │ │   └── unc-path-regex@0.1.2
│ │ │ │ └── is-windows@0.2.0
│ │ │ ├── lazy-cache@2.0.2
│ │ │ ├─┬ omit-empty@0.4.1
│ │ │ │ ├── has-values@0.1.4
│ │ │ │ └── reduce-object@0.1.3
│ │ │ ├── parse-author@1.0.0
│ │ │ ├── parse-git-config@1.1.1
│ │ │ ├── parse-github-url@0.3.2
│ │ │ └─┬ project-name@0.2.6
│ │ │   ├─┬ find-pkg@0.1.2
│ │ │   │ └─┬ find-file-up@0.1.3
│ │ │   │   └─┬ resolve-dir@0.1.1
│ │ │   │     ├── expand-tilde@1.2.2
│ │ │   │     └─┬ global-modules@0.2.3
│ │ │   │       └─┬ global-prefix@0.1.5
│ │ │   │         └── which@1.2.12
│ │ │   └─┬ git-repo-name@0.6.0
│ │ │     ├── cwd@0.9.1
│ │ │     ├── file-name@0.1.0
│ │ │     ├── lazy-cache@1.0.4
│ │ │     └── remote-origin-url@0.5.2
│ │ ├── striptags@2.2.1
│ │ ├─┬ to-file@0.2.0
│ │ │ ├─┬ file-contents@0.2.4
│ │ │ │ ├─┬ file-stat@0.1.3
│ │ │ │ │ ├── lazy-cache@0.2.7
│ │ │ │ │ └─┬ through2@2.0.3
│ │ │ │ │   └── xtend@4.0.1
│ │ │ │ ├── is-utf8@0.2.1
│ │ │ │ ├── lazy-cache@0.2.7
│ │ │ │ └─┬ through2@2.0.3
│ │ │ │   └── xtend@4.0.1
│ │ │ ├── glob-parent@2.0.0
│ │ │ ├── is-valid-glob@0.3.0
│ │ │ ├─┬ isobject@2.1.0
│ │ │ │ └── isarray@1.0.0
│ │ │ ├── lazy-cache@2.0.2
│ │ │ └─┬ vinyl@1.2.0
│ │ │   ├── clone-stats@0.0.1
│ │ │   └── replace-ext@0.0.1
│ │ └── to-gfm-code-block@0.1.1
│ ├─┬ markdown@0.5.0
│ │ └── nopt@2.1.2
│ ├── semver@5.3.0
│ ├─┬ touch@1.0.0
│ │ └── nopt@1.0.10
│ └─┬ update-json@1.0.0
│   └── async@1.5.2
├─┬ xml2js@0.4.17
│ ├── sax@1.2.2
│ └── xmlbuilder@4.2.1
├─┬ yargs@4.7.1
│ ├── camelcase@3.0.0
│ ├─┬ cliui@3.2.0
│ │ └── wrap-ansi@2.0.0
│ ├── decamelize@1.2.0
│ ├─┬ lodash.assign@4.0.9
│ │ ├── lodash.keys@4.0.7
│ │ └── lodash.rest@4.0.3
│ ├── os-locale@1.4.0
│ ├─┬ pkg-conf@1.1.3
│ │ ├── find-up@1.1.2
│ │ ├─┬ load-json-file@1.1.0
│ │ │ ├── graceful-fs@4.1.4
│ │ │ ├─┬ parse-json@2.2.0
│ │ │ │ └─┬ error-ex@1.3.0
│ │ │ │   └── is-arrayish@0.2.1
│ │ │ └── strip-bom@2.0.0
│ │ └── symbol@0.2.3
│ ├─┬ read-pkg-up@1.0.1
│ │ └─┬ read-pkg@1.1.0
│ │   └─┬ path-type@1.1.0
│ │     └── graceful-fs@4.1.4
│ ├── require-main-filename@1.0.1
│ ├── set-blocking@1.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
│ ├── window-size@0.2.0
│ ├── y18n@3.2.1
│ └─┬ yargs-parser@2.4.0
│   └── camelcase@2.1.1
└─┬ yauzl@2.6.0
  └─┬ fd-slicer@1.0.1
    └── pend@1.2.0
jhermsmeier commented 6 years ago

I've just pushed a update-sudo-prompt branch which updates sudo-prompt, if you'd like to try that – not sure what might be causing it atm, as I can't reproduce this :/

jviotti commented 6 years ago

@craig-mulligan Did the updated sudo prompt work?

jviotti commented 6 years ago

For the record, this only happens when this condition is true: https://github.com/jorangreef/sudo-prompt/blob/v6.1.0/index.js#L316

jviotti commented 6 years ago

@craig-mulligan Do you get to see the elevation dialog?

craigmulligan commented 6 years ago

@jviotti no, I didn't get a prompt.

To ensure I'm testing correctly I followed the following.

run `make electron-develop` on `update-sudo-prompt branch`
run `npm start` and try flash image.
See the same result with elevation cancelled a second after starting. 
jviotti commented 6 years ago

@craig-mulligan You're doing it right :+1: I reviewed the sudo-prompt changes since the version we were using and I suspected the problem would persist.

Can you try running the hello world example sudo-prompt provides in the "Usage" section: https://github.com/jorangreef/sudo-prompt#usage?

If that works, then there is a problem in Etcher. If not, the problem in on sudo-prompt. We can dig deeper whatever the outcome is :)

craigmulligan commented 6 years ago

Hey @jviotti, I tried running

sudo.exec('echo hello', {},
  function(error, stdout, stderr) {
    if (error) throw error;
    console.log('stdout: ' + stdout);
  }
);

And I get:

/Users/gaudi/work/sudo-test/index.js:8
    if (error) throw error;
               ^

Error: User did not grant permission.
    at ReadFileContext.callback (/Users/gaudi/work/sudo-test/node_modules/sudo-prompt/index.js:316:49)
    at FSReqWrap.readFileAfterOpen [as oncomplete] (fs.js:367:13)
jviotti commented 6 years ago

I opened an issue on sudo-prompt: https://github.com/jorangreef/sudo-prompt/issues/64

lurch commented 6 years ago

Should this be removed from the v1.2.0 milestone, given that Etcher v1.2.0 has already been released?

jviotti commented 6 years ago

I'll remove this from the v1.2.1 milestone as it seems it was an issue on @hobochild 's mac, and not something we can do anything about from the Etcher side.

I'll still leave it open to see if we can get to the bottom of it in https://github.com/jorangreef/sudo-prompt/issues/64, and hopefully provide some documentation.

lurch commented 6 years ago

In this comment @hobochild says that he reinstalled his macOS and the issue has now gone away. Which makes it look like this was a one-off glitch unrelated to Etcher, so I'll close this issue but we can re-open it if anyone else runs into it in future.

jhermsmeier commented 6 years ago

Where "one-off glitch" means a corrupted Mac OS install :P

lurch commented 6 years ago

I know nothing about Mac OS, so feel free to re-open... :)

jhermsmeier commented 6 years ago

Nah, all god; I just meant to clarify that this happens if your Mac OS install is broken, as detailed in https://github.com/jorangreef/sudo-prompt/issues/64