ssbc / patchwork

A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB).
https://www.scuttlebutt.nz
GNU Affero General Public License v3.0
3.58k stars 335 forks source link

npm install fails #565

Closed gardner closed 5 years ago

gardner commented 7 years ago
$ npm i ssb-patchwork -g
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

> ssb-patchwork@3.5.1 postinstall /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork
> npm run rebuild

> ssb-patchwork@3.5.1 rebuild /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork
> cross-script npm rebuild --runtime=electron "--target=$(electron -v)" "--abi=$(electron --abi)" --disturl=https://atom.io/download/atom-shell

sh: electron: command not found
sh: electron: command not found
+ ssb-patchwork@3.5.1
updated 2 packages in 54.561s

$node --version 
v6.11.0

$ npm --version 
5.0.3
gardner commented 7 years ago

The electron release dmg for osx does not pick up my ~/.ssb/secret

dominictarr commented 7 years ago

oh the problem is that electron is listed as a dev dep. you can do npm install electron@~1.4.4 and that should work.

dominictarr commented 7 years ago

(and then try npm install ssb-patchwork again)

mmckegg commented 7 years ago

Whoops, this wasn't intentionally posted to npm! I must have accidentally ran the wrong alias! 😆

Anyway, the reason that electron is a devDependency is for electron-builder which requires that for some reason.

gardner commented 7 years ago

The install completes without errors now but the patchwork binary is not linked/installed

gardner@sneaker:~$ rm -rf .nvm/versions/
gardner@sneaker:~$ nvm list

->       system
default -> v6 (-> N/A)
node -> stable (-> N/A) (default)
iojs -> N/A (default)
gardner@sneaker:~$ nvm install v6
Downloading https://nodejs.org/dist/v6.11.0/node-v6.11.0-darwin-x64.tar.xz...
######################################################################## 100.0%
WARNING: checksums are currently disabled for node.js v4.0 and later
Now using node v6.11.0 (npm v3.10.10)
gardner@sneaker:~$ npm install electron@~1.4.4 -g && npm i ssb-patchwork -g

> electron@1.4.16 postinstall /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/electron
> node install.js

/Users/gardner/.nvm/versions/node/v6.11.0/lib
└─┬ electron@1.4.16 
  ├─┬ electron-download@3.3.0 
  │ ├─┬ debug@2.6.8 
  │ │ └── ms@2.0.0 
  │ ├─┬ fs-extra@0.30.0 
  │ │ ├── graceful-fs@4.1.11 
  │ │ ├── jsonfile@2.4.0 
  │ │ ├── klaw@1.3.1 
  │ │ ├── path-is-absolute@1.0.1 
  │ │ └─┬ rimraf@2.6.1 
  │ │   └─┬ glob@7.1.2 
  │ │     ├── fs.realpath@1.0.0 
  │ │     ├─┬ inflight@1.0.6 
  │ │     │ └── wrappy@1.0.2 
  │ │     ├─┬ minimatch@3.0.4 
  │ │     │ └─┬ brace-expansion@1.1.8 
  │ │     │   ├── balanced-match@1.0.0 
  │ │     │   └── concat-map@0.0.1 
  │ │     └── once@1.4.0 
  │ ├── home-path@1.0.5 
  │ ├── minimist@1.2.0 
  │ ├─┬ nugget@2.0.1 
  │ │ ├─┬ pretty-bytes@1.0.4 
  │ │ │ ├── get-stdin@4.0.1 
  │ │ │ └─┬ meow@3.7.0 
  │ │ │   ├─┬ camelcase-keys@2.1.0 
  │ │ │   │ └── camelcase@2.1.1 
  │ │ │   ├── decamelize@1.2.0 
  │ │ │   ├─┬ loud-rejection@1.6.0 
  │ │ │   │ ├─┬ currently-unhandled@0.4.1 
  │ │ │   │ │ └── array-find-index@1.0.2 
  │ │ │   │ └── signal-exit@3.0.2 
  │ │ │   ├── map-obj@1.0.1 
  │ │ │   ├─┬ normalize-package-data@2.3.8 
  │ │ │   │ ├── hosted-git-info@2.4.2 
  │ │ │   │ ├─┬ 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 
  │ │ │   ├── object-assign@4.1.1 
  │ │ │   ├─┬ read-pkg-up@1.0.1 
  │ │ │   │ ├── find-up@1.1.2 
  │ │ │   │ └─┬ read-pkg@1.1.0 
  │ │ │   │   ├─┬ load-json-file@1.1.0 
  │ │ │   │   │ ├─┬ parse-json@2.2.0 
  │ │ │   │   │ │ └─┬ error-ex@1.3.1 
  │ │ │   │   │ │   └── is-arrayish@0.2.1 
  │ │ │   │   │ ├── pify@2.3.0 
  │ │ │   │   │ └─┬ strip-bom@2.0.0 
  │ │ │   │   │   └── is-utf8@0.2.1 
  │ │ │   │   └── path-type@1.1.0 
  │ │ │   ├─┬ 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 
  │ │ ├─┬ progress-stream@1.2.0 
  │ │ │ ├── speedometer@0.1.4 
  │ │ │ └─┬ through2@0.2.3 
  │ │ │   ├─┬ readable-stream@1.1.14 
  │ │ │   │ ├── isarray@0.0.1 
  │ │ │   │ └── string_decoder@0.10.31 
  │ │ │   └─┬ xtend@2.1.2 
  │ │ │     └── object-keys@0.4.0 
  │ │ ├─┬ 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.1 
  │ │ │ │   ├── 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.7 
  │ │ │ │   │ └── assert-plus@1.0.0 
  │ │ │ │   ├── 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.1.0 
  │ │ │ ├── stringstream@0.0.5 
  │ │ │ ├─┬ tough-cookie@2.3.2 
  │ │ │ │ └── punycode@1.4.1 
  │ │ │ ├── tunnel-agent@0.6.0 
  │ │ │ └── uuid@3.1.0 
  │ │ ├─┬ single-line-log@1.1.2 
  │ │ │ └─┬ string-width@1.0.2 
  │ │ │   ├── code-point-at@1.1.0 
  │ │ │   ├─┬ is-fullwidth-code-point@1.0.0 
  │ │ │   │ └── number-is-nan@1.0.1 
  │ │ │   └─┬ strip-ansi@3.0.1 
  │ │ │     └── ansi-regex@2.1.1 
  │ │ └── throttleit@0.0.2 
  │ ├─┬ path-exists@2.1.0 
  │ │ └─┬ pinkie-promise@2.0.1 
  │ │   └── pinkie@2.0.4 
  │ ├─┬ rc@1.2.1 
  │ │ ├── deep-extend@0.4.2 
  │ │ ├── ini@1.3.4 
  │ │ └── strip-json-comments@2.0.1 
  │ ├── semver@5.3.0 
  │ └─┬ sumchecker@1.3.1 
  │   └── es6-promise@4.1.0 
  └─┬ extract-zip@1.6.5 
    ├─┬ concat-stream@1.6.0 
    │ ├── inherits@2.0.3 
    │ ├─┬ readable-stream@2.3.0 
    │ │ ├── core-util-is@1.0.2 
    │ │ ├── isarray@1.0.0 
    │ │ ├── process-nextick-args@1.0.7 
    │ │ ├─┬ string_decoder@1.0.2 
    │ │ │ └── safe-buffer@5.0.1 
    │ │ └── util-deprecate@1.0.2 
    │ └── typedarray@0.0.6 
    ├─┬ debug@2.2.0 
    │ └── ms@0.7.1 
    ├─┬ mkdirp@0.5.0 
    │ └── minimist@0.0.8 
    └─┬ yauzl@2.4.1 
      └─┬ fd-slicer@1.0.1 
        └── pend@1.2.0 

npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

> @paulcbetts/spellchecker@4.0.5 install /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/@paulcbetts/spellchecker
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
  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
../vendor/hunspell/src/google/bdict_reader.cc:670:15: warning: unused variable 'begin' [-Wunused-variable]
  const char* begin = reinterpret_cast<const char*>(&bdict_data_[cur_offset_]);
              ^
1 warning generated.
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/google/bdict.o
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/affentry.o
In file included from ../vendor/hunspell/src/hunspell/affentry.cxx:9:
../vendor/hunspell/src/hunspell/affentry.hxx:30:105: warning: implicit conversion of NULL constant to 'unsigned short' [-Wnull-conversion]
  struct hentry *      check_twosfx(const char * word, int len, char in_compound, const FLAG needflag = NULL);
                                                                                                      ~ ^~~~
                                                                                                        0
../vendor/hunspell/src/hunspell/affentry.hxx:93:114: warning: implicit conversion of NULL constant to 'unsigned short' [-Wnull-conversion]
  struct hentry *   check_twosfx(const char * word, int len, int optflags, PfxEntry* ppfx, const FLAG needflag = NULL);
                                                                                                               ~ ^~~~
                                                                                                                 0
../vendor/hunspell/src/hunspell/affentry.cxx:546:57: warning: while loop has empty body [-Wempty-body]
                        while (p && *p != ']' && ((p = nextchar(p)) != NULL));
                                                                             ^
../vendor/hunspell/src/hunspell/affentry.cxx:546:57: note: put the semicolon on a separate line to silence this warning
3 warnings generated.
  CXX(target) Release/obj.target/hunspell/vendor/hunspell/src/hunspell/affixmgr.o
In file included from ../vendor/hunspell/src/hunspell/affixmgr.cxx:12:
../vendor/hunspell/src/hunspell/affentry.hxx:30:105: warning: implicit conversion of NULL constant to 'unsigned short' [-Wnull-conversion]
  struct hentry *      check_twosfx(const char * word, int len, char in_compound, const FLAG needflag = NULL);
                                                                                                      ~ ^~~~
                                                                                                        0
../vendor/hunspell/src/hunspell/affentry.hxx:93:114: warning: implicit conversion of NULL constant to 'unsigned short' [-Wnull-conversion]
  struct hentry *   check_twosfx(const char * word, int len, int optflags, PfxEntry* ppfx, const FLAG needflag = NULL);
                                                                                                               ~ ^~~~
                                                                                                                 0
2 warnings generated.
  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
In file included from ../vendor/hunspell/src/hunspell/hashmgr.cxx:9:
../vendor/hunspell/src/hunspell/hashmgr.hxx:32:21: warning: private field 'userword' is not used [-Wunused-private-field]
  int               userword;
                    ^
1 warning generated.
  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
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9

> fsevents@1.1.2 install /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/fsevents
> node install

[fsevents] Success: "/Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile

> sodium-native@1.10.1 install /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/sodium-native
> node-gyp-build "node preinstall.js" "node postinstall.js"

> keyboard-layout@2.0.12 install /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/keyboard-layout
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
  CXX(target) Release/obj.target/keyboard-layout-manager/src/keyboard-layout-manager-mac.o
  SOLINK_MODULE(target) Release/keyboard-layout-manager.node
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9

> @paulcbetts/cld@2.4.6 install /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/@paulcbetts/cld
> node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
  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
clang: warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9

> leveldown@1.7.2 install /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/leveldown
> prebuild-install || node-gyp rebuild

prebuild-install info begin Prebuild-install version 2.1.2
prebuild-install info looking for local prebuild @ prebuilds/leveldown-v1.7.2-node-v48-darwin-x64.tar.gz
prebuild-install info looking for cached prebuild @ /Users/gardner/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.7.2-leveldown-v1.7.2-node-v48-darwin-x64.tar.gz
prebuild-install info found cached prebuild 
prebuild-install info unpacking @ /Users/gardner/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.7.2-leveldown-v1.7.2-node-v48-darwin-x64.tar.gz
prebuild-install info unpack resolved to /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/leveldown/build/Release/leveldown.node
prebuild-install info unpack required /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/leveldown/build/Release/leveldown.node successfully
prebuild-install info install Prebuild successfully installed!

> @paulcbetts/cld@2.4.6 postinstall /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork/node_modules/@paulcbetts/cld
> node bin/postinstall.js

> ssb-patchwork@3.5.1 postinstall /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork
> npm run rebuild

> ssb-patchwork@3.5.1 rebuild /Users/gardner/.nvm/versions/node/v6.11.0/lib/node_modules/ssb-patchwork
> cross-script npm rebuild --runtime=electron "--target=$(electron -v)" "--abi=$(electron --abi)" --disturl=https://atom.io/download/atom-shell

/Users/gardner/.nvm/versions/node/v6.11.0/lib
└─┬ ssb-patchwork@3.5.1 
  ├─┬ bulk-require@1.0.0 
  │ └─┬ glob@3.2.11 
  │   ├── inherits@2.0.3 
  │   └─┬ minimatch@0.3.0 
  │     ├── lru-cache@2.7.3 
  │     └── sigmund@1.0.1 
  ├── compare-version@0.1.2 
  ├─┬ cross-script@1.0.5 
  │ ├── @f/zip-obj@1.1.1 
  │ ├─┬ cross-spawn@5.1.0 
  │ │ ├── lru-cache@4.1.1 
  │ │ ├─┬ shebang-command@1.2.0 
  │ │ │ └── shebang-regex@1.0.0 
  │ │ └─┬ which@1.2.14 
  │ │   └── isexe@2.0.0 
  │ ├── es6-template-regex@1.0.0 
  │ └─┬ execall@1.0.0 
  │   └─┬ clone-regexp@1.0.0 
  │     ├── is-regexp@1.0.0 
  │     └── is-supported-regexp-flag@1.0.0 
  ├── deep-equal@1.0.1 
  ├─┬ depject@4.1.0 
  │ └── libnested@1.2.1 
  ├─┬ depnest@1.3.0 
  │ └─┬ es2040@1.2.5 
  │   ├─┬ babel-core@6.25.0 
  │   │ ├─┬ babel-code-frame@6.22.0 
  │   │ │ ├── esutils@2.0.2 
  │   │ │ └── js-tokens@3.0.1 
  │   │ ├─┬ babel-generator@6.25.0 
  │   │ │ ├─┬ detect-indent@4.0.0 
  │   │ │ │ └─┬ repeating@2.0.1 
  │   │ │ │   └── is-finite@1.0.2 
  │   │ │ ├── jsesc@1.3.0 
  │   │ │ └── trim-right@1.0.1 
  │   │ ├── babel-helpers@6.24.1 
  │   │ ├── babel-messages@6.23.0 
  │   │ ├─┬ babel-register@6.24.1 
  │   │ │ ├── core-js@2.4.1 
  │   │ │ ├── home-or-tmp@2.0.0 
  │   │ │ └── source-map-support@0.4.15 
  │   │ ├─┬ babel-runtime@6.23.0 
  │   │ │ └── regenerator-runtime@0.10.5 
  │   │ ├── babel-template@6.25.0 
  │   │ ├─┬ babel-traverse@6.25.0 
  │   │ │ ├── globals@9.18.0 
  │   │ │ └─┬ invariant@2.2.2 
  │   │ │   └── loose-envify@1.3.1 
  │   │ ├─┬ babel-types@6.25.0 
  │   │ │ └── to-fast-properties@1.0.3 
  │   │ ├── babylon@6.17.4 
  │   │ ├── convert-source-map@1.5.0 
  │   │ ├── 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.7 
  │   │ ├── slash@1.0.0 
  │   │ └── source-map@0.5.6 
  │   ├─┬ babel-preset-es2040@1.1.1 
  │   │ ├── babel-plugin-check-es2015-constants@6.22.0 
  │   │ ├── babel-plugin-transform-es2015-arrow-functions@6.22.0 
  │   │ ├── babel-plugin-transform-es2015-block-scoping@6.24.1 
  │   │ ├── babel-plugin-transform-es2015-computed-properties@6.24.1 
  │   │ ├── babel-plugin-transform-es2015-destructuring@6.23.0 
  │   │ ├─┬ babel-plugin-transform-es2015-parameters@6.24.1 
  │   │ │ ├─┬ babel-helper-call-delegate@6.24.1 
  │   │ │ │ └── babel-helper-hoist-variables@6.24.1 
  │   │ │ └── babel-helper-get-function-arity@6.24.1 
  │   │ ├── babel-plugin-transform-es2015-shorthand-properties@6.24.1 
  │   │ ├── babel-plugin-transform-es2015-spread@6.22.0 
  │   │ └── babel-plugin-transform-es2015-template-literals@6.22.0 
  │   └─┬ through2@2.0.3 
  │     └─┬ readable-stream@2.3.0 
  │       ├── core-util-is@1.0.2 
  │       ├── isarray@1.0.0 
  │       ├── process-nextick-args@1.0.7 
  │       ├── safe-buffer@5.1.0 
  │       ├─┬ string_decoder@1.0.2 
  │       │ └── safe-buffer@5.0.1 
  │       └── util-deprecate@1.0.2 
  ├── electron-default-menu@1.0.1 
  ├─┬ electron-spellchecker@1.1.0 
  │ ├─┬ @paulcbetts/cld@2.4.6 
  │ │ ├─┬ glob@5.0.15 
  │ │ │ ├─┬ inflight@1.0.6 
  │ │ │ │ └── wrappy@1.0.2 
  │ │ │ ├── minimatch@3.0.4 
  │ │ │ └── once@1.4.0 
  │ │ ├── nan@2.6.2 
  │ │ └── underscore@1.8.3 
  │ ├── @paulcbetts/spellchecker@4.0.5 
  │ ├── bcp47@1.1.2 
  │ ├─┬ debug@2.6.8 
  │ │ └── ms@2.0.0 
  │ ├─┬ electron-remote@1.1.2 
  │ │ ├── hashids@1.1.1 
  │ │ └── xmlhttprequest@1.8.0 
  │ ├─┬ keyboard-layout@2.0.12 
  │ │ └─┬ event-kit@1.5.0 
  │ │   └─┬ grim@1.5.0 
  │ │     └─┬ emissary@1.3.3 
  │ │       ├─┬ es6-weak-map@0.1.4 
  │ │       │ ├── d@0.1.1 
  │ │       │ ├─┬ es5-ext@0.10.23 
  │ │       │ │ ├─┬ es6-iterator@2.0.1 
  │ │       │ │ │ └── d@1.0.0 
  │ │       │ │ └── es6-symbol@3.1.1 
  │ │       │ ├── es6-iterator@0.1.3 
  │ │       │ └── es6-symbol@2.0.1 
  │ │       ├── mixto@1.0.0 
  │ │       ├── property-accessors@1.1.3 
  │ │       └─┬ underscore-plus@1.6.6 
  │ │         └── underscore@1.6.0 
  │ ├─┬ lru-cache@4.1.1 
  │ │ ├── pseudomap@1.0.2 
  │ │ └── yallist@2.1.2 
  │ ├─┬ mkdirp@0.5.1 
  │ │ └── minimist@0.0.8 
  │ ├── pify@2.3.0 
  │ ├─┬ rxjs@5.4.1 
  │ │ └── symbol-observable@1.0.4 
  │ ├── rxjs-serial-subscription@0.1.1 
  │ └─┬ spawn-rx@2.0.11 
  │   └── lodash.assign@4.2.0 
  ├─┬ electron-window-state@4.1.1 
  │ └─┬ jsonfile@2.4.0 
  │   └── graceful-fs@4.1.11 
  ├── flatpickr@3.0.5-1 
  ├── insert-css@2.0.0 
  ├─┬ level@1.7.0 
  │ ├─┬ level-packager@1.2.1 
  │ │ └─┬ levelup@1.3.8 
  │ │   ├─┬ deferred-leveldown@1.2.1 
  │ │   │ └── abstract-leveldown@2.4.1 
  │ │   ├── level-codec@6.1.0 
  │ │   ├── level-errors@1.0.4 
  │ │   ├─┬ level-iterator-stream@1.3.1 
  │ │   │ └─┬ readable-stream@1.1.14 
  │ │   │   ├── isarray@0.0.1 
  │ │   │   └── string_decoder@0.10.31 
  │ │   ├── prr@1.0.1 
  │ │   └── semver@5.1.1 
  │ └─┬ leveldown@1.7.2 
  │   ├── abstract-leveldown@2.6.1 
  │   ├── bindings@1.2.1 
  │   ├── fast-future@1.0.2 
  │   └─┬ prebuild-install@2.1.2 
  │     ├── expand-template@1.0.3 
  │     ├── github-from-package@0.0.0 
  │     ├── minimist@1.2.0 
  │     ├── node-abi@2.0.3 
  │     ├── noop-logger@0.1.1 
  │     ├─┬ 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 
  │     │ │ ├── aproba@1.1.2 
  │     │ │ ├── has-unicode@2.0.1 
  │     │ │ ├── signal-exit@3.0.2 
  │     │ │ └── wide-align@1.1.2 
  │     │ └── set-blocking@2.0.0 
  │     ├─┬ pump@1.0.2 
  │     │ └── end-of-stream@1.4.0 
  │     ├─┬ simple-get@1.4.3 
  │     │ └── unzip-response@1.0.2 
  │     ├─┬ tar-fs@1.15.3 
  │     │ ├── chownr@1.0.1 
  │     │ └─┬ tar-stream@1.5.4 
  │     │   └── bl@1.2.1 
  │     └── tunnel-agent@0.4.3 
  ├─┬ micro-css@2.0.1 
  │ └─┬ optimist@0.6.1 
  │   └── wordwrap@0.0.3 
  ├── moment@2.18.1 
  ├─┬ mutant@3.20.2 
  │ ├── browser-split@0.0.1 
  │ └── xtend@4.0.1 
  ├─┬ mutant-pull-reduce@1.1.0 
  │ └── pull-pause@0.0.0 
  ├── obv@0.0.1 
  ├─┬ patchcore@1.4.3 
  │ ├─┬ bulkify@1.4.2 
  │ │ ├─┬ concat-stream@1.6.0 
  │ │ │ └── typedarray@0.0.6 
  │ │ ├─┬ static-module@1.3.2 
  │ │ │ ├─┬ duplexer2@0.0.2 
  │ │ │ │ └─┬ readable-stream@1.1.14 
  │ │ │ │   ├── isarray@0.0.1 
  │ │ │ │   └── string_decoder@0.10.31 
  │ │ │ ├─┬ escodegen@1.3.3 
  │ │ │ │ ├── esprima@1.1.1 
  │ │ │ │ ├── estraverse@1.5.1 
  │ │ │ │ ├── esutils@1.0.0 
  │ │ │ │ └─┬ source-map@0.1.43 
  │ │ │ │   └── amdefine@1.0.1 
  │ │ │ ├─┬ falafel@1.2.0 
  │ │ │ │ ├── acorn@1.2.2 
  │ │ │ │ ├── foreach@2.0.5 
  │ │ │ │ ├── isarray@0.0.1 
  │ │ │ │ └── object-keys@1.0.11 
  │ │ │ ├─┬ has@1.0.1 
  │ │ │ │ └── function-bind@1.1.0 
  │ │ │ ├── object-inspect@0.4.0 
  │ │ │ ├─┬ quote-stream@0.0.0 
  │ │ │ │ └─┬ through2@0.4.2 
  │ │ │ │   ├─┬ readable-stream@1.0.34 
  │ │ │ │   │ ├── isarray@0.0.1 
  │ │ │ │   │ └── string_decoder@0.10.31 
  │ │ │ │   └─┬ xtend@2.1.2 
  │ │ │ │     └── object-keys@0.4.0 
  │ │ │ ├─┬ readable-stream@1.0.34 
  │ │ │ │ ├── isarray@0.0.1 
  │ │ │ │ └── string_decoder@0.10.31 
  │ │ │ ├── shallow-copy@0.0.1 
  │ │ │ ├─┬ static-eval@0.2.4 
  │ │ │ │ └─┬ escodegen@0.0.28 
  │ │ │ │   ├── esprima@1.0.4 
  │ │ │ │   └── estraverse@1.3.2 
  │ │ │ └─┬ through2@0.4.2 
  │ │ │   └─┬ xtend@2.1.2 
  │ │ │     └── object-keys@0.4.0 
  │ │ └─┬ through2@0.4.2 
  │ │   ├─┬ readable-stream@1.0.34 
  │ │   │ ├── isarray@0.0.1 
  │ │   │ └── string_decoder@0.10.31 
  │ │   └─┬ xtend@2.1.2 
  │ │     └── object-keys@0.4.0 
  │ ├── color-hash@1.0.3 
  │ ├── emoji-named-characters@1.0.2 
  │ ├── html-escape@2.0.0 
  │ ├── human-time@0.0.1 
  │ ├── pull-cat@1.1.11 
  │ ├── pull-reconnect@0.0.3 
  │ ├── simple-mime@0.1.0 
  │ ├── split-buffer@1.0.0 
  │ ├─┬ ssb-client@4.5.0 
  │ │ ├─┬ multiserver@1.9.1 
  │ │ │ ├─┬ pull-ws@3.2.9 
  │ │ │ │ ├── relative-url@1.0.2 
  │ │ │ │ └─┬ ws@1.1.4 
  │ │ │ │   ├── options@0.0.6 
  │ │ │ │   └── ultron@1.0.2 
  │ │ │ ├─┬ secret-handshake@1.1.11 
  │ │ │ │ ├─┬ pull-box-stream@1.0.13 
  │ │ │ │ │ └── increment-buffer@1.0.1 
  │ │ │ │ └─┬ pull-handshake@1.1.4 
  │ │ │ │   └── pull-pair@1.1.0 
  │ │ │ ├── separator-escape@0.0.0 
  │ │ │ └─┬ socks@1.1.9 
  │ │ │   └── smart-buffer@1.1.15 
  │ │ └── pull-hash@1.0.0 
  │ ├─┬ ssb-config@2.2.0 
  │ │ ├── deep-extend@0.4.2 
  │ │ ├─┬ non-private-ip@1.4.2 
  │ │ │ └── ip@0.3.3 
  │ │ ├── os-homedir@1.0.2 
  │ │ └─┬ rc@1.2.1 
  │ │   ├── ini@1.3.4 
  │ │   ├── minimist@1.2.0 
  │ │   └── strip-json-comments@2.0.1 
  │ ├── ssb-feed@2.3.0 
  │ ├── ssb-markdown@3.3.0 
  │ └── ssb-marked@0.7.2 
  ├── pull-abortable@4.1.1 
  ├── pull-defer@0.2.2 
  ├─┬ pull-file@1.0.0 
  │ └── pull-utf8-decoder@1.0.2 
  ├─┬ pull-identify-filetype@1.1.0 
  │ └─┬ pull-stream@2.28.4 
  │   └── pull-core@1.1.0 
  ├── pull-next@1.0.0 
  ├── pull-notify@0.1.1 
  ├── pull-pause@0.0.1 
  ├── pull-ping@2.0.2 
  ├── pull-pushable@2.1.1 
  ├─┬ pull-scroll@1.0.6 
  │ └── pull-pause@0.0.0 
  ├── pull-stream@3.6.0 
  ├─┬ scuttlebot@10.0.5  (git://github.com/ssbc/scuttlebot.git#7631c51207229346467d70e5b00b51c6f860c61b)
  │ ├── atomic-file@0.0.1 
  │ ├── bash-color@0.0.4 
  │ ├── broadcast-stream@0.0.0 
  │ ├─┬ cont@1.0.3 
  │ │ ├── continuable@1.2.0 
  │ │ ├─┬ continuable-para@1.2.0 
  │ │ │ ├─┬ continuable-hash@0.1.4 
  │ │ │ │ └── continuable@1.1.8 
  │ │ │ └─┬ continuable-list@0.1.6 
  │ │ │   └── continuable@1.1.8 
  │ │ └── continuable-series@1.2.0 
  │ ├── explain-error@1.0.4 
  │ ├─┬ flumeview-reduce@1.1.0 
  │ │ ├── atomic-file@0.3.0 
  │ │ └── obv@0.0.0 
  │ ├── graphreduce@3.0.4 
  │ ├── has-network@0.0.1 
  │ ├── ip@0.3.3 
  │ ├─┬ level-memview@0.0.0 
  │ │ ├─┬ level-live-stream@1.4.12 
  │ │ │ └── pull-stream-to-stream@1.2.6 
  │ │ ├─┬ pull-level@1.2.0 
  │ │ │ ├─┬ pull-pushable@1.1.4 
  │ │ │ │ └── pull-stream@2.18.3 
  │ │ │ └─┬ stream-to-pull-stream@1.3.1 
  │ │ │   └── pull-core@1.0.0 
  │ │ └─┬ pull-stream@2.26.1 
  │ │   └── pull-core@1.1.0 
  │ ├─┬ mdmanifest@1.0.8 
  │ │ ├── minimist@1.2.0 
  │ │ ├─┬ remark@3.2.3 
  │ │ │ ├── camelcase@2.1.1 
  │ │ │ ├── ccount@1.0.1 
  │ │ │ ├─┬ 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 
  │ │ │ ├─┬ chokidar@1.7.0 
  │ │ │ │ ├─┬ anymatch@1.3.0 
  │ │ │ │ │ └─┬ micromatch@2.3.11 
  │ │ │ │ │   ├─┬ arr-diff@2.0.0 
  │ │ │ │ │   │ └── arr-flatten@1.0.3 
  │ │ │ │ │   ├── array-unique@0.2.1 
  │ │ │ │ │   ├─┬ braces@1.8.5 
  │ │ │ │ │   │ ├─┬ expand-range@1.8.2 
  │ │ │ │ │   │ │ └─┬ fill-range@2.2.3 
  │ │ │ │ │   │ │   ├── is-number@2.1.0 
  │ │ │ │ │   │ │   ├── isobject@2.1.0 
  │ │ │ │ │   │ │   └─┬ randomatic@1.1.7 
  │ │ │ │ │   │ │     ├─┬ is-number@3.0.0 
  │ │ │ │ │   │ │     │ └── kind-of@3.2.2 
  │ │ │ │ │   │ │     └── kind-of@4.0.0 
  │ │ │ │ │   │ ├── 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.1 
  │ │ │ │ │   ├─┬ kind-of@3.2.2 
  │ │ │ │ │   │ └── is-buffer@1.1.5 
  │ │ │ │ │   ├─┬ normalize-path@2.1.1 
  │ │ │ │ │   │ └── remove-trailing-separator@1.0.2 
  │ │ │ │ │   ├─┬ object.omit@2.0.1 
  │ │ │ │ │   │ ├─┬ for-own@0.1.5 
  │ │ │ │ │   │ │ └── for-in@1.0.2 
  │ │ │ │ │   │ └── is-extendable@0.1.1 
  │ │ │ │ │   ├─┬ parse-glob@3.0.4 
  │ │ │ │ │   │ ├── glob-base@0.3.0 
  │ │ │ │ │   │ └── is-dotfile@1.0.3 
  │ │ │ │ │   └─┬ regex-cache@0.4.3 
  │ │ │ │ │     ├── is-equal-shallow@0.1.3 
  │ │ │ │ │     └── is-primitive@2.0.0 
  │ │ │ │ ├── async-each@1.0.1 
  │ │ │ │ ├─┬ fsevents@1.1.2 
  │ │ │ │ │ └─┬ node-pre-gyp@0.6.36 
  │ │ │ │ │   ├─┬ mkdirp@0.5.1 
  │ │ │ │ │   │ └── minimist@0.0.8 
  │ │ │ │ │   ├─┬ nopt@4.0.1 
  │ │ │ │ │   │ ├── abbrev@1.1.0 
  │ │ │ │ │   │ └─┬ osenv@0.1.4 
  │ │ │ │ │   │   ├── os-homedir@1.0.2 
  │ │ │ │ │   │   └── os-tmpdir@1.0.2 
  │ │ │ │ │   ├─┬ 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 
  │ │ │ │ │   │ │ ├── aproba@1.1.1 
  │ │ │ │ │   │ │ ├── has-unicode@2.0.1 
  │ │ │ │ │   │ │ ├── object-assign@4.1.1 
  │ │ │ │ │   │ │ ├── signal-exit@3.0.2 
  │ │ │ │ │   │ │ ├─┬ string-width@1.0.2 
  │ │ │ │ │   │ │ │ ├── code-point-at@1.1.0 
  │ │ │ │ │   │ │ │ └─┬ is-fullwidth-code-point@1.0.0 
  │ │ │ │ │   │ │ │   └── number-is-nan@1.0.1 
  │ │ │ │ │   │ │ ├─┬ strip-ansi@3.0.1 
  │ │ │ │ │   │ │ │ └── ansi-regex@2.1.1 
  │ │ │ │ │   │ │ └── wide-align@1.1.2 
  │ │ │ │ │   │ └── set-blocking@2.0.0 
  │ │ │ │ │   ├─┬ rc@1.2.1 
  │ │ │ │ │   │ ├── deep-extend@0.4.2 
  │ │ │ │ │   │ ├── ini@1.3.4 
  │ │ │ │ │   │ ├── minimist@1.2.0 
  │ │ │ │ │   │ └── strip-json-comments@2.0.1 
  │ │ │ │ │   ├─┬ 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 
  │ │ │ │ │   │ │   │ └── assert-plus@1.0.0 
  │ │ │ │ │   │ │   ├── ecc-jsbn@0.1.1 
  │ │ │ │ │   │ │   ├─┬ getpass@0.1.7 
  │ │ │ │ │   │ │   │ └── 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 
  │ │ │ │ │   │ ├── 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 
  │ │ │ │ │   │ └── uuid@3.0.1 
  │ │ │ │ │   ├─┬ rimraf@2.6.1 
  │ │ │ │ │   │ └─┬ glob@7.1.2 
  │ │ │ │ │   │   ├── fs.realpath@1.0.0 
  │ │ │ │ │   │   ├── inflight@1.0.6 
  │ │ │ │ │   │   ├─┬ 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 
  │ │ │ │ │   ├── semver@5.3.0 
  │ │ │ │ │   ├─┬ tar@2.2.1 
  │ │ │ │ │   │ ├── block-stream@0.0.9 
  │ │ │ │ │   │ ├─┬ fstream@1.0.11 
  │ │ │ │ │   │ │ └── graceful-fs@4.1.11 
  │ │ │ │ │   │ └── inherits@2.0.3 
  │ │ │ │ │   └─┬ tar-pack@3.4.0 
  │ │ │ │ │     ├─┬ debug@2.6.8 
  │ │ │ │ │     │ └── ms@2.0.0 
  │ │ │ │ │     ├── fstream-ignore@1.0.5 
  │ │ │ │ │     ├─┬ once@1.4.0 
  │ │ │ │ │     │ └── wrappy@1.0.2 
  │ │ │ │ │     ├─┬ readable-stream@2.2.9 
  │ │ │ │ │     │ ├── buffer-shims@1.0.0 
  │ │ │ │ │     │ ├── 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 
  │ │ │ │ │     └── uid-number@0.0.6 
  │ │ │ │ ├── glob-parent@2.0.0 
  │ │ │ │ ├─┬ is-binary-path@1.0.1 
  │ │ │ │ │ └── binary-extensions@1.8.0 
  │ │ │ │ ├─┬ is-glob@2.0.1 
  │ │ │ │ │ └── is-extglob@1.0.0 
  │ │ │ │ └─┬ readdirp@2.1.0 
  │ │ │ │   ├── minimatch@3.0.4 
  │ │ │ │   └── set-immediate-shim@1.0.1 
  │ │ │ ├── collapse-white-space@1.0.2 
  │ │ │ ├─┬ commander@2.9.0 
  │ │ │ │ └── graceful-readlink@1.0.1 
  │ │ │ ├── elegant-spinner@1.0.1 
  │ │ │ ├── extend.js@0.0.2 
  │ │ │ ├── glob@6.0.4 
  │ │ │ ├─┬ globby@4.1.0 
  │ │ │ │ ├─┬ array-union@1.0.2 
  │ │ │ │ │ └── array-uniq@1.0.3 
  │ │ │ │ ├── arrify@1.0.1 
  │ │ │ │ ├─┬ glob@6.0.4 
  │ │ │ │ │ └── minimatch@3.0.4 
  │ │ │ │ └─┬ pinkie-promise@2.0.1 
  │ │ │ │   └── pinkie@2.0.4 
  │ │ │ ├── he@0.5.0 
  │ │ │ ├─┬ log-update@1.0.2 
  │ │ │ │ ├── ansi-escapes@1.4.0 
  │ │ │ │ └─┬ cli-cursor@1.0.2 
  │ │ │ │   └─┬ restore-cursor@1.0.1 
  │ │ │ │     ├── exit-hook@1.1.1 
  │ │ │ │     └── onetime@1.1.0 
  │ │ │ ├── longest-streak@1.0.0 
  │ │ │ ├── markdown-table@0.4.0 
  │ │ │ ├── minimatch@3.0.4 
  │ │ │ ├─┬ npm-prefix@1.2.0 
  │ │ │ │ ├── shellsubstitute@1.2.0 
  │ │ │ │ └── untildify@2.1.0 
  │ │ │ ├─┬ parse-entities@1.1.1 
  │ │ │ │ ├── character-entities@1.2.0 
  │ │ │ │ ├── character-entities-legacy@1.1.0 
  │ │ │ │ ├── character-reference-invalid@1.1.0 
  │ │ │ │ ├─┬ is-alphanumerical@1.0.0 
  │ │ │ │ │ └── is-alphabetical@1.0.0 
  │ │ │ │ ├── is-decimal@1.0.0 
  │ │ │ │ └── is-hexadecimal@1.0.0 
  │ │ │ ├── repeat-string@1.6.1 
  │ │ │ ├─┬ stringify-entities@1.3.1 
  │ │ │ │ └── character-entities-html4@1.1.0 
  │ │ │ ├── to-vfile@1.0.0 
  │ │ │ ├── trim@0.0.1 
  │ │ │ ├── trim-trailing-lines@1.1.0 
  │ │ │ ├─┬ unified@2.1.4 
  │ │ │ │ ├── attach-ware@1.1.1 
  │ │ │ │ ├── bail@1.0.1 
  │ │ │ │ ├── extend@3.0.1 
  │ │ │ │ └── unherit@1.1.0 
  │ │ │ ├── user-home@2.0.0 
  │ │ │ ├── vfile@1.4.0 
  │ │ │ ├── vfile-find-down@1.0.0 
  │ │ │ ├── vfile-find-up@1.0.0 
  │ │ │ ├─┬ vfile-reporter@1.5.0 
  │ │ │ │ ├── log-symbols@1.0.2 
  │ │ │ │ ├─┬ plur@2.1.2 
  │ │ │ │ │ └── irregular-plurals@1.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 
  │ │ │ │ ├── text-table@0.2.0 
  │ │ │ │ └── vfile-sort@1.0.0 
  │ │ │ └─┬ ware@1.3.0 
  │ │ │   └─┬ wrap-fn@0.1.5 
  │ │ │     └── co@3.1.0 
  │ │ ├─┬ remark-html@2.0.2 
  │ │ │ ├── detab@1.0.2 
  │ │ │ ├── normalize-uri@1.1.0 
  │ │ │ ├── object-assign@4.1.1 
  │ │ │ ├── trim-lines@1.1.0 
  │ │ │ └── unist-util-visit@1.1.3 
  │ │ └── word-wrap@1.2.3 
  │ ├── minimist@1.2.0 
  │ ├─┬ multiblob@1.11.0 
  │ │ ├── blake2s@1.0.1 
  │ │ ├── pull-file@0.5.0 
  │ │ ├─┬ pull-glob@1.0.6 
  │ │ │ └─┬ pull-fs@1.1.6 
  │ │ │   ├── pull-file@0.5.0 
  │ │ │   └── pull-traverse@1.0.3 
  │ │ ├── pull-notify@0.0.2 
  │ │ ├── pull-write-file@0.2.4 
  │ │ ├─┬ rc@0.5.5 
  │ │ │ ├── deep-extend@0.2.11 
  │ │ │ └── strip-json-comments@0.1.3 
  │ │ └── rimraf@2.2.8 
  │ ├── multicb@1.2.1 
  │ ├─┬ muxrpc@6.3.3 
  │ │ ├── packet-stream@2.0.2 
  │ │ ├─┬ packet-stream-codec@1.1.2 
  │ │ │ ├── pull-reader@1.2.9 
  │ │ │ └── pull-through@1.0.18 
  │ │ └─┬ pull-goodbye@0.0.2 
  │ │   └── pull-stream@3.5.0 
  │ ├─┬ muxrpc-validation@2.0.1 
  │ │ └── pull-stream@2.28.4 
  │ ├─┬ muxrpcli@1.1.0 
  │ │ ├── minimist@1.2.0 
  │ │ └── pull-stream@2.28.4 
  │ ├─┬ mv@2.1.1 
  │ │ ├── ncp@2.0.0 
  │ │ └─┬ rimraf@2.4.5 
  │ │   └─┬ glob@6.0.4 
  │ │     └── minimatch@3.0.4 
  │ ├── non-private-ip@1.1.0 
  │ ├─┬ observ-debounce@1.1.1 
  │ │ └── observ@0.2.0 
  │ ├── on-change-network@0.0.2 
  │ ├── on-wakeup@1.0.1 
  │ ├─┬ osenv@0.1.4 
  │ │ └── os-tmpdir@1.0.2 
  │ ├── pull-flatmap@0.0.1 
  │ ├─┬ pull-inactivity@2.1.2 
  │ │ └── pull-abortable@4.0.0 
  │ ├─┬ pull-level@2.0.3 
  │ │ ├── level-post@1.0.5 
  │ │ └─┬ pull-window@2.1.4 
  │ │   └── looper@2.0.0 
  │ ├── pull-many@1.0.8 
  │ ├─┬ pull-paramap@1.2.2 
  │ │ └── looper@4.0.0 
  │ ├── pull-stream-to-stream@1.3.4 
  │ ├── pull-stringify@1.2.2 
  │ ├─┬ rimraf@2.6.1 
  │ │ └─┬ glob@7.1.2 
  │ │   ├── fs.realpath@1.0.0 
  │ │   └── minimatch@3.0.4 
  │ ├─┬ secret-stack@3.2.2 
  │ │ ├── hoox@0.0.1 
  │ │ └── map-merge@1.1.0 
  │ ├─┬ ssb-ebt@0.0.7 
  │ │ ├── epidemic-broadcast-trees@1.0.3 
  │ │ └── pull-cont@0.1.1 
  │ ├─┬ ssb-links@3.0.0 
  │ │ └── map-filter-reduce@2.2.1 
  │ ├─┬ ssb-ws@1.0.3 
  │ │ ├── emoji-server@1.0.0 
  │ │ ├── multiblob-http@0.2.0 
  │ │ ├── ssb-sort@0.0.0 
  │ │ ├── stack@0.1.0 
  │ │ └─┬ web-bootloader@0.1.2 
  │ │   ├── arraybuffer-base64@1.0.0 
  │ │   ├─┬ binary-xhr@0.0.2 
  │ │   │ └── inherits@1.0.0 
  │ │   ├── hyperfile@1.1.1 
  │ │   └── hyperprogress@0.1.1 
  │ ├─┬ stream-to-pull-stream@1.7.2 
  │ │ └── looper@3.0.0 
  │ └── zerr@1.0.4 
  ├─┬ secure-scuttlebutt@16.3.3  (git://github.com/ssbc/secure-scuttlebutt.git#c845183f3b16f6fa31ab68e74ec8b912bc37e6d6)
  │ ├─┬ bytewise@1.1.0 
  │ │ ├─┬ bytewise-core@1.2.3 
  │ │ │ └── typewise-core@1.2.0 
  │ │ └── typewise@1.0.3 
  │ ├── deep-equal@0.2.2 
  │ ├── flumedb@0.2.3 
  │ ├─┬ flumelog-offset@3.0.2 
  │ │ ├─┬ aligned-block-file@1.0.0 
  │ │ │ └── obv@0.0.0 
  │ │ ├── append-batch@0.0.1 
  │ │ ├── hashlru@2.2.0 
  │ │ ├── looper@4.0.0 
  │ │ ├── ltgt@2.1.3 
  │ │ └─┬ pull-cursor@2.1.2 
  │ │   ├── looper@4.0.0 
  │ │   └── ltgt@2.2.0 
  │ ├─┬ flumeview-level@2.0.3 
  │ │ └── obv@0.0.0 
  │ ├── level-codec@6.2.0 
  │ ├── level-peek@2.0.2 
  │ ├─┬ level-sublevel@6.6.1 
  │ │ └─┬ levelup@0.19.1 
  │ │   ├── bl@0.8.2 
  │ │   ├─┬ deferred-leveldown@0.2.0 
  │ │   │ └─┬ abstract-leveldown@0.12.4 
  │ │   │   └── xtend@3.0.0 
  │ │   ├─┬ errno@0.1.4 
  │ │   │ └── prr@0.0.0 
  │ │   ├── prr@0.0.0 
  │ │   ├─┬ readable-stream@1.0.34 
  │ │   │ ├── isarray@0.0.1 
  │ │   │ └── string_decoder@0.10.31 
  │ │   └── xtend@3.0.0 
  │ ├── ltgt@2.2.0 
  │ ├── monotonic-timestamp@0.0.9 
  │ ├── pull-cont@0.0.0 
  │ ├── pull-live@1.0.1 
  │ ├─┬ pull-write@1.1.4 
  │ │ └── looper@4.0.0 
  │ └── typewiselite@1.0.0 
  ├── sorted-array-functions@1.0.0 
  ├── spacetime@1.0.7 
  ├── ssb-about@0.1.0 
  ├── ssb-avatar@0.2.0 
  ├─┬ ssb-backlinks@0.4.0 
  │ ├── base64-url@1.3.3 
  │ ├─┬ flumeview-query@3.0.3 
  │ │ ├─┬ flumeview-level@1.0.3 
  │ │ │ └── obv@0.0.0 
  │ │ ├── map-filter-reduce@3.0.3 
  │ │ └── pull-sink-through@0.0.0 
  │ └─┬ map-filter-reduce@3.0.3 
  │   └── binary-search@1.3.2 
  ├─┬ ssb-blobs@1.1.0 
  │ └── pull-level@1.5.2 
  ├── ssb-contacts@0.0.2 
  ├─┬ ssb-friends@2.0.3 
  │ └── pull-cont@0.1.1 
  ├─┬ ssb-keys@7.0.9 
  │ ├─┬ chloride@2.2.7 
  │ │ ├── is-electron@2.0.0 
  │ │ ├─┬ sodium-browserify@1.2.1 
  │ │ │ ├─┬ libsodium-wrappers@0.2.12 
  │ │ │ │ └── libsodium@0.2.12 
  │ │ │ ├── sha.js@2.4.5 
  │ │ │ └── tweetnacl@0.14.5 
  │ │ ├─┬ sodium-browserify-tweetnacl@0.2.3 
  │ │ │ ├─┬ chloride-test@1.2.2 
  │ │ │ │ └── json-buffer@2.0.11 
  │ │ │ ├── ed2curve@0.1.4 
  │ │ │ ├── sha.js@2.4.8 
  │ │ │ └── tweetnacl-auth@0.3.1 
  │ │ ├── sodium-chloride@1.1.0 
  │ │ └─┬ sodium-native@1.10.1 
  │ │   └── node-gyp-build@3.2.0 
  │ └── private-box@0.2.1 
  ├── ssb-mentions@0.4.0 
  ├── ssb-msgs@5.2.0 
  ├─┬ ssb-private@0.1.2 
  │ └── map-filter-reduce@3.0.3 
  ├─┬ ssb-query@1.0.0 
  │ └─┬ streamview-links@2.1.1 
  │   └── map-filter-reduce@3.0.3 
  ├─┬ ssb-ref@2.7.1 
  │ ├── ip@1.1.5 
  │ └── is-valid-domain@0.0.2 
  ├── ssb-sort@1.0.0 
  ├── statistics@3.3.0 
  ├─┬ suggest-box@2.2.3 
  │ ├─┬ hyperscript@1.4.7 
  │ │ ├── browser-split@0.0.0 
  │ │ ├─┬ class-list@0.1.1 
  │ │ │ └── indexof@0.0.1 
  │ │ └── html-element@1.3.0 
  │ └── textarea-caret-position@0.1.1 
  └── text-node-searcher@1.1.1 

gardner@sneaker:~$ ls -la .ssb
total 8
drwxr-xr-x    3 gardner  staff   102 Jun 20 10:20 .
drwxr-xr-x  247 gardner  staff  8398 Jun 20 10:16 ..
-rw-r--r--    1 gardner  staff   728 Jun 20 10:20 secret
gardner@sneaker:~$ patch 
Display all 245 possibilities? (y or n)
gardner@sneaker:~$ ls .nvm/versions/node/v6.11.0/
CHANGELOG.md  LICENSE       README.md     bin/          etc/          include/      lib/          share/        
gardner@sneaker:~$ ls .nvm/versions/node/v6.11.0/
CHANGELOG.md  LICENSE       README.md     bin/          etc/          include/      lib/          share/        
gardner@sneaker:~$ ls .nvm/versions/node/v6.11.0/bin/
electron node     npm
gardner@sneaker:~$ 

Perhaps I have been doing it wrong or something changed about the way in which the software should be installed and run. I used to just npm i ssb-patchwork -g and then run it using the command patchwork. Then I would go to http://localhost:7777 to use that UI. Cloning the repo as described on the README.md results in the electron app being launched. I can switch over to the electron app if that's the new way to go.

mmckegg commented 7 years ago

Yeah, don't install the latest one from npm. I didn't mean to publish over the old one, sorry about that.

Does someone want to republish patchwork-classic to npm? @ahdinosaur

gardner commented 7 years ago

I didn't realize the old repo was deprecated. I'll switch to the new electron client so that I am testing the most used codebase. Thanks!

ahdinosaur commented 7 years ago

@mmckegg we should "unpublish" if possible, at least to remove the reference so that npm install ssb-patchwork uses 2.x. right?

mmckegg commented 7 years ago

Yes! And add private: true to package.json

ahdinosaur commented 7 years ago

hmm, what would be necessary to publish it correctly?

i might give this a try sometime

mixmix commented 7 years ago

discussion with matt:

ahdinosaur commented 7 years ago

did anyone see https://github.com/ssbc/patchwork/pull/570?

mixmix commented 7 years ago

I not watching or up to speed with this. I think it it's a working pr that resolves an issue merge it. If you 'd like a second person to smoke test or review it, maybe ask for that?

On Mon, 14 Aug 2017, 22:04 Mikey notifications@github.com wrote:

did anyone see #570 https://github.com/ssbc/patchwork/pull/570?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/ssbc/patchwork/issues/565#issuecomment-322151434, or mute the thread https://github.com/notifications/unsubscribe-auth/ACitnsD0rWBQUe7gJwryO57euImokj84ks5sYBudgaJpZM4N_H-C .

stale[bot] commented 5 years ago

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?