Foundry376 / Mailspring

:love_letter: A beautiful, fast and fully open source mail client for Mac, Windows and Linux.
https://getmailspring.com/
GNU General Public License v3.0
15.57k stars 907 forks source link

Error ELIFECYCLE on npm postinstall #762

Closed scazzy closed 5 years ago

scazzy commented 6 years ago
Are there any related issues?

Yes, but unresolved

What operating system are you using?

MacOS 10.12.6

What version of Mailspring are you using?

1.1.5

Bug?

Do you have any third-party plugins installed? If so, which ones?

No

Is the issue related to a specific email provider (Gmail, Exchange, etc.)?

No

Is the issue reproducible with a particular attachment, message, signature, etc?
git clone path/to/repo
npm install

The error actually occurs on execution of npm run postinstall.

I even tried adding this package separately, it was added fine: emorikawa/windows-shortcuts#b0a0fc7fb86fb03e06ddceb9cbd6c9c5c29e571e

Console log:

(github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│ ├─┬ get-window@1.1.1
│ │ └── get-document@1.0.0
│ ├── is-hotkey@0.1.1
│ ├── is-in-browser@1.1.3
│ ├── is-window@1.0.2
│ ├── keycode@2.1.9
│ ├── lodash.throttle@4.1.1
│ ├── prop-types@15.6.0 deduped
│ ├── react-immutable-proptypes@2.1.0
│ ├─┬ react-portal@3.2.0
│ │ └── prop-types@15.6.0 deduped
│ ├── selection-is-backward@1.0.0
│ ├── slate-base64-serializer@0.2.19 deduped
│ ├── slate-dev-logger@0.1.37 deduped
│ ├── slate-plain-serializer@0.5.0 deduped
│ └── slate-prop-types@0.4.17 deduped
├── slate-soft-break@0.6.0
├─┬ source-map-support@0.3.3
│ └─┬ source-map@0.1.32
│   └── amdefine@1.0.1
├─┬ temp@0.8.3
│ ├── os-tmpdir@1.0.2
│ └── rimraf@2.2.8
├── tld@0.0.2
├── underscore@1.8.3
├─┬ underscore.string@3.3.4
│ ├── sprintf-js@1.1.1
│ └── util-deprecate@1.0.2 deduped
├─┬ utf7@1.0.2
│ └── semver@5.3.0
└── windows-shortcuts@0.1.1 (github:emorikawa/windows-shortcuts#b0a0fc7fb86fb03e06ddceb9cbd6c9c5c29e571e)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! mailspring-root@0.0.1 postinstall: `node scripts/postinstall.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the mailspring-root@0.0.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/****/.npm/_logs/2018-03-14T07_54_02_313Z-debug.log

Debug log

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/8.9.0/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'run',
1 verbose cli   'postinstall' ]
2 info using npm@5.6.0
3 info using node@v8.9.0
4 verbose run-script [ 'postinstall' ]
5 info lifecycle mailspring-root@0.0.1~postinstall: mailspring-root@0.0.1
6 verbose lifecycle mailspring-root@0.0.1~postinstall: unsafe-perm in lifecycle true
7 verbose lifecycle mailspring-root@0.0.1~postinstall: PATH: /usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin:/Users/****/Projects/tests/Mailspring/node_modules/.bin:/Users/****/anaconda2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
8 verbose lifecycle mailspring-root@0.0.1~postinstall: CWD: /Users/****/Projects/tests/Mailspring
9 silly lifecycle mailspring-root@0.0.1~postinstall: Args: [ '-c', 'node scripts/postinstall.js' ]
10 silly lifecycle mailspring-root@0.0.1~postinstall: Returned: code: 1  signal: null
11 info lifecycle mailspring-root@0.0.1~postinstall: Failed to exec postinstall script
12 verbose stack Error: mailspring-root@0.0.1 postinstall: `node scripts/postinstall.js`
12 verbose stack Exit status 1
12 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:285:16)
12 verbose stack     at emitTwo (events.js:126:13)
12 verbose stack     at EventEmitter.emit (events.js:214:7)
12 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
12 verbose stack     at emitTwo (events.js:126:13)
12 verbose stack     at ChildProcess.emit (events.js:214:7)
12 verbose stack     at maybeClose (internal/child_process.js:925:16)
12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
13 verbose pkgid mailspring-root@0.0.1
14 verbose cwd /Users/****/Projects/tests/Mailspring
15 verbose Darwin 16.7.0
16 verbose argv "/usr/local/Cellar/node/8.9.0/bin/node" "/usr/local/bin/npm" "run" "postinstall"
17 verbose node v8.9.0
18 verbose npm  v5.6.0
19 error code ELIFECYCLE
20 error errno 1
21 error mailspring-root@0.0.1 postinstall: `node scripts/postinstall.js`
21 error Exit status 1
22 error Failed at the mailspring-root@0.0.1 postinstall script.
22 error This is probably not a problem with npm. There is likely additional logging output above.
23 verbose exit [ 1, true ]
scazzy commented 6 years ago

@bengotow would you be able to check this error?

scazzy commented 6 years ago

@bengotow as requested by you, please find below entire npm install log.


> mailspring-root@0.0.1 postinstall /Users/****/Projects/tests/Mailspring
> node scripts/postinstall.js

-- Clearing app/node_modules --

-- Running npm install in ./app with electron config --

> runas@3.2.5 install /Users/****/Projects/tests/Mailspring/app/node_modules/runas
> prebuild-install || node-gyp rebuild

  CXX(target) Release/obj.target/runas/src/main.o
  CXX(target) Release/obj.target/runas/src/runas_darwin.o
  CXX(target) Release/obj.target/runas/src/fork.o
  SOLINK_MODULE(target) Release/runas.node

> node-mac-notifier@0.0.13 install /Users/****/Projects/tests/Mailspring/app/node_modules/node-mac-notifier
> node-gyp rebuild

  CXX(target) Release/obj.target/Notification/Notification.o
  CXX(target) Release/obj.target/Notification/mac_notification.o
  CXX(target) Release/obj.target/Notification/notification_center_delegate.o
  CXX(target) Release/obj.target/Notification/bundle_id_override.o
  SOLINK_MODULE(target) Release/Notification.node

> keytar@4.1.0 install /Users/****/Projects/tests/Mailspring/app/node_modules/keytar
> node-gyp rebuild

  CXX(target) Release/obj.target/keytar/src/async.o
  CXX(target) Release/obj.target/keytar/src/main.o
  CXX(target) Release/obj.target/keytar/src/keytar_mac.o
  SOLINK_MODULE(target) Release/keytar.node

> better-sqlite3@1.3.6 install /Users/****/Projects/tests/Mailspring/app/node_modules/better-sqlite3
> node install

  ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3140100/sqlite3.c
  TOUCH Release/obj.target/deps/action_before_build.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3140100/sqlite3.o
  LIBTOOL-STATIC Release/sqlite3.a
  CXX(target) Release/obj.target/better_sqlite3/src/objects/int64/int64.o
  CXX(target) Release/obj.target/better_sqlite3/src/util/data.o
  CXX(target) Release/obj.target/better_sqlite3/src/objects/database/database.o
  CXX(target) Release/obj.target/better_sqlite3/src/objects/statement/statement.o
  CXX(target) Release/obj.target/better_sqlite3/src/objects/transaction/transaction.o
  CXX(target) Release/obj.target/better_sqlite3/src/workers/open.o
  CXX(target) Release/obj.target/better_sqlite3/src/workers/close.o
  CXX(target) Release/obj.target/better_sqlite3/src/binder/binder.o
  CXX(target) Release/obj.target/better_sqlite3/src/multi-binder/multi-binder.o
  CXX(target) Release/obj.target/better_sqlite3/src/better_sqlite3.o
  SOLINK_MODULE(target) Release/better_sqlite3.node

> @paulcbetts/cld@2.4.6 install /Users/****/Projects/tests/Mailspring/app/node_modules/@paulcbetts/cld
> node-gyp rebuild

  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cldutil.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cldutil_shared.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/compact_lang_det.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/compact_lang_det_hint_code.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/compact_lang_det_impl.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/debug.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/fixunicodevalue.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/generated_entities.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/generated_language.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/generated_ulscript.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/getonescriptspan.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/lang_script.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/offsetmap.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/scoreonescriptspan.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/tote.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/utf8statetable.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld_generated_cjk_uni_prop_80.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_cjk_compatible.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld_generated_cjk_delta_bi_32.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/generated_distinct_bi_0.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_quad0122.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_deltaocta0122.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_deltaoctachrome.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_distinctocta0122.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_distinctoctachrome.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_quadchrome_16.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld2_generated_quadchrome_2.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld_generated_score_quad_octa_0122.o
  CXX(target) Release/obj.target/cld-c/deps/cld/internal/cld_generated_score_quad_octa_2.o
  LIBTOOL-STATIC Release/cld-c.a
  CXX(target) Release/obj.target/cld/src/constants.o
  CXX(target) Release/obj.target/cld/src/cld.o
  SOLINK_MODULE(target) Release/cld.node

> keyboard-layout@2.0.13 install /Users/****/Projects/tests/Mailspring/app/node_modules/keyboard-layout
> node-gyp rebuild

  CXX(target) Release/obj.target/keyboard-layout-manager/src/keyboard-layout-manager-mac.o
  SOLINK_MODULE(target) Release/keyboard-layout-manager.node

> @paulcbetts/spellchecker@4.0.6 install /Users/****/Projects/tests/Mailspring/app/node_modules/@paulcbetts/spellchecker
> node-gyp rebuild

  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/base/md5.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/base/strings/string_piece.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/google/bdict_reader.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/google/bdict.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/affentry.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/affixmgr.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/csutil.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/dictmgr.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/filemgr.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/hashmgr.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/hunspell.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/hunzip.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/phonet.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/replist.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/suggestmgr.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/parsers/textparser.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/base/strings/string16.o
  LIBTOOL-STATIC Release/hunspell.a
  CXX(target) Release/obj.target/spellchecker/src/main.o
  CXX(target) Release/obj.target/spellchecker/src/spellchecker_hunspell.o
  CXX(target) Release/obj.target/spellchecker/src/spellchecker_mac.o
  CXX(target) Release/obj.target/spellchecker/src/transcoder_posix.o
  SOLINK_MODULE(target) Release/spellchecker.node

> @paulcbetts/cld@2.4.6 postinstall /Users/****/Projects/tests/Mailspring/app/node_modules/@paulcbetts/cld
> node bin/postinstall.js

added 554 packages in 223.582s

-- Running npm dedupe in ./app with electron config --
up to date in 2.166s

-- Running npm ls in ./app with electron config --
mailspring@1.1.5 /Users/****/Projects/tests/Mailspring/app
├─┬ babel-core@6.22.0
│ ├─┬ babel-code-frame@6.26.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
│ │ │ │ └── ansi-regex@2.1.1 deduped
│ │ │ └── supports-color@2.0.0
│ │ ├── esutils@2.0.2
│ │ └── js-tokens@3.0.2
│ ├─┬ babel-generator@6.26.0
│ │ ├── babel-messages@6.23.0 deduped
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── babel-types@6.26.0 deduped
│ │ ├─┬ detect-indent@4.0.0
│ │ │ └─┬ repeating@2.0.1
│ │ │   └─┬ is-finite@1.0.2
│ │ │     └── number-is-nan@1.0.1
│ │ ├── jsesc@1.3.0
│ │ ├── lodash@4.17.4 deduped
│ │ ├── source-map@0.5.7 deduped
│ │ └── trim-right@1.0.1
│ ├─┬ babel-helpers@6.24.1
│ │ ├── babel-runtime@6.26.0 deduped
│ │ └── babel-template@6.26.0 deduped
│ ├─┬ babel-messages@6.23.0
│ │ └── babel-runtime@6.26.0 deduped
│ ├─┬ babel-register@6.26.0
│ │ ├─┬ babel-core@6.26.0
│ │ │ ├── babel-code-frame@6.26.0 deduped
│ │ │ ├── babel-generator@6.26.0 deduped
│ │ │ ├── babel-helpers@6.24.1 deduped
│ │ │ ├── babel-messages@6.23.0 deduped
│ │ │ ├── babel-register@6.26.0 deduped
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ ├── babel-template@6.26.0 deduped
│ │ │ ├── babel-traverse@6.26.0 deduped
│ │ │ ├── babel-types@6.26.0 deduped
│ │ │ ├── babylon@6.18.0 deduped
│ │ │ ├── convert-source-map@1.5.1 deduped
│ │ │ ├─┬ debug@2.6.9
│ │ │ │ └── ms@2.0.0 deduped
│ │ │ ├── json5@0.5.1 deduped
│ │ │ ├── lodash@4.17.4 deduped
│ │ │ ├── minimatch@3.0.4 deduped
│ │ │ ├── path-is-absolute@1.0.1 deduped
│ │ │ ├── private@0.1.8 deduped
│ │ │ ├── slash@1.0.0 deduped
│ │ │ └── source-map@0.5.7 deduped
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── core-js@2.5.3
│ │ ├─┬ home-or-tmp@2.0.0
│ │ │ ├── os-homedir@1.0.2 deduped
│ │ │ └── os-tmpdir@1.0.2 deduped
│ │ ├── lodash@4.17.4 deduped
│ │ ├── mkdirp@0.5.1 deduped
│ │ └─┬ source-map-support@0.4.18
│ │   └── source-map@0.5.7 deduped
│ ├─┬ babel-runtime@6.26.0
│ │ ├── core-js@2.5.3 deduped
│ │ └── regenerator-runtime@0.11.1
│ ├─┬ babel-template@6.26.0
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── babel-traverse@6.26.0 deduped
│ │ ├── babel-types@6.26.0 deduped
│ │ ├── babylon@6.18.0 deduped
│ │ └── lodash@4.17.4 deduped
│ ├─┬ babel-traverse@6.26.0
│ │ ├── babel-code-frame@6.26.0 deduped
│ │ ├── babel-messages@6.23.0 deduped
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── babel-types@6.26.0 deduped
│ │ ├── babylon@6.18.0 deduped
│ │ ├─┬ debug@2.6.9
│ │ │ └── ms@2.0.0
│ │ ├── globals@9.18.0
│ │ ├─┬ invariant@2.2.2
│ │ │ └── loose-envify@1.3.1 deduped
│ │ └── lodash@4.17.4 deduped
│ ├─┬ babel-types@6.26.0
│ │ ├── babel-runtime@6.26.0 deduped
│ │ ├── esutils@2.0.2 deduped
│ │ ├── lodash@4.17.4 deduped
│ │ └── to-fast-properties@1.0.3
│ ├── babylon@6.18.0
│ ├── convert-source-map@1.5.1
│ ├── debug@2.6.3 deduped (github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│ ├── json5@0.5.1
│ ├── lodash@4.17.4
│ ├─┬ minimatch@3.0.4
│ │ └─┬ brace-expansion@1.1.8
│ │   ├── balanced-match@1.0.0
│ │   └── concat-map@0.0.1
│ ├── path-is-absolute@1.0.1
│ ├── private@0.1.8
│ ├── slash@1.0.0
│ └── source-map@0.5.7
├── UNMET DEPENDENCY babel-preset-electron@github:bengotow/babel-preset-electron#00783dfc438f122997993ae597a41ec315ba121b
├─┬ babel-preset-react@6.22.0
│ ├── babel-plugin-syntax-flow@6.18.0
│ ├── babel-plugin-syntax-jsx@6.18.0
│ ├─┬ babel-plugin-transform-flow-strip-types@6.22.0
│ │ ├── babel-plugin-syntax-flow@6.18.0 deduped
│ │ └── babel-runtime@6.26.0 deduped
│ ├─┬ babel-plugin-transform-react-display-name@6.25.0
│ │ └── babel-runtime@6.26.0 deduped
│ ├─┬ babel-plugin-transform-react-jsx@6.24.1
│ │ ├─┬ babel-helper-builder-react-jsx@6.26.0
│ │ │ ├── babel-runtime@6.26.0 deduped
│ │ │ ├── babel-types@6.26.0 deduped
│ │ │ └── esutils@2.0.2 deduped
│ │ ├── babel-plugin-syntax-jsx@6.18.0 deduped
│ │ └── babel-runtime@6.26.0 deduped
│ ├─┬ babel-plugin-transform-react-jsx-self@6.22.0
│ │ ├── babel-plugin-syntax-jsx@6.18.0 deduped
│ │ └── babel-runtime@6.26.0 deduped
│ └─┬ babel-plugin-transform-react-jsx-source@6.22.0
│   ├── babel-plugin-syntax-jsx@6.18.0 deduped
│   └── babel-runtime@6.26.0 deduped
├── babel-regenerator-runtime@6.5.0
├─┬ better-sqlite3@1.3.6 (github:bengotow/better-sqlite3#dcd5b6e73c9a5329fd72c85be3316131fcfb83ab)
│ ├── bindings@1.3.0
│ ├── nan@2.8.0
│ └── to-descriptor@1.0.1
├── chromium-net-errors@1.0.3
├─┬ chrono-node@1.3.5
│ └── moment@2.12.0 deduped
├── classnames@1.2.1
├─┬ collapse-whitespace@1.1.6
│ ├── block-elements@1.2.0
│ └── void-elements@2.0.1
├─┬ debug@2.6.3 (github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│ └── ms@0.7.3
├─┬ electron-lets-move@0.0.5
│ └── sudo-prompt@6.2.1
├─┬ electron-spellchecker@1.1.2
│ ├─┬ @paulcbetts/cld@2.4.6
│ │ ├─┬ glob@5.0.15
│ │ │ ├── inflight@1.0.6 deduped
│ │ │ ├── inherits@2.0.3 deduped
│ │ │ ├── minimatch@3.0.4 deduped
│ │ │ ├── once@1.4.0 deduped
│ │ │ └── path-is-absolute@1.0.1 deduped
│ │ ├── nan@2.8.0 deduped
│ │ ├── rimraf@2.5.2 deduped
│ │ └── underscore@1.8.3 deduped
│ ├─┬ @paulcbetts/spellchecker@4.0.6
│ │ └── nan@2.8.0 deduped
│ ├── bcp47@1.1.2
│ ├── debug@2.6.3 deduped (github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│ ├─┬ electron-remote@1.2.0
│ │ ├── debug@2.6.3 deduped (github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│ │ ├── hashids@1.1.4
│ │ ├── lodash.get@4.4.2
│ │ ├── pify@2.3.0 deduped
│ │ ├── rxjs@5.5.6 deduped
│ │ └── xmlhttprequest@1.8.0
│ ├─┬ keyboard-layout@2.0.13
│ │ ├── event-kit@2.4.0
│ │ └── nan@2.8.0 deduped
│ ├── lru-cache@4.1.1 deduped
│ ├── mkdirp@0.5.1 deduped
│ ├── pify@2.3.0
│ ├─┬ rxjs@5.5.6
│ │ └── symbol-observable@1.0.1
│ ├─┬ rxjs-serial-subscription@0.1.1
│ │ └── rxjs@5.5.6 deduped
│ └─┬ spawn-rx@2.0.12
│   ├── debug@2.6.3 deduped (github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│   ├── lodash.assign@4.2.0
│   └── rxjs@5.5.6 deduped
├─┬ emoji-data@0.2.0
│ └── underscore.string@2.4.0
├─┬ enzyme@3.3.0
│ ├─┬ cheerio@1.0.0-rc.2
│ │ ├─┬ css-select@1.2.0
│ │ │ ├── boolbase@1.0.0
│ │ │ ├── css-what@2.1.0
│ │ │ ├─┬ domutils@1.5.1
│ │ │ │ ├── dom-serializer@0.1.0 deduped
│ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ └─┬ nth-check@1.0.1
│ │ │   └── boolbase@1.0.0 deduped
│ │ ├─┬ dom-serializer@0.1.0
│ │ │ ├── domelementtype@1.1.3
│ │ │ └── entities@1.1.1 deduped
│ │ ├── entities@1.1.1
│ │ ├─┬ htmlparser2@3.9.2
│ │ │ ├── domelementtype@1.3.0
│ │ │ ├─┬ domhandler@2.4.1
│ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ ├── domutils@1.5.1 deduped
│ │ │ ├── entities@1.1.1 deduped
│ │ │ ├── inherits@2.0.3 deduped
│ │ │ └─┬ readable-stream@2.3.3
│ │ │   ├── core-util-is@1.0.2
│ │ │   ├── inherits@2.0.3 deduped
│ │ │   ├── isarray@1.0.0
│ │ │   ├── process-nextick-args@1.0.7
│ │ │   ├── safe-buffer@5.1.1 deduped
│ │ │   ├─┬ string_decoder@1.0.3
│ │ │   │ └── safe-buffer@5.1.1 deduped
│ │ │   └── util-deprecate@1.0.2 deduped
│ │ ├── lodash@4.17.4 deduped
│ │ └─┬ parse5@3.0.3
│ │   └── @types/node@9.4.0
│ ├─┬ function.prototype.name@1.1.0
│ │ ├─┬ define-properties@1.1.2
│ │ │ ├── foreach@2.0.5
│ │ │ └── object-keys@1.0.11 deduped
│ │ ├── function-bind@1.1.1
│ │ └── is-callable@1.1.3 deduped
│ ├─┬ has@1.0.1
│ │ └── function-bind@1.1.1 deduped
│ ├── is-boolean-object@1.0.0
│ ├── is-callable@1.1.3
│ ├── is-number-object@1.0.3
│ ├── is-string@1.0.4
│ ├── is-subset@0.1.1
│ ├── lodash@4.17.4 deduped
│ ├── object-inspect@1.5.0
│ ├── object-is@1.0.1
│ ├─┬ object.assign@4.1.0
│ │ ├── define-properties@1.1.2 deduped
│ │ ├── function-bind@1.1.1 deduped
│ │ ├── has-symbols@1.0.0
│ │ └── object-keys@1.0.11
│ ├─┬ object.entries@1.0.4
│ │ ├── define-properties@1.1.2 deduped
│ │ ├─┬ es-abstract@1.10.0
│ │ │ ├─┬ es-to-primitive@1.1.1
│ │ │ │ ├── is-callable@1.1.3 deduped
│ │ │ │ ├── is-date-object@1.0.1
│ │ │ │ └── is-symbol@1.0.1
│ │ │ ├── function-bind@1.1.1 deduped
│ │ │ ├── has@1.0.1 deduped
│ │ │ ├── is-callable@1.1.3 deduped
│ │ │ └─┬ is-regex@1.0.4
│ │ │   └── has@1.0.1 deduped
│ │ ├── function-bind@1.1.1 deduped
│ │ └── has@1.0.1 deduped
│ ├─┬ object.values@1.0.4
│ │ ├── define-properties@1.1.2 deduped
│ │ ├── es-abstract@1.10.0 deduped
│ │ ├── function-bind@1.1.1 deduped
│ │ └── has@1.0.1 deduped
│ ├─┬ raf@3.4.0
│ │ └── performance-now@2.1.0
│ └─┬ rst-selector-parser@2.2.3
│   ├── lodash.flattendeep@4.4.0
│   └─┬ nearley@2.11.0
│     ├─┬ nomnom@1.6.2
│     │ ├── colors@0.5.1
│     │ └── underscore@1.4.4
│     ├── railroad-diagrams@1.0.0
│     └─┬ randexp@0.4.6
│       ├── discontinuous-range@1.0.0
│       └── ret@0.1.15
├─┬ enzyme-adapter-react-16@1.1.1
│ ├─┬ enzyme-adapter-utils@1.3.0
│ │ ├── lodash@4.17.4 deduped
│ │ ├── object.assign@4.1.0 deduped
│ │ └── prop-types@15.6.0 deduped
│ ├── lodash@4.17.4 deduped
│ ├── object.assign@4.1.0 deduped
│ ├── object.values@1.0.4 deduped
│ ├─┬ prop-types@15.6.0
│ │ ├── fbjs@0.8.16 deduped
│ │ ├── loose-envify@1.3.1 deduped
│ │ └── object-assign@4.1.1 deduped
│ ├─┬ react-reconciler@0.7.0
│ │ ├── fbjs@0.8.16 deduped
│ │ ├── loose-envify@1.3.1 deduped
│ │ ├── object-assign@4.1.1 deduped
│ │ └── prop-types@15.6.0 deduped
│ └── react-test-renderer@16.2.0 deduped
├─┬ event-kit@1.5.0
│ └─┬ grim@1.5.0
│   └─┬ emissary@1.3.3
│     ├─┬ es6-weak-map@0.1.4
│     │ ├── d@0.1.1 deduped
│     │ ├── es5-ext@0.10.38 deduped
│     │ ├─┬ es6-iterator@0.1.3
│     │ │ ├── d@0.1.1 deduped
│     │ │ ├── es5-ext@0.10.38 deduped
│     │ │ └── es6-symbol@2.0.1 deduped
│     │ └─┬ es6-symbol@2.0.1
│     │   ├── d@0.1.1 deduped
│     │   └── es5-ext@0.10.38 deduped
│     ├── mixto@1.0.0
│     ├─┬ property-accessors@1.1.3
│     │ ├── es6-weak-map@0.1.4 deduped
│     │ └── mixto@1.0.0 deduped
│     └── underscore-plus@1.6.6 deduped
├─┬ fs-plus@2.10.1
│ ├── async@1.5.2
│ ├── mkdirp@0.5.1 deduped
│ ├── rimraf@2.5.2 deduped
│ └─┬ underscore-plus@1.6.6
│   └── underscore@1.6.0
├─┬ getmac@1.4.0
│ ├── editions@1.3.3
│ └─┬ extract-opts@3.3.1
│   ├─┬ eachr@3.2.0
│   │ ├── editions@1.3.3 deduped
│   │ └── typechecker@4.4.1 deduped
│   ├── editions@1.3.3 deduped
│   └─┬ typechecker@4.4.1
│     └── editions@1.3.3 deduped
├── graceful-fs@4.1.11
├── immutable@3.8.2
├─┬ is-online@7.0.0
│ ├─┬ 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.1.1
│ │ ├── timed-out@4.0.1 deduped
│ │ ├── unzip-response@2.0.1
│ │ └─┬ url-parse-lax@1.0.0
│ │   └── prepend-http@1.0.4
│ ├─┬ p-any@1.1.0
│ │ └─┬ p-some@2.0.1
│ │   └─┬ aggregate-error@1.0.0
│ │     ├── clean-stack@1.3.0
│ │     └── indent-string@3.2.0
│ ├─┬ p-timeout@1.2.1
│ │ └── p-finally@1.0.0
│ └─┬ public-ip@2.4.0
│   ├─┬ dns-socket@1.6.3
│   │ └─┬ dns-packet@1.3.1
│   │   ├── ip@1.1.5
│   │   └── safe-buffer@5.1.1 deduped
│   ├─┬ got@8.0.3
│   │ ├── @sindresorhus/is@0.7.0
│   │ ├─┬ cacheable-request@2.1.4
│   │ │ ├─┬ clone-response@1.0.2
│   │ │ │ └── mimic-response@1.0.0 deduped
│   │ │ ├── get-stream@3.0.0 deduped
│   │ │ ├── http-cache-semantics@3.8.1
│   │ │ ├─┬ keyv@3.0.0
│   │ │ │ └── json-buffer@3.0.0
│   │ │ ├── lowercase-keys@1.0.0 deduped
│   │ │ ├─┬ normalize-url@2.0.1
│   │ │ │ ├── prepend-http@2.0.0
│   │ │ │ ├─┬ query-string@5.0.1
│   │ │ │ │ ├── decode-uri-component@0.2.0
│   │ │ │ │ ├── object-assign@4.1.1 deduped
│   │ │ │ │ └── strict-uri-encode@1.1.0
│   │ │ │ └─┬ sort-keys@2.0.0
│   │ │ │   └── is-plain-obj@1.1.0
│   │ │ └─┬ responselike@1.0.2
│   │ │   └── lowercase-keys@1.0.0 deduped
│   │ ├─┬ decompress-response@3.3.0
│   │ │ └── mimic-response@1.0.0 deduped
│   │ ├── duplexer3@0.1.4 deduped
│   │ ├── get-stream@3.0.0 deduped
│   │ ├─┬ into-stream@3.1.0
│   │ │ ├─┬ from2@2.3.0
│   │ │ │ ├── inherits@2.0.3 deduped
│   │ │ │ └── readable-stream@2.3.3 deduped
│   │ │ └── p-is-promise@1.1.0
│   │ ├── is-retry-allowed@1.1.0 deduped
│   │ ├─┬ isurl@1.0.0
│   │ │ ├─┬ has-to-string-tag-x@1.4.1
│   │ │ │ └── has-symbol-support-x@1.4.1
│   │ │ └── is-object@1.0.1
│   │ ├── lowercase-keys@1.0.0 deduped
│   │ ├── mimic-response@1.0.0
│   │ ├── p-cancelable@0.3.0
│   │ ├─┬ p-timeout@2.0.1
│   │ │ └── p-finally@1.0.0 deduped
│   │ ├── pify@3.0.0 deduped
│   │ ├── safe-buffer@5.1.1 deduped
│   │ ├── timed-out@4.0.1 deduped
│   │ ├─┬ url-parse-lax@3.0.0
│   │ │ └── prepend-http@2.0.0
│   │ └── url-to-options@1.0.1
│   ├─┬ is-ip@2.0.0
│   │ └── ip-regex@2.1.0
│   └── pify@3.0.0
├── jasmine-json@0.0.3
├── jasmine-react-helpers@0.2.2
├─┬ jasmine-reporters@1.1.0
│ └── mkdirp@0.3.5
├─┬ jasmine-tagged@1.1.4
│ └─┬ jasmine-focused@1.0.7
│   ├─┬ jasmine-node@1.10.2 (git+https://github.com/kevinsawicki/jasmine-node.git#81af4f953a2b7dfb5bde8331c05362a4b464c5ef)
│   │ ├── coffee-script@1.12.7
│   │ ├─┬ coffeestack@1.1.2
│   │ │ ├─┬ coffee-script@1.8.0
│   │ │ │ └── mkdirp@0.3.5
│   │ │ ├── fs-plus@2.10.1 deduped
│   │ │ └─┬ source-map@0.1.43
│   │ │   └── amdefine@1.0.1 deduped
│   │ ├─┬ gaze@0.3.4
│   │ │ ├─┬ fileset@0.1.8
│   │ │ │ ├─┬ glob@3.2.11
│   │ │ │ │ ├── inherits@2.0.3 deduped
│   │ │ │ │ └─┬ minimatch@0.3.0
│   │ │ │ │   ├── lru-cache@2.7.3 deduped
│   │ │ │ │   └── sigmund@1.0.1 deduped
│   │ │ │ └─┬ minimatch@0.4.0
│   │ │ │   ├── lru-cache@2.7.3
│   │ │ │   └── sigmund@1.0.1 deduped
│   │ │ └─┬ minimatch@0.2.14
│   │ │   ├── lru-cache@2.7.3
│   │ │   └── sigmund@1.0.1
│   │ ├── jasmine-reporters@1.1.0 deduped
│   │ ├── mkdirp@0.3.5
│   │ ├── requirejs@2.3.5
│   │ ├── underscore@1.8.3 deduped
│   │ └── walkdir@0.0.7 deduped
│   ├── underscore-plus@1.6.6 deduped
│   └── walkdir@0.0.7
├─┬ juice@1.11.0
│ ├── batch@0.5.3
│ ├─┬ cheerio@0.19.0
│ │ ├─┬ css-select@1.0.0
│ │ │ ├── boolbase@1.0.0 deduped
│ │ │ ├── css-what@1.0.0
│ │ │ ├─┬ domutils@1.4.3
│ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ └── nth-check@1.0.1 deduped
│ │ ├── dom-serializer@0.1.0 deduped
│ │ ├── entities@1.1.1 deduped
│ │ ├─┬ htmlparser2@3.8.3
│ │ │ ├── domelementtype@1.3.0 deduped
│ │ │ ├─┬ domhandler@2.3.0
│ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ ├─┬ domutils@1.5.1
│ │ │ │ ├── dom-serializer@0.1.0 deduped
│ │ │ │ └── domelementtype@1.3.0 deduped
│ │ │ ├── entities@1.0.0
│ │ │ └─┬ readable-stream@1.1.14
│ │ │   ├── core-util-is@1.0.2 deduped
│ │ │   ├── inherits@2.0.3 deduped
│ │ │   ├── isarray@0.0.1
│ │ │   └── string_decoder@0.10.31
│ │ └── lodash@3.10.1
│ ├─┬ commander@2.9.0
│ │ └── graceful-readlink@1.0.1
│ ├─┬ cross-spawn-async@2.2.5
│ │ ├── lru-cache@4.1.1 deduped
│ │ └─┬ which@1.3.0
│ │   └── isexe@2.0.0
│ ├── cssom@0.3.0
│ ├── deep-extend@0.4.2
│ ├── slick@1.12.2
│ ├── util-deprecate@1.0.2
│ └─┬ web-resource-inliner@1.2.1
│   ├── async@0.9.2
│   ├─┬ clean-css@1.1.7
│   │ └── commander@2.0.0
│   ├─┬ cli-color@0.3.3
│   │ ├─┬ d@0.1.1
│   │ │ └── es5-ext@0.10.38 deduped
│   │ ├─┬ es5-ext@0.10.38
│   │ │ ├─┬ es6-iterator@2.0.3
│   │ │ │ ├─┬ d@1.0.0
│   │ │ │ │ └── es5-ext@0.10.38 deduped
│   │ │ │ ├── es5-ext@0.10.38 deduped
│   │ │ │ └── es6-symbol@3.1.1 deduped
│   │ │ └─┬ es6-symbol@3.1.1
│   │ │   ├── d@1.0.0 deduped
│   │ │   └── es5-ext@0.10.38 deduped
│   │ ├─┬ memoizee@0.3.10
│   │ │ ├── d@0.1.1 deduped
│   │ │ ├── es5-ext@0.10.38 deduped
│   │ │ ├── es6-weak-map@0.1.4 deduped
│   │ │ ├─┬ event-emitter@0.3.5
│   │ │ │ ├─┬ d@1.0.0
│   │ │ │ │ └── es5-ext@0.10.38 deduped
│   │ │ │ └── es5-ext@0.10.38 deduped
│   │ │ ├─┬ lru-queue@0.1.0
│   │ │ │ └── es5-ext@0.10.38 deduped
│   │ │ ├── next-tick@0.2.2
│   │ │ └── timers-ext@0.1.2 deduped
│   │ └─┬ timers-ext@0.1.2
│   │   ├── es5-ext@0.10.38 deduped
│   │   └── next-tick@1.0.0
│   ├─┬ datauri@0.2.1
│   │ ├── mimer@0.2.3
│   │ └── templayed@0.2.3
│   ├── lodash@3.10.1
│   ├─┬ request@2.83.0
│   │ ├── aws-sign2@0.7.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.3.1
│   │ │ ├── asynckit@0.4.0
│   │ │ ├── combined-stream@1.0.5 deduped
│   │ │ └── mime-types@2.1.17 deduped
│   │ ├─┬ har-validator@5.0.3
│   │ │ ├─┬ ajv@5.5.2
│   │ │ │ ├── co@4.6.0
│   │ │ │ ├── fast-deep-equal@1.0.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
│   │ │ │ └── hoek@4.2.0 deduped
│   │ │ ├─┬ cryptiles@3.1.2
│   │ │ │ └─┬ boom@5.2.0
│   │ │ │   └── hoek@4.2.0 deduped
│   │ │ ├── hoek@4.2.0
│   │ │ └─┬ sntp@2.1.0
│   │ │   └── hoek@4.2.0 deduped
│   │ ├─┬ http-signature@1.2.0
│   │ │ ├── assert-plus@1.0.0
│   │ │ ├─┬ jsprim@1.4.1
│   │ │ │ ├── assert-plus@1.0.0 deduped
│   │ │ │ ├── extsprintf@1.3.0
│   │ │ │ ├── json-schema@0.2.3
│   │ │ │ └─┬ verror@1.10.0
│   │ │ │   ├── assert-plus@1.0.0 deduped
│   │ │ │   ├── core-util-is@1.0.2 deduped
│   │ │ │   └── extsprintf@1.3.0 deduped
│   │ │ └─┬ sshpk@1.13.1
│   │ │   ├── asn1@0.2.3
│   │ │   ├── assert-plus@1.0.0 deduped
│   │ │   ├─┬ bcrypt-pbkdf@1.0.1
│   │ │   │ └── tweetnacl@0.14.5 deduped
│   │ │   ├─┬ dashdash@1.14.1
│   │ │   │ └── assert-plus@1.0.0 deduped
│   │ │   ├─┬ ecc-jsbn@0.1.1
│   │ │   │ └── jsbn@0.1.1 deduped
│   │ │   ├─┬ getpass@0.1.7
│   │ │   │ └── assert-plus@1.0.0 deduped
│   │ │   ├── jsbn@0.1.1
│   │ │   └── tweetnacl@0.14.5
│   │ ├── is-typedarray@1.0.0
│   │ ├── isstream@0.1.2
│   │ ├── json-stringify-safe@5.0.1 deduped
│   │ ├─┬ mime-types@2.1.17
│   │ │ └── mime-db@1.30.0
│   │ ├── oauth-sign@0.8.2
│   │ ├── performance-now@2.1.0 deduped
│   │ ├── qs@6.5.1
│   │ ├── safe-buffer@5.1.1 deduped
│   │ ├── stringstream@0.0.5
│   │ ├─┬ tough-cookie@2.3.3
│   │ │ └── punycode@1.4.1
│   │ ├── tunnel-agent@0.6.0 deduped
│   │ └── uuid@3.2.1
│   ├─┬ uglify-js@2.8.29
│   │ ├── source-map@0.5.7 deduped
│   │ ├── 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
│   │   │ │ │ ├─┬ kind-of@3.2.2
│   │   │ │ │ │ └── is-buffer@1.1.6
│   │   │ │ │ ├── longest@1.0.1
│   │   │ │ │ └── repeat-string@1.6.1
│   │   │ │ └── lazy-cache@1.0.4
│   │   │ ├─┬ right-align@0.1.3
│   │   │ │ └── align-text@0.1.4 deduped
│   │   │ └── wordwrap@0.0.2 deduped
│   │   ├── decamelize@1.2.0
│   │   └── window-size@0.1.0
│   └── xtend@4.0.1
├─┬ keytar@4.1.0
│ └── nan@2.5.1
├─┬ less-cache@1.1.0
│ ├─┬ fs-plus@3.0.2
│ │ ├── async@1.5.2 deduped
│ │ ├── mkdirp@0.5.1 deduped
│ │ ├── rimraf@2.5.2 deduped
│ │ └── underscore-plus@1.6.6 deduped
│ ├─┬ less@2.7.3
│ │ ├─┬ errno@0.1.6
│ │ │ └── prr@1.0.1
│ │ ├── graceful-fs@4.1.11 deduped
│ │ ├── image-size@0.5.5
│ │ ├── mime@1.6.0
│ │ ├── mkdirp@0.5.1 deduped
│ │ ├─┬ promise@7.3.1
│ │ │ └── asap@2.0.6
│ │ ├─┬ request@2.81.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├── aws4@1.6.0 deduped
│ │ │ ├── caseless@0.12.0 deduped
│ │ │ ├── combined-stream@1.0.5 deduped
│ │ │ ├── extend@3.0.1 deduped
│ │ │ ├── forever-agent@0.6.1 deduped
│ │ │ ├─┬ form-data@2.1.4
│ │ │ │ ├── asynckit@0.4.0 deduped
│ │ │ │ ├── combined-stream@1.0.5 deduped
│ │ │ │ └── mime-types@2.1.17 deduped
│ │ │ ├─┬ har-validator@4.2.1
│ │ │ │ ├─┬ ajv@4.11.8
│ │ │ │ │ ├── co@4.6.0 deduped
│ │ │ │ │ └─┬ json-stable-stringify@1.0.1
│ │ │ │ │   └── jsonify@0.0.0
│ │ │ │ └── har-schema@1.0.5
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├─┬ boom@2.10.1
│ │ │ │ │ └── hoek@2.16.3 deduped
│ │ │ │ ├─┬ cryptiles@2.0.5
│ │ │ │ │ └── boom@2.10.1 deduped
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └─┬ sntp@1.0.9
│ │ │ │   └── hoek@2.16.3 deduped
│ │ │ ├─┬ http-signature@1.1.1
│ │ │ │ ├── assert-plus@0.2.0
│ │ │ │ ├── jsprim@1.4.1 deduped
│ │ │ │ └── sshpk@1.13.1 deduped
│ │ │ ├── is-typedarray@1.0.0 deduped
│ │ │ ├── isstream@0.1.2 deduped
│ │ │ ├── json-stringify-safe@5.0.1 deduped
│ │ │ ├── mime-types@2.1.17 deduped
│ │ │ ├── oauth-sign@0.8.2 deduped
│ │ │ ├── performance-now@0.2.0
│ │ │ ├── qs@6.4.0
│ │ │ ├── safe-buffer@5.1.1 deduped
│ │ │ ├── stringstream@0.0.5 deduped
│ │ │ ├── tough-cookie@2.3.3 deduped
│ │ │ ├── tunnel-agent@0.6.0 deduped
│ │ │ └── uuid@3.2.1 deduped
│ │ └── source-map@0.5.7 deduped
│ ├── underscore-plus@1.6.6 deduped
│ └── walkdir@0.0.11
├─┬ lru-cache@4.1.1
│ ├── pseudomap@1.0.2
│ └── yallist@2.1.2
├─┬ mkdirp@0.5.1
│ └── minimist@0.0.8
├── moment@2.12.0
├── moment-round@1.0.1
├─┬ moment-timezone@0.5.4
│ └── moment@2.12.0 deduped
├── mousetrap@1.6.1
├─┬ node-emoji@1.8.1
│ └── lodash.toarray@4.4.0
├─┬ node-mac-notifier@0.0.13
│ ├── bindings@1.3.0 deduped
│ ├── event-target-shim@1.1.1
│ └── node-uuid@1.4.8
├─┬ optimist@0.4.0
│ └── wordwrap@0.0.2
├─┬ pick-react-known-prop@0.1.2
│ ├── html-attributes@1.1.0
│ ├── lodash.isplainobject@4.0.6
│ └── svg-attributes@1.0.0
├── proxyquire@1.3.1
├─┬ raven@2.1.2
│ ├── cookie@0.3.1
│ ├── json-stringify-safe@5.0.1
│ ├── lsmod@1.0.0
│ ├── stack-trace@0.0.9
│ ├── timed-out@4.0.1
│ └── uuid@3.0.0
├─┬ react@16.2.0
│ ├─┬ fbjs@0.8.16
│ │ ├── core-js@1.2.7
│ │ ├─┬ isomorphic-fetch@2.2.1
│ │ │ ├─┬ node-fetch@1.7.3
│ │ │ │ ├─┬ encoding@0.1.12
│ │ │ │ │ └── iconv-lite@0.4.19
│ │ │ │ └── is-stream@1.1.0 deduped
│ │ │ └── whatwg-fetch@2.0.3
│ │ ├── loose-envify@1.3.1 deduped
│ │ ├── object-assign@4.1.1 deduped
│ │ ├── promise@7.3.1 deduped
│ │ ├── setimmediate@1.0.5
│ │ └── ua-parser-js@0.7.17
│ ├─┬ loose-envify@1.3.1
│ │ └── js-tokens@3.0.2 deduped
│ ├── object-assign@4.1.1
│ └── prop-types@15.6.0 deduped
├─┬ react-color@2.13.8
│ ├── lodash@4.17.4 deduped
│ ├── material-colors@1.2.5
│ ├── prop-types@15.6.0 deduped
│ ├─┬ reactcss@1.2.3
│ │ └── lodash@4.17.4 deduped
│ └── tinycolor2@1.4.1
├─┬ react-dom@16.2.0
│ ├── fbjs@0.8.16 deduped
│ ├── loose-envify@1.3.1 deduped
│ ├── object-assign@4.1.1 deduped
│ └── prop-types@15.6.0 deduped
├─┬ react-test-renderer@16.2.0
│ ├── fbjs@0.8.16 deduped
│ ├── object-assign@4.1.1 deduped
│ └── prop-types@15.6.0 deduped
├─┬ react-transition-group@1.2.1
│ ├── chain-function@1.0.0
│ ├── dom-helpers@3.3.1
│ ├── loose-envify@1.3.1 deduped
│ ├── prop-types@15.6.0 deduped
│ └─┬ warning@3.0.0
│   └── loose-envify@1.3.1 deduped
├─┬ reflux@0.1.13
│ └── eventemitter3@0.1.6
├─┬ rimraf@2.5.2
│ └─┬ glob@7.1.2
│   ├── fs.realpath@1.0.0
│   ├─┬ inflight@1.0.6
│   │ ├── once@1.4.0 deduped
│   │ └── wrappy@1.0.2
│   ├── inherits@2.0.3
│   ├── minimatch@3.0.4 deduped
│   ├─┬ once@1.4.0
│   │ └── wrappy@1.0.2 deduped
│   └── path-is-absolute@1.0.1 deduped
├─┬ runas@3.2.5 (github:getflywheel/node-runas#ca4f0714a926319f53df4851b007f2e4fd5381e5)
│ ├── nan@2.8.0 deduped
│ └─┬ prebuild-install@2.5.0
│   ├── detect-libc@1.0.3
│   ├── expand-template@1.1.0
│   ├── github-from-package@0.0.0
│   ├── minimist@1.2.0
│   ├── mkdirp@0.5.1 deduped
│   ├─┬ node-abi@2.2.0
│   │ └── semver@5.5.0
│   ├── noop-logger@0.1.1
│   ├─┬ npmlog@4.1.2
│   │ ├─┬ are-we-there-yet@1.1.4
│   │ │ ├── delegates@1.0.0
│   │ │ └── readable-stream@2.3.3 deduped
│   │ ├── 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 deduped
│   │ │ ├── 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 deduped
│   │ │ │ └── strip-ansi@3.0.1 deduped
│   │ │ ├── strip-ansi@3.0.1 deduped
│   │ │ └─┬ wide-align@1.1.2
│   │ │   └── string-width@1.0.2 deduped
│   │ └── set-blocking@2.0.0
│   ├── os-homedir@1.0.2
│   ├─┬ pump@1.0.3
│   │ ├─┬ end-of-stream@1.4.1
│   │ │ └── once@1.4.0 deduped
│   │ └── once@1.4.0 deduped
│   ├─┬ rc@1.2.4
│   │ ├── deep-extend@0.4.2 deduped
│   │ ├── ini@1.3.5
│   │ ├── minimist@1.2.0
│   │ └── strip-json-comments@2.0.1
│   ├─┬ simple-get@1.4.3
│   │ ├── once@1.4.0 deduped
│   │ ├── unzip-response@1.0.2
│   │ └── xtend@4.0.1 deduped
│   ├─┬ tar-fs@1.16.0
│   │ ├── chownr@1.0.1
│   │ ├── mkdirp@0.5.1 deduped
│   │ ├── pump@1.0.3 deduped
│   │ └─┬ tar-stream@1.5.5
│   │   ├─┬ bl@1.2.1
│   │   │ └── readable-stream@2.3.3 deduped
│   │   ├── end-of-stream@1.4.1 deduped
│   │   ├── readable-stream@2.3.3 deduped
│   │   └── xtend@4.0.1 deduped
│   ├─┬ tunnel-agent@0.6.0
│   │ └── safe-buffer@5.1.1 deduped
│   └── xtend@4.0.1 deduped
├── rx-lite@4.0.8
├─┬ slate@0.32.0 (github:bengotow/slate#77f6337d9eecedbfeb143dca4f06a1bfa1b22b6b)
│ ├── debug@2.6.3 deduped (github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│ ├── direction@0.1.5
│ ├── esrever@0.2.0
│ ├── is-empty@1.2.0
│ ├─┬ is-plain-object@2.0.4
│ │ └── isobject@3.0.1
│ ├── lodash@4.17.4 deduped
│ ├── slate-dev-logger@0.1.37
│ └── type-of@2.0.1
├─┬ slate-auto-replace@0.9.0
│ ├── is-hotkey@0.0.3
│ └── type-of@2.0.1 deduped
├─┬ slate-base64-serializer@0.2.19
│ └── isomorphic-base64@1.0.2
├── slate-edit-list@0.10.1 (github:bengotow/slate-edit-list#44701a78b729fed5714aaf3f6f02790d7343bb4f)
├─┬ slate-html-serializer@0.5.0
│ ├── slate-dev-logger@0.1.37 deduped
│ └── type-of@2.0.1 deduped
├─┬ slate-plain-serializer@0.5.0
│ └── slate-dev-logger@0.1.37 deduped
├─┬ slate-prop-types@0.4.17
│ └── slate-dev-logger@0.1.37 deduped
├─┬ slate-react@0.11.0
│ ├── debug@2.6.3 deduped (github:emorikawa/debug#29685485665b44c42d33ebd7ed62570b21c6e4bd)
│ ├─┬ get-window@1.1.1
│ │ └── get-document@1.0.0
│ ├── is-hotkey@0.1.1
│ ├── is-in-browser@1.1.3
│ ├── is-window@1.0.2
│ ├── keycode@2.1.9
│ ├── lodash.throttle@4.1.1
│ ├── prop-types@15.6.0 deduped
│ ├── react-immutable-proptypes@2.1.0
│ ├─┬ react-portal@3.2.0
│ │ └── prop-types@15.6.0 deduped
│ ├── selection-is-backward@1.0.0
│ ├── slate-base64-serializer@0.2.19 deduped
│ ├── slate-dev-logger@0.1.37 deduped
│ ├── slate-plain-serializer@0.5.0 deduped
│ └── slate-prop-types@0.4.17 deduped
├── slate-soft-break@0.6.0
├─┬ source-map-support@0.3.3
│ └─┬ source-map@0.1.32
│   └── amdefine@1.0.1
├─┬ temp@0.8.3
│ ├── os-tmpdir@1.0.2
│ └── rimraf@2.2.8
├── tld@0.0.2
├── underscore@1.8.3
├─┬ underscore.string@3.3.4
│ ├── sprintf-js@1.1.1
│ └── util-deprecate@1.0.2 deduped
├─┬ utf7@1.0.2
│ └── semver@5.3.0
└── windows-shortcuts@0.1.1 (github:emorikawa/windows-shortcuts#b0a0fc7fb86fb03e06ddceb9cbd6c9c5c29e571e)
fcastilloec commented 6 years ago

I see the same error, I can't install it and do anything. Other people have also reported this on Slack

bengotow commented 6 years ago

Hmm so based on the full log, it looks like npm ls is exiting with error code 1 because of this unmet dependency:

├── UNMET DEPENDENCY babel-preset-electron@github:bengotow/babel-preset-electron#00783dfc438f122997993ae597a41ec315ba121b

I'm not sure why npm is unable to pull that down - trying a clean install locally on my machine now and I'll see what happens.

bengotow commented 6 years ago

Hmm - I'm able to run a fresh npm install fine, using these versions of node:

Bens-MacBook-Pro-3:client bengotow$ npm -v
3.10.10
Bens-MacBook-Pro-3:client bengotow$ node -v
v6.9.5

I wonder if for some reason npm@5.6.0 isn't interpreting the dependency string the same way... Going to upgrade and try again.

fcastilloec commented 6 years ago

I've tested a fresh install using npm v5.7.1 with node v6.13.1 and I see the error. I also just installed node v6.9.5 with npm v3.10.10 and tried installing and I still received this error:

underscore.string@3.3.4npm ERR! missing: babel-preset-electron@github:bengotow/babel-preset-electron#00783dfc438f122997993ae597a41ec315ba121b, required by mailspring@1.1.5

I'm using Ubuntu 16.04 for the previous tests.

I also tested it using OSX with npm v3.10.10 and node v6.13.1 and I didn't see any errors. I updated to npm v5.7.1 and installed without any problems. I think the errors might be related to Linux only, maybe windows too, but I couldn't test there

scazzy commented 6 years ago

@bengotow I had tried earlier adding the bengotow/babel-preset-electron and some other packages explicitly and they installed without any error.

Also, to get it running momentarily, it needs the mailsync to start. I tried copying the files from inside asar unpacked of a production installed version but ofcourse it didn't help. Any way I can start the app until we find solution to this error?

scazzy commented 6 years ago

I downgraded npm to 3.10.10 and tried again (with node 8.9.0) and ran npm run postinstall. Got this error:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/Cellar/node/8.9.0/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'run',
1 verbose cli   'postinstall' ]
2 info using npm@3.10.10
3 info using node@v8.9.0
4 verbose run-script [ 'postinstall' ]
5 info lifecycle mailspring-root@0.0.1~postinstall: mailspring-root@0.0.1
6 verbose lifecycle mailspring-root@0.0.1~postinstall: unsafe-perm in lifecycle true
7 verbose lifecycle mailspring-root@0.0.1~postinstall: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/Users/****/Projects/tests/Mailspring/node_modules/.bin:/usr/local/Cellar/node/8.9.0/bin:/Users/****/anaconda2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
8 verbose lifecycle mailspring-root@0.0.1~postinstall: CWD: /Users/****/Projects/tests/Mailspring
9 silly lifecycle mailspring-root@0.0.1~postinstall: Args: [ '-c', 'node scripts/postinstall.js' ]
10 silly lifecycle mailspring-root@0.0.1~postinstall: Returned: code: 1  signal: null
11 info lifecycle mailspring-root@0.0.1~postinstall: Failed to exec postinstall script
12 verbose stack Error: mailspring-root@0.0.1 postinstall: `node scripts/postinstall.js`
12 verbose stack Exit status 1
12 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:255:16)
12 verbose stack     at emitTwo (events.js:126:13)
12 verbose stack     at EventEmitter.emit (events.js:214:7)
12 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:40:14)
12 verbose stack     at emitTwo (events.js:126:13)
12 verbose stack     at ChildProcess.emit (events.js:214:7)
12 verbose stack     at maybeClose (internal/child_process.js:925:16)
12 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
13 verbose pkgid mailspring-root@0.0.1
14 verbose cwd /Users/****/Projects/tests/Mailspring
15 error Darwin 16.7.0
16 error argv "/usr/local/Cellar/node/8.9.0/bin/node" "/usr/local/bin/npm" "run" "postinstall"
17 error node v8.9.0
18 error npm  v3.10.10
19 error code ELIFECYCLE
20 error mailspring-root@0.0.1 postinstall: `node scripts/postinstall.js`
20 error Exit status 1
21 error Failed at the mailspring-root@0.0.1 postinstall script 'node scripts/postinstall.js'.
21 error Make sure you have the latest version of node.js and npm installed.
21 error If you do, this is most likely a problem with the mailspring-root package,
21 error not with npm itself.
21 error Tell the author that this fails on your system:
21 error     node scripts/postinstall.js
21 error You can get information on how to open an issue for this project with:
21 error     npm bugs mailspring-root
21 error Or if that isn't available, you can get their info via:
21 error     npm owner ls mailspring-root
21 error There is likely additional logging output above.
22 verbose exit [ 1, true ]
bengotow commented 6 years ago

Ahh interesting that this might be linux / windows specific! That'd definitely explain why I haven't been able to reproduce it.

If you look at the source of postinstall.js, it basically pulls down the latest release of Mailspring's mailsync.tar.gz and unpacks it into the app folder. If you want, you can do that manually (or edit the script so it skips the other steps 😬 )

I'll fire up my Linux VM and see what's up. We could probably just publish an npm module for that github/repo#commit link, but there are a few and I'm afraid it'll just fail on another one...

scazzy commented 6 years ago

@bengotow Yes I had already tried unpacking the mailsync.tar earlier but it didn't work directly. Still threw error about mailsync not found. Could you look into it once? unable to get running this app since a while.

Also tried setting up on windows. The postinstall never got finished for hours, nor did it log any message.

I tried above on node 6.9.1

allanbreyes commented 6 years ago

Ran into this issue as well (on :penguin:). Wanted to spin it up to hack on a feature, but got stopped at this. Let me see if I can resolve the issue on install... hopefully it'll get more devs on board to help out.

allanbreyes commented 6 years ago

The best solution I have is vendoring. Strangely enough, it's only for this specific package (bengotow/babel-preset-electron). @bengotow - is that amenable for a PR?

bengotow commented 5 years ago

[Bot] Closing due to inactivity.

maverik18151815 commented 5 years ago

run npm install command with --unsafe-perm=tru flag, it will run as expected