gemini-testing / gemini

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

Cannot launch browser PhantomJS #625

Closed bruk1977 closed 8 years ago

bruk1977 commented 8 years ago

Hi,

My environment:

OS: Windows10 node --v: v4.6.0 npm --v: 3.4.0 "gemini --version": 4.11.3

PhantomJS is running on port 4444 like below:

image

My .gemini.json

{
    "rootUrl": "http://localhost:9001",
    "browsers": {
        "PhantomJS": {
            "desiredCapabilities": {
                "browserName": "phantomjs"
            }
        }
    }
}

Test source code:

gemini.suite('myComponent', function(suite) {
    suite.setUrl('/components/myComponent')
        .setCaptureElements('.c-my-component')
        .before(function(actions, find) {
            this.actionTrigger = find('.c-my-component.glyph-cancel');
        })
        .capture('plain')
        .capture('hovered', function(actions, find) {
            actions.mouseMove(this.actionTrigger);
        })
});

Command used to run the test:

gemini test ./tests/testFile.js or gemini-gui ./tests

Result:

I'm getting the below error:

GeminiError: Cannot launch browser PhantomJS:
undefined while parsing file: c:\test\node_modules\gemini\lib\browser\client-scripts\gemini.js.
    at c:\test\node_modules\gemini\lib\browser\new-browser.js:119:31
    at _rejected (c:\test\node_modules\q\q.js:844:24)
    at c:\test\node_modules\q\q.js:870:30
    at Promise.when (c:\test\node_modules\q\q.js:1122:31)
    at Promise.promise.promiseDispatch (c:\test\node_modules\q\q.js:788:41)
    at c:\test\node_modules\q\q.js:604:44
    at runSingle (c:\test\node_modules\q\q.js:137:13)
    at flush (c:\test\node_modules\q\q.js:125:13)
    at nextTickCallbackWith0Args (node.js:420:9)
    at process._tickCallback (node.js:349:13)

Expected result: Test should run and pass.

Any pointer is really appreciated...

Thanks, Bruk

sipayRT commented 8 years ago

hi. can you provide list of your installed packages (with package versions)? It was issue with uglify-js version but this problem was fixed

bruk1977 commented 8 years ago

Thanks a lot for your quick response.... below is all the dependencies I've.

"dependencies": { "autoprefixer": "^6.3.1", "glob": "^7.0.3", "grunt": "^0.4.5", "grunt-assemble": "^0.4.0", "grunt-cli": "^0.1.13", "grunt-concurrent": "^2.1.0", "grunt-contrib-clean": "^0.6.0", "grunt-contrib-copy": "^0.8.2", "grunt-contrib-cssmin": "^0.14.0", "grunt-contrib-htmlmin": "^1.4.0", "grunt-contrib-jshint": "^0.11.3", "grunt-contrib-uglify": "^1.0.0", "grunt-exec": "^1.0.0", "grunt-html": "^5.0.1", "grunt-jsbeautifier": "^0.2.12", "grunt-json-schema-validation": "^0.0.1", "grunt-jsonlint": "^1.0.7", "grunt-notify": "^0.4.1", "grunt-parallelize": "^1.1.7", "grunt-postcss": "^0.7.1", "grunt-sass": "^1.0.0", "grunt-scss-lint": "^0.3.8", "gulp": "^3.9.1", "gulp-debug": "^2.1.2", "gulp-flatten": "^0.2.0", "gulp-html5-lint": "^1.1.0", "gulp-json-editor": "^2.2.1", "gulp-plumber": "^1.1.0", "gulp-sourcemaps": "^1.6.0", "gulp-tslint": "^6.0.0", "gulp-typescript": "^2.12.2", "gulp-util": "^3.0.7", "hammerjs": "^2.0.7", "jit-grunt": "^0.9.1", "normalize.css": "^3.0.3", "pa11y": "^3.4.0", "picturefill": "^3.0.2", "time-grunt": "^1.3.0", "tslint": "^3.14.0-dev.2", "typescript": "beta" }, "devDependencies": { "async": "^1.5.2", "babel-plugin-transform-es2015-modules-amd": "^6.6.5", "babel-plugin-transform-es3-member-expression-literals": "^6.5.0", "babel-plugin-transform-es3-property-literals": "^6.5.0", "babel-preset-es2015": "^6.6.0", "babel-preset-es2015-loose": "^7.0.0", "backstopjs": "^1.3.5", "gemini": "^4.11.3", "grunt-accessibility": "^3.5.1", "grunt-babel": "^6.0.0", "grunt-browserify": "^4.0.1", "grunt-bump": "^0.7.0", "grunt-contrib-clean": "^0.6.0", "grunt-contrib-compress": "^0.14.0", "grunt-contrib-connect": "^0.11.2", "grunt-contrib-watch": "^0.6.1", "grunt-convert": "^0.1.12", "grunt-curl": "^2.2.0", "grunt-focus": "^0.1.1", "grunt-gzip": "^0.1.0", "grunt-md2html": "^0.3.1", "grunt-minified": "^0.0.6", "grunt-replace": "^0.11.0", "grunt-sftp-deploy": "^0.2.4", "grunt-uncss": "^0.4.4", "grunt-zip": "^0.17.1", "html-minifier": "^1.4.0", "js-beautify": "^1.6.2", "lodash": "^4.6.1", "parallel-webpack": "^1.4.0", "phantomjs-prebuilt": "^2.1.11", "ts-loader": "^0.8.2", "tslint": "^3.14.0-dev.2", "webpack": "^1.13.1", "yargs": "^4.7.1" }

sipayRT commented 8 years ago

no, I mean your already installed packages. Can you remove your node_modules and reinstall it? And then show list of packages that will be printed after installation.

bruk1977 commented 8 years ago

Sorry ... I had lots of things ... below is the full list of installed packages.

├── async@1.5.2 ├─┬ autoprefixer@6.5.0 │ ├── browserslist@1.4.0 │ ├── caniuse-db@1.0.30000548 │ ├── normalize-range@0.1.2 │ ├── num2fraction@1.2.2 │ ├─┬ postcss@5.2.4 │ │ └── js-base64@2.1.9 │ └── postcss-value-parser@3.3.0 ├─┬ babel-plugin-transform-es2015-modules-amd@6.8.0 │ ├─┬ babel-plugin-transform-es2015-modules-commonjs@6.16.0 │ │ ├── babel-plugin-transform-strict-mode@6.11.3 │ │ └─┬ babel-types@6.16.0 │ │ ├── esutils@2.0.2 │ │ └── to-fast-properties@1.0.2 │ ├─┬ babel-runtime@6.11.6 │ │ ├── core-js@2.4.1 │ │ └── regenerator-runtime@0.9.5 │ └─┬ babel-template@6.16.0 │ ├─┬ babel-traverse@6.16.0 │ │ ├── globals@8.18.0 │ │ └─┬ invariant@2.2.1 │ │ └─┬ loose-envify@1.2.0 │ │ └── js-tokens@1.0.3 │ └── babylon@6.11.4 ├── babel-plugin-transform-es3-member-expression-literals@6.8.0 ├── babel-plugin-transform-es3-property-literals@6.8.0 ├─┬ babel-preset-es2015@6.16.0 │ ├── babel-plugin-check-es2015-constants@6.8.0 │ ├── babel-plugin-transform-es2015-arrow-functions@6.8.0 │ ├── babel-plugin-transform-es2015-block-scoped-functions@6.8.0 │ ├── babel-plugin-transform-es2015-block-scoping@6.15.0 │ ├─┬ babel-plugin-transform-es2015-classes@6.14.0 │ │ ├── babel-helper-define-map@6.9.0 │ │ ├── babel-helper-function-name@6.8.0 │ │ ├── babel-helper-optimise-call-expression@6.8.0 │ │ ├── babel-helper-replace-supers@6.16.0 │ │ └── babel-messages@6.8.0 │ ├── babel-plugin-transform-es2015-computed-properties@6.8.0 │ ├── babel-plugin-transform-es2015-destructuring@6.16.0 │ ├── babel-plugin-transform-es2015-duplicate-keys@6.8.0 │ ├── babel-plugin-transform-es2015-for-of@6.8.0 │ ├── babel-plugin-transform-es2015-function-name@6.9.0 │ ├── babel-plugin-transform-es2015-literals@6.8.0 │ ├─┬ babel-plugin-transform-es2015-modules-systemjs@6.14.0 │ │ └── babel-helper-hoist-variables@6.8.0 │ ├── babel-plugin-transform-es2015-modules-umd@6.12.0 │ ├── babel-plugin-transform-es2015-object-super@6.8.0 │ ├─┬ babel-plugin-transform-es2015-parameters@6.17.0 │ │ ├── babel-helper-call-delegate@6.8.0 │ │ └── babel-helper-get-function-arity@6.8.0 │ ├── babel-plugin-transform-es2015-shorthand-properties@6.8.0 │ ├── babel-plugin-transform-es2015-spread@6.8.0 │ ├─┬ babel-plugin-transform-es2015-sticky-regex@6.8.0 │ │ └── babel-helper-regex@6.9.0 │ ├── babel-plugin-transform-es2015-template-literals@6.8.0 │ ├── babel-plugin-transform-es2015-typeof-symbol@6.8.0 │ ├─┬ babel-plugin-transform-es2015-unicode-regex@6.11.0 │ │ └─┬ regexpu-core@2.0.0 │ │ ├── regenerate@1.3.1 │ │ ├── regjsgen@0.2.0 │ │ └─┬ regjsparser@0.1.5 │ │ └── jsesc@0.5.0 │ └─┬ babel-plugin-transform-regenerator@6.16.1 │ └── private@0.1.6 ├─┬ babel-preset-es2015-loose@7.0.0 │ └─┬ modify-babel-preset@1.2.0 │ └── require-relative@0.8.7 ├─┬ backstopjs@1.3.5 │ ├── casperjs@1.1.3 │ ├─┬ checksum@0.1.1 │ │ └── optimist@0.3.7 │ ├─┬ del@0.1.3 │ │ ├─┬ 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 │ │ ├── is-path-cwd@1.0.0 │ │ └─┬ is-path-in-cwd@1.0.0 │ │ └─┬ is-path-inside@1.0.0 │ │ └── path-is-inside@1.0.2 │ ├─┬ 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 │ │ │ │ ├── qs@4.0.0 │ │ │ │ └─┬ raw-body@2.1.7 │ │ │ │ ├── bytes@2.4.0 │ │ │ │ └── iconv-lite@0.4.13 │ │ │ ├── bytes@2.1.0 │ │ │ ├─┬ compression@1.5.2 │ │ │ │ └── compressible@2.0.8 │ │ │ ├── connect-timeout@1.6.2 │ │ │ ├── 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 │ │ │ │ └── random-bytes@1.0.0 │ │ │ ├─┬ errorhandler@1.4.3 │ │ │ │ ├─┬ accepts@1.3.3 │ │ │ │ │ └── negotiator@0.6.1 │ │ │ │ └── escape-html@1.0.3 │ │ │ ├─┬ express-session@1.11.3 │ │ │ │ ├── crc@3.3.0 │ │ │ │ └─┬ uid-safe@2.0.0 │ │ │ │ └── base64-url@1.2.1 │ │ │ ├── finalhandler@0.4.0 │ │ │ ├─┬ method-override@2.3.6 │ │ │ │ └── vary@1.1.0 │ │ │ ├─┬ multiparty@3.3.2 │ │ │ │ ├─┬ readable-stream@1.1.14 │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ └─┬ stream-counter@0.2.0 │ │ │ │ └─┬ readable-stream@1.1.14 │ │ │ │ └── isarray@0.0.1 │ │ │ ├── pause@0.1.0 │ │ │ ├── qs@4.0.0 │ │ │ ├── response-time@2.3.1 │ │ │ ├── serve-favicon@2.3.0 │ │ │ └── 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 │ │ │ ├── destroy@1.0.3 │ │ │ └── statuses@1.2.1 │ │ ├── utils-merge@1.0.0 │ │ └── vary@1.0.1 │ ├─┬ fs-extra@0.12.0 │ │ ├─┬ jsonfile@2.4.0 │ │ │ └── graceful-fs@4.1.9 │ │ └── 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 │ │ │ ├── esprima@1.2.5 │ │ │ ├── esprima-harmony-jscs@1.1.0-bin │ │ │ ├── estraverse@1.9.3 │ │ │ ├── glob@5.0.15 │ │ │ ├─┬ 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 │ │ │ │ └── pkginfo@0.3.1 │ │ │ ├── vow@0.4.12 │ │ │ └─┬ vow-fs@0.3.6 │ │ │ ├── uuid@2.0.3 │ │ │ └── vow-queue@0.4.2 │ │ ├── object-assign@2.1.1 │ │ └─┬ through2@0.6.5 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── xtend@4.0.1 │ ├─┬ gulp-jscs-stylish@1.4.0 │ │ ├─┬ gulp-tap@0.1.3 │ │ │ └─┬ event-stream@3.1.7 │ │ │ ├── duplexer@0.1.1 │ │ │ ├── from@0.1.3 │ │ │ ├── pause-stream@0.0.11 │ │ │ ├── split@0.2.10 │ │ │ └── stream-combiner@0.0.4 │ │ └─┬ jshint-stylish@2.2.1 │ │ ├── log-symbols@1.0.2 │ │ └── string-length@1.0.1 │ ├─┬ gulp-jshint@1.12.0 │ │ ├── lodash@3.10.1 │ │ ├── minimatch@2.0.10 │ │ ├─┬ rcloader@0.1.2 │ │ │ ├── lodash@2.4.2 │ │ │ └── rcfinder@0.1.9 │ │ └─┬ through2@0.6.5 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── xtend@4.0.1 │ ├─┬ gulp-open@0.3.2 │ │ ├── open@0.0.5 │ │ └─┬ through2@0.6.5 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── xtend@4.0.1 │ ├── gulp-rename@1.2.2 │ ├─┬ http-proxy@1.1.6 │ │ └── eventemitter3@2.0.2 │ ├── 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 │ ├── 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 │ │ │ │ ├── longest@1.0.1 │ │ │ │ └── repeat-string@1.5.4 │ │ │ └── lazy-cache@1.0.4 │ │ ├── right-align@0.1.3 │ │ └── wordwrap@0.0.2 │ └── window-size@0.1.0 ├─┬ gemini@4.11.3 │ ├─┬ aliasify@1.9.0 │ │ └─┬ browserify-transform-tools@1.5.3 │ │ └─┬ falafel@1.2.0 │ │ ├── acorn@1.2.2 │ │ └── isarray@0.0.1 │ ├── app-module-path@1.1.0 │ ├─┬ browserify@13.1.0 │ │ ├── assert@1.3.0 │ │ ├─┬ browser-pack@6.0.1 │ │ │ ├─┬ combine-source-map@0.7.2 │ │ │ │ ├── convert-source-map@1.1.3 │ │ │ │ ├── inline-source-map@0.6.2 │ │ │ │ └── lodash.memoize@3.0.4 │ │ │ └── umd@3.0.1 │ │ ├─┬ browser-resolve@1.11.2 │ │ │ └── resolve@1.1.7 │ │ ├── browserify-zlib@0.1.4 │ │ ├─┬ buffer@4.9.1 │ │ │ ├── base64-js@1.2.0 │ │ │ ├── ieee754@1.1.8 │ │ │ └── isarray@1.0.0 │ │ ├─┬ 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.2 │ │ │ │ │ ├── brorand@1.0.6 │ │ │ │ │ └── hash.js@1.0.3 │ │ │ │ └─┬ parse-asn1@5.0.0 │ │ │ │ └── asn1.js@4.8.1 │ │ │ ├── create-ecdh@4.0.0 │ │ │ ├─┬ create-hash@1.1.2 │ │ │ │ ├── cipher-base@1.0.3 │ │ │ │ └── ripemd160@1.0.1 │ │ │ ├── create-hmac@1.1.4 │ │ │ ├─┬ diffie-hellman@5.0.2 │ │ │ │ └── miller-rabin@4.0.0 │ │ │ ├── pbkdf2@3.0.9 │ │ │ ├── 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 │ │ ├── glob@5.0.15 │ │ ├─┬ has@1.0.1 │ │ │ └── function-bind@1.1.0 │ │ ├── htmlescape@1.1.1 │ │ ├── https-browserify@0.0.1 │ │ ├─┬ insert-module-globals@7.0.1 │ │ │ ├── is-buffer@1.1.4 │ │ │ ├─┬ lexical-scope@1.2.0 │ │ │ │ └── astw@2.0.0 │ │ │ └── xtend@4.0.1 │ │ ├─┬ JSONStream@1.2.1 │ │ │ └── jsonparse@1.2.0 │ │ ├─┬ labeled-stream-splicer@2.0.0 │ │ │ ├── isarray@0.0.1 │ │ │ └── stream-splicer@2.0.0 │ │ ├─┬ module-deps@4.0.7 │ │ │ ├── detective@4.3.1 │ │ │ ├── duplexer2@0.1.4 │ │ │ ├── resolve@1.1.7 │ │ │ ├─┬ stream-combiner2@1.1.1 │ │ │ │ └── duplexer2@0.1.4 │ │ │ └── xtend@4.0.1 │ │ ├── os-browserify@0.1.2 │ │ ├─┬ parents@1.0.1 │ │ │ └── path-platform@0.11.15 │ │ ├── path-browserify@0.0.0 │ │ ├── process@0.11.9 │ │ ├── punycode@1.4.1 │ │ ├── querystring-es3@0.2.1 │ │ ├── read-only-stream@2.0.0 │ │ ├─┬ readable-stream@2.1.5 │ │ │ ├── buffer-shims@1.0.0 │ │ │ ├── core-util-is@1.0.2 │ │ │ └── process-nextick-args@1.0.7 │ │ ├── resolve@1.1.7 │ │ ├─┬ 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 │ │ ├─┬ stream-http@2.4.0 │ │ │ ├── builtin-status-codes@2.0.0 │ │ │ ├── to-arraybuffer@1.0.1 │ │ │ └── xtend@4.0.1 │ │ ├── string_decoder@0.10.31 │ │ ├─┬ subarg@1.0.0 │ │ │ └── minimist@1.2.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 │ │ │ └── inherits@2.0.1 │ │ ├─┬ vm-browserify@0.0.4 │ │ │ └── indexof@0.0.1 │ │ └── xtend@4.0.1 │ ├─┬ chalk@1.1.3 │ │ ├── ansi-styles@2.2.1 │ │ ├── escape-string-regexp@1.0.5 │ │ ├─┬ has-ansi@2.0.0 │ │ │ └── ansi-regex@2.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 │ │ ├─┬ babel-runtime@5.8.38 │ │ │ └── core-js@1.2.7 │ │ └── lodash@3.10.1 │ ├─┬ gemini-coverage@1.0.1 │ │ ├── coa@1.0.1 │ │ └─┬ handlebars@1.3.0 │ │ └── optimist@0.3.7 │ ├── glob-extra@1.3.1 │ ├─┬ handlebars@4.0.5 │ │ └── source-map@0.4.4 │ ├── inherit@2.2.6 │ ├── install@0.6.2 │ ├─┬ js-yaml@3.6.1 │ │ ├── argparse@1.0.9 │ │ └── esprima@2.7.3 │ ├─┬ looks-same@3.0.0 │ │ ├── color-diff@0.1.7 │ │ ├─┬ 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 │ ├─┬ png-img@2.1.0 │ │ └── nan@2.4.0 │ ├─┬ 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 │ │ │ ├─┬ detect-indent@3.0.1 │ │ │ │ └── minimist@1.2.0 │ │ │ ├── esutils@1.1.6 │ │ │ ├── fs-readdir-recursive@0.1.2 │ │ │ ├── globals@6.4.1 │ │ │ ├── is-integer@1.0.6 │ │ │ ├── js-tokens@1.0.0 │ │ │ ├── leven@1.0.2 │ │ │ ├─┬ line-numbers@0.2.0 │ │ │ │ └── left-pad@0.0.3 │ │ │ ├── lodash@3.10.1 │ │ │ ├─┬ output-file-sync@1.1.2 │ │ │ │ └── graceful-fs@4.1.9 │ │ │ ├─┬ regenerator-babel@0.8.13-2 │ │ │ │ └─┬ commoner@0.10.4 │ │ │ │ ├── glob@5.0.15 │ │ │ │ ├── graceful-fs@4.1.9 │ │ │ │ └── iconv-lite@0.4.13 │ │ │ ├─┬ regexpu@1.3.0 │ │ │ │ ├── esprima@2.7.3 │ │ │ │ └─┬ 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 │ │ │ ├─┬ source-map-support@0.2.10 │ │ │ │ └── source-map@0.1.32 │ │ │ └── trim-right@1.0.1 │ │ ├── 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 │ │ │ ├── array-flatten@1.1.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 │ │ │ │ └── inherits@2.0.1 │ │ │ ├── serve-static@1.11.1 │ │ │ └── vary@1.1.0 │ │ ├─┬ forever@0.11.1 │ │ │ ├─┬ cliff@0.1.8 │ │ │ │ ├── eyes@0.1.8 │ │ │ │ └─┬ winston@0.6.2 │ │ │ │ ├── async@0.1.22 │ │ │ │ ├── pkginfo@0.2.3 │ │ │ │ └── request@2.9.203 │ │ │ ├─┬ flatiron@0.3.11 │ │ │ │ ├─┬ broadway@0.2.9 │ │ │ │ │ ├── eventemitter2@0.4.12 │ │ │ │ │ └─┬ winston@0.7.2 │ │ │ │ │ ├── async@0.2.10 │ │ │ │ │ ├── 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 │ │ │ │ └─┬ prompt@0.2.11 │ │ │ │ └─┬ winston@0.6.2 │ │ │ │ ├── async@0.1.22 │ │ │ │ ├── pkginfo@0.2.3 │ │ │ │ └── request@2.9.203 │ │ │ ├─┬ forever-monitor@1.2.3 │ │ │ │ ├── minimatch@0.2.14 │ │ │ │ ├─┬ 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 │ │ │ ├─┬ nssocket@0.5.3 │ │ │ │ └── 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.7 │ │ ├─┬ 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 │ │ │ ├── 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.75.0 │ │ │ └─┬ form-data@2.0.0 │ │ │ └── asynckit@0.4.0 │ │ ├─┬ request-promise@0.3.3 │ │ │ ├── bluebird@2.11.0 │ │ │ ├─┬ 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 │ │ ├── semver@2.3.2 │ │ ├── tsort@0.0.1 │ │ ├─┬ uglify-js@2.7.3 │ │ │ ├── async@0.2.10 │ │ │ ├── source-map@0.5.6 │ │ │ └─┬ yargs@3.10.0 │ │ │ └── camelcase@1.2.1 │ │ └─┬ useragent@2.1.9 │ │ └── lru-cache@2.2.4 │ ├── q@1.4.1 │ ├── q-debug-mode@0.0.1 │ ├─┬ q-io@2.0.6 │ │ ├─┬ collections@2.0.3 │ │ │ ├── mini-map@1.0.0 │ │ │ ├── pop-arrayify@1.0.0 │ │ │ ├── pop-clear@1.0.0 │ │ │ ├── pop-clone@1.0.1 │ │ │ ├── pop-compare@1.0.0 │ │ │ ├── pop-equals@1.0.0 │ │ │ ├── pop-has@1.0.0 │ │ │ ├── pop-hash@1.0.1 │ │ │ ├── pop-iterate@1.0.1 │ │ │ ├── pop-observe@2.0.2 │ │ │ ├── pop-swap@1.0.0 │ │ │ ├── pop-zip@1.0.0 │ │ │ ├── regexp-escape@0.0.1 │ │ │ └── weak-map@1.0.5 │ │ ├── mime@1.3.4 │ │ ├── mimeparse@0.1.4 │ │ ├─┬ q@2.0.3 │ │ │ └── asap@2.0.5 │ │ ├── qs@0.6.6 │ │ └─┬ url2@2.0.0 │ │ └─┬ url@0.7.9 │ │ ├── punycode@1.0.0 │ │ └── querystring@0.1.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.2 │ ├─┬ uglify-js@2.7.3 │ │ ├── async@0.2.10 │ │ ├── uglify-to-browserify@1.0.2 │ │ └─┬ yargs@3.10.0 │ │ └── camelcase@1.2.1 │ ├─┬ uglifyify@3.0.3 │ │ ├── convert-source-map@1.1.3 │ │ ├── extend@1.3.0 │ │ └─┬ 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 │ │ │ │ ├── bl@0.9.5 │ │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ │ └── isarray@0.0.1 │ │ │ │ └── xtend@4.0.1 │ │ │ └─┬ zip-stream@0.5.2 │ │ │ ├─┬ compress-commons@0.2.9 │ │ │ │ ├── node-int64@0.3.3 │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ └── isarray@0.0.1 │ │ │ ├── lodash@3.2.0 │ │ │ └─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ ├── async@1.0.0 │ │ ├── lodash@3.9.3 │ │ ├─┬ request@2.55.0 │ │ │ ├── aws-sign2@0.5.0 │ │ │ ├─┬ bl@0.9.5 │ │ │ │ └─┬ readable-stream@1.0.34 │ │ │ │ └── isarray@0.0.1 │ │ │ ├── caseless@0.9.0 │ │ │ ├─┬ combined-stream@0.0.7 │ │ │ │ └── delayed-stream@0.0.5 │ │ │ ├─┬ form-data@0.2.0 │ │ │ │ └── async@0.9.2 │ │ │ ├─┬ har-validator@1.8.0 │ │ │ │ ├── bluebird@2.11.0 │ │ │ │ └── commander@2.9.0 │ │ │ ├── hawk@2.3.1 │ │ │ ├─┬ http-signature@0.10.1 │ │ │ │ ├── asn1@0.1.11 │ │ │ │ └── assert-plus@0.1.5 │ │ │ ├─┬ 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 │ └── xtend@4.0.1 ├─┬ glob@7.1.0 │ ├── fs.realpath@1.0.0 │ ├─┬ inflight@1.0.5 │ │ └── wrappy@1.0.2 │ ├── inherits@2.0.3 │ ├── once@1.4.0 │ └── path-is-absolute@1.0.1 ├─┬ grunt@0.4.5 │ ├── UNMET DEPENDENCY async@~0.1.22 │ ├── coffee-script@1.3.3 │ ├── colors@0.6.2 │ ├── dateformat@1.0.2-1.2.3 │ ├── eventemitter2@0.4.14 │ ├── exit@0.1.2 │ ├─┬ findup-sync@0.1.3 │ │ ├─┬ glob@3.2.11 │ │ │ └── minimatch@0.3.0 │ │ └── lodash@2.4.2 │ ├── getobject@0.1.0 │ ├─┬ glob@3.1.21 │ │ ├── graceful-fs@1.2.3 │ │ └── inherits@1.0.2 │ ├─┬ grunt-legacy-log@0.1.3 │ │ ├─┬ grunt-legacy-log-utils@0.1.1 │ │ │ ├── lodash@2.4.2 │ │ │ └── underscore.string@2.3.3 │ │ ├── lodash@2.4.2 │ │ └── underscore.string@2.3.3 │ ├─┬ grunt-legacy-util@0.2.0 │ │ ├── UNMET DEPENDENCY async@~0.1.22 │ │ └── UNMET DEPENDENCY lodash@~0.9.2 │ ├── hooker@0.2.3 │ ├── iconv-lite@0.2.11 │ ├─┬ js-yaml@2.0.5 │ │ ├─┬ argparse@0.1.16 │ │ │ ├── underscore@1.7.0 │ │ │ └── underscore.string@2.4.0 │ │ └── esprima@1.0.4 │ ├── UNMET DEPENDENCY lodash@~0.9.2 │ ├─┬ minimatch@0.2.14 │ │ ├── lru-cache@2.7.3 │ │ └── sigmund@1.0.1 │ ├─┬ nopt@1.0.10 │ │ └── abbrev@1.0.9 │ ├── rimraf@2.2.8 │ ├── underscore.string@2.2.1 │ └── which@1.0.9 ├─┬ grunt-accessibility@3.5.1 │ ├─┬ access-sniff@1.1.2 │ │ ├── bluebird@2.11.0 │ │ ├─┬ phantomjs@1.9.20 │ │ │ ├─┬ fs-extra@0.26.7 │ │ │ │ └── graceful-fs@4.1.9 │ │ │ ├─┬ request@2.67.0 │ │ │ │ ├─┬ bl@1.0.3 │ │ │ │ │ └── readable-stream@2.0.6 │ │ │ │ ├─┬ form-data@1.0.1 │ │ │ │ │ └── async@2.0.1 │ │ │ │ ├── qs@5.2.1 │ │ │ │ └── tough-cookie@2.2.2 │ │ │ └── which@1.2.11 │ │ ├── underscore@1.8.3 │ │ └── validator@3.43.0 │ ├── bluebird@2.2.2 │ ├─┬ 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 │ ├─┬ grunt-lib-phantomjs@0.6.0 │ │ ├─┬ phantomjs@1.9.20 │ │ │ ├─┬ fs-extra@0.26.7 │ │ │ │ └── graceful-fs@4.1.9 │ │ │ ├─┬ request@2.67.0 │ │ │ │ ├─┬ bl@1.0.3 │ │ │ │ │ └── readable-stream@2.0.6 │ │ │ │ ├─┬ form-data@1.0.1 │ │ │ │ │ └── async@2.0.1 │ │ │ │ ├── qs@5.2.1 │ │ │ │ └── tough-cookie@2.2.2 │ │ │ └── which@1.2.11 │ │ ├── semver@1.0.14 │ │ └─┬ temporary@0.0.8 │ │ └── package@1.0.1 │ └── underscore@1.6.0 ├─┬ grunt-assemble@0.4.0 │ ├─┬ assemble-handlebars@0.3.0 │ │ ├─┬ handlebars@3.0.3 │ │ │ └── source-map@0.1.43 │ │ └─┬ handlebars-helpers@0.5.8 │ │ ├─┬ handlebars@1.3.0 │ │ │ └── optimist@0.3.7 │ │ ├── highlight.js@7.4.0 │ │ ├── js-yaml@2.1.3 │ │ ├── lodash@2.2.1 │ │ ├── marked@0.2.10 │ │ ├─┬ matchdep@0.3.0 │ │ │ └── resolve@0.5.1 │ │ ├─┬ matchkeys@0.1.3 │ │ │ ├─┬ chalk@0.2.1 │ │ │ │ └── ansi-styles@0.2.0 │ │ │ ├── lodash@1.3.1 │ │ │ ├─┬ matchdep@0.1.2 │ │ │ │ └── minimatch@0.2.14 │ │ │ └── resolve-dep@0.1.3 │ │ ├── minimatch@0.2.14 │ │ ├─┬ nap@0.7.21 │ │ │ ├── file@0.2.2 │ │ │ ├─┬ glob@3.2.11 │ │ │ │ └── minimatch@0.3.0 │ │ │ └── sqwish@0.2.2 │ │ ├─┬ sort-object@0.0.5 │ │ │ └── lodash@2.2.1 │ │ └─┬ to@0.2.9 │ │ ├── handy@0.0.13 │ │ └── htmlparser@1.7.7 │ ├── async@0.9.2 │ ├─┬ gray-matter@0.4.2 │ │ ├─┬ delims@0.1.4 │ │ │ └── lodash@2.4.2 │ │ ├─┬ fs-utils@0.4.3 │ │ │ ├── async@0.6.2 │ │ │ ├─┬ globule@0.2.0 │ │ │ │ ├─┬ glob@3.2.11 │ │ │ │ │ └── minimatch@0.3.0 │ │ │ │ └── minimatch@0.2.14 │ │ │ ├── graceful-fs@2.0.3 │ │ │ ├── js-yaml@3.0.2 │ │ │ ├── lodash@2.4.2 │ │ │ └── mkdirp@0.3.5 │ │ ├─┬ js-yaml@3.6.1 │ │ │ ├── argparse@1.0.9 │ │ │ └── esprima@2.7.3 │ │ ├── lodash@2.4.2 │ │ └─┬ verbalize@0.1.2 │ │ └─┬ chalk@0.4.0 │ │ ├── ansi-styles@1.0.0 │ │ ├── has-color@0.1.7 │ │ └── strip-ansi@0.1.1 │ ├── inflection@1.10.0 │ ├── lodash@2.4.2 │ └─┬ resolve-dep@0.4.1 │ ├── array-flatten@0.0.2 │ ├── cwd@0.3.7 │ ├── load-pkg@0.1.0 │ ├─┬ multimatch@0.3.0 │ │ └── minimatch@0.3.0 │ ├── normalize-path@0.1.1 │ ├── resolve@0.6.3 │ └── xtend@3.0.0 ├─┬ grunt-babel@6.0.0 │ └─┬ babel-core@6.17.0 │ ├─┬ babel-code-frame@6.16.0 │ │ └── js-tokens@2.0.0 │ ├─┬ babel-generator@6.17.0 │ │ ├─┬ detect-indent@3.0.1 │ │ │ ├── minimist@1.2.0 │ │ │ └── repeating@1.1.3 │ │ └── jsesc@1.3.0 │ ├── babel-helpers@6.16.0 │ ├─┬ babel-register@6.16.3 │ │ ├── babel-core@6.17.0 │ │ ├── home-or-tmp@1.0.0 │ │ ├── path-exists@1.0.0 │ │ └── source-map-support@0.4.3 │ ├── json5@0.4.0 │ ├── path-exists@1.0.0 │ ├── shebang-regex@1.0.0 │ └── slash@1.0.0 ├─┬ grunt-browserify@4.0.1 │ ├── async@0.9.2 │ ├─┬ browserify@11.2.0 │ │ ├─┬ browser-pack@5.0.1 │ │ │ └─┬ combine-source-map@0.6.1 │ │ │ ├── convert-source-map@1.1.3 │ │ │ ├── inline-source-map@0.5.0 │ │ │ └── source-map@0.4.4 │ │ ├─┬ buffer@3.6.0 │ │ │ ├── base64-js@0.0.8 │ │ │ └── isarray@1.0.0 │ │ ├── builtins@0.0.7 │ │ ├── commondir@0.0.1 │ │ ├─┬ concat-stream@1.4.10 │ │ │ └── readable-stream@1.1.14 │ │ ├── constants-browserify@0.0.1 │ │ ├── deps-sort@1.3.9 │ │ ├─┬ duplexer2@0.0.2 │ │ │ └─┬ readable-stream@1.1.14 │ │ │ └── isarray@0.0.1 │ │ ├── events@1.0.2 │ │ ├── glob@4.5.3 │ │ ├── insert-module-globals@6.6.3 │ │ ├── isarray@0.0.1 │ │ ├─┬ labeled-stream-splicer@1.0.2 │ │ │ └─┬ stream-splicer@1.3.2 │ │ │ └── readable-stream@1.1.14 │ │ ├─┬ module-deps@3.9.1 │ │ │ ├── readable-stream@1.1.14 │ │ │ └─┬ stream-combiner2@1.0.2 │ │ │ └─┬ through2@0.5.1 │ │ │ ├── readable-stream@1.0.34 │ │ │ └── xtend@3.0.0 │ │ ├─┬ read-only-stream@1.1.1 │ │ │ ├── readable-stream@1.1.14 │ │ │ └─┬ readable-wrap@1.0.0 │ │ │ └─┬ readable-stream@1.1.14 │ │ │ └── isarray@0.0.1 │ │ ├── shell-quote@0.0.1 │ │ ├─┬ stream-http@1.7.1 │ │ │ ├── builtin-status-codes@1.0.0 │ │ │ ├── foreach@2.0.5 │ │ │ └── object-keys@1.0.11 │ │ ├─┬ through2@1.1.1 │ │ │ └── readable-stream@1.1.14 │ │ ├─┬ url@0.10.3 │ │ │ └── punycode@1.3.2 │ │ └── xtend@4.0.1 │ ├─┬ glob@5.0.15 │ │ └── minimatch@2.0.10 │ ├── lodash@3.10.1 │ ├── resolve@1.1.7 │ └─┬ watchify@3.7.0 │ ├─┬ anymatch@1.3.0 │ │ └─┬ micromatch@2.3.11 │ │ ├─┬ 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 │ │ │ │ └── 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 │ │ ├── kind-of@3.0.4 │ │ ├── normalize-path@2.0.1 │ │ ├─┬ object.omit@2.0.0 │ │ │ ├─┬ for-own@0.1.4 │ │ │ │ └── for-in@0.1.6 │ │ │ └── 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 │ ├─┬ chokidar@1.6.0 │ │ ├── async-each@1.0.1 │ │ ├── UNMET OPTIONAL DEPENDENCY fsevents@^1.0.0 │ │ ├── glob-parent@2.0.0 │ │ ├─┬ is-binary-path@1.0.1 │ │ │ └── binary-extensions@1.7.0 │ │ ├── is-glob@2.0.1 │ │ └─┬ readdirp@2.1.0 │ │ └── graceful-fs@4.1.9 │ ├── outpipe@1.1.1 │ └── xtend@4.0.1 ├─┬ grunt-bump@0.7.3 │ └── semver@4.3.6 ├─┬ grunt-cli@0.1.13 │ └── resolve@0.3.1 ├─┬ grunt-concurrent@2.3.1 │ ├── arrify@1.0.1 │ ├── async@1.5.2 │ ├─┬ indent-string@2.1.0 │ │ └── repeating@2.0.1 │ └─┬ pad-stream@1.2.0 │ ├─┬ meow@3.7.0 │ │ ├─┬ camelcase-keys@2.1.0 │ │ │ └── camelcase@2.1.1 │ │ ├─┬ loud-rejection@1.6.0 │ │ │ ├─┬ currently-unhandled@0.4.1 │ │ │ │ └── array-find-index@1.0.2 │ │ │ └── signal-exit@3.0.1 │ │ ├── map-obj@1.0.1 │ │ ├── minimist@1.2.0 │ │ ├─┬ normalize-package-data@2.3.5 │ │ │ ├── hosted-git-info@2.1.5 │ │ │ ├─┬ is-builtin-module@1.0.0 │ │ │ │ └── builtin-modules@1.1.1 │ │ │ └─┬ validate-npm-package-license@3.0.1 │ │ │ ├─┬ spdx-correct@1.0.2 │ │ │ │ └── spdx-license-ids@1.2.2 │ │ │ └── spdx-expression-parse@1.0.4 │ │ ├─┬ redent@1.0.0 │ │ │ └── strip-indent@1.0.1 │ │ └── trim-newlines@1.0.0 │ ├─┬ pumpify@1.3.5 │ │ └─┬ pump@1.0.1 │ │ └─┬ end-of-stream@1.1.0 │ │ └── once@1.3.3 │ └── split2@1.1.1 ├── grunt-contrib-clean@0.6.0 ├─┬ grunt-contrib-compress@0.14.0 │ ├─┬ archiver@0.16.0 │ │ ├── async@1.4.2 │ │ ├── buffer-crc32@0.2.5 │ │ ├── glob@5.0.15 │ │ ├── lazystream@0.1.0 │ │ ├── lodash@3.10.1 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ ├─┬ tar-stream@1.2.2 │ │ │ ├─┬ end-of-stream@1.0.0 │ │ │ │ └── once@1.3.3 │ │ │ ├─┬ readable-stream@2.1.5 │ │ │ │ └── isarray@1.0.0 │ │ │ └── xtend@4.0.1 │ │ └─┬ zip-stream@0.6.0 │ │ └─┬ compress-commons@0.3.0 │ │ ├─┬ crc32-stream@0.3.4 │ │ │ └─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── node-int64@0.4.0 │ └─┬ pretty-bytes@2.0.1 │ └── get-stdin@4.0.1 ├─┬ grunt-contrib-connect@0.11.2 │ ├── async@0.9.2 │ ├─┬ connect@3.5.0 │ │ └─┬ finalhandler@0.5.0 │ │ ├── escape-html@1.0.3 │ │ ├── statuses@1.3.0 │ │ └── unpipe@1.0.0 │ ├── connect-livereload@0.5.4 │ ├─┬ morgan@1.6.1 │ │ ├─┬ on-finished@2.3.0 │ │ │ └── ee-first@1.1.1 │ │ └── on-headers@1.0.1 │ ├── opn@1.0.2 │ ├─┬ portscanner@1.0.0 │ │ └── async@0.1.15 │ ├─┬ 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 │ │ └─┬ mime-types@2.1.12 │ │ └── mime-db@1.24.0 │ └─┬ serve-static@1.10.3 │ ├── escape-html@1.0.3 │ └─┬ send@0.13.2 │ ├── depd@1.1.0 │ ├── destroy@1.0.4 │ └── statuses@1.2.1 ├─┬ grunt-contrib-copy@0.8.2 │ └── file-sync-cmp@0.1.1 ├─┬ grunt-contrib-cssmin@0.14.0 │ ├─┬ clean-css@3.4.20 │ │ ├── commander@2.8.1 │ │ └── source-map@0.4.4 │ └─┬ maxmin@1.1.0 │ ├── gzip-size@1.0.0 │ └── pretty-bytes@1.0.4 ├─┬ grunt-contrib-htmlmin@1.5.0 │ ├── UNMET DEPENDENCY html-minifier@~2.1.7 │ └── pretty-bytes@3.0.1 ├─┬ grunt-contrib-jshint@0.11.3 │ └─┬ jshint@2.8.0 │ ├─┬ cli@0.6.6 │ │ └─┬ glob@3.2.11 │ │ └── minimatch@0.3.0 │ ├─┬ 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 │ │ └─┬ readable-stream@1.1.14 │ │ └── isarray@0.0.1 │ ├── lodash@3.7.0 │ ├── minimatch@2.0.10 │ ├── shelljs@0.3.0 │ └── strip-json-comments@1.0.4 ├─┬ grunt-contrib-uglify@1.0.2 │ ├── lodash@4.16.4 │ ├─┬ uglify-js@2.6.4 │ │ ├── async@0.2.10 │ │ └── UNMET DEPENDENCY yargs@~3.10.0 │ └── uri-path@1.0.0 ├─┬ grunt-contrib-watch@0.6.1 │ ├── async@0.2.10 │ ├─┬ gaze@0.5.2 │ │ └─┬ globule@0.1.0 │ │ ├─┬ glob@3.1.21 │ │ │ └── inherits@1.0.2 │ │ ├── lodash@1.0.2 │ │ └── minimatch@0.2.14 │ ├── lodash@2.4.2 │ └─┬ tiny-lr-fork@0.0.5 │ ├── debug@0.7.4 │ ├── faye-websocket@0.4.4 │ ├─┬ noptify@0.0.3 │ │ └── nopt@2.0.0 │ └── qs@0.5.6 ├─┬ grunt-convert@0.1.12 │ ├── async@0.9.2 │ ├── csv@0.3.7 │ ├─┬ plist@1.2.0 │ │ ├── base64-js@0.0.8 │ │ ├── util-deprecate@1.0.2 │ │ ├─┬ xmlbuilder@4.0.0 │ │ │ └── lodash@3.10.1 │ │ └── xmldom@0.1.22 │ ├── pretty-data@0.40.0 │ ├─┬ xml2js@0.4.17 │ │ ├── sax@1.2.1 │ │ └── xmlbuilder@4.2.1 │ └─┬ yamljs@0.1.6 │ └─┬ glob@3.1.21 │ ├── inherits@1.0.2 │ └── minimatch@0.2.14 ├─┬ grunt-curl@2.2.0 │ ├── async@0.2.10 │ ├── grunt-retro@0.7.0 │ ├── lodash@2.4.2 │ └─┬ request@2.54.0 │ ├── aws-sign2@0.5.0 │ ├─┬ bl@0.9.5 │ │ └─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ ├── caseless@0.9.0 │ ├─┬ combined-stream@0.0.7 │ │ └── delayed-stream@0.0.5 │ ├── forever-agent@0.6.1 │ ├─┬ form-data@0.2.0 │ │ └── async@0.9.2 │ ├─┬ har-validator@1.8.0 │ │ ├── bluebird@2.11.0 │ │ ├── commander@2.9.0 │ │ └─┬ is-my-json-valid@2.15.0 │ │ ├── generate-function@2.0.0 │ │ ├─┬ generate-object-property@1.2.0 │ │ │ └── is-property@1.0.2 │ │ ├── jsonpointer@4.0.0 │ │ └── xtend@4.0.1 │ ├─┬ hawk@2.3.1 │ │ ├── boom@2.10.1 │ │ ├── cryptiles@2.0.5 │ │ ├── hoek@2.16.3 │ │ └── sntp@1.0.9 │ ├─┬ http-signature@0.10.1 │ │ ├── asn1@0.1.11 │ │ ├── assert-plus@0.1.5 │ │ └── ctype@0.5.3 │ ├── isstream@0.1.2 │ ├── json-stringify-safe@5.0.1 │ ├─┬ mime-types@2.0.14 │ │ └── mime-db@1.12.0 │ ├── node-uuid@1.4.7 │ ├── oauth-sign@0.6.0 │ ├── qs@2.4.2 │ ├── stringstream@0.0.5 │ ├── tough-cookie@2.3.1 │ └── tunnel-agent@0.4.3 ├── grunt-exec@1.0.1 ├── grunt-focus@0.1.1 ├─┬ grunt-gzip@0.1.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 │ │ ├── depd@1.1.0 │ │ ├── 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 │ │ │ └─┬ http-errors@1.5.0 │ │ │ ├── inherits@2.0.1 │ │ │ └── setprototypeof@1.0.1 │ │ ├── serve-static@1.11.1 │ │ ├─┬ type-is@1.6.13 │ │ │ └── media-typer@0.3.0 │ │ └── vary@1.1.0 │ ├─┬ mkdirp@0.5.1 │ │ └── minimist@0.0.8 │ └── pretty-bytes@2.0.1 ├─┬ grunt-html@5.0.1 │ ├── async@1.4.0 │ └─┬ chalk@1.1.0 │ └── supports-color@2.0.0 ├─┬ grunt-jsbeautifier@0.2.13 │ ├── async@2.0.1 │ ├── lodash@4.16.4 │ ├─┬ rc@1.1.6 │ │ ├── deep-extend@0.4.1 │ │ ├── ini@1.3.4 │ │ └── minimist@1.2.0 │ ├── semver@5.3.0 │ └─┬ underscore.string@3.3.4 │ └── sprintf-js@1.0.3 ├─┬ grunt-json-schema-validation@0.0.1 │ └── jsonschema@1.0.3 ├─┬ grunt-jsonlint@1.1.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 │ └── strip-json-comments@2.0.1 ├─┬ grunt-md2html@0.3.1 │ ├── highlight.js@8.9.1 │ └── marked@0.3.6 ├─┬ grunt-minified@0.0.6 │ └─┬ uglify-js@2.2.5 │ ├── optimist@0.3.7 │ └── source-map@0.1.43 ├─┬ grunt-notify@0.4.5 │ ├── stack-parser@0.0.1 │ └─┬ which@1.2.11 │ └── isexe@1.1.2 ├─┬ grunt-parallelize@1.1.7 │ ├── async@1.5.2 │ ├── lodash@4.16.4 │ ├── lpad@2.0.1 │ └── tmp@0.0.28 ├─┬ grunt-postcss@0.7.2 │ ├── diff@2.2.3 │ └── es6-promise@3.3.1 ├─┬ grunt-replace@0.11.0 │ ├─┬ applause@1.1.0 │ │ ├─┬ cson-parser@1.3.4 │ │ │ └── coffee-script@1.11.1 │ │ ├─┬ js-yaml@3.6.1 │ │ │ ├── argparse@1.0.9 │ │ │ └── esprima@2.7.3 │ │ └── lodash@3.10.1 │ └── lodash@3.10.1 ├─┬ grunt-sass@1.2.1 │ ├─┬ each-async@1.1.1 │ │ ├── onetime@1.1.0 │ │ └── set-immediate-shim@1.0.1 │ ├─┬ node-sass@3.10.1 │ │ ├── async-foreach@0.1.3 │ │ ├─┬ cross-spawn@3.0.1 │ │ │ ├─┬ lru-cache@4.0.1 │ │ │ │ └── yallist@2.0.0 │ │ │ └── which@1.2.11 │ │ ├─┬ gaze@1.1.2 │ │ │ └─┬ globule@1.0.0 │ │ │ ├── glob@7.0.6 │ │ │ └── lodash@4.9.0 │ │ ├── in-publish@2.0.0 │ │ ├── lodash.clonedeep@4.5.0 │ │ ├─┬ node-gyp@3.4.0 │ │ │ ├─┬ fstream@1.0.10 │ │ │ │ └── graceful-fs@4.1.9 │ │ │ ├── graceful-fs@4.1.9 │ │ │ ├── nopt@3.0.6 │ │ │ ├── npmlog@3.1.2 │ │ │ ├── osenv@0.1.3 │ │ │ ├─┬ path-array@1.0.1 │ │ │ │ └── array-index@1.0.0 │ │ │ └─┬ tar@2.2.1 │ │ │ └── block-stream@0.0.9 │ │ ├─┬ npmlog@4.0.0 │ │ │ ├─┬ are-we-there-yet@1.1.2 │ │ │ │ └── delegates@1.0.0 │ │ │ ├── console-control-strings@1.1.0 │ │ │ └─┬ gauge@2.6.0 │ │ │ ├── aproba@1.0.4 │ │ │ ├── has-unicode@2.0.1 │ │ │ └── wide-align@1.1.0 │ │ └─┬ sass-graph@2.1.2 │ │ ├── lodash@4.16.4 │ │ └─┬ yargs@4.8.1 │ │ ├── cliui@3.2.0 │ │ └── window-size@0.2.0 │ └── object-assign@4.1.0 ├─┬ grunt-scss-lint@0.3.8 │ ├── lodash@3.10.1 │ ├── which@1.2.11 │ └─┬ xmlbuilder@2.6.5 │ └── lodash@3.10.1 ├─┬ grunt-sftp-deploy@0.2.5 │ ├─┬ grunt@1.0.1 │ │ ├── coffee-script@1.10.0 │ │ ├── dateformat@1.0.12 │ │ ├─┬ findup-sync@0.3.0 │ │ │ └── glob@5.0.15 │ │ ├── glob@7.0.6 │ │ ├─┬ grunt-cli@1.2.0 │ │ │ └── resolve@1.1.7 │ │ ├── grunt-known-options@1.1.0 │ │ ├─┬ grunt-legacy-log@1.0.0 │ │ │ ├── colors@1.1.2 │ │ │ ├─┬ grunt-legacy-log-utils@1.0.0 │ │ │ │ └── lodash@4.3.0 │ │ │ ├── lodash@3.10.1 │ │ │ └── underscore.string@3.2.3 │ │ ├─┬ grunt-legacy-util@1.0.0 │ │ │ ├── lodash@4.3.0 │ │ │ └── which@1.2.11 │ │ ├── iconv-lite@0.4.13 │ │ ├─┬ js-yaml@3.5.5 │ │ │ ├── argparse@1.0.9 │ │ │ └── esprima@2.7.3 │ │ └── nopt@3.0.6 │ ├── progress@1.1.8 │ └─┬ ssh2@0.5.2 │ └─┬ ssh2-streams@0.1.11 │ ├── asn1@0.2.3 │ └── streamsearch@0.1.2 ├─┬ grunt-uncss@0.4.4 │ └─┬ uncss@0.12.1 │ ├── bluebird@2.9.34 │ ├─┬ css@1.6.0 │ │ ├── css-parse@1.7.0 │ │ └─┬ css-stringify@1.4.1 │ │ └── source-map@0.1.43 │ ├─┬ glob@4.4.2 │ │ └── minimatch@2.0.10 │ ├── is-absolute-url@1.0.0 │ ├─┬ is-html@1.0.0 │ │ └── html-tags@1.1.1 │ ├── lodash@3.3.1 │ ├─┬ phridge@1.0.8 │ │ ├── fork-stream@0.0.4 │ │ ├── linerstream@0.1.4 │ │ ├─┬ phantomjs@1.9.20 │ │ │ ├─┬ fs-extra@0.26.7 │ │ │ │ └── graceful-fs@4.1.9 │ │ │ ├─┬ request@2.67.0 │ │ │ │ ├─┬ bl@1.0.3 │ │ │ │ │ └── readable-stream@2.0.6 │ │ │ │ ├─┬ form-data@1.0.1 │ │ │ │ │ └── async@2.0.1 │ │ │ │ ├── qs@5.2.1 │ │ │ │ └── tough-cookie@2.2.2 │ │ │ └── which@1.2.11 │ │ └── when@3.7.7 │ └─┬ request@2.53.0 │ ├── aws-sign2@0.5.0 │ ├─┬ bl@0.9.5 │ │ └─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ ├── caseless@0.9.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 │ ├── 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.3.3 ├─┬ grunt-zip@0.17.1 │ ├── grunt-retro@0.6.4 │ └─┬ jszip@2.5.0 │ └── pako@0.2.9 ├─┬ gulp@3.9.1 │ ├── archy@1.0.0 │ ├── deprecated@0.0.1 │ ├── interpret@1.0.1 │ ├─┬ liftoff@2.3.0 │ │ ├── extend@3.0.0 │ │ ├─┬ findup-sync@0.4.2 │ │ │ ├─┬ detect-file@0.1.0 │ │ │ │ └── fs-exists-sync@0.1.0 │ │ │ └─┬ resolve-dir@0.1.1 │ │ │ └─┬ global-modules@0.2.3 │ │ │ ├─┬ global-prefix@0.1.4 │ │ │ │ └── which@1.2.11 │ │ │ └── is-windows@0.2.0 │ │ ├─┬ fined@1.0.2 │ │ │ ├── expand-tilde@1.2.2 │ │ │ ├── lodash.assignwith@4.2.0 │ │ │ ├── lodash.isempty@4.4.0 │ │ │ ├── lodash.pick@4.4.0 │ │ │ └─┬ parse-filepath@1.0.1 │ │ │ ├─┬ is-absolute@0.2.5 │ │ │ │ ├─┬ is-relative@0.2.1 │ │ │ │ │ └─┬ is-unc-path@0.1.1 │ │ │ │ │ └── unc-path-regex@0.1.2 │ │ │ │ └── is-windows@0.1.1 │ │ │ ├── map-cache@0.2.2 │ │ │ └─┬ path-root@0.1.1 │ │ │ └── path-root-regex@0.1.2 │ │ ├── flagged-respawn@0.3.2 │ │ ├── lodash.isplainobject@4.0.6 │ │ ├── lodash.isstring@4.0.1 │ │ ├── lodash.mapvalues@4.6.0 │ │ ├─┬ rechoir@0.6.2 │ │ │ └── resolve@1.1.7 │ │ └── resolve@1.1.7 │ ├── minimist@1.2.0 │ ├─┬ orchestrator@0.3.7 │ │ ├─┬ end-of-stream@0.1.5 │ │ │ └── once@1.3.3 │ │ ├── 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.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.34 │ │ │ │ └── isarray@0.0.1 │ │ │ └── xtend@4.0.1 │ │ └── unique-stream@1.0.0 │ ├─┬ glob-watcher@0.0.6 │ │ └── gaze@0.5.2 │ ├─┬ graceful-fs@3.0.11 │ │ └── natives@1.1.0 │ ├─┬ strip-bom@1.0.0 │ │ └── first-chunk-stream@1.0.0 │ ├─┬ through2@0.6.5 │ │ ├─┬ readable-stream@1.0.34 │ │ │ └── isarray@0.0.1 │ │ └── xtend@4.0.1 │ └─┬ vinyl@0.4.6 │ └── clone@0.2.0 ├─┬ gulp-debug@2.1.2 │ ├─┬ plur@2.1.2 │ │ └── irregular-plurals@1.2.0 │ ├─┬ stringify-object@2.4.0 │ │ ├── is-plain-obj@1.1.0 │ │ └── is-regexp@1.0.0 │ └─┬ through2@2.0.1 │ ├── readable-stream@2.0.6 │ └── xtend@4.0.1 ├── gulp-flatten@0.2.0 ├─┬ gulp-html5-lint@1.1.0 │ ├─┬ html5-lint@0.2.5 │ │ └── extend@2.0.1 │ ├─┬ ls-lodash@2.2.3 │ │ └── lodash@3.10.1 │ ├── moment@2.15.1 │ ├─┬ sync-request@2.2.0 │ │ ├── http-response-object@1.1.0 │ │ ├─┬ spawn-sync@1.0.15 │ │ │ └── os-shim@0.1.3 │ │ └─┬ then-request@2.2.0 │ │ ├── http-basic@2.5.1 │ │ └── promise@7.1.1 │ └─┬ through2@0.6.5 │ ├─┬ readable-stream@1.0.34 │ │ └── isarray@0.0.1 │ └── xtend@4.0.1 ├─┬ gulp-json-editor@2.2.1 │ ├── deepmerge@0.2.10 │ ├─┬ detect-indent@2.0.0 │ │ ├── get-stdin@3.0.2 │ │ ├── minimist@1.2.0 │ │ └── repeating@1.1.3 │ ├─┬ js-beautify@1.5.10 │ │ └── nopt@3.0.6 │ └─┬ through2@0.5.1 │ └─┬ readable-stream@1.0.34 │ └── isarray@0.0.1 ├── gulp-plumber@1.1.0 ├─┬ gulp-sourcemaps@1.6.0 │ ├── convert-source-map@1.3.0 │ ├── graceful-fs@4.1.9 │ ├─┬ strip-bom@2.0.0 │ │ └── is-utf8@0.2.1 │ └─┬ vinyl@1.2.0 │ └── clone-stats@0.0.1 ├─┬ gulp-tslint@6.1.2 │ ├── map-stream@0.1.0 │ └── through@2.3.8 ├─┬ gulp-typescript@2.14.1 │ ├── typescript@1.8.10 │ └─┬ vinyl-fs@2.4.3 │ ├─┬ duplexify@3.4.5 │ │ └── stream-shift@1.0.0 │ ├─┬ glob-stream@5.3.5 │ │ ├── glob@5.0.15 │ │ ├─┬ glob-parent@3.0.0 │ │ │ └─┬ is-glob@3.0.0 │ │ │ └── is-extglob@2.0.0 │ │ ├── ordered-read-streams@0.3.0 │ │ ├─┬ through2@0.6.5 │ │ │ ├─┬ readable-stream@1.0.34 │ │ │ │ └── isarray@0.0.1 │ │ │ └── xtend@4.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.9 │ ├── is-valid-glob@0.3.0 │ ├── lazystream@1.0.0 │ ├── lodash.isequal@4.4.0 │ ├── merge-stream@1.0.0 │ ├── strip-bom-stream@1.0.0 │ ├─┬ through2-filter@2.0.0 │ │ └── xtend@4.0.1 │ ├── vali-date@1.0.0 │ └── vinyl@1.2.0 ├─┬ gulp-util@3.0.7 │ ├── array-differ@1.0.0 │ ├── array-uniq@1.0.3 │ ├── beeper@1.1.0 │ ├── dateformat@1.0.12 │ ├─┬ fancy-log@1.2.0 │ │ └── time-stamp@1.0.1 │ ├─┬ 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.1 │ │ ├─┬ lodash.keys@3.1.2 │ │ │ ├── lodash._getnative@3.9.1 │ │ │ ├── lodash.isarguments@3.1.0 │ │ │ └── lodash.isarray@3.0.4 │ │ ├── lodash.restparam@3.6.1 │ │ └── lodash.templatesettings@3.1.1 │ ├── minimist@1.2.0 │ ├── multipipe@0.1.2 │ ├── object-assign@3.0.0 │ ├── replace-ext@0.0.1 │ └── vinyl@0.5.3 ├── hammerjs@2.0.8 ├─┬ html-minifier@1.5.0 │ ├─┬ change-case@2.3.1 │ │ ├── camel-case@1.2.2 │ │ ├── constant-case@1.1.2 │ │ ├── dot-case@1.1.2 │ │ ├── is-lower-case@1.1.3 │ │ ├── is-upper-case@1.1.2 │ │ ├── lower-case-first@1.0.2 │ │ ├── param-case@1.1.2 │ │ ├── pascal-case@1.1.2 │ │ ├── path-case@1.1.2 │ │ ├── sentence-case@1.1.3 │ │ ├── snake-case@1.1.2 │ │ ├── swap-case@1.1.2 │ │ ├── title-case@1.1.2 │ │ ├── upper-case@1.1.3 │ │ └── upper-case-first@1.1.2 │ ├── commander@2.9.0 │ ├─┬ concat-stream@1.5.2 │ │ ├── readable-stream@2.0.6 │ │ └── typedarray@0.0.6 │ ├── he@1.0.0 │ ├─┬ ncname@1.0.0 │ │ └── xml-char-classes@1.0.0 │ ├── relateurl@0.2.7 │ └─┬ uglify-js@2.6.4 │ ├── async@0.2.10 │ └─┬ yargs@3.10.0 │ └── camelcase@1.2.1 ├── jit-grunt@0.9.1 ├─┬ js-beautify@1.6.4 │ ├─┬ config-chain@1.1.11 │ │ └── proto-list@1.2.4 │ ├─┬ editorconfig@0.13.2 │ │ ├── commander@2.9.0 │ │ └─┬ lru-cache@3.2.0 │ │ └── pseudomap@1.0.2 │ └── nopt@3.0.6 ├── lodash@4.16.4 ├── extraneous error: ENOENT: no such file or directory, open 'c:\UniversalStore\SSD.Framework.OneUI\node_modules\node-sass\package.json ├── normalize.css@3.0.3 ├─┬ pa11y@3.8.1 │ ├── async@1.4.2 │ ├─┬ bfj@1.2.2 │ │ └── check-types@3.2.0 │ ├── UNMET DEPENDENCY commander@~2.8 │ ├── lower-case@1.1.3 │ ├─┬ node.extend@1.1.6 │ │ └── is@3.1.0 │ ├── once@1.3.3 │ └─┬ truffler@2.2.1 │ ├── async@1.4.2 │ ├── freeport@1.0.5 │ ├─┬ hasbin@1.1.3 │ │ └── async@1.5.2 │ └── node-phantom-simple@2.2.4 ├─┬ parallel-webpack@1.5.0 │ ├── bluebird@3.4.6 │ ├── lodash.assign@4.2.0 │ ├── lodash.endswith@4.2.1 │ ├── lodash.flatten@4.4.0 │ ├── minimist@1.2.0 │ ├── pluralize@1.2.1 │ └─┬ supports-color@3.1.2 │ └── has-flag@1.0.0 ├─┬ phantomjs-prebuilt@2.1.13 │ ├── es6-promise@4.0.5 │ ├─┬ extract-zip@1.5.0 │ │ ├─┬ concat-stream@1.5.0 │ │ │ └── readable-stream@2.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.9 │ │ └── klaw@1.3.0 │ ├─┬ hasha@2.2.0 │ │ ├── is-stream@1.1.0 │ │ └─┬ pinkie-promise@2.0.1 │ │ └── pinkie@2.0.4 │ ├── kew@0.7.0 │ ├─┬ request@2.74.0 │ │ ├── aws-sign2@0.6.0 │ │ ├── aws4@1.4.1 │ │ ├─┬ bl@1.1.2 │ │ │ └── readable-stream@2.0.6 │ │ ├── caseless@0.11.0 │ │ ├─┬ combined-stream@1.0.5 │ │ │ └── delayed-stream@1.0.0 │ │ ├─┬ form-data@1.0.1 │ │ │ └── async@2.0.1 │ │ ├─┬ har-validator@2.0.6 │ │ │ └── commander@2.9.0 │ │ ├── hawk@3.1.3 │ │ ├─┬ http-signature@1.1.1 │ │ │ ├── assert-plus@0.2.0 │ │ │ ├─┬ jsprim@1.3.1 │ │ │ │ ├── extsprintf@1.0.2 │ │ │ │ ├── json-schema@0.2.3 │ │ │ │ └── verror@1.3.6 │ │ │ └─┬ sshpk@1.10.1 │ │ │ ├── assert-plus@1.0.0 │ │ │ ├── bcrypt-pbkdf@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.14.3 │ │ ├── is-typedarray@1.0.0 │ │ ├── oauth-sign@0.8.2 │ │ └── qs@6.2.1 │ ├─┬ request-progress@2.0.1 │ │ └── throttleit@1.0.0 │ └── which@1.2.11 ├── picturefill@3.0.2 ├─┬ time-grunt@1.4.0 │ ├─┬ date-time@1.1.0 │ │ └── time-zone@0.1.0 │ ├── figures@1.7.0 │ ├── number-is-nan@1.0.1 │ ├─┬ pretty-ms@2.1.0 │ │ ├── is-finite@1.0.2 │ │ ├── parse-ms@1.0.1 │ │ └── plur@1.0.0 │ └── text-table@0.2.0 ├─┬ ts-loader@0.8.2 │ ├── colors@1.1.2 │ ├─┬ enhanced-resolve@0.9.1 │ │ ├── graceful-fs@4.1.9 │ │ └── memory-fs@0.2.0 │ ├─┬ loader-utils@0.2.16 │ │ ├── big.js@3.1.3 │ │ ├── emojis-list@2.1.0 │ │ └── json5@0.5.0 │ └── object-assign@2.1.1 ├─┬ tslint@3.15.1 │ ├── colors@1.1.2 │ ├─┬ findup-sync@0.3.0 │ │ └── glob@5.0.15 │ ├─┬ optimist@0.6.1 │ │ ├── minimist@0.0.10 │ │ └── wordwrap@0.0.3 │ ├── resolve@1.1.7 │ └── underscore.string@3.3.4 ├── typescript@2.0.0 ├─┬ webpack@1.13.2 │ ├── acorn@3.3.0 │ ├── clone@1.0.2 │ ├── interpret@0.6.6 │ ├── memory-fs@0.3.0 │ ├─┬ node-libs-browser@0.6.0 │ │ ├── constants-browserify@0.0.1 │ │ ├─┬ crypto-browserify@3.2.8 │ │ │ ├── pbkdf2-compat@2.0.1 │ │ │ ├── ripemd160@0.2.0 │ │ │ └── sha.js@2.2.6 │ │ ├─┬ http-browserify@1.7.0 │ │ │ └── Base64@0.2.1 │ │ ├── https-browserify@0.0.0 │ │ ├─┬ readable-stream@1.1.14 │ │ │ └── isarray@0.0.1 │ │ ├── stream-browserify@1.0.0 │ │ └─┬ url@0.10.3 │ │ └── punycode@1.3.2 │ ├── tapable@0.1.10 │ ├─┬ uglify-js@2.6.4 │ │ ├── async@0.2.10 │ │ └─┬ yargs@3.10.0 │ │ └── camelcase@1.2.1 │ ├─┬ watchpack@0.2.9 │ │ ├── async@0.9.2 │ │ └── graceful-fs@4.1.9 │ └─┬ webpack-core@0.6.8 │ ├── source-list-map@0.1.6 │ └── source-map@0.4.4 └─┬ yargs@4.8.1 ├─┬ cliui@3.2.0 │ └── wrap-ansi@2.0.0 ├── decamelize@1.2.0 ├── get-caller-file@1.0.2 ├─┬ os-locale@1.4.0 │ └─┬ lcid@1.0.0 │ └── invert-kv@1.0.0 ├─┬ read-pkg-up@1.0.1 │ ├─┬ find-up@1.1.2 │ │ └── path-exists@2.1.0 │ └─┬ read-pkg@1.1.0 │ ├─┬ load-json-file@1.1.0 │ │ ├── graceful-fs@4.1.9 │ │ ├─┬ parse-json@2.2.0 │ │ │ └─┬ error-ex@1.3.0 │ │ │ └── is-arrayish@0.2.1 │ │ └── pify@2.3.0 │ └─┬ path-type@1.1.0 │ └── graceful-fs@4.1.9 ├── require-directory@2.1.1 ├── require-main-filename@1.0.1 ├── set-blocking@2.0.0 ├─┬ string-width@1.0.2 │ ├── code-point-at@1.0.1 │ └── is-fullwidth-code-point@1.0.0 ├── which-module@1.0.0 ├── window-size@0.2.0 ├── y18n@3.2.1 └─┬ yargs-parser@2.4.1 └── camelcase@3.0.0

sipayRT commented 8 years ago

it's looks like your deps broke depl for gemini. Gemini needs uglify-js@2.7.3 for correct working, but as you use npm@3 your deps has own deps for this module and as a result after instalation you got wrong uglify-js version in your node_modules. Can you check this case? You need check actual version of the installed uglify-js in your top-level node_modules

bruk1977 commented 8 years ago

Cleaning up the dependency chain fixes the issue... thanks @sipayRT