gemini-testing / gemini

💀💀💀[DEPRECATED] Use hermione
https://github.com/gemini-testing/hermione
MIT License
1.5k stars 149 forks source link

Enabling coverage lets gemini tests fail with DOM exception #318

Open anselmh opened 8 years ago

anselmh commented 8 years ago

Hi,

I’m using gemini now in a project and figured out a weird issue.

When I enable coverage in the .gemini.yml file, the tests all fail suddenly when trying to gather screenshots with the following errors:

❯ gemini gather ./specs/regression/foo-bar.spec.js
✘ FOO plain [PhantomJS]
Error: SYNTAX_ERR: DOM Exception 12
    at :24
    at :22
^CKilling browsers...
^CKilling browsers...
^CKilling browsers...
✘ BAR Regression Tests test-1     [PhantomJS]
TypeError: 'null' is not an object (evaluating 'c.ignored')
    at :22
    at prepareScreenshotUnsafe (:19)
    at :19
    at anonymous (:1)
    at La (phantomjs://webpage.evaluate():13)
    at phantomjs://webpage.evaluate():13
    at phantomjs://webpage.evaluate():13
    at phantomjs://webpage.evaluate():14
    at phantomjs://webpage.evaluate():14
Done.

My test is this:

var gemini = require('gemini');

gemini.suite('Foo', function (foo) {
  foo.setUrl('/')
    .setCaptureElements(['div', '.download-section'])
    .capture('plain');

  gemini.suite('Bar Regression Tests', function(bar) {
    bar.setUrl('/myurl')
      .capture('description-1');
  });
});

Any idea why that happens or what’s wrong here? I’m using phantomjs 1.9.8 btw on OS X 10.11.1.

vpatton commented 8 years ago

I'm getting pretty much the same thing, here is the output of the errors I'm getting. Using PhantomJS 2.0 and Mac 10.9.5 I have coverage enabled in the config using system: parallelLimit: 3 debug: true diffColor: '#ff0000' referenceImageAbsence: 'error' coverage: enabled: true html: false

Here's the output: ✘ TestPage VLP Footer [PhantomJS] at at at at at La (phantomjs://webpage.evaluate():13:554) at phantomjs://webpage.evaluate():13:873 at phantomjs://webpage.evaluate():13:897 at phantomjs://webpage.evaluate():14:2 at global code (phantomjs://webpage.evaluate():14:175) at evaluateJavaScript ([native code]) at at _executeCommand (:/ghostdriver/request_handlers/session_request_handler.js:404:90) at _handle (:/ghostdriver/request_handlers/session_request_handler.js:142:28) at _reroute (:/ghostdriver/request_handlers/request_handler.js:61:20) at _handle (:/ghostdriver/request_handlers/router_request_handler.js:78:46)

SwinX commented 8 years ago

@anselmh @vpatton thanks for the report. In general gemini acts wrong when tries to collect coverage on gather. As I can see we have to remove coverage calculation for gather.

anselmh commented 8 years ago

👍

alexhalf commented 8 years ago

I also have the problem with Chrome TypeError: Cannot read property 'ignored' of null at Object.exports.collectCoverage (:252:1469) at prepareScreenshotUnsafe (:255:488) at Object.exports.prepareScreenshot (:255:3242) at :248:82 at callFunction (:237:33) at :247:23 at :248:3 gemini:capture:chrome run actions +178ms

sipayRT commented 8 years ago

@alexhalf hi. can you provide minimal case to reproduce your error? Also we need more info about your environment (node version, gemini version, page for testing etc.)

alexhalf commented 8 years ago

Yes, of course. But i have not tried reproduce it again in clear environment, I only did some dirty changes in code to run gemini with coverage :)

node.exe -p -e "process.versions.node + ' (' + process.arch + ')'" 5.4.0 (x64) npm -v 3.3.12 npm list in project directory i installed gemini only as local package

├── autoprefixer-cli@1.0.0 extraneous ├─┬ babel-core@6.5.2 │ ├─┬ babel-code-frame@6.5.0 │ │ ├── esutils@2.0.2 │ │ ├── js-tokens@1.0.2 │ │ ├─┬ line-numbers@0.2.0 │ │ │ └── left-pad@0.0.3 │ │ └─┬ repeating@1.1.3 │ │ └── is-finite@1.0.1 │ ├─┬ babel-generator@6.5.0 │ │ ├─┬ detect-indent@3.0.1 │ │ │ └── repeating@1.1.3 │ │ ├── is-integer@1.0.6 │ │ ├── lodash@3.10.1 │ │ ├── repeating@1.1.3 │ │ └── trim-right@1.0.1 │ ├── babel-helpers@6.5.0 │ ├── babel-messages@6.5.0 │ ├─┬ babel-register@6.5.2 │ │ ├── core-js@1.2.6 │ │ ├── home-or-tmp@1.0.0 │ │ ├── lodash@3.10.1 │ │ ├── path-exists@1.0.0 │ │ └─┬ source-map-support@0.2.10 │ │ └── source-map@0.1.32 │ ├── babel-runtime@5.8.35 │ ├─┬ babel-template@6.5.0 │ │ └── lodash@3.10.1 │ ├─┬ babel-traverse@6.5.0 │ │ ├── globals@8.18.0 │ │ ├─┬ invariant@2.2.0 │ │ │ └── loose-envify@1.1.0 │ │ ├── lodash@3.10.1 │ │ └── repeating@1.1.3 │ ├─┬ babel-types@6.5.2 │ │ ├── lodash@3.10.1 │ │ └── to-fast-properties@1.0.1 │ ├── babylon@6.5.2 │ ├── convert-source-map@1.1.3 │ ├── json5@0.4.0 │ ├── lodash@3.10.1 │ ├── minimatch@2.0.10 │ ├── path-exists@1.0.0 │ ├── path-is-absolute@1.0.0 │ ├── private@0.1.6 │ ├── shebang-regex@1.0.0 │ └── slash@1.0.0 ├─┬ babel-preset-es2015@6.5.0 │ ├── babel-plugin-check-es2015-constants@6.5.0 │ ├── babel-plugin-transform-es2015-arrow-functions@6.5.2 │ ├── babel-plugin-transform-es2015-block-scoped-functions@6.5.0 │ ├─┬ babel-plugin-transform-es2015-block-scoping@6.5.0 │ │ └── lodash@3.10.1 │ ├─┬ babel-plugin-transform-es2015-classes@6.5.2 │ │ ├─┬ babel-helper-define-map@6.5.0 │ │ │ └── lodash@3.10.1 │ │ ├── babel-helper-function-name@6.5.0 │ │ ├── babel-helper-optimise-call-expression@6.5.0 │ │ └── babel-helper-replace-supers@6.5.0 │ ├── babel-plugin-transform-es2015-computed-properties@6.5.2 │ ├── babel-plugin-transform-es2015-destructuring@6.5.0 │ ├── babel-plugin-transform-es2015-for-of@6.5.2 │ ├── babel-plugin-transform-es2015-function-name@6.5.0 │ ├── babel-plugin-transform-es2015-literals@6.5.0 │ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.5.2 │ │ └── babel-plugin-transform-strict-mode@6.5.2 │ ├── babel-plugin-transform-es2015-object-super@6.5.0 │ ├─┬ babel-plugin-transform-es2015-parameters@6.5.0 │ │ ├─┬ babel-helper-call-delegate@6.5.0 │ │ │ └── babel-helper-hoist-variables@6.5.0 │ │ └── babel-helper-get-function-arity@6.5.0 │ ├── babel-plugin-transform-es2015-shorthand-properties@6.5.0 │ ├── babel-plugin-transform-es2015-spread@6.5.2 │ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.5.0 │ │ └─┬ babel-helper-regex@6.5.0 │ │ └── lodash@3.10.1 │ ├── babel-plugin-transform-es2015-template-literals@6.5.2 │ ├── babel-plugin-transform-es2015-typeof-symbol@6.5.0 │ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.5.0 │ │ └─┬ regexpu-core@1.0.0 │ │ ├── regenerate@1.2.1 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ └─┬ babel-plugin-transform-regenerator@6.5.2 │ └── babel-plugin-syntax-async-functions@6.5.0 ├─┬ backstopjs@1.3.5 │ ├── casperjs@1.1.3 │ ├─┬ checksum@0.1.1 │ │ └─┬ optimist@0.3.7 │ │ └── wordwrap@0.0.3 │ ├─┬ del@0.1.3 │ │ ├─┬ each-async@1.1.1 │ │ │ ├── onetime@1.1.0 │ │ │ └── set-immediate-shim@1.0.1 │ │ └─┬ globby@0.1.1 │ │ ├── array-differ@0.1.0 │ │ ├─┬ array-union@0.1.0 │ │ │ └── array-uniq@0.1.1 │ │ ├── async@0.9.2 │ │ └─┬ glob@4.5.3 │ │ └── minimatch@2.0.10 │ ├─┬ express@3.21.2 │ │ ├── basic-auth@1.0.4 │ │ ├── commander@2.6.0 │ │ ├─┬ connect@2.30.2 │ │ │ ├── basic-auth-connect@1.0.0 │ │ │ ├─┬ body-parser@1.13.3 │ │ │ │ └── iconv-lite@0.4.11 │ │ │ ├── bytes@2.1.0 │ │ │ ├─┬ compression@1.5.2 │ │ │ │ ├─┬ accepts@1.2.13 │ │ │ │ │ └── negotiator@0.5.3 │ │ │ │ ├── bytes@2.1.0 │ │ │ │ └─┬ compressible@2.0.8 │ │ │ │ └── mime-db@1.23.0 │ │ │ ├─┬ connect-timeout@1.6.2 │ │ │ │ └── http-errors@1.3.1 │ │ │ ├── cookie-parser@1.3.5 │ │ │ ├─┬ csurf@1.8.3 │ │ │ │ ├─┬ csrf@3.0.3 │ │ │ │ │ ├── base64-url@1.2.2 │ │ │ │ │ ├── rndm@1.2.0 │ │ │ │ │ ├── tsscmp@1.0.5 │ │ │ │ │ └─┬ uid-safe@2.1.1 │ │ │ │ │ ├── base64-url@1.2.2 │ │ │ │ │ └── random-bytes@1.0.0 │ │ │ │ └── http-errors@1.3.1 │ │ │ ├── depd@1.0.1 │ │ │ ├─┬ errorhandler@1.4.3 │ │ │ │ ├─┬ accepts@1.3.3 │ │ │ │ │ ├─┬ mime-types@2.1.11 │ │ │ │ │ │ └── mime-db@1.23.0 │ │ │ │ │ └── negotiator@0.6.1 │ │ │ │ └── escape-html@1.0.3 │ │ │ ├─┬ express-session@1.11.3 │ │ │ │ ├── crc@3.3.0 │ │ │ │ ├── depd@1.0.1 │ │ │ │ └─┬ uid-safe@2.0.0 │ │ │ │ └── base64-url@1.2.1 │ │ │ ├── finalhandler@0.4.0 │ │ │ ├── http-errors@1.3.1 │ │ │ ├─┬ method-override@2.3.6 │ │ │ │ └── vary@1.1.0 │ │ │ ├─┬ morgan@1.6.1 │ │ │ │ └── depd@1.0.1 │ │ │ ├─┬ multiparty@3.3.2 │ │ │ │ └── stream-counter@0.2.0 │ │ │ ├── on-headers@1.0.1 │ │ │ ├── pause@0.1.0 │ │ │ ├── qs@4.0.0 │ │ │ ├─┬ response-time@2.3.1 │ │ │ │ └── depd@1.0.1 │ │ │ ├── serve-favicon@2.3.0 │ │ │ ├─┬ serve-index@1.7.3 │ │ │ │ ├── batch@0.5.3 │ │ │ │ ├── escape-html@1.0.3 │ │ │ │ └── http-errors@1.3.1 │ │ │ ├─┬ serve-static@1.10.3 │ │ │ │ ├── escape-html@1.0.3 │ │ │ │ └─┬ send@0.13.2 │ │ │ │ ├── depd@1.1.0 │ │ │ │ ├── http-errors@1.3.1 │ │ │ │ ├── mime@1.3.4 │ │ │ │ └── statuses@1.2.1 │ │ │ └── vhost@3.0.2 │ │ ├── content-disposition@0.5.0 │ │ ├── content-type@1.0.2 │ │ ├── cookie@0.1.3 │ │ ├── cookie-signature@1.0.6 │ │ ├── depd@1.0.1 │ │ ├── escape-html@1.0.2 │ │ ├── etag@1.7.0 │ │ ├── fresh@0.3.0 │ │ ├── merge-descriptors@1.0.0 │ │ ├── methods@1.1.2 │ │ ├── parseurl@1.3.1 │ │ ├─┬ proxy-addr@1.0.10 │ │ │ ├── forwarded@0.1.0 │ │ │ └── ipaddr.js@1.0.5 │ │ ├── range-parser@1.0.3 │ │ ├─┬ send@0.13.0 │ │ │ ├── depd@1.0.1 │ │ │ ├── destroy@1.0.3 │ │ │ ├── http-errors@1.3.1 │ │ │ ├── mime@1.3.4 │ │ │ └── statuses@1.2.1 │ │ ├── utils-merge@1.0.0 │ │ └── vary@1.0.1 │ ├─┬ fs-extra@0.12.0 │ │ ├── jsonfile@2.3.1 │ │ └── ncp@0.6.0 │ ├─┬ gulp-jscs@1.6.0 │ │ ├─┬ jscs@1.13.1 │ │ │ ├─┬ chalk@1.0.0 │ │ │ │ ├─┬ has-ansi@1.0.3 │ │ │ │ │ └── ansi-regex@1.1.1 │ │ │ │ ├── strip-ansi@2.0.1 │ │ │ │ └── supports-color@1.3.1 │ │ │ ├─┬ cli-table@0.3.1 │ │ │ │ └── colors@1.0.3 │ │ │ ├── commander@2.6.0 │ │ │ ├── esprima@1.2.5 │ │ │ ├── esprima-harmony-jscs@1.1.0-bin │ │ │ ├── estraverse@1.9.3 │ │ │ ├── exit@0.1.2 │ │ │ ├─┬ lodash.assign@3.0.0 │ │ │ │ ├── lodash._baseassign@3.2.0 │ │ │ │ └─┬ lodash._createassigner@3.1.1 │ │ │ │ └── lodash._bindcallback@3.0.1 │ │ │ ├── minimatch@2.0.10 │ │ │ ├── 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 │ │ │ │ └─┬ winston@0.8.3 │ │ │ │ ├── async@0.2.10 │ │ │ │ ├── colors@0.6.2 │ │ │ │ └── pkginfo@0.3.1 │ │ │ ├── strip-json-comments@1.0.4 │ │ │ ├── vow@0.4.12 │ │ │ ├─┬ vow-fs@0.3.5 │ │ │ │ ├─┬ glob@4.5.3 │ │ │ │ │ └── minimatch@2.0.10 │ │ │ │ ├── uuid@2.0.2 │ │ │ │ └── vow-queue@0.4.2 │ │ │ └─┬ xmlbuilder@2.6.5 │ │ │ └── lodash@3.10.1 │ │ ├── object-assign@2.1.1 │ │ └─┬ through2@0.6.5 │ │ └─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ ├─┬ gulp-jscs-stylish@1.4.0 │ │ └─┬ jshint-stylish@2.2.0 │ │ ├── log-symbols@1.0.2 │ │ ├── string-length@1.0.1 │ │ └── text-table@0.2.0 │ ├─┬ 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 │ │ │ ├─┬ htmlparser2@3.8.3 │ │ │ │ ├── domelementtype@1.3.0 │ │ │ │ ├── domhandler@2.3.0 │ │ │ │ ├─┬ domutils@1.5.1 │ │ │ │ │ └─┬ dom-serializer@0.1.0 │ │ │ │ │ ├── domelementtype@1.1.3 │ │ │ │ │ └── entities@1.1.1 │ │ │ │ └── entities@1.0.0 │ │ │ ├── lodash@3.7.0 │ │ │ ├── minimatch@2.0.10 │ │ │ └── shelljs@0.3.0 │ │ ├── lodash@3.10.1 │ │ ├── minimatch@2.0.10 │ │ ├─┬ rcloader@0.1.2 │ │ │ ├── lodash@2.4.2 │ │ │ └─┬ rcfinder@0.1.9 │ │ │ └── lodash.clonedeep@4.4.1 │ │ └─┬ through2@0.6.5 │ │ └─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ ├─┬ gulp-json-editor@2.2.1 │ │ ├─┬ detect-indent@2.0.0 │ │ │ ├── get-stdin@3.0.2 │ │ │ └── repeating@1.1.3 │ │ ├─┬ js-beautify@1.5.10 │ │ │ └─┬ config-chain@1.1.10 │ │ │ ├── ini@1.3.4 │ │ │ └── proto-list@1.2.4 │ │ └─┬ through2@0.5.1 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── xtend@3.0.0 │ ├─┬ gulp-open@0.3.2 │ │ ├── open@0.0.5 │ │ └─┬ through2@0.6.5 │ │ └─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ ├── gulp-rename@1.2.2 │ ├─┬ http-proxy@1.1.6 │ │ └── eventemitter3@1.2.0 │ ├── is-running@1.0.5 │ ├─┬ junitwriter@0.3.1 │ │ ├── dateformat@1.0.11 │ │ ├── merge@1.2.0 │ │ ├─┬ mkdirp@0.5.0 │ │ │ └── minimist@0.0.8 │ │ └─┬ xmlbuilder@2.6.2 │ │ └── lodash@3.5.0 │ ├─┬ node-resemble-js@0.0.4 │ │ └── pngjs@0.4.0 │ ├─┬ phantomjs-prebuilt@2.1.10 │ │ ├── es6-promise@3.2.1 │ │ ├─┬ extract-zip@1.5.0 │ │ │ ├─┬ concat-stream@1.5.0 │ │ │ │ ├── inherits@2.0.1 │ │ │ │ ├─┬ readable-stream@2.0.6 │ │ │ │ │ ├── core-util-is@1.0.2 │ │ │ │ │ ├── isarray@1.0.0 │ │ │ │ │ ├── process-nextick-args@1.0.7 │ │ │ │ │ ├── string_decoder@0.10.31 │ │ │ │ │ └── util-deprecate@1.0.2 │ │ │ │ └── typedarray@0.0.6 │ │ │ ├── debug@0.7.4 │ │ │ ├─┬ mkdirp@0.5.0 │ │ │ │ └── minimist@0.0.8 │ │ │ └─┬ yauzl@2.4.1 │ │ │ └─┬ fd-slicer@1.0.1 │ │ │ └── pend@1.2.0 │ │ ├─┬ fs-extra@0.30.0 │ │ │ ├── graceful-fs@4.1.4 │ │ │ ├── jsonfile@2.3.1 │ │ │ ├── klaw@1.3.0 │ │ │ ├── path-is-absolute@1.0.0 │ │ │ └─┬ rimraf@2.5.4 │ │ │ └─┬ glob@7.0.5 │ │ │ ├── fs.realpath@1.0.0 │ │ │ ├─┬ inflight@1.0.5 │ │ │ │ └── wrappy@1.0.2 │ │ │ ├── inherits@2.0.1 │ │ │ ├─┬ minimatch@3.0.2 │ │ │ │ └─┬ brace-expansion@1.1.6 │ │ │ │ ├── balanced-match@0.4.2 │ │ │ │ └── concat-map@0.0.1 │ │ │ └─┬ once@1.3.3 │ │ │ └── wrappy@1.0.2 │ │ ├─┬ hasha@2.2.0 │ │ │ ├── is-stream@1.1.0 │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ └── pinkie@2.0.4 │ │ ├── kew@0.7.0 │ │ ├── progress@1.1.8 │ │ ├─┬ request@2.74.0 │ │ │ ├── aws-sign2@0.6.0 │ │ │ ├── aws4@1.4.1 │ │ │ ├─┬ bl@1.1.2 │ │ │ │ └─┬ readable-stream@2.0.6 │ │ │ │ ├── core-util-is@1.0.2 │ │ │ │ ├── inherits@2.0.1 │ │ │ │ ├── isarray@1.0.0 │ │ │ │ ├── process-nextick-args@1.0.7 │ │ │ │ ├── string_decoder@0.10.31 │ │ │ │ └── util-deprecate@1.0.2 │ │ │ ├── caseless@0.11.0 │ │ │ ├─┬ combined-stream@1.0.5 │ │ │ │ └── delayed-stream@1.0.0 │ │ │ ├── extend@3.0.0 │ │ │ ├── forever-agent@0.6.1 │ │ │ ├─┬ form-data@1.0.0-rc4 │ │ │ │ └── async@1.5.2 │ │ │ ├─┬ har-validator@2.0.6 │ │ │ │ ├─┬ chalk@1.1.3 │ │ │ │ │ ├── ansi-styles@2.2.1 │ │ │ │ │ ├── escape-string-regexp@1.0.5 │ │ │ │ │ ├─┬ has-ansi@2.0.0 │ │ │ │ │ │ └── ansi-regex@2.0.0 │ │ │ │ │ ├─┬ strip-ansi@3.0.1 │ │ │ │ │ │ └── ansi-regex@2.0.0 │ │ │ │ │ └── supports-color@2.0.0 │ │ │ │ ├─┬ commander@2.9.0 │ │ │ │ │ └── graceful-readlink@1.0.1 │ │ │ │ ├─┬ is-my-json-valid@2.13.1 │ │ │ │ │ ├── generate-function@2.0.0 │ │ │ │ │ ├─┬ generate-object-property@1.2.0 │ │ │ │ │ │ └── is-property@1.0.2 │ │ │ │ │ ├── jsonpointer@2.0.0 │ │ │ │ │ └── xtend@4.0.1 │ │ │ │ └─┬ pinkie-promise@2.0.1 │ │ │ │ └── pinkie@2.0.4 │ │ │ ├─┬ hawk@3.1.3 │ │ │ │ ├── boom@2.10.1 │ │ │ │ ├── cryptiles@2.0.5 │ │ │ │ ├── hoek@2.16.3 │ │ │ │ └── sntp@1.0.9 │ │ │ ├─┬ http-signature@1.1.1 │ │ │ │ ├── assert-plus@0.2.0 │ │ │ │ ├─┬ jsprim@1.3.0 │ │ │ │ │ ├── extsprintf@1.0.2 │ │ │ │ │ ├── json-schema@0.2.2 │ │ │ │ │ └── verror@1.3.6 │ │ │ │ └─┬ sshpk@1.8.3 │ │ │ │ ├── asn1@0.2.3 │ │ │ │ ├── assert-plus@1.0.0 │ │ │ │ ├── dashdash@1.14.0 │ │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ │ ├── getpass@0.1.6 │ │ │ │ ├── jodid25519@1.0.2 │ │ │ │ ├── jsbn@0.1.0 │ │ │ │ └── tweetnacl@0.13.3 │ │ │ ├── is-typedarray@1.0.0 │ │ │ ├── isstream@0.1.2 │ │ │ ├── json-stringify-safe@5.0.1 │ │ │ ├─┬ mime-types@2.1.11 │ │ │ │ └── mime-db@1.23.0 │ │ │ ├── node-uuid@1.4.7 │ │ │ ├── oauth-sign@0.8.2 │ │ │ ├── qs@6.2.1 │ │ │ ├── stringstream@0.0.5 │ │ │ ├── tough-cookie@2.3.0 │ │ │ └── tunnel-agent@0.4.3 │ │ ├─┬ request-progress@2.0.1 │ │ │ └── throttleit@1.0.0 │ │ └─┬ which@1.2.10 │ │ └── isexe@1.1.2 │ ├── require-dir@0.1.0 │ ├── underscore@1.6.0 │ └─┬ yargs@3.9.1 │ ├── camelcase@1.2.1 │ ├─┬ cliui@2.1.0 │ │ ├─┬ center-align@0.1.3 │ │ │ ├─┬ align-text@0.1.4 │ │ │ │ ├── kind-of@3.0.3 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.5.4 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ ├── decamelize@1.1.2 │ └── window-size@0.1.0 ├─┬ browserify@13.1.0 │ ├── assert@1.3.0 │ ├─┬ browser-pack@6.0.1 │ │ ├─┬ combine-source-map@0.7.2 │ │ │ ├── inline-source-map@0.6.2 │ │ │ └── lodash.memoize@3.0.4 │ │ └── umd@3.0.1 │ ├── browser-resolve@1.11.2 │ ├─┬ browserify-zlib@0.1.4 │ │ └── pako@0.2.9 │ ├─┬ buffer@4.9.0 │ │ ├── base64-js@1.1.2 │ │ └── ieee754@1.1.6 │ ├─┬ concat-stream@1.5.1 │ │ ├── readable-stream@2.0.6 │ │ └── typedarray@0.0.6 │ ├─┬ console-browserify@1.1.0 │ │ └── date-now@0.1.4 │ ├── constants-browserify@1.0.0 │ ├─┬ crypto-browserify@3.11.0 │ │ ├─┬ browserify-cipher@1.0.0 │ │ │ ├─┬ browserify-aes@1.0.6 │ │ │ │ └── buffer-xor@1.0.3 │ │ │ ├─┬ browserify-des@1.0.0 │ │ │ │ └─┬ des.js@1.0.0 │ │ │ │ └── minimalistic-assert@1.0.0 │ │ │ └── evp_bytestokey@1.0.0 │ │ ├─┬ browserify-sign@4.0.0 │ │ │ ├── bn.js@4.11.6 │ │ │ ├── browserify-rsa@4.0.1 │ │ │ ├─┬ elliptic@6.3.1 │ │ │ │ ├── brorand@1.0.5 │ │ │ │ └── hash.js@1.0.3 │ │ │ └─┬ parse-asn1@5.0.0 │ │ │ └── asn1.js@4.8.0 │ │ ├── create-ecdh@4.0.0 │ │ ├─┬ create-hash@1.1.2 │ │ │ ├── cipher-base@1.0.2 │ │ │ └── ripemd160@1.0.1 │ │ ├── create-hmac@1.1.4 │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ └── miller-rabin@4.0.0 │ │ ├── pbkdf2@3.0.4 │ │ ├── public-encrypt@4.0.0 │ │ └── randombytes@2.0.3 │ ├── defined@1.0.0 │ ├── deps-sort@2.0.0 │ ├── domain-browser@1.1.7 │ ├── duplexer2@0.1.4 │ ├── events@1.1.1 │ ├─┬ has@1.0.1 │ │ └── function-bind@1.1.0 │ ├── htmlescape@1.1.1 │ ├── https-browserify@0.0.1 │ ├─┬ insert-module-globals@7.0.1 │ │ ├─┬ concat-stream@1.5.1 │ │ │ └── readable-stream@2.0.6 │ │ ├── is-buffer@1.1.4 │ │ └─┬ lexical-scope@1.2.0 │ │ └── astw@2.0.0 │ ├─┬ JSONStream@1.1.4 │ │ └── jsonparse@1.2.0 │ ├─┬ labeled-stream-splicer@2.0.0 │ │ ├── isarray@0.0.1 │ │ └─┬ stream-splicer@2.0.0 │ │ └── readable-stream@2.1.4 │ ├─┬ module-deps@4.0.7 │ │ ├─┬ concat-stream@1.5.1 │ │ │ └── readable-stream@2.0.6 │ │ ├─┬ detective@4.3.1 │ │ │ └── acorn@1.2.2 │ │ ├── duplexer2@0.1.4 │ │ ├── readable-stream@2.1.4 │ │ └─┬ stream-combiner2@1.1.1 │ │ ├── duplexer2@0.1.4 │ │ └── readable-stream@2.1.4 │ ├── os-browserify@0.1.2 │ ├─┬ parents@1.0.1 │ │ └── path-platform@0.11.15 │ ├── path-browserify@0.0.0 │ ├── process@0.11.8 │ ├── punycode@1.4.1 │ ├── querystring-es3@0.2.1 │ ├─┬ read-only-stream@2.0.0 │ │ └── readable-stream@2.1.4 │ ├─┬ readable-stream@2.1.4 │ │ ├── buffer-shims@1.0.0 │ │ ├── core-util-is@1.0.2 │ │ ├── isarray@1.0.0 │ │ ├── process-nextick-args@1.0.7 │ │ └── util-deprecate@1.0.2 │ ├─┬ shasum@1.0.2 │ │ ├── json-stable-stringify@0.0.1 │ │ └── sha.js@2.4.5 │ ├─┬ shell-quote@1.6.1 │ │ ├── array-filter@0.0.1 │ │ ├── array-map@0.0.0 │ │ ├── array-reduce@0.0.0 │ │ └── jsonify@0.0.0 │ ├─┬ stream-browserify@2.0.1 │ │ └── readable-stream@2.1.4 │ ├─┬ stream-http@2.3.1 │ │ ├── builtin-status-codes@2.0.0 │ │ ├── readable-stream@2.1.4 │ │ └── to-arraybuffer@1.0.1 │ ├── string_decoder@0.10.31 │ ├── subarg@1.0.0 │ ├─┬ syntax-error@1.1.6 │ │ └── acorn@2.7.0 │ ├── timers-browserify@1.4.2 │ ├── tty-browserify@0.0.0 │ ├─┬ url@0.11.0 │ │ ├── punycode@1.3.2 │ │ └── querystring@0.2.0 │ ├── util@0.10.3 │ ├─┬ vm-browserify@0.0.4 │ │ └── indexof@0.0.1 │ └── xtend@4.0.1 ├── camelcase@3.0.0 ├── classlist.js@1.1.20150312 ├── compass-importer@0.2.1 ├── compass-mixins@0.12.7 ├─┬ del@2.2.0 │ ├─┬ globby@4.0.0 │ │ ├── array-union@1.0.1 │ │ ├── arrify@1.0.1 │ │ ├── glob@6.0.4 │ │ └── object-assign@4.0.1 │ ├── 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.4 │ └── glob@7.0.5 ├─┬ gemini@4.6.0 │ ├─┬ aliasify@1.9.0 │ │ └─┬ browserify-transform-tools@1.5.3 │ │ └─┬ falafel@1.2.0 │ │ ├── foreach@2.0.5 │ │ └── isarray@0.0.1 │ ├── app-module-path@1.1.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 │ ├─┬ commander@2.9.0 │ │ └── graceful-readlink@1.0.1 │ ├─┬ css@2.2.1 │ │ ├─┬ source-map@0.1.43 │ │ │ └── amdefine@1.0.0 │ │ ├─┬ source-map-resolve@0.3.1 │ │ │ ├── atob@1.1.3 │ │ │ ├── resolve-url@0.2.1 │ │ │ └── source-map-url@0.3.0 │ │ └── urix@0.1.0 │ ├─┬ debug@2.2.0 │ │ └── ms@0.7.1 │ ├─┬ gemini-configparser@0.1.2 │ │ └── lodash@3.10.1 │ ├─┬ gemini-coverage@0.3.0 │ │ ├─┬ coa@0.4.1 │ │ │ └── q@0.9.7 │ │ ├─┬ handlebars@1.3.0 │ │ │ └── optimist@0.3.7 │ │ ├── q@1.0.1 │ │ └─┬ q-io@1.11.6 │ │ ├── mime@1.3.4 │ │ ├── qs@1.2.2 │ │ └── url2@0.0.0 │ ├─┬ glob@7.0.5 │ │ ├── fs.realpath@1.0.0 │ │ ├─┬ inflight@1.0.5 │ │ │ └── wrappy@1.0.2 │ │ └── once@1.3.3 │ ├─┬ handlebars@4.0.5 │ │ ├─┬ optimist@0.6.1 │ │ │ └── minimist@0.0.10 │ │ ├── source-map@0.4.4 │ │ └─┬ uglify-js@2.7.0 │ │ ├── async@0.2.10 │ │ ├── uglify-to-browserify@1.0.2 │ │ └─┬ yargs@3.10.0 │ │ └── camelcase@1.2.1 │ ├── inherit@2.2.5 │ ├── install@0.6.2 │ ├─┬ js-yaml@3.4.6 │ │ ├─┬ argparse@1.0.6 │ │ │ └── sprintf-js@1.0.3 │ │ └── esprima@2.7.2 │ ├── lodash@3.10.1 │ ├─┬ looks-same@3.0.0 │ │ ├── color-diff@0.1.7 │ │ ├─┬ concat-stream@1.5.1 │ │ │ └─┬ readable-stream@2.0.6 │ │ │ └── isarray@1.0.0 │ │ ├─┬ parse-color@1.0.0 │ │ │ └── color-convert@0.5.3 │ │ └── pngjs@2.3.1 │ ├─┬ minimatch@3.0.3 │ │ └─┬ brace-expansion@1.1.6 │ │ ├── balanced-match@0.4.2 │ │ └── concat-map@0.0.1 │ ├─┬ polyfill-service@1.4.0 │ │ ├─┬ babel-core@4.7.16 │ │ │ ├── acorn-babel@0.11.1-38 │ │ │ ├── ast-types@0.7.8 │ │ │ ├── convert-source-map@0.5.1 │ │ │ ├── core-js@0.6.1 │ │ │ ├── estraverse@1.9.3 │ │ │ ├── esutils@1.1.6 │ │ │ ├── fs-readdir-recursive@0.1.2 │ │ │ ├── globals@6.4.1 │ │ │ ├── js-tokens@1.0.0 │ │ │ ├── leven@1.0.2 │ │ │ ├── lodash@3.10.1 │ │ │ ├─┬ output-file-sync@1.1.2 │ │ │ │ ├── graceful-fs@4.1.5 │ │ │ │ └── object-assign@4.1.0 │ │ │ ├─┬ regenerator-babel@0.8.13-2 │ │ │ │ └─┬ commoner@0.10.4 │ │ │ │ └── graceful-fs@4.1.5 │ │ │ ├─┬ regexpu@1.3.0 │ │ │ │ └─┬ recast@0.10.43 │ │ │ │ ├── ast-types@0.8.15 │ │ │ │ └── esprima-fb@15001.1001.0-dev-harmony-fb │ │ │ ├── repeating@1.1.3 │ │ │ └── source-map@0.4.4 │ │ ├── caniuse-db@1.0.20140710 │ │ ├── denodeify@1.2.1 │ │ ├── es6-promise@2.3.0 │ │ ├─┬ es6-set@0.1.4 │ │ │ ├── d@0.1.1 │ │ │ ├── es5-ext@0.10.12 │ │ │ ├── es6-iterator@2.0.0 │ │ │ ├── es6-symbol@3.1.0 │ │ │ └── event-emitter@0.3.4 │ │ ├── expect.js@0.3.1 │ │ ├─┬ express@4.14.0 │ │ │ ├─┬ accepts@1.3.3 │ │ │ │ └── negotiator@0.6.1 │ │ │ ├── content-disposition@0.5.1 │ │ │ ├── cookie@0.3.1 │ │ │ ├── depd@1.1.0 │ │ │ ├── escape-html@1.0.3 │ │ │ ├── finalhandler@0.5.0 │ │ │ ├── merge-descriptors@1.0.1 │ │ │ ├─┬ proxy-addr@1.1.2 │ │ │ │ └── ipaddr.js@1.1.1 │ │ │ ├── qs@6.2.0 │ │ │ ├── range-parser@1.2.0 │ │ │ ├─┬ send@0.14.1 │ │ │ │ ├── http-errors@1.5.0 │ │ │ │ └── mime@1.3.4 │ │ │ ├── serve-static@1.11.1 │ │ │ └── vary@1.1.0 │ │ ├─┬ forever@0.11.1 │ │ │ ├─┬ cliff@0.1.8 │ │ │ │ ├── colors@0.6.2 │ │ │ │ ├── eyes@0.1.8 │ │ │ │ └─┬ winston@0.6.2 │ │ │ │ ├── async@0.1.22 │ │ │ │ ├── pkginfo@0.2.3 │ │ │ │ └── request@2.9.203 │ │ │ ├── colors@0.6.2 │ │ │ ├─┬ flatiron@0.3.11 │ │ │ │ ├─┬ broadway@0.2.9 │ │ │ │ │ ├── eventemitter2@0.4.12 │ │ │ │ │ └─┬ winston@0.7.2 │ │ │ │ │ ├── async@0.2.10 │ │ │ │ │ ├── colors@0.6.2 │ │ │ │ │ ├── pkginfo@0.3.1 │ │ │ │ │ └─┬ request@2.16.6 │ │ │ │ │ ├── forever-agent@0.2.0 │ │ │ │ │ ├─┬ form-data@0.0.10 │ │ │ │ │ │ └─┬ combined-stream@0.0.7 │ │ │ │ │ │ └── delayed-stream@0.0.5 │ │ │ │ │ ├─┬ hawk@0.10.2 │ │ │ │ │ │ ├── boom@0.3.8 │ │ │ │ │ │ ├── cryptiles@0.1.3 │ │ │ │ │ │ ├── hoek@0.7.6 │ │ │ │ │ │ └── sntp@0.1.4 │ │ │ │ │ ├── json-stringify-safe@3.0.0 │ │ │ │ │ ├── mime@1.2.11 │ │ │ │ │ ├── oauth-sign@0.2.0 │ │ │ │ │ ├── qs@0.5.6 │ │ │ │ │ └── tunnel-agent@0.2.0 │ │ │ │ ├── director@1.1.10 │ │ │ │ ├─┬ optimist@0.6.0 │ │ │ │ │ └── minimist@0.0.10 │ │ │ │ └─┬ prompt@0.2.11 │ │ │ │ └─┬ winston@0.6.2 │ │ │ │ ├── async@0.1.22 │ │ │ │ ├── colors@0.6.2 │ │ │ │ ├── pkginfo@0.2.3 │ │ │ │ └── request@2.9.203 │ │ │ ├─┬ forever-monitor@1.2.3 │ │ │ │ ├─┬ minimatch@0.2.14 │ │ │ │ │ └── lru-cache@2.7.3 │ │ │ │ ├─┬ ps-tree@0.0.3 │ │ │ │ │ └─┬ event-stream@0.5.3 │ │ │ │ │ └── optimist@0.2.8 │ │ │ │ ├─┬ utile@0.1.7 │ │ │ │ │ ├── async@0.1.22 │ │ │ │ │ ├── ncp@0.2.7 │ │ │ │ │ └── rimraf@1.0.9 │ │ │ │ └── watch@0.5.1 │ │ │ ├─┬ nconf@0.6.9 │ │ │ │ ├── async@0.2.9 │ │ │ │ └─┬ optimist@0.6.0 │ │ │ │ └── minimist@0.0.10 │ │ │ ├─┬ nssocket@0.5.3 │ │ │ │ ├── eventemitter2@0.4.14 │ │ │ │ └── lazy@1.0.11 │ │ │ ├── pkginfo@0.3.0 │ │ │ ├── timespan@2.3.0 │ │ │ ├─┬ utile@0.2.1 │ │ │ │ ├── async@0.2.10 │ │ │ │ ├── deep-equal@1.0.1 │ │ │ │ ├── i@0.3.5 │ │ │ │ └── ncp@0.4.2 │ │ │ ├── watch@0.8.0 │ │ │ └─┬ winston@0.7.3 │ │ │ ├── async@0.2.10 │ │ │ ├── cycle@1.0.3 │ │ │ ├─┬ request@2.16.6 │ │ │ │ ├── aws-sign@0.2.0 │ │ │ │ ├── cookie-jar@0.2.0 │ │ │ │ ├── forever-agent@0.2.0 │ │ │ │ ├─┬ form-data@0.0.10 │ │ │ │ │ └─┬ combined-stream@0.0.7 │ │ │ │ │ └── delayed-stream@0.0.5 │ │ │ │ ├─┬ hawk@0.10.2 │ │ │ │ │ ├── boom@0.3.8 │ │ │ │ │ ├── cryptiles@0.1.3 │ │ │ │ │ ├── hoek@0.7.6 │ │ │ │ │ └── sntp@0.1.4 │ │ │ │ ├── json-stringify-safe@3.0.0 │ │ │ │ ├── mime@1.2.11 │ │ │ │ ├── oauth-sign@0.2.0 │ │ │ │ ├── qs@0.5.6 │ │ │ │ └── tunnel-agent@0.2.0 │ │ │ └── stack-trace@0.0.9 │ │ ├─┬ graphite@0.0.6 │ │ │ ├── lazy-socket@0.0.3 │ │ │ └── request@2.1.1 │ │ ├─┬ handlebars@1.3.0 │ │ │ ├── optimist@0.3.7 │ │ │ └─┬ uglify-js@2.3.6 │ │ │ └── source-map@0.1.43 │ │ ├── lodash@2.4.2 │ │ ├── marked@0.3.6 │ │ ├── measured@1.1.0 │ │ ├── minimist@0.2.0 │ │ ├─┬ mocha@1.21.5 │ │ │ ├── commander@2.3.0 │ │ │ ├─┬ debug@2.0.0 │ │ │ │ └── ms@0.6.2 │ │ │ ├── diff@1.0.8 │ │ │ ├── escape-string-regexp@1.0.2 │ │ │ ├─┬ glob@3.2.3 │ │ │ │ ├── graceful-fs@2.0.3 │ │ │ │ └─┬ minimatch@0.2.14 │ │ │ │ └── lru-cache@2.7.3 │ │ │ ├── growl@1.8.1 │ │ │ ├─┬ jade@0.26.3 │ │ │ │ ├── commander@0.6.1 │ │ │ │ └── mkdirp@0.3.0 │ │ │ └─┬ mkdirp@0.5.0 │ │ │ └── minimist@0.0.8 │ │ ├─┬ request@2.74.0 │ │ │ ├─┬ bl@1.1.2 │ │ │ │ └─┬ readable-stream@2.0.6 │ │ │ │ └── isarray@1.0.0 │ │ │ ├── extend@3.0.0 │ │ │ ├─┬ form-data@1.0.0-rc4 │ │ │ │ └── async@1.5.2 │ │ │ └── tough-cookie@2.3.1 │ │ ├─┬ request-promise@0.3.3 │ │ │ ├─┬ chalk@0.5.1 │ │ │ │ ├── ansi-styles@1.1.0 │ │ │ │ ├─┬ has-ansi@0.1.0 │ │ │ │ │ └── ansi-regex@0.2.1 │ │ │ │ ├── strip-ansi@0.3.0 │ │ │ │ └── supports-color@0.2.0 │ │ │ ├── lodash@2.4.2 │ │ │ └─┬ request@2.74.0 │ │ │ ├─┬ bl@1.1.2 │ │ │ │ └─┬ readable-stream@2.0.6 │ │ │ │ └── isarray@1.0.0 │ │ │ ├── extend@3.0.0 │ │ │ ├── form-data@1.0.0-rc4 │ │ │ ├── qs@6.2.1 │ │ │ └── tough-cookie@2.3.1 │ │ ├── semver@2.3.2 │ │ ├── tsort@0.0.1 │ │ ├─┬ uglify-js@2.7.0 │ │ │ ├── async@0.2.10 │ │ │ └── source-map@0.5.6 │ │ └─┬ useragent@2.1.9 │ │ └── lru-cache@2.2.4 │ ├── q@1.4.1 │ ├── q-debug-mode@0.0.1 │ ├─┬ q-io@1.13.2 │ │ ├─┬ collections@0.2.2 │ │ │ └── weak-map@1.0.0 │ │ ├── mime@1.3.4 │ │ ├── mimeparse@0.1.4 │ │ ├── qs@1.2.2 │ │ └── url2@0.0.0 │ ├─┬ q-promise-utils@1.1.0 │ │ └── lodash@3.10.1 │ ├── qemitter@1.1.0 │ ├── resolve@1.1.7 │ ├── sizzle@2.3.3 │ ├── source-map@0.5.6 │ ├─┬ temp@0.8.3 │ │ ├── os-tmpdir@1.0.1 │ │ └── rimraf@2.2.8 │ ├─┬ uglifyify@3.0.2 │ │ ├── extend@1.3.0 │ │ ├── minimatch@2.0.10 │ │ └─┬ uglify-js@2.3.6 │ │ ├── async@0.2.10 │ │ ├── optimist@0.3.7 │ │ └── source-map@0.1.43 │ ├─┬ wd@0.4.0 │ │ ├─┬ archiver@0.14.4 │ │ │ ├── async@0.9.2 │ │ │ ├─┬ glob@4.3.5 │ │ │ │ └── minimatch@2.0.10 │ │ │ ├── lazystream@0.1.0 │ │ │ ├── lodash@3.2.0 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ └── isarray@0.0.1 │ │ │ ├─┬ tar-stream@1.1.5 │ │ │ │ └── end-of-stream@1.1.0 │ │ │ └─┬ zip-stream@0.5.2 │ │ │ ├─┬ compress-commons@0.2.9 │ │ │ │ ├─┬ crc32-stream@0.3.4 │ │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ ├── node-int64@0.3.3 │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ └── isarray@0.0.1 │ │ │ └── lodash@3.2.0 │ │ ├── async@1.0.0 │ │ ├── lodash@3.9.3 │ │ ├─┬ request@2.55.0 │ │ │ ├── aws-sign2@0.5.0 │ │ │ ├── bl@0.9.5 │ │ │ ├── caseless@0.9.0 │ │ │ ├─┬ combined-stream@0.0.7 │ │ │ │ └── delayed-stream@0.0.5 │ │ │ ├─┬ form-data@0.2.0 │ │ │ │ └── async@0.9.2 │ │ │ ├── har-validator@1.8.0 │ │ │ ├── hawk@2.3.1 │ │ │ ├─┬ http-signature@0.10.1 │ │ │ │ ├── asn1@0.1.11 │ │ │ │ └── assert-plus@0.1.5 │ │ │ ├─┬ mime-types@2.0.14 │ │ │ │ └── mime-db@1.12.0 │ │ │ ├── oauth-sign@0.6.0 │ │ │ └── qs@2.4.2 │ │ ├── underscore.string@3.0.3 │ │ └── vargs@0.1.0 │ └─┬ worker-farm@1.3.1 │ └─┬ errno@0.1.4 │ └── prr@0.0.0 ├─┬ gemini-gui@4.2.0 │ ├─┬ body-parser@1.15.2 │ │ ├── bytes@2.4.0 │ │ ├── depd@1.1.0 │ │ ├─┬ http-errors@1.5.0 │ │ │ ├── setprototypeof@1.0.1 │ │ │ └── statuses@1.3.0 │ │ ├── iconv-lite@0.4.13 │ │ ├─┬ on-finished@2.3.0 │ │ │ └── ee-first@1.1.1 │ │ ├── qs@6.2.0 │ │ ├─┬ raw-body@2.1.7 │ │ │ └── unpipe@1.0.0 │ │ └─┬ type-is@1.6.13 │ │ └── media-typer@0.3.0 │ ├─┬ express@4.14.0 │ │ ├─┬ accepts@1.3.3 │ │ │ └── negotiator@0.6.1 │ │ ├── array-flatten@1.1.1 │ │ ├── content-disposition@0.5.1 │ │ ├── cookie@0.3.1 │ │ ├── encodeurl@1.0.1 │ │ ├── escape-html@1.0.3 │ │ ├── finalhandler@0.5.0 │ │ ├── merge-descriptors@1.0.1 │ │ ├── path-to-regexp@0.1.7 │ │ ├─┬ proxy-addr@1.1.2 │ │ │ └── ipaddr.js@1.1.1 │ │ ├── qs@6.2.0 │ │ ├── range-parser@1.2.0 │ │ ├─┬ send@0.14.1 │ │ │ ├── destroy@1.0.4 │ │ │ └── mime@1.3.4 │ │ ├── serve-static@1.11.1 │ │ └── vary@1.1.0 │ ├─┬ express-handlebars@2.0.1 │ │ ├── graceful-fs@3.0.9 │ │ ├─┬ handlebars@3.0.3 │ │ │ └── source-map@0.1.43 │ │ ├─┬ object.assign@1.1.1 │ │ │ └── object-keys@1.0.11 │ │ └─┬ promise@6.1.0 │ │ └── asap@1.0.0 │ ├─┬ handlebars@1.3.0 │ │ └── optimist@0.3.7 │ ├── json-stringify-safe@5.0.1 │ ├── lodash@3.10.1 │ ├── opener@1.4.1 │ ├── semver@3.0.1 │ └── shelljs@0.6.1 ├─┬ google-spreadsheet@1.1.4 │ ├── async@1.5.2 │ ├─┬ google-auth-library@0.9.7 │ │ ├── async@1.4.2 │ │ ├─┬ gtoken@1.2.0 │ │ │ ├─┬ google-p12-pem@0.1.0 │ │ │ │ └── node-forge@0.6.39 │ │ │ ├── mime@1.3.4 │ │ │ └─┬ request@2.69.0 │ │ │ ├── extend@3.0.0 │ │ │ └── qs@6.0.2 │ │ ├─┬ jws@3.0.0 │ │ │ ├─┬ base64url@1.0.6 │ │ │ │ ├── concat-stream@1.4.10 │ │ │ │ └─┬ meow@2.0.0 │ │ │ │ ├─┬ camelcase-keys@1.0.0 │ │ │ │ │ └── camelcase@1.2.1 │ │ │ │ ├─┬ indent-string@1.2.2 │ │ │ │ │ └── repeating@1.1.3 │ │ │ │ └── object-assign@1.0.0 │ │ │ └─┬ jwa@1.0.2 │ │ │ ├── base64url@0.0.6 │ │ │ ├── buffer-equal-constant-time@1.0.1 │ │ │ └── ecdsa-sig-formatter@1.0.5 │ │ ├── lodash.noop@3.0.1 │ │ ├─┬ request@2.60.0 │ │ │ ├── aws-sign2@0.5.0 │ │ │ ├─┬ bl@1.0.3 │ │ │ │ └─┬ readable-stream@2.0.5 │ │ │ │ └── isarray@0.0.1 │ │ │ ├── extend@3.0.0 │ │ │ ├── form-data@1.0.0-rc3 │ │ │ ├── har-validator@1.8.0 │ │ │ ├─┬ http-signature@0.11.0 │ │ │ │ ├── asn1@0.1.11 │ │ │ │ └── assert-plus@0.1.5 │ │ │ └── qs@4.0.0 │ │ └── string-template@0.2.1 │ ├── lodash@3.10.1 │ └─┬ xml2js@0.4.16 │ ├── sax@1.1.5 │ └── xmlbuilder@4.2.1 ├─┬ gulp@3.9.1 │ ├── archy@1.0.0 │ ├── deprecated@0.0.1 │ ├─┬ liftoff@2.2.0 │ │ ├── extend@2.0.1 │ │ ├── findup-sync@0.3.0 │ │ └── flagged-respawn@0.3.1 │ ├── 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.1 │ ├── tildify@1.1.2 │ ├─┬ 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 │ │ ├── minimatch@2.0.10 │ │ ├── ordered-read-streams@0.1.0 │ │ ├─┬ through2@0.6.5 │ │ │ └─┬ readable-stream@1.0.33 │ │ │ └── isarray@0.0.1 │ │ └── 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 │ │ └── lru-cache@2.7.3 │ ├── graceful-fs@3.0.8 │ ├─┬ strip-bom@1.0.0 │ │ └── first-chunk-stream@1.0.0 │ ├─┬ through2@0.6.5 │ │ └─┬ readable-stream@1.0.33 │ │ └── isarray@0.0.1 │ └─┬ vinyl@0.4.6 │ └── clone@0.2.0 ├─┬ gulp-autoprefixer@3.1.0 │ ├─┬ autoprefixer@6.3.1 │ │ ├── browserslist@1.1.1 │ │ ├── caniuse-db@1.0.30000398 │ │ ├── normalize-range@0.1.2 │ │ ├── num2fraction@1.2.2 │ │ ├─┬ postcss@5.0.14 │ │ │ ├── js-base64@2.1.9 │ │ │ ├── source-map@0.5.3 │ │ │ └─┬ supports-color@3.1.2 │ │ │ └── has-flag@1.0.0 │ │ └── postcss-value-parser@3.2.3 │ ├─┬ postcss@5.0.14 │ │ ├── js-base64@2.1.9 │ │ └─┬ supports-color@3.1.2 │ │ └── has-flag@1.0.0 │ └── vinyl-sourcemaps-apply@0.2.1 ├─┬ gulp-cssnano@2.1.0 │ ├─┬ cssnano@3.4.0 │ │ ├── indexes-of@1.0.1 │ │ ├── object-assign@4.0.1 │ │ ├─┬ postcss-calc@5.2.0 │ │ │ ├── postcss-message-helpers@2.0.0 │ │ │ └─┬ reduce-css-calc@1.2.0 │ │ │ ├── balanced-match@0.1.0 │ │ │ └─┬ reduce-function-call@1.0.1 │ │ │ └── balanced-match@0.1.0 │ │ ├─┬ postcss-colormin@2.1.8 │ │ │ └─┬ colormin@1.0.7 │ │ │ ├─┬ color@0.11.1 │ │ │ │ └─┬ color-string@0.3.0 │ │ │ │ └── color-name@1.1.1 │ │ │ └── css-color-names@0.0.3 │ │ ├── postcss-convert-values@2.3.4 │ │ ├── postcss-discard-comments@2.0.3 │ │ ├── postcss-discard-duplicates@2.0.1 │ │ ├── postcss-discard-empty@2.0.1 │ │ ├─┬ postcss-discard-unused@2.2.0 │ │ │ ├── flatten@1.0.2 │ │ │ └── uniqs@2.0.0 │ │ ├─┬ postcss-filter-plugins@2.0.0 │ │ │ └── uniqid@1.0.0 │ │ ├─┬ postcss-merge-idents@2.1.5 │ │ │ └── has-own@1.0.0 │ │ ├── postcss-merge-longhand@2.0.1 │ │ ├── postcss-merge-rules@2.0.3 │ │ ├─┬ postcss-minify-font-values@1.0.2 │ │ │ └── object-assign@4.0.1 │ │ ├── postcss-minify-gradients@1.0.1 │ │ ├─┬ postcss-minify-params@1.0.4 │ │ │ └── alphanum-sort@1.0.2 │ │ ├─┬ postcss-minify-selectors@2.0.3 │ │ │ └─┬ postcss-selector-parser@1.3.1 │ │ │ └── uniq@1.0.1 │ │ ├── postcss-normalize-charset@1.1.0 │ │ ├─┬ postcss-normalize-url@3.0.5 │ │ │ ├── is-absolute-url@2.0.0 │ │ │ ├─┬ normalize-url@1.4.0 │ │ │ │ ├── object-assign@4.0.1 │ │ │ │ ├── prepend-http@1.0.3 │ │ │ │ ├─┬ query-string@3.0.0 │ │ │ │ │ └── strict-uri-encode@1.1.0 │ │ │ │ └── sort-keys@1.1.1 │ │ │ └── object-assign@4.0.1 │ │ ├── postcss-ordered-values@2.0.2 │ │ ├── postcss-reduce-idents@2.2.2 │ │ ├── postcss-reduce-transforms@1.0.3 │ │ ├─┬ postcss-svgo@2.1.1 │ │ │ └── is-svg@1.1.1 │ │ ├── postcss-unique-selectors@2.0.2 │ │ ├── postcss-value-parser@3.2.3 │ │ └── postcss-zindex@2.0.1 │ └── object-assign@4.0.1 ├─┬ gulp-debug@2.1.2 │ ├── object-assign@4.0.1 │ ├─┬ plur@2.1.2 │ │ └── irregular-plurals@1.1.0 │ └─┬ stringify-object@2.3.1 │ ├── is-plain-obj@1.1.0 │ └── is-regexp@1.0.0 ├─┬ gulp-git@1.7.1 │ ├── any-shell-escape@0.1.1 │ └─┬ through2@0.6.5 │ └─┬ readable-stream@1.0.33 │ └── isarray@0.0.1 ├─┬ gulp-i18n-gspreadsheet@0.1.7 │ ├─┬ google-spreadsheet@1.0.1 │ │ └── lodash@3.10.1 │ ├── mkdirp@0.3.5 │ ├── step@0.0.5 │ ├─┬ through2@0.6.5 │ │ └─┬ readable-stream@1.0.33 │ │ └── isarray@0.0.1 │ └── underscore@1.5.2 ├─┬ gulp-if@2.0.0 │ ├── gulp-match@1.0.0 │ └─┬ ternary-stream@2.0.0 │ ├─┬ duplexify@3.4.2 │ │ ├── end-of-stream@1.0.0 │ │ └─┬ readable-stream@2.0.5 │ │ └── isarray@0.0.1 │ ├── fork-stream@0.0.4 │ └─┬ merge-stream@1.0.0 │ └─┬ readable-stream@2.0.5 │ └── isarray@0.0.1 ├─┬ gulp-imagemin@3.0.1 │ ├─┬ imagemin@5.2.1 │ │ ├── file-type@3.8.0 │ │ └── promise.pipe@3.0.0 │ ├─┬ imagemin-gifsicle@5.1.0 │ │ ├─┬ exec-buffer@3.0.0 │ │ │ ├─┬ execa@0.3.0 │ │ │ │ ├─┬ cross-spawn-async@2.2.4 │ │ │ │ │ └── lru-cache@4.0.1 │ │ │ │ ├── npm-run-path@1.0.0 │ │ │ │ ├── object-assign@4.1.0 │ │ │ │ ├── path-key@1.0.0 │ │ │ │ └── strip-eof@1.0.0 │ │ │ └── tempfile@1.1.1 │ │ ├─┬ gifsicle@3.0.3 │ │ │ ├─┬ bin-build@2.2.0 │ │ │ │ ├── archive-type@3.2.0 │ │ │ │ ├─┬ decompress@3.0.0 │ │ │ │ │ ├─┬ buffer-to-vinyl@1.1.0 │ │ │ │ │ │ ├─┬ readable-stream@2.1.4 │ │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ │ └── vinyl@1.1.1 │ │ │ │ │ ├─┬ decompress-tar@3.1.0 │ │ │ │ │ │ ├── is-tar@1.0.0 │ │ │ │ │ │ ├── object-assign@2.1.1 │ │ │ │ │ │ ├─┬ strip-dirs@1.1.1 │ │ │ │ │ │ │ ├── is-natural-number@2.1.1 │ │ │ │ │ │ │ └── sum-up@1.0.3 │ │ │ │ │ │ ├─┬ tar-stream@1.5.2 │ │ │ │ │ │ │ ├── end-of-stream@1.1.0 │ │ │ │ │ │ │ └─┬ readable-stream@2.1.4 │ │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ │ ├─┬ through2@0.6.5 │ │ │ │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ │ │ └─┬ 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 │ │ │ │ │ │ ├─┬ through2@0.6.5 │ │ │ │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ │ │ └─┬ vinyl@0.4.6 │ │ │ │ │ │ └── clone@0.2.0 │ │ │ │ │ ├─┬ decompress-targz@3.1.0 │ │ │ │ │ │ ├── is-gzip@1.0.0 │ │ │ │ │ │ ├── object-assign@2.1.1 │ │ │ │ │ │ ├─┬ through2@0.6.5 │ │ │ │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ │ │ └─┬ vinyl@0.4.6 │ │ │ │ │ │ └── clone@0.2.0 │ │ │ │ │ ├─┬ decompress-unzip@3.4.0 │ │ │ │ │ │ ├── is-zip@1.0.0 │ │ │ │ │ │ ├── stat-mode@0.2.1 │ │ │ │ │ │ ├── vinyl@1.1.1 │ │ │ │ │ │ └── yauzl@2.4.3 │ │ │ │ │ ├─┬ vinyl-assign@1.2.1 │ │ │ │ │ │ ├── object-assign@4.1.0 │ │ │ │ │ │ └─┬ readable-stream@2.1.4 │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ └─┬ vinyl-fs@2.4.3 │ │ │ │ │ ├─┬ glob-stream@5.3.2 │ │ │ │ │ │ ├── extend@3.0.0 │ │ │ │ │ │ ├─┬ glob-parent@2.0.0 │ │ │ │ │ │ │ └── is-glob@2.0.1 │ │ │ │ │ │ ├─┬ micromatch@2.3.8 │ │ │ │ │ │ │ ├─┬ arr-diff@2.0.0 │ │ │ │ │ │ │ │ └── arr-flatten@1.0.1 │ │ │ │ │ │ │ ├── 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 │ │ │ │ │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ │ │ │ │ └── randomatic@1.1.5 │ │ │ │ │ │ │ │ ├── preserve@0.2.0 │ │ │ │ │ │ │ │ └── repeat-element@1.1.2 │ │ │ │ │ │ │ ├─┬ expand-brackets@0.1.5 │ │ │ │ │ │ │ │ └── is-posix-bracket@0.1.1 │ │ │ │ │ │ │ ├── extglob@0.3.2 │ │ │ │ │ │ │ ├── filename-regex@2.0.0 │ │ │ │ │ │ │ ├── is-extglob@1.0.0 │ │ │ │ │ │ │ ├── normalize-path@2.0.1 │ │ │ │ │ │ │ ├─┬ object.omit@2.0.0 │ │ │ │ │ │ │ │ ├─┬ for-own@0.1.4 │ │ │ │ │ │ │ │ │ └── for-in@0.1.5 │ │ │ │ │ │ │ │ └── is-extendable@0.1.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 │ │ │ │ │ │ ├── ordered-read-streams@0.3.0 │ │ │ │ │ │ ├─┬ through2@0.6.5 │ │ │ │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ │ │ ├─┬ to-absolute-glob@0.1.1 │ │ │ │ │ │ │ └── extend-shallow@2.0.1 │ │ │ │ │ │ └─┬ unique-stream@2.2.1 │ │ │ │ │ │ └── json-stable-stringify@1.0.1 │ │ │ │ │ ├── graceful-fs@4.1.5 │ │ │ │ │ ├── is-valid-glob@0.3.0 │ │ │ │ │ ├─┬ lazystream@1.0.0 │ │ │ │ │ │ └─┬ readable-stream@2.1.4 │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ ├─┬ lodash.isequal@4.2.0 │ │ │ │ │ │ └── lodash.keys@4.0.7 │ │ │ │ │ ├── object-assign@4.1.0 │ │ │ │ │ ├─┬ readable-stream@2.1.4 │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ ├── through2-filter@2.0.0 │ │ │ │ │ ├── vali-date@1.0.0 │ │ │ │ │ └── vinyl@1.1.1 │ │ │ │ ├─┬ download@4.4.3 │ │ │ │ │ ├─┬ caw@1.2.0 │ │ │ │ │ │ ├─┬ get-proxy@1.1.0 │ │ │ │ │ │ │ └─┬ rc@1.1.6 │ │ │ │ │ │ │ └── deep-extend@0.4.1 │ │ │ │ │ │ └── is-obj@1.0.1 │ │ │ │ │ ├─┬ filenamify@1.2.1 │ │ │ │ │ │ ├── filename-reserved-regex@1.0.0 │ │ │ │ │ │ ├── strip-outer@1.0.0 │ │ │ │ │ │ └── trim-repeated@1.0.0 │ │ │ │ │ ├─┬ got@5.6.0 │ │ │ │ │ │ ├─┬ create-error-class@3.0.2 │ │ │ │ │ │ │ └── capture-stack-trace@1.0.0 │ │ │ │ │ │ ├── duplexer2@0.1.4 │ │ │ │ │ │ ├── is-redirect@1.0.0 │ │ │ │ │ │ ├── is-retry-allowed@1.0.0 │ │ │ │ │ │ ├── is-stream@1.1.0 │ │ │ │ │ │ ├── lowercase-keys@1.0.0 │ │ │ │ │ │ ├── node-status-codes@1.0.0 │ │ │ │ │ │ ├── object-assign@4.1.0 │ │ │ │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ │ │ │ └─┬ error-ex@1.3.0 │ │ │ │ │ │ │ └── is-arrayish@0.2.1 │ │ │ │ │ │ ├─┬ readable-stream@2.1.4 │ │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ │ ├── timed-out@2.0.0 │ │ │ │ │ │ ├── unzip-response@1.0.0 │ │ │ │ │ │ └── url-parse-lax@1.0.0 │ │ │ │ │ ├─┬ gulp-decompress@1.2.0 │ │ │ │ │ │ └─┬ readable-stream@2.1.4 │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ ├── is-url@1.2.1 │ │ │ │ │ ├── object-assign@4.1.0 │ │ │ │ │ ├─┬ read-all-stream@3.1.0 │ │ │ │ │ │ └─┬ readable-stream@2.1.4 │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ ├─┬ readable-stream@2.1.4 │ │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ │ ├── vinyl@1.1.1 │ │ │ │ │ ├─┬ vinyl-fs@2.4.3 │ │ │ │ │ │ ├─┬ glob-stream@5.3.2 │ │ │ │ │ │ │ ├── extend@3.0.0 │ │ │ │ │ │ │ ├── ordered-read-streams@0.3.0 │ │ │ │ │ │ │ ├─┬ through2@0.6.5 │ │ │ │ │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ │ │ │ └── unique-stream@2.2.1 │ │ │ │ │ │ └── graceful-fs@4.1.5 │ │ │ │ │ └─┬ 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-truncate@1.1.0 │ │ │ │ │ └── semver@5.1.0 │ │ │ │ ├── lazy-req@1.1.0 │ │ │ │ └── os-filter-obj@1.0.3 │ │ │ └─┬ logalot@2.1.0 │ │ │ ├─┬ figures@1.7.0 │ │ │ │ └── object-assign@4.1.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@5.0.2 │ │ ├── is-jpg@1.0.0 │ │ └── jpegtran-bin@3.0.6 │ ├─┬ imagemin-optipng@5.1.0 │ │ ├── is-png@1.0.0 │ │ └── optipng-bin@3.1.2 │ ├─┬ imagemin-svgo@5.1.0 │ │ ├─┬ is-svg@2.0.1 │ │ │ └── html-comment-regex@1.1.0 │ │ └─┬ svgo@0.6.1 │ │ ├── coa@1.0.1 │ │ ├── colors@1.1.2 │ │ ├─┬ csso@1.4.4 │ │ │ └─┬ clap@1.0.10 │ │ │ └── chalk@1.1.1 │ │ └── whet.extend@0.9.9 │ ├─┬ pretty-bytes@2.0.1 │ │ ├── get-stdin@4.0.1 │ │ ├─┬ meow@3.7.0 │ │ │ ├─┬ camelcase-keys@2.0.0 │ │ │ │ └── camelcase@2.1.1 │ │ │ ├─┬ loud-rejection@1.2.1 │ │ │ │ ├── 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.0 │ │ │ │ └─┬ spdx-expression-parse@1.0.2 │ │ │ │ └── spdx-exceptions@1.0.4 │ │ │ ├── object-assign@4.0.1 │ │ │ ├─┬ read-pkg-up@1.0.1 │ │ │ │ ├─┬ find-up@1.1.0 │ │ │ │ │ └── path-exists@2.1.0 │ │ │ │ └─┬ read-pkg@1.1.0 │ │ │ │ ├─┬ load-json-file@1.1.0 │ │ │ │ │ └── graceful-fs@4.1.5 │ │ │ │ └─┬ path-type@1.1.0 │ │ │ │ └── graceful-fs@4.1.5 │ │ │ ├─┬ redent@1.0.0 │ │ │ │ ├─┬ indent-string@2.1.0 │ │ │ │ │ └── repeating@2.0.0 │ │ │ │ └── strip-indent@1.0.1 │ │ │ └── trim-newlines@1.0.0 │ │ └── number-is-nan@1.0.0 │ └── through2-concurrent@1.1.1 ├─┬ gulp-sass@2.2.0 │ └── object-assign@4.0.1 ├─┬ gulp-sourcemaps@1.6.0 │ ├── graceful-fs@4.1.5 │ ├─┬ strip-bom@2.0.0 │ │ └── is-utf8@0.2.1 │ └─┬ vinyl@1.1.1 │ └── clone@1.0.2 ├─┬ gulp-sprite-generator@0.2.3 │ ├── async@0.2.10 │ ├── colors@0.6.2 │ ├─┬ gulp-util@2.2.20 │ │ ├─┬ chalk@0.5.1 │ │ │ ├── ansi-styles@1.1.0 │ │ │ ├─┬ has-ansi@0.1.0 │ │ │ │ └── ansi-regex@0.2.1 │ │ │ ├── strip-ansi@0.3.0 │ │ │ └── supports-color@0.2.0 │ │ ├── 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.2.0 │ │ └─┬ through2@0.5.1 │ │ └── xtend@3.0.0 │ ├── lodash@2.4.2 │ ├─┬ spritesmith@0.18.0 │ │ ├─┬ canvassmith@0.2.5 │ │ │ └── UNMET DEPENDENCY canvas@~1.1.1 │ │ ├─┬ gmsmith@0.4.5 │ │ │ ├── async@0.2.10 │ │ │ ├── gm@1.4.2 │ │ │ ├── obj-extend@0.1.0 │ │ │ ├─┬ temporary@0.0.5 │ │ │ │ └── package@1.0.1 │ │ │ └── which@1.0.9 │ │ ├─┬ layout@1.3.2 │ │ │ └── binpacking@0.0.1 │ │ ├─┬ phantomjssmith@0.4.6 │ │ │ ├── async@0.2.10 │ │ │ ├─┬ ndarray@1.0.18 │ │ │ │ └── iota-array@1.0.0 │ │ │ ├─┬ save-pixels@0.3.0 │ │ │ │ └── pngjs@0.4.0 │ │ │ ├── shell-quote@1.4.3 │ │ │ ├── temporary@0.0.8 │ │ │ └── which@1.0.9 │ │ └─┬ pngsmith@0.1.5 │ │ ├── async@0.2.10 │ │ ├─┬ concat-stream@1.2.1 │ │ │ └─┬ bops@0.0.6 │ │ │ ├── base64-js@0.0.2 │ │ │ └── to-utf8@0.0.1 │ │ ├─┬ get-pixels@1.0.1 │ │ │ ├─┬ ndarray-pack@1.0.0 │ │ │ │ └─┬ cwise@0.3.4 │ │ │ │ ├─┬ cwise-compiler@0.0.0 │ │ │ │ │ └── uniq@0.0.2 │ │ │ │ └─┬ cwise-parser@0.0.1 │ │ │ │ └── esprima@1.0.4 │ │ │ ├── pngparse@1.1.4 │ │ │ └─┬ ppm@0.0.0 │ │ │ └── through@2.2.7 │ │ └─┬ save-pixels@0.3.0 │ │ └── pngjs@0.4.0 │ ├─┬ through2@0.4.2 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └─┬ xtend@2.1.2 │ │ └── object-keys@0.4.0 │ └─┬ vinyl@0.2.3 │ └── clone-stats@0.0.1 ├─┬ gulp-spritesmith@0.0.2 │ ├── async@0.2.10 │ ├─┬ event-stream@3.1.7 │ │ ├── duplexer@0.1.1 │ │ ├── from@0.1.3 │ │ ├── map-stream@0.1.0 │ │ ├── pause-stream@0.0.11 │ │ ├── split@0.2.10 │ │ └── stream-combiner@0.0.4 │ ├─┬ gulp-util@2.2.20 │ │ ├─┬ chalk@0.5.1 │ │ │ ├── ansi-styles@1.1.0 │ │ │ ├─┬ has-ansi@0.1.0 │ │ │ │ └── ansi-regex@0.2.1 │ │ │ ├── strip-ansi@0.3.0 │ │ │ └── supports-color@0.2.0 │ │ ├── lodash._reinterpolate@2.4.1 │ │ ├─┬ lodash.template@2.4.1 │ │ │ ├── lodash.escape@2.4.1 │ │ │ ├── lodash.keys@2.4.1 │ │ │ └── lodash.templatesettings@2.4.1 │ │ ├── minimist@0.2.0 │ │ └─┬ through2@0.5.1 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── xtend@3.0.0 │ ├─┬ json2css@4.2.2 │ │ ├── json-content-demux@0.1.3 │ │ ├── mustache@0.7.3 │ │ └── underscore@1.4.4 │ ├── lodash@2.4.2 │ ├─┬ spritesmith@0.18.0 │ │ ├─┬ canvassmith@0.2.5 │ │ │ ├── async@0.2.10 │ │ │ └── UNMET DEPENDENCY canvas@~1.1.1 │ │ └── layout@1.3.2 │ ├── through@2.3.8 │ └── vinyl@0.2.3 ├── gulp-tap@0.1.3 ├─┬ gulp-template@3.1.0 │ └── lodash@3.10.1 ├─┬ gulp-translations-from-spreadsheet@1.0.1 │ └── vinyl@1.1.1 ├─┬ gulp-util@3.0.7 │ ├── array-differ@1.0.0 │ ├── array-uniq@1.0.2 │ ├── beeper@1.1.0 │ ├── dateformat@1.0.12 │ ├── fancy-log@1.1.0 │ ├─┬ 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._root@3.0.0 │ │ ├─┬ lodash.keys@3.1.2 │ │ │ ├── lodash._getnative@3.9.1 │ │ │ ├── lodash.isarguments@3.0.6 │ │ │ └── lodash.isarray@3.0.4 │ │ ├── lodash.restparam@3.6.1 │ │ └── lodash.templatesettings@3.1.1 │ ├─┬ multipipe@0.1.2 │ │ └── duplexer2@0.0.2 │ ├── object-assign@3.0.0 │ ├── replace-ext@0.0.1 │ └── vinyl@0.5.3 ├─┬ gulp.spritesmith@6.2.1 │ ├── async@0.9.2 │ ├─┬ gulp-util@2.2.20 │ │ ├─┬ chalk@0.5.1 │ │ │ ├── ansi-styles@1.1.0 │ │ │ ├─┬ has-ansi@0.1.0 │ │ │ │ └── ansi-regex@0.2.1 │ │ │ ├── strip-ansi@0.3.0 │ │ │ └── supports-color@0.2.0 │ │ ├── lodash._reinterpolate@2.4.1 │ │ ├─┬ lodash.template@2.4.1 │ │ │ ├── lodash.escape@2.4.1 │ │ │ ├── lodash.keys@2.4.1 │ │ │ └── lodash.templatesettings@2.4.1 │ │ ├── minimist@0.2.0 │ │ ├─┬ through2@0.5.1 │ │ │ └── xtend@3.0.0 │ │ └── vinyl@0.2.3 │ ├── minimatch@2.0.10 │ ├─┬ spritesheet-templates@10.1.2 │ │ ├─┬ handlebars@3.0.3 │ │ │ └── source-map@0.1.43 │ │ ├── handlebars-layouts@1.1.0 │ │ └── underscore@1.4.4 │ ├─┬ spritesmith@3.1.0 │ │ ├─┬ concat-stream@1.5.1 │ │ │ └─┬ readable-stream@2.0.6 │ │ │ └── isarray@1.0.0 │ │ ├─┬ layout@2.2.0 │ │ │ └── bin-pack@1.0.2 │ │ ├─┬ pixelsmith@2.1.1 │ │ │ ├── async@0.9.2 │ │ │ ├─┬ concat-stream@1.5.1 │ │ │ │ └─┬ readable-stream@2.0.6 │ │ │ │ └── isarray@1.0.0 │ │ │ ├─┬ get-pixels@3.3.0 │ │ │ │ ├── data-uri-to-buffer@0.0.3 │ │ │ │ ├── jpeg-js@0.1.2 │ │ │ │ ├─┬ ndarray-pack@1.2.0 │ │ │ │ │ └── cwise-compiler@1.1.2 │ │ │ │ ├── node-bitmap@0.0.1 │ │ │ │ ├── omggif@1.0.8 │ │ │ │ ├── parse-data-uri@0.2.0 │ │ │ │ └─┬ request@2.72.0 │ │ │ │ ├─┬ bl@1.1.2 │ │ │ │ │ └─┬ readable-stream@2.0.6 │ │ │ │ │ └── isarray@1.0.0 │ │ │ │ ├── extend@3.0.0 │ │ │ │ └── qs@6.1.0 │ │ │ ├─┬ ndarray-fill@1.0.1 │ │ │ │ └─┬ cwise@1.0.9 │ │ │ │ ├─┬ cwise-parser@1.0.2 │ │ │ │ │ └── esprima@1.2.5 │ │ │ │ ├─┬ static-module@1.3.1 │ │ │ │ │ ├─┬ escodegen@1.3.3 │ │ │ │ │ │ ├── esprima@1.1.1 │ │ │ │ │ │ ├── estraverse@1.5.1 │ │ │ │ │ │ ├── esutils@1.0.0 │ │ │ │ │ │ └── source-map@0.1.43 │ │ │ │ │ ├── object-inspect@0.4.0 │ │ │ │ │ ├─┬ quote-stream@0.0.0 │ │ │ │ │ │ ├── minimist@0.0.8 │ │ │ │ │ │ └─┬ through2@0.4.2 │ │ │ │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ │ │ └─┬ xtend@2.1.2 │ │ │ │ │ │ └── object-keys@0.4.0 │ │ │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ │ ├── 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 │ │ │ │ └─┬ uglify-js@2.6.2 │ │ │ │ └── async@0.2.10 │ │ │ ├─┬ save-pixels@2.3.3 │ │ │ │ ├─┬ contentstream@1.0.0 │ │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ ├── gif-encoder@0.4.1 │ │ │ │ ├── jpeg-js@0.0.4 │ │ │ │ ├── ndarray-ops@1.2.2 │ │ │ │ └── pngjs-nozlib@1.0.0 │ │ │ └─┬ vinyl-file@1.3.0 │ │ │ ├── graceful-fs@4.1.5 │ │ │ ├── strip-bom-stream@1.0.0 │ │ │ └── vinyl@1.1.1 │ │ └── semver@5.0.3 │ ├─┬ through2@0.6.5 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── xtend@4.0.1 │ ├── underscore@1.6.0 │ └── url2@1.0.4 ├── inherits@2.0.1 ├── lodash@4.4.0 ├── moment@2.12.0 ├─┬ node-gyp@3.4.0 │ ├─┬ fstream@1.0.10 │ │ └── graceful-fs@4.1.5 │ ├── glob@7.0.5 │ ├── graceful-fs@4.1.5 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ ├─┬ nopt@3.0.6 │ │ └── abbrev@1.0.9 │ ├─┬ npmlog@3.1.2 │ │ ├─┬ are-we-there-yet@1.1.2 │ │ │ ├── delegates@1.0.0 │ │ │ └─┬ readable-stream@1.1.13 │ │ │ └── isarray@0.0.1 │ │ ├── console-control-strings@1.1.0 │ │ ├─┬ gauge@2.6.0 │ │ │ ├── aproba@1.0.4 │ │ │ ├── has-color@0.1.7 │ │ │ ├── has-unicode@2.0.1 │ │ │ ├── object-assign@4.1.0 │ │ │ ├── signal-exit@3.0.0 │ │ │ ├─┬ string-width@1.0.1 │ │ │ │ ├── code-point-at@1.0.0 │ │ │ │ └── is-fullwidth-code-point@1.0.0 │ │ │ └── wide-align@1.1.0 │ │ └── set-blocking@2.0.0 │ ├─┬ osenv@0.1.3 │ │ └── os-homedir@1.0.1 │ ├─┬ path-array@1.0.1 │ │ └── array-index@1.0.0 │ ├─┬ request@2.29.0 │ │ ├── aws-sign2@0.5.0 │ │ ├── forever-agent@0.5.2 │ │ ├─┬ form-data@0.1.4 │ │ │ ├── async@0.9.2 │ │ │ └─┬ combined-stream@0.0.7 │ │ │ └── delayed-stream@0.0.5 │ │ ├─┬ hawk@1.0.0 │ │ │ ├── boom@0.4.2 │ │ │ ├── cryptiles@0.2.2 │ │ │ ├── hoek@0.9.1 │ │ │ └── sntp@0.2.4 │ │ ├─┬ http-signature@0.10.1 │ │ │ ├── asn1@0.1.11 │ │ │ ├── assert-plus@0.1.5 │ │ │ └── ctype@0.5.3 │ │ ├── mime@1.2.11 │ │ ├── node-uuid@1.4.7 │ │ ├── oauth-sign@0.3.0 │ │ ├── qs@0.6.6 │ │ ├── tough-cookie@0.9.15 │ │ └── tunnel-agent@0.3.0 │ ├── semver@4.3.6 │ ├─┬ tar@2.2.1 │ │ └── block-stream@0.0.9 │ └─┬ which@1.2.10 │ └── isexe@1.1.2 ├─┬ node-sass@3.4.2 │ ├── async-foreach@0.1.3 │ ├─┬ chalk@1.1.1 │ │ ├── ansi-styles@2.1.0 │ │ ├── escape-string-regexp@1.0.4 │ │ ├─┬ has-ansi@2.0.0 │ │ │ └── ansi-regex@2.0.0 │ │ ├─┬ strip-ansi@3.0.0 │ │ │ └── ansi-regex@2.0.0 │ │ └── supports-color@2.0.0 │ ├─┬ cross-spawn@2.1.5 │ │ ├─┬ cross-spawn-async@2.1.8 │ │ │ ├─┬ lru-cache@4.0.0 │ │ │ │ ├── pseudomap@1.0.2 │ │ │ │ └── yallist@2.0.0 │ │ │ └─┬ which@1.2.4 │ │ │ ├─┬ is-absolute@0.1.7 │ │ │ │ └── is-relative@0.1.3 │ │ │ └── isexe@1.1.1 │ │ └─┬ spawn-sync@1.0.15 │ │ ├─┬ concat-stream@1.5.1 │ │ │ ├── inherits@2.0.1 │ │ │ ├─┬ readable-stream@2.0.5 │ │ │ │ ├── core-util-is@1.0.2 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ ├── process-nextick-args@1.0.6 │ │ │ │ ├── string_decoder@0.10.31 │ │ │ │ └── util-deprecate@1.0.2 │ │ │ └── typedarray@0.0.6 │ │ └── os-shim@0.1.3 │ ├─┬ 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 │ │ ├── lru-cache@2.7.3 │ │ └── sigmund@1.0.1 │ ├── get-stdin@4.0.1 │ ├─┬ glob@5.0.15 │ │ ├─┬ inflight@1.0.4 │ │ │ └── wrappy@1.0.1 │ │ ├── inherits@2.0.1 │ │ ├─┬ minimatch@3.0.0 │ │ │ └─┬ brace-expansion@1.1.2 │ │ │ ├── balanced-match@0.3.0 │ │ │ └── concat-map@0.0.1 │ │ ├─┬ once@1.3.3 │ │ │ └── wrappy@1.0.1 │ │ └── path-is-absolute@1.0.0 │ ├─┬ meow@3.7.0 │ │ ├─┬ camelcase-keys@2.0.0 │ │ │ └── camelcase@2.1.0 │ │ ├─┬ decamelize@1.1.2 │ │ │ └── escape-string-regexp@1.0.4 │ │ ├─┬ loud-rejection@1.2.0 │ │ │ └── signal-exit@2.1.2 │ │ ├── map-obj@1.0.1 │ │ ├── minimist@1.2.0 │ │ ├─┬ normalize-package-data@2.3.5 │ │ │ ├── hosted-git-info@2.1.4 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ ├── semver@5.1.0 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.0 │ │ │ └─┬ spdx-expression-parse@1.0.2 │ │ │ ├── spdx-exceptions@1.0.4 │ │ │ └── spdx-license-ids@1.2.0 │ │ ├── object-assign@4.0.1 │ │ ├─┬ read-pkg-up@1.0.1 │ │ │ ├─┬ find-up@1.1.0 │ │ │ │ ├── path-exists@2.1.0 │ │ │ │ └─┬ pinkie-promise@2.0.0 │ │ │ │ └── pinkie@2.0.1 │ │ │ └─┬ read-pkg@1.1.0 │ │ │ ├─┬ load-json-file@1.1.0 │ │ │ │ ├── graceful-fs@4.1.2 │ │ │ │ ├─┬ parse-json@2.2.0 │ │ │ │ │ └─┬ error-ex@1.3.0 │ │ │ │ │ └── is-arrayish@0.2.1 │ │ │ │ ├── pify@2.3.0 │ │ │ │ ├─┬ pinkie-promise@2.0.0 │ │ │ │ │ └── pinkie@2.0.1 │ │ │ │ └─┬ strip-bom@2.0.0 │ │ │ │ └── is-utf8@0.2.1 │ │ │ └─┬ path-type@1.1.0 │ │ │ ├── graceful-fs@4.1.2 │ │ │ ├── pify@2.3.0 │ │ │ └─┬ pinkie-promise@2.0.0 │ │ │ └── pinkie@2.0.1 │ │ ├─┬ redent@1.0.0 │ │ │ ├─┬ indent-string@2.1.0 │ │ │ │ └─┬ repeating@2.0.0 │ │ │ │ └─┬ is-finite@1.0.1 │ │ │ │ └── number-is-nan@1.0.0 │ │ │ └── strip-indent@1.0.1 │ │ └── trim-newlines@1.0.0 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ ├── nan@2.2.0 │ ├─┬ node-gyp@3.2.1 │ │ ├─┬ fstream@1.0.8 │ │ │ └── inherits@2.0.1 │ │ ├─┬ glob@4.5.3 │ │ │ ├─┬ inflight@1.0.4 │ │ │ │ └── wrappy@1.0.1 │ │ │ ├── inherits@2.0.1 │ │ │ ├─┬ minimatch@2.0.10 │ │ │ │ └─┬ brace-expansion@1.1.2 │ │ │ │ ├── balanced-match@0.3.0 │ │ │ │ └── concat-map@0.0.1 │ │ │ └─┬ once@1.3.3 │ │ │ └── wrappy@1.0.1 │ │ ├── graceful-fs@4.1.2 │ │ ├─┬ minimatch@1.0.0 │ │ │ ├── lru-cache@2.7.3 │ │ │ └── sigmund@1.0.1 │ │ ├─┬ nopt@3.0.6 │ │ │ └── abbrev@1.0.7 │ │ ├─┬ npmlog@1.2.1 │ │ │ ├── ansi@0.3.1 │ │ │ ├─┬ are-we-there-yet@1.0.6 │ │ │ │ ├── delegates@1.0.0 │ │ │ │ └─┬ readable-stream@2.0.5 │ │ │ │ ├── core-util-is@1.0.2 │ │ │ │ ├── inherits@2.0.1 │ │ │ │ ├── isarray@0.0.1 │ │ │ │ ├── process-nextick-args@1.0.6 │ │ │ │ ├── string_decoder@0.10.31 │ │ │ │ └── util-deprecate@1.0.2 │ │ │ └─┬ gauge@1.2.5 │ │ │ ├── has-unicode@2.0.0 │ │ │ ├─┬ lodash.pad@3.2.1 │ │ │ │ └── lodash.repeat@3.1.1 │ │ │ ├─┬ lodash.padleft@3.1.1 │ │ │ │ ├── lodash._basetostring@3.0.1 │ │ │ │ └─┬ lodash._createpadding@3.6.1 │ │ │ │ └── lodash.repeat@3.1.1 │ │ │ └─┬ lodash.padright@3.1.1 │ │ │ ├── lodash._basetostring@3.0.1 │ │ │ └─┬ lodash._createpadding@3.6.1 │ │ │ └── lodash.repeat@3.1.1 │ │ ├─┬ osenv@0.1.3 │ │ │ ├── os-homedir@1.0.1 │ │ │ └── os-tmpdir@1.0.1 │ │ ├─┬ path-array@1.0.1 │ │ │ └─┬ array-index@1.0.0 │ │ │ ├─┬ debug@2.2.0 │ │ │ │ └── ms@0.7.1 │ │ │ └─┬ es6-symbol@3.0.2 │ │ │ ├── d@0.1.1 │ │ │ └─┬ es5-ext@0.10.11 │ │ │ └── es6-iterator@2.0.0 │ │ ├─┬ rimraf@2.5.1 │ │ │ └─┬ glob@6.0.4 │ │ │ ├─┬ inflight@1.0.4 │ │ │ │ └── wrappy@1.0.1 │ │ │ ├── inherits@2.0.1 │ │ │ ├─┬ minimatch@3.0.0 │ │ │ │ └─┬ brace-expansion@1.1.2 │ │ │ │ ├── balanced-match@0.3.0 │ │ │ │ └── concat-map@0.0.1 │ │ │ ├─┬ once@1.3.3 │ │ │ │ └── wrappy@1.0.1 │ │ │ └── path-is-absolute@1.0.0 │ │ ├── semver@5.1.0 │ │ ├─┬ tar@2.2.1 │ │ │ ├── block-stream@0.0.8 │ │ │ └── inherits@2.0.1 │ │ └─┬ which@1.2.4 │ │ ├─┬ is-absolute@0.1.7 │ │ │ └── is-relative@0.1.3 │ │ └── isexe@1.1.1 │ ├─┬ npmconf@2.1.2 │ │ ├─┬ config-chain@1.1.10 │ │ │ └── proto-list@1.2.4 │ │ ├── inherits@2.0.1 │ │ ├── ini@1.3.4 │ │ ├─┬ nopt@3.0.6 │ │ │ └── abbrev@1.0.7 │ │ ├─┬ once@1.3.3 │ │ │ └── wrappy@1.0.1 │ │ ├─┬ osenv@0.1.3 │ │ │ ├── os-homedir@1.0.1 │ │ │ └── os-tmpdir@1.0.1 │ │ ├── semver@4.3.6 │ │ └── uid-number@0.0.5 │ ├─┬ request@2.69.0 │ │ ├── aws-sign2@0.6.0 │ │ ├─┬ aws4@1.2.1 │ │ │ └── lru-cache@2.7.3 │ │ ├─┬ bl@1.0.1 │ │ │ └─┬ readable-stream@2.0.5 │ │ │ ├── core-util-is@1.0.2 │ │ │ ├── inherits@2.0.1 │ │ │ ├── isarray@0.0.1 │ │ │ ├── process-nextick-args@1.0.6 │ │ │ ├── string_decoder@0.10.31 │ │ │ └── util-deprecate@1.0.2 │ │ ├── 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-rc3 │ │ │ └── async@1.5.2 │ │ ├─┬ har-validator@2.0.6 │ │ │ ├─┬ commander@2.9.0 │ │ │ │ └── graceful-readlink@1.0.1 │ │ │ ├─┬ is-my-json-valid@2.12.4 │ │ │ │ ├── generate-function@2.0.0 │ │ │ │ ├─┬ generate-object-property@1.2.0 │ │ │ │ │ └── is-property@1.0.2 │ │ │ │ ├── jsonpointer@2.0.0 │ │ │ │ └── xtend@4.0.1 │ │ │ └─┬ pinkie-promise@2.0.0 │ │ │ └── pinkie@2.0.1 │ │ ├─┬ 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.2.2 │ │ │ │ ├── extsprintf@1.0.2 │ │ │ │ ├── json-schema@0.2.2 │ │ │ │ └── verror@1.3.6 │ │ │ └─┬ sshpk@1.7.3 │ │ │ ├── asn1@0.2.3 │ │ │ ├── dashdash@1.12.2 │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ ├── jodid25519@1.0.2 │ │ │ ├── jsbn@0.1.0 │ │ │ └── tweetnacl@0.13.3 │ │ ├── is-typedarray@1.0.0 │ │ ├── isstream@0.1.2 │ │ ├── json-stringify-safe@5.0.1 │ │ ├─┬ mime-types@2.1.9 │ │ │ └── mime-db@1.21.0 │ │ ├── node-uuid@1.4.7 │ │ ├── oauth-sign@0.8.0 │ │ ├── qs@6.0.2 │ │ ├── stringstream@0.0.5 │ │ ├── tough-cookie@2.2.1 │ │ └── tunnel-agent@0.4.2 │ └─┬ sass-graph@2.1.0 │ ├─┬ glob@6.0.4 │ │ ├─┬ inflight@1.0.4 │ │ │ └── wrappy@1.0.1 │ │ ├── inherits@2.0.1 │ │ ├─┬ minimatch@3.0.0 │ │ │ └─┬ brace-expansion@1.1.2 │ │ │ ├── balanced-match@0.3.0 │ │ │ └── concat-map@0.0.1 │ │ ├─┬ once@1.3.3 │ │ │ └── wrappy@1.0.1 │ │ └── path-is-absolute@1.0.0 │ ├── lodash@4.0.1 │ └─┬ yargs@3.32.0 │ ├── camelcase@2.1.0 │ ├─┬ cliui@3.1.0 │ │ ├─┬ strip-ansi@3.0.0 │ │ │ └── ansi-regex@2.0.0 │ │ └── wrap-ansi@1.0.0 │ ├─┬ decamelize@1.1.2 │ │ └── escape-string-regexp@1.0.4 │ ├─┬ os-locale@1.4.0 │ │ └─┬ lcid@1.0.0 │ │ └── invert-kv@1.0.0 │ ├─┬ string-width@1.0.1 │ │ ├─┬ code-point-at@1.0.0 │ │ │ └── number-is-nan@1.0.0 │ │ ├─┬ is-fullwidth-code-point@1.0.0 │ │ │ └── number-is-nan@1.0.0 │ │ └─┬ strip-ansi@3.0.0 │ │ └── ansi-regex@2.0.0 │ ├── window-size@0.1.4 │ └── y18n@3.2.0 ├── node-static@0.7.8 extraneous ├── nodemon@1.8.1 extraneous ├─┬ png-img@2.1.0 │ └── nan@2.4.0 ├── run-sequence@1.1.5 ├─┬ selenium-standalone@5.5.0 │ ├── async@1.2.1 │ ├── commander@2.6.0 │ ├── lodash@3.9.3 │ ├── minimist@1.1.0 │ ├─┬ mkdirp@0.5.0 │ │ └── minimist@0.0.8 │ ├── progress@1.1.8 │ ├─┬ request@2.51.0 │ │ ├── aws-sign2@0.5.0 │ │ ├─┬ bl@0.9.5 │ │ │ └─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ ├── caseless@0.8.0 │ │ ├─┬ combined-stream@0.0.7 │ │ │ └── delayed-stream@0.0.5 │ │ ├── forever-agent@0.5.2 │ │ ├─┬ form-data@0.2.0 │ │ │ ├── async@0.9.2 │ │ │ └─┬ mime-types@2.0.14 │ │ │ └── mime-db@1.12.0 │ │ ├─┬ hawk@1.1.1 │ │ │ ├── boom@0.4.2 │ │ │ ├── cryptiles@0.2.2 │ │ │ ├── hoek@0.9.1 │ │ │ └── sntp@0.2.4 │ │ ├─┬ http-signature@0.10.1 │ │ │ ├── asn1@0.1.11 │ │ │ └── assert-plus@0.1.5 │ │ ├── mime-types@1.0.2 │ │ ├── oauth-sign@0.5.0 │ │ ├── qs@2.3.3 │ │ ├── stringstream@0.0.5 │ │ ├── tough-cookie@2.2.1 │ │ └── tunnel-agent@0.4.3 │ ├── urijs@1.16.1 │ ├─┬ which@1.1.1 │ │ └─┬ is-absolute@0.1.7 │ │ └── is-relative@0.1.3 │ └─┬ yauzl@2.6.0 │ ├── buffer-crc32@0.2.5 │ └─┬ fd-slicer@1.0.1 │ └── pend@1.2.0 ├─┬ shelljs@0.7.0 │ ├── glob@7.0.3 │ ├── interpret@1.0.0 │ └── rechoir@0.6.2 ├── static@2.0.0 extraneous ├─┬ through2@2.0.1 │ └── readable-stream@2.0.6 ├─┬ vinyl-buffer@1.0.0 │ ├─┬ bl@0.9.5 │ │ └─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ └── through2@0.6.5 ├─┬ webdrivercss@1.1.10 │ ├── async@0.9.2 │ ├── deepmerge@0.2.10 │ ├── fs-extra@0.18.4 │ ├── glob@5.0.15 │ ├─┬ gm@1.23.0 │ │ ├── array-parallel@0.1.3 │ │ ├── array-series@0.1.5 │ │ └─┬ cross-spawn@4.0.0 │ │ └─┬ lru-cache@4.0.1 │ │ ├── pseudomap@1.0.2 │ │ └── yallist@2.0.0 │ ├─┬ request@2.74.0 │ │ ├── aws-sign2@0.6.0 │ │ ├── aws4@1.4.1 │ │ ├─┬ bl@1.1.2 │ │ │ └─┬ 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 │ │ │ └── async@1.5.2 │ │ ├─┬ 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@1.1.1 │ │ │ ├── assert-plus@0.2.0 │ │ │ ├─┬ jsprim@1.3.0 │ │ │ │ ├── extsprintf@1.0.2 │ │ │ │ ├── json-schema@0.2.2 │ │ │ │ └── verror@1.3.6 │ │ │ └─┬ sshpk@1.9.2 │ │ │ ├── asn1@0.2.3 │ │ │ ├── assert-plus@1.0.0 │ │ │ ├─┬ dashdash@1.14.0 │ │ │ │ └── assert-plus@1.0.0 │ │ │ ├── ecc-jsbn@0.1.1 │ │ │ ├─┬ getpass@0.1.6 │ │ │ │ └── assert-plus@1.0.0 │ │ │ ├── jodid25519@1.0.2 │ │ │ ├── jsbn@0.1.0 │ │ │ └── tweetnacl@0.13.3 │ │ ├── is-typedarray@1.0.0 │ │ ├── isstream@0.1.2 │ │ ├─┬ mime-types@2.1.11 │ │ │ └── mime-db@1.23.0 │ │ ├── oauth-sign@0.8.2 │ │ ├── qs@6.2.1 │ │ └── tough-cookie@2.3.1 │ └─┬ tar.gz@1.0.5 │ ├── bluebird@2.10.2 │ └── mout@0.11.1 ├─┬ webdriverio@2.4.5 │ ├─┬ archiver@0.6.1 │ │ ├─┬ file-utils@0.1.5 │ │ │ ├─┬ findup-sync@0.1.3 │ │ │ │ └── lodash@2.4.2 │ │ │ ├─┬ glob@3.2.11 │ │ │ │ └── minimatch@0.3.0 │ │ │ ├── iconv-lite@0.2.11 │ │ │ ├── isbinaryfile@0.1.9 │ │ │ ├── lodash@2.1.0 │ │ │ ├─┬ minimatch@0.2.14 │ │ │ │ ├── lru-cache@2.7.3 │ │ │ │ └── sigmund@1.0.1 │ │ │ └── rimraf@2.2.8 │ │ ├── lazystream@0.1.0 │ │ ├── lodash@2.4.2 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └─┬ zip-stream@0.2.3 │ │ ├── debug@0.7.4 │ │ └─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ ├── async@0.9.2 │ ├─┬ chainit@2.1.1 │ │ └── queue@1.0.2 │ ├── css-parse@1.7.0 │ ├── css-value@0.0.1 │ ├── pragma-singleton@1.0.3 │ ├─┬ request@2.34.0 │ │ ├── aws-sign2@0.5.0 │ │ ├── forever-agent@0.5.2 │ │ ├─┬ form-data@0.1.4 │ │ │ └─┬ combined-stream@0.0.7 │ │ │ └── delayed-stream@0.0.5 │ │ ├─┬ hawk@1.0.0 │ │ │ ├── boom@0.4.2 │ │ │ ├── cryptiles@0.2.2 │ │ │ ├── hoek@0.9.1 │ │ │ └── sntp@0.2.4 │ │ ├─┬ http-signature@0.10.1 │ │ │ ├── asn1@0.1.11 │ │ │ └── assert-plus@0.1.5 │ │ ├── mime@1.2.11 │ │ ├── oauth-sign@0.3.0 │ │ ├── qs@0.6.6 │ │ └── tunnel-agent@0.3.0 │ ├── rgb2hex@0.1.0 │ ├─┬ url@0.10.2 │ │ └── punycode@1.3.2 │ └── wgxpath@0.23.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 └── underscore@1.7.0

To fix it I have to add some additional check in conditions gemini.coverage.js in the collectCoverage function. there i add check with null before checking ignored if (rules === null || rules.ignored ) { then i have to many other changes and after all i also removed property sourceRoot from gemini system config because algoritm finds incorrect relative path to my scss directories We can speak Russian in private channel.

Also i used chrome driver

alexhalf commented 8 years ago

Also I add similar check in coverage.js in addStatsForBrowser function if (coverage === null || coverage.ignored) { if (coverage!==null) {this._warnInnacurate(url, coverage.message);} return; } and fs.realpathSync(false/sourceStart.source/ ? path.resolve(opts.docDir, sourceStart.source) : opts.filePath) My system is windows 10 home with last updates

sipayRT commented 8 years ago

can you check it again with latest gemini version? (with removing node_modules directory)