Closed DrHyperKALICH closed 6 years ago
I had these problems too before, they appeared for me in certain versions of the eth-lightwallet
module. I believe I switched back to an older version to resolve it. ( 2.3.1
)
Please check if you have exactly this version of the lightwallet module installed
Below are the versions I have installed on the faucet server currently. You can use a specific version of any module removing the tilde(~) and caret(^) in the file package.json
Hope this helps ! If you manage to fix it using these tips - please let me know. Thx !
$ npm list
├─┬ cors@2.7.1
│ └── vary@1.1.0
├─┬ eth-lightwallet@2.3.1
│ ├── bignumber.js@2.0.7 (git://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2)
│ ├─┬ bitcore-lib@0.13.14
│ │ ├── bn.js@2.0.4
│ │ ├── bs58@2.0.0
│ │ ├── buffer-compare@1.0.0
│ │ ├─┬ elliptic@3.0.3
│ │ │ ├── brorand@1.0.5
│ │ │ └── hash.js@1.0.3
│ │ ├── inherits@2.0.1
│ │ ├── lodash@3.10.1
│ │ └── sha512@0.0.1
│ ├─┬ bitcore-mnemonic@1.0.1
│ │ └── unorm@1.4.1
│ ├── crypto-js@3.1.6
│ ├─┬ elliptic@3.1.0
│ │ ├── bn.js@2.2.0
│ │ ├── brorand@1.0.5
│ │ ├── hash.js@1.0.3
│ │ └── inherits@2.0.1
│ ├─┬ ethereumjs-tx@1.1.1
│ │ └── ethereum-common@0.0.17
│ ├─┬ ethereumjs-util@4.3.0
│ │ ├── bn.js@4.11.3
│ │ ├─┬ keccakjs@0.1.0
│ │ │ ├─┬ browserify-sha3@0.0.1
│ │ │ │ └── js-sha3@0.3.1
│ │ │ └── sha3@1.2.0
│ │ └─┬ secp256k1@3.0.1
│ │ ├── bindings@1.2.1
│ │ ├── bn.js@4.11.3
│ │ ├─┬ drbg.js@1.0.1
│ │ │ ├─┬ browserify-aes@1.0.6
│ │ │ │ ├── buffer-xor@1.0.3
│ │ │ │ ├── cipher-base@1.0.2
│ │ │ │ └── evp_bytestokey@1.0.0
│ │ │ ├─┬ create-hash@1.1.2
│ │ │ │ ├── ripemd160@1.0.1
│ │ │ │ └── sha.js@2.4.5
│ │ │ └── create-hmac@1.1.4
│ │ ├── elliptic@6.2.3
│ │ └── nan@2.2.1
│ ├── rlp@2.0.0
│ ├── scrypt-async@1.2.0
│ └── tweetnacl@0.13.2
├─┬ express@4.13.4
│ ├─┬ accepts@1.2.13
│ │ ├─┬ mime-types@2.1.10
│ │ │ └── mime-db@1.22.0
│ │ └── negotiator@0.5.3
│ ├── array-flatten@1.1.1
│ ├── content-disposition@0.5.1
│ ├── content-type@1.0.1
│ ├── cookie@0.1.5
│ ├── cookie-signature@1.0.6
│ ├─┬ debug@2.2.0
│ │ └── ms@0.7.1
│ ├── depd@1.1.0
│ ├── escape-html@1.0.3
│ ├── etag@1.7.0
│ ├─┬ finalhandler@0.4.1
│ │ └── unpipe@1.0.0
│ ├── fresh@0.3.0
│ ├── merge-descriptors@1.0.1
│ ├── methods@1.1.2
│ ├─┬ on-finished@2.3.0
│ │ └── ee-first@1.1.1
│ ├── parseurl@1.3.1
│ ├── path-to-regexp@0.1.7
│ ├─┬ proxy-addr@1.0.10
│ │ ├── forwarded@0.1.0
│ │ └── ipaddr.js@1.0.5
│ ├── qs@4.0.0
│ ├── range-parser@1.0.3
│ ├─┬ send@0.13.1
│ │ ├── destroy@1.0.4
│ │ ├── http-errors@1.3.1
│ │ ├── mime@1.3.4
│ │ └── statuses@1.2.1
│ ├── serve-static@1.10.2
│ ├─┬ type-is@1.6.12
│ │ └── media-typer@0.3.0
│ ├── utils-merge@1.0.0
│ └── vary@1.0.1
├─┬ firebase@2.4.2
│ └─┬ faye-websocket@0.9.3
│ └─┬ websocket-driver@0.5.2
│ └── websocket-extensions@0.1.1
├─┬ firebase-queue@1.3.1
│ ├── node-uuid@1.4.7
│ ├── rsvp@3.2.1
│ └─┬ winston@2.2.0
│ ├── async@1.0.0
│ ├── colors@1.0.3
│ ├── cycle@1.0.3
│ ├── eyes@0.1.8
│ ├── isstream@0.1.2
│ ├── pkginfo@0.3.1
│ └── stack-trace@0.0.9
├─┬ hooked-web3-provider@1.0.0
│ └─┬ web3@0.15.1
│ └── bignumber.js@2.0.7 (git://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2)
├── lodash@4.11.1
└─┬ web3@0.15.3
├── bignumber.js@2.0.7 (git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2)
├── utf8@2.1.1
└── xmlhttprequest@1.8.0
Please make "npm list" from static/locals-faucet folder.
Now i got module.js:434 return process.dlopen(module, path._makeLong(filename)); ^
Error: Module version mismatch. Expected 46, got 57.
sure
├─┬ browser-sync@2.12.3
│ ├─┬ browser-sync-client@2.4.2
│ │ ├── etag@1.7.0
│ │ └── fresh@0.3.0
│ ├─┬ browser-sync-ui@0.5.19
│ │ ├── async-each-series@0.1.1
│ │ ├─┬ stream-throttle@0.1.3
│ │ │ └── limiter@1.1.0
│ │ └─┬ weinre@2.0.0-pre-I0Z7U9OV
│ │ └─┬ express@2.5.11
│ │ ├─┬ connect@1.9.2
│ │ │ └── formidable@1.0.17
│ │ ├── mime@1.2.4
│ │ ├── mkdirp@0.3.0
│ │ └── qs@0.4.2
│ ├── bs-recipes@1.2.2
│ ├─┬ chokidar@1.4.3
│ │ ├── anymatch@1.3.0
│ │ ├── async-each@1.0.0
│ │ ├── UNMET OPTIONAL DEPENDENCY fsevents@^1.0.0
│ │ ├── glob-parent@2.0.0
│ │ ├── inherits@2.0.1
│ │ ├─┬ is-binary-path@1.0.1
│ │ │ └── binary-extensions@1.4.0
│ │ ├── is-glob@2.0.1
│ │ ├── path-is-absolute@1.0.0
│ │ └── readdirp@2.0.0
│ ├─┬ connect@3.4.1
│ │ ├─┬ debug@2.2.0
│ │ │ └── ms@0.7.1
│ │ ├─┬ finalhandler@0.4.1
│ │ │ ├─┬ on-finished@2.3.0
│ │ │ │ └── ee-first@1.1.1
│ │ │ └── unpipe@1.0.0
│ │ ├── parseurl@1.3.1
│ │ └── utils-merge@1.0.0
│ ├── dev-ip@1.0.1
│ ├─┬ easy-extender@2.3.2
│ │ └── lodash@3.10.1
│ ├─┬ eazy-logger@2.1.3
│ │ ├─┬ lodash.clonedeep@4.3.1
│ │ │ └── lodash._baseclone@4.5.6
│ │ ├─┬ opt-merger@1.1.1
│ │ │ └── lodash@3.10.1
│ │ └─┬ tfunk@3.0.2
│ │ └── object-path@0.9.2
│ ├── emitter-steward@1.0.0
│ ├─┬ fs-extra@0.26.7
│ │ ├── graceful-fs@4.1.3
│ │ ├── jsonfile@2.3.0
│ │ └── klaw@1.2.0
│ ├─┬ http-proxy@1.13.2
│ │ ├── eventemitter3@1.2.0
│ │ └── requires-port@1.0.0
│ ├── immutable@3.7.6
│ ├─┬ localtunnel@1.8.1
│ │ ├── openurl@1.1.0
│ │ ├─┬ request@2.65.0
│ │ │ ├── aws-sign2@0.6.0
│ │ │ ├─┬ bl@1.0.3
│ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │ └── isarray@1.0.0
│ │ │ ├── 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
│ │ │ ├─┬ har-validator@2.0.6
│ │ │ │ └─┬ 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
│ │ │ ├─┬ hawk@3.1.3
│ │ │ │ ├── boom@2.10.1
│ │ │ │ ├── cryptiles@2.0.5
│ │ │ │ ├── hoek@2.16.3
│ │ │ │ └── sntp@1.0.9
│ │ │ ├─┬ http-signature@0.11.0
│ │ │ │ ├── asn1@0.1.11
│ │ │ │ ├── assert-plus@0.1.5
│ │ │ │ └── ctype@0.5.3
│ │ │ ├── isstream@0.1.2
│ │ │ ├── json-stringify-safe@5.0.1
│ │ │ ├── oauth-sign@0.8.1
│ │ │ ├── qs@5.2.0
│ │ │ ├── stringstream@0.0.5
│ │ │ ├── tough-cookie@2.2.2
│ │ │ └── tunnel-agent@0.4.2
│ │ └─┬ yargs@3.29.0
│ │ ├── camelcase@1.2.1
│ │ └── window-size@0.1.4
│ ├── lodash@4.10.0
│ ├─┬ micromatch@2.3.7
│ │ ├─┬ arr-diff@2.0.0
│ │ │ └── arr-flatten@1.0.1
│ │ ├── array-unique@0.2.1
│ │ ├─┬ braces@1.8.4
│ │ │ ├─┬ expand-range@1.8.1
│ │ │ │ └─┬ fill-range@2.2.3
│ │ │ │ ├── is-number@2.1.0
│ │ │ │ ├── randomatic@1.1.5
│ │ │ │ └── repeat-string@1.5.4
│ │ │ ├── preserve@0.2.0
│ │ │ └── repeat-element@1.1.2
│ │ ├─┬ expand-brackets@0.1.5
│ │ │ └── is-posix-bracket@0.1.1
│ │ ├── extglob@0.3.2
│ │ ├── filename-regex@2.0.0
│ │ ├── is-extglob@1.0.0
│ │ ├─┬ kind-of@3.0.2
│ │ │ └── is-buffer@1.1.3
│ │ ├── normalize-path@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
│ ├── opn@3.0.3
│ ├─┬ portscanner@1.0.0
│ │ └── async@0.1.15
│ ├── qs@6.1.0
│ ├── resp-modifier@6.0.0
│ ├─┬ serve-index@1.7.3
│ │ ├─┬ accepts@1.2.13
│ │ │ └── negotiator@0.5.3
│ │ ├── batch@0.5.3
│ │ ├── escape-html@1.0.3
│ │ ├─┬ http-errors@1.3.1
│ │ │ └── statuses@1.2.1
│ │ └─┬ mime-types@2.1.10
│ │ └── mime-db@1.22.0
│ ├─┬ serve-static@1.10.2
│ │ └─┬ send@0.13.1
│ │ ├── depd@1.1.0
│ │ ├── destroy@1.0.4
│ │ ├── mime@1.3.4
│ │ └── range-parser@1.0.3
│ ├─┬ socket.io@1.4.5
│ │ ├─┬ engine.io@1.6.8
│ │ │ ├─┬ accepts@1.1.4
│ │ │ │ ├─┬ mime-types@2.0.14
│ │ │ │ │ └── mime-db@1.12.0
│ │ │ │ └── negotiator@0.4.9
│ │ │ ├── base64id@0.1.0
│ │ │ ├─┬ engine.io-parser@1.2.4
│ │ │ │ ├── after@0.8.1
│ │ │ │ ├── arraybuffer.slice@0.0.6
│ │ │ │ ├── base64-arraybuffer@0.1.2
│ │ │ │ ├── blob@0.0.4
│ │ │ │ ├── has-binary@0.1.6
│ │ │ │ └── utf8@2.1.0
│ │ │ └─┬ ws@1.0.1
│ │ │ ├── options@0.0.6
│ │ │ └── ultron@1.0.2
│ │ ├── has-binary@0.1.7
│ │ ├─┬ socket.io-adapter@0.4.0
│ │ │ └─┬ socket.io-parser@2.2.2
│ │ │ ├── debug@0.7.4
│ │ │ └── json3@3.2.6
│ │ ├─┬ socket.io-client@1.4.5
│ │ │ ├── backo2@1.0.2
│ │ │ ├── component-bind@1.0.0
│ │ │ ├── component-emitter@1.2.0
│ │ │ ├─┬ engine.io-client@1.6.8
│ │ │ │ ├── component-inherit@0.0.3
│ │ │ │ ├── has-cors@1.1.0
│ │ │ │ ├── parsejson@0.0.1
│ │ │ │ ├── parseqs@0.0.2
│ │ │ │ ├── xmlhttprequest-ssl@1.5.1
│ │ │ │ └── yeast@0.1.2
│ │ │ ├── indexof@0.0.1
│ │ │ ├── object-component@0.0.3
│ │ │ ├─┬ parseuri@0.0.4
│ │ │ │ └─┬ better-assert@1.0.2
│ │ │ │ └── callsite@1.0.0
│ │ │ └── to-array@0.1.4
│ │ └─┬ socket.io-parser@2.2.6
│ │ ├── benchmark@1.0.0
│ │ ├── component-emitter@1.1.2
│ │ └── json3@3.3.2
│ ├── ua-parser-js@0.7.10
│ ├── ucfirst@1.0.0
│ └─┬ yargs@4.4.0
│ ├── camelcase@2.1.1
│ ├─┬ cliui@3.2.0
│ │ └── wrap-ansi@2.0.0
│ ├── decamelize@1.2.0
│ ├─┬ lodash.assign@4.0.8
│ │ ├── lodash.keys@4.0.6
│ │ └── lodash.rest@4.0.2
│ ├─┬ os-locale@1.4.0
│ │ └─┬ lcid@1.0.0
│ │ └── invert-kv@1.0.0
│ ├─┬ pkg-conf@1.1.2
│ │ ├─┬ find-up@1.1.2
│ │ │ └── path-exists@2.1.0
│ │ ├─┬ load-json-file@1.1.0
│ │ │ └─┬ parse-json@2.2.0
│ │ │ └─┬ error-ex@1.3.0
│ │ │ └── is-arrayish@0.2.1
│ │ └── symbol@0.2.1
│ ├─┬ read-pkg-up@1.0.1
│ │ └─┬ read-pkg@1.1.0
│ │ └── path-type@1.1.0
│ ├── require-main-filename@1.0.1
│ ├─┬ string-width@1.0.1
│ │ ├── code-point-at@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
├── connect-history-api-fallback@1.2.0
├─┬ del@2.2.0
│ ├─┬ globby@4.0.0
│ │ ├── array-union@1.0.1
│ │ ├── arrify@1.0.1
│ │ └── glob@6.0.4
│ ├── is-path-cwd@1.0.0
│ ├─┬ is-path-in-cwd@1.0.0
│ │ └─┬ is-path-inside@1.0.0
│ │ └── path-is-inside@1.0.1
│ ├── object-assign@4.0.1
│ ├── pify@2.3.0
│ ├─┬ pinkie-promise@2.0.1
│ │ └── pinkie@2.0.4
│ └─┬ rimraf@2.5.2
│ └── glob@7.0.3
├─┬ glob-all@3.0.1
│ └─┬ glob@4.5.3
│ ├─┬ inflight@1.0.4
│ │ └── wrappy@1.0.1
│ └── once@1.3.3
├─┬ gulp@3.9.1
│ ├── archy@1.0.0
│ ├─┬ 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
│ ├── deprecated@0.0.1
│ ├─┬ gulp-util@3.0.7
│ │ ├── array-differ@1.0.0
│ │ ├── array-uniq@1.0.2
│ │ ├── beeper@1.1.0
│ │ ├── dateformat@1.0.12
│ │ ├─┬ gulplog@1.0.0
│ │ │ └── glogg@1.0.0
│ │ ├─┬ has-gulplog@0.1.0
│ │ │ └── sparkles@1.0.0
│ │ ├── lodash._reescape@3.0.0
│ │ ├── lodash._reevaluate@3.0.0
│ │ ├── lodash._reinterpolate@3.0.0
│ │ ├─┬ lodash.template@3.6.2
│ │ │ ├── lodash._basecopy@3.0.1
│ │ │ ├── lodash._basetostring@3.0.1
│ │ │ ├── lodash._basevalues@3.0.0
│ │ │ ├── lodash._isiterateecall@3.0.9
│ │ │ ├── lodash.escape@3.2.0
│ │ │ ├─┬ lodash.keys@3.1.2
│ │ │ │ ├── lodash._getnative@3.9.1
│ │ │ │ ├── lodash.isarguments@3.0.8
│ │ │ │ └── lodash.isarray@3.0.4
│ │ │ ├── lodash.restparam@3.6.1
│ │ │ └── lodash.templatesettings@3.1.1
│ │ ├─┬ multipipe@0.1.2
│ │ │ └─┬ duplexer2@0.0.2
│ │ │ └── readable-stream@1.1.14
│ │ ├── object-assign@3.0.0
│ │ ├── replace-ext@0.0.1
│ │ ├─┬ through2@2.0.1
│ │ │ └─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ └── vinyl@0.5.3
│ ├── interpret@1.0.0
│ ├─┬ liftoff@2.2.1
│ │ ├── extend@2.0.1
│ │ ├─┬ findup-sync@0.3.0
│ │ │ └── glob@5.0.15
│ │ ├── flagged-respawn@0.3.2
│ │ └── rechoir@0.6.2
│ ├── minimist@1.2.0
│ ├─┬ orchestrator@0.3.7
│ │ ├── end-of-stream@0.1.5
│ │ ├── sequencify@0.0.7
│ │ └── stream-consume@0.1.0
│ ├── pretty-hrtime@1.0.2
│ ├── semver@4.3.6
│ ├─┬ tildify@1.2.0
│ │ └── os-homedir@1.0.1
│ ├─┬ v8flags@2.0.11
│ │ └── user-home@1.1.1
│ └─┬ vinyl-fs@0.3.14
│ ├── defaults@1.0.3
│ ├─┬ glob-stream@3.1.18
│ │ ├── glob@4.5.3
│ │ ├─┬ glob2base@0.0.12
│ │ │ └── find-index@0.1.1
│ │ ├── ordered-read-streams@0.1.0
│ │ └── unique-stream@1.0.0
│ ├─┬ glob-watcher@0.0.6
│ │ └─┬ gaze@0.5.2
│ │ └─┬ globule@0.1.0
│ │ ├─┬ glob@3.1.21
│ │ │ ├── graceful-fs@1.2.3
│ │ │ └── inherits@1.0.2
│ │ ├── lodash@1.0.2
│ │ └── minimatch@0.2.14
│ ├── graceful-fs@3.0.8
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├─┬ strip-bom@1.0.0
│ │ ├── first-chunk-stream@1.0.0
│ │ └── is-utf8@0.2.1
│ └─┬ vinyl@0.4.6
│ └── clone@0.2.0
├─┬ gulp-autoprefixer@3.1.0
│ ├─┬ autoprefixer@6.3.6
│ │ ├── browserslist@1.3.1
│ │ ├── caniuse-db@1.0.30000459
│ │ ├── normalize-range@0.1.2
│ │ ├── num2fraction@1.2.2
│ │ └── postcss-value-parser@3.3.0
│ ├─┬ postcss@5.0.19
│ │ ├── js-base64@2.1.9
│ │ ├── source-map@0.5.3
│ │ └─┬ supports-color@3.1.2
│ │ └── has-flag@1.0.0
│ ├─┬ through2@2.0.1
│ │ ├─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ └── xtend@4.0.1
│ └── vinyl-sourcemaps-apply@0.2.1
├─┬ gulp-cache@0.4.4
│ ├── bluebird@3.3.5
│ ├─┬ cache-swap@0.2.3
│ │ └─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├─┬ object.omit@2.0.0
│ │ ├─┬ for-own@0.1.4
│ │ │ └── for-in@0.1.5
│ │ └── is-extendable@0.1.1
│ ├── object.pick@1.1.2
│ ├─┬ readable-stream@2.1.0
│ │ ├── core-util-is@1.0.2
│ │ ├─┬ inline-process-browser@2.0.1
│ │ │ └─┬ falafel@1.2.0
│ │ │ ├── acorn@1.2.2
│ │ │ ├── foreach@2.0.5
│ │ │ └── object-keys@1.0.9
│ │ ├── isarray@1.0.0
│ │ ├── process-nextick-args@1.0.6
│ │ ├── string_decoder@0.10.31
│ │ ├─┬ unreachable-branch-transform@0.5.1
│ │ │ ├── esmangle-evaluator@1.0.0
│ │ │ └─┬ recast@0.11.5
│ │ │ ├── ast-types@0.8.16
│ │ │ └── private@0.1.6
│ │ └── util-deprecate@1.0.2
│ ├── try-json-parse@0.1.1
│ └─┬ vinyl@1.1.1
│ ├── clone@1.0.2
│ └── clone-stats@0.0.1
├─┬ gulp-changed@1.3.0
│ └─┬ through2@2.0.1
│ └─┬ readable-stream@2.0.6
│ └── isarray@1.0.0
├─┬ gulp-gh-pages@0.5.4
│ ├─┬ gift@0.6.1
│ │ └── underscore@1.7.0
│ ├─┬ vinyl-fs@2.4.3
│ │ ├─┬ duplexify@3.4.3
│ │ │ └── end-of-stream@1.0.0
│ │ ├─┬ glob-stream@5.3.2
│ │ │ ├── glob@5.0.15
│ │ │ ├─┬ ordered-read-streams@0.3.0
│ │ │ │ └── is-stream@1.1.0
│ │ │ ├─┬ through2@0.6.5
│ │ │ │ └── readable-stream@1.0.34
│ │ │ ├─┬ to-absolute-glob@0.1.1
│ │ │ │ └── extend-shallow@2.0.1
│ │ │ └─┬ unique-stream@2.2.1
│ │ │ └─┬ json-stable-stringify@1.0.1
│ │ │ └── jsonify@0.0.0
│ │ ├─┬ gulp-sourcemaps@1.6.0
│ │ │ ├── convert-source-map@1.2.0
│ │ │ ├─┬ through2@2.0.1
│ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │ └── isarray@1.0.0
│ │ │ └── vinyl@1.1.1
│ │ ├── is-valid-glob@0.3.0
│ │ ├── lazystream@1.0.0
│ │ ├─┬ lodash.isequal@4.1.4
│ │ │ ├── lodash._root@3.0.1
│ │ │ └── lodash._stack@4.1.3
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├── strip-bom@2.0.0
│ │ ├── strip-bom-stream@1.0.0
│ │ ├─┬ through2@2.0.1
│ │ │ └─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ ├─┬ through2-filter@2.0.0
│ │ │ └─┬ through2@2.0.1
│ │ │ └─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ ├── vali-date@1.0.0
│ │ └── vinyl@1.1.1
│ └── wrap-promise@1.0.1
├─┬ gulp-html-extract@0.1.0
│ ├─┬ cheerio@0.19.0
│ │ ├─┬ css-select@1.0.0
│ │ │ ├── boolbase@1.0.0
│ │ │ ├── css-what@1.0.0
│ │ │ ├── domutils@1.4.3
│ │ │ └── nth-check@1.0.1
│ │ ├─┬ dom-serializer@0.1.0
│ │ │ └── domelementtype@1.1.3
│ │ ├── entities@1.1.1
│ │ ├─┬ htmlparser2@3.8.3
│ │ │ ├── domelementtype@1.3.0
│ │ │ ├── domhandler@2.3.0
│ │ │ ├── domutils@1.5.1
│ │ │ ├── entities@1.0.0
│ │ │ └── readable-stream@1.1.14
│ │ └── lodash@3.10.1
│ ├─┬ gulp-util@2.2.14
│ │ ├─┬ chalk@0.4.0
│ │ │ ├── ansi-styles@1.0.0
│ │ │ ├── has-color@0.1.7
│ │ │ └── strip-ansi@0.1.1
│ │ ├── lodash._reinterpolate@2.4.1
│ │ ├─┬ lodash.template@2.4.1
│ │ │ ├── lodash._escapestringchar@2.4.1
│ │ │ ├─┬ lodash.defaults@2.4.1
│ │ │ │ ├── lodash._objecttypes@2.4.1
│ │ │ │ └── lodash.keys@2.4.1
│ │ │ ├─┬ lodash.escape@2.4.1
│ │ │ │ ├─┬ lodash._escapehtmlchar@2.4.1
│ │ │ │ │ └── lodash._htmlescapes@2.4.1
│ │ │ │ └─┬ lodash._reunescapedhtml@2.4.1
│ │ │ │ └── lodash.keys@2.4.1
│ │ │ ├─┬ lodash.keys@2.4.1
│ │ │ │ ├── lodash._isnative@2.4.1
│ │ │ │ ├── lodash._shimkeys@2.4.1
│ │ │ │ └── lodash.isobject@2.4.1
│ │ │ ├── lodash.templatesettings@2.4.1
│ │ │ └─┬ lodash.values@2.4.1
│ │ │ └── lodash.keys@2.4.1
│ │ ├── minimist@0.0.10
│ │ ├─┬ multipipe@0.0.2
│ │ │ └── duplexer2@0.0.1
│ │ └── vinyl@0.2.3
│ └─┬ through2@0.4.1
│ ├── readable-stream@1.0.34
│ └─┬ xtend@2.1.2
│ └── object-keys@0.4.0
├─┬ gulp-if@2.0.0
│ ├─┬ gulp-match@1.0.1
│ │ └── minimatch@3.0.0
│ ├─┬ ternary-stream@2.0.0
│ │ ├── fork-stream@0.0.4
│ │ └─┬ through2@2.0.1
│ │ └─┬ readable-stream@2.0.6
│ │ └── isarray@1.0.0
│ └─┬ through2@2.0.1
│ └─┬ readable-stream@2.0.6
│ └── isarray@1.0.0
├─┬ gulp-imagemin@2.4.0
│ ├─┬ imagemin@4.0.0
│ │ ├─┬ buffer-to-vinyl@1.1.0
│ │ │ ├── file-type@3.8.0
│ │ │ ├── uuid@2.0.2
│ │ │ └── vinyl@1.1.1
│ │ ├─┬ concat-stream@1.5.1
│ │ │ ├─┬ readable-stream@2.0.6
│ │ │ │ └── isarray@1.0.0
│ │ │ └── typedarray@0.0.6
│ │ ├─┬ imagemin-gifsicle@4.2.0
│ │ │ ├─┬ gifsicle@3.0.3
│ │ │ │ ├─┬ bin-build@2.2.0
│ │ │ │ │ ├── archive-type@3.2.0
│ │ │ │ │ ├─┬ decompress@3.0.0
│ │ │ │ │ │ ├─┬ decompress-tar@3.1.0
│ │ │ │ │ │ │ ├── is-tar@1.0.0
│ │ │ │ │ │ │ ├── object-assign@2.1.1
│ │ │ │ │ │ │ ├─┬ strip-dirs@1.1.1
│ │ │ │ │ │ │ │ ├─┬ is-absolute@0.1.7
│ │ │ │ │ │ │ │ │ └── is-relative@0.1.3
│ │ │ │ │ │ │ │ ├── is-natural-number@2.0.0
│ │ │ │ │ │ │ │ └── sum-up@1.0.3
│ │ │ │ │ │ │ ├─┬ tar-stream@1.5.2
│ │ │ │ │ │ │ │ └── end-of-stream@1.1.0
│ │ │ │ │ │ │ └─┬ vinyl@0.4.6
│ │ │ │ │ │ │ └── clone@0.2.0
│ │ │ │ │ │ ├─┬ decompress-tarbz2@3.1.0
│ │ │ │ │ │ │ ├── is-bzip2@1.0.0
│ │ │ │ │ │ │ ├── object-assign@2.1.1
│ │ │ │ │ │ │ ├─┬ seek-bzip@1.0.5
│ │ │ │ │ │ │ │ └── commander@2.8.1
│ │ │ │ │ │ │ └─┬ vinyl@0.4.6
│ │ │ │ │ │ │ └── clone@0.2.0
│ │ │ │ │ │ ├─┬ decompress-targz@3.1.0
│ │ │ │ │ │ │ ├── is-gzip@1.0.0
│ │ │ │ │ │ │ ├── object-assign@2.1.1
│ │ │ │ │ │ │ └─┬ vinyl@0.4.6
│ │ │ │ │ │ │ └── clone@0.2.0
│ │ │ │ │ │ ├─┬ decompress-unzip@3.4.0
│ │ │ │ │ │ │ ├── is-zip@1.0.0
│ │ │ │ │ │ │ ├── stat-mode@0.2.1
│ │ │ │ │ │ │ ├─┬ through2@2.0.1
│ │ │ │ │ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │ │ │ │ │ └── isarray@1.0.0
│ │ │ │ │ │ │ ├── vinyl@1.1.1
│ │ │ │ │ │ │ └─┬ yauzl@2.4.1
│ │ │ │ │ │ │ └─┬ fd-slicer@1.0.1
│ │ │ │ │ │ │ └── pend@1.2.0
│ │ │ │ │ │ ├── vinyl-assign@1.2.1
│ │ │ │ │ │ └─┬ vinyl-fs@2.4.3
│ │ │ │ │ │ ├─┬ glob-stream@5.3.2
│ │ │ │ │ │ │ ├── glob@5.0.15
│ │ │ │ │ │ │ ├── ordered-read-streams@0.3.0
│ │ │ │ │ │ │ ├─┬ through2@0.6.5
│ │ │ │ │ │ │ │ └── readable-stream@1.0.34
│ │ │ │ │ │ │ └── unique-stream@2.2.1
│ │ │ │ │ │ ├─┬ mkdirp@0.5.1
│ │ │ │ │ │ │ └── minimist@0.0.8
│ │ │ │ │ │ ├─┬ through2@2.0.1
│ │ │ │ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │ │ │ │ └── isarray@1.0.0
│ │ │ │ │ │ └── vinyl@1.1.1
│ │ │ │ │ ├─┬ download@4.4.3
│ │ │ │ │ │ ├─┬ caw@1.2.0
│ │ │ │ │ │ │ ├── get-proxy@1.1.0
│ │ │ │ │ │ │ └── object-assign@3.0.0
│ │ │ │ │ │ ├─┬ filenamify@1.2.1
│ │ │ │ │ │ │ ├── filename-reserved-regex@1.0.0
│ │ │ │ │ │ │ ├── strip-outer@1.0.0
│ │ │ │ │ │ │ └── trim-repeated@1.0.0
│ │ │ │ │ │ ├── gulp-decompress@1.2.0
│ │ │ │ │ │ ├── is-url@1.2.1
│ │ │ │ │ │ ├── vinyl@1.1.1
│ │ │ │ │ │ ├─┬ vinyl-fs@2.4.3
│ │ │ │ │ │ │ ├─┬ glob-stream@5.3.2
│ │ │ │ │ │ │ │ ├── glob@5.0.15
│ │ │ │ │ │ │ │ ├── ordered-read-streams@0.3.0
│ │ │ │ │ │ │ │ ├─┬ through2@0.6.5
│ │ │ │ │ │ │ │ │ └── readable-stream@1.0.34
│ │ │ │ │ │ │ │ └── unique-stream@2.2.1
│ │ │ │ │ │ │ ├─┬ mkdirp@0.5.1
│ │ │ │ │ │ │ │ └── minimist@0.0.8
│ │ │ │ │ │ │ └─┬ through2@2.0.1
│ │ │ │ │ │ │ └─┬ readable-stream@2.0.6
│ │ │ │ │ │ │ └── isarray@1.0.0
│ │ │ │ │ │ └─┬ ware@1.3.0
│ │ │ │ │ │ └─┬ wrap-fn@0.1.5
│ │ │ │ │ │ └── co@3.1.0
│ │ │ │ │ ├─┬ exec-series@1.0.2
│ │ │ │ │ │ └── async-each-series@1.1.0
│ │ │ │ │ └─┬ url-regex@3.1.1
│ │ │ │ │ └── ip-regex@1.0.3
│ │ │ │ ├─┬ bin-wrapper@3.0.2
│ │ │ │ │ ├─┬ bin-check@2.0.0
│ │ │ │ │ │ └── executable@1.1.0
│ │ │ │ │ ├─┬ bin-version-check@2.1.0
│ │ │ │ │ │ ├─┬ bin-version@1.0.4
│ │ │ │ │ │ │ └─┬ find-versions@1.2.1
│ │ │ │ │ │ │ └── semver-regex@1.0.0
│ │ │ │ │ │ ├── semver@4.3.6
│ │ │ │ │ │ └── semver-truncate@1.1.0
│ │ │ │ │ ├─┬ each-async@1.1.1
│ │ │ │ │ │ ├── onetime@1.1.0
│ │ │ │ │ │ └── set-immediate-shim@1.0.1
│ │ │ │ │ ├── lazy-req@1.1.0
│ │ │ │ │ └── os-filter-obj@1.0.3
│ │ │ │ └─┬ logalot@2.1.0
│ │ │ │ ├── figures@1.5.0
│ │ │ │ └─┬ squeak@1.3.0
│ │ │ │ ├── console-stream@0.1.1
│ │ │ │ └─┬ lpad-align@1.1.0
│ │ │ │ └── lpad@2.0.1
│ │ │ └── is-gif@1.0.0
│ │ ├─┬ imagemin-jpegtran@4.3.2
│ │ │ ├── is-jpg@1.0.0
│ │ │ ├── jpegtran-bin@3.0.6
│ │ │ └─┬ through2@2.0.1
│ │ │ └─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ ├─┬ imagemin-optipng@4.3.0
│ │ │ ├─┬ exec-buffer@2.0.1
│ │ │ │ └── tempfile@1.1.1
│ │ │ ├── is-png@1.0.0
│ │ │ └── optipng-bin@3.1.1
│ │ ├─┬ imagemin-svgo@4.2.1
│ │ │ ├── is-svg@1.1.1
│ │ │ ├─┬ svgo@0.6.4
│ │ │ │ ├─┬ coa@1.0.1
│ │ │ │ │ └── q@1.4.1
│ │ │ │ ├── colors@1.1.2
│ │ │ │ ├─┬ csso@1.8.1
│ │ │ │ │ └─┬ clap@1.1.0
│ │ │ │ │ └── chalk@1.1.1
│ │ │ │ ├── js-yaml@3.5.5
│ │ │ │ ├─┬ mkdirp@0.5.1
│ │ │ │ │ └── minimist@0.0.8
│ │ │ │ ├── sax@1.2.1
│ │ │ │ └── whet.extend@0.9.9
│ │ │ └─┬ through2@2.0.1
│ │ │ └─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ ├── optional@0.1.3
│ │ ├─┬ stream-combiner2@1.1.1
│ │ │ └── duplexer2@0.1.4
│ │ └─┬ vinyl-fs@2.4.3
│ │ ├─┬ glob-stream@5.3.2
│ │ │ ├── glob@5.0.15
│ │ │ ├── ordered-read-streams@0.3.0
│ │ │ ├─┬ through2@0.6.5
│ │ │ │ └── readable-stream@1.0.34
│ │ │ └── unique-stream@2.2.1
│ │ ├─┬ mkdirp@0.5.1
│ │ │ └── minimist@0.0.8
│ │ ├─┬ through2@2.0.1
│ │ │ └─┬ readable-stream@2.0.6
│ │ │ └── isarray@1.0.0
│ │ └── vinyl@1.1.1
│ ├─┬ plur@2.1.2
│ │ └── irregular-plurals@1.1.0
│ ├─┬ pretty-bytes@2.0.1
│ │ ├── get-stdin@4.0.1
│ │ ├─┬ meow@3.7.0
│ │ │ ├─┬ camelcase-keys@2.1.0
│ │ │ │ └── camelcase@2.1.1
│ │ │ ├─┬ loud-rejection@1.3.0
│ │ │ │ ├── array-find-index@1.0.1
│ │ │ │ └── signal-exit@2.1.2
│ │ │ ├── map-obj@1.0.1
│ │ │ ├─┬ normalize-package-data@2.3.5
│ │ │ │ ├── hosted-git-info@2.1.4
│ │ │ │ ├─┬ 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.1
│ │ │ │ └─┬ spdx-expression-parse@1.0.2
│ │ │ │ └── spdx-exceptions@1.0.4
│ │ │ ├─┬ redent@1.0.0
│ │ │ │ ├── indent-string@2.1.0
│ │ │ │ └── strip-indent@1.0.1
│ │ │ └── trim-newlines@1.0.0
│ │ └── number-is-nan@1.0.0
│ └─┬ through2-concurrent@1.1.0
│ └─┬ through2@2.0.1
│ └─┬ readable-stream@2.0.6
│ └── isarray@1.0.0
├─┬ gulp-jscs@3.0.2
│ ├─┬ jscs@2.11.0
│ │ ├─┬ babel-jscs@2.0.5
│ │ │ ├─┬ babel-core@5.8.38
│ │ │ │ ├── babel-plugin-constant-folding@1.0.1
│ │ │ │ ├── babel-plugin-dead-code-elimination@1.0.2
│ │ │ │ ├── babel-plugin-eval@1.0.1
│ │ │ │ ├── babel-plugin-inline-environment-variables@1.0.1
│ │ │ │ ├── babel-plugin-jscript@1.0.4
│ │ │ │ ├── babel-plugin-member-expression-literals@1.0.1
│ │ │ │ ├── babel-plugin-property-literals@1.0.1
│ │ │ │ ├─┬ babel-plugin-proto-to-assign@1.0.4
│ │ │ │ │ └── lodash@3.10.1
│ │ │ │ ├── babel-plugin-react-constant-elements@1.0.3
│ │ │ │ ├── babel-plugin-react-display-name@1.0.3
│ │ │ │ ├── babel-plugin-remove-console@1.0.1
│ │ │ │ ├── babel-plugin-remove-debugger@1.0.1
│ │ │ │ ├── babel-plugin-runtime@1.0.7
│ │ │ │ ├─┬ babel-plugin-undeclared-variables-check@1.0.2
│ │ │ │ │ └── leven@1.0.2
│ │ │ │ ├── babel-plugin-undefined-to-void@1.1.6
│ │ │ │ ├── babylon@5.8.38
│ │ │ │ ├── bluebird@2.10.2
│ │ │ │ ├── core-js@1.2.6
│ │ │ │ ├─┬ detect-indent@3.0.1
│ │ │ │ │ └── repeating@1.1.3
│ │ │ │ ├── fs-readdir-recursive@0.1.2
│ │ │ │ ├── globals@6.4.1
│ │ │ │ ├── home-or-tmp@1.0.0
│ │ │ │ ├── is-integer@1.0.6
│ │ │ │ ├── js-tokens@1.0.1
│ │ │ │ ├── json5@0.4.0
│ │ │ │ ├── lodash@3.10.1
│ │ │ │ ├─┬ output-file-sync@1.1.1
│ │ │ │ │ └─┬ mkdirp@0.5.1
│ │ │ │ │ └── minimist@0.0.8
│ │ │ │ ├── path-exists@1.0.0
│ │ │ │ ├─┬ regenerator@0.8.40
│ │ │ │ │ ├─┬ commoner@0.10.4
│ │ │ │ │ │ ├─┬ detective@4.3.1
│ │ │ │ │ │ │ └── defined@1.0.0
│ │ │ │ │ │ ├── glob@5.0.15
│ │ │ │ │ │ ├── iconv-lite@0.4.13
│ │ │ │ │ │ ├─┬ mkdirp@0.5.1
│ │ │ │ │ │ │ └── minimist@0.0.8
│ │ │ │ │ │ └─┬ recast@0.10.43
│ │ │ │ │ │ ├── ast-types@0.8.15
│ │ │ │ │ │ └── esprima-fb@15001.1001.0-dev-harmony-fb
│ │ │ │ │ ├─┬ defs@1.1.1
│ │ │ │ │ │ ├─┬ alter@0.2.0
│ │ │ │ │ │ │ └── stable@0.1.5
│ │ │ │ │ │ ├── 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
│ │ │ │ │ │ └── cliui@2.1.0
│ │ │ │ │ ├── esprima-fb@15001.1001.0-dev-harmony-fb
│ │ │ │ │ └─┬ recast@0.10.33
│ │ │ │ │ └── ast-types@0.8.12
│ │ │ │ ├─┬ regexpu@1.3.0
│ │ │ │ │ ├─┬ recast@0.10.43
│ │ │ │ │ │ ├── ast-types@0.8.15
│ │ │ │ │ │ └── esprima-fb@15001.1001.0-dev-harmony-fb
│ │ │ │ │ ├── regenerate@1.2.1
│ │ │ │ │ ├── regjsgen@0.2.0
│ │ │ │ │ └─┬ regjsparser@0.1.5
│ │ │ │ │ └── jsesc@0.5.0
│ │ │ │ ├── repeating@1.1.3
│ │ │ │ ├── shebang-regex@1.0.0
│ │ │ │ ├── slash@1.0.0
│ │ │ │ ├─┬ source-map-support@0.2.10
│ │ │ │ │ └── source-map@0.1.32
│ │ │ │ ├── to-fast-properties@1.0.2
│ │ │ │ ├── trim-right@1.0.1
│ │ │ │ └── try-resolve@1.0.1
│ │ │ └─┬ lodash.assign@3.2.0
│ │ │ ├─┬ lodash._baseassign@3.2.0
│ │ │ │ └── lodash.keys@3.1.2
│ │ │ ├─┬ lodash._createassigner@3.1.1
│ │ │ │ └── lodash._bindcallback@3.0.1
│ │ │ └── lodash.keys@3.1.2
│ │ ├─┬ cli-table@0.3.1
│ │ │ └── colors@1.0.3
│ │ ├─┬ commander@2.9.0
│ │ │ └── graceful-readlink@1.0.1
│ │ ├─┬ escope@3.6.0
│ │ │ ├─┬ es6-map@0.1.3
│ │ │ │ ├── es6-set@0.1.4
│ │ │ │ ├── es6-symbol@3.0.2
│ │ │ │ └── event-emitter@0.3.4
│ │ │ ├── es6-weak-map@2.0.1
│ │ │ └─┬ esrecurse@4.1.0
│ │ │ └── estraverse@4.1.1
│ │ ├── esprima@2.7.2
│ │ ├── estraverse@4.2.0
│ │ ├── exit@0.1.2
│ │ ├── glob@5.0.15
│ │ ├─┬ js-yaml@3.4.6
│ │ │ ├─┬ argparse@1.0.7
│ │ │ │ └── sprintf-js@1.0.3
│ │ │ └── inherit@2.2.3
│ │ ├─┬ jscs-jsdoc@1.3.2
│ │ │ ├── comment-parser@0.3.1
│ │ │ └─┬ jsdoctypeparser@1.2.0
│ │ │ └── lodash@3.10.1
│ │ ├── jscs-preset-wikimedia@1.0.0
│ │ ├─┬ jsonlint@1.6.2
│ │ │ ├── JSV@4.0.2
│ │ │ └─┬ nomnom@1.8.1
│ │ │ ├─┬ chalk@0.4.0
│ │ │ │ ├── ansi-styles@1.0.0
│ │ │ │ └── strip-ansi@0.1.1
│ │ │ └── underscore@1.6.0
│ │ ├── lodash@3.10.1
│ │ ├── minimatch@3.0.0
│ │ ├── natural-compare@1.2.2
│ │ ├── pathval@0.1.1
│ │ ├─┬ prompt@0.2.14
│ │ │ ├── pkginfo@0.4.0
│ │ │ ├─┬ read@1.0.7
│ │ │ │ └── mute-stream@0.0.6
│ │ │ ├── revalidator@0.1.8
│ │ │ ├─┬ utile@0.2.1
│ │ │ │ ├── async@0.2.10
│ │ │ │ ├── deep-equal@1.0.1
│ │ │ │ ├── i@0.3.4
│ │ │ │ └── ncp@0.4.2
│ │ │ └─┬ winston@0.8.3
│ │ │ ├── async@0.2.10
│ │ │ ├── colors@0.6.2
│ │ │ ├── cycle@1.0.3
│ │ │ ├── eyes@0.1.8
│ │ │ ├── pkginfo@0.3.1
│ │ │ └── stack-trace@0.0.9
│ │ ├── reserved-words@0.1.1
│ │ ├── strip-json-comments@1.0.4
│ │ ├── to-double-quotes@2.0.0
│ │ ├── to-single-quotes@2.0.0
│ │ ├── vow@0.4.12
│ │ ├─┬ vow-fs@0.3.5
│ │ │ ├── glob@4.5.3
│ │ │ └── vow-queue@0.4.2
│ │ └─┬ xmlbuilder@3.1.0
│ │ └── lodash@3.10.1
│ └─┬ through2@2.0.1
│ └─┬ readable-stream@2.0.6
│ └── isarray@1.0.0
├─┬ gulp-jscs-stylish@1.4.0
│ └─┬ gulp-tap@0.1.3
│ └─┬ event-stream@3.1.7
│ └── split@0.2.10
├─┬ gulp-jshint@1.12.0
│ ├─┬ jshint@2.9.2
│ │ ├─┬ cli@0.6.6
│ │ │ └─┬ glob@3.2.11
│ │ │ └─┬ minimatch@0.3.0
│ │ │ ├── lru-cache@2.7.3
│ │ │ └── sigmund@1.0.1
│ │ ├─┬ console-browserify@1.1.0
│ │ │ └── date-now@0.1.4
│ │ ├── lodash@3.7.0
│ │ └── shelljs@0.3.0
│ ├── lodash@3.10.1
│ ├─┬ minimatch@2.0.10
│ │ └─┬ brace-expansion@1.1.3
│ │ ├── balanced-match@0.3.0
│ │ └── concat-map@0.0.1
│ ├─┬ rcloader@0.1.2
│ │ ├── lodash@2.4.2
│ │ └─┬ rcfinder@0.1.8
│ │ └── lodash@2.4.2
│ └─┬ through2@0.6.5
│ └── readable-stream@1.0.34
├─┬ gulp-load-plugins@1.2.2
│ ├─┬ findup-sync@0.2.1
│ │ └── glob@4.3.5
│ ├── multimatch@2.0.0
│ └── resolve@1.1.7
├─┬ gulp-minify-css@1.2.4
│ ├─┬ clean-css@3.4.12
│ │ ├── commander@2.8.1
│ │ └─┬ source-map@0.4.4
│ │ └── amdefine@1.0.0
│ └─┬ vinyl-bufferstream@1.0.1
│ └─┬ bufferstreams@1.0.1
│ └── readable-stream@1.1.14
├─┬ gulp-minify-html@1.0.6
│ └─┬ minimize@1.8.1
│ ├── argh@0.1.4
│ ├── async@1.5.2
│ ├─┬ cli-color@1.1.0
│ │ ├── d@0.1.1
│ │ ├── es5-ext@0.10.11
│ │ ├── es6-iterator@2.0.0
│ │ ├─┬ memoizee@0.3.10
│ │ │ ├─┬ es6-weak-map@0.1.4
│ │ │ │ ├── es6-iterator@0.1.3
│ │ │ │ └── es6-symbol@2.0.1
│ │ │ ├── lru-queue@0.1.0
│ │ │ └── next-tick@0.2.2
│ │ └── timers-ext@0.1.0
│ ├─┬ diagnostics@1.0.1
│ │ ├─┬ colorspace@1.0.1
│ │ │ ├─┬ color@0.8.0
│ │ │ │ ├── color-convert@0.5.3
│ │ │ │ └─┬ color-string@0.3.0
│ │ │ │ └── color-name@1.1.1
│ │ │ └── text-hex@0.0.0
│ │ ├─┬ enabled@1.0.2
│ │ │ └── env-variable@0.0.3
│ │ └─┬ kuler@0.0.0
│ │ └── colornames@0.0.2
│ ├── emits@3.0.0
│ ├─┬ htmlparser2@3.9.0
│ │ └── domutils@1.5.1
│ └── node-uuid@1.4.7
├── gulp-rename@1.2.2
├─┬ gulp-replace@0.5.4
│ ├─┬ istextorbinary@1.0.2
│ │ ├── binaryextensions@1.0.0
│ │ └── textextensions@1.0.1
│ └─┬ replacestream@4.0.0
│ └── object-assign@3.0.0
├─┬ gulp-size@2.1.0
│ ├─┬ gzip-size@3.0.0
│ │ └── duplexer@0.1.1
│ ├── pretty-bytes@3.0.1
│ ├── stream-counter@1.0.0
│ └─┬ through2@2.0.1
│ └─┬ readable-stream@2.0.6
│ └── isarray@1.0.0
├─┬ gulp-uglify@1.5.3
│ ├── deap@1.0.0
│ ├─┬ fancy-log@1.2.0
│ │ └── time-stamp@1.0.1
│ ├─┬ isobject@2.0.0
│ │ └── isarray@0.0.1
│ ├─┬ through2@2.0.1
│ │ └─┬ readable-stream@2.0.6
│ │ └── isarray@1.0.0
│ ├─┬ uglify-js@2.6.2
│ │ ├── async@0.2.10
│ │ ├── uglify-to-browserify@1.0.2
│ │ └─┬ yargs@3.10.0
│ │ ├─┬ cliui@2.1.0
│ │ │ ├─┬ center-align@0.1.3
│ │ │ │ ├─┬ align-text@0.1.4
│ │ │ │ │ └── longest@1.0.1
│ │ │ │ └── lazy-cache@1.0.3
│ │ │ ├── right-align@0.1.3
│ │ │ └── wordwrap@0.0.2
│ │ └── window-size@0.1.0
│ └── uglify-save-license@0.4.1
├─┬ gulp-useref@2.1.0
│ ├─┬ event-stream@3.3.2
│ │ ├── from@0.1.3
│ │ ├── map-stream@0.1.0
│ │ ├── pause-stream@0.0.11
│ │ ├── split@0.3.3
│ │ ├── stream-combiner@0.0.4
│ │ └── through@2.3.8
│ ├── glob@5.0.15
│ ├─┬ gulp-concat@2.6.0
│ │ └── concat-with-sourcemaps@1.0.4
│ ├─┬ is-relative-url@1.0.0
│ │ └── is-absolute-url@1.0.0
│ ├── node-useref@0.3.15
│ └─┬ vinyl-fs@2.4.3
│ ├─┬ glob-stream@5.3.2
│ │ ├── ordered-read-streams@0.3.0
│ │ └── unique-stream@2.2.1
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├─┬ through2@2.0.1
│ │ └─┬ readable-stream@2.0.6
│ │ └── isarray@1.0.0
│ └── vinyl@1.1.1
├─┬ gulp-vulcanize@6.1.0
│ └─┬ through2@2.0.1
│ └─┬ readable-stream@2.0.6
│ └── isarray@1.0.0
├─┬ jshint-stylish@2.1.0
│ ├── log-symbols@1.0.2
│ ├── string-length@1.0.1
│ └── text-table@0.2.0
├── merge-stream@1.0.0
├── require-dir@0.3.0
├── run-sequence@1.1.5
└─┬ vulcanize@1.14.8
├─┬ dom5@1.3.1
│ └── parse5@1.5.1
├── es6-promise@2.3.0
├─┬ hydrolysis@1.23.3
│ ├─┬ babel-polyfill@6.7.4
│ │ ├── babel-regenerator-runtime@6.5.0
│ │ ├── babel-runtime@5.8.38
│ │ └── core-js@2.2.2
│ ├─┬ doctrine@0.7.2
│ │ └── esutils@1.1.6
│ ├─┬ escodegen@1.8.0
│ │ ├── estraverse@1.9.3
│ │ ├── esutils@2.0.2
│ │ ├─┬ optionator@0.8.1
│ │ │ ├── deep-is@0.1.3
│ │ │ ├── fast-levenshtein@1.1.3
│ │ │ ├── levn@0.3.0
│ │ │ ├── prelude-ls@1.1.2
│ │ │ ├── type-check@0.3.2
│ │ │ └── wordwrap@1.0.0
│ │ └── source-map@0.2.0
│ ├─┬ espree@3.1.4
│ │ ├── acorn@3.1.0
│ │ └─┬ acorn-jsx@3.0.0
│ │ └── acorn@3.1.0
│ └── estraverse@3.1.0
├─┬ nopt@3.0.6
│ └── abbrev@1.0.7
├── path-posix@1.0.0
└─┬ update-notifier@0.6.3
├─┬ boxen@0.3.1
│ ├── filled-array@1.1.0
│ ├─┬ repeating@2.0.1
│ │ └── is-finite@1.0.1
│ └── widest-line@1.0.0
├─┬ configstore@2.0.0
│ ├─┬ dot-prop@2.4.0
│ │ └── is-obj@1.0.1
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├── os-tmpdir@1.0.1
│ ├── osenv@0.1.3
│ ├─┬ write-file-atomic@1.1.4
│ │ ├── imurmurhash@0.1.4
│ │ └── slide@1.1.6
│ └── xdg-basedir@2.0.0
├── is-npm@1.0.0
├─┬ latest-version@2.0.0
│ └─┬ package-json@2.3.2
│ ├─┬ got@5.6.0
│ │ ├─┬ create-error-class@3.0.2
│ │ │ └── capture-stack-trace@1.0.0
│ │ ├── duplexer2@0.1.4
│ │ ├── is-plain-obj@1.1.0
│ │ ├── is-redirect@1.0.0
│ │ ├── is-retry-allowed@1.0.0
│ │ ├── lowercase-keys@1.0.0
│ │ ├── node-status-codes@1.0.0
│ │ ├── read-all-stream@3.1.0
│ │ ├── timed-out@2.0.0
│ │ ├── unzip-response@1.0.0
│ │ └─┬ url-parse-lax@1.0.0
│ │ └── prepend-http@1.0.3
│ ├─┬ rc@1.1.6
│ │ ├── deep-extend@0.4.1
│ │ └── ini@1.3.4
│ └── registry-url@3.1.0
└─┬ semver-diff@2.1.0
└── semver@5.1.0
Many thanks! gulp@3.9.1 let me go one more step :)
One more question, now i got
"Keystore is not of correct version."
That i need to put in wallet.json?
looks like geth json not work...
I added a script mkwallet.js
that generates a random wallet.json file.
Instructions are here - https://github.com/sponnet/locals-faucetserver#installing
Thanks for an answer!
So,
node mkwallet.js test > wallet.json
gave me
{"encSeed":{"encStr":"/oluIe2p+59rv2Y0qrMYZJhpd/hm1rmmLV2ysA0snfHdCpMJ0WF5RFuaY9nwjcu/faU/s/yf2VMSTOdtURs00DgtfjOOdXEVZbS07VPTcpAso9iun1DXdwFaXUiKG9HE1ZRV9kbRKYB2QM+pGqARUakAn+EH0CXvgjRrGGK+PDyMFJHUkv14CA==","nonce":"Zjw3xH8LjmMVNf19U1ckAmwkfIPteRwk"},"ksData":{"m/0'/0'/0'":{"info":{"curve":"secp256k1","purpose":"sign"},"encHdPathPriv":{"encStr":"R03EY435sF6IVW627xUvOS5J3KaJSlDuMlrQVyH1np093Wrw+y01aWtpWZ0VNF3E+74CqETndqWqTlVS+CYSRmacOKvKtO+zihA2RO9VyQxpf8bcfSpecXp5MawXH5Ff3lDG3GGYb6fJXZvXbPY7MIyMI67AM2GB2F1JL5beUQ==","nonce":"xBmoHmUVjTQgIrQWhGc9FPxjJiwQ+MjL"},"hdIndex":1,"encPrivKeys":{"a4316ab145f25102e7f5b36c337582df0ce58860":{"key":"bfkpnTupWy+Dvnb3iPz75HI6193L2DQCSpifJxWX2TNFVJqsEFYW1VvH8qWm18LC","nonce":"e1IPWl876gH+qt0v5DRt4aHzEugarVh5"}},"addresses":["a4316ab145f25102e7f5b36c337582df0ce58860"]}},"encHdRootPriv":{"encStr":"t87gI1/MgoFEMQ/QIr5TnpSsv6FLjxPLauushPlBPzNWLaRC08GtUGpzyCeETaTl2ZwqYGiXLX0IdVxDhlC2Ays6wjJR3QrkAxwf9/SNVaZnC85Lfn8wD843fhqndrbQ3OlsxTYn4xasmSr8wAHmAi6Iizjrf7/ZatIlonAZpw==","nonce":"2RerT7e/v2rMODjwYjQ+VRRhilZvUB7d"},"version":2}
in index.js
lightwallet.keystore.deriveKeyFromPassword("test", function(err, pwDerivedKey)
and as a result:
irebase Login Succeeded! { auth: null, expires: null, token: '', uid: null, provider: 'custom' } FIREBASE WARNING: Using an unspecified index. Consider adding ".indexOn": "_state" at /queue1524728945758/tasks to your security rules for better performance FIREBASE WARNING: Using an unspecified index. Consider adding ".indexOn": "_state" at /queue1524728945758/tasks to your security rules for better performance /root/locals-faucetserver/node_modules/eth-lightwallet/lib/upgrade.js:47 throw new Error('Keystore is not of correct version.') ^
Error: Keystore is not of correct version. at Object.upgradeOldSerialized (/root/locals-faucetserver/node_modules/eth-lightwallet/lib/upgrade.js:47:11) at /root/locals-faucetserver/index.js:52:24 at cb (/root/locals-faucetserver/node_modules/eth-lightwallet/lib/keystore.js:457:5) at /root/locals-faucetserver/node_modules/scrypt-async/scrypt-async.js:474:9 at Immediate._onImmediate (/root/locals-faucetserver/node_modules/scrypt-async/scrypt-async.js:433:11) at runCallback (timers.js:794:20) at tryOnImmediate (timers.js:752:5) at processImmediate [as _immediateCallback] (timers.js:729:5)
eth-lightwallet@2.3.1 is used btw
How did you solve the More than one instance of bitcore-lib found
error ? I installed a fresh copy on another machine , but ofcourse run in to the same problem as you described.
If I can get past it , I could help with solving the keystore problem.
I am manually installed modules from the 1st post
nvm use 8.11.1 npm install cors@2.7.1 eth-lightwallet@2.3.1 bitcore-mnemonic@1.0.1 crypto-js@3.1.6 elliptic@3.1.0 ethereumjs-tx@1.1.1 ethereumjs-util@4.3.0 rlp@2.0.0 scrypt-async@1.2.0 tweetnacl@0.13.2 express@4.13.4 firebase@2.4.2 firebase-queue@1.3.1 hooked-web3-provider@1.0.0 lodash@4.11.1 web3@0.15.3
and in static/locals-faucet after npm install i manually installed npm install gulp@3.9.1
So if you create a wallet.json
now - the upgrade is not needed anymore. I commented out that piece of code in the index.js
. If you update the index.js
to the head version, it works. ( at least here ).
Can you verify ?
and now...
module.js:434 return process.dlopen(module, path._makeLong(filename)); ^
Error: Module version mismatch. Expected 46, got 57.
at Error (native)
at Object.Module._extensions..node (module.js:434:18)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.
not sure what module needs another version
keccakjs is 0.1.0 as above
I fixed the versions of the modules in the package.json, then I removed and installed all node packages for the project. Please pull again now.
rm -Rf node_modules/
npm i
node mkwallet.js test > wallet.json
node index.js
then the faucet starts up without a hitch
...
Fawcet listening on port 3000
I'm running this version of nodeJS / npm
$ npm -v
5.6.0
$ node -v
v8.0.0
Great job! Its started!
But... http://104.131.77.78:3000/ Cannot GET /
Log from start: Firebase Login Succeeded! { auth: null, expires: null, token: '', uid: null, provider: 'custom' } FIREBASE WARNING: Using an unspecified index. Consider adding ".indexOn": "_state" at /queue1524742542864/tasks to your security rules for better performance FIREBASE WARNING: Using an unspecified index. Consider adding ".indexOn": "_state" at /queue1524742542864/tasks to your security rules for better performance connecting to ETH node: http://localhost:8545 Wallet initted addr=6cd8be3be99ce2880c24e2e35d14f2e1640e6163 Fawcet listening on port 3000
did you go into the static folder and gulp the thing ?
cd static/locals-faucet/
gulp
It should create a locals-faucetserver/static/locals-faucet/dist
folder
And then I get the web interface too.
yep, forgot it...
but it gives me this, even on v8.0.0 even on 8.11.1
[12:33:39] Using gulpfile ~/faucet/locals-faucetserver/static/locals-faucet/gulpfile.js [12:33:39] Starting 'clean'... [12:33:39] Finished 'clean' after 8.71 ms [12:33:39] Starting 'default'... [12:33:39] Starting 'copy'... [12:33:39] Starting 'styles'... [12:33:40] styles all files 98 B [12:33:40] Finished 'styles' after 981 ms [12:33:40] copy all files 2.07 MB [12:33:40] Finished 'copy' after 1.47 s [12:33:40] Starting 'elements'... [12:33:40] Finished 'elements' after 14 ms [12:33:40] Starting 'ensureFiles'... [12:33:40] Finished 'ensureFiles' after 4.64 ms [12:33:40] Starting 'lint'... [12:33:42] Starting 'images'... [12:33:42] Starting 'fonts'... [12:33:42] Starting 'html'... [12:33:42] Finished 'fonts' after 236 ms [12:33:42] Finished 'lint' after 2.04 s
events.js:182 throw er; // Unhandled 'error' event ^ Error: spawn /root/faucet/locals-faucetserver/static/locals-faucet/node_modules/optipng-bin/vendor/optipng ENOENT at exports._errnoException (util.js:1026:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:189:19) at onErrorNT (internal/child_process.js:366:16) at _combinedTickCallback (internal/process/next_tick.js:102:11) at process._tickCallback (internal/process/next_tick.js:161:9)
npm install optipng-bin@3.1.1
helps! looks like it works.
the last question - how to get regular private key from wallet.json ?
Yay !
It's in the array { .... "addresses":["a4316ab145f25102e7f5b36c337582df0ce58860"] }
in the wallet.json. So that would be 0xa4316ab145f25102e7f5b36c337582df0ce58860
Make sure to generate a different wallet before you start using it than the wallet you pasted in this thread, because everyone can read its private key now..
The public key can also be seen in the UI - or when requesting the /faucetinfo
endpoint
Yep, this is an address.
But how to get raw private key for this address from this type of wallet.json ?
For example MEW do not recognize this json file....
Yeah, I simply added a script walletinfo.js
that dumps this data.
$node walletinfo.js <walletfile> <password>
Which returns
public key= ce810a90801041a33ed8d63c81c218528d7a1820
private key= 466......<etc etc>.........
The script does not do any checking on the parameters , so it might explode right away if you provide wrong parameters, although it won't harm any of your files.
Millions of thanks!!!! My best wishes!
Sadly but faucet cannt sendout coins...
queue item is here... { _id: '-LB2_QzRvNVCtWl1Atxb', _owner: '4:cc0c63b6-7aee-4226-9702-93a8e0271a04:2', _progress: 0, _state: 'in_progress', _state_changed: 1524773535724, address: '0x00000830f5aa60a5acd364daf334d3d510b4fff9', amount: 1000000000000000000, paydate: 1524773535 } next payout in 0 sec gasprice is 41000000000 Transferring 1000000000000000 wei from 0x54e23b54017a38a41bf955e5573029469fccfd18 to 0x00000830f5aa60a5acd364daf334d3d510b4fff9 { from: '0x54e23b54017a38a41bf955e5573029469fccfd18', to: '0x00000830f5aa60a5acd364daf334d3d510b4fff9', value: 1000000000000000, gas: 314150, gasPrice: 41000000000 } buffer.js:215 if (obj.buffer instanceof ArrayBuffer || 'length' in obj) { ^
TypeError: Cannot use 'in' operator to search for 'length' in false at fromObject (buffer.js:215:56) at new Buffer (buffer.js:65:10) at Object.nacl.util.encodeBase64 (/root/faucet/locals-faucetserver/node_modules/tweetnacl/nacl-fast.js:2176:13) at nacl_encodeHex (/root/faucet/locals-faucetserver/node_modules/eth-lightwallet/lib/keystore.js:50:29) at Function.KeyStore._decryptKey (/root/faucet/locals-faucetserver/node_modules/eth-lightwallet/lib/keystore.js:146:10) at KeyStore.exportPrivateKey (/root/faucet/locals-faucetserver/node_modules/eth-lightwallet/lib/keystore.js:373:26) at Object.signTx (/root/faucet/locals-faucetserver/node_modules/eth-lightwallet/lib/signing.js:16:26) at /root/faucet/locals-faucetserver/node_modules/eth-lightwallet/lib/keystore.js:520:30 at cb (/root/faucet/locals-faucetserver/node_modules/eth-lightwallet/lib/keystore.js:457:5) at /root/faucet/locals-faucetserver/node_modules/scrypt-async/scrypt-async.js:518:13
tried different networks and nodes - the same error :(
I assume you did send ETH to the account in your wallet.json ?
Any news, @sponnet? Really want for the faucet to work...
I'll check it now, hang on.
2 things you can try 1/ Check if the password you used to create your wallet with is also the same as in the index.js file here : https://github.com/sponnet/locals-faucetserver/blob/master/index.js#L67
2/ ( my preferred solution ) I created a new branch where I completely ripped out the firebase so that it now works with a local LevelDB database to keep track of everything. Code is simpler, and works here.
https://github.com/sponnet/locals-faucetserver/tree/leveldb
It seems to work - but let me know if you find any issues. If not I'll probably update the online faucet with this version soon.
It work with firebase, but gas price is strange... Look at tx https://ropsten.etherscan.io/tx/0x18745295099b192c39a16bc881d9d758ebf7fb9529b0bab214378823b96cdf2a In our private network gas price is ok, Gas Price = 0.0000000410, tx-s confirming.
With leveldb branch compile ok, but i get SyntaxErrors in index.js
/root/faucet2/locals-faucetserver/index.js:71 ]).then(([lengths, length]) => { ^
SyntaxError: Unexpected token [ at exports.runInThisContext (vm.js:53:16) at Module._compile (module.js:373:25) at Object.Module._extensions..js (module.js:416:10) at Module.load (module.js:343:32) at Function.Module._load (module.js:300:12) at Function.Module.runMain (module.js:441:10) at startup (node.js:140:18) at node.js:1043:3
The gas price is taken from the network on every transaction - so it should be OK normally. It seems to work then using the firebase version ?
I removed the code that caused that error in the leveldb branch , it could be because of the nodeJS version that you currently use. Anyway that part had little added value, so I removed it.
Hello!
Please help me to resolve this error at start:
/root/locals-faucetserver/node_modules/bitcore-mnemonic/node_modules/bitcore-lib/index.js:12 throw new Error(message); ^
Error: More than one instance of bitcore-lib found. Please make sure to require bitcore-lib and check that submodules do not also include their own bitcore-lib dependency. at Object.bitcore.versionGuard (/root/locals-faucetserver/node_modules/bitcore-mnemonic/node_modules/bitcore-lib/index.js:12:11) at Object. (/root/locals-faucetserver/node_modules/bitcore-mnemonic/node_modules/bitcore-lib/index.js:15:9)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object. (/root/locals-faucetserver/node_modules/bitcore-mnemonic/lib/mnemonic.js:3:15)