aboutsummaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/node-gyp/node_modules
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/node-gyp/node_modules')
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/README.md369
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/common.js237
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/glob.js740
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/README.md216
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/browser.js1159
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/minimatch.js912
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml3
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile5
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js4
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json98
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js84
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json63
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/package.json72
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/sync.js457
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/.npmignore1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/.travis.yml4
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/LICENSE32
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/README.md13
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/minimatch.js736
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/README.md (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md)2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/index.js (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js)11
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore)2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md)8
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js)10
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json111
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json)61
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js)0
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/package.json (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json)67
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.npmignore1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.travis.yml8
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/LICENSE15
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/README.md137
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js334
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/package.json84
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/basic.js396
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/foreach.js120
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js51
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/serialize.js215
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/LICENSE15
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/README.md53
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/bench.js283
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/package.json85
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/sigmund.js39
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js23
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json76
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/test/basic.js399
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js38
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/test/caching.js14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/test/defaults.js274
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/minimatch/test/extglob-ending-with-state-char.js8
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/CHANGELOG.md36
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/README.md17
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/log.js147
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/.npmignore1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/History.md23
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/LICENSE24
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/README.md98
-rwxr-xr-xdeps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/beep/index.js16
-rwxr-xr-xdeps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/clear/index.js15
-rwxr-xr-xdeps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/cursorPosition.js32
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/progress/index.js87
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/ansi.js405
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/newlines.js71
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/package.json104
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/README.md2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json34
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/package.json30
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/LICENSE (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/LICENSE)8
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/README.md145
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/index.js125
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/package.json108
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/.npmignore32
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/CHANGELOG.md131
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/README.md405
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/base-theme.js14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/error.js24
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/example.pngbin19689 -> 0 bytes
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/has-color.js12
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/index.js226
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/index.js32
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/package.json117
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/readme.md30
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/index.js434
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/LICENSE22
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/index.js40
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/package.json104
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/index.js153
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/package.json108
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/index.js178
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/package.json112
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json116
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/index.js428
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/LICENSE22
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/index.js40
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/package.json115
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/index.js153
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/package.json119
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js178
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json123
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/package.json116
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/index.js428
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/LICENSE22
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/index.js40
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/package.json115
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/index.js153
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/package.json119
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md18
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js178
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json123
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/package.json116
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/index.js83
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/license21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/package.json126
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/readme.md56
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/CHANGELOG.md17
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/LICENSE.txt14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/README.md40
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js148
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/package.json118
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/signals.js52
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js37
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/license21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js33
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/license21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/index.js4
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/license21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json113
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/readme.md30
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/package.json116
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/readme.md34
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js46
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/license21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js4
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json113
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md30
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json120
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md39
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/package.json136
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/readme.md42
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/.npmignore5
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/LICENSE (renamed from deps/npm/node_modules/node-gyp/node_modules/glob/LICENSE)9
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/README.md47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js65
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/package.json105
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/test/align.js37
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/package.json118
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/plumbing.js47
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/process.js3
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/progress-bar.js248
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/render-template.js181
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-immediate.js7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-interval.js3
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/spin.js5
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/template-item.js73
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/test/progress-bar.js176
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/theme-set.js115
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/themes.js54
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/wide-truncate.js25
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/CHANGELOG.md26
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/LICENSE.txt14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/README.md31
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/index.js7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/package.json118
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/npmlog/package.json83
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json25
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json45
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/.travis.yml1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/CHANGES6
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-implemented.js13
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-native-implemented.js2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-symbol.js6
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/d/package.json33
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/.travis.yml1
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/CHANGES5
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/README.md130
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/flatten.js9
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/date/valid-date.js2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/README.md4
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/package.json29
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/object/mixin.js14
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/package.json69
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/camel-to-hyphen.js2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/hyphen-to-camel.js2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/package.json57
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/polyfill.js21
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/test/polyfill.js6
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json29
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/path-array/package.json27
218 files changed, 5167 insertions, 13863 deletions
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/README.md b/deps/npm/node_modules/node-gyp/node_modules/glob/README.md
deleted file mode 100644
index 258257ecb1..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/README.md
+++ /dev/null
@@ -1,369 +0,0 @@
-[![Build Status](https://travis-ci.org/isaacs/node-glob.svg?branch=master)](https://travis-ci.org/isaacs/node-glob/) [![Dependency Status](https://david-dm.org/isaacs/node-glob.svg)](https://david-dm.org/isaacs/node-glob) [![devDependency Status](https://david-dm.org/isaacs/node-glob/dev-status.svg)](https://david-dm.org/isaacs/node-glob#info=devDependencies) [![optionalDependency Status](https://david-dm.org/isaacs/node-glob/optional-status.svg)](https://david-dm.org/isaacs/node-glob#info=optionalDependencies)
-
-# Glob
-
-Match files using the patterns the shell uses, like stars and stuff.
-
-This is a glob implementation in JavaScript. It uses the `minimatch`
-library to do its matching.
-
-![](oh-my-glob.gif)
-
-## Usage
-
-```javascript
-var glob = require("glob")
-
-// options is optional
-glob("**/*.js", options, function (er, files) {
- // files is an array of filenames.
- // If the `nonull` option is set, and nothing
- // was found, then files is ["**/*.js"]
- // er is an error object or null.
-})
-```
-
-## Glob Primer
-
-"Globs" are the patterns you type when you do stuff like `ls *.js` on
-the command line, or put `build/*` in a `.gitignore` file.
-
-Before parsing the path part patterns, braced sections are expanded
-into a set. Braced sections start with `{` and end with `}`, with any
-number of comma-delimited sections within. Braced sections may contain
-slash characters, so `a{/b/c,bcd}` would expand into `a/b/c` and `abcd`.
-
-The following characters have special magic meaning when used in a
-path portion:
-
-* `*` Matches 0 or more characters in a single path portion
-* `?` Matches 1 character
-* `[...]` Matches a range of characters, similar to a RegExp range.
- If the first character of the range is `!` or `^` then it matches
- any character not in the range.
-* `!(pattern|pattern|pattern)` Matches anything that does not match
- any of the patterns provided.
-* `?(pattern|pattern|pattern)` Matches zero or one occurrence of the
- patterns provided.
-* `+(pattern|pattern|pattern)` Matches one or more occurrences of the
- patterns provided.
-* `*(a|b|c)` Matches zero or more occurrences of the patterns provided
-* `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns
- provided
-* `**` If a "globstar" is alone in a path portion, then it matches
- zero or more directories and subdirectories searching for matches.
- It does not crawl symlinked directories.
-
-### Dots
-
-If a file or directory path portion has a `.` as the first character,
-then it will not match any glob pattern unless that pattern's
-corresponding path part also has a `.` as its first character.
-
-For example, the pattern `a/.*/c` would match the file at `a/.b/c`.
-However the pattern `a/*/c` would not, because `*` does not start with
-a dot character.
-
-You can make glob treat dots as normal characters by setting
-`dot:true` in the options.
-
-### Basename Matching
-
-If you set `matchBase:true` in the options, and the pattern has no
-slashes in it, then it will seek for any file anywhere in the tree
-with a matching basename. For example, `*.js` would match
-`test/simple/basic.js`.
-
-### Negation
-
-The intent for negation would be for a pattern starting with `!` to
-match everything that *doesn't* match the supplied pattern. However,
-the implementation is weird, and for the time being, this should be
-avoided. The behavior will change or be deprecated in version 5.
-
-### Empty Sets
-
-If no matching files are found, then an empty array is returned. This
-differs from the shell, where the pattern itself is returned. For
-example:
-
- $ echo a*s*d*f
- a*s*d*f
-
-To get the bash-style behavior, set the `nonull:true` in the options.
-
-### See Also:
-
-* `man sh`
-* `man bash` (Search for "Pattern Matching")
-* `man 3 fnmatch`
-* `man 5 gitignore`
-* [minimatch documentation](https://github.com/isaacs/minimatch)
-
-## glob.hasMagic(pattern, [options])
-
-Returns `true` if there are any special characters in the pattern, and
-`false` otherwise.
-
-Note that the options affect the results. If `noext:true` is set in
-the options object, then `+(a|b)` will not be considered a magic
-pattern. If the pattern has a brace expansion, like `a/{b/c,x/y}`
-then that is considered magical, unless `nobrace:true` is set in the
-options.
-
-## glob(pattern, [options], cb)
-
-* `pattern` {String} Pattern to be matched
-* `options` {Object}
-* `cb` {Function}
- * `err` {Error | null}
- * `matches` {Array<String>} filenames found matching the pattern
-
-Perform an asynchronous glob search.
-
-## glob.sync(pattern, [options])
-
-* `pattern` {String} Pattern to be matched
-* `options` {Object}
-* return: {Array<String>} filenames found matching the pattern
-
-Perform a synchronous glob search.
-
-## Class: glob.Glob
-
-Create a Glob object by instantiating the `glob.Glob` class.
-
-```javascript
-var Glob = require("glob").Glob
-var mg = new Glob(pattern, options, cb)
-```
-
-It's an EventEmitter, and starts walking the filesystem to find matches
-immediately.
-
-### new glob.Glob(pattern, [options], [cb])
-
-* `pattern` {String} pattern to search for
-* `options` {Object}
-* `cb` {Function} Called when an error occurs, or matches are found
- * `err` {Error | null}
- * `matches` {Array<String>} filenames found matching the pattern
-
-Note that if the `sync` flag is set in the options, then matches will
-be immediately available on the `g.found` member.
-
-### Properties
-
-* `minimatch` The minimatch object that the glob uses.
-* `options` The options object passed in.
-* `aborted` Boolean which is set to true when calling `abort()`. There
- is no way at this time to continue a glob search after aborting, but
- you can re-use the statCache to avoid having to duplicate syscalls.
-* `statCache` Collection of all the stat results the glob search
- performed.
-* `cache` Convenience object. Each field has the following possible
- values:
- * `false` - Path does not exist
- * `true` - Path exists
- * `'DIR'` - Path exists, and is not a directory
- * `'FILE'` - Path exists, and is a directory
- * `[file, entries, ...]` - Path exists, is a directory, and the
- array value is the results of `fs.readdir`
-* `statCache` Cache of `fs.stat` results, to prevent statting the same
- path multiple times.
-* `symlinks` A record of which paths are symbolic links, which is
- relevant in resolving `**` patterns.
-* `realpathCache` An optional object which is passed to `fs.realpath`
- to minimize unnecessary syscalls. It is stored on the instantiated
- Glob object, and may be re-used.
-
-### Events
-
-* `end` When the matching is finished, this is emitted with all the
- matches found. If the `nonull` option is set, and no match was found,
- then the `matches` list contains the original pattern. The matches
- are sorted, unless the `nosort` flag is set.
-* `match` Every time a match is found, this is emitted with the matched.
-* `error` Emitted when an unexpected error is encountered, or whenever
- any fs error occurs if `options.strict` is set.
-* `abort` When `abort()` is called, this event is raised.
-
-### Methods
-
-* `pause` Temporarily stop the search
-* `resume` Resume the search
-* `abort` Stop the search forever
-
-### Options
-
-All the options that can be passed to Minimatch can also be passed to
-Glob to change pattern matching behavior. Also, some have been added,
-or have glob-specific ramifications.
-
-All options are false by default, unless otherwise noted.
-
-All options are added to the Glob object, as well.
-
-If you are running many `glob` operations, you can pass a Glob object
-as the `options` argument to a subsequent operation to shortcut some
-`stat` and `readdir` calls. At the very least, you may pass in shared
-`symlinks`, `statCache`, `realpathCache`, and `cache` options, so that
-parallel glob operations will be sped up by sharing information about
-the filesystem.
-
-* `cwd` The current working directory in which to search. Defaults
- to `process.cwd()`.
-* `root` The place where patterns starting with `/` will be mounted
- onto. Defaults to `path.resolve(options.cwd, "/")` (`/` on Unix
- systems, and `C:\` or some such on Windows.)
-* `dot` Include `.dot` files in normal matches and `globstar` matches.
- Note that an explicit dot in a portion of the pattern will always
- match dot files.
-* `nomount` By default, a pattern starting with a forward-slash will be
- "mounted" onto the root setting, so that a valid filesystem path is
- returned. Set this flag to disable that behavior.
-* `mark` Add a `/` character to directory matches. Note that this
- requires additional stat calls.
-* `nosort` Don't sort the results.
-* `stat` Set to true to stat *all* results. This reduces performance
- somewhat, and is completely unnecessary, unless `readdir` is presumed
- to be an untrustworthy indicator of file existence.
-* `silent` When an unusual error is encountered when attempting to
- read a directory, a warning will be printed to stderr. Set the
- `silent` option to true to suppress these warnings.
-* `strict` When an unusual error is encountered when attempting to
- read a directory, the process will just continue on in search of
- other matches. Set the `strict` option to raise an error in these
- cases.
-* `cache` See `cache` property above. Pass in a previously generated
- cache object to save some fs calls.
-* `statCache` A cache of results of filesystem information, to prevent
- unnecessary stat calls. While it should not normally be necessary
- to set this, you may pass the statCache from one glob() call to the
- options object of another, if you know that the filesystem will not
- change between calls. (See "Race Conditions" below.)
-* `symlinks` A cache of known symbolic links. You may pass in a
- previously generated `symlinks` object to save `lstat` calls when
- resolving `**` matches.
-* `sync` DEPRECATED: use `glob.sync(pattern, opts)` instead.
-* `nounique` In some cases, brace-expanded patterns can result in the
- same file showing up multiple times in the result set. By default,
- this implementation prevents duplicates in the result set. Set this
- flag to disable that behavior.
-* `nonull` Set to never return an empty set, instead returning a set
- containing the pattern itself. This is the default in glob(3).
-* `debug` Set to enable debug logging in minimatch and glob.
-* `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets.
-* `noglobstar` Do not match `**` against multiple filenames. (Ie,
- treat it as a normal `*` instead.)
-* `noext` Do not match `+(a|b)` "extglob" patterns.
-* `nocase` Perform a case-insensitive match. Note: on
- case-insensitive filesystems, non-magic patterns will match by
- default, since `stat` and `readdir` will not raise errors.
-* `matchBase` Perform a basename-only match if the pattern does not
- contain any slash characters. That is, `*.js` would be treated as
- equivalent to `**/*.js`, matching all js files in all directories.
-* `nonegate` Suppress `negate` behavior. (See below.)
-* `nocomment` Suppress `comment` behavior. (See below.)
-* `nonull` Return the pattern when no matches are found.
-* `nodir` Do not match directories, only files. (Note: to match
- *only* directories, simply put a `/` at the end of the pattern.)
-* `ignore` Add a pattern or an array of patterns to exclude matches.
-* `follow` Follow symlinked directories when expanding `**` patterns.
- Note that this can result in a lot of duplicate references in the
- presence of cyclic links.
-* `realpath` Set to true to call `fs.realpath` on all of the results.
- In the case of a symlink that cannot be resolved, the full absolute
- path to the matched entry is returned (though it will usually be a
- broken symlink)
-
-## Comparisons to other fnmatch/glob implementations
-
-While strict compliance with the existing standards is a worthwhile
-goal, some discrepancies exist between node-glob and other
-implementations, and are intentional.
-
-If the pattern starts with a `!` character, then it is negated. Set the
-`nonegate` flag to suppress this behavior, and treat leading `!`
-characters normally. This is perhaps relevant if you wish to start the
-pattern with a negative extglob pattern like `!(a|B)`. Multiple `!`
-characters at the start of a pattern will negate the pattern multiple
-times.
-
-If a pattern starts with `#`, then it is treated as a comment, and
-will not match anything. Use `\#` to match a literal `#` at the
-start of a line, or set the `nocomment` flag to suppress this behavior.
-
-The double-star character `**` is supported by default, unless the
-`noglobstar` flag is set. This is supported in the manner of bsdglob
-and bash 4.3, where `**` only has special significance if it is the only
-thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but
-`a/**b` will not.
-
-Note that symlinked directories are not crawled as part of a `**`,
-though their contents may match against subsequent portions of the
-pattern. This prevents infinite loops and duplicates and the like.
-
-If an escaped pattern has no matches, and the `nonull` flag is set,
-then glob returns the pattern as-provided, rather than
-interpreting the character escapes. For example,
-`glob.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
-`"*a?"`. This is akin to setting the `nullglob` option in bash, except
-that it does not resolve escaped pattern characters.
-
-If brace expansion is not disabled, then it is performed before any
-other interpretation of the glob pattern. Thus, a pattern like
-`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
-**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
-checked for validity. Since those two are valid, matching proceeds.
-
-## Windows
-
-**Please only use forward-slashes in glob expressions.**
-
-Though windows uses either `/` or `\` as its path separator, only `/`
-characters are used by this glob implementation. You must use
-forward-slashes **only** in glob expressions. Back-slashes will always
-be interpreted as escape characters, not path separators.
-
-Results from absolute patterns such as `/foo/*` are mounted onto the
-root setting using `path.join`. On windows, this will by default result
-in `/foo/*` matching `C:\foo\bar.txt`.
-
-## Race Conditions
-
-Glob searching, by its very nature, is susceptible to race conditions,
-since it relies on directory walking and such.
-
-As a result, it is possible that a file that exists when glob looks for
-it may have been deleted or modified by the time it returns the result.
-
-As part of its internal implementation, this program caches all stat
-and readdir calls that it makes, in order to cut down on system
-overhead. However, this also makes it even more susceptible to races,
-especially if the cache or statCache objects are reused between glob
-calls.
-
-Users are thus advised not to use a glob result as a guarantee of
-filesystem state in the face of rapid changes. For the vast majority
-of operations, this is never a problem.
-
-## Contributing
-
-Any change to behavior (including bugfixes) must come with a test.
-
-Patches that fail tests or reduce performance will be rejected.
-
-```
-# to run tests
-npm test
-
-# to re-generate test fixtures
-npm run test-regen
-
-# to benchmark against bash/zsh
-npm run bench
-
-# to profile javascript
-npm run prof
-```
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/common.js b/deps/npm/node_modules/node-gyp/node_modules/glob/common.js
deleted file mode 100644
index cd7c824481..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/common.js
+++ /dev/null
@@ -1,237 +0,0 @@
-exports.alphasort = alphasort
-exports.alphasorti = alphasorti
-exports.isAbsolute = process.platform === "win32" ? absWin : absUnix
-exports.setopts = setopts
-exports.ownProp = ownProp
-exports.makeAbs = makeAbs
-exports.finish = finish
-exports.mark = mark
-exports.isIgnored = isIgnored
-exports.childrenIgnored = childrenIgnored
-
-function ownProp (obj, field) {
- return Object.prototype.hasOwnProperty.call(obj, field)
-}
-
-var path = require("path")
-var minimatch = require("minimatch")
-var Minimatch = minimatch.Minimatch
-
-function absWin (p) {
- if (absUnix(p)) return true
- // pull off the device/UNC bit from a windows path.
- // from node's lib/path.js
- var splitDeviceRe =
- /^([a-zA-Z]:|[\\\/]{2}[^\\\/]+[\\\/]+[^\\\/]+)?([\\\/])?([\s\S]*?)$/
- var result = splitDeviceRe.exec(p)
- var device = result[1] || ''
- var isUnc = device && device.charAt(1) !== ':'
- var isAbsolute = !!result[2] || isUnc // UNC paths are always absolute
-
- return isAbsolute
-}
-
-function absUnix (p) {
- return p.charAt(0) === "/" || p === ""
-}
-
-function alphasorti (a, b) {
- return a.toLowerCase().localeCompare(b.toLowerCase())
-}
-
-function alphasort (a, b) {
- return a.localeCompare(b)
-}
-
-function setupIgnores (self, options) {
- self.ignore = options.ignore || []
-
- if (!Array.isArray(self.ignore))
- self.ignore = [self.ignore]
-
- if (self.ignore.length) {
- self.ignore = self.ignore.map(ignoreMap)
- }
-}
-
-function ignoreMap (pattern) {
- var gmatcher = null
- if (pattern.slice(-3) === '/**') {
- var gpattern = pattern.replace(/(\/\*\*)+$/, '')
- gmatcher = new Minimatch(gpattern, { nonegate: true })
- }
-
- return {
- matcher: new Minimatch(pattern, { nonegate: true }),
- gmatcher: gmatcher
- }
-}
-
-function setopts (self, pattern, options) {
- if (!options)
- options = {}
-
- // base-matching: just use globstar for that.
- if (options.matchBase && -1 === pattern.indexOf("/")) {
- if (options.noglobstar) {
- throw new Error("base matching requires globstar")
- }
- pattern = "**/" + pattern
- }
-
- self.pattern = pattern
- self.strict = options.strict !== false
- self.realpath = !!options.realpath
- self.realpathCache = options.realpathCache || Object.create(null)
- self.follow = !!options.follow
- self.dot = !!options.dot
- self.mark = !!options.mark
- self.nodir = !!options.nodir
- if (self.nodir)
- self.mark = true
- self.sync = !!options.sync
- self.nounique = !!options.nounique
- self.nonull = !!options.nonull
- self.nosort = !!options.nosort
- self.nocase = !!options.nocase
- self.stat = !!options.stat
- self.noprocess = !!options.noprocess
-
- self.maxLength = options.maxLength || Infinity
- self.cache = options.cache || Object.create(null)
- self.statCache = options.statCache || Object.create(null)
- self.symlinks = options.symlinks || Object.create(null)
-
- setupIgnores(self, options)
-
- self.changedCwd = false
- var cwd = process.cwd()
- if (!ownProp(options, "cwd"))
- self.cwd = cwd
- else {
- self.cwd = options.cwd
- self.changedCwd = path.resolve(options.cwd) !== cwd
- }
-
- self.root = options.root || path.resolve(self.cwd, "/")
- self.root = path.resolve(self.root)
- if (process.platform === "win32")
- self.root = self.root.replace(/\\/g, "/")
-
- self.nomount = !!options.nomount
-
- self.minimatch = new Minimatch(pattern, options)
- self.options = self.minimatch.options
-}
-
-function finish (self) {
- var nou = self.nounique
- var all = nou ? [] : Object.create(null)
-
- for (var i = 0, l = self.matches.length; i < l; i ++) {
- var matches = self.matches[i]
- if (!matches || Object.keys(matches).length === 0) {
- if (self.nonull) {
- // do like the shell, and spit out the literal glob
- var literal = self.minimatch.globSet[i]
- if (nou)
- all.push(literal)
- else
- all[literal] = true
- }
- } else {
- // had matches
- var m = Object.keys(matches)
- if (nou)
- all.push.apply(all, m)
- else
- m.forEach(function (m) {
- all[m] = true
- })
- }
- }
-
- if (!nou)
- all = Object.keys(all)
-
- if (!self.nosort)
- all = all.sort(self.nocase ? alphasorti : alphasort)
-
- // at *some* point we statted all of these
- if (self.mark) {
- for (var i = 0; i < all.length; i++) {
- all[i] = self._mark(all[i])
- }
- if (self.nodir) {
- all = all.filter(function (e) {
- return !(/\/$/.test(e))
- })
- }
- }
-
- if (self.ignore.length)
- all = all.filter(function(m) {
- return !isIgnored(self, m)
- })
-
- self.found = all
-}
-
-function mark (self, p) {
- var abs = makeAbs(self, p)
- var c = self.cache[abs]
- var m = p
- if (c) {
- var isDir = c === 'DIR' || Array.isArray(c)
- var slash = p.slice(-1) === '/'
-
- if (isDir && !slash)
- m += '/'
- else if (!isDir && slash)
- m = m.slice(0, -1)
-
- if (m !== p) {
- var mabs = makeAbs(self, m)
- self.statCache[mabs] = self.statCache[abs]
- self.cache[mabs] = self.cache[abs]
- }
- }
-
- return m
-}
-
-// lotta situps...
-function makeAbs (self, f) {
- var abs = f
- if (f.charAt(0) === '/') {
- abs = path.join(self.root, f)
- } else if (exports.isAbsolute(f)) {
- abs = f
- } else if (self.changedCwd) {
- abs = path.resolve(self.cwd, f)
- } else if (self.realpath) {
- abs = path.resolve(f)
- }
- return abs
-}
-
-
-// Return true, if pattern ends with globstar '**', for the accompanying parent directory.
-// Ex:- If node_modules/** is the pattern, add 'node_modules' to ignore list along with it's contents
-function isIgnored (self, path) {
- if (!self.ignore.length)
- return false
-
- return self.ignore.some(function(item) {
- return item.matcher.match(path) || !!(item.gmatcher && item.gmatcher.match(path))
- })
-}
-
-function childrenIgnored (self, path) {
- if (!self.ignore.length)
- return false
-
- return self.ignore.some(function(item) {
- return !!(item.gmatcher && item.gmatcher.match(path))
- })
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/glob.js b/deps/npm/node_modules/node-gyp/node_modules/glob/glob.js
deleted file mode 100644
index eac0693cc6..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/glob.js
+++ /dev/null
@@ -1,740 +0,0 @@
-// Approach:
-//
-// 1. Get the minimatch set
-// 2. For each pattern in the set, PROCESS(pattern, false)
-// 3. Store matches per-set, then uniq them
-//
-// PROCESS(pattern, inGlobStar)
-// Get the first [n] items from pattern that are all strings
-// Join these together. This is PREFIX.
-// If there is no more remaining, then stat(PREFIX) and
-// add to matches if it succeeds. END.
-//
-// If inGlobStar and PREFIX is symlink and points to dir
-// set ENTRIES = []
-// else readdir(PREFIX) as ENTRIES
-// If fail, END
-//
-// with ENTRIES
-// If pattern[n] is GLOBSTAR
-// // handle the case where the globstar match is empty
-// // by pruning it out, and testing the resulting pattern
-// PROCESS(pattern[0..n] + pattern[n+1 .. $], false)
-// // handle other cases.
-// for ENTRY in ENTRIES (not dotfiles)
-// // attach globstar + tail onto the entry
-// // Mark that this entry is a globstar match
-// PROCESS(pattern[0..n] + ENTRY + pattern[n .. $], true)
-//
-// else // not globstar
-// for ENTRY in ENTRIES (not dotfiles, unless pattern[n] is dot)
-// Test ENTRY against pattern[n]
-// If fails, continue
-// If passes, PROCESS(pattern[0..n] + item + pattern[n+1 .. $])
-//
-// Caveat:
-// Cache all stats and readdirs results to minimize syscall. Since all
-// we ever care about is existence and directory-ness, we can just keep
-// `true` for files, and [children,...] for directories, or `false` for
-// things that don't exist.
-
-module.exports = glob
-
-var fs = require('fs')
-var minimatch = require('minimatch')
-var Minimatch = minimatch.Minimatch
-var inherits = require('inherits')
-var EE = require('events').EventEmitter
-var path = require('path')
-var assert = require('assert')
-var globSync = require('./sync.js')
-var common = require('./common.js')
-var alphasort = common.alphasort
-var alphasorti = common.alphasorti
-var isAbsolute = common.isAbsolute
-var setopts = common.setopts
-var ownProp = common.ownProp
-var inflight = require('inflight')
-var util = require('util')
-var childrenIgnored = common.childrenIgnored
-
-var once = require('once')
-
-function glob (pattern, options, cb) {
- if (typeof options === 'function') cb = options, options = {}
- if (!options) options = {}
-
- if (options.sync) {
- if (cb)
- throw new TypeError('callback provided to sync glob')
- return globSync(pattern, options)
- }
-
- return new Glob(pattern, options, cb)
-}
-
-glob.sync = globSync
-var GlobSync = glob.GlobSync = globSync.GlobSync
-
-// old api surface
-glob.glob = glob
-
-glob.hasMagic = function (pattern, options_) {
- var options = util._extend({}, options_)
- options.noprocess = true
-
- var g = new Glob(pattern, options)
- var set = g.minimatch.set
- if (set.length > 1)
- return true
-
- for (var j = 0; j < set[0].length; j++) {
- if (typeof set[0][j] !== 'string')
- return true
- }
-
- return false
-}
-
-glob.Glob = Glob
-inherits(Glob, EE)
-function Glob (pattern, options, cb) {
- if (typeof options === 'function') {
- cb = options
- options = null
- }
-
- if (options && options.sync) {
- if (cb)
- throw new TypeError('callback provided to sync glob')
- return new GlobSync(pattern, options)
- }
-
- if (!(this instanceof Glob))
- return new Glob(pattern, options, cb)
-
- setopts(this, pattern, options)
- this._didRealPath = false
-
- // process each pattern in the minimatch set
- var n = this.minimatch.set.length
-
- // The matches are stored as {<filename>: true,...} so that
- // duplicates are automagically pruned.
- // Later, we do an Object.keys() on these.
- // Keep them as a list so we can fill in when nonull is set.
- this.matches = new Array(n)
-
- if (typeof cb === 'function') {
- cb = once(cb)
- this.on('error', cb)
- this.on('end', function (matches) {
- cb(null, matches)
- })
- }
-
- var self = this
- var n = this.minimatch.set.length
- this._processing = 0
- this.matches = new Array(n)
-
- this._emitQueue = []
- this._processQueue = []
- this.paused = false
-
- if (this.noprocess)
- return this
-
- if (n === 0)
- return done()
-
- for (var i = 0; i < n; i ++) {
- this._process(this.minimatch.set[i], i, false, done)
- }
-
- function done () {
- --self._processing
- if (self._processing <= 0)
- self._finish()
- }
-}
-
-Glob.prototype._finish = function () {
- assert(this instanceof Glob)
- if (this.aborted)
- return
-
- if (this.realpath && !this._didRealpath)
- return this._realpath()
-
- common.finish(this)
- this.emit('end', this.found)
-}
-
-Glob.prototype._realpath = function () {
- if (this._didRealpath)
- return
-
- this._didRealpath = true
-
- var n = this.matches.length
- if (n === 0)
- return this._finish()
-
- var self = this
- for (var i = 0; i < this.matches.length; i++)
- this._realpathSet(i, next)
-
- function next () {
- if (--n === 0)
- self._finish()
- }
-}
-
-Glob.prototype._realpathSet = function (index, cb) {
- var matchset = this.matches[index]
- if (!matchset)
- return cb()
-
- var found = Object.keys(matchset)
- var self = this
- var n = found.length
-
- if (n === 0)
- return cb()
-
- var set = this.matches[index] = Object.create(null)
- found.forEach(function (p, i) {
- // If there's a problem with the stat, then it means that
- // one or more of the links in the realpath couldn't be
- // resolved. just return the abs value in that case.
- p = self._makeAbs(p)
- fs.realpath(p, self.realpathCache, function (er, real) {
- if (!er)
- set[real] = true
- else if (er.syscall === 'stat')
- set[p] = true
- else
- self.emit('error', er) // srsly wtf right here
-
- if (--n === 0) {
- self.matches[index] = set
- cb()
- }
- })
- })
-}
-
-Glob.prototype._mark = function (p) {
- return common.mark(this, p)
-}
-
-Glob.prototype._makeAbs = function (f) {
- return common.makeAbs(this, f)
-}
-
-Glob.prototype.abort = function () {
- this.aborted = true
- this.emit('abort')
-}
-
-Glob.prototype.pause = function () {
- if (!this.paused) {
- this.paused = true
- this.emit('pause')
- }
-}
-
-Glob.prototype.resume = function () {
- if (this.paused) {
- this.emit('resume')
- this.paused = false
- if (this._emitQueue.length) {
- var eq = this._emitQueue.slice(0)
- this._emitQueue.length = 0
- for (var i = 0; i < eq.length; i ++) {
- var e = eq[i]
- this._emitMatch(e[0], e[1])
- }
- }
- if (this._processQueue.length) {
- var pq = this._processQueue.slice(0)
- this._processQueue.length = 0
- for (var i = 0; i < pq.length; i ++) {
- var p = pq[i]
- this._processing--
- this._process(p[0], p[1], p[2], p[3])
- }
- }
- }
-}
-
-Glob.prototype._process = function (pattern, index, inGlobStar, cb) {
- assert(this instanceof Glob)
- assert(typeof cb === 'function')
-
- if (this.aborted)
- return
-
- this._processing++
- if (this.paused) {
- this._processQueue.push([pattern, index, inGlobStar, cb])
- return
- }
-
- //console.error('PROCESS %d', this._processing, pattern)
-
- // Get the first [n] parts of pattern that are all strings.
- var n = 0
- while (typeof pattern[n] === 'string') {
- n ++
- }
- // now n is the index of the first one that is *not* a string.
-
- // see if there's anything else
- var prefix
- switch (n) {
- // if not, then this is rather simple
- case pattern.length:
- this._processSimple(pattern.join('/'), index, cb)
- return
-
- case 0:
- // pattern *starts* with some non-trivial item.
- // going to readdir(cwd), but not include the prefix in matches.
- prefix = null
- break
-
- default:
- // pattern has some string bits in the front.
- // whatever it starts with, whether that's 'absolute' like /foo/bar,
- // or 'relative' like '../baz'
- prefix = pattern.slice(0, n).join('/')
- break
- }
-
- var remain = pattern.slice(n)
-
- // get the list of entries.
- var read
- if (prefix === null)
- read = '.'
- else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {
- if (!prefix || !isAbsolute(prefix))
- prefix = '/' + prefix
- read = prefix
- } else
- read = prefix
-
- var abs = this._makeAbs(read)
-
- //if ignored, skip _processing
- if (childrenIgnored(this, read))
- return cb()
-
- var isGlobStar = remain[0] === minimatch.GLOBSTAR
- if (isGlobStar)
- this._processGlobStar(prefix, read, abs, remain, index, inGlobStar, cb)
- else
- this._processReaddir(prefix, read, abs, remain, index, inGlobStar, cb)
-}
-
-Glob.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar, cb) {
- var self = this
- this._readdir(abs, inGlobStar, function (er, entries) {
- return self._processReaddir2(prefix, read, abs, remain, index, inGlobStar, entries, cb)
- })
-}
-
-Glob.prototype._processReaddir2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {
-
- // if the abs isn't a dir, then nothing can match!
- if (!entries)
- return cb()
-
- // It will only match dot entries if it starts with a dot, or if
- // dot is set. Stuff like @(.foo|.bar) isn't allowed.
- var pn = remain[0]
- var negate = !!this.minimatch.negate
- var rawGlob = pn._glob
- var dotOk = this.dot || rawGlob.charAt(0) === '.'
-
- var matchedEntries = []
- for (var i = 0; i < entries.length; i++) {
- var e = entries[i]
- if (e.charAt(0) !== '.' || dotOk) {
- var m
- if (negate && !prefix) {
- m = !e.match(pn)
- } else {
- m = e.match(pn)
- }
- if (m)
- matchedEntries.push(e)
- }
- }
-
- //console.error('prd2', prefix, entries, remain[0]._glob, matchedEntries)
-
- var len = matchedEntries.length
- // If there are no matched entries, then nothing matches.
- if (len === 0)
- return cb()
-
- // if this is the last remaining pattern bit, then no need for
- // an additional stat *unless* the user has specified mark or
- // stat explicitly. We know they exist, since readdir returned
- // them.
-
- if (remain.length === 1 && !this.mark && !this.stat) {
- if (!this.matches[index])
- this.matches[index] = Object.create(null)
-
- for (var i = 0; i < len; i ++) {
- var e = matchedEntries[i]
- if (prefix) {
- if (prefix !== '/')
- e = prefix + '/' + e
- else
- e = prefix + e
- }
-
- if (e.charAt(0) === '/' && !this.nomount) {
- e = path.join(this.root, e)
- }
- this._emitMatch(index, e)
- }
- // This was the last one, and no stats were needed
- return cb()
- }
-
- // now test all matched entries as stand-ins for that part
- // of the pattern.
- remain.shift()
- for (var i = 0; i < len; i ++) {
- var e = matchedEntries[i]
- var newPattern
- if (prefix) {
- if (prefix !== '/')
- e = prefix + '/' + e
- else
- e = prefix + e
- }
- this._process([e].concat(remain), index, inGlobStar, cb)
- }
- cb()
-}
-
-Glob.prototype._emitMatch = function (index, e) {
- if (this.aborted)
- return
-
- if (this.matches[index][e])
- return
-
- if (this.paused) {
- this._emitQueue.push([index, e])
- return
- }
-
- var abs = this._makeAbs(e)
-
- if (this.nodir) {
- var c = this.cache[abs]
- if (c === 'DIR' || Array.isArray(c))
- return
- }
-
- if (this.mark)
- e = this._mark(e)
-
- this.matches[index][e] = true
-
- var st = this.statCache[abs]
- if (st)
- this.emit('stat', e, st)
-
- this.emit('match', e)
-}
-
-Glob.prototype._readdirInGlobStar = function (abs, cb) {
- if (this.aborted)
- return
-
- // follow all symlinked directories forever
- // just proceed as if this is a non-globstar situation
- if (this.follow)
- return this._readdir(abs, false, cb)
-
- var lstatkey = 'lstat\0' + abs
- var self = this
- var lstatcb = inflight(lstatkey, lstatcb_)
-
- if (lstatcb)
- fs.lstat(abs, lstatcb)
-
- function lstatcb_ (er, lstat) {
- if (er)
- return cb()
-
- var isSym = lstat.isSymbolicLink()
- self.symlinks[abs] = isSym
-
- // If it's not a symlink or a dir, then it's definitely a regular file.
- // don't bother doing a readdir in that case.
- if (!isSym && !lstat.isDirectory()) {
- self.cache[abs] = 'FILE'
- cb()
- } else
- self._readdir(abs, false, cb)
- }
-}
-
-Glob.prototype._readdir = function (abs, inGlobStar, cb) {
- if (this.aborted)
- return
-
- cb = inflight('readdir\0'+abs+'\0'+inGlobStar, cb)
- if (!cb)
- return
-
- //console.error('RD %j %j', +inGlobStar, abs)
- if (inGlobStar && !ownProp(this.symlinks, abs))
- return this._readdirInGlobStar(abs, cb)
-
- if (ownProp(this.cache, abs)) {
- var c = this.cache[abs]
- if (!c || c === 'FILE')
- return cb()
-
- if (Array.isArray(c))
- return cb(null, c)
- }
-
- var self = this
- fs.readdir(abs, readdirCb(this, abs, cb))
-}
-
-function readdirCb (self, abs, cb) {
- return function (er, entries) {
- if (er)
- self._readdirError(abs, er, cb)
- else
- self._readdirEntries(abs, entries, cb)
- }
-}
-
-Glob.prototype._readdirEntries = function (abs, entries, cb) {
- if (this.aborted)
- return
-
- // if we haven't asked to stat everything, then just
- // assume that everything in there exists, so we can avoid
- // having to stat it a second time.
- if (!this.mark && !this.stat) {
- for (var i = 0; i < entries.length; i ++) {
- var e = entries[i]
- if (abs === '/')
- e = abs + e
- else
- e = abs + '/' + e
- this.cache[e] = true
- }
- }
-
- this.cache[abs] = entries
- return cb(null, entries)
-}
-
-Glob.prototype._readdirError = function (f, er, cb) {
- if (this.aborted)
- return
-
- // handle errors, and cache the information
- switch (er.code) {
- case 'ENOTDIR': // totally normal. means it *does* exist.
- this.cache[this._makeAbs(f)] = 'FILE'
- break
-
- case 'ENOENT': // not terribly unusual
- case 'ELOOP':
- case 'ENAMETOOLONG':
- case 'UNKNOWN':
- this.cache[this._makeAbs(f)] = false
- break
-
- default: // some unusual error. Treat as failure.
- this.cache[this._makeAbs(f)] = false
- if (this.strict) return this.emit('error', er)
- if (!this.silent) console.error('glob error', er)
- break
- }
- return cb()
-}
-
-Glob.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar, cb) {
- var self = this
- this._readdir(abs, inGlobStar, function (er, entries) {
- self._processGlobStar2(prefix, read, abs, remain, index, inGlobStar, entries, cb)
- })
-}
-
-
-Glob.prototype._processGlobStar2 = function (prefix, read, abs, remain, index, inGlobStar, entries, cb) {
- //console.error('pgs2', prefix, remain[0], entries)
-
- // no entries means not a dir, so it can never have matches
- // foo.txt/** doesn't match foo.txt
- if (!entries)
- return cb()
-
- // test without the globstar, and with every child both below
- // and replacing the globstar.
- var remainWithoutGlobStar = remain.slice(1)
- var gspref = prefix ? [ prefix ] : []
- var noGlobStar = gspref.concat(remainWithoutGlobStar)
-
- // the noGlobStar pattern exits the inGlobStar state
- this._process(noGlobStar, index, false, cb)
-
- var isSym = this.symlinks[abs]
- var len = entries.length
-
- // If it's a symlink, and we're in a globstar, then stop
- if (isSym && inGlobStar)
- return cb()
-
- for (var i = 0; i < len; i++) {
- var e = entries[i]
- if (e.charAt(0) === '.' && !this.dot)
- continue
-
- // these two cases enter the inGlobStar state
- var instead = gspref.concat(entries[i], remainWithoutGlobStar)
- this._process(instead, index, true, cb)
-
- var below = gspref.concat(entries[i], remain)
- this._process(below, index, true, cb)
- }
-
- cb()
-}
-
-Glob.prototype._processSimple = function (prefix, index, cb) {
- // XXX review this. Shouldn't it be doing the mounting etc
- // before doing stat? kinda weird?
- var self = this
- this._stat(prefix, function (er, exists) {
- self._processSimple2(prefix, index, er, exists, cb)
- })
-}
-Glob.prototype._processSimple2 = function (prefix, index, er, exists, cb) {
-
- //console.error('ps2', prefix, exists)
-
- if (!this.matches[index])
- this.matches[index] = Object.create(null)
-
- // If it doesn't exist, then just mark the lack of results
- if (!exists)
- return cb()
-
- if (prefix && isAbsolute(prefix) && !this.nomount) {
- var trail = /[\/\\]$/.test(prefix)
- if (prefix.charAt(0) === '/') {
- prefix = path.join(this.root, prefix)
- } else {
- prefix = path.resolve(this.root, prefix)
- if (trail)
- prefix += '/'
- }
- }
-
- if (process.platform === 'win32')
- prefix = prefix.replace(/\\/g, '/')
-
- // Mark this as a match
- this._emitMatch(index, prefix)
- cb()
-}
-
-// Returns either 'DIR', 'FILE', or false
-Glob.prototype._stat = function (f, cb) {
- var abs = this._makeAbs(f)
- var needDir = f.slice(-1) === '/'
-
- if (f.length > this.maxLength)
- return cb()
-
- if (!this.stat && ownProp(this.cache, abs)) {
- var c = this.cache[abs]
-
- if (Array.isArray(c))
- c = 'DIR'
-
- // It exists, but maybe not how we need it
- if (!needDir || c === 'DIR')
- return cb(null, c)
-
- if (needDir && c === 'FILE')
- return cb()
-
- // otherwise we have to stat, because maybe c=true
- // if we know it exists, but not what it is.
- }
-
- var exists
- var stat = this.statCache[abs]
- if (stat !== undefined) {
- if (stat === false)
- return cb(null, stat)
- else {
- var type = stat.isDirectory() ? 'DIR' : 'FILE'
- if (needDir && type === 'FILE')
- return cb()
- else
- return cb(null, type, stat)
- }
- }
-
- var self = this
- var statcb = inflight('stat\0' + abs, lstatcb_)
- if (statcb)
- fs.lstat(abs, statcb)
-
- function lstatcb_ (er, lstat) {
- if (lstat && lstat.isSymbolicLink()) {
- // If it's a symlink, then treat it as the target, unless
- // the target does not exist, then treat it as a file.
- return fs.stat(abs, function (er, stat) {
- if (er)
- self._stat2(f, abs, null, lstat, cb)
- else
- self._stat2(f, abs, er, stat, cb)
- })
- } else {
- self._stat2(f, abs, er, lstat, cb)
- }
- }
-}
-
-Glob.prototype._stat2 = function (f, abs, er, stat, cb) {
- if (er) {
- this.statCache[abs] = false
- return cb()
- }
-
- var needDir = f.slice(-1) === '/'
- this.statCache[abs] = stat
-
- if (abs.slice(-1) === '/' && !stat.isDirectory())
- return cb(null, false, stat)
-
- var c = stat.isDirectory() ? 'DIR' : 'FILE'
- this.cache[abs] = this.cache[abs] || c
-
- if (needDir && c !== 'DIR')
- return cb()
-
- return cb(null, c, stat)
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/README.md b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/README.md
deleted file mode 100644
index d458bc2e0a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/README.md
+++ /dev/null
@@ -1,216 +0,0 @@
-# minimatch
-
-A minimal matching utility.
-
-[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)
-
-
-This is the matching library used internally by npm.
-
-It works by converting glob expressions into JavaScript `RegExp`
-objects.
-
-## Usage
-
-```javascript
-var minimatch = require("minimatch")
-
-minimatch("bar.foo", "*.foo") // true!
-minimatch("bar.foo", "*.bar") // false!
-minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!
-```
-
-## Features
-
-Supports these glob features:
-
-* Brace Expansion
-* Extended glob matching
-* "Globstar" `**` matching
-
-See:
-
-* `man sh`
-* `man bash`
-* `man 3 fnmatch`
-* `man 5 gitignore`
-
-## Minimatch Class
-
-Create a minimatch object by instanting the `minimatch.Minimatch` class.
-
-```javascript
-var Minimatch = require("minimatch").Minimatch
-var mm = new Minimatch(pattern, options)
-```
-
-### Properties
-
-* `pattern` The original pattern the minimatch object represents.
-* `options` The options supplied to the constructor.
-* `set` A 2-dimensional array of regexp or string expressions.
- Each row in the
- array corresponds to a brace-expanded pattern. Each item in the row
- corresponds to a single path-part. For example, the pattern
- `{a,b/c}/d` would expand to a set of patterns like:
-
- [ [ a, d ]
- , [ b, c, d ] ]
-
- If a portion of the pattern doesn't have any "magic" in it
- (that is, it's something like `"foo"` rather than `fo*o?`), then it
- will be left as a string rather than converted to a regular
- expression.
-
-* `regexp` Created by the `makeRe` method. A single regular expression
- expressing the entire pattern. This is useful in cases where you wish
- to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.
-* `negate` True if the pattern is negated.
-* `comment` True if the pattern is a comment.
-* `empty` True if the pattern is `""`.
-
-### Methods
-
-* `makeRe` Generate the `regexp` member if necessary, and return it.
- Will return `false` if the pattern is invalid.
-* `match(fname)` Return true if the filename matches the pattern, or
- false otherwise.
-* `matchOne(fileArray, patternArray, partial)` Take a `/`-split
- filename, and match it against a single row in the `regExpSet`. This
- method is mainly for internal use, but is exposed so that it can be
- used by a glob-walker that needs to avoid excessive filesystem calls.
-
-All other methods are internal, and will be called as necessary.
-
-## Functions
-
-The top-level exported function has a `cache` property, which is an LRU
-cache set to store 100 items. So, calling these methods repeatedly
-with the same pattern and options will use the same Minimatch object,
-saving the cost of parsing it multiple times.
-
-### minimatch(path, pattern, options)
-
-Main export. Tests a path against the pattern using the options.
-
-```javascript
-var isJS = minimatch(file, "*.js", { matchBase: true })
-```
-
-### minimatch.filter(pattern, options)
-
-Returns a function that tests its
-supplied argument, suitable for use with `Array.filter`. Example:
-
-```javascript
-var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))
-```
-
-### minimatch.match(list, pattern, options)
-
-Match against the list of
-files, in the style of fnmatch or glob. If nothing is matched, and
-options.nonull is set, then return a list containing the pattern itself.
-
-```javascript
-var javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))
-```
-
-### minimatch.makeRe(pattern, options)
-
-Make a regular expression object from the pattern.
-
-## Options
-
-All options are `false` by default.
-
-### debug
-
-Dump a ton of stuff to stderr.
-
-### nobrace
-
-Do not expand `{a,b}` and `{1..3}` brace sets.
-
-### noglobstar
-
-Disable `**` matching against multiple folder names.
-
-### dot
-
-Allow patterns to match filenames starting with a period, even if
-the pattern does not explicitly have a period in that spot.
-
-Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`
-is set.
-
-### noext
-
-Disable "extglob" style patterns like `+(a|b)`.
-
-### nocase
-
-Perform a case-insensitive match.
-
-### nonull
-
-When a match is not found by `minimatch.match`, return a list containing
-the pattern itself if this option is set. When not set, an empty list
-is returned if there are no matches.
-
-### matchBase
-
-If set, then patterns without slashes will be matched
-against the basename of the path if it contains slashes. For example,
-`a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.
-
-### nocomment
-
-Suppress the behavior of treating `#` at the start of a pattern as a
-comment.
-
-### nonegate
-
-Suppress the behavior of treating a leading `!` character as negation.
-
-### flipNegate
-
-Returns from negate expressions the same as if they were not negated.
-(Ie, true on a hit, false on a miss.)
-
-
-## Comparisons to other fnmatch/glob implementations
-
-While strict compliance with the existing standards is a worthwhile
-goal, some discrepancies exist between minimatch and other
-implementations, and are intentional.
-
-If the pattern starts with a `!` character, then it is negated. Set the
-`nonegate` flag to suppress this behavior, and treat leading `!`
-characters normally. This is perhaps relevant if you wish to start the
-pattern with a negative extglob pattern like `!(a|B)`. Multiple `!`
-characters at the start of a pattern will negate the pattern multiple
-times.
-
-If a pattern starts with `#`, then it is treated as a comment, and
-will not match anything. Use `\#` to match a literal `#` at the
-start of a line, or set the `nocomment` flag to suppress this behavior.
-
-The double-star character `**` is supported by default, unless the
-`noglobstar` flag is set. This is supported in the manner of bsdglob
-and bash 4.1, where `**` only has special significance if it is the only
-thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but
-`a/**b` will not.
-
-If an escaped pattern has no matches, and the `nonull` flag is set,
-then minimatch.match returns the pattern as-provided, rather than
-interpreting the character escapes. For example,
-`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
-`"*a?"`. This is akin to setting the `nullglob` option in bash, except
-that it does not resolve escaped pattern characters.
-
-If brace expansion is not disabled, then it is performed before any
-other interpretation of the glob pattern. Thus, a pattern like
-`+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
-**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
-checked for validity. Since those two are valid, matching proceeds.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/browser.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/browser.js
deleted file mode 100644
index 7d0515920e..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/browser.js
+++ /dev/null
@@ -1,1159 +0,0 @@
-(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.minimatch = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
-module.exports = minimatch
-minimatch.Minimatch = Minimatch
-
-var path = { sep: '/' }
-try {
- path = require('path')
-} catch (er) {}
-
-var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
-var expand = require('brace-expansion')
-
-// any single thing other than /
-// don't need to escape / when using new RegExp()
-var qmark = '[^/]'
-
-// * => any number of characters
-var star = qmark + '*?'
-
-// ** when dots are allowed. Anything goes, except .. and .
-// not (^ or / followed by one or two dots followed by $ or /),
-// followed by anything, any number of times.
-var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
-
-// not a ^ or / followed by a dot,
-// followed by anything, any number of times.
-var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
-
-// characters that need to be escaped in RegExp.
-var reSpecials = charSet('().*{}+?[]^$\\!')
-
-// "abc" -> { a:true, b:true, c:true }
-function charSet (s) {
- return s.split('').reduce(function (set, c) {
- set[c] = true
- return set
- }, {})
-}
-
-// normalizes slashes.
-var slashSplit = /\/+/
-
-minimatch.filter = filter
-function filter (pattern, options) {
- options = options || {}
- return function (p, i, list) {
- return minimatch(p, pattern, options)
- }
-}
-
-function ext (a, b) {
- a = a || {}
- b = b || {}
- var t = {}
- Object.keys(b).forEach(function (k) {
- t[k] = b[k]
- })
- Object.keys(a).forEach(function (k) {
- t[k] = a[k]
- })
- return t
-}
-
-minimatch.defaults = function (def) {
- if (!def || !Object.keys(def).length) return minimatch
-
- var orig = minimatch
-
- var m = function minimatch (p, pattern, options) {
- return orig.minimatch(p, pattern, ext(def, options))
- }
-
- m.Minimatch = function Minimatch (pattern, options) {
- return new orig.Minimatch(pattern, ext(def, options))
- }
-
- return m
-}
-
-Minimatch.defaults = function (def) {
- if (!def || !Object.keys(def).length) return Minimatch
- return minimatch.defaults(def).Minimatch
-}
-
-function minimatch (p, pattern, options) {
- if (typeof pattern !== 'string') {
- throw new TypeError('glob pattern string required')
- }
-
- if (!options) options = {}
-
- // shortcut: comments match nothing.
- if (!options.nocomment && pattern.charAt(0) === '#') {
- return false
- }
-
- // "" only matches ""
- if (pattern.trim() === '') return p === ''
-
- return new Minimatch(pattern, options).match(p)
-}
-
-function Minimatch (pattern, options) {
- if (!(this instanceof Minimatch)) {
- return new Minimatch(pattern, options)
- }
-
- if (typeof pattern !== 'string') {
- throw new TypeError('glob pattern string required')
- }
-
- if (!options) options = {}
- pattern = pattern.trim()
-
- // windows support: need to use /, not \
- if (path.sep !== '/') {
- pattern = pattern.split(path.sep).join('/')
- }
-
- this.options = options
- this.set = []
- this.pattern = pattern
- this.regexp = null
- this.negate = false
- this.comment = false
- this.empty = false
-
- // make the set of regexps etc.
- this.make()
-}
-
-Minimatch.prototype.debug = function () {}
-
-Minimatch.prototype.make = make
-function make () {
- // don't do it more than once.
- if (this._made) return
-
- var pattern = this.pattern
- var options = this.options
-
- // empty patterns and comments match nothing.
- if (!options.nocomment && pattern.charAt(0) === '#') {
- this.comment = true
- return
- }
- if (!pattern) {
- this.empty = true
- return
- }
-
- // step 1: figure out negation, etc.
- this.parseNegate()
-
- // step 2: expand braces
- var set = this.globSet = this.braceExpand()
-
- if (options.debug) this.debug = console.error
-
- this.debug(this.pattern, set)
-
- // step 3: now we have a set, so turn each one into a series of path-portion
- // matching patterns.
- // These will be regexps, except in the case of "**", which is
- // set to the GLOBSTAR object for globstar behavior,
- // and will not contain any / characters
- set = this.globParts = set.map(function (s) {
- return s.split(slashSplit)
- })
-
- this.debug(this.pattern, set)
-
- // glob --> regexps
- set = set.map(function (s, si, set) {
- return s.map(this.parse, this)
- }, this)
-
- this.debug(this.pattern, set)
-
- // filter out everything that didn't compile properly.
- set = set.filter(function (s) {
- return s.indexOf(false) === -1
- })
-
- this.debug(this.pattern, set)
-
- this.set = set
-}
-
-Minimatch.prototype.parseNegate = parseNegate
-function parseNegate () {
- var pattern = this.pattern
- var negate = false
- var options = this.options
- var negateOffset = 0
-
- if (options.nonegate) return
-
- for (var i = 0, l = pattern.length
- ; i < l && pattern.charAt(i) === '!'
- ; i++) {
- negate = !negate
- negateOffset++
- }
-
- if (negateOffset) this.pattern = pattern.substr(negateOffset)
- this.negate = negate
-}
-
-// Brace expansion:
-// a{b,c}d -> abd acd
-// a{b,}c -> abc ac
-// a{0..3}d -> a0d a1d a2d a3d
-// a{b,c{d,e}f}g -> abg acdfg acefg
-// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
-//
-// Invalid sets are not expanded.
-// a{2..}b -> a{2..}b
-// a{b}c -> a{b}c
-minimatch.braceExpand = function (pattern, options) {
- return braceExpand(pattern, options)
-}
-
-Minimatch.prototype.braceExpand = braceExpand
-
-function braceExpand (pattern, options) {
- if (!options) {
- if (this instanceof Minimatch) {
- options = this.options
- } else {
- options = {}
- }
- }
-
- pattern = typeof pattern === 'undefined'
- ? this.pattern : pattern
-
- if (typeof pattern === 'undefined') {
- throw new Error('undefined pattern')
- }
-
- if (options.nobrace ||
- !pattern.match(/\{.*\}/)) {
- // shortcut. no need to expand.
- return [pattern]
- }
-
- return expand(pattern)
-}
-
-// parse a component of the expanded set.
-// At this point, no pattern may contain "/" in it
-// so we're going to return a 2d array, where each entry is the full
-// pattern, split on '/', and then turned into a regular expression.
-// A regexp is made at the end which joins each array with an
-// escaped /, and another full one which joins each regexp with |.
-//
-// Following the lead of Bash 4.1, note that "**" only has special meaning
-// when it is the *only* thing in a path portion. Otherwise, any series
-// of * is equivalent to a single *. Globstar behavior is enabled by
-// default, and can be disabled by setting options.noglobstar.
-Minimatch.prototype.parse = parse
-var SUBPARSE = {}
-function parse (pattern, isSub) {
- var options = this.options
-
- // shortcuts
- if (!options.noglobstar && pattern === '**') return GLOBSTAR
- if (pattern === '') return ''
-
- var re = ''
- var hasMagic = !!options.nocase
- var escaping = false
- // ? => one single character
- var patternListStack = []
- var negativeLists = []
- var plType
- var stateChar
- var inClass = false
- var reClassStart = -1
- var classStart = -1
- // . and .. never match anything that doesn't start with .,
- // even when options.dot is set.
- var patternStart = pattern.charAt(0) === '.' ? '' // anything
- // not (start or / followed by . or .. followed by / or end)
- : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
- : '(?!\\.)'
- var self = this
-
- function clearStateChar () {
- if (stateChar) {
- // we had some state-tracking character
- // that wasn't consumed by this pass.
- switch (stateChar) {
- case '*':
- re += star
- hasMagic = true
- break
- case '?':
- re += qmark
- hasMagic = true
- break
- default:
- re += '\\' + stateChar
- break
- }
- self.debug('clearStateChar %j %j', stateChar, re)
- stateChar = false
- }
- }
-
- for (var i = 0, len = pattern.length, c
- ; (i < len) && (c = pattern.charAt(i))
- ; i++) {
- this.debug('%s\t%s %s %j', pattern, i, re, c)
-
- // skip over any that are escaped.
- if (escaping && reSpecials[c]) {
- re += '\\' + c
- escaping = false
- continue
- }
-
- switch (c) {
- case '/':
- // completely not allowed, even escaped.
- // Should already be path-split by now.
- return false
-
- case '\\':
- clearStateChar()
- escaping = true
- continue
-
- // the various stateChar values
- // for the "extglob" stuff.
- case '?':
- case '*':
- case '+':
- case '@':
- case '!':
- this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
-
- // all of those are literals inside a class, except that
- // the glob [!a] means [^a] in regexp
- if (inClass) {
- this.debug(' in class')
- if (c === '!' && i === classStart + 1) c = '^'
- re += c
- continue
- }
-
- // if we already have a stateChar, then it means
- // that there was something like ** or +? in there.
- // Handle the stateChar, then proceed with this one.
- self.debug('call clearStateChar %j', stateChar)
- clearStateChar()
- stateChar = c
- // if extglob is disabled, then +(asdf|foo) isn't a thing.
- // just clear the statechar *now*, rather than even diving into
- // the patternList stuff.
- if (options.noext) clearStateChar()
- continue
-
- case '(':
- if (inClass) {
- re += '('
- continue
- }
-
- if (!stateChar) {
- re += '\\('
- continue
- }
-
- plType = stateChar
- patternListStack.push({
- type: plType,
- start: i - 1,
- reStart: re.length
- })
- // negation is (?:(?!js)[^/]*)
- re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
- this.debug('plType %j %j', stateChar, re)
- stateChar = false
- continue
-
- case ')':
- if (inClass || !patternListStack.length) {
- re += '\\)'
- continue
- }
-
- clearStateChar()
- hasMagic = true
- re += ')'
- var pl = patternListStack.pop()
- plType = pl.type
- // negation is (?:(?!js)[^/]*)
- // The others are (?:<pattern>)<type>
- switch (plType) {
- case '!':
- negativeLists.push(pl)
- re += ')[^/]*?)'
- pl.reEnd = re.length
- break
- case '?':
- case '+':
- case '*':
- re += plType
- break
- case '@': break // the default anyway
- }
- continue
-
- case '|':
- if (inClass || !patternListStack.length || escaping) {
- re += '\\|'
- escaping = false
- continue
- }
-
- clearStateChar()
- re += '|'
- continue
-
- // these are mostly the same in regexp and glob
- case '[':
- // swallow any state-tracking char before the [
- clearStateChar()
-
- if (inClass) {
- re += '\\' + c
- continue
- }
-
- inClass = true
- classStart = i
- reClassStart = re.length
- re += c
- continue
-
- case ']':
- // a right bracket shall lose its special
- // meaning and represent itself in
- // a bracket expression if it occurs
- // first in the list. -- POSIX.2 2.8.3.2
- if (i === classStart + 1 || !inClass) {
- re += '\\' + c
- escaping = false
- continue
- }
-
- // handle the case where we left a class open.
- // "[z-a]" is valid, equivalent to "\[z-a\]"
- if (inClass) {
- // split where the last [ was, make sure we don't have
- // an invalid re. if so, re-walk the contents of the
- // would-be class to re-translate any characters that
- // were passed through as-is
- // TODO: It would probably be faster to determine this
- // without a try/catch and a new RegExp, but it's tricky
- // to do safely. For now, this is safe and works.
- var cs = pattern.substring(classStart + 1, i)
- try {
- RegExp('[' + cs + ']')
- } catch (er) {
- // not a valid class!
- var sp = this.parse(cs, SUBPARSE)
- re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
- hasMagic = hasMagic || sp[1]
- inClass = false
- continue
- }
- }
-
- // finish up the class.
- hasMagic = true
- inClass = false
- re += c
- continue
-
- default:
- // swallow any state char that wasn't consumed
- clearStateChar()
-
- if (escaping) {
- // no need
- escaping = false
- } else if (reSpecials[c]
- && !(c === '^' && inClass)) {
- re += '\\'
- }
-
- re += c
-
- } // switch
- } // for
-
- // handle the case where we left a class open.
- // "[abc" is valid, equivalent to "\[abc"
- if (inClass) {
- // split where the last [ was, and escape it
- // this is a huge pita. We now have to re-walk
- // the contents of the would-be class to re-translate
- // any characters that were passed through as-is
- cs = pattern.substr(classStart + 1)
- sp = this.parse(cs, SUBPARSE)
- re = re.substr(0, reClassStart) + '\\[' + sp[0]
- hasMagic = hasMagic || sp[1]
- }
-
- // handle the case where we had a +( thing at the *end*
- // of the pattern.
- // each pattern list stack adds 3 chars, and we need to go through
- // and escape any | chars that were passed through as-is for the regexp.
- // Go through and escape them, taking care not to double-escape any
- // | chars that were already escaped.
- for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
- var tail = re.slice(pl.reStart + 3)
- // maybe some even number of \, then maybe 1 \, followed by a |
- tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
- if (!$2) {
- // the | isn't already escaped, so escape it.
- $2 = '\\'
- }
-
- // need to escape all those slashes *again*, without escaping the
- // one that we need for escaping the | character. As it works out,
- // escaping an even number of slashes can be done by simply repeating
- // it exactly after itself. That's why this trick works.
- //
- // I am sorry that you have to see this.
- return $1 + $1 + $2 + '|'
- })
-
- this.debug('tail=%j\n %s', tail, tail)
- var t = pl.type === '*' ? star
- : pl.type === '?' ? qmark
- : '\\' + pl.type
-
- hasMagic = true
- re = re.slice(0, pl.reStart) + t + '\\(' + tail
- }
-
- // handle trailing things that only matter at the very end.
- clearStateChar()
- if (escaping) {
- // trailing \\
- re += '\\\\'
- }
-
- // only need to apply the nodot start if the re starts with
- // something that could conceivably capture a dot
- var addPatternStart = false
- switch (re.charAt(0)) {
- case '.':
- case '[':
- case '(': addPatternStart = true
- }
-
- // Hack to work around lack of negative lookbehind in JS
- // A pattern like: *.!(x).!(y|z) needs to ensure that a name
- // like 'a.xyz.yz' doesn't match. So, the first negative
- // lookahead, has to look ALL the way ahead, to the end of
- // the pattern.
- for (var n = negativeLists.length - 1; n > -1; n--) {
- var nl = negativeLists[n]
-
- var nlBefore = re.slice(0, nl.reStart)
- var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
- var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
- var nlAfter = re.slice(nl.reEnd)
-
- nlLast += nlAfter
-
- // Handle nested stuff like *(*.js|!(*.json)), where open parens
- // mean that we should *not* include the ) in the bit that is considered
- // "after" the negated section.
- var openParensBefore = nlBefore.split('(').length - 1
- var cleanAfter = nlAfter
- for (i = 0; i < openParensBefore; i++) {
- cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
- }
- nlAfter = cleanAfter
-
- var dollar = ''
- if (nlAfter === '' && isSub !== SUBPARSE) {
- dollar = '$'
- }
- var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
- re = newRe
- }
-
- // if the re is not "" at this point, then we need to make sure
- // it doesn't match against an empty path part.
- // Otherwise a/* will match a/, which it should not.
- if (re !== '' && hasMagic) {
- re = '(?=.)' + re
- }
-
- if (addPatternStart) {
- re = patternStart + re
- }
-
- // parsing just a piece of a larger pattern.
- if (isSub === SUBPARSE) {
- return [re, hasMagic]
- }
-
- // skip the regexp for non-magical patterns
- // unescape anything in it, though, so that it'll be
- // an exact match against a file etc.
- if (!hasMagic) {
- return globUnescape(pattern)
- }
-
- var flags = options.nocase ? 'i' : ''
- var regExp = new RegExp('^' + re + '$', flags)
-
- regExp._glob = pattern
- regExp._src = re
-
- return regExp
-}
-
-minimatch.makeRe = function (pattern, options) {
- return new Minimatch(pattern, options || {}).makeRe()
-}
-
-Minimatch.prototype.makeRe = makeRe
-function makeRe () {
- if (this.regexp || this.regexp === false) return this.regexp
-
- // at this point, this.set is a 2d array of partial
- // pattern strings, or "**".
- //
- // It's better to use .match(). This function shouldn't
- // be used, really, but it's pretty convenient sometimes,
- // when you just want to work with a regex.
- var set = this.set
-
- if (!set.length) {
- this.regexp = false
- return this.regexp
- }
- var options = this.options
-
- var twoStar = options.noglobstar ? star
- : options.dot ? twoStarDot
- : twoStarNoDot
- var flags = options.nocase ? 'i' : ''
-
- var re = set.map(function (pattern) {
- return pattern.map(function (p) {
- return (p === GLOBSTAR) ? twoStar
- : (typeof p === 'string') ? regExpEscape(p)
- : p._src
- }).join('\\\/')
- }).join('|')
-
- // must match entire pattern
- // ending in a * or ** will make it less strict.
- re = '^(?:' + re + ')$'
-
- // can match anything, as long as it's not this.
- if (this.negate) re = '^(?!' + re + ').*$'
-
- try {
- this.regexp = new RegExp(re, flags)
- } catch (ex) {
- this.regexp = false
- }
- return this.regexp
-}
-
-minimatch.match = function (list, pattern, options) {
- options = options || {}
- var mm = new Minimatch(pattern, options)
- list = list.filter(function (f) {
- return mm.match(f)
- })
- if (mm.options.nonull && !list.length) {
- list.push(pattern)
- }
- return list
-}
-
-Minimatch.prototype.match = match
-function match (f, partial) {
- this.debug('match', f, this.pattern)
- // short-circuit in the case of busted things.
- // comments, etc.
- if (this.comment) return false
- if (this.empty) return f === ''
-
- if (f === '/' && partial) return true
-
- var options = this.options
-
- // windows: need to use /, not \
- if (path.sep !== '/') {
- f = f.split(path.sep).join('/')
- }
-
- // treat the test path as a set of pathparts.
- f = f.split(slashSplit)
- this.debug(this.pattern, 'split', f)
-
- // just ONE of the pattern sets in this.set needs to match
- // in order for it to be valid. If negating, then just one
- // match means that we have failed.
- // Either way, return on the first hit.
-
- var set = this.set
- this.debug(this.pattern, 'set', set)
-
- // Find the basename of the path by looking for the last non-empty segment
- var filename
- var i
- for (i = f.length - 1; i >= 0; i--) {
- filename = f[i]
- if (filename) break
- }
-
- for (i = 0; i < set.length; i++) {
- var pattern = set[i]
- var file = f
- if (options.matchBase && pattern.length === 1) {
- file = [filename]
- }
- var hit = this.matchOne(file, pattern, partial)
- if (hit) {
- if (options.flipNegate) return true
- return !this.negate
- }
- }
-
- // didn't get any hits. this is success if it's a negative
- // pattern, failure otherwise.
- if (options.flipNegate) return false
- return this.negate
-}
-
-// set partial to true to test if, for example,
-// "/a/b" matches the start of "/*/b/*/d"
-// Partial means, if you run out of file before you run
-// out of pattern, then that's fine, as long as all
-// the parts match.
-Minimatch.prototype.matchOne = function (file, pattern, partial) {
- var options = this.options
-
- this.debug('matchOne',
- { 'this': this, file: file, pattern: pattern })
-
- this.debug('matchOne', file.length, pattern.length)
-
- for (var fi = 0,
- pi = 0,
- fl = file.length,
- pl = pattern.length
- ; (fi < fl) && (pi < pl)
- ; fi++, pi++) {
- this.debug('matchOne loop')
- var p = pattern[pi]
- var f = file[fi]
-
- this.debug(pattern, p, f)
-
- // should be impossible.
- // some invalid regexp stuff in the set.
- if (p === false) return false
-
- if (p === GLOBSTAR) {
- this.debug('GLOBSTAR', [pattern, p, f])
-
- // "**"
- // a/**/b/**/c would match the following:
- // a/b/x/y/z/c
- // a/x/y/z/b/c
- // a/b/x/b/x/c
- // a/b/c
- // To do this, take the rest of the pattern after
- // the **, and see if it would match the file remainder.
- // If so, return success.
- // If not, the ** "swallows" a segment, and try again.
- // This is recursively awful.
- //
- // a/**/b/**/c matching a/b/x/y/z/c
- // - a matches a
- // - doublestar
- // - matchOne(b/x/y/z/c, b/**/c)
- // - b matches b
- // - doublestar
- // - matchOne(x/y/z/c, c) -> no
- // - matchOne(y/z/c, c) -> no
- // - matchOne(z/c, c) -> no
- // - matchOne(c, c) yes, hit
- var fr = fi
- var pr = pi + 1
- if (pr === pl) {
- this.debug('** at the end')
- // a ** at the end will just swallow the rest.
- // We have found a match.
- // however, it will not swallow /.x, unless
- // options.dot is set.
- // . and .. are *never* matched by **, for explosively
- // exponential reasons.
- for (; fi < fl; fi++) {
- if (file[fi] === '.' || file[fi] === '..' ||
- (!options.dot && file[fi].charAt(0) === '.')) return false
- }
- return true
- }
-
- // ok, let's see if we can swallow whatever we can.
- while (fr < fl) {
- var swallowee = file[fr]
-
- this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
-
- // XXX remove this slice. Just pass the start index.
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
- this.debug('globstar found match!', fr, fl, swallowee)
- // found a match.
- return true
- } else {
- // can't swallow "." or ".." ever.
- // can only swallow ".foo" when explicitly asked.
- if (swallowee === '.' || swallowee === '..' ||
- (!options.dot && swallowee.charAt(0) === '.')) {
- this.debug('dot detected!', file, fr, pattern, pr)
- break
- }
-
- // ** swallows a segment, and continue.
- this.debug('globstar swallow a segment, and continue')
- fr++
- }
- }
-
- // no match was found.
- // However, in partial mode, we can't say this is necessarily over.
- // If there's more *pattern* left, then
- if (partial) {
- // ran out of file
- this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
- if (fr === fl) return true
- }
- return false
- }
-
- // something other than **
- // non-magic patterns just have to match exactly
- // patterns with magic have been turned into regexps.
- var hit
- if (typeof p === 'string') {
- if (options.nocase) {
- hit = f.toLowerCase() === p.toLowerCase()
- } else {
- hit = f === p
- }
- this.debug('string match', p, f, hit)
- } else {
- hit = f.match(p)
- this.debug('pattern match', p, f, hit)
- }
-
- if (!hit) return false
- }
-
- // Note: ending in / means that we'll get a final ""
- // at the end of the pattern. This can only match a
- // corresponding "" at the end of the file.
- // If the file ends in /, then it can only match a
- // a pattern that ends in /, unless the pattern just
- // doesn't have any more for it. But, a/b/ should *not*
- // match "a/b/*", even though "" matches against the
- // [^/]*? pattern, except in partial mode, where it might
- // simply not be reached yet.
- // However, a/b/ should still satisfy a/*
-
- // now either we fell off the end of the pattern, or we're done.
- if (fi === fl && pi === pl) {
- // ran out of pattern and filename at the same time.
- // an exact hit!
- return true
- } else if (fi === fl) {
- // ran out of file, but still had pattern left.
- // this is ok if we're doing the match as part of
- // a glob fs traversal.
- return partial
- } else if (pi === pl) {
- // ran out of pattern, still have file left.
- // this is only acceptable if we're on the very last
- // empty segment of a file with a trailing slash.
- // a/* should match a/b/
- var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')
- return emptyFileEnd
- }
-
- // should be unreachable.
- throw new Error('wtf?')
-}
-
-// replace stuff like \* with *
-function globUnescape (s) {
- return s.replace(/\\(.)/g, '$1')
-}
-
-function regExpEscape (s) {
- return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
-}
-
-},{"brace-expansion":2,"path":undefined}],2:[function(require,module,exports){
-var concatMap = require('concat-map');
-var balanced = require('balanced-match');
-
-module.exports = expandTop;
-
-var escSlash = '\0SLASH'+Math.random()+'\0';
-var escOpen = '\0OPEN'+Math.random()+'\0';
-var escClose = '\0CLOSE'+Math.random()+'\0';
-var escComma = '\0COMMA'+Math.random()+'\0';
-var escPeriod = '\0PERIOD'+Math.random()+'\0';
-
-function numeric(str) {
- return parseInt(str, 10) == str
- ? parseInt(str, 10)
- : str.charCodeAt(0);
-}
-
-function escapeBraces(str) {
- return str.split('\\\\').join(escSlash)
- .split('\\{').join(escOpen)
- .split('\\}').join(escClose)
- .split('\\,').join(escComma)
- .split('\\.').join(escPeriod);
-}
-
-function unescapeBraces(str) {
- return str.split(escSlash).join('\\')
- .split(escOpen).join('{')
- .split(escClose).join('}')
- .split(escComma).join(',')
- .split(escPeriod).join('.');
-}
-
-
-// Basically just str.split(","), but handling cases
-// where we have nested braced sections, which should be
-// treated as individual members, like {a,{b,c},d}
-function parseCommaParts(str) {
- if (!str)
- return [''];
-
- var parts = [];
- var m = balanced('{', '}', str);
-
- if (!m)
- return str.split(',');
-
- var pre = m.pre;
- var body = m.body;
- var post = m.post;
- var p = pre.split(',');
-
- p[p.length-1] += '{' + body + '}';
- var postParts = parseCommaParts(post);
- if (post.length) {
- p[p.length-1] += postParts.shift();
- p.push.apply(p, postParts);
- }
-
- parts.push.apply(parts, p);
-
- return parts;
-}
-
-function expandTop(str) {
- if (!str)
- return [];
-
- var expansions = expand(escapeBraces(str));
- return expansions.filter(identity).map(unescapeBraces);
-}
-
-function identity(e) {
- return e;
-}
-
-function embrace(str) {
- return '{' + str + '}';
-}
-function isPadded(el) {
- return /^-?0\d/.test(el);
-}
-
-function lte(i, y) {
- return i <= y;
-}
-function gte(i, y) {
- return i >= y;
-}
-
-function expand(str) {
- var expansions = [];
-
- var m = balanced('{', '}', str);
- if (!m || /\$$/.test(m.pre)) return [str];
-
- var isNumericSequence = /^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(m.body);
- var isAlphaSequence = /^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(m.body);
- var isSequence = isNumericSequence || isAlphaSequence;
- var isOptions = /^(.*,)+(.+)?$/.test(m.body);
- if (!isSequence && !isOptions) {
- // {a},b}
- if (m.post.match(/,.*}/)) {
- str = m.pre + '{' + m.body + escClose + m.post;
- return expand(str);
- }
- return [str];
- }
-
- var n;
- if (isSequence) {
- n = m.body.split(/\.\./);
- } else {
- n = parseCommaParts(m.body);
- if (n.length === 1) {
- // x{{a,b}}y ==> x{a}y x{b}y
- n = expand(n[0]).map(embrace);
- if (n.length === 1) {
- var post = m.post.length
- ? expand(m.post)
- : [''];
- return post.map(function(p) {
- return m.pre + n[0] + p;
- });
- }
- }
- }
-
- // at this point, n is the parts, and we know it's not a comma set
- // with a single entry.
-
- // no need to expand pre, since it is guaranteed to be free of brace-sets
- var pre = m.pre;
- var post = m.post.length
- ? expand(m.post)
- : [''];
-
- var N;
-
- if (isSequence) {
- var x = numeric(n[0]);
- var y = numeric(n[1]);
- var width = Math.max(n[0].length, n[1].length)
- var incr = n.length == 3
- ? Math.abs(numeric(n[2]))
- : 1;
- var test = lte;
- var reverse = y < x;
- if (reverse) {
- incr *= -1;
- test = gte;
- }
- var pad = n.some(isPadded);
-
- N = [];
-
- for (var i = x; test(i, y); i += incr) {
- var c;
- if (isAlphaSequence) {
- c = String.fromCharCode(i);
- if (c === '\\')
- c = '';
- } else {
- c = String(i);
- if (pad) {
- var need = width - c.length;
- if (need > 0) {
- var z = new Array(need + 1).join('0');
- if (i < 0)
- c = '-' + z + c.slice(1);
- else
- c = z + c;
- }
- }
- }
- N.push(c);
- }
- } else {
- N = concatMap(n, function(el) { return expand(el) });
- }
-
- for (var j = 0; j < N.length; j++) {
- for (var k = 0; k < post.length; k++) {
- expansions.push([pre, N[j], post[k]].join(''))
- }
- }
-
- return expansions;
-}
-
-
-},{"balanced-match":3,"concat-map":4}],3:[function(require,module,exports){
-module.exports = balanced;
-function balanced(a, b, str) {
- var bal = 0;
- var m = {};
- var ended = false;
-
- for (var i = 0; i < str.length; i++) {
- if (a == str.substr(i, a.length)) {
- if (!('start' in m)) m.start = i;
- bal++;
- }
- else if (b == str.substr(i, b.length) && 'start' in m) {
- ended = true;
- bal--;
- if (!bal) {
- m.end = i;
- m.pre = str.substr(0, m.start);
- m.body = (m.end - m.start > 1)
- ? str.substring(m.start + a.length, m.end)
- : '';
- m.post = str.slice(m.end + b.length);
- return m;
- }
- }
- }
-
- // if we opened more than we closed, find the one we closed
- if (bal && ended) {
- var start = m.start + a.length;
- m = balanced(a, b, str.substr(start));
- if (m) {
- m.start += start;
- m.end += start;
- m.pre = str.slice(0, start) + m.pre;
- }
- return m;
- }
-}
-
-},{}],4:[function(require,module,exports){
-module.exports = function (xs, fn) {
- var res = [];
- for (var i = 0; i < xs.length; i++) {
- var x = fn(xs[i], i);
- if (Array.isArray(x)) res.push.apply(res, x);
- else res.push(x);
- }
- return res;
-};
-
-},{}]},{},[1])(1)
-}); \ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/minimatch.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/minimatch.js
deleted file mode 100644
index ec4c05c570..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/minimatch.js
+++ /dev/null
@@ -1,912 +0,0 @@
-module.exports = minimatch
-minimatch.Minimatch = Minimatch
-
-var path = { sep: '/' }
-try {
- path = require('path')
-} catch (er) {}
-
-var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
-var expand = require('brace-expansion')
-
-// any single thing other than /
-// don't need to escape / when using new RegExp()
-var qmark = '[^/]'
-
-// * => any number of characters
-var star = qmark + '*?'
-
-// ** when dots are allowed. Anything goes, except .. and .
-// not (^ or / followed by one or two dots followed by $ or /),
-// followed by anything, any number of times.
-var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
-
-// not a ^ or / followed by a dot,
-// followed by anything, any number of times.
-var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
-
-// characters that need to be escaped in RegExp.
-var reSpecials = charSet('().*{}+?[]^$\\!')
-
-// "abc" -> { a:true, b:true, c:true }
-function charSet (s) {
- return s.split('').reduce(function (set, c) {
- set[c] = true
- return set
- }, {})
-}
-
-// normalizes slashes.
-var slashSplit = /\/+/
-
-minimatch.filter = filter
-function filter (pattern, options) {
- options = options || {}
- return function (p, i, list) {
- return minimatch(p, pattern, options)
- }
-}
-
-function ext (a, b) {
- a = a || {}
- b = b || {}
- var t = {}
- Object.keys(b).forEach(function (k) {
- t[k] = b[k]
- })
- Object.keys(a).forEach(function (k) {
- t[k] = a[k]
- })
- return t
-}
-
-minimatch.defaults = function (def) {
- if (!def || !Object.keys(def).length) return minimatch
-
- var orig = minimatch
-
- var m = function minimatch (p, pattern, options) {
- return orig.minimatch(p, pattern, ext(def, options))
- }
-
- m.Minimatch = function Minimatch (pattern, options) {
- return new orig.Minimatch(pattern, ext(def, options))
- }
-
- return m
-}
-
-Minimatch.defaults = function (def) {
- if (!def || !Object.keys(def).length) return Minimatch
- return minimatch.defaults(def).Minimatch
-}
-
-function minimatch (p, pattern, options) {
- if (typeof pattern !== 'string') {
- throw new TypeError('glob pattern string required')
- }
-
- if (!options) options = {}
-
- // shortcut: comments match nothing.
- if (!options.nocomment && pattern.charAt(0) === '#') {
- return false
- }
-
- // "" only matches ""
- if (pattern.trim() === '') return p === ''
-
- return new Minimatch(pattern, options).match(p)
-}
-
-function Minimatch (pattern, options) {
- if (!(this instanceof Minimatch)) {
- return new Minimatch(pattern, options)
- }
-
- if (typeof pattern !== 'string') {
- throw new TypeError('glob pattern string required')
- }
-
- if (!options) options = {}
- pattern = pattern.trim()
-
- // windows support: need to use /, not \
- if (path.sep !== '/') {
- pattern = pattern.split(path.sep).join('/')
- }
-
- this.options = options
- this.set = []
- this.pattern = pattern
- this.regexp = null
- this.negate = false
- this.comment = false
- this.empty = false
-
- // make the set of regexps etc.
- this.make()
-}
-
-Minimatch.prototype.debug = function () {}
-
-Minimatch.prototype.make = make
-function make () {
- // don't do it more than once.
- if (this._made) return
-
- var pattern = this.pattern
- var options = this.options
-
- // empty patterns and comments match nothing.
- if (!options.nocomment && pattern.charAt(0) === '#') {
- this.comment = true
- return
- }
- if (!pattern) {
- this.empty = true
- return
- }
-
- // step 1: figure out negation, etc.
- this.parseNegate()
-
- // step 2: expand braces
- var set = this.globSet = this.braceExpand()
-
- if (options.debug) this.debug = console.error
-
- this.debug(this.pattern, set)
-
- // step 3: now we have a set, so turn each one into a series of path-portion
- // matching patterns.
- // These will be regexps, except in the case of "**", which is
- // set to the GLOBSTAR object for globstar behavior,
- // and will not contain any / characters
- set = this.globParts = set.map(function (s) {
- return s.split(slashSplit)
- })
-
- this.debug(this.pattern, set)
-
- // glob --> regexps
- set = set.map(function (s, si, set) {
- return s.map(this.parse, this)
- }, this)
-
- this.debug(this.pattern, set)
-
- // filter out everything that didn't compile properly.
- set = set.filter(function (s) {
- return s.indexOf(false) === -1
- })
-
- this.debug(this.pattern, set)
-
- this.set = set
-}
-
-Minimatch.prototype.parseNegate = parseNegate
-function parseNegate () {
- var pattern = this.pattern
- var negate = false
- var options = this.options
- var negateOffset = 0
-
- if (options.nonegate) return
-
- for (var i = 0, l = pattern.length
- ; i < l && pattern.charAt(i) === '!'
- ; i++) {
- negate = !negate
- negateOffset++
- }
-
- if (negateOffset) this.pattern = pattern.substr(negateOffset)
- this.negate = negate
-}
-
-// Brace expansion:
-// a{b,c}d -> abd acd
-// a{b,}c -> abc ac
-// a{0..3}d -> a0d a1d a2d a3d
-// a{b,c{d,e}f}g -> abg acdfg acefg
-// a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
-//
-// Invalid sets are not expanded.
-// a{2..}b -> a{2..}b
-// a{b}c -> a{b}c
-minimatch.braceExpand = function (pattern, options) {
- return braceExpand(pattern, options)
-}
-
-Minimatch.prototype.braceExpand = braceExpand
-
-function braceExpand (pattern, options) {
- if (!options) {
- if (this instanceof Minimatch) {
- options = this.options
- } else {
- options = {}
- }
- }
-
- pattern = typeof pattern === 'undefined'
- ? this.pattern : pattern
-
- if (typeof pattern === 'undefined') {
- throw new Error('undefined pattern')
- }
-
- if (options.nobrace ||
- !pattern.match(/\{.*\}/)) {
- // shortcut. no need to expand.
- return [pattern]
- }
-
- return expand(pattern)
-}
-
-// parse a component of the expanded set.
-// At this point, no pattern may contain "/" in it
-// so we're going to return a 2d array, where each entry is the full
-// pattern, split on '/', and then turned into a regular expression.
-// A regexp is made at the end which joins each array with an
-// escaped /, and another full one which joins each regexp with |.
-//
-// Following the lead of Bash 4.1, note that "**" only has special meaning
-// when it is the *only* thing in a path portion. Otherwise, any series
-// of * is equivalent to a single *. Globstar behavior is enabled by
-// default, and can be disabled by setting options.noglobstar.
-Minimatch.prototype.parse = parse
-var SUBPARSE = {}
-function parse (pattern, isSub) {
- var options = this.options
-
- // shortcuts
- if (!options.noglobstar && pattern === '**') return GLOBSTAR
- if (pattern === '') return ''
-
- var re = ''
- var hasMagic = !!options.nocase
- var escaping = false
- // ? => one single character
- var patternListStack = []
- var negativeLists = []
- var plType
- var stateChar
- var inClass = false
- var reClassStart = -1
- var classStart = -1
- // . and .. never match anything that doesn't start with .,
- // even when options.dot is set.
- var patternStart = pattern.charAt(0) === '.' ? '' // anything
- // not (start or / followed by . or .. followed by / or end)
- : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
- : '(?!\\.)'
- var self = this
-
- function clearStateChar () {
- if (stateChar) {
- // we had some state-tracking character
- // that wasn't consumed by this pass.
- switch (stateChar) {
- case '*':
- re += star
- hasMagic = true
- break
- case '?':
- re += qmark
- hasMagic = true
- break
- default:
- re += '\\' + stateChar
- break
- }
- self.debug('clearStateChar %j %j', stateChar, re)
- stateChar = false
- }
- }
-
- for (var i = 0, len = pattern.length, c
- ; (i < len) && (c = pattern.charAt(i))
- ; i++) {
- this.debug('%s\t%s %s %j', pattern, i, re, c)
-
- // skip over any that are escaped.
- if (escaping && reSpecials[c]) {
- re += '\\' + c
- escaping = false
- continue
- }
-
- switch (c) {
- case '/':
- // completely not allowed, even escaped.
- // Should already be path-split by now.
- return false
-
- case '\\':
- clearStateChar()
- escaping = true
- continue
-
- // the various stateChar values
- // for the "extglob" stuff.
- case '?':
- case '*':
- case '+':
- case '@':
- case '!':
- this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
-
- // all of those are literals inside a class, except that
- // the glob [!a] means [^a] in regexp
- if (inClass) {
- this.debug(' in class')
- if (c === '!' && i === classStart + 1) c = '^'
- re += c
- continue
- }
-
- // if we already have a stateChar, then it means
- // that there was something like ** or +? in there.
- // Handle the stateChar, then proceed with this one.
- self.debug('call clearStateChar %j', stateChar)
- clearStateChar()
- stateChar = c
- // if extglob is disabled, then +(asdf|foo) isn't a thing.
- // just clear the statechar *now*, rather than even diving into
- // the patternList stuff.
- if (options.noext) clearStateChar()
- continue
-
- case '(':
- if (inClass) {
- re += '('
- continue
- }
-
- if (!stateChar) {
- re += '\\('
- continue
- }
-
- plType = stateChar
- patternListStack.push({
- type: plType,
- start: i - 1,
- reStart: re.length
- })
- // negation is (?:(?!js)[^/]*)
- re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
- this.debug('plType %j %j', stateChar, re)
- stateChar = false
- continue
-
- case ')':
- if (inClass || !patternListStack.length) {
- re += '\\)'
- continue
- }
-
- clearStateChar()
- hasMagic = true
- re += ')'
- var pl = patternListStack.pop()
- plType = pl.type
- // negation is (?:(?!js)[^/]*)
- // The others are (?:<pattern>)<type>
- switch (plType) {
- case '!':
- negativeLists.push(pl)
- re += ')[^/]*?)'
- pl.reEnd = re.length
- break
- case '?':
- case '+':
- case '*':
- re += plType
- break
- case '@': break // the default anyway
- }
- continue
-
- case '|':
- if (inClass || !patternListStack.length || escaping) {
- re += '\\|'
- escaping = false
- continue
- }
-
- clearStateChar()
- re += '|'
- continue
-
- // these are mostly the same in regexp and glob
- case '[':
- // swallow any state-tracking char before the [
- clearStateChar()
-
- if (inClass) {
- re += '\\' + c
- continue
- }
-
- inClass = true
- classStart = i
- reClassStart = re.length
- re += c
- continue
-
- case ']':
- // a right bracket shall lose its special
- // meaning and represent itself in
- // a bracket expression if it occurs
- // first in the list. -- POSIX.2 2.8.3.2
- if (i === classStart + 1 || !inClass) {
- re += '\\' + c
- escaping = false
- continue
- }
-
- // handle the case where we left a class open.
- // "[z-a]" is valid, equivalent to "\[z-a\]"
- if (inClass) {
- // split where the last [ was, make sure we don't have
- // an invalid re. if so, re-walk the contents of the
- // would-be class to re-translate any characters that
- // were passed through as-is
- // TODO: It would probably be faster to determine this
- // without a try/catch and a new RegExp, but it's tricky
- // to do safely. For now, this is safe and works.
- var cs = pattern.substring(classStart + 1, i)
- try {
- RegExp('[' + cs + ']')
- } catch (er) {
- // not a valid class!
- var sp = this.parse(cs, SUBPARSE)
- re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
- hasMagic = hasMagic || sp[1]
- inClass = false
- continue
- }
- }
-
- // finish up the class.
- hasMagic = true
- inClass = false
- re += c
- continue
-
- default:
- // swallow any state char that wasn't consumed
- clearStateChar()
-
- if (escaping) {
- // no need
- escaping = false
- } else if (reSpecials[c]
- && !(c === '^' && inClass)) {
- re += '\\'
- }
-
- re += c
-
- } // switch
- } // for
-
- // handle the case where we left a class open.
- // "[abc" is valid, equivalent to "\[abc"
- if (inClass) {
- // split where the last [ was, and escape it
- // this is a huge pita. We now have to re-walk
- // the contents of the would-be class to re-translate
- // any characters that were passed through as-is
- cs = pattern.substr(classStart + 1)
- sp = this.parse(cs, SUBPARSE)
- re = re.substr(0, reClassStart) + '\\[' + sp[0]
- hasMagic = hasMagic || sp[1]
- }
-
- // handle the case where we had a +( thing at the *end*
- // of the pattern.
- // each pattern list stack adds 3 chars, and we need to go through
- // and escape any | chars that were passed through as-is for the regexp.
- // Go through and escape them, taking care not to double-escape any
- // | chars that were already escaped.
- for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
- var tail = re.slice(pl.reStart + 3)
- // maybe some even number of \, then maybe 1 \, followed by a |
- tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
- if (!$2) {
- // the | isn't already escaped, so escape it.
- $2 = '\\'
- }
-
- // need to escape all those slashes *again*, without escaping the
- // one that we need for escaping the | character. As it works out,
- // escaping an even number of slashes can be done by simply repeating
- // it exactly after itself. That's why this trick works.
- //
- // I am sorry that you have to see this.
- return $1 + $1 + $2 + '|'
- })
-
- this.debug('tail=%j\n %s', tail, tail)
- var t = pl.type === '*' ? star
- : pl.type === '?' ? qmark
- : '\\' + pl.type
-
- hasMagic = true
- re = re.slice(0, pl.reStart) + t + '\\(' + tail
- }
-
- // handle trailing things that only matter at the very end.
- clearStateChar()
- if (escaping) {
- // trailing \\
- re += '\\\\'
- }
-
- // only need to apply the nodot start if the re starts with
- // something that could conceivably capture a dot
- var addPatternStart = false
- switch (re.charAt(0)) {
- case '.':
- case '[':
- case '(': addPatternStart = true
- }
-
- // Hack to work around lack of negative lookbehind in JS
- // A pattern like: *.!(x).!(y|z) needs to ensure that a name
- // like 'a.xyz.yz' doesn't match. So, the first negative
- // lookahead, has to look ALL the way ahead, to the end of
- // the pattern.
- for (var n = negativeLists.length - 1; n > -1; n--) {
- var nl = negativeLists[n]
-
- var nlBefore = re.slice(0, nl.reStart)
- var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
- var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
- var nlAfter = re.slice(nl.reEnd)
-
- nlLast += nlAfter
-
- // Handle nested stuff like *(*.js|!(*.json)), where open parens
- // mean that we should *not* include the ) in the bit that is considered
- // "after" the negated section.
- var openParensBefore = nlBefore.split('(').length - 1
- var cleanAfter = nlAfter
- for (i = 0; i < openParensBefore; i++) {
- cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
- }
- nlAfter = cleanAfter
-
- var dollar = ''
- if (nlAfter === '' && isSub !== SUBPARSE) {
- dollar = '$'
- }
- var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
- re = newRe
- }
-
- // if the re is not "" at this point, then we need to make sure
- // it doesn't match against an empty path part.
- // Otherwise a/* will match a/, which it should not.
- if (re !== '' && hasMagic) {
- re = '(?=.)' + re
- }
-
- if (addPatternStart) {
- re = patternStart + re
- }
-
- // parsing just a piece of a larger pattern.
- if (isSub === SUBPARSE) {
- return [re, hasMagic]
- }
-
- // skip the regexp for non-magical patterns
- // unescape anything in it, though, so that it'll be
- // an exact match against a file etc.
- if (!hasMagic) {
- return globUnescape(pattern)
- }
-
- var flags = options.nocase ? 'i' : ''
- var regExp = new RegExp('^' + re + '$', flags)
-
- regExp._glob = pattern
- regExp._src = re
-
- return regExp
-}
-
-minimatch.makeRe = function (pattern, options) {
- return new Minimatch(pattern, options || {}).makeRe()
-}
-
-Minimatch.prototype.makeRe = makeRe
-function makeRe () {
- if (this.regexp || this.regexp === false) return this.regexp
-
- // at this point, this.set is a 2d array of partial
- // pattern strings, or "**".
- //
- // It's better to use .match(). This function shouldn't
- // be used, really, but it's pretty convenient sometimes,
- // when you just want to work with a regex.
- var set = this.set
-
- if (!set.length) {
- this.regexp = false
- return this.regexp
- }
- var options = this.options
-
- var twoStar = options.noglobstar ? star
- : options.dot ? twoStarDot
- : twoStarNoDot
- var flags = options.nocase ? 'i' : ''
-
- var re = set.map(function (pattern) {
- return pattern.map(function (p) {
- return (p === GLOBSTAR) ? twoStar
- : (typeof p === 'string') ? regExpEscape(p)
- : p._src
- }).join('\\\/')
- }).join('|')
-
- // must match entire pattern
- // ending in a * or ** will make it less strict.
- re = '^(?:' + re + ')$'
-
- // can match anything, as long as it's not this.
- if (this.negate) re = '^(?!' + re + ').*$'
-
- try {
- this.regexp = new RegExp(re, flags)
- } catch (ex) {
- this.regexp = false
- }
- return this.regexp
-}
-
-minimatch.match = function (list, pattern, options) {
- options = options || {}
- var mm = new Minimatch(pattern, options)
- list = list.filter(function (f) {
- return mm.match(f)
- })
- if (mm.options.nonull && !list.length) {
- list.push(pattern)
- }
- return list
-}
-
-Minimatch.prototype.match = match
-function match (f, partial) {
- this.debug('match', f, this.pattern)
- // short-circuit in the case of busted things.
- // comments, etc.
- if (this.comment) return false
- if (this.empty) return f === ''
-
- if (f === '/' && partial) return true
-
- var options = this.options
-
- // windows: need to use /, not \
- if (path.sep !== '/') {
- f = f.split(path.sep).join('/')
- }
-
- // treat the test path as a set of pathparts.
- f = f.split(slashSplit)
- this.debug(this.pattern, 'split', f)
-
- // just ONE of the pattern sets in this.set needs to match
- // in order for it to be valid. If negating, then just one
- // match means that we have failed.
- // Either way, return on the first hit.
-
- var set = this.set
- this.debug(this.pattern, 'set', set)
-
- // Find the basename of the path by looking for the last non-empty segment
- var filename
- var i
- for (i = f.length - 1; i >= 0; i--) {
- filename = f[i]
- if (filename) break
- }
-
- for (i = 0; i < set.length; i++) {
- var pattern = set[i]
- var file = f
- if (options.matchBase && pattern.length === 1) {
- file = [filename]
- }
- var hit = this.matchOne(file, pattern, partial)
- if (hit) {
- if (options.flipNegate) return true
- return !this.negate
- }
- }
-
- // didn't get any hits. this is success if it's a negative
- // pattern, failure otherwise.
- if (options.flipNegate) return false
- return this.negate
-}
-
-// set partial to true to test if, for example,
-// "/a/b" matches the start of "/*/b/*/d"
-// Partial means, if you run out of file before you run
-// out of pattern, then that's fine, as long as all
-// the parts match.
-Minimatch.prototype.matchOne = function (file, pattern, partial) {
- var options = this.options
-
- this.debug('matchOne',
- { 'this': this, file: file, pattern: pattern })
-
- this.debug('matchOne', file.length, pattern.length)
-
- for (var fi = 0,
- pi = 0,
- fl = file.length,
- pl = pattern.length
- ; (fi < fl) && (pi < pl)
- ; fi++, pi++) {
- this.debug('matchOne loop')
- var p = pattern[pi]
- var f = file[fi]
-
- this.debug(pattern, p, f)
-
- // should be impossible.
- // some invalid regexp stuff in the set.
- if (p === false) return false
-
- if (p === GLOBSTAR) {
- this.debug('GLOBSTAR', [pattern, p, f])
-
- // "**"
- // a/**/b/**/c would match the following:
- // a/b/x/y/z/c
- // a/x/y/z/b/c
- // a/b/x/b/x/c
- // a/b/c
- // To do this, take the rest of the pattern after
- // the **, and see if it would match the file remainder.
- // If so, return success.
- // If not, the ** "swallows" a segment, and try again.
- // This is recursively awful.
- //
- // a/**/b/**/c matching a/b/x/y/z/c
- // - a matches a
- // - doublestar
- // - matchOne(b/x/y/z/c, b/**/c)
- // - b matches b
- // - doublestar
- // - matchOne(x/y/z/c, c) -> no
- // - matchOne(y/z/c, c) -> no
- // - matchOne(z/c, c) -> no
- // - matchOne(c, c) yes, hit
- var fr = fi
- var pr = pi + 1
- if (pr === pl) {
- this.debug('** at the end')
- // a ** at the end will just swallow the rest.
- // We have found a match.
- // however, it will not swallow /.x, unless
- // options.dot is set.
- // . and .. are *never* matched by **, for explosively
- // exponential reasons.
- for (; fi < fl; fi++) {
- if (file[fi] === '.' || file[fi] === '..' ||
- (!options.dot && file[fi].charAt(0) === '.')) return false
- }
- return true
- }
-
- // ok, let's see if we can swallow whatever we can.
- while (fr < fl) {
- var swallowee = file[fr]
-
- this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
-
- // XXX remove this slice. Just pass the start index.
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
- this.debug('globstar found match!', fr, fl, swallowee)
- // found a match.
- return true
- } else {
- // can't swallow "." or ".." ever.
- // can only swallow ".foo" when explicitly asked.
- if (swallowee === '.' || swallowee === '..' ||
- (!options.dot && swallowee.charAt(0) === '.')) {
- this.debug('dot detected!', file, fr, pattern, pr)
- break
- }
-
- // ** swallows a segment, and continue.
- this.debug('globstar swallow a segment, and continue')
- fr++
- }
- }
-
- // no match was found.
- // However, in partial mode, we can't say this is necessarily over.
- // If there's more *pattern* left, then
- if (partial) {
- // ran out of file
- this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
- if (fr === fl) return true
- }
- return false
- }
-
- // something other than **
- // non-magic patterns just have to match exactly
- // patterns with magic have been turned into regexps.
- var hit
- if (typeof p === 'string') {
- if (options.nocase) {
- hit = f.toLowerCase() === p.toLowerCase()
- } else {
- hit = f === p
- }
- this.debug('string match', p, f, hit)
- } else {
- hit = f.match(p)
- this.debug('pattern match', p, f, hit)
- }
-
- if (!hit) return false
- }
-
- // Note: ending in / means that we'll get a final ""
- // at the end of the pattern. This can only match a
- // corresponding "" at the end of the file.
- // If the file ends in /, then it can only match a
- // a pattern that ends in /, unless the pattern just
- // doesn't have any more for it. But, a/b/ should *not*
- // match "a/b/*", even though "" matches against the
- // [^/]*? pattern, except in partial mode, where it might
- // simply not be reached yet.
- // However, a/b/ should still satisfy a/*
-
- // now either we fell off the end of the pattern, or we're done.
- if (fi === fl && pi === pl) {
- // ran out of pattern and filename at the same time.
- // an exact hit!
- return true
- } else if (fi === fl) {
- // ran out of file, but still had pattern left.
- // this is ok if we're doing the match as part of
- // a glob fs traversal.
- return partial
- } else if (pi === pl) {
- // ran out of pattern, still have file left.
- // this is only acceptable if we're on the very last
- // empty segment of a file with a trailing slash.
- // a/* should match a/b/
- var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')
- return emptyFileEnd
- }
-
- // should be unreachable.
- throw new Error('wtf?')
-}
-
-// replace stuff like \* with *
-function globUnescape (s) {
- return s.replace(/\\(.)/g, '$1')
-}
-
-function regExpEscape (s) {
- return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js
deleted file mode 100644
index 36cde4de5c..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js
+++ /dev/null
@@ -1,7 +0,0 @@
-var expand = require('./');
-
-console.log(expand('http://any.org/archive{1996..1999}/vol{1..4}/part{a,b,c}.html'));
-console.log(expand('http://www.numericals.com/file{1..100..10}.txt'));
-console.log(expand('http://www.letters.com/file{a..z..2}.txt'));
-console.log(expand('mkdir /usr/local/src/bash/{old,new,dist,bugs}'));
-console.log(expand('chown root /usr/{ucb/{ex,edit},lib/{ex?.?*,how_ex}}'));
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore
deleted file mode 100644
index fd4f2b066b..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules
-.DS_Store
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml
deleted file mode 100644
index 6e5919de39..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml
+++ /dev/null
@@ -1,3 +0,0 @@
-language: node_js
-node_js:
- - "0.10"
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
deleted file mode 100644
index dd2730cfde..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-
-test:
- @node_modules/.bin/tape test/*.js
-
-.PHONY: test
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
deleted file mode 100644
index 9ce76f480a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js
+++ /dev/null
@@ -1,4 +0,0 @@
-var balanced = require('./');
-
-console.log(balanced('{', '}', 'pre{in{nested}}post'));
-console.log(balanced('{', '}', 'pre{first}between{second}post'));
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
deleted file mode 100644
index ac0c6aaca5..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
+++ /dev/null
@@ -1,98 +0,0 @@
-{
- "_args": [
- [
- "balanced-match@^0.3.0",
- "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion"
- ]
- ],
- "_from": "balanced-match@>=0.3.0 <0.4.0",
- "_id": "balanced-match@0.3.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/glob/minimatch/brace-expansion/balanced-match",
- "_nodeVersion": "4.2.1",
- "_npmUser": {
- "email": "julian@juliangruber.com",
- "name": "juliangruber"
- },
- "_npmVersion": "2.14.7",
- "_phantomChildren": {},
- "_requested": {
- "name": "balanced-match",
- "raw": "balanced-match@^0.3.0",
- "rawSpec": "^0.3.0",
- "scope": null,
- "spec": ">=0.3.0 <0.4.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/glob/minimatch/brace-expansion"
- ],
- "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz",
- "_shasum": "a91cdd1ebef1a86659e70ff4def01625fc2d6756",
- "_shrinkwrap": null,
- "_spec": "balanced-match@^0.3.0",
- "_where": "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion",
- "author": {
- "email": "mail@juliangruber.com",
- "name": "Julian Gruber",
- "url": "http://juliangruber.com"
- },
- "bugs": {
- "url": "https://github.com/juliangruber/balanced-match/issues"
- },
- "dependencies": {},
- "description": "Match balanced character pairs, like \"{\" and \"}\"",
- "devDependencies": {
- "tape": "~4.2.2"
- },
- "directories": {},
- "dist": {
- "shasum": "a91cdd1ebef1a86659e70ff4def01625fc2d6756",
- "tarball": "http://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz"
- },
- "gitHead": "a7114b0986554787e90b7ac595a043ca75ea77e5",
- "homepage": "https://github.com/juliangruber/balanced-match",
- "keywords": [
- "balanced",
- "match",
- "parse",
- "regexp",
- "test"
- ],
- "license": "MIT",
- "main": "index.js",
- "maintainers": [
- {
- "name": "juliangruber",
- "email": "julian@juliangruber.com"
- }
- ],
- "name": "balanced-match",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git://github.com/juliangruber/balanced-match.git"
- },
- "scripts": {
- "test": "make test"
- },
- "testling": {
- "browsers": [
- "android-browser/4.2..latest",
- "chrome/25..latest",
- "chrome/canary",
- "firefox/20..latest",
- "firefox/nightly",
- "ie/8..latest",
- "ipad/6.0..latest",
- "iphone/6.0..latest",
- "opera/12..latest",
- "opera/next",
- "safari/5.1..latest"
- ],
- "files": "test/*.js"
- },
- "version": "0.3.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js
deleted file mode 100644
index f5e98e3f2a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js
+++ /dev/null
@@ -1,84 +0,0 @@
-var test = require('tape');
-var balanced = require('..');
-
-test('balanced', function(t) {
- t.deepEqual(balanced('{', '}', 'pre{in{nest}}post'), {
- start: 3,
- end: 12,
- pre: 'pre',
- body: 'in{nest}',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', '{{{{{{{{{in}post'), {
- start: 8,
- end: 11,
- pre: '{{{{{{{{',
- body: 'in',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', 'pre{body{in}post'), {
- start: 8,
- end: 11,
- pre: 'pre{body',
- body: 'in',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', 'pre}{in{nest}}post'), {
- start: 4,
- end: 13,
- pre: 'pre}',
- body: 'in{nest}',
- post: 'post'
- });
- t.deepEqual(balanced('{', '}', 'pre{body}between{body2}post'), {
- start: 3,
- end: 8,
- pre: 'pre',
- body: 'body',
- post: 'between{body2}post'
- });
- t.notOk(balanced('{', '}', 'nope'), 'should be notOk');
- t.deepEqual(balanced('<b>', '</b>', 'pre<b>in<b>nest</b></b>post'), {
- start: 3,
- end: 19,
- pre: 'pre',
- body: 'in<b>nest</b>',
- post: 'post'
- });
- t.deepEqual(balanced('<b>', '</b>', 'pre</b><b>in<b>nest</b></b>post'), {
- start: 7,
- end: 23,
- pre: 'pre</b>',
- body: 'in<b>nest</b>',
- post: 'post'
- });
- t.deepEqual(balanced('{{', '}}', 'pre{{{in}}}post'), {
- start: 3,
- end: 9,
- pre: 'pre',
- body: '{in}',
- post: 'post'
- });
- t.deepEqual(balanced('{{{', '}}', 'pre{{{in}}}post'), {
- start: 3,
- end: 8,
- pre: 'pre',
- body: 'in',
- post: '}post'
- });
- t.deepEqual(balanced('{', '}', 'pre{{first}in{second}post'), {
- start: 4,
- end: 10,
- pre: 'pre{',
- body: 'first',
- post: 'in{second}post'
- });
- t.deepEqual(balanced('<?', '?>', 'pre<?>post'), {
- start: 3,
- end: 4,
- pre: 'pre',
- body: '',
- post: 'post'
- });
- t.end();
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json
deleted file mode 100644
index 3dc6beb49f..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/package.json
+++ /dev/null
@@ -1,63 +0,0 @@
-{
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me"
- },
- "name": "minimatch",
- "description": "a glob matcher in javascript",
- "version": "2.0.10",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/minimatch.git"
- },
- "main": "minimatch.js",
- "scripts": {
- "posttest": "standard minimatch.js test/*.js",
- "test": "tap test/*.js",
- "prepublish": "browserify -o browser.js -e minimatch.js -s minimatch --bare"
- },
- "engines": {
- "node": "*"
- },
- "dependencies": {
- "brace-expansion": "^1.0.0"
- },
- "devDependencies": {
- "browserify": "^9.0.3",
- "standard": "^3.7.2",
- "tap": "^1.2.0"
- },
- "license": "ISC",
- "files": [
- "minimatch.js",
- "browser.js"
- ],
- "gitHead": "6afb85f0c324b321f76a38df81891e562693e257",
- "bugs": {
- "url": "https://github.com/isaacs/minimatch/issues"
- },
- "homepage": "https://github.com/isaacs/minimatch#readme",
- "_id": "minimatch@2.0.10",
- "_shasum": "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7",
- "_from": "minimatch@>=2.0.1 <3.0.0",
- "_npmVersion": "3.1.0",
- "_nodeVersion": "2.2.1",
- "_npmUser": {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- "dist": {
- "shasum": "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7",
- "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "directories": {},
- "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
deleted file mode 100644
index 434e4696f8..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
+++ /dev/null
@@ -1,72 +0,0 @@
-{
- "author": {
- "name": "Isaac Z. Schlueter",
- "email": "i@izs.me",
- "url": "http://blog.izs.me/"
- },
- "name": "glob",
- "description": "a little globber",
- "version": "4.5.3",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-glob.git"
- },
- "main": "glob.js",
- "files": [
- "glob.js",
- "sync.js",
- "common.js"
- ],
- "engines": {
- "node": "*"
- },
- "dependencies": {
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^2.0.1",
- "once": "^1.3.0"
- },
- "devDependencies": {
- "mkdirp": "0",
- "rimraf": "^2.2.8",
- "tap": "^0.5.0",
- "tick": "0.0.6"
- },
- "scripts": {
- "prepublish": "npm run benchclean",
- "profclean": "rm -f v8.log profile.txt",
- "test": "npm run profclean && tap test/*.js",
- "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js",
- "bench": "bash benchmark.sh",
- "prof": "bash prof.sh && cat profile.txt",
- "benchclean": "bash benchclean.sh"
- },
- "license": "ISC",
- "gitHead": "a4e461ab59a837eee80a4d8dbdbf5ae1054a646f",
- "bugs": {
- "url": "https://github.com/isaacs/node-glob/issues"
- },
- "homepage": "https://github.com/isaacs/node-glob",
- "_id": "glob@4.5.3",
- "_shasum": "c6cb73d3226c1efef04de3c56d012f03377ee15f",
- "_from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0",
- "_npmVersion": "2.7.1",
- "_nodeVersion": "1.4.2",
- "_npmUser": {
- "name": "isaacs",
- "email": "i@izs.me"
- },
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "dist": {
- "shasum": "c6cb73d3226c1efef04de3c56d012f03377ee15f",
- "tarball": "http://registry.npmjs.org/glob/-/glob-4.5.3.tgz"
- },
- "directories": {},
- "_resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
- "readme": "ERROR: No README data found!"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/sync.js b/deps/npm/node_modules/node-gyp/node_modules/glob/sync.js
deleted file mode 100644
index f4f5e36d4b..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/sync.js
+++ /dev/null
@@ -1,457 +0,0 @@
-module.exports = globSync
-globSync.GlobSync = GlobSync
-
-var fs = require('fs')
-var minimatch = require('minimatch')
-var Minimatch = minimatch.Minimatch
-var Glob = require('./glob.js').Glob
-var util = require('util')
-var path = require('path')
-var assert = require('assert')
-var common = require('./common.js')
-var alphasort = common.alphasort
-var alphasorti = common.alphasorti
-var isAbsolute = common.isAbsolute
-var setopts = common.setopts
-var ownProp = common.ownProp
-var childrenIgnored = common.childrenIgnored
-
-function globSync (pattern, options) {
- if (typeof options === 'function' || arguments.length === 3)
- throw new TypeError('callback provided to sync glob\n'+
- 'See: https://github.com/isaacs/node-glob/issues/167')
-
- return new GlobSync(pattern, options).found
-}
-
-function GlobSync (pattern, options) {
- if (!pattern)
- throw new Error('must provide pattern')
-
- if (typeof options === 'function' || arguments.length === 3)
- throw new TypeError('callback provided to sync glob\n'+
- 'See: https://github.com/isaacs/node-glob/issues/167')
-
- if (!(this instanceof GlobSync))
- return new GlobSync(pattern, options)
-
- setopts(this, pattern, options)
-
- if (this.noprocess)
- return this
-
- var n = this.minimatch.set.length
- this.matches = new Array(n)
- for (var i = 0; i < n; i ++) {
- this._process(this.minimatch.set[i], i, false)
- }
- this._finish()
-}
-
-GlobSync.prototype._finish = function () {
- assert(this instanceof GlobSync)
- if (this.realpath) {
- var self = this
- this.matches.forEach(function (matchset, index) {
- var set = self.matches[index] = Object.create(null)
- for (var p in matchset) {
- try {
- p = self._makeAbs(p)
- var real = fs.realpathSync(p, this.realpathCache)
- set[real] = true
- } catch (er) {
- if (er.syscall === 'stat')
- set[self._makeAbs(p)] = true
- else
- throw er
- }
- }
- })
- }
- common.finish(this)
-}
-
-
-GlobSync.prototype._process = function (pattern, index, inGlobStar) {
- assert(this instanceof GlobSync)
-
- // Get the first [n] parts of pattern that are all strings.
- var n = 0
- while (typeof pattern[n] === 'string') {
- n ++
- }
- // now n is the index of the first one that is *not* a string.
-
- // See if there's anything else
- var prefix
- switch (n) {
- // if not, then this is rather simple
- case pattern.length:
- this._processSimple(pattern.join('/'), index)
- return
-
- case 0:
- // pattern *starts* with some non-trivial item.
- // going to readdir(cwd), but not include the prefix in matches.
- prefix = null
- break
-
- default:
- // pattern has some string bits in the front.
- // whatever it starts with, whether that's 'absolute' like /foo/bar,
- // or 'relative' like '../baz'
- prefix = pattern.slice(0, n).join('/')
- break
- }
-
- var remain = pattern.slice(n)
-
- // get the list of entries.
- var read
- if (prefix === null)
- read = '.'
- else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {
- if (!prefix || !isAbsolute(prefix))
- prefix = '/' + prefix
- read = prefix
- } else
- read = prefix
-
- var abs = this._makeAbs(read)
-
- //if ignored, skip processing
- if (childrenIgnored(this, read))
- return
-
- var isGlobStar = remain[0] === minimatch.GLOBSTAR
- if (isGlobStar)
- this._processGlobStar(prefix, read, abs, remain, index, inGlobStar)
- else
- this._processReaddir(prefix, read, abs, remain, index, inGlobStar)
-}
-
-
-GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index, inGlobStar) {
- var entries = this._readdir(abs, inGlobStar)
-
- // if the abs isn't a dir, then nothing can match!
- if (!entries)
- return
-
- // It will only match dot entries if it starts with a dot, or if
- // dot is set. Stuff like @(.foo|.bar) isn't allowed.
- var pn = remain[0]
- var negate = !!this.minimatch.negate
- var rawGlob = pn._glob
- var dotOk = this.dot || rawGlob.charAt(0) === '.'
-
- var matchedEntries = []
- for (var i = 0; i < entries.length; i++) {
- var e = entries[i]
- if (e.charAt(0) !== '.' || dotOk) {
- var m
- if (negate && !prefix) {
- m = !e.match(pn)
- } else {
- m = e.match(pn)
- }
- if (m)
- matchedEntries.push(e)
- }
- }
-
- var len = matchedEntries.length
- // If there are no matched entries, then nothing matches.
- if (len === 0)
- return
-
- // if this is the last remaining pattern bit, then no need for
- // an additional stat *unless* the user has specified mark or
- // stat explicitly. We know they exist, since readdir returned
- // them.
-
- if (remain.length === 1 && !this.mark && !this.stat) {
- if (!this.matches[index])
- this.matches[index] = Object.create(null)
-
- for (var i = 0; i < len; i ++) {
- var e = matchedEntries[i]
- if (prefix) {
- if (prefix.slice(-1) !== '/')
- e = prefix + '/' + e
- else
- e = prefix + e
- }
-
- if (e.charAt(0) === '/' && !this.nomount) {
- e = path.join(this.root, e)
- }
- this.matches[index][e] = true
- }
- // This was the last one, and no stats were needed
- return
- }
-
- // now test all matched entries as stand-ins for that part
- // of the pattern.
- remain.shift()
- for (var i = 0; i < len; i ++) {
- var e = matchedEntries[i]
- var newPattern
- if (prefix)
- newPattern = [prefix, e]
- else
- newPattern = [e]
- this._process(newPattern.concat(remain), index, inGlobStar)
- }
-}
-
-
-GlobSync.prototype._emitMatch = function (index, e) {
- var abs = this._makeAbs(e)
- if (this.mark)
- e = this._mark(e)
-
- if (this.matches[index][e])
- return
-
- if (this.nodir) {
- var c = this.cache[this._makeAbs(e)]
- if (c === 'DIR' || Array.isArray(c))
- return
- }
-
- this.matches[index][e] = true
- if (this.stat)
- this._stat(e)
-}
-
-
-GlobSync.prototype._readdirInGlobStar = function (abs) {
- // follow all symlinked directories forever
- // just proceed as if this is a non-globstar situation
- if (this.follow)
- return this._readdir(abs, false)
-
- var entries
- var lstat
- var stat
- try {
- lstat = fs.lstatSync(abs)
- } catch (er) {
- // lstat failed, doesn't exist
- return null
- }
-
- var isSym = lstat.isSymbolicLink()
- this.symlinks[abs] = isSym
-
- // If it's not a symlink or a dir, then it's definitely a regular file.
- // don't bother doing a readdir in that case.
- if (!isSym && !lstat.isDirectory())
- this.cache[abs] = 'FILE'
- else
- entries = this._readdir(abs, false)
-
- return entries
-}
-
-GlobSync.prototype._readdir = function (abs, inGlobStar) {
- var entries
-
- if (inGlobStar && !ownProp(this.symlinks, abs))
- return this._readdirInGlobStar(abs)
-
- if (ownProp(this.cache, abs)) {
- var c = this.cache[abs]
- if (!c || c === 'FILE')
- return null
-
- if (Array.isArray(c))
- return c
- }
-
- try {
- return this._readdirEntries(abs, fs.readdirSync(abs))
- } catch (er) {
- this._readdirError(abs, er)
- return null
- }
-}
-
-GlobSync.prototype._readdirEntries = function (abs, entries) {
- // if we haven't asked to stat everything, then just
- // assume that everything in there exists, so we can avoid
- // having to stat it a second time.
- if (!this.mark && !this.stat) {
- for (var i = 0; i < entries.length; i ++) {
- var e = entries[i]
- if (abs === '/')
- e = abs + e
- else
- e = abs + '/' + e
- this.cache[e] = true
- }
- }
-
- this.cache[abs] = entries
-
- // mark and cache dir-ness
- return entries
-}
-
-GlobSync.prototype._readdirError = function (f, er) {
- // handle errors, and cache the information
- switch (er.code) {
- case 'ENOTDIR': // totally normal. means it *does* exist.
- this.cache[this._makeAbs(f)] = 'FILE'
- break
-
- case 'ENOENT': // not terribly unusual
- case 'ELOOP':
- case 'ENAMETOOLONG':
- case 'UNKNOWN':
- this.cache[this._makeAbs(f)] = false
- break
-
- default: // some unusual error. Treat as failure.
- this.cache[this._makeAbs(f)] = false
- if (this.strict) throw er
- if (!this.silent) console.error('glob error', er)
- break
- }
-}
-
-GlobSync.prototype._processGlobStar = function (prefix, read, abs, remain, index, inGlobStar) {
-
- var entries = this._readdir(abs, inGlobStar)
-
- // no entries means not a dir, so it can never have matches
- // foo.txt/** doesn't match foo.txt
- if (!entries)
- return
-
- // test without the globstar, and with every child both below
- // and replacing the globstar.
- var remainWithoutGlobStar = remain.slice(1)
- var gspref = prefix ? [ prefix ] : []
- var noGlobStar = gspref.concat(remainWithoutGlobStar)
-
- // the noGlobStar pattern exits the inGlobStar state
- this._process(noGlobStar, index, false)
-
- var len = entries.length
- var isSym = this.symlinks[abs]
-
- // If it's a symlink, and we're in a globstar, then stop
- if (isSym && inGlobStar)
- return
-
- for (var i = 0; i < len; i++) {
- var e = entries[i]
- if (e.charAt(0) === '.' && !this.dot)
- continue
-
- // these two cases enter the inGlobStar state
- var instead = gspref.concat(entries[i], remainWithoutGlobStar)
- this._process(instead, index, true)
-
- var below = gspref.concat(entries[i], remain)
- this._process(below, index, true)
- }
-}
-
-GlobSync.prototype._processSimple = function (prefix, index) {
- // XXX review this. Shouldn't it be doing the mounting etc
- // before doing stat? kinda weird?
- var exists = this._stat(prefix)
-
- if (!this.matches[index])
- this.matches[index] = Object.create(null)
-
- // If it doesn't exist, then just mark the lack of results
- if (!exists)
- return
-
- if (prefix && isAbsolute(prefix) && !this.nomount) {
- var trail = /[\/\\]$/.test(prefix)
- if (prefix.charAt(0) === '/') {
- prefix = path.join(this.root, prefix)
- } else {
- prefix = path.resolve(this.root, prefix)
- if (trail)
- prefix += '/'
- }
- }
-
- if (process.platform === 'win32')
- prefix = prefix.replace(/\\/g, '/')
-
- // Mark this as a match
- this.matches[index][prefix] = true
-}
-
-// Returns either 'DIR', 'FILE', or false
-GlobSync.prototype._stat = function (f) {
- var abs = this._makeAbs(f)
- var needDir = f.slice(-1) === '/'
-
- if (f.length > this.maxLength)
- return false
-
- if (!this.stat && ownProp(this.cache, abs)) {
- var c = this.cache[abs]
-
- if (Array.isArray(c))
- c = 'DIR'
-
- // It exists, but maybe not how we need it
- if (!needDir || c === 'DIR')
- return c
-
- if (needDir && c === 'FILE')
- return false
-
- // otherwise we have to stat, because maybe c=true
- // if we know it exists, but not what it is.
- }
-
- var exists
- var stat = this.statCache[abs]
- if (!stat) {
- var lstat
- try {
- lstat = fs.lstatSync(abs)
- } catch (er) {
- return false
- }
-
- if (lstat.isSymbolicLink()) {
- try {
- stat = fs.statSync(abs)
- } catch (er) {
- stat = lstat
- }
- } else {
- stat = lstat
- }
- }
-
- this.statCache[abs] = stat
-
- var c = stat.isDirectory() ? 'DIR' : 'FILE'
- this.cache[abs] = this.cache[abs] || c
-
- if (needDir && c !== 'DIR')
- return false
-
- return c
-}
-
-GlobSync.prototype._mark = function (p) {
- return common.mark(this, p)
-}
-
-GlobSync.prototype._makeAbs = function (f) {
- return common.makeAbs(this, f)
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/minimatch/.npmignore
deleted file mode 100644
index 3c3629e647..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/.travis.yml b/deps/npm/node_modules/node-gyp/node_modules/minimatch/.travis.yml
deleted file mode 100644
index fca8ef0194..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/.travis.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-language: node_js
-node_js:
- - 0.10
- - 0.11
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/minimatch/LICENSE
index 05a4010949..19129e315f 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/LICENSE
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/LICENSE
@@ -1,23 +1,15 @@
-Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
-All rights reserved.
+The ISC License
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
+Copyright (c) Isaac Z. Schlueter and Contributors
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/README.md b/deps/npm/node_modules/node-gyp/node_modules/minimatch/README.md
index 5b3967ea99..ad72b8133e 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/README.md
@@ -2,13 +2,11 @@
A minimal matching utility.
-[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)
+[![Build Status](https://secure.travis-ci.org/isaacs/minimatch.svg)](http://travis-ci.org/isaacs/minimatch)
This is the matching library used internally by npm.
-Eventually, it will replace the C binding in node-glob.
-
It works by converting glob expressions into JavaScript `RegExp`
objects.
@@ -39,7 +37,7 @@ See:
## Minimatch Class
-Create a minimatch object by instanting the `minimatch.Minimatch` class.
+Create a minimatch object by instantiating the `minimatch.Minimatch` class.
```javascript
var Minimatch = require("minimatch").Minimatch
@@ -84,13 +82,6 @@ var mm = new Minimatch(pattern, options)
All other methods are internal, and will be called as necessary.
-## Functions
-
-The top-level exported function has a `cache` property, which is an LRU
-cache set to store 100 items. So, calling these methods repeatedly
-with the same pattern and options will use the same Minimatch object,
-saving the cost of parsing it multiple times.
-
### minimatch(path, pattern, options)
Main export. Tests a path against the pattern using the options.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/minimatch.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/minimatch.js
index 47617868b9..5b5f8cf444 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/minimatch.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/minimatch.js
@@ -1,65 +1,44 @@
-;(function (require, exports, module, platform) {
+module.exports = minimatch
+minimatch.Minimatch = Minimatch
-if (module) module.exports = minimatch
-else exports.minimatch = minimatch
+var path = { sep: '/' }
+try {
+ path = require('path')
+} catch (er) {}
-if (!require) {
- require = function (id) {
- switch (id) {
- case "sigmund": return function sigmund (obj) {
- return JSON.stringify(obj)
- }
- case "path": return { basename: function (f) {
- f = f.split(/[\/\\]/)
- var e = f.pop()
- if (!e) e = f.pop()
- return e
- }}
- case "lru-cache": return function LRUCache () {
- // not quite an LRU, but still space-limited.
- var cache = {}
- var cnt = 0
- this.set = function (k, v) {
- cnt ++
- if (cnt >= 100) cache = {}
- cache[k] = v
- }
- this.get = function (k) { return cache[k] }
- }
- }
- }
-}
+var GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
+var expand = require('brace-expansion')
-minimatch.Minimatch = Minimatch
-
-var LRU = require("lru-cache")
- , cache = minimatch.cache = new LRU({max: 100})
- , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
- , sigmund = require("sigmund")
+var plTypes = {
+ '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},
+ '?': { open: '(?:', close: ')?' },
+ '+': { open: '(?:', close: ')+' },
+ '*': { open: '(?:', close: ')*' },
+ '@': { open: '(?:', close: ')' }
+}
-var path = require("path")
- // any single thing other than /
- // don't need to escape / when using new RegExp()
- , qmark = "[^/]"
+// any single thing other than /
+// don't need to escape / when using new RegExp()
+var qmark = '[^/]'
- // * => any number of characters
- , star = qmark + "*?"
+// * => any number of characters
+var star = qmark + '*?'
- // ** when dots are allowed. Anything goes, except .. and .
- // not (^ or / followed by one or two dots followed by $ or /),
- // followed by anything, any number of times.
- , twoStarDot = "(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?"
+// ** when dots are allowed. Anything goes, except .. and .
+// not (^ or / followed by one or two dots followed by $ or /),
+// followed by anything, any number of times.
+var twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
- // not a ^ or / followed by a dot,
- // followed by anything, any number of times.
- , twoStarNoDot = "(?:(?!(?:\\\/|^)\\.).)*?"
+// not a ^ or / followed by a dot,
+// followed by anything, any number of times.
+var twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
- // characters that need to be escaped in RegExp.
- , reSpecials = charSet("().*{}+?[]^$\\!")
+// characters that need to be escaped in RegExp.
+var reSpecials = charSet('().*{}+?[]^$\\!')
// "abc" -> { a:true, b:true, c:true }
function charSet (s) {
- return s.split("").reduce(function (set, c) {
+ return s.split('').reduce(function (set, c) {
set[c] = true
return set
}, {})
@@ -110,51 +89,41 @@ Minimatch.defaults = function (def) {
return minimatch.defaults(def).Minimatch
}
-
function minimatch (p, pattern, options) {
- if (typeof pattern !== "string") {
- throw new TypeError("glob pattern string required")
+ if (typeof pattern !== 'string') {
+ throw new TypeError('glob pattern string required')
}
if (!options) options = {}
// shortcut: comments match nothing.
- if (!options.nocomment && pattern.charAt(0) === "#") {
+ if (!options.nocomment && pattern.charAt(0) === '#') {
return false
}
// "" only matches ""
- if (pattern.trim() === "") return p === ""
+ if (pattern.trim() === '') return p === ''
return new Minimatch(pattern, options).match(p)
}
function Minimatch (pattern, options) {
if (!(this instanceof Minimatch)) {
- return new Minimatch(pattern, options, cache)
+ return new Minimatch(pattern, options)
}
- if (typeof pattern !== "string") {
- throw new TypeError("glob pattern string required")
+ if (typeof pattern !== 'string') {
+ throw new TypeError('glob pattern string required')
}
if (!options) options = {}
pattern = pattern.trim()
- // windows: need to use /, not \
- // On other platforms, \ is a valid (albeit bad) filename char.
- if (platform === "win32") {
- pattern = pattern.split("\\").join("/")
+ // windows support: need to use /, not \
+ if (path.sep !== '/') {
+ pattern = pattern.split(path.sep).join('/')
}
- // lru storage.
- // these things aren't particularly big, but walking down the string
- // and turning it into a regexp can get pretty costly.
- var cacheKey = pattern + "\n" + sigmund(options)
- var cached = minimatch.cache.get(cacheKey)
- if (cached) return cached
- minimatch.cache.set(cacheKey, this)
-
this.options = options
this.set = []
this.pattern = pattern
@@ -167,7 +136,7 @@ function Minimatch (pattern, options) {
this.make()
}
-Minimatch.prototype.debug = function() {}
+Minimatch.prototype.debug = function () {}
Minimatch.prototype.make = make
function make () {
@@ -178,7 +147,7 @@ function make () {
var options = this.options
// empty patterns and comments match nothing.
- if (!options.nocomment && pattern.charAt(0) === "#") {
+ if (!options.nocomment && pattern.charAt(0) === '#') {
this.comment = true
return
}
@@ -217,7 +186,7 @@ function make () {
// filter out everything that didn't compile properly.
set = set.filter(function (s) {
- return -1 === s.indexOf(false)
+ return s.indexOf(false) === -1
})
this.debug(this.pattern, set)
@@ -228,17 +197,17 @@ function make () {
Minimatch.prototype.parseNegate = parseNegate
function parseNegate () {
var pattern = this.pattern
- , negate = false
- , options = this.options
- , negateOffset = 0
+ var negate = false
+ var options = this.options
+ var negateOffset = 0
if (options.nonegate) return
- for ( var i = 0, l = pattern.length
- ; i < l && pattern.charAt(i) === "!"
- ; i ++) {
+ for (var i = 0, l = pattern.length
+ ; i < l && pattern.charAt(i) === '!'
+ ; i++) {
negate = !negate
- negateOffset ++
+ negateOffset++
}
if (negateOffset) this.pattern = pattern.substr(negateOffset)
@@ -256,213 +225,34 @@ function parseNegate () {
// a{2..}b -> a{2..}b
// a{b}c -> a{b}c
minimatch.braceExpand = function (pattern, options) {
- return new Minimatch(pattern, options).braceExpand()
+ return braceExpand(pattern, options)
}
Minimatch.prototype.braceExpand = braceExpand
-function pad(n, width, z) {
- z = z || '0';
- n = n + '';
- return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
-}
-
function braceExpand (pattern, options) {
- options = options || this.options
- pattern = typeof pattern === "undefined"
+ if (!options) {
+ if (this instanceof Minimatch) {
+ options = this.options
+ } else {
+ options = {}
+ }
+ }
+
+ pattern = typeof pattern === 'undefined'
? this.pattern : pattern
- if (typeof pattern === "undefined") {
- throw new Error("undefined pattern")
+ if (typeof pattern === 'undefined') {
+ throw new TypeError('undefined pattern')
}
if (options.nobrace ||
- !pattern.match(/\{.*\}/)) {
+ !pattern.match(/\{.*\}/)) {
// shortcut. no need to expand.
return [pattern]
}
- var escaping = false
-
- // examples and comments refer to this crazy pattern:
- // a{b,c{d,e},{f,g}h}x{y,z}
- // expected:
- // abxy
- // abxz
- // acdxy
- // acdxz
- // acexy
- // acexz
- // afhxy
- // afhxz
- // aghxy
- // aghxz
-
- // everything before the first \{ is just a prefix.
- // So, we pluck that off, and work with the rest,
- // and then prepend it to everything we find.
- if (pattern.charAt(0) !== "{") {
- this.debug(pattern)
- var prefix = null
- for (var i = 0, l = pattern.length; i < l; i ++) {
- var c = pattern.charAt(i)
- this.debug(i, c)
- if (c === "\\") {
- escaping = !escaping
- } else if (c === "{" && !escaping) {
- prefix = pattern.substr(0, i)
- break
- }
- }
-
- // actually no sets, all { were escaped.
- if (prefix === null) {
- this.debug("no sets")
- return [pattern]
- }
-
- var tail = braceExpand.call(this, pattern.substr(i), options)
- return tail.map(function (t) {
- return prefix + t
- })
- }
-
- // now we have something like:
- // {b,c{d,e},{f,g}h}x{y,z}
- // walk through the set, expanding each part, until
- // the set ends. then, we'll expand the suffix.
- // If the set only has a single member, then'll put the {} back
-
- // first, handle numeric sets, since they're easier
- var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/)
- if (numset) {
- this.debug("numset", numset[1], numset[2])
- var suf = braceExpand.call(this, pattern.substr(numset[0].length), options)
- , start = +numset[1]
- , needPadding = numset[1][0] === '0'
- , startWidth = numset[1].length
- , padded
- , end = +numset[2]
- , inc = start > end ? -1 : 1
- , set = []
-
- for (var i = start; i != (end + inc); i += inc) {
- padded = needPadding ? pad(i, startWidth) : i + ''
- // append all the suffixes
- for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
- set.push(padded + suf[ii])
- }
- }
- return set
- }
-
- // ok, walk through the set
- // We hope, somewhat optimistically, that there
- // will be a } at the end.
- // If the closing brace isn't found, then the pattern is
- // interpreted as braceExpand("\\" + pattern) so that
- // the leading \{ will be interpreted literally.
- var i = 1 // skip the \{
- , depth = 1
- , set = []
- , member = ""
- , sawEnd = false
- , escaping = false
-
- function addMember () {
- set.push(member)
- member = ""
- }
-
- this.debug("Entering for")
- FOR: for (i = 1, l = pattern.length; i < l; i ++) {
- var c = pattern.charAt(i)
- this.debug("", i, c)
-
- if (escaping) {
- escaping = false
- member += "\\" + c
- } else {
- switch (c) {
- case "\\":
- escaping = true
- continue
-
- case "{":
- depth ++
- member += "{"
- continue
-
- case "}":
- depth --
- // if this closes the actual set, then we're done
- if (depth === 0) {
- addMember()
- // pluck off the close-brace
- i ++
- break FOR
- } else {
- member += c
- continue
- }
-
- case ",":
- if (depth === 1) {
- addMember()
- } else {
- member += c
- }
- continue
-
- default:
- member += c
- continue
- } // switch
- } // else
- } // for
-
- // now we've either finished the set, and the suffix is
- // pattern.substr(i), or we have *not* closed the set,
- // and need to escape the leading brace
- if (depth !== 0) {
- this.debug("didn't close", pattern)
- return braceExpand.call(this, "\\" + pattern, options)
- }
-
- // x{y,z} -> ["xy", "xz"]
- this.debug("set", set)
- this.debug("suffix", pattern.substr(i))
- var suf = braceExpand.call(this, pattern.substr(i), options)
- // ["b", "c{d,e}","{f,g}h"] ->
- // [["b"], ["cd", "ce"], ["fh", "gh"]]
- var addBraces = set.length === 1
- this.debug("set pre-expanded", set)
- set = set.map(function (p) {
- return braceExpand.call(this, p, options)
- }, this)
- this.debug("set expanded", set)
-
-
- // [["b"], ["cd", "ce"], ["fh", "gh"]] ->
- // ["b", "cd", "ce", "fh", "gh"]
- set = set.reduce(function (l, r) {
- return l.concat(r)
- })
-
- if (addBraces) {
- set = set.map(function (s) {
- return "{" + s + "}"
- })
- }
-
- // now attach the suffixes.
- var ret = []
- for (var i = 0, l = set.length; i < l; i ++) {
- for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
- ret.push(set[i] + suf[ii])
- }
- }
- return ret
+ return expand(pattern)
}
// parse a component of the expanded set.
@@ -479,90 +269,93 @@ function braceExpand (pattern, options) {
Minimatch.prototype.parse = parse
var SUBPARSE = {}
function parse (pattern, isSub) {
+ if (pattern.length > 1024 * 64) {
+ throw new TypeError('pattern is too long')
+ }
+
var options = this.options
// shortcuts
- if (!options.noglobstar && pattern === "**") return GLOBSTAR
- if (pattern === "") return ""
-
- var re = ""
- , hasMagic = !!options.nocase
- , escaping = false
- // ? => one single character
- , patternListStack = []
- , plType
- , stateChar
- , inClass = false
- , reClassStart = -1
- , classStart = -1
- // . and .. never match anything that doesn't start with .,
- // even when options.dot is set.
- , patternStart = pattern.charAt(0) === "." ? "" // anything
- // not (start or / followed by . or .. followed by / or end)
- : options.dot ? "(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))"
- : "(?!\\.)"
- , self = this
+ if (!options.noglobstar && pattern === '**') return GLOBSTAR
+ if (pattern === '') return ''
+
+ var re = ''
+ var hasMagic = !!options.nocase
+ var escaping = false
+ // ? => one single character
+ var patternListStack = []
+ var negativeLists = []
+ var stateChar
+ var inClass = false
+ var reClassStart = -1
+ var classStart = -1
+ // . and .. never match anything that doesn't start with .,
+ // even when options.dot is set.
+ var patternStart = pattern.charAt(0) === '.' ? '' // anything
+ // not (start or / followed by . or .. followed by / or end)
+ : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
+ : '(?!\\.)'
+ var self = this
function clearStateChar () {
if (stateChar) {
// we had some state-tracking character
// that wasn't consumed by this pass.
switch (stateChar) {
- case "*":
+ case '*':
re += star
hasMagic = true
- break
- case "?":
+ break
+ case '?':
re += qmark
hasMagic = true
- break
+ break
default:
- re += "\\"+stateChar
- break
+ re += '\\' + stateChar
+ break
}
self.debug('clearStateChar %j %j', stateChar, re)
stateChar = false
}
}
- for ( var i = 0, len = pattern.length, c
- ; (i < len) && (c = pattern.charAt(i))
- ; i ++ ) {
-
- this.debug("%s\t%s %s %j", pattern, i, re, c)
+ for (var i = 0, len = pattern.length, c
+ ; (i < len) && (c = pattern.charAt(i))
+ ; i++) {
+ this.debug('%s\t%s %s %j', pattern, i, re, c)
// skip over any that are escaped.
if (escaping && reSpecials[c]) {
- re += "\\" + c
+ re += '\\' + c
escaping = false
continue
}
- SWITCH: switch (c) {
- case "/":
+ switch (c) {
+ case '/':
// completely not allowed, even escaped.
// Should already be path-split by now.
return false
- case "\\":
+ case '\\':
clearStateChar()
escaping = true
- continue
+ continue
// the various stateChar values
// for the "extglob" stuff.
- case "?":
- case "*":
- case "+":
- case "@":
- case "!":
- this.debug("%s\t%s %s %j <-- stateChar", pattern, i, re, c)
+ case '?':
+ case '*':
+ case '+':
+ case '@':
+ case '!':
+ this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
// all of those are literals inside a class, except that
// the glob [!a] means [^a] in regexp
if (inClass) {
this.debug(' in class')
- if (c === "!" && i === classStart + 1) c = "^"
+ if (c === '!' && i === classStart + 1) c = '^'
re += c
continue
}
@@ -577,70 +370,68 @@ function parse (pattern, isSub) {
// just clear the statechar *now*, rather than even diving into
// the patternList stuff.
if (options.noext) clearStateChar()
- continue
+ continue
- case "(":
+ case '(':
if (inClass) {
- re += "("
+ re += '('
continue
}
if (!stateChar) {
- re += "\\("
+ re += '\\('
continue
}
- plType = stateChar
- patternListStack.push({ type: plType
- , start: i - 1
- , reStart: re.length })
+ patternListStack.push({
+ type: stateChar,
+ start: i - 1,
+ reStart: re.length,
+ open: plTypes[stateChar].open,
+ close: plTypes[stateChar].close
+ })
// negation is (?:(?!js)[^/]*)
- re += stateChar === "!" ? "(?:(?!" : "(?:"
+ re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
this.debug('plType %j %j', stateChar, re)
stateChar = false
- continue
+ continue
- case ")":
+ case ')':
if (inClass || !patternListStack.length) {
- re += "\\)"
+ re += '\\)'
continue
}
clearStateChar()
hasMagic = true
- re += ")"
- plType = patternListStack.pop().type
+ var pl = patternListStack.pop()
// negation is (?:(?!js)[^/]*)
// The others are (?:<pattern>)<type>
- switch (plType) {
- case "!":
- re += "[^/]*?)"
- break
- case "?":
- case "+":
- case "*": re += plType
- case "@": break // the default anyway
+ re += pl.close
+ if (pl.type === '!') {
+ negativeLists.push(pl)
}
- continue
+ pl.reEnd = re.length
+ continue
- case "|":
+ case '|':
if (inClass || !patternListStack.length || escaping) {
- re += "\\|"
+ re += '\\|'
escaping = false
continue
}
clearStateChar()
- re += "|"
- continue
+ re += '|'
+ continue
// these are mostly the same in regexp and glob
- case "[":
+ case '[':
// swallow any state-tracking char before the [
clearStateChar()
if (inClass) {
- re += "\\" + c
+ re += '\\' + c
continue
}
@@ -648,24 +439,47 @@ function parse (pattern, isSub) {
classStart = i
reClassStart = re.length
re += c
- continue
+ continue
- case "]":
+ case ']':
// a right bracket shall lose its special
// meaning and represent itself in
// a bracket expression if it occurs
// first in the list. -- POSIX.2 2.8.3.2
if (i === classStart + 1 || !inClass) {
- re += "\\" + c
+ re += '\\' + c
escaping = false
continue
}
+ // handle the case where we left a class open.
+ // "[z-a]" is valid, equivalent to "\[z-a\]"
+ if (inClass) {
+ // split where the last [ was, make sure we don't have
+ // an invalid re. if so, re-walk the contents of the
+ // would-be class to re-translate any characters that
+ // were passed through as-is
+ // TODO: It would probably be faster to determine this
+ // without a try/catch and a new RegExp, but it's tricky
+ // to do safely. For now, this is safe and works.
+ var cs = pattern.substring(classStart + 1, i)
+ try {
+ RegExp('[' + cs + ']')
+ } catch (er) {
+ // not a valid class!
+ var sp = this.parse(cs, SUBPARSE)
+ re = re.substr(0, reClassStart) + '\\[' + sp[0] + '\\]'
+ hasMagic = hasMagic || sp[1]
+ inClass = false
+ continue
+ }
+ }
+
// finish up the class.
hasMagic = true
inClass = false
re += c
- continue
+ continue
default:
// swallow any state char that wasn't consumed
@@ -675,8 +489,8 @@ function parse (pattern, isSub) {
// no need
escaping = false
} else if (reSpecials[c]
- && !(c === "^" && inClass)) {
- re += "\\"
+ && !(c === '^' && inClass)) {
+ re += '\\'
}
re += c
@@ -684,7 +498,6 @@ function parse (pattern, isSub) {
} // switch
} // for
-
// handle the case where we left a class open.
// "[abc" is valid, equivalent to "\[abc"
if (inClass) {
@@ -692,9 +505,9 @@ function parse (pattern, isSub) {
// this is a huge pita. We now have to re-walk
// the contents of the would-be class to re-translate
// any characters that were passed through as-is
- var cs = pattern.substr(classStart + 1)
- , sp = this.parse(cs, SUBPARSE)
- re = re.substr(0, reClassStart) + "\\[" + sp[0]
+ cs = pattern.substr(classStart + 1)
+ sp = this.parse(cs, SUBPARSE)
+ re = re.substr(0, reClassStart) + '\\[' + sp[0]
hasMagic = hasMagic || sp[1]
}
@@ -704,14 +517,14 @@ function parse (pattern, isSub) {
// and escape any | chars that were passed through as-is for the regexp.
// Go through and escape them, taking care not to double-escape any
// | chars that were already escaped.
- var pl
- while (pl = patternListStack.pop()) {
- var tail = re.slice(pl.reStart + 3)
+ for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
+ var tail = re.slice(pl.reStart + pl.open.length)
+ this.debug('setting tail', re, pl)
// maybe some even number of \, then maybe 1 \, followed by a |
- tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
+ tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, function (_, $1, $2) {
if (!$2) {
// the | isn't already escaped, so escape it.
- $2 = "\\"
+ $2 = '\\'
}
// need to escape all those slashes *again*, without escaping the
@@ -720,46 +533,81 @@ function parse (pattern, isSub) {
// it exactly after itself. That's why this trick works.
//
// I am sorry that you have to see this.
- return $1 + $1 + $2 + "|"
+ return $1 + $1 + $2 + '|'
})
- this.debug("tail=%j\n %s", tail, tail)
- var t = pl.type === "*" ? star
- : pl.type === "?" ? qmark
- : "\\" + pl.type
+ this.debug('tail=%j\n %s', tail, tail, pl, re)
+ var t = pl.type === '*' ? star
+ : pl.type === '?' ? qmark
+ : '\\' + pl.type
hasMagic = true
- re = re.slice(0, pl.reStart)
- + t + "\\("
- + tail
+ re = re.slice(0, pl.reStart) + t + '\\(' + tail
}
// handle trailing things that only matter at the very end.
clearStateChar()
if (escaping) {
// trailing \\
- re += "\\\\"
+ re += '\\\\'
}
// only need to apply the nodot start if the re starts with
// something that could conceivably capture a dot
var addPatternStart = false
switch (re.charAt(0)) {
- case ".":
- case "[":
- case "(": addPatternStart = true
+ case '.':
+ case '[':
+ case '(': addPatternStart = true
+ }
+
+ // Hack to work around lack of negative lookbehind in JS
+ // A pattern like: *.!(x).!(y|z) needs to ensure that a name
+ // like 'a.xyz.yz' doesn't match. So, the first negative
+ // lookahead, has to look ALL the way ahead, to the end of
+ // the pattern.
+ for (var n = negativeLists.length - 1; n > -1; n--) {
+ var nl = negativeLists[n]
+
+ var nlBefore = re.slice(0, nl.reStart)
+ var nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
+ var nlLast = re.slice(nl.reEnd - 8, nl.reEnd)
+ var nlAfter = re.slice(nl.reEnd)
+
+ nlLast += nlAfter
+
+ // Handle nested stuff like *(*.js|!(*.json)), where open parens
+ // mean that we should *not* include the ) in the bit that is considered
+ // "after" the negated section.
+ var openParensBefore = nlBefore.split('(').length - 1
+ var cleanAfter = nlAfter
+ for (i = 0; i < openParensBefore; i++) {
+ cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
+ }
+ nlAfter = cleanAfter
+
+ var dollar = ''
+ if (nlAfter === '' && isSub !== SUBPARSE) {
+ dollar = '$'
+ }
+ var newRe = nlBefore + nlFirst + nlAfter + dollar + nlLast
+ re = newRe
}
// if the re is not "" at this point, then we need to make sure
// it doesn't match against an empty path part.
// Otherwise a/* will match a/, which it should not.
- if (re !== "" && hasMagic) re = "(?=.)" + re
+ if (re !== '' && hasMagic) {
+ re = '(?=.)' + re
+ }
- if (addPatternStart) re = patternStart + re
+ if (addPatternStart) {
+ re = patternStart + re
+ }
// parsing just a piece of a larger pattern.
if (isSub === SUBPARSE) {
- return [ re, hasMagic ]
+ return [re, hasMagic]
}
// skip the regexp for non-magical patterns
@@ -769,8 +617,16 @@ function parse (pattern, isSub) {
return globUnescape(pattern)
}
- var flags = options.nocase ? "i" : ""
- , regExp = new RegExp("^" + re + "$", flags)
+ var flags = options.nocase ? 'i' : ''
+ try {
+ var regExp = new RegExp('^' + re + '$', flags)
+ } catch (er) {
+ // If it was an invalid regular expression, then it can't match
+ // anything. This trick looks for a character after the end of
+ // the string, which is of course impossible, except in multi-line
+ // mode, but it's not a /m regex.
+ return new RegExp('$.')
+ }
regExp._glob = pattern
regExp._src = re
@@ -794,34 +650,38 @@ function makeRe () {
// when you just want to work with a regex.
var set = this.set
- if (!set.length) return this.regexp = false
+ if (!set.length) {
+ this.regexp = false
+ return this.regexp
+ }
var options = this.options
var twoStar = options.noglobstar ? star
- : options.dot ? twoStarDot
- : twoStarNoDot
- , flags = options.nocase ? "i" : ""
+ : options.dot ? twoStarDot
+ : twoStarNoDot
+ var flags = options.nocase ? 'i' : ''
var re = set.map(function (pattern) {
return pattern.map(function (p) {
return (p === GLOBSTAR) ? twoStar
- : (typeof p === "string") ? regExpEscape(p)
- : p._src
- }).join("\\\/")
- }).join("|")
+ : (typeof p === 'string') ? regExpEscape(p)
+ : p._src
+ }).join('\\\/')
+ }).join('|')
// must match entire pattern
// ending in a * or ** will make it less strict.
- re = "^(?:" + re + ")$"
+ re = '^(?:' + re + ')$'
// can match anything, as long as it's not this.
- if (this.negate) re = "^(?!" + re + ").*$"
+ if (this.negate) re = '^(?!' + re + ').*$'
try {
- return this.regexp = new RegExp(re, flags)
+ this.regexp = new RegExp(re, flags)
} catch (ex) {
- return this.regexp = false
+ this.regexp = false
}
+ return this.regexp
}
minimatch.match = function (list, pattern, options) {
@@ -838,25 +698,24 @@ minimatch.match = function (list, pattern, options) {
Minimatch.prototype.match = match
function match (f, partial) {
- this.debug("match", f, this.pattern)
+ this.debug('match', f, this.pattern)
// short-circuit in the case of busted things.
// comments, etc.
if (this.comment) return false
- if (this.empty) return f === ""
+ if (this.empty) return f === ''
- if (f === "/" && partial) return true
+ if (f === '/' && partial) return true
var options = this.options
// windows: need to use /, not \
- // On other platforms, \ is a valid (albeit bad) filename char.
- if (platform === "win32") {
- f = f.split("\\").join("/")
+ if (path.sep !== '/') {
+ f = f.split(path.sep).join('/')
}
// treat the test path as a set of pathparts.
f = f.split(slashSplit)
- this.debug(this.pattern, "split", f)
+ this.debug(this.pattern, 'split', f)
// just ONE of the pattern sets in this.set needs to match
// in order for it to be valid. If negating, then just one
@@ -864,17 +723,19 @@ function match (f, partial) {
// Either way, return on the first hit.
var set = this.set
- this.debug(this.pattern, "set", set)
+ this.debug(this.pattern, 'set', set)
// Find the basename of the path by looking for the last non-empty segment
- var filename;
- for (var i = f.length - 1; i >= 0; i--) {
+ var filename
+ var i
+ for (i = f.length - 1; i >= 0; i--) {
filename = f[i]
if (filename) break
}
- for (var i = 0, l = set.length; i < l; i ++) {
- var pattern = set[i], file = f
+ for (i = 0; i < set.length; i++) {
+ var pattern = set[i]
+ var file = f
if (options.matchBase && pattern.length === 1) {
file = [filename]
}
@@ -899,23 +760,20 @@ function match (f, partial) {
Minimatch.prototype.matchOne = function (file, pattern, partial) {
var options = this.options
- this.debug("matchOne",
- { "this": this
- , file: file
- , pattern: pattern })
+ this.debug('matchOne',
+ { 'this': this, file: file, pattern: pattern })
- this.debug("matchOne", file.length, pattern.length)
+ this.debug('matchOne', file.length, pattern.length)
- for ( var fi = 0
- , pi = 0
- , fl = file.length
- , pl = pattern.length
+ for (var fi = 0,
+ pi = 0,
+ fl = file.length,
+ pl = pattern.length
; (fi < fl) && (pi < pl)
- ; fi ++, pi ++ ) {
-
- this.debug("matchOne loop")
+ ; fi++, pi++) {
+ this.debug('matchOne loop')
var p = pattern[pi]
- , f = file[fi]
+ var f = file[fi]
this.debug(pattern, p, f)
@@ -949,7 +807,7 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) {
// - matchOne(z/c, c) -> no
// - matchOne(c, c) yes, hit
var fr = fi
- , pr = pi + 1
+ var pr = pi + 1
if (pr === pl) {
this.debug('** at the end')
// a ** at the end will just swallow the rest.
@@ -958,19 +816,18 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) {
// options.dot is set.
// . and .. are *never* matched by **, for explosively
// exponential reasons.
- for ( ; fi < fl; fi ++) {
- if (file[fi] === "." || file[fi] === ".." ||
- (!options.dot && file[fi].charAt(0) === ".")) return false
+ for (; fi < fl; fi++) {
+ if (file[fi] === '.' || file[fi] === '..' ||
+ (!options.dot && file[fi].charAt(0) === '.')) return false
}
return true
}
// ok, let's see if we can swallow whatever we can.
- WHILE: while (fr < fl) {
+ while (fr < fl) {
var swallowee = file[fr]
- this.debug('\nglobstar while',
- file, fr, pattern, pr, swallowee)
+ this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
// XXX remove this slice. Just pass the start index.
if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
@@ -980,23 +837,24 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) {
} else {
// can't swallow "." or ".." ever.
// can only swallow ".foo" when explicitly asked.
- if (swallowee === "." || swallowee === ".." ||
- (!options.dot && swallowee.charAt(0) === ".")) {
- this.debug("dot detected!", file, fr, pattern, pr)
- break WHILE
+ if (swallowee === '.' || swallowee === '..' ||
+ (!options.dot && swallowee.charAt(0) === '.')) {
+ this.debug('dot detected!', file, fr, pattern, pr)
+ break
}
// ** swallows a segment, and continue.
this.debug('globstar swallow a segment, and continue')
- fr ++
+ fr++
}
}
+
// no match was found.
// However, in partial mode, we can't say this is necessarily over.
// If there's more *pattern* left, then
if (partial) {
// ran out of file
- this.debug("\n>>> no match, partial?", file, fr, pattern, pr)
+ this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
if (fr === fl) return true
}
return false
@@ -1006,16 +864,16 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) {
// non-magic patterns just have to match exactly
// patterns with magic have been turned into regexps.
var hit
- if (typeof p === "string") {
+ if (typeof p === 'string') {
if (options.nocase) {
hit = f.toLowerCase() === p.toLowerCase()
} else {
hit = f === p
}
- this.debug("string match", p, f, hit)
+ this.debug('string match', p, f, hit)
} else {
hit = f.match(p)
- this.debug("pattern match", p, f, hit)
+ this.debug('pattern match', p, f, hit)
}
if (!hit) return false
@@ -1047,27 +905,19 @@ Minimatch.prototype.matchOne = function (file, pattern, partial) {
// this is only acceptable if we're on the very last
// empty segment of a file with a trailing slash.
// a/* should match a/b/
- var emptyFileEnd = (fi === fl - 1) && (file[fi] === "")
+ var emptyFileEnd = (fi === fl - 1) && (file[fi] === '')
return emptyFileEnd
}
// should be unreachable.
- throw new Error("wtf?")
+ throw new Error('wtf?')
}
-
// replace stuff like \* with *
function globUnescape (s) {
- return s.replace(/\\(.)/g, "$1")
+ return s.replace(/\\(.)/g, '$1')
}
-
function regExpEscape (s) {
- return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
+ return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
}
-
-})( typeof require === "function" ? require : null,
- this,
- typeof module === "object" ? module : null,
- typeof process === "object" ? process.platform : "win32"
- )
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/README.md
index b0d793ed5d..179392978d 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/README.md
@@ -1,6 +1,6 @@
# brace-expansion
-[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
+[Brace expansion](https://www.gnu.org/software/bash/manual/html_node/Brace-Expansion.html),
as known from sh/bash, in JavaScript.
[![build status](https://secure.travis-ci.org/juliangruber/brace-expansion.svg)](http://travis-ci.org/juliangruber/brace-expansion)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/index.js
index abe535df32..955f27c817 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/index.js
@@ -66,6 +66,16 @@ function expandTop(str) {
if (!str)
return [];
+ // I don't know why Bash 4.3 does this, but it does.
+ // Anything starting with {} will have the first two bytes preserved
+ // but *only* at the top level, so {},a}b will not expand to anything,
+ // but a{},b}c will be expanded to [a}c,abc].
+ // One could argue that this is a bug in Bash, but since the goal of
+ // this module is to match Bash's rules, we escape a leading {}
+ if (str.substr(0, 2) === '{}') {
+ str = '\\{\\}' + str.substr(2);
+ }
+
return expand(escapeBraces(str), true).map(unescapeBraces);
}
@@ -188,3 +198,4 @@ function expand(str, isTop) {
return expansions;
}
+
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore
index 353546af23..ae5d8c36ac 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore
@@ -1,3 +1,5 @@
test
.gitignore
.travis.yml
+Makefile
+example.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md
index 2cdc8e4148..2cdc8e4148 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/LICENSE.md
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
index 421f3aa5f9..08e918c0db 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md
@@ -1,6 +1,6 @@
# balanced-match
-Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`.
+Match balanced string pairs, like `{` and `}` or `<b>` and `</b>`. Supports regular expressions as well!
[![build status](https://secure.travis-ci.org/juliangruber/balanced-match.svg)](http://travis-ci.org/juliangruber/balanced-match)
[![downloads](https://img.shields.io/npm/dm/balanced-match.svg)](https://www.npmjs.org/package/balanced-match)
@@ -16,6 +16,7 @@ var balanced = require('balanced-match');
console.log(balanced('{', '}', 'pre{in{nested}}post'));
console.log(balanced('{', '}', 'pre{first}between{second}post'));
+console.log(balanced(/\s+\{\s+/, /\s+\}\s+/, 'pre { in{nest} } post'));
```
The matches are:
@@ -28,6 +29,7 @@ $ node example.js
pre: 'pre',
body: 'first',
post: 'between{second}post' }
+{ start: 3, end: 17, pre: 'pre', body: 'in{nest}', post: 'post' }
```
## API
@@ -45,7 +47,7 @@ object with those keys:
If there's no match, `undefined` will be returned.
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']`.
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `['{', 'a', '']` and `{a}}` will match `['', 'a', '}']`.
### var r = balanced.range(a, b, str)
@@ -54,7 +56,7 @@ array with indexes: `[ <a index>, <b index> ]`.
If there's no match, `undefined` will be returned.
-If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]`.
+If the `str` contains more `a` than `b` / there are unmatched pairs, the first match that was closed will be used. For example, `{{a}` will match `[ 1, 3 ]` and `{a}}` will match `[0, 2]`.
## Installation
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
index 75f3d71cba..e8d8587020 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js
@@ -1,5 +1,8 @@
module.exports = balanced;
function balanced(a, b, str) {
+ if (a instanceof RegExp) a = maybeMatch(a, str);
+ if (b instanceof RegExp) b = maybeMatch(b, str);
+
var r = range(a, b, str);
return r && {
@@ -11,6 +14,11 @@ function balanced(a, b, str) {
};
}
+function maybeMatch(reg, str) {
+ var m = str.match(reg);
+ return m ? m[0] : null;
+}
+
balanced.range = range;
function range(a, b, str) {
var begs, beg, left, right, result;
@@ -22,7 +30,7 @@ function range(a, b, str) {
begs = [];
left = str.length;
- while (i < str.length && i >= 0 && ! result) {
+ while (i >= 0 && !result) {
if (i == ai) {
begs.push(i);
ai = str.indexOf(a, i + 1);
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
new file mode 100644
index 0000000000..d70555d007
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json
@@ -0,0 +1,111 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "balanced-match@^0.4.1",
+ "scope": null,
+ "escapedName": "balanced-match",
+ "name": "balanced-match",
+ "rawSpec": "^0.4.1",
+ "spec": ">=0.4.1 <0.5.0",
+ "type": "range"
+ },
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion"
+ ]
+ ],
+ "_from": "balanced-match@>=0.4.1 <0.5.0",
+ "_id": "balanced-match@0.4.2",
+ "_inCache": true,
+ "_installable": true,
+ "_location": "/minimatch/brace-expansion/balanced-match",
+ "_nodeVersion": "4.4.7",
+ "_npmOperationalInternal": {
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/balanced-match-0.4.2.tgz_1468834991581_0.6590619895141572"
+ },
+ "_npmUser": {
+ "name": "juliangruber",
+ "email": "julian@juliangruber.com"
+ },
+ "_npmVersion": "2.15.8",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "balanced-match@^0.4.1",
+ "scope": null,
+ "escapedName": "balanced-match",
+ "name": "balanced-match",
+ "rawSpec": "^0.4.1",
+ "spec": ">=0.4.1 <0.5.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/minimatch/brace-expansion"
+ ],
+ "_resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz",
+ "_shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
+ "_shrinkwrap": null,
+ "_spec": "balanced-match@^0.4.1",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion",
+ "author": {
+ "name": "Julian Gruber",
+ "email": "mail@juliangruber.com",
+ "url": "http://juliangruber.com"
+ },
+ "bugs": {
+ "url": "https://github.com/juliangruber/balanced-match/issues"
+ },
+ "dependencies": {},
+ "description": "Match balanced character pairs, like \"{\" and \"}\"",
+ "devDependencies": {
+ "tape": "^4.6.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "cb3f3e3c732dc0f01ee70b403f302e61d7709838",
+ "tarball": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz"
+ },
+ "gitHead": "57c2ea29d89a2844ae3bdcc637c6e2cbb73725e2",
+ "homepage": "https://github.com/juliangruber/balanced-match",
+ "keywords": [
+ "match",
+ "regexp",
+ "test",
+ "balanced",
+ "parse"
+ ],
+ "license": "MIT",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "juliangruber",
+ "email": "julian@juliangruber.com"
+ }
+ ],
+ "name": "balanced-match",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/juliangruber/balanced-match.git"
+ },
+ "scripts": {
+ "test": "make test"
+ },
+ "testling": {
+ "files": "test/*.js",
+ "browsers": [
+ "ie/8..latest",
+ "firefox/20..latest",
+ "firefox/nightly",
+ "chrome/25..latest",
+ "chrome/canary",
+ "opera/12..latest",
+ "opera/next",
+ "safari/5.1..latest",
+ "ipad/6.0..latest",
+ "iphone/6.0..latest",
+ "android-browser/4.2..latest"
+ ]
+ },
+ "version": "0.4.2"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml
index f1d0f13c8a..f1d0f13c8a 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE
index ee27ba4b44..ee27ba4b44 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown
index 408f70a1be..408f70a1be 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js
index 33656217b6..33656217b6 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js
index b29a7812e5..b29a7812e5 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
index 15acbe5c07..5b79dacca0 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json
@@ -1,40 +1,49 @@
{
"_args": [
[
- "concat-map@0.0.1",
- "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion"
+ {
+ "raw": "concat-map@0.0.1",
+ "scope": null,
+ "escapedName": "concat-map",
+ "name": "concat-map",
+ "rawSpec": "0.0.1",
+ "spec": "0.0.1",
+ "type": "version"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion"
]
],
"_from": "concat-map@0.0.1",
"_id": "concat-map@0.0.1",
"_inCache": true,
"_installable": true,
- "_location": "/node-gyp/glob/minimatch/brace-expansion/concat-map",
+ "_location": "/node-gyp/minimatch/brace-expansion/concat-map",
"_npmUser": {
- "email": "mail@substack.net",
- "name": "substack"
+ "name": "substack",
+ "email": "mail@substack.net"
},
"_npmVersion": "1.3.21",
"_phantomChildren": {},
"_requested": {
- "name": "concat-map",
"raw": "concat-map@0.0.1",
- "rawSpec": "0.0.1",
"scope": null,
+ "escapedName": "concat-map",
+ "name": "concat-map",
+ "rawSpec": "0.0.1",
"spec": "0.0.1",
"type": "version"
},
"_requiredBy": [
- "/node-gyp/glob/minimatch/brace-expansion"
+ "/node-gyp/minimatch/brace-expansion"
],
"_resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"_shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
"_shrinkwrap": null,
"_spec": "concat-map@0.0.1",
- "_where": "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion",
"author": {
- "email": "mail@substack.net",
"name": "James Halliday",
+ "email": "mail@substack.net",
"url": "http://substack.net"
},
"bugs": {
@@ -51,15 +60,15 @@
},
"dist": {
"shasum": "d8a96bd77fd68df7793a73036a3ba0d5405d477b",
- "tarball": "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
+ "tarball": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
},
"homepage": "https://github.com/substack/node-concat-map",
"keywords": [
"concat",
"concatMap",
+ "map",
"functional",
- "higher-order",
- "map"
+ "higher-order"
],
"license": "MIT",
"main": "index.js",
@@ -80,30 +89,30 @@
"test": "tape test/*.js"
},
"testling": {
+ "files": "test/*.js",
"browsers": {
- "chrome": [
- 10,
- 22
- ],
- "ff": [
- 10,
- 15,
- 3.5
- ],
"ie": [
6,
7,
8,
9
],
- "opera": [
- 12
+ "ff": [
+ 3.5,
+ 10,
+ 15
+ ],
+ "chrome": [
+ 10,
+ 22
],
"safari": [
5.1
+ ],
+ "opera": [
+ 12
]
- },
- "files": "test/*.js"
+ }
},
"version": "0.0.1"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js
index fdbd7022f6..fdbd7022f6 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/package.json
index fffa04e296..a936f86896 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/brace-expansion/package.json
@@ -1,76 +1,85 @@
{
"_args": [
[
- "brace-expansion@^1.0.0",
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch"
+ {
+ "raw": "brace-expansion@^1.0.0",
+ "scope": null,
+ "escapedName": "brace-expansion",
+ "name": "brace-expansion",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch"
]
],
"_from": "brace-expansion@>=1.0.0 <2.0.0",
- "_id": "brace-expansion@1.1.3",
+ "_id": "brace-expansion@1.1.6",
"_inCache": true,
"_installable": true,
- "_location": "/node-gyp/glob/minimatch/brace-expansion",
- "_nodeVersion": "5.5.0",
+ "_location": "/minimatch/brace-expansion",
+ "_nodeVersion": "4.4.7",
"_npmOperationalInternal": {
- "host": "packages-6-west.internal.npmjs.com",
- "tmp": "tmp/brace-expansion-1.1.3.tgz_1455216688668_0.948847763473168"
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/brace-expansion-1.1.6.tgz_1469047715600_0.9362958471756428"
},
"_npmUser": {
- "email": "julian@juliangruber.com",
- "name": "juliangruber"
+ "name": "juliangruber",
+ "email": "julian@juliangruber.com"
},
- "_npmVersion": "3.3.12",
+ "_npmVersion": "2.15.8",
"_phantomChildren": {},
"_requested": {
- "name": "brace-expansion",
"raw": "brace-expansion@^1.0.0",
- "rawSpec": "^1.0.0",
"scope": null,
+ "escapedName": "brace-expansion",
+ "name": "brace-expansion",
+ "rawSpec": "^1.0.0",
"spec": ">=1.0.0 <2.0.0",
"type": "range"
},
"_requiredBy": [
- "/node-gyp/glob/minimatch"
+ "/minimatch"
],
- "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz",
- "_shasum": "46bff50115d47fc9ab89854abb87d98078a10991",
+ "_resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz",
+ "_shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9",
"_shrinkwrap": null,
"_spec": "brace-expansion@^1.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/minimatch",
"author": {
- "email": "mail@juliangruber.com",
"name": "Julian Gruber",
+ "email": "mail@juliangruber.com",
"url": "http://juliangruber.com"
},
"bugs": {
"url": "https://github.com/juliangruber/brace-expansion/issues"
},
"dependencies": {
- "balanced-match": "^0.3.0",
+ "balanced-match": "^0.4.1",
"concat-map": "0.0.1"
},
"description": "Brace expansion as known from sh/bash",
"devDependencies": {
- "tape": "4.4.0"
+ "tape": "^4.6.0"
},
"directories": {},
"dist": {
- "shasum": "46bff50115d47fc9ab89854abb87d98078a10991",
- "tarball": "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.3.tgz"
+ "shasum": "7197d7eaa9b87e648390ea61fc66c84427420df9",
+ "tarball": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.6.tgz"
},
- "gitHead": "f0da1bb668e655f67b6b2d660c6e1c19e2a6f231",
+ "gitHead": "791262fa06625e9c5594cde529a21d82086af5f2",
"homepage": "https://github.com/juliangruber/brace-expansion",
"keywords": [],
"license": "MIT",
"main": "index.js",
"maintainers": [
{
- "email": "julian@juliangruber.com",
- "name": "juliangruber"
+ "name": "juliangruber",
+ "email": "julian@juliangruber.com"
},
{
- "email": "isaacs@npmjs.com",
- "name": "isaacs"
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
}
],
"name": "brace-expansion",
@@ -85,6 +94,7 @@
"test": "tape test/*.js"
},
"testling": {
+ "files": "test/*.js",
"browsers": [
"ie/8..latest",
"firefox/20..latest",
@@ -97,8 +107,7 @@
"ipad/6.0..latest",
"iphone/6.0..latest",
"android-browser/4.2..latest"
- ],
- "files": "test/*.js"
+ ]
},
- "version": "1.1.3"
+ "version": "1.1.6"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.npmignore
deleted file mode 100644
index 07e6e472cc..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-/node_modules
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.travis.yml b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.travis.yml
deleted file mode 100644
index 4af02b3d17..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/.travis.yml
+++ /dev/null
@@ -1,8 +0,0 @@
-language: node_js
-node_js:
- - '0.8'
- - '0.10'
- - '0.12'
- - 'iojs'
-before_install:
- - npm install -g npm@latest
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS
deleted file mode 100644
index 4a0bc5033a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS
+++ /dev/null
@@ -1,14 +0,0 @@
-# Authors, sorted by whether or not they are me
-Isaac Z. Schlueter <i@izs.me>
-Brian Cottingham <spiffytech@gmail.com>
-Carlos Brito Lage <carlos@carloslage.net>
-Jesse Dailey <jesse.dailey@gmail.com>
-Kevin O'Hara <kevinohara80@gmail.com>
-Marco Rogers <marco.rogers@gmail.com>
-Mark Cavage <mcavage@gmail.com>
-Marko Mikulicic <marko.mikulicic@isti.cnr.it>
-Nathan Rajlich <nathan@tootallnate.net>
-Satheesh Natesan <snateshan@myspace-inc.com>
-Trent Mick <trentm@gmail.com>
-ashleybrener <ashley@starlogik.com>
-n4kz <n4kz@n4kz.com>
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/LICENSE
deleted file mode 100644
index 19129e315f..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/README.md b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/README.md
deleted file mode 100644
index c06814e041..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/README.md
+++ /dev/null
@@ -1,137 +0,0 @@
-# lru cache
-
-A cache object that deletes the least-recently-used items.
-
-## Usage:
-
-```javascript
-var LRU = require("lru-cache")
- , options = { max: 500
- , length: function (n) { return n * 2 }
- , dispose: function (key, n) { n.close() }
- , maxAge: 1000 * 60 * 60 }
- , cache = LRU(options)
- , otherCache = LRU(50) // sets just the max size
-
-cache.set("key", "value")
-cache.get("key") // "value"
-
-cache.reset() // empty the cache
-```
-
-If you put more stuff in it, then items will fall out.
-
-If you try to put an oversized thing in it, then it'll fall out right
-away.
-
-## Keys should always be Strings or Numbers
-
-Note: this module will print warnings to `console.error` if you use a
-key that is not a String or Number. Because items are stored in an
-object, which coerces keys to a string, it won't go well for you if
-you try to use a key that is not a unique string, it'll cause surprise
-collisions. For example:
-
-```JavaScript
-// Bad Example! Dont' do this!
-var cache = LRU()
-var a = {}
-var b = {}
-cache.set(a, 'this is a')
-cache.set(b, 'this is b')
-console.log(cache.get(a)) // prints: 'this is b'
-```
-
-## Options
-
-* `max` The maximum size of the cache, checked by applying the length
- function to all values in the cache. Not setting this is kind of
- silly, since that's the whole purpose of this lib, but it defaults
- to `Infinity`.
-* `maxAge` Maximum age in ms. Items are not pro-actively pruned out
- as they age, but if you try to get an item that is too old, it'll
- drop it and return undefined instead of giving it to you.
-* `length` Function that is used to calculate the length of stored
- items. If you're storing strings or buffers, then you probably want
- to do something like `function(n){return n.length}`. The default is
- `function(n){return 1}`, which is fine if you want to store `max`
- like-sized things.
-* `dispose` Function that is called on items when they are dropped
- from the cache. This can be handy if you want to close file
- descriptors or do other cleanup tasks when items are no longer
- accessible. Called with `key, value`. It's called *before*
- actually removing the item from the internal cache, so if you want
- to immediately put it back in, you'll have to do that in a
- `nextTick` or `setTimeout` callback or it won't do anything.
-* `stale` By default, if you set a `maxAge`, it'll only actually pull
- stale items out of the cache when you `get(key)`. (That is, it's
- not pre-emptively doing a `setTimeout` or anything.) If you set
- `stale:true`, it'll return the stale value before deleting it. If
- you don't set this, then it'll return `undefined` when you try to
- get a stale entry, as if it had already been deleted.
-
-## API
-
-* `set(key, value, maxAge)`
-* `get(key) => value`
-
- Both of these will update the "recently used"-ness of the key.
- They do what you think. `max` is optional and overrides the
- cache `max` option if provided.
-
-* `peek(key)`
-
- Returns the key value (or `undefined` if not found) without
- updating the "recently used"-ness of the key.
-
- (If you find yourself using this a lot, you *might* be using the
- wrong sort of data structure, but there are some use cases where
- it's handy.)
-
-* `del(key)`
-
- Deletes a key out of the cache.
-
-* `reset()`
-
- Clear the cache entirely, throwing away all values.
-
-* `has(key)`
-
- Check if a key is in the cache, without updating the recent-ness
- or deleting it for being stale.
-
-* `forEach(function(value,key,cache), [thisp])`
-
- Just like `Array.prototype.forEach`. Iterates over all the keys
- in the cache, in order of recent-ness. (Ie, more recently used
- items are iterated over first.)
-
-* `keys()`
-
- Return an array of the keys in the cache.
-
-* `values()`
-
- Return an array of the values in the cache.
-
-* `length()`
-
- Return total length of objects in cache taking into account
- `length` options function.
-
-* `itemCount`
-
- Return total quantity of objects currently in cache. Note, that
- `stale` (see options) items are returned as part of this item
- count.
-
-* `dump()`
-
- Return an array of the cache entries ready for serialization and usage
- with 'destinationCache.load(arr)`.
-
-* `load(cacheEntriesArray)`
-
- Loads another cache entries array, obtained with `sourceCache.dump()`,
- into the cache. The destination cache is reset before loading new entries
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js
deleted file mode 100644
index 2bbe653be8..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js
+++ /dev/null
@@ -1,334 +0,0 @@
-;(function () { // closure for web browsers
-
-if (typeof module === 'object' && module.exports) {
- module.exports = LRUCache
-} else {
- // just set the global for non-node platforms.
- this.LRUCache = LRUCache
-}
-
-function hOP (obj, key) {
- return Object.prototype.hasOwnProperty.call(obj, key)
-}
-
-function naiveLength () { return 1 }
-
-var didTypeWarning = false
-function typeCheckKey(key) {
- if (!didTypeWarning && typeof key !== 'string' && typeof key !== 'number') {
- didTypeWarning = true
- console.error(new TypeError("LRU: key must be a string or number. Almost certainly a bug! " + typeof key).stack)
- }
-}
-
-function LRUCache (options) {
- if (!(this instanceof LRUCache))
- return new LRUCache(options)
-
- if (typeof options === 'number')
- options = { max: options }
-
- if (!options)
- options = {}
-
- this._max = options.max
- // Kind of weird to have a default max of Infinity, but oh well.
- if (!this._max || !(typeof this._max === "number") || this._max <= 0 )
- this._max = Infinity
-
- this._lengthCalculator = options.length || naiveLength
- if (typeof this._lengthCalculator !== "function")
- this._lengthCalculator = naiveLength
-
- this._allowStale = options.stale || false
- this._maxAge = options.maxAge || null
- this._dispose = options.dispose
- this.reset()
-}
-
-// resize the cache when the max changes.
-Object.defineProperty(LRUCache.prototype, "max",
- { set : function (mL) {
- if (!mL || !(typeof mL === "number") || mL <= 0 ) mL = Infinity
- this._max = mL
- if (this._length > this._max) trim(this)
- }
- , get : function () { return this._max }
- , enumerable : true
- })
-
-// resize the cache when the lengthCalculator changes.
-Object.defineProperty(LRUCache.prototype, "lengthCalculator",
- { set : function (lC) {
- if (typeof lC !== "function") {
- this._lengthCalculator = naiveLength
- this._length = this._itemCount
- for (var key in this._cache) {
- this._cache[key].length = 1
- }
- } else {
- this._lengthCalculator = lC
- this._length = 0
- for (var key in this._cache) {
- this._cache[key].length = this._lengthCalculator(this._cache[key].value)
- this._length += this._cache[key].length
- }
- }
-
- if (this._length > this._max) trim(this)
- }
- , get : function () { return this._lengthCalculator }
- , enumerable : true
- })
-
-Object.defineProperty(LRUCache.prototype, "length",
- { get : function () { return this._length }
- , enumerable : true
- })
-
-
-Object.defineProperty(LRUCache.prototype, "itemCount",
- { get : function () { return this._itemCount }
- , enumerable : true
- })
-
-LRUCache.prototype.forEach = function (fn, thisp) {
- thisp = thisp || this
- var i = 0
- var itemCount = this._itemCount
-
- for (var k = this._mru - 1; k >= 0 && i < itemCount; k--) if (this._lruList[k]) {
- i++
- var hit = this._lruList[k]
- if (isStale(this, hit)) {
- del(this, hit)
- if (!this._allowStale) hit = undefined
- }
- if (hit) {
- fn.call(thisp, hit.value, hit.key, this)
- }
- }
-}
-
-LRUCache.prototype.keys = function () {
- var keys = new Array(this._itemCount)
- var i = 0
- for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
- var hit = this._lruList[k]
- keys[i++] = hit.key
- }
- return keys
-}
-
-LRUCache.prototype.values = function () {
- var values = new Array(this._itemCount)
- var i = 0
- for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
- var hit = this._lruList[k]
- values[i++] = hit.value
- }
- return values
-}
-
-LRUCache.prototype.reset = function () {
- if (this._dispose && this._cache) {
- for (var k in this._cache) {
- this._dispose(k, this._cache[k].value)
- }
- }
-
- this._cache = Object.create(null) // hash of items by key
- this._lruList = Object.create(null) // list of items in order of use recency
- this._mru = 0 // most recently used
- this._lru = 0 // least recently used
- this._length = 0 // number of items in the list
- this._itemCount = 0
-}
-
-LRUCache.prototype.dump = function () {
- var arr = []
- var i = 0
-
- for (var k = this._mru - 1; k >= 0 && i < this._itemCount; k--) if (this._lruList[k]) {
- var hit = this._lruList[k]
- if (!isStale(this, hit)) {
- //Do not store staled hits
- ++i
- arr.push({
- k: hit.key,
- v: hit.value,
- e: hit.now + (hit.maxAge || 0)
- });
- }
- }
- //arr has the most read first
- return arr
-}
-
-LRUCache.prototype.dumpLru = function () {
- return this._lruList
-}
-
-LRUCache.prototype.set = function (key, value, maxAge) {
- maxAge = maxAge || this._maxAge
- typeCheckKey(key)
-
- var now = maxAge ? Date.now() : 0
- var len = this._lengthCalculator(value)
-
- if (hOP(this._cache, key)) {
- if (len > this._max) {
- del(this, this._cache[key])
- return false
- }
- // dispose of the old one before overwriting
- if (this._dispose)
- this._dispose(key, this._cache[key].value)
-
- this._cache[key].now = now
- this._cache[key].maxAge = maxAge
- this._cache[key].value = value
- this._length += (len - this._cache[key].length)
- this._cache[key].length = len
- this.get(key)
-
- if (this._length > this._max)
- trim(this)
-
- return true
- }
-
- var hit = new Entry(key, value, this._mru++, len, now, maxAge)
-
- // oversized objects fall out of cache automatically.
- if (hit.length > this._max) {
- if (this._dispose) this._dispose(key, value)
- return false
- }
-
- this._length += hit.length
- this._lruList[hit.lu] = this._cache[key] = hit
- this._itemCount ++
-
- if (this._length > this._max)
- trim(this)
-
- return true
-}
-
-LRUCache.prototype.has = function (key) {
- typeCheckKey(key)
- if (!hOP(this._cache, key)) return false
- var hit = this._cache[key]
- if (isStale(this, hit)) {
- return false
- }
- return true
-}
-
-LRUCache.prototype.get = function (key) {
- typeCheckKey(key)
- return get(this, key, true)
-}
-
-LRUCache.prototype.peek = function (key) {
- typeCheckKey(key)
- return get(this, key, false)
-}
-
-LRUCache.prototype.pop = function () {
- var hit = this._lruList[this._lru]
- del(this, hit)
- return hit || null
-}
-
-LRUCache.prototype.del = function (key) {
- typeCheckKey(key)
- del(this, this._cache[key])
-}
-
-LRUCache.prototype.load = function (arr) {
- //reset the cache
- this.reset();
-
- var now = Date.now()
- //A previous serialized cache has the most recent items first
- for (var l = arr.length - 1; l >= 0; l-- ) {
- var hit = arr[l]
- typeCheckKey(hit.k)
- var expiresAt = hit.e || 0
- if (expiresAt === 0) {
- //the item was created without expiration in a non aged cache
- this.set(hit.k, hit.v)
- } else {
- var maxAge = expiresAt - now
- //dont add already expired items
- if (maxAge > 0) this.set(hit.k, hit.v, maxAge)
- }
- }
-}
-
-function get (self, key, doUse) {
- typeCheckKey(key)
- var hit = self._cache[key]
- if (hit) {
- if (isStale(self, hit)) {
- del(self, hit)
- if (!self._allowStale) hit = undefined
- } else {
- if (doUse) use(self, hit)
- }
- if (hit) hit = hit.value
- }
- return hit
-}
-
-function isStale(self, hit) {
- if (!hit || (!hit.maxAge && !self._maxAge)) return false
- var stale = false;
- var diff = Date.now() - hit.now
- if (hit.maxAge) {
- stale = diff > hit.maxAge
- } else {
- stale = self._maxAge && (diff > self._maxAge)
- }
- return stale;
-}
-
-function use (self, hit) {
- shiftLU(self, hit)
- hit.lu = self._mru ++
- self._lruList[hit.lu] = hit
-}
-
-function trim (self) {
- while (self._lru < self._mru && self._length > self._max)
- del(self, self._lruList[self._lru])
-}
-
-function shiftLU (self, hit) {
- delete self._lruList[ hit.lu ]
- while (self._lru < self._mru && !self._lruList[self._lru]) self._lru ++
-}
-
-function del (self, hit) {
- if (hit) {
- if (self._dispose) self._dispose(hit.key, hit.value)
- self._length -= hit.length
- self._itemCount --
- delete self._cache[ hit.key ]
- shiftLU(self, hit)
- }
-}
-
-// classy, since V8 prefers predictable objects.
-function Entry (key, value, lu, length, now, maxAge) {
- this.key = key
- this.value = value
- this.lu = lu
- this.length = length
- this.now = now
- if (maxAge) this.maxAge = maxAge
-}
-
-})()
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/package.json b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/package.json
deleted file mode 100644
index 411b59ea1b..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/package.json
+++ /dev/null
@@ -1,84 +0,0 @@
-{
- "_args": [
- [
- "lru-cache@2",
- "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/minimatch"
- ]
- ],
- "_from": "lru-cache@>=2.0.0 <3.0.0",
- "_id": "lru-cache@2.7.3",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/minimatch/lru-cache",
- "_nodeVersion": "4.0.0",
- "_npmUser": {
- "email": "i@izs.me",
- "name": "isaacs"
- },
- "_npmVersion": "3.3.2",
- "_phantomChildren": {},
- "_requested": {
- "name": "lru-cache",
- "raw": "lru-cache@2",
- "rawSpec": "2",
- "scope": null,
- "spec": ">=2.0.0 <3.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/minimatch"
- ],
- "_resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
- "_shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952",
- "_shrinkwrap": null,
- "_spec": "lru-cache@2",
- "_where": "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/minimatch",
- "author": {
- "email": "i@izs.me",
- "name": "Isaac Z. Schlueter"
- },
- "bugs": {
- "url": "https://github.com/isaacs/node-lru-cache/issues"
- },
- "dependencies": {},
- "description": "A cache object that deletes the least-recently-used items.",
- "devDependencies": {
- "tap": "^1.2.0",
- "weak": ""
- },
- "directories": {},
- "dist": {
- "shasum": "6d4524e8b955f95d4f5b58851ce21dd72fb4e952",
- "tarball": "http://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz"
- },
- "gitHead": "292048199f6d28b77fbe584279a1898e25e4c714",
- "homepage": "https://github.com/isaacs/node-lru-cache#readme",
- "keywords": [
- "cache",
- "lru",
- "mru"
- ],
- "license": "ISC",
- "main": "lib/lru-cache.js",
- "maintainers": [
- {
- "name": "isaacs",
- "email": "isaacs@npmjs.com"
- },
- {
- "name": "othiym23",
- "email": "ogd@aoaioxxysz.net"
- }
- ],
- "name": "lru-cache",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/node-lru-cache.git"
- },
- "scripts": {
- "test": "tap test --gc"
- },
- "version": "2.7.3"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/basic.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/basic.js
deleted file mode 100644
index b47225f109..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/basic.js
+++ /dev/null
@@ -1,396 +0,0 @@
-var test = require("tap").test
- , LRU = require("../")
-
-test("basic", function (t) {
- var cache = new LRU({max: 10})
- cache.set("key", "value")
- t.equal(cache.get("key"), "value")
- t.equal(cache.get("nada"), undefined)
- t.equal(cache.length, 1)
- t.equal(cache.max, 10)
- t.end()
-})
-
-test("least recently set", function (t) {
- var cache = new LRU(2)
- cache.set("a", "A")
- cache.set("b", "B")
- cache.set("c", "C")
- t.equal(cache.get("c"), "C")
- t.equal(cache.get("b"), "B")
- t.equal(cache.get("a"), undefined)
- t.end()
-})
-
-test("lru recently gotten", function (t) {
- var cache = new LRU(2)
- cache.set("a", "A")
- cache.set("b", "B")
- cache.get("a")
- cache.set("c", "C")
- t.equal(cache.get("c"), "C")
- t.equal(cache.get("b"), undefined)
- t.equal(cache.get("a"), "A")
- t.end()
-})
-
-test("del", function (t) {
- var cache = new LRU(2)
- cache.set("a", "A")
- cache.del("a")
- t.equal(cache.get("a"), undefined)
- t.end()
-})
-
-test("max", function (t) {
- var cache = new LRU(3)
-
- // test changing the max, verify that the LRU items get dropped.
- cache.max = 100
- for (var i = 0; i < 100; i ++) cache.set(i, i)
- t.equal(cache.length, 100)
- for (var i = 0; i < 100; i ++) {
- t.equal(cache.get(i), i)
- }
- cache.max = 3
- t.equal(cache.length, 3)
- for (var i = 0; i < 97; i ++) {
- t.equal(cache.get(i), undefined)
- }
- for (var i = 98; i < 100; i ++) {
- t.equal(cache.get(i), i)
- }
-
- // now remove the max restriction, and try again.
- cache.max = "hello"
- for (var i = 0; i < 100; i ++) cache.set(i, i)
- t.equal(cache.length, 100)
- for (var i = 0; i < 100; i ++) {
- t.equal(cache.get(i), i)
- }
- // should trigger an immediate resize
- cache.max = 3
- t.equal(cache.length, 3)
- for (var i = 0; i < 97; i ++) {
- t.equal(cache.get(i), undefined)
- }
- for (var i = 98; i < 100; i ++) {
- t.equal(cache.get(i), i)
- }
- t.end()
-})
-
-test("reset", function (t) {
- var cache = new LRU(10)
- cache.set("a", "A")
- cache.set("b", "B")
- cache.reset()
- t.equal(cache.length, 0)
- t.equal(cache.max, 10)
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), undefined)
- t.end()
-})
-
-
-test("basic with weighed length", function (t) {
- var cache = new LRU({
- max: 100,
- length: function (item) { return item.size }
- })
- cache.set("key", {val: "value", size: 50})
- t.equal(cache.get("key").val, "value")
- t.equal(cache.get("nada"), undefined)
- t.equal(cache.lengthCalculator(cache.get("key")), 50)
- t.equal(cache.length, 50)
- t.equal(cache.max, 100)
- t.end()
-})
-
-
-test("weighed length item too large", function (t) {
- var cache = new LRU({
- max: 10,
- length: function (item) { return item.size }
- })
- t.equal(cache.max, 10)
-
- // should fall out immediately
- cache.set("key", {val: "value", size: 50})
-
- t.equal(cache.length, 0)
- t.equal(cache.get("key"), undefined)
- t.end()
-})
-
-test("least recently set with weighed length", function (t) {
- var cache = new LRU({
- max:8,
- length: function (item) { return item.length }
- })
- cache.set("a", "A")
- cache.set("b", "BB")
- cache.set("c", "CCC")
- cache.set("d", "DDDD")
- t.equal(cache.get("d"), "DDDD")
- t.equal(cache.get("c"), "CCC")
- t.equal(cache.get("b"), undefined)
- t.equal(cache.get("a"), undefined)
- t.end()
-})
-
-test("lru recently gotten with weighed length", function (t) {
- var cache = new LRU({
- max: 8,
- length: function (item) { return item.length }
- })
- cache.set("a", "A")
- cache.set("b", "BB")
- cache.set("c", "CCC")
- cache.get("a")
- cache.get("b")
- cache.set("d", "DDDD")
- t.equal(cache.get("c"), undefined)
- t.equal(cache.get("d"), "DDDD")
- t.equal(cache.get("b"), "BB")
- t.equal(cache.get("a"), "A")
- t.end()
-})
-
-test("lru recently updated with weighed length", function (t) {
- var cache = new LRU({
- max: 8,
- length: function (item) { return item.length }
- })
- cache.set("a", "A")
- cache.set("b", "BB")
- cache.set("c", "CCC")
- t.equal(cache.length, 6) //CCC BB A
- cache.set("a", "+A")
- t.equal(cache.length, 7) //+A CCC BB
- cache.set("b", "++BB")
- t.equal(cache.length, 6) //++BB +A
- t.equal(cache.get("c"), undefined)
-
- cache.set("c", "oversized")
- t.equal(cache.length, 6) //++BB +A
- t.equal(cache.get("c"), undefined)
-
- cache.set("a", "oversized")
- t.equal(cache.length, 4) //++BB
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), "++BB")
- t.end()
-})
-
-test("set returns proper booleans", function(t) {
- var cache = new LRU({
- max: 5,
- length: function (item) { return item.length }
- })
-
- t.equal(cache.set("a", "A"), true)
-
- // should return false for max exceeded
- t.equal(cache.set("b", "donuts"), false)
-
- t.equal(cache.set("b", "B"), true)
- t.equal(cache.set("c", "CCCC"), true)
- t.end()
-})
-
-test("drop the old items", function(t) {
- var cache = new LRU({
- max: 5,
- maxAge: 50
- })
-
- cache.set("a", "A")
-
- setTimeout(function () {
- cache.set("b", "b")
- t.equal(cache.get("a"), "A")
- }, 25)
-
- setTimeout(function () {
- cache.set("c", "C")
- // timed out
- t.notOk(cache.get("a"))
- }, 60 + 25)
-
- setTimeout(function () {
- t.notOk(cache.get("b"))
- t.equal(cache.get("c"), "C")
- }, 90)
-
- setTimeout(function () {
- t.notOk(cache.get("c"))
- t.end()
- }, 155)
-})
-
-test("individual item can have it's own maxAge", function(t) {
- var cache = new LRU({
- max: 5,
- maxAge: 50
- })
-
- cache.set("a", "A", 20)
- setTimeout(function () {
- t.notOk(cache.get("a"))
- t.end()
- }, 25)
-})
-
-test("individual item can have it's own maxAge > cache's", function(t) {
- var cache = new LRU({
- max: 5,
- maxAge: 20
- })
-
- cache.set("a", "A", 50)
- setTimeout(function () {
- t.equal(cache.get("a"), "A")
- t.end()
- }, 25)
-})
-
-test("disposal function", function(t) {
- var disposed = false
- var cache = new LRU({
- max: 1,
- dispose: function (k, n) {
- disposed = n
- }
- })
-
- cache.set(1, 1)
- cache.set(2, 2)
- t.equal(disposed, 1)
- cache.set(3, 3)
- t.equal(disposed, 2)
- cache.reset()
- t.equal(disposed, 3)
- t.end()
-})
-
-test("disposal function on too big of item", function(t) {
- var disposed = false
- var cache = new LRU({
- max: 1,
- length: function (k) {
- return k.length
- },
- dispose: function (k, n) {
- disposed = n
- }
- })
- var obj = [ 1, 2 ]
-
- t.equal(disposed, false)
- cache.set("obj", obj)
- t.equal(disposed, obj)
- t.end()
-})
-
-test("has()", function(t) {
- var cache = new LRU({
- max: 1,
- maxAge: 10
- })
-
- cache.set('foo', 'bar')
- t.equal(cache.has('foo'), true)
- cache.set('blu', 'baz')
- t.equal(cache.has('foo'), false)
- t.equal(cache.has('blu'), true)
- setTimeout(function() {
- t.equal(cache.has('blu'), false)
- t.end()
- }, 15)
-})
-
-test("stale", function(t) {
- var cache = new LRU({
- maxAge: 10,
- stale: true
- })
-
- cache.set('foo', 'bar')
- t.equal(cache.get('foo'), 'bar')
- t.equal(cache.has('foo'), true)
- setTimeout(function() {
- t.equal(cache.has('foo'), false)
- t.equal(cache.get('foo'), 'bar')
- t.equal(cache.get('foo'), undefined)
- t.end()
- }, 15)
-})
-
-test("lru update via set", function(t) {
- var cache = LRU({ max: 2 });
-
- cache.set('foo', 1);
- cache.set('bar', 2);
- cache.del('bar');
- cache.set('baz', 3);
- cache.set('qux', 4);
-
- t.equal(cache.get('foo'), undefined)
- t.equal(cache.get('bar'), undefined)
- t.equal(cache.get('baz'), 3)
- t.equal(cache.get('qux'), 4)
- t.end()
-})
-
-test("least recently set w/ peek", function (t) {
- var cache = new LRU(2)
- cache.set("a", "A")
- cache.set("b", "B")
- t.equal(cache.peek("a"), "A")
- cache.set("c", "C")
- t.equal(cache.get("c"), "C")
- t.equal(cache.get("b"), "B")
- t.equal(cache.get("a"), undefined)
- t.end()
-})
-
-test("pop the least used item", function (t) {
- var cache = new LRU(3)
- , last
-
- cache.set("a", "A")
- cache.set("b", "B")
- cache.set("c", "C")
-
- t.equal(cache.length, 3)
- t.equal(cache.max, 3)
-
- // Ensure we pop a, c, b
- cache.get("b", "B")
-
- last = cache.pop()
- t.equal(last.key, "a")
- t.equal(last.value, "A")
- t.equal(cache.length, 2)
- t.equal(cache.max, 3)
-
- last = cache.pop()
- t.equal(last.key, "c")
- t.equal(last.value, "C")
- t.equal(cache.length, 1)
- t.equal(cache.max, 3)
-
- last = cache.pop()
- t.equal(last.key, "b")
- t.equal(last.value, "B")
- t.equal(cache.length, 0)
- t.equal(cache.max, 3)
-
- last = cache.pop()
- t.equal(last, null)
- t.equal(cache.length, 0)
- t.equal(cache.max, 3)
-
- t.end()
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/foreach.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/foreach.js
deleted file mode 100644
index 4190417cbc..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/foreach.js
+++ /dev/null
@@ -1,120 +0,0 @@
-var test = require('tap').test
-var LRU = require('../')
-
-test('forEach', function (t) {
- var l = new LRU(5)
- for (var i = 0; i < 10; i ++) {
- l.set(i.toString(), i.toString(2))
- }
-
- var i = 9
- l.forEach(function (val, key, cache) {
- t.equal(cache, l)
- t.equal(key, i.toString())
- t.equal(val, i.toString(2))
- i -= 1
- })
-
- // get in order of most recently used
- l.get(6)
- l.get(8)
-
- var order = [ 8, 6, 9, 7, 5 ]
- var i = 0
-
- l.forEach(function (val, key, cache) {
- var j = order[i ++]
- t.equal(cache, l)
- t.equal(key, j.toString())
- t.equal(val, j.toString(2))
- })
- t.equal(i, order.length);
-
- t.end()
-})
-
-test('keys() and values()', function (t) {
- var l = new LRU(5)
- for (var i = 0; i < 10; i ++) {
- l.set(i.toString(), i.toString(2))
- }
-
- t.similar(l.keys(), ['9', '8', '7', '6', '5'])
- t.similar(l.values(), ['1001', '1000', '111', '110', '101'])
-
- // get in order of most recently used
- l.get(6)
- l.get(8)
-
- t.similar(l.keys(), ['8', '6', '9', '7', '5'])
- t.similar(l.values(), ['1000', '110', '1001', '111', '101'])
-
- t.end()
-})
-
-test('all entries are iterated over', function(t) {
- var l = new LRU(5)
- for (var i = 0; i < 10; i ++) {
- l.set(i.toString(), i.toString(2))
- }
-
- var i = 0
- l.forEach(function (val, key, cache) {
- if (i > 0) {
- cache.del(key)
- }
- i += 1
- })
-
- t.equal(i, 5)
- t.equal(l.keys().length, 1)
-
- t.end()
-})
-
-test('all stale entries are removed', function(t) {
- var l = new LRU({ max: 5, maxAge: -5, stale: true })
- for (var i = 0; i < 10; i ++) {
- l.set(i.toString(), i.toString(2))
- }
-
- var i = 0
- l.forEach(function () {
- i += 1
- })
-
- t.equal(i, 5)
- t.equal(l.keys().length, 0)
-
- t.end()
-})
-
-test('expires', function (t) {
- var l = new LRU({
- max: 10,
- maxAge: 50
- })
- for (var i = 0; i < 10; i++) {
- l.set(i.toString(), i.toString(2), ((i % 2) ? 25 : undefined))
- }
-
- var i = 0
- var order = [ 8, 6, 4, 2, 0 ]
- setTimeout(function () {
- l.forEach(function (val, key, cache) {
- var j = order[i++]
- t.equal(cache, l)
- t.equal(key, j.toString())
- t.equal(val, j.toString(2))
- })
- t.equal(i, order.length);
-
- setTimeout(function () {
- var count = 0;
- l.forEach(function (val, key, cache) { count++; })
- t.equal(0, count);
- t.end()
- }, 25)
-
- }, 26)
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js
deleted file mode 100644
index b5912f6f16..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/usr/bin/env node --expose_gc
-
-
-var weak = require('weak');
-var test = require('tap').test
-var LRU = require('../')
-var l = new LRU({ max: 10 })
-var refs = 0
-function X() {
- refs ++
- weak(this, deref)
-}
-
-function deref() {
- refs --
-}
-
-test('no leaks', function (t) {
- // fill up the cache
- for (var i = 0; i < 100; i++) {
- l.set(i, new X);
- // throw some gets in there, too.
- if (i % 2 === 0)
- l.get(i / 2)
- }
-
- gc()
-
- var start = process.memoryUsage()
-
- // capture the memory
- var startRefs = refs
-
- // do it again, but more
- for (var i = 0; i < 10000; i++) {
- l.set(i, new X);
- // throw some gets in there, too.
- if (i % 2 === 0)
- l.get(i / 2)
- }
-
- gc()
-
- var end = process.memoryUsage()
- t.equal(refs, startRefs, 'no leaky refs')
-
- console.error('start: %j\n' +
- 'end: %j', start, end);
- t.pass();
- t.end();
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/serialize.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/serialize.js
deleted file mode 100644
index 5fe5dc3d37..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/lru-cache/test/serialize.js
+++ /dev/null
@@ -1,215 +0,0 @@
-var test = require('tap').test
-var LRU = require('../')
-
-test('dump', function (t) {
- var cache = new LRU()
-
- t.equal(cache.dump().length, 0, "nothing in dump for empty cache")
-
- cache.set("a", "A")
- cache.set("b", "B")
- t.deepEqual(cache.dump(), [
- { k: "b", v: "B", e: 0 },
- { k: "a", v: "A", e: 0 }
- ])
-
- cache.set("a", "A");
- t.deepEqual(cache.dump(), [
- { k: "a", v: "A", e: 0 },
- { k: "b", v: "B", e: 0 }
- ])
-
- cache.get("b");
- t.deepEqual(cache.dump(), [
- { k: "b", v: "B", e: 0 },
- { k: "a", v: "A", e: 0 }
- ])
-
- cache.del("a");
- t.deepEqual(cache.dump(), [
- { k: "b", v: "B", e: 0 }
- ])
-
- t.end()
-})
-
-test("do not dump stale items", function(t) {
- var cache = new LRU({
- max: 5,
- maxAge: 50
- })
-
- //expires at 50
- cache.set("a", "A")
-
- setTimeout(function () {
- //expires at 75
- cache.set("b", "B")
- var s = cache.dump()
- t.equal(s.length, 2)
- t.equal(s[0].k, "b")
- t.equal(s[1].k, "a")
- }, 25)
-
- setTimeout(function () {
- //expires at 110
- cache.set("c", "C")
- var s = cache.dump()
- t.equal(s.length, 2)
- t.equal(s[0].k, "c")
- t.equal(s[1].k, "b")
- }, 60)
-
- setTimeout(function () {
- //expires at 130
- cache.set("d", "D", 40)
- var s = cache.dump()
- t.equal(s.length, 2)
- t.equal(s[0].k, "d")
- t.equal(s[1].k, "c")
- }, 90)
-
- setTimeout(function () {
- var s = cache.dump()
- t.equal(s.length, 1)
- t.equal(s[0].k, "d")
- }, 120)
-
- setTimeout(function () {
- var s = cache.dump()
- t.deepEqual(s, [])
- t.end()
- }, 155)
-})
-
-test("load basic cache", function(t) {
- var cache = new LRU(),
- copy = new LRU()
-
- cache.set("a", "A")
- cache.set("b", "B")
-
- copy.load(cache.dump())
- t.deepEquals(cache.dump(), copy.dump())
-
- t.end()
-})
-
-
-test("load staled cache", function(t) {
- var cache = new LRU({maxAge: 50}),
- copy = new LRU({maxAge: 50}),
- arr
-
- //expires at 50
- cache.set("a", "A")
- setTimeout(function () {
- //expires at 80
- cache.set("b", "B")
- arr = cache.dump()
- t.equal(arr.length, 2)
- }, 30)
-
- setTimeout(function () {
- copy.load(arr)
- t.equal(copy.get("a"), undefined)
- t.equal(copy.get("b"), "B")
- }, 60)
-
- setTimeout(function () {
- t.equal(copy.get("b"), undefined)
- t.end()
- }, 90)
-})
-
-test("load to other size cache", function(t) {
- var cache = new LRU({max: 2}),
- copy = new LRU({max: 1})
-
- cache.set("a", "A")
- cache.set("b", "B")
-
- copy.load(cache.dump())
- t.equal(copy.get("a"), undefined)
- t.equal(copy.get("b"), "B")
-
- //update the last read from original cache
- cache.get("a")
- copy.load(cache.dump())
- t.equal(copy.get("a"), "A")
- t.equal(copy.get("b"), undefined)
-
- t.end()
-})
-
-
-test("load to other age cache", function(t) {
- var cache = new LRU({maxAge: 50}),
- aged = new LRU({maxAge: 100}),
- simple = new LRU(),
- arr,
- expired
-
- //created at 0
- //a would be valid till 0 + 50
- cache.set("a", "A")
- setTimeout(function () {
- //created at 20
- //b would be valid till 20 + 50
- cache.set("b", "B")
- //b would be valid till 20 + 70
- cache.set("c", "C", 70)
- arr = cache.dump()
- t.equal(arr.length, 3)
- }, 20)
-
- setTimeout(function () {
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), "B")
- t.equal(cache.get("c"), "C")
-
- aged.load(arr)
- t.equal(aged.get("a"), undefined)
- t.equal(aged.get("b"), "B")
- t.equal(aged.get("c"), "C")
-
- simple.load(arr)
- t.equal(simple.get("a"), undefined)
- t.equal(simple.get("b"), "B")
- t.equal(simple.get("c"), "C")
- }, 60)
-
- setTimeout(function () {
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), undefined)
- t.equal(cache.get("c"), "C")
-
- aged.load(arr)
- t.equal(aged.get("a"), undefined)
- t.equal(aged.get("b"), undefined)
- t.equal(aged.get("c"), "C")
-
- simple.load(arr)
- t.equal(simple.get("a"), undefined)
- t.equal(simple.get("b"), undefined)
- t.equal(simple.get("c"), "C")
- }, 80)
-
- setTimeout(function () {
- t.equal(cache.get("a"), undefined)
- t.equal(cache.get("b"), undefined)
- t.equal(cache.get("c"), undefined)
-
- aged.load(arr)
- t.equal(aged.get("a"), undefined)
- t.equal(aged.get("b"), undefined)
- t.equal(aged.get("c"), undefined)
-
- simple.load(arr)
- t.equal(simple.get("a"), undefined)
- t.equal(simple.get("b"), undefined)
- t.equal(simple.get("c"), undefined)
- t.end()
- }, 100)
-
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/LICENSE
deleted file mode 100644
index 19129e315f..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/LICENSE
+++ /dev/null
@@ -1,15 +0,0 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
-
-Permission to use, copy, modify, and/or distribute this software for any
-purpose with or without fee is hereby granted, provided that the above
-copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/README.md b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/README.md
deleted file mode 100644
index 25a38a53fe..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/README.md
+++ /dev/null
@@ -1,53 +0,0 @@
-# sigmund
-
-Quick and dirty signatures for Objects.
-
-This is like a much faster `deepEquals` comparison, which returns a
-string key suitable for caches and the like.
-
-## Usage
-
-```javascript
-function doSomething (someObj) {
- var key = sigmund(someObj, maxDepth) // max depth defaults to 10
- var cached = cache.get(key)
- if (cached) return cached
-
- var result = expensiveCalculation(someObj)
- cache.set(key, result)
- return result
-}
-```
-
-The resulting key will be as unique and reproducible as calling
-`JSON.stringify` or `util.inspect` on the object, but is much faster.
-In order to achieve this speed, some differences are glossed over.
-For example, the object `{0:'foo'}` will be treated identically to the
-array `['foo']`.
-
-Also, just as there is no way to summon the soul from the scribblings
-of a cocaine-addled psychoanalyst, there is no way to revive the object
-from the signature string that sigmund gives you. In fact, it's
-barely even readable.
-
-As with `util.inspect` and `JSON.stringify`, larger objects will
-produce larger signature strings.
-
-Because sigmund is a bit less strict than the more thorough
-alternatives, the strings will be shorter, and also there is a
-slightly higher chance for collisions. For example, these objects
-have the same signature:
-
- var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}
- var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}
-
-Like a good Freudian, sigmund is most effective when you already have
-some understanding of what you're looking for. It can help you help
-yourself, but you must be willing to do some work as well.
-
-Cycles are handled, and cyclical objects are silently omitted (though
-the key is included in the signature output.)
-
-The second argument is the maximum depth, which defaults to 10,
-because that is the maximum object traversal depth covered by most
-insurance carriers.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/bench.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/bench.js
deleted file mode 100644
index 5acfd6d90d..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/bench.js
+++ /dev/null
@@ -1,283 +0,0 @@
-// different ways to id objects
-// use a req/res pair, since it's crazy deep and cyclical
-
-// sparseFE10 and sigmund are usually pretty close, which is to be expected,
-// since they are essentially the same algorithm, except that sigmund handles
-// regular expression objects properly.
-
-
-var http = require('http')
-var util = require('util')
-var sigmund = require('./sigmund.js')
-var sreq, sres, creq, cres, test
-
-http.createServer(function (q, s) {
- sreq = q
- sres = s
- sres.end('ok')
- this.close(function () { setTimeout(function () {
- start()
- }, 200) })
-}).listen(1337, function () {
- creq = http.get({ port: 1337 })
- creq.on('response', function (s) { cres = s })
-})
-
-function start () {
- test = [sreq, sres, creq, cres]
- // test = sreq
- // sreq.sres = sres
- // sreq.creq = creq
- // sreq.cres = cres
-
- for (var i in exports.compare) {
- console.log(i)
- var hash = exports.compare[i]()
- console.log(hash)
- console.log(hash.length)
- console.log('')
- }
-
- require('bench').runMain()
-}
-
-function customWs (obj, md, d) {
- d = d || 0
- var to = typeof obj
- if (to === 'undefined' || to === 'function' || to === null) return ''
- if (d > md || !obj || to !== 'object') return ('' + obj).replace(/[\n ]+/g, '')
-
- if (Array.isArray(obj)) {
- return obj.map(function (i, _, __) {
- return customWs(i, md, d + 1)
- }).reduce(function (a, b) { return a + b }, '')
- }
-
- var keys = Object.keys(obj)
- return keys.map(function (k, _, __) {
- return k + ':' + customWs(obj[k], md, d + 1)
- }).reduce(function (a, b) { return a + b }, '')
-}
-
-function custom (obj, md, d) {
- d = d || 0
- var to = typeof obj
- if (to === 'undefined' || to === 'function' || to === null) return ''
- if (d > md || !obj || to !== 'object') return '' + obj
-
- if (Array.isArray(obj)) {
- return obj.map(function (i, _, __) {
- return custom(i, md, d + 1)
- }).reduce(function (a, b) { return a + b }, '')
- }
-
- var keys = Object.keys(obj)
- return keys.map(function (k, _, __) {
- return k + ':' + custom(obj[k], md, d + 1)
- }).reduce(function (a, b) { return a + b }, '')
-}
-
-function sparseFE2 (obj, maxDepth) {
- var seen = []
- var soFar = ''
- function ch (v, depth) {
- if (depth > maxDepth) return
- if (typeof v === 'function' || typeof v === 'undefined') return
- if (typeof v !== 'object' || !v) {
- soFar += v
- return
- }
- if (seen.indexOf(v) !== -1 || depth === maxDepth) return
- seen.push(v)
- soFar += '{'
- Object.keys(v).forEach(function (k, _, __) {
- // pseudo-private values. skip those.
- if (k.charAt(0) === '_') return
- var to = typeof v[k]
- if (to === 'function' || to === 'undefined') return
- soFar += k + ':'
- ch(v[k], depth + 1)
- })
- soFar += '}'
- }
- ch(obj, 0)
- return soFar
-}
-
-function sparseFE (obj, maxDepth) {
- var seen = []
- var soFar = ''
- function ch (v, depth) {
- if (depth > maxDepth) return
- if (typeof v === 'function' || typeof v === 'undefined') return
- if (typeof v !== 'object' || !v) {
- soFar += v
- return
- }
- if (seen.indexOf(v) !== -1 || depth === maxDepth) return
- seen.push(v)
- soFar += '{'
- Object.keys(v).forEach(function (k, _, __) {
- // pseudo-private values. skip those.
- if (k.charAt(0) === '_') return
- var to = typeof v[k]
- if (to === 'function' || to === 'undefined') return
- soFar += k
- ch(v[k], depth + 1)
- })
- }
- ch(obj, 0)
- return soFar
-}
-
-function sparse (obj, maxDepth) {
- var seen = []
- var soFar = ''
- function ch (v, depth) {
- if (depth > maxDepth) return
- if (typeof v === 'function' || typeof v === 'undefined') return
- if (typeof v !== 'object' || !v) {
- soFar += v
- return
- }
- if (seen.indexOf(v) !== -1 || depth === maxDepth) return
- seen.push(v)
- soFar += '{'
- for (var k in v) {
- // pseudo-private values. skip those.
- if (k.charAt(0) === '_') continue
- var to = typeof v[k]
- if (to === 'function' || to === 'undefined') continue
- soFar += k
- ch(v[k], depth + 1)
- }
- }
- ch(obj, 0)
- return soFar
-}
-
-function noCommas (obj, maxDepth) {
- var seen = []
- var soFar = ''
- function ch (v, depth) {
- if (depth > maxDepth) return
- if (typeof v === 'function' || typeof v === 'undefined') return
- if (typeof v !== 'object' || !v) {
- soFar += v
- return
- }
- if (seen.indexOf(v) !== -1 || depth === maxDepth) return
- seen.push(v)
- soFar += '{'
- for (var k in v) {
- // pseudo-private values. skip those.
- if (k.charAt(0) === '_') continue
- var to = typeof v[k]
- if (to === 'function' || to === 'undefined') continue
- soFar += k + ':'
- ch(v[k], depth + 1)
- }
- soFar += '}'
- }
- ch(obj, 0)
- return soFar
-}
-
-
-function flatten (obj, maxDepth) {
- var seen = []
- var soFar = ''
- function ch (v, depth) {
- if (depth > maxDepth) return
- if (typeof v === 'function' || typeof v === 'undefined') return
- if (typeof v !== 'object' || !v) {
- soFar += v
- return
- }
- if (seen.indexOf(v) !== -1 || depth === maxDepth) return
- seen.push(v)
- soFar += '{'
- for (var k in v) {
- // pseudo-private values. skip those.
- if (k.charAt(0) === '_') continue
- var to = typeof v[k]
- if (to === 'function' || to === 'undefined') continue
- soFar += k + ':'
- ch(v[k], depth + 1)
- soFar += ','
- }
- soFar += '}'
- }
- ch(obj, 0)
- return soFar
-}
-
-exports.compare =
-{
- // 'custom 2': function () {
- // return custom(test, 2, 0)
- // },
- // 'customWs 2': function () {
- // return customWs(test, 2, 0)
- // },
- 'JSON.stringify (guarded)': function () {
- var seen = []
- return JSON.stringify(test, function (k, v) {
- if (typeof v !== 'object' || !v) return v
- if (seen.indexOf(v) !== -1) return undefined
- seen.push(v)
- return v
- })
- },
-
- 'flatten 10': function () {
- return flatten(test, 10)
- },
-
- // 'flattenFE 10': function () {
- // return flattenFE(test, 10)
- // },
-
- 'noCommas 10': function () {
- return noCommas(test, 10)
- },
-
- 'sparse 10': function () {
- return sparse(test, 10)
- },
-
- 'sparseFE 10': function () {
- return sparseFE(test, 10)
- },
-
- 'sparseFE2 10': function () {
- return sparseFE2(test, 10)
- },
-
- sigmund: function() {
- return sigmund(test, 10)
- },
-
-
- // 'util.inspect 1': function () {
- // return util.inspect(test, false, 1, false)
- // },
- // 'util.inspect undefined': function () {
- // util.inspect(test)
- // },
- // 'util.inspect 2': function () {
- // util.inspect(test, false, 2, false)
- // },
- // 'util.inspect 3': function () {
- // util.inspect(test, false, 3, false)
- // },
- // 'util.inspect 4': function () {
- // util.inspect(test, false, 4, false)
- // },
- // 'util.inspect Infinity': function () {
- // util.inspect(test, false, Infinity, false)
- // }
-}
-
-/** results
-**/
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/package.json b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/package.json
deleted file mode 100644
index b1dbae0a80..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/package.json
+++ /dev/null
@@ -1,85 +0,0 @@
-{
- "_args": [
- [
- "sigmund@~1.0.0",
- "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/minimatch"
- ]
- ],
- "_from": "sigmund@>=1.0.0 <1.1.0",
- "_id": "sigmund@1.0.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/minimatch/sigmund",
- "_nodeVersion": "2.0.1",
- "_npmUser": {
- "email": "isaacs@npmjs.com",
- "name": "isaacs"
- },
- "_npmVersion": "2.10.0",
- "_phantomChildren": {},
- "_requested": {
- "name": "sigmund",
- "raw": "sigmund@~1.0.0",
- "rawSpec": "~1.0.0",
- "scope": null,
- "spec": ">=1.0.0 <1.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/minimatch"
- ],
- "_resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
- "_shasum": "3ff21f198cad2175f9f3b781853fd94d0d19b590",
- "_shrinkwrap": null,
- "_spec": "sigmund@~1.0.0",
- "_where": "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/minimatch",
- "author": {
- "email": "i@izs.me",
- "name": "Isaac Z. Schlueter",
- "url": "http://blog.izs.me/"
- },
- "bugs": {
- "url": "https://github.com/isaacs/sigmund/issues"
- },
- "dependencies": {},
- "description": "Quick and dirty signatures for Objects.",
- "devDependencies": {
- "tap": "~0.3.0"
- },
- "directories": {
- "test": "test"
- },
- "dist": {
- "shasum": "3ff21f198cad2175f9f3b781853fd94d0d19b590",
- "tarball": "http://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
- },
- "gitHead": "527f97aa5bb253d927348698c0cd3bb267d098c6",
- "homepage": "https://github.com/isaacs/sigmund#readme",
- "keywords": [
- "data",
- "key",
- "object",
- "psychoanalysis",
- "signature"
- ],
- "license": "ISC",
- "main": "sigmund.js",
- "maintainers": [
- {
- "name": "isaacs",
- "email": "i@izs.me"
- }
- ],
- "name": "sigmund",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git://github.com/isaacs/sigmund.git"
- },
- "scripts": {
- "bench": "node bench.js",
- "test": "tap test/*.js"
- },
- "version": "1.0.1"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/sigmund.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/sigmund.js
deleted file mode 100644
index 82c7ab8ce9..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/sigmund.js
+++ /dev/null
@@ -1,39 +0,0 @@
-module.exports = sigmund
-function sigmund (subject, maxSessions) {
- maxSessions = maxSessions || 10;
- var notes = [];
- var analysis = '';
- var RE = RegExp;
-
- function psychoAnalyze (subject, session) {
- if (session > maxSessions) return;
-
- if (typeof subject === 'function' ||
- typeof subject === 'undefined') {
- return;
- }
-
- if (typeof subject !== 'object' || !subject ||
- (subject instanceof RE)) {
- analysis += subject;
- return;
- }
-
- if (notes.indexOf(subject) !== -1 || session === maxSessions) return;
-
- notes.push(subject);
- analysis += '{';
- Object.keys(subject).forEach(function (issue, _, __) {
- // pseudo-private values. skip those.
- if (issue.charAt(0) === '_') return;
- var to = typeof subject[issue];
- if (to === 'function' || to === 'undefined') return;
- analysis += issue;
- psychoAnalyze(subject[issue], session + 1);
- });
- }
- psychoAnalyze(subject, 0);
- return analysis;
-}
-
-// vim: set softtabstop=4 shiftwidth=4:
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js
deleted file mode 100644
index 6149a80239..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/node_modules/sigmund/test/basic.js
+++ /dev/null
@@ -1,23 +0,0 @@
-var test = require('tap').test
-var sigmund = require('../sigmund.js')
-
-
-// occasionally there are duplicates
-// that's an acceptable edge-case. JSON.stringify and util.inspect
-// have some collision potential as well, though less, and collision
-// detection is expensive.
-var hash = '{abc/def/g{0h1i2{jkl'
-var obj1 = {a:'b',c:/def/,g:['h','i',{j:'',k:'l'}]}
-var obj2 = {a:'b',c:'/def/',g:['h','i','{jkl']}
-
-var obj3 = JSON.parse(JSON.stringify(obj1))
-obj3.c = /def/
-obj3.g[2].cycle = obj3
-var cycleHash = '{abc/def/g{0h1i2{jklcycle'
-
-test('basic', function (t) {
- t.equal(sigmund(obj1), hash)
- t.equal(sigmund(obj2), hash)
- t.equal(sigmund(obj3), cycleHash)
- t.end()
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json b/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json
index 2f0d2de57e..16b975354b 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/minimatch/package.json
@@ -1,67 +1,82 @@
{
"_args": [
[
- "minimatch@1",
- "/Users/rebecca/code/release/npm-3/node_modules/node-gyp"
+ {
+ "raw": "minimatch@^3.0.2",
+ "scope": null,
+ "escapedName": "minimatch",
+ "name": "minimatch",
+ "rawSpec": "^3.0.2",
+ "spec": ">=3.0.2 <4.0.0",
+ "type": "range"
+ },
+ "/Users/rebecca/code/npm/node_modules/node-gyp"
]
],
- "_from": "minimatch@>=1.0.0 <2.0.0",
- "_id": "minimatch@1.0.0",
+ "_from": "minimatch@>=3.0.2 <4.0.0",
+ "_id": "minimatch@3.0.3",
"_inCache": true,
"_installable": true,
- "_location": "/node-gyp/minimatch",
+ "_location": "/minimatch",
+ "_nodeVersion": "4.4.4",
+ "_npmOperationalInternal": {
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/minimatch-3.0.3.tgz_1470678322731_0.1892083385027945"
+ },
"_npmUser": {
- "email": "i@izs.me",
- "name": "isaacs"
+ "name": "isaacs",
+ "email": "i@izs.me"
},
- "_npmVersion": "1.4.21",
+ "_npmVersion": "3.10.6",
"_phantomChildren": {},
"_requested": {
- "name": "minimatch",
- "raw": "minimatch@1",
- "rawSpec": "1",
+ "raw": "minimatch@^3.0.2",
"scope": null,
- "spec": ">=1.0.0 <2.0.0",
+ "escapedName": "minimatch",
+ "name": "minimatch",
+ "rawSpec": "^3.0.2",
+ "spec": ">=3.0.2 <4.0.0",
"type": "range"
},
"_requiredBy": [
- "/node-gyp"
+ "#USER",
+ "/"
],
- "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
- "_shasum": "e0dd2120b49e1b724ce8d714c520822a9438576d",
+ "_resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz",
+ "_shasum": "2a4e4090b96b2db06a9d7df01055a62a77c9b774",
"_shrinkwrap": null,
- "_spec": "minimatch@1",
- "_where": "/Users/rebecca/code/release/npm-3/node_modules/node-gyp",
+ "_spec": "minimatch@^3.0.2",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
"author": {
- "email": "i@izs.me",
"name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
"url": "http://blog.izs.me"
},
"bugs": {
"url": "https://github.com/isaacs/minimatch/issues"
},
"dependencies": {
- "lru-cache": "2",
- "sigmund": "~1.0.0"
+ "brace-expansion": "^1.0.0"
},
"description": "a glob matcher in javascript",
"devDependencies": {
- "tap": ""
+ "standard": "^3.7.2",
+ "tap": "^5.6.0"
},
"directories": {},
"dist": {
- "shasum": "e0dd2120b49e1b724ce8d714c520822a9438576d",
- "tarball": "http://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz"
+ "shasum": "2a4e4090b96b2db06a9d7df01055a62a77c9b774",
+ "tarball": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.3.tgz"
},
"engines": {
"node": "*"
},
- "gitHead": "b374a643976eb55cdc19c60b6dd51ebe9bcc607a",
- "homepage": "https://github.com/isaacs/minimatch",
- "license": {
- "type": "MIT",
- "url": "http://github.com/isaacs/minimatch/raw/master/LICENSE"
- },
+ "files": [
+ "minimatch.js"
+ ],
+ "gitHead": "eed89491bd4a4e6bc463aac0dfb5c29ef0d1dc13",
+ "homepage": "https://github.com/isaacs/minimatch#readme",
+ "license": "ISC",
"main": "minimatch.js",
"maintainers": [
{
@@ -77,7 +92,8 @@
"url": "git://github.com/isaacs/minimatch.git"
},
"scripts": {
+ "posttest": "standard minimatch.js test/*.js",
"test": "tap test/*.js"
},
- "version": "1.0.0"
+ "version": "3.0.3"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/basic.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/basic.js
deleted file mode 100644
index ae7ac73c77..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/basic.js
+++ /dev/null
@@ -1,399 +0,0 @@
-// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test
-//
-// TODO: Some of these tests do very bad things with backslashes, and will
-// most likely fail badly on windows. They should probably be skipped.
-
-var tap = require("tap")
- , globalBefore = Object.keys(global)
- , mm = require("../")
- , files = [ "a", "b", "c", "d", "abc"
- , "abd", "abe", "bb", "bcd"
- , "ca", "cb", "dd", "de"
- , "bdir/", "bdir/cfile"]
- , next = files.concat([ "a-b", "aXb"
- , ".x", ".y" ])
-
-
-var patterns =
- [ "http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test"
- , ["a*", ["a", "abc", "abd", "abe"]]
- , ["X*", ["X*"], {nonull: true}]
-
- // allow null glob expansion
- , ["X*", []]
-
- // isaacs: Slightly different than bash/sh/ksh
- // \\* is not un-escaped to literal "*" in a failed match,
- // but it does make it get treated as a literal star
- , ["\\*", ["\\*"], {nonull: true}]
- , ["\\**", ["\\**"], {nonull: true}]
- , ["\\*\\*", ["\\*\\*"], {nonull: true}]
-
- , ["b*/", ["bdir/"]]
- , ["c*", ["c", "ca", "cb"]]
- , ["**", files]
-
- , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}]
- , ["s/\\..*//", ["s/\\..*//"], {nonull: true}]
-
- , "legendary larry crashes bashes"
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}]
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}]
-
- , "character classes"
- , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]]
- , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd",
- "bdir/", "ca", "cb", "dd", "de"]]
- , ["a*[^c]", ["abd", "abe"]]
- , function () { files.push("a-b", "aXb") }
- , ["a[X-]b", ["a-b", "aXb"]]
- , function () { files.push(".x", ".y") }
- , ["[^a-c]*", ["d", "dd", "de"]]
- , function () { files.push("a*b/", "a*b/ooo") }
- , ["a\\*b/*", ["a*b/ooo"]]
- , ["a\\*?/*", ["a*b/ooo"]]
- , ["*\\\\!*", [], {null: true}, ["echo !7"]]
- , ["*\\!*", ["echo !7"], null, ["echo !7"]]
- , ["*.\\*", ["r.*"], null, ["r.*"]]
- , ["a[b]c", ["abc"]]
- , ["a[\\b]c", ["abc"]]
- , ["a?c", ["abc"]]
- , ["a\\*c", [], {null: true}, ["abc"]]
- , ["", [""], { null: true }, [""]]
-
- , "http://www.opensource.apple.com/source/bash/bash-23/" +
- "bash/tests/glob-test"
- , function () { files.push("man/", "man/man1/", "man/man1/bash.1") }
- , ["*/man*/bash.*", ["man/man1/bash.1"]]
- , ["man/man1/bash.1", ["man/man1/bash.1"]]
- , ["a***c", ["abc"], null, ["abc"]]
- , ["a*****?c", ["abc"], null, ["abc"]]
- , ["?*****??", ["abc"], null, ["abc"]]
- , ["*****??", ["abc"], null, ["abc"]]
- , ["?*****?c", ["abc"], null, ["abc"]]
- , ["?***?****c", ["abc"], null, ["abc"]]
- , ["?***?****?", ["abc"], null, ["abc"]]
- , ["?***?****", ["abc"], null, ["abc"]]
- , ["*******c", ["abc"], null, ["abc"]]
- , ["*******?", ["abc"], null, ["abc"]]
- , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["[-abc]", ["-"], null, ["-"]]
- , ["[abc-]", ["-"], null, ["-"]]
- , ["\\", ["\\"], null, ["\\"]]
- , ["[\\\\]", ["\\"], null, ["\\"]]
- , ["[[]", ["["], null, ["["]]
- , ["[", ["["], null, ["["]]
- , ["[*", ["[abc"], null, ["[abc"]]
- , "a right bracket shall lose its special meaning and\n" +
- "represent itself in a bracket expression if it occurs\n" +
- "first in the list. -- POSIX.2 2.8.3.2"
- , ["[]]", ["]"], null, ["]"]]
- , ["[]-]", ["]"], null, ["]"]]
- , ["[a-\z]", ["p"], null, ["p"]]
- , ["??**********?****?", [], { null: true }, ["abc"]]
- , ["??**********?****c", [], { null: true }, ["abc"]]
- , ["?************c****?****", [], { null: true }, ["abc"]]
- , ["*c*?**", [], { null: true }, ["abc"]]
- , ["a*****c*?**", [], { null: true }, ["abc"]]
- , ["a********???*******", [], { null: true }, ["abc"]]
- , ["[]", [], { null: true }, ["a"]]
- , ["[abc", [], { null: true }, ["["]]
-
- , "nocase tests"
- , ["XYZ", ["xYz"], { nocase: true, null: true }
- , ["xYz", "ABC", "IjK"]]
- , ["ab*", ["ABC"], { nocase: true, null: true }
- , ["xYz", "ABC", "IjK"]]
- , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true }
- , ["xYz", "ABC", "IjK"]]
-
- // [ pattern, [matches], MM opts, files, TAP opts]
- , "onestar/twostar"
- , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]]
- , ["{/?,*}", ["/a", "bb"], {null: true}
- , ["/a", "/b/b", "/a/b/c", "bb"]]
-
- , "dots should not match unless requested"
- , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]]
-
- // .. and . can only match patterns starting with .,
- // even when options.dot is set.
- , function () {
- files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"]
- }
- , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}]
- , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}]
- , ["a/*/b", ["a/c/b"], {dot:false}]
- , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}]
-
-
- // this also tests that changing the options needs
- // to change the cache key, even if the pattern is
- // the same!
- , ["**", ["a/b","a/.d",".a/.d"], { dot: true }
- , [ ".a/.d", "a/.d", "a/b"]]
-
- , "paren sets cannot contain slashes"
- , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]]
-
- // brace sets trump all else.
- //
- // invalid glob pattern. fails on bash4 and bsdglob.
- // however, in this implementation, it's easier just
- // to do the intuitive thing, and let brace-expansion
- // actually come before parsing any extglob patterns,
- // like the documentation seems to say.
- //
- // XXX: if anyone complains about this, either fix it
- // or tell them to grow up and stop complaining.
- //
- // bash/bsdglob says this:
- // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]]
- // but we do this instead:
- , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]]
-
- // test partial parsing in the presence of comment/negation chars
- , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]]
- , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]]
-
- // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped.
- , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g"
- , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"]
- , {}
- , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]]
-
-
- // crazy nested {,,} and *(||) tests.
- , function () {
- files = [ "a", "b", "c", "d"
- , "ab", "ac", "ad"
- , "bc", "cb"
- , "bc,d", "c,db", "c,d"
- , "d)", "(b|c", "*(b|c"
- , "b|c", "b|cc", "cb|c"
- , "x(a|b|c)", "x(a|c)"
- , "(a|b|c)", "(a|c)"]
- }
- , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]]
- , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]]
- // a
- // *(b|c)
- // *(b|d)
- , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]]
- , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]]
-
-
- // test various flag settings.
- , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"]
- , { noext: true } ]
- , ["a?b", ["x/y/acb", "acb/"], {matchBase: true}
- , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ]
- , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]]
-
-
- // begin channelling Boole and deMorgan...
- , "negation tests"
- , function () {
- files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"]
- }
-
- // anything that is NOT a* matches.
- , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]]
-
- // anything that IS !a* matches.
- , ["!a*", ["!ab", "!abc"], {nonegate: true}]
-
- // anything that IS a* matches
- , ["!!a*", ["a!b"]]
-
- // anything that is NOT !a* matches
- , ["!\\!a*", ["a!b", "d", "e", "\\!a"]]
-
- // negation nestled within a pattern
- , function () {
- files = [ "foo.js"
- , "foo.bar"
- // can't match this one without negative lookbehind.
- , "foo.js.js"
- , "blar.js"
- , "foo."
- , "boo.js.boo" ]
- }
- , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ]
-
- // https://github.com/isaacs/minimatch/issues/5
- , function () {
- files = [ 'a/b/.x/c'
- , 'a/b/.x/c/d'
- , 'a/b/.x/c/d/e'
- , 'a/b/.x'
- , 'a/b/.x/'
- , 'a/.x/b'
- , '.x'
- , '.x/'
- , '.x/a'
- , '.x/a/b'
- , 'a/.x/b/.x/c'
- , '.x/.x' ]
- }
- , ["**/.x/**", [ '.x/'
- , '.x/a'
- , '.x/a/b'
- , 'a/.x/b'
- , 'a/b/.x/'
- , 'a/b/.x/c'
- , 'a/b/.x/c/d'
- , 'a/b/.x/c/d/e' ] ]
-
- ]
-
-var regexps =
- [ '/^(?:(?=.)a[^/]*?)$/',
- '/^(?:(?=.)X[^/]*?)$/',
- '/^(?:(?=.)X[^/]*?)$/',
- '/^(?:\\*)$/',
- '/^(?:(?=.)\\*[^/]*?)$/',
- '/^(?:\\*\\*)$/',
- '/^(?:(?=.)b[^/]*?\\/)$/',
- '/^(?:(?=.)c[^/]*?)$/',
- '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/',
- '/^(?:\\.\\.\\/(?!\\.)(?=.)[^/]*?\\/)$/',
- '/^(?:s\\/(?=.)\\.\\.[^/]*?\\/)$/',
- '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/1\\/)$/',
- '/^(?:\\/\\^root:\\/\\{s\\/(?=.)\\^[^:][^/]*?:[^:][^/]*?:\\([^:]\\)[^/]*?\\.[^/]*?\\$\\/\u0001\\/)$/',
- '/^(?:(?!\\.)(?=.)[a-c]b[^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[a-y][^/]*?[^c])$/',
- '/^(?:(?=.)a[^/]*?[^c])$/',
- '/^(?:(?=.)a[X-]b)$/',
- '/^(?:(?!\\.)(?=.)[^a-c][^/]*?)$/',
- '/^(?:a\\*b\\/(?!\\.)(?=.)[^/]*?)$/',
- '/^(?:(?=.)a\\*[^/]\\/(?!\\.)(?=.)[^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?\\\\\\![^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?\\![^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?\\.\\*)$/',
- '/^(?:(?=.)a[b]c)$/',
- '/^(?:(?=.)a[b]c)$/',
- '/^(?:(?=.)a[^/]c)$/',
- '/^(?:a\\*c)$/',
- 'false',
- '/^(?:(?!\\.)(?=.)[^/]*?\\/(?=.)man[^/]*?\\/(?=.)bash\\.[^/]*?)$/',
- '/^(?:man\\/man1\\/bash\\.1)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?c)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/',
- '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/',
- '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/])$/',
- '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]c)$/',
- '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/',
- '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/',
- '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/])$/',
- '/^(?:(?=.)a[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/]k[^/]*?[^/]*?[^/]*?)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/][^/]*?[^/]*?cd[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?k[^/]*?[^/]*?)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[-abc])$/',
- '/^(?:(?!\\.)(?=.)[abc-])$/',
- '/^(?:\\\\)$/',
- '/^(?:(?!\\.)(?=.)[\\\\])$/',
- '/^(?:(?!\\.)(?=.)[\\[])$/',
- '/^(?:\\[)$/',
- '/^(?:(?=.)\\[(?!\\.)(?=.)[^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[\\]])$/',
- '/^(?:(?!\\.)(?=.)[\\]-])$/',
- '/^(?:(?!\\.)(?=.)[a-z])$/',
- '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/])$/',
- '/^(?:(?!\\.)(?=.)[^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?c)$/',
- '/^(?:(?!\\.)(?=.)[^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/]*?[^/]*?[^/]*?[^/]*?)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?c[^/]*?[^/][^/]*?[^/]*?)$/',
- '/^(?:(?=.)a[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/][^/][^/][^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?[^/]*?)$/',
- '/^(?:\\[\\])$/',
- '/^(?:\\[abc)$/',
- '/^(?:(?=.)XYZ)$/i',
- '/^(?:(?=.)ab[^/]*?)$/i',
- '/^(?:(?!\\.)(?=.)[ia][^/][ck])$/i',
- '/^(?:\\/(?!\\.)(?=.)[^/]*?|(?!\\.)(?=.)[^/]*?)$/',
- '/^(?:\\/(?!\\.)(?=.)[^/]|(?!\\.)(?=.)[^/]*?)$/',
- '/^(?:(?:(?!(?:\\/|^)\\.).)*?)$/',
- '/^(?:a\\/(?!(?:^|\\/)\\.{1,2}(?:$|\\/))(?=.)[^/]*?\\/b)$/',
- '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/',
- '/^(?:a\\/(?!\\.)(?=.)[^/]*?\\/b)$/',
- '/^(?:a\\/(?=.)\\.[^/]*?\\/b)$/',
- '/^(?:(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\/b\\))$/',
- '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/',
- '/^(?:(?=.)\\[(?=.)\\!a[^/]*?)$/',
- '/^(?:(?=.)\\[(?=.)#a[^/]*?)$/',
- '/^(?:(?=.)\\+\\(a\\|[^/]*?\\|c\\\\\\\\\\|d\\\\\\\\\\|e\\\\\\\\\\\\\\\\\\|f\\\\\\\\\\\\\\\\\\|g)$/',
- '/^(?:(?!\\.)(?=.)(?:a|b)*|(?!\\.)(?=.)(?:a|c)*)$/',
- '/^(?:a|(?!\\.)(?=.)[^/]*?\\(b\\|c|d\\))$/',
- '/^(?:a|(?!\\.)(?=.)(?:b|c)*|(?!\\.)(?=.)(?:b|d)*)$/',
- '/^(?:(?!\\.)(?=.)(?:a|b|c)*|(?!\\.)(?=.)(?:a|c)*)$/',
- '/^(?:(?!\\.)(?=.)[^/]*?\\(a\\|b\\|c\\)|(?!\\.)(?=.)[^/]*?\\(a\\|c\\))$/',
- '/^(?:(?=.)a[^/]b)$/',
- '/^(?:(?=.)#[^/]*?)$/',
- '/^(?!^(?:(?=.)a[^/]*?)$).*$/',
- '/^(?:(?=.)\\!a[^/]*?)$/',
- '/^(?:(?=.)a[^/]*?)$/',
- '/^(?!^(?:(?=.)\\!a[^/]*?)$).*$/',
- '/^(?:(?!\\.)(?=.)[^/]*?\\.(?:(?!js)[^/]*?))$/',
- '/^(?:(?:(?!(?:\\/|^)\\.).)*?\\/\\.x\\/(?:(?!(?:\\/|^)\\.).)*?)$/' ]
-var re = 0;
-
-tap.test("basic tests", function (t) {
- var start = Date.now()
-
- // [ pattern, [matches], MM opts, files, TAP opts]
- patterns.forEach(function (c) {
- if (typeof c === "function") return c()
- if (typeof c === "string") return t.comment(c)
-
- var pattern = c[0]
- , expect = c[1].sort(alpha)
- , options = c[2] || {}
- , f = c[3] || files
- , tapOpts = c[4] || {}
-
- // options.debug = true
- var m = new mm.Minimatch(pattern, options)
- var r = m.makeRe()
- var expectRe = regexps[re++]
- tapOpts.re = String(r) || JSON.stringify(r)
- tapOpts.files = JSON.stringify(f)
- tapOpts.pattern = pattern
- tapOpts.set = m.set
- tapOpts.negated = m.negate
-
- var actual = mm.match(f, pattern, options)
- actual.sort(alpha)
-
- t.equivalent( actual, expect
- , JSON.stringify(pattern) + " " + JSON.stringify(expect)
- , tapOpts )
-
- t.equal(tapOpts.re, expectRe, tapOpts)
- })
-
- t.comment("time=" + (Date.now() - start) + "ms")
- t.end()
-})
-
-tap.test("global leak test", function (t) {
- var globalAfter = Object.keys(global)
- t.equivalent(globalAfter, globalBefore, "no new globals, please")
- t.end()
-})
-
-function alpha (a, b) {
- return a > b ? 1 : -1
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js
deleted file mode 100644
index c3e19d9baf..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/brace-expand.js
+++ /dev/null
@@ -1,38 +0,0 @@
-var tap = require("tap")
- , minimatch = require("../")
-
-tap.test("brace expansion", function (t) {
- // [ pattern, [expanded] ]
- ; [ [ "a{b,c{d,e},{f,g}h}x{y,z}"
- , [ "abxy"
- , "abxz"
- , "acdxy"
- , "acdxz"
- , "acexy"
- , "acexz"
- , "afhxy"
- , "afhxz"
- , "aghxy"
- , "aghxz" ] ]
- , [ "a{1..5}b"
- , [ "a1b"
- , "a2b"
- , "a3b"
- , "a4b"
- , "a5b" ] ]
- , [ "a{b}c", ["a{b}c"] ]
- , [ "a{00..05}b"
- , ["a00b"
- ,"a01b"
- ,"a02b"
- ,"a03b"
- ,"a04b"
- ,"a05b" ] ]
- ].forEach(function (tc) {
- var p = tc[0]
- , expect = tc[1]
- t.equivalent(minimatch.braceExpand(p), expect, p)
- })
- console.error("ending")
- t.end()
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/caching.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/caching.js
deleted file mode 100644
index 0fec4b0fad..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/caching.js
+++ /dev/null
@@ -1,14 +0,0 @@
-var Minimatch = require("../minimatch.js").Minimatch
-var tap = require("tap")
-tap.test("cache test", function (t) {
- var mm1 = new Minimatch("a?b")
- var mm2 = new Minimatch("a?b")
- t.equal(mm1, mm2, "should get the same object")
- // the lru should drop it after 100 entries
- for (var i = 0; i < 100; i ++) {
- new Minimatch("a"+i)
- }
- mm2 = new Minimatch("a?b")
- t.notEqual(mm1, mm2, "cache should have dropped")
- t.end()
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/defaults.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/defaults.js
deleted file mode 100644
index 75e05712d4..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/defaults.js
+++ /dev/null
@@ -1,274 +0,0 @@
-// http://www.bashcookbook.com/bashinfo/source/bash-1.14.7/tests/glob-test
-//
-// TODO: Some of these tests do very bad things with backslashes, and will
-// most likely fail badly on windows. They should probably be skipped.
-
-var tap = require("tap")
- , globalBefore = Object.keys(global)
- , mm = require("../")
- , files = [ "a", "b", "c", "d", "abc"
- , "abd", "abe", "bb", "bcd"
- , "ca", "cb", "dd", "de"
- , "bdir/", "bdir/cfile"]
- , next = files.concat([ "a-b", "aXb"
- , ".x", ".y" ])
-
-tap.test("basic tests", function (t) {
- var start = Date.now()
-
- // [ pattern, [matches], MM opts, files, TAP opts]
- ; [ "http://www.bashcookbook.com/bashinfo" +
- "/source/bash-1.14.7/tests/glob-test"
- , ["a*", ["a", "abc", "abd", "abe"]]
- , ["X*", ["X*"], {nonull: true}]
-
- // allow null glob expansion
- , ["X*", []]
-
- // isaacs: Slightly different than bash/sh/ksh
- // \\* is not un-escaped to literal "*" in a failed match,
- // but it does make it get treated as a literal star
- , ["\\*", ["\\*"], {nonull: true}]
- , ["\\**", ["\\**"], {nonull: true}]
- , ["\\*\\*", ["\\*\\*"], {nonull: true}]
-
- , ["b*/", ["bdir/"]]
- , ["c*", ["c", "ca", "cb"]]
- , ["**", files]
-
- , ["\\.\\./*/", ["\\.\\./*/"], {nonull: true}]
- , ["s/\\..*//", ["s/\\..*//"], {nonull: true}]
-
- , "legendary larry crashes bashes"
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\\1/"], {nonull: true}]
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"
- , ["/^root:/{s/^[^:]*:[^:]*:\([^:]*\).*$/\1/"], {nonull: true}]
-
- , "character classes"
- , ["[a-c]b*", ["abc", "abd", "abe", "bb", "cb"]]
- , ["[a-y]*[^c]", ["abd", "abe", "bb", "bcd",
- "bdir/", "ca", "cb", "dd", "de"]]
- , ["a*[^c]", ["abd", "abe"]]
- , function () { files.push("a-b", "aXb") }
- , ["a[X-]b", ["a-b", "aXb"]]
- , function () { files.push(".x", ".y") }
- , ["[^a-c]*", ["d", "dd", "de"]]
- , function () { files.push("a*b/", "a*b/ooo") }
- , ["a\\*b/*", ["a*b/ooo"]]
- , ["a\\*?/*", ["a*b/ooo"]]
- , ["*\\\\!*", [], {null: true}, ["echo !7"]]
- , ["*\\!*", ["echo !7"], null, ["echo !7"]]
- , ["*.\\*", ["r.*"], null, ["r.*"]]
- , ["a[b]c", ["abc"]]
- , ["a[\\b]c", ["abc"]]
- , ["a?c", ["abc"]]
- , ["a\\*c", [], {null: true}, ["abc"]]
- , ["", [""], { null: true }, [""]]
-
- , "http://www.opensource.apple.com/source/bash/bash-23/" +
- "bash/tests/glob-test"
- , function () { files.push("man/", "man/man1/", "man/man1/bash.1") }
- , ["*/man*/bash.*", ["man/man1/bash.1"]]
- , ["man/man1/bash.1", ["man/man1/bash.1"]]
- , ["a***c", ["abc"], null, ["abc"]]
- , ["a*****?c", ["abc"], null, ["abc"]]
- , ["?*****??", ["abc"], null, ["abc"]]
- , ["*****??", ["abc"], null, ["abc"]]
- , ["?*****?c", ["abc"], null, ["abc"]]
- , ["?***?****c", ["abc"], null, ["abc"]]
- , ["?***?****?", ["abc"], null, ["abc"]]
- , ["?***?****", ["abc"], null, ["abc"]]
- , ["*******c", ["abc"], null, ["abc"]]
- , ["*******?", ["abc"], null, ["abc"]]
- , ["a*cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??k***", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??***k", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a**?**cd**?**??***k**", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["a****c**?**??*****", ["abcdecdhjk"], null, ["abcdecdhjk"]]
- , ["[-abc]", ["-"], null, ["-"]]
- , ["[abc-]", ["-"], null, ["-"]]
- , ["\\", ["\\"], null, ["\\"]]
- , ["[\\\\]", ["\\"], null, ["\\"]]
- , ["[[]", ["["], null, ["["]]
- , ["[", ["["], null, ["["]]
- , ["[*", ["[abc"], null, ["[abc"]]
- , "a right bracket shall lose its special meaning and\n" +
- "represent itself in a bracket expression if it occurs\n" +
- "first in the list. -- POSIX.2 2.8.3.2"
- , ["[]]", ["]"], null, ["]"]]
- , ["[]-]", ["]"], null, ["]"]]
- , ["[a-\z]", ["p"], null, ["p"]]
- , ["??**********?****?", [], { null: true }, ["abc"]]
- , ["??**********?****c", [], { null: true }, ["abc"]]
- , ["?************c****?****", [], { null: true }, ["abc"]]
- , ["*c*?**", [], { null: true }, ["abc"]]
- , ["a*****c*?**", [], { null: true }, ["abc"]]
- , ["a********???*******", [], { null: true }, ["abc"]]
- , ["[]", [], { null: true }, ["a"]]
- , ["[abc", [], { null: true }, ["["]]
-
- , "nocase tests"
- , ["XYZ", ["xYz"], { nocase: true, null: true }
- , ["xYz", "ABC", "IjK"]]
- , ["ab*", ["ABC"], { nocase: true, null: true }
- , ["xYz", "ABC", "IjK"]]
- , ["[ia]?[ck]", ["ABC", "IjK"], { nocase: true, null: true }
- , ["xYz", "ABC", "IjK"]]
-
- // [ pattern, [matches], MM opts, files, TAP opts]
- , "onestar/twostar"
- , ["{/*,*}", [], {null: true}, ["/asdf/asdf/asdf"]]
- , ["{/?,*}", ["/a", "bb"], {null: true}
- , ["/a", "/b/b", "/a/b/c", "bb"]]
-
- , "dots should not match unless requested"
- , ["**", ["a/b"], {}, ["a/b", "a/.d", ".a/.d"]]
-
- // .. and . can only match patterns starting with .,
- // even when options.dot is set.
- , function () {
- files = ["a/./b", "a/../b", "a/c/b", "a/.d/b"]
- }
- , ["a/*/b", ["a/c/b", "a/.d/b"], {dot: true}]
- , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: true}]
- , ["a/*/b", ["a/c/b"], {dot:false}]
- , ["a/.*/b", ["a/./b", "a/../b", "a/.d/b"], {dot: false}]
-
-
- // this also tests that changing the options needs
- // to change the cache key, even if the pattern is
- // the same!
- , ["**", ["a/b","a/.d",".a/.d"], { dot: true }
- , [ ".a/.d", "a/.d", "a/b"]]
-
- , "paren sets cannot contain slashes"
- , ["*(a/b)", ["*(a/b)"], {nonull: true}, ["a/b"]]
-
- // brace sets trump all else.
- //
- // invalid glob pattern. fails on bash4 and bsdglob.
- // however, in this implementation, it's easier just
- // to do the intuitive thing, and let brace-expansion
- // actually come before parsing any extglob patterns,
- // like the documentation seems to say.
- //
- // XXX: if anyone complains about this, either fix it
- // or tell them to grow up and stop complaining.
- //
- // bash/bsdglob says this:
- // , ["*(a|{b),c)}", ["*(a|{b),c)}"], {}, ["a", "ab", "ac", "ad"]]
- // but we do this instead:
- , ["*(a|{b),c)}", ["a", "ab", "ac"], {}, ["a", "ab", "ac", "ad"]]
-
- // test partial parsing in the presence of comment/negation chars
- , ["[!a*", ["[!ab"], {}, ["[!ab", "[ab"]]
- , ["[#a*", ["[#ab"], {}, ["[#ab", "[ab"]]
-
- // like: {a,b|c\\,d\\\|e} except it's unclosed, so it has to be escaped.
- , ["+(a|*\\|c\\\\|d\\\\\\|e\\\\\\\\|f\\\\\\\\\\|g"
- , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g"]
- , {}
- , ["+(a|b\\|c\\\\|d\\\\|e\\\\\\\\|f\\\\\\\\|g", "a", "b\\c"]]
-
-
- // crazy nested {,,} and *(||) tests.
- , function () {
- files = [ "a", "b", "c", "d"
- , "ab", "ac", "ad"
- , "bc", "cb"
- , "bc,d", "c,db", "c,d"
- , "d)", "(b|c", "*(b|c"
- , "b|c", "b|cc", "cb|c"
- , "x(a|b|c)", "x(a|c)"
- , "(a|b|c)", "(a|c)"]
- }
- , ["*(a|{b,c})", ["a", "b", "c", "ab", "ac"]]
- , ["{a,*(b|c,d)}", ["a","(b|c", "*(b|c", "d)"]]
- // a
- // *(b|c)
- // *(b|d)
- , ["{a,*(b|{c,d})}", ["a","b", "bc", "cb", "c", "d"]]
- , ["*(a|{b|c,c})", ["a", "b", "c", "ab", "ac", "bc", "cb"]]
-
-
- // test various flag settings.
- , [ "*(a|{b|c,c})", ["x(a|b|c)", "x(a|c)", "(a|b|c)", "(a|c)"]
- , { noext: true } ]
- , ["a?b", ["x/y/acb", "acb/"], {matchBase: true}
- , ["x/y/acb", "acb/", "acb/d/e", "x/y/acb/d"] ]
- , ["#*", ["#a", "#b"], {nocomment: true}, ["#a", "#b", "c#d"]]
-
-
- // begin channelling Boole and deMorgan...
- , "negation tests"
- , function () {
- files = ["d", "e", "!ab", "!abc", "a!b", "\\!a"]
- }
-
- // anything that is NOT a* matches.
- , ["!a*", ["\\!a", "d", "e", "!ab", "!abc"]]
-
- // anything that IS !a* matches.
- , ["!a*", ["!ab", "!abc"], {nonegate: true}]
-
- // anything that IS a* matches
- , ["!!a*", ["a!b"]]
-
- // anything that is NOT !a* matches
- , ["!\\!a*", ["a!b", "d", "e", "\\!a"]]
-
- // negation nestled within a pattern
- , function () {
- files = [ "foo.js"
- , "foo.bar"
- // can't match this one without negative lookbehind.
- , "foo.js.js"
- , "blar.js"
- , "foo."
- , "boo.js.boo" ]
- }
- , ["*.!(js)", ["foo.bar", "foo.", "boo.js.boo"] ]
-
- ].forEach(function (c) {
- if (typeof c === "function") return c()
- if (typeof c === "string") return t.comment(c)
-
- var pattern = c[0]
- , expect = c[1].sort(alpha)
- , options = c[2]
- , f = c[3] || files
- , tapOpts = c[4] || {}
-
- // options.debug = true
- var Class = mm.defaults(options).Minimatch
- var m = new Class(pattern, {})
- var r = m.makeRe()
- tapOpts.re = String(r) || JSON.stringify(r)
- tapOpts.files = JSON.stringify(f)
- tapOpts.pattern = pattern
- tapOpts.set = m.set
- tapOpts.negated = m.negate
-
- var actual = mm.match(f, pattern, options)
- actual.sort(alpha)
-
- t.equivalent( actual, expect
- , JSON.stringify(pattern) + " " + JSON.stringify(expect)
- , tapOpts )
- })
-
- t.comment("time=" + (Date.now() - start) + "ms")
- t.end()
-})
-
-tap.test("global leak test", function (t) {
- var globalAfter = Object.keys(global)
- t.equivalent(globalAfter, globalBefore, "no new globals, please")
- t.end()
-})
-
-function alpha (a, b) {
- return a > b ? 1 : -1
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/extglob-ending-with-state-char.js b/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/extglob-ending-with-state-char.js
deleted file mode 100644
index 6676e2629a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/minimatch/test/extglob-ending-with-state-char.js
+++ /dev/null
@@ -1,8 +0,0 @@
-var test = require('tap').test
-var minimatch = require('../')
-
-test('extglob ending with statechar', function(t) {
- t.notOk(minimatch('ax', 'a?(b*)'))
- t.ok(minimatch('ax', '?(a*|b)'))
- t.end()
-})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/CHANGELOG.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/CHANGELOG.md
new file mode 100644
index 0000000000..f549a1f3de
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/CHANGELOG.md
@@ -0,0 +1,36 @@
+### v3.1.2
+
+* Update to `gauge@1.6.0` adding support for default values for template
+ items.
+
+### v3.1.1
+
+* Update to `gauge@1.5.3` to fix to `1.x` compatibility when it comes to
+ when a progress bar is enabled. In `1.x` if you didn't have a TTY the
+ progress bar was never shown. In `2.x` it merely defaults to disabled,
+ but you can enable it explicitly if you still want progress updates.
+
+### v3.1.0
+
+* Update to `gauge@2.5.2`:
+ * Updates the `signal-exit` dependency which fixes an incompatibility with
+ the node profiler.
+ * Uses externalizes its ansi code generation in `console-control-strings`
+* Make the default progress bar include the last line printed, colored as it
+ would be when printing to a tty.
+
+### v3.0.0
+
+* Switch to `gauge@2.0.0`, for better performance, better look.
+* Set stderr/stdout blocking if they're tty's, so that we can hide a
+ progress bar going to stderr and then safely print to stdout. Without
+ this the two can end up overlapping producing confusing and sometimes
+ corrupted output.
+
+### v2.0.0
+
+* Make the `error` event non-fatal so that folks can use it as a prefix.
+
+### v1.0.0
+
+* Add progress bar with `gauge@1.1.0`
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/README.md
index a57cf429d4..dba3550161 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/README.md
@@ -98,7 +98,13 @@ Disable the use of unicode in the progress bar.
## log.setGaugeTemplate(template)
-Overrides the default gauge template.
+Set a template for outputting the progress bar. See the [gauge documentation] for details.
+
+[gauge documentation]: https://npmjs.com/package/gauge
+
+## log.setGaugeThemeset(themes)
+
+Select a themeset to pick themes from for the progress bar. See the [gauge documentation] for details.
## log.pause()
@@ -193,3 +199,12 @@ following fields:
* `prefix` {String}
* `message` {String} Result of `util.format()`
* `messageRaw` {Array} Arguments to `util.format()`
+
+# Blocking TTYs
+
+We use [`set-blocking`](https://npmjs.com/package/set-blocking) to set
+stderr and stdout blocking if they are tty's and have the setBlocking call.
+This is a work around for an issue in early versions of Node.js 6.x, which
+made stderr and stdout non-blocking on OSX. (They are always blocking
+Windows and were never blocking on Linux.) `npmlog` needs them to be blocking
+so that it can allow output to stdout and stderr to be interlaced.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/log.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/log.js
index 8d781f1731..e5b70f1f80 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/log.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/log.js
@@ -2,49 +2,76 @@
var Progress = require('are-we-there-yet')
var Gauge = require('gauge')
var EE = require('events').EventEmitter
-var log = exports = module.exports = new EE
+var log = exports = module.exports = new EE()
var util = require('util')
-var ansi = require('ansi')
-log.cursor = ansi(process.stderr)
-log.stream = process.stderr
+var setBlocking = require('set-blocking')
+var consoleControl = require('console-control-strings')
+
+setBlocking(true)
+var stream = process.stderr
+Object.defineProperty(log, 'stream', {
+ set: function (newStream) {
+ stream = newStream
+ if (this.gauge) this.gauge.setWriteTo(stream, stream)
+ },
+ get: function () {
+ return stream
+ }
+})
+
+// by default, decide based on tty-ness.
+var colorEnabled
+log.useColor = function () {
+ return colorEnabled != null ? colorEnabled : stream.isTTY
+}
-// by default, let ansi decide based on tty-ness.
-var colorEnabled = undefined
log.enableColor = function () {
colorEnabled = true
- this.cursor.enabled = true
+ this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled})
}
log.disableColor = function () {
colorEnabled = false
- this.cursor.enabled = false
+ this.gauge.setTheme({hasColor: colorEnabled, hasUnicode: unicodeEnabled})
}
// default level
log.level = 'info'
-log.gauge = new Gauge(log.cursor)
+log.gauge = new Gauge(stream, {
+ theme: {hasColor: log.useColor()},
+ template: [
+ {type: 'progressbar', length: 20},
+ {type: 'activityIndicator', kerning: 1, length: 1},
+ {type: 'section', default: ''},
+ ':',
+ {type: 'logline', kerning: 1, default: ''}
+ ]
+})
+
log.tracker = new Progress.TrackerGroup()
// no progress bars unless asked
log.progressEnabled = false
-var gaugeTheme = undefined
+var unicodeEnabled
log.enableUnicode = function () {
- gaugeTheme = Gauge.unicode
- log.gauge.setTheme(gaugeTheme)
+ unicodeEnabled = true
+ this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled})
}
log.disableUnicode = function () {
- gaugeTheme = Gauge.ascii
- log.gauge.setTheme(gaugeTheme)
+ unicodeEnabled = false
+ this.gauge.setTheme({hasColor: this.useColor(), hasUnicode: unicodeEnabled})
+}
+
+log.setGaugeThemeset = function (themes) {
+ this.gauge.setThemeset(themes)
}
-var gaugeTemplate = undefined
log.setGaugeTemplate = function (template) {
- gaugeTemplate = template
- log.gauge.setTemplate(gaugeTemplate)
+ this.gauge.setTemplate(template)
}
log.enableProgress = function () {
@@ -95,15 +122,26 @@ trackerConstructors.forEach(function (C) {
log[C] = function () { return mixinLog(this.tracker[C].apply(this.tracker, arguments)) }
})
-log.clearProgress = function () {
- if (!this.progressEnabled) return
- this.gauge.hide()
+log.clearProgress = function (cb) {
+ if (!this.progressEnabled) return cb && process.nextTick(cb)
+ this.gauge.hide(cb)
}
log.showProgress = function (name, completed) {
if (!this.progressEnabled) return
- if (completed == null) completed = this.tracker.completed()
- this.gauge.show(name, completed)
+ var values = {}
+ if (name) values.section = name
+ var last = log.record[log.record.length - 1]
+ if (last) {
+ values.subsection = last.prefix
+ var disp = log.disp[last.level] || last.level
+ var logline = this._format(disp, log.style[last.level])
+ if (last.prefix) logline += ' ' + this._format(last.prefix, this.prefixStyle)
+ logline += ' ' + last.message.split(/\r?\n/)[0]
+ values.logline = logline
+ }
+ values.completed = completed || this.tracker.completed()
+ this.gauge.show(values)
}.bind(log) // bind for use in tracker's on-change listener
// temporarily stop emitting, but don't drop
@@ -137,8 +175,8 @@ log.log = function (lvl, prefix, message) {
var a = new Array(arguments.length - 2)
var stack = null
- for (var i = 2; i < arguments.length; i ++) {
- var arg = a[i-2] = arguments[i]
+ for (var i = 2; i < arguments.length; i++) {
+ var arg = a[i - 2] = arguments[i]
// resolve stack traces to a plain string.
if (typeof arg === 'object' && arg &&
@@ -181,7 +219,6 @@ log.emitLog = function (m) {
if (l < this.levels[this.level]) return
if (l > 0 && !isFinite(l)) return
- var style = log.style[m.level]
var disp = log.disp[m.level] || m.level
this.clearProgress()
m.message.split(/\r?\n/).forEach(function (line) {
@@ -198,38 +235,48 @@ log.emitLog = function (m) {
this.showProgress()
}
-log.write = function (msg, style) {
- if (!this.cursor) return
- if (this.stream !== this.cursor.stream) {
- this.cursor = ansi(this.stream, { enabled: colorEnabled })
- var options = {}
- if (gaugeTheme != null) options.theme = gaugeTheme
- if (gaugeTemplate != null) options.template = gaugeTemplate
- this.gauge = new Gauge(options, this.cursor)
+log._format = function (msg, style) {
+ if (!stream) return
+
+ var output = ''
+ if (this.useColor()) {
+ style = style || {}
+ var settings = []
+ if (style.fg) settings.push(style.fg)
+ if (style.bg) settings.push('bg' + style.bg[0].toUpperCase() + style.bg.slice(1))
+ if (style.bold) settings.push('bold')
+ if (style.underline) settings.push('underline')
+ if (style.inverse) settings.push('inverse')
+ if (settings.length) output += consoleControl.color(settings)
+ if (style.beep) output += consoleControl.beep()
}
+ output += msg
+ if (this.useColor()) {
+ output += consoleControl.color('reset')
+ }
+ return output
+}
- style = style || {}
- if (style.fg) this.cursor.fg[style.fg]()
- if (style.bg) this.cursor.bg[style.bg]()
- if (style.bold) this.cursor.bold()
- if (style.underline) this.cursor.underline()
- if (style.inverse) this.cursor.inverse()
- if (style.beep) this.cursor.beep()
- this.cursor.write(msg).reset()
+log.write = function (msg, style) {
+ if (!stream) return
+
+ stream.write(this._format(msg, style))
}
log.addLevel = function (lvl, n, style, disp) {
if (!disp) disp = lvl
this.levels[lvl] = n
this.style[lvl] = style
- if (!this[lvl]) this[lvl] = function () {
- var a = new Array(arguments.length + 1)
- a[0] = lvl
- for (var i = 0; i < arguments.length; i ++) {
- a[i + 1] = arguments[i]
- }
- return this.log.apply(this, a)
- }.bind(this)
+ if (!this[lvl]) {
+ this[lvl] = function () {
+ var a = new Array(arguments.length + 1)
+ a[0] = lvl
+ for (var i = 0; i < arguments.length; i++) {
+ a[i + 1] = arguments[i]
+ }
+ return this.log.apply(this, a)
+ }.bind(this)
+ }
this.disp[lvl] = disp
}
@@ -248,4 +295,4 @@ log.addLevel('error', 5000, { fg: 'red', bg: 'black' }, 'ERR!')
log.addLevel('silent', Infinity)
// allow 'error' prefix
-log.on('error', function(){})
+log.on('error', function () {})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/.npmignore
deleted file mode 100644
index 3c3629e647..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/.npmignore
+++ /dev/null
@@ -1 +0,0 @@
-node_modules
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/History.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/History.md
deleted file mode 100644
index aea8aaf099..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/History.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-0.3.1 / 2016-01-14
-==================
-
- * add MIT LICENSE file (#23, @kasicka)
- * preserve chaining after redundant style-method calls (#19, @drewblaisdell)
- * package: add "license" field (#16, @BenjaminTsai)
-
-0.3.0 / 2014-05-09
-==================
-
- * package: remove "test" script and "devDependencies"
- * package: remove "engines" section
- * pacakge: remove "bin" section
- * package: beautify
- * examples: remove `starwars` example (#15)
- * Documented goto, horizontalAbsolute, and eraseLine methods in README.md (#12, @Jammerwoch)
- * add `.jshintrc` file
-
-< 0.3.0
-=======
-
- * Prehistoric
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/LICENSE
deleted file mode 100644
index 2ea4dc5efb..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/LICENSE
+++ /dev/null
@@ -1,24 +0,0 @@
-(The MIT License)
-
-Copyright (c) 2012 Nathan Rajlich <nathan@tootallnate.net>
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use,
-copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following
-conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/README.md
deleted file mode 100644
index 6ce19403c4..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/README.md
+++ /dev/null
@@ -1,98 +0,0 @@
-ansi.js
-=========
-### Advanced ANSI formatting tool for Node.js
-
-`ansi.js` is a module for Node.js that provides an easy-to-use API for
-writing ANSI escape codes to `Stream` instances. ANSI escape codes are used to do
-fancy things in a terminal window, like render text in colors, delete characters,
-lines, the entire window, or hide and show the cursor, and lots more!
-
-#### Features:
-
- * 256 color support for the terminal!
- * Make a beep sound from your terminal!
- * Works with *any* writable `Stream` instance.
- * Allows you to move the cursor anywhere on the terminal window.
- * Allows you to delete existing contents from the terminal window.
- * Allows you to hide and show the cursor.
- * Converts CSS color codes and RGB values into ANSI escape codes.
- * Low-level; you are in control of when escape codes are used, it's not abstracted.
-
-
-Installation
-------------
-
-Install with `npm`:
-
-``` bash
-$ npm install ansi
-```
-
-
-Example
--------
-
-``` js
-var ansi = require('ansi')
- , cursor = ansi(process.stdout)
-
-// You can chain your calls forever:
-cursor
- .red() // Set font color to red
- .bg.grey() // Set background color to grey
- .write('Hello World!') // Write 'Hello World!' to stdout
- .bg.reset() // Reset the bgcolor before writing the trailing \n,
- // to avoid Terminal glitches
- .write('\n') // And a final \n to wrap things up
-
-// Rendering modes are persistent:
-cursor.hex('#660000').bold().underline()
-
-// You can use the regular logging functions, text will be green:
-console.log('This is blood red, bold text')
-
-// To reset just the foreground color:
-cursor.fg.reset()
-
-console.log('This will still be bold')
-
-// to go to a location (x,y) on the console
-// note: 1-indexed, not 0-indexed:
-cursor.goto(10, 5).write('Five down, ten over')
-
-// to clear the current line:
-cursor.horizontalAbsolute(0).eraseLine().write('Starting again')
-
-// to go to a different column on the current line:
-cursor.horizontalAbsolute(5).write('column five')
-
-// Clean up after yourself!
-cursor.reset()
-```
-
-
-License
--------
-
-(The MIT License)
-
-Copyright (c) 2012 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-'Software'), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/beep/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/beep/index.js
deleted file mode 100755
index c1ec929d0b..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/beep/index.js
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env node
-
-/**
- * Invokes the terminal "beep" sound once per second on every exact second.
- */
-
-process.title = 'beep'
-
-var cursor = require('../../')(process.stdout)
-
-function beep () {
- cursor.beep()
- setTimeout(beep, 1000 - (new Date()).getMilliseconds())
-}
-
-setTimeout(beep, 1000 - (new Date()).getMilliseconds())
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/clear/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/clear/index.js
deleted file mode 100755
index 6ac21ffa99..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/clear/index.js
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/env node
-
-/**
- * Like GNU ncurses "clear" command.
- * https://github.com/mscdex/node-ncurses/blob/master/deps/ncurses/progs/clear.c
- */
-
-process.title = 'clear'
-
-function lf () { return '\n' }
-
-require('../../')(process.stdout)
- .write(Array.apply(null, Array(process.stdout.getWindowSize()[1])).map(lf).join(''))
- .eraseData(2)
- .goto(1, 1)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/cursorPosition.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/cursorPosition.js
deleted file mode 100755
index 50f964490e..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/cursorPosition.js
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/usr/bin/env node
-
-var tty = require('tty')
-var cursor = require('../')(process.stdout)
-
-// listen for the queryPosition report on stdin
-process.stdin.resume()
-raw(true)
-
-process.stdin.once('data', function (b) {
- var match = /\[(\d+)\;(\d+)R$/.exec(b.toString())
- if (match) {
- var xy = match.slice(1, 3).reverse().map(Number)
- console.error(xy)
- }
-
- // cleanup and close stdin
- raw(false)
- process.stdin.pause()
-})
-
-
-// send the query position request code to stdout
-cursor.queryPosition()
-
-function raw (mode) {
- if (process.stdin.setRawMode) {
- process.stdin.setRawMode(mode)
- } else {
- tty.setRawMode(mode)
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/progress/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/progress/index.js
deleted file mode 100644
index d28dbda27f..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/examples/progress/index.js
+++ /dev/null
@@ -1,87 +0,0 @@
-#!/usr/bin/env node
-
-var assert = require('assert')
- , ansi = require('../../')
-
-function Progress (stream, width) {
- this.cursor = ansi(stream)
- this.delta = this.cursor.newlines
- this.width = width | 0 || 10
- this.open = '['
- this.close = ']'
- this.complete = '█'
- this.incomplete = '_'
-
- // initial render
- this.progress = 0
-}
-
-Object.defineProperty(Progress.prototype, 'progress', {
- get: get
- , set: set
- , configurable: true
- , enumerable: true
-})
-
-function get () {
- return this._progress
-}
-
-function set (v) {
- this._progress = Math.max(0, Math.min(v, 100))
-
- var w = this.width - this.complete.length - this.incomplete.length
- , n = w * (this._progress / 100) | 0
- , i = w - n
- , com = c(this.complete, n)
- , inc = c(this.incomplete, i)
- , delta = this.cursor.newlines - this.delta
-
- assert.equal(com.length + inc.length, w)
-
- if (delta > 0) {
- this.cursor.up(delta)
- this.delta = this.cursor.newlines
- }
-
- this.cursor
- .horizontalAbsolute(0)
- .eraseLine(2)
- .fg.white()
- .write(this.open)
- .fg.grey()
- .bold()
- .write(com)
- .resetBold()
- .write(inc)
- .fg.white()
- .write(this.close)
- .fg.reset()
- .write('\n')
-}
-
-function c (char, length) {
- return Array.apply(null, Array(length)).map(function () {
- return char
- }).join('')
-}
-
-
-
-
-// Usage
-var width = parseInt(process.argv[2], 10) || process.stdout.getWindowSize()[0] / 2
- , p = new Progress(process.stdout, width)
-
-;(function tick () {
- p.progress += Math.random() * 5
- p.cursor
- .eraseLine(2)
- .write('Progress: ')
- .bold().write(p.progress.toFixed(2))
- .write('%')
- .resetBold()
- .write('\n')
- if (p.progress < 100)
- setTimeout(tick, 100)
-})()
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/ansi.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/ansi.js
deleted file mode 100644
index b1714e3289..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/ansi.js
+++ /dev/null
@@ -1,405 +0,0 @@
-
-/**
- * References:
- *
- * - http://en.wikipedia.org/wiki/ANSI_escape_code
- * - http://www.termsys.demon.co.uk/vtansi.htm
- *
- */
-
-/**
- * Module dependencies.
- */
-
-var emitNewlineEvents = require('./newlines')
- , prefix = '\x1b[' // For all escape codes
- , suffix = 'm' // Only for color codes
-
-/**
- * The ANSI escape sequences.
- */
-
-var codes = {
- up: 'A'
- , down: 'B'
- , forward: 'C'
- , back: 'D'
- , nextLine: 'E'
- , previousLine: 'F'
- , horizontalAbsolute: 'G'
- , eraseData: 'J'
- , eraseLine: 'K'
- , scrollUp: 'S'
- , scrollDown: 'T'
- , savePosition: 's'
- , restorePosition: 'u'
- , queryPosition: '6n'
- , hide: '?25l'
- , show: '?25h'
-}
-
-/**
- * Rendering ANSI codes.
- */
-
-var styles = {
- bold: 1
- , italic: 3
- , underline: 4
- , inverse: 7
-}
-
-/**
- * The negating ANSI code for the rendering modes.
- */
-
-var reset = {
- bold: 22
- , italic: 23
- , underline: 24
- , inverse: 27
-}
-
-/**
- * The standard, styleable ANSI colors.
- */
-
-var colors = {
- white: 37
- , black: 30
- , blue: 34
- , cyan: 36
- , green: 32
- , magenta: 35
- , red: 31
- , yellow: 33
- , grey: 90
- , brightBlack: 90
- , brightRed: 91
- , brightGreen: 92
- , brightYellow: 93
- , brightBlue: 94
- , brightMagenta: 95
- , brightCyan: 96
- , brightWhite: 97
-}
-
-
-/**
- * Creates a Cursor instance based off the given `writable stream` instance.
- */
-
-function ansi (stream, options) {
- if (stream._ansicursor) {
- return stream._ansicursor
- } else {
- return stream._ansicursor = new Cursor(stream, options)
- }
-}
-module.exports = exports = ansi
-
-/**
- * The `Cursor` class.
- */
-
-function Cursor (stream, options) {
- if (!(this instanceof Cursor)) {
- return new Cursor(stream, options)
- }
- if (typeof stream != 'object' || typeof stream.write != 'function') {
- throw new Error('a valid Stream instance must be passed in')
- }
-
- // the stream to use
- this.stream = stream
-
- // when 'enabled' is false then all the functions are no-ops except for write()
- this.enabled = options && options.enabled
- if (typeof this.enabled === 'undefined') {
- this.enabled = stream.isTTY
- }
- this.enabled = !!this.enabled
-
- // then `buffering` is true, then `write()` calls are buffered in
- // memory until `flush()` is invoked
- this.buffering = !!(options && options.buffering)
- this._buffer = []
-
- // controls the foreground and background colors
- this.fg = this.foreground = new Colorer(this, 0)
- this.bg = this.background = new Colorer(this, 10)
-
- // defaults
- this.Bold = false
- this.Italic = false
- this.Underline = false
- this.Inverse = false
-
- // keep track of the number of "newlines" that get encountered
- this.newlines = 0
- emitNewlineEvents(stream)
- stream.on('newline', function () {
- this.newlines++
- }.bind(this))
-}
-exports.Cursor = Cursor
-
-/**
- * Helper function that calls `write()` on the underlying Stream.
- * Returns `this` instead of the write() return value to keep
- * the chaining going.
- */
-
-Cursor.prototype.write = function (data) {
- if (this.buffering) {
- this._buffer.push(arguments)
- } else {
- this.stream.write.apply(this.stream, arguments)
- }
- return this
-}
-
-/**
- * Buffer `write()` calls into memory.
- *
- * @api public
- */
-
-Cursor.prototype.buffer = function () {
- this.buffering = true
- return this
-}
-
-/**
- * Write out the in-memory buffer.
- *
- * @api public
- */
-
-Cursor.prototype.flush = function () {
- this.buffering = false
- var str = this._buffer.map(function (args) {
- if (args.length != 1) throw new Error('unexpected args length! ' + args.length);
- return args[0];
- }).join('');
- this._buffer.splice(0); // empty
- this.write(str);
- return this
-}
-
-
-/**
- * The `Colorer` class manages both the background and foreground colors.
- */
-
-function Colorer (cursor, base) {
- this.current = null
- this.cursor = cursor
- this.base = base
-}
-exports.Colorer = Colorer
-
-/**
- * Write an ANSI color code, ensuring that the same code doesn't get rewritten.
- */
-
-Colorer.prototype._setColorCode = function setColorCode (code) {
- var c = String(code)
- if (this.current === c) return
- this.cursor.enabled && this.cursor.write(prefix + c + suffix)
- this.current = c
- return this
-}
-
-
-/**
- * Set up the positional ANSI codes.
- */
-
-Object.keys(codes).forEach(function (name) {
- var code = String(codes[name])
- Cursor.prototype[name] = function () {
- var c = code
- if (arguments.length > 0) {
- c = toArray(arguments).map(Math.round).join(';') + code
- }
- this.enabled && this.write(prefix + c)
- return this
- }
-})
-
-/**
- * Set up the functions for the rendering ANSI codes.
- */
-
-Object.keys(styles).forEach(function (style) {
- var name = style[0].toUpperCase() + style.substring(1)
- , c = styles[style]
- , r = reset[style]
-
- Cursor.prototype[style] = function () {
- if (this[name]) return this
- this.enabled && this.write(prefix + c + suffix)
- this[name] = true
- return this
- }
-
- Cursor.prototype['reset' + name] = function () {
- if (!this[name]) return this
- this.enabled && this.write(prefix + r + suffix)
- this[name] = false
- return this
- }
-})
-
-/**
- * Setup the functions for the standard colors.
- */
-
-Object.keys(colors).forEach(function (color) {
- var code = colors[color]
-
- Colorer.prototype[color] = function () {
- this._setColorCode(this.base + code)
- return this.cursor
- }
-
- Cursor.prototype[color] = function () {
- return this.foreground[color]()
- }
-})
-
-/**
- * Makes a beep sound!
- */
-
-Cursor.prototype.beep = function () {
- this.enabled && this.write('\x07')
- return this
-}
-
-/**
- * Moves cursor to specific position
- */
-
-Cursor.prototype.goto = function (x, y) {
- x = x | 0
- y = y | 0
- this.enabled && this.write(prefix + y + ';' + x + 'H')
- return this
-}
-
-/**
- * Resets the color.
- */
-
-Colorer.prototype.reset = function () {
- this._setColorCode(this.base + 39)
- return this.cursor
-}
-
-/**
- * Resets all ANSI formatting on the stream.
- */
-
-Cursor.prototype.reset = function () {
- this.enabled && this.write(prefix + '0' + suffix)
- this.Bold = false
- this.Italic = false
- this.Underline = false
- this.Inverse = false
- this.foreground.current = null
- this.background.current = null
- return this
-}
-
-/**
- * Sets the foreground color with the given RGB values.
- * The closest match out of the 216 colors is picked.
- */
-
-Colorer.prototype.rgb = function (r, g, b) {
- var base = this.base + 38
- , code = rgb(r, g, b)
- this._setColorCode(base + ';5;' + code)
- return this.cursor
-}
-
-/**
- * Same as `cursor.fg.rgb(r, g, b)`.
- */
-
-Cursor.prototype.rgb = function (r, g, b) {
- return this.foreground.rgb(r, g, b)
-}
-
-/**
- * Accepts CSS color codes for use with ANSI escape codes.
- * For example: `#FF000` would be bright red.
- */
-
-Colorer.prototype.hex = function (color) {
- return this.rgb.apply(this, hex(color))
-}
-
-/**
- * Same as `cursor.fg.hex(color)`.
- */
-
-Cursor.prototype.hex = function (color) {
- return this.foreground.hex(color)
-}
-
-
-// UTIL FUNCTIONS //
-
-/**
- * Translates a 255 RGB value to a 0-5 ANSI RGV value,
- * then returns the single ANSI color code to use.
- */
-
-function rgb (r, g, b) {
- var red = r / 255 * 5
- , green = g / 255 * 5
- , blue = b / 255 * 5
- return rgb5(red, green, blue)
-}
-
-/**
- * Turns rgb 0-5 values into a single ANSI color code to use.
- */
-
-function rgb5 (r, g, b) {
- var red = Math.round(r)
- , green = Math.round(g)
- , blue = Math.round(b)
- return 16 + (red*36) + (green*6) + blue
-}
-
-/**
- * Accepts a hex CSS color code string (# is optional) and
- * translates it into an Array of 3 RGB 0-255 values, which
- * can then be used with rgb().
- */
-
-function hex (color) {
- var c = color[0] === '#' ? color.substring(1) : color
- , r = c.substring(0, 2)
- , g = c.substring(2, 4)
- , b = c.substring(4, 6)
- return [parseInt(r, 16), parseInt(g, 16), parseInt(b, 16)]
-}
-
-/**
- * Turns an array-like object into a real array.
- */
-
-function toArray (a) {
- var i = 0
- , l = a.length
- , rtn = []
- for (; i<l; i++) {
- rtn.push(a[i])
- }
- return rtn
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/newlines.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/newlines.js
deleted file mode 100644
index 4e37a0adbc..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/lib/newlines.js
+++ /dev/null
@@ -1,71 +0,0 @@
-
-/**
- * Accepts any node Stream instance and hijacks its "write()" function,
- * so that it can count any newlines that get written to the output.
- *
- * When a '\n' byte is encountered, then a "newline" event will be emitted
- * on the stream, with no arguments. It is up to the listeners to determine
- * any necessary deltas required for their use-case.
- *
- * Ex:
- *
- * var cursor = ansi(process.stdout)
- * , ln = 0
- * process.stdout.on('newline', function () {
- * ln++
- * })
- */
-
-/**
- * Module dependencies.
- */
-
-var assert = require('assert')
-var NEWLINE = '\n'.charCodeAt(0)
-
-function emitNewlineEvents (stream) {
- if (stream._emittingNewlines) {
- // already emitting newline events
- return
- }
-
- var write = stream.write
-
- stream.write = function (data) {
- // first write the data
- var rtn = write.apply(stream, arguments)
-
- if (stream.listeners('newline').length > 0) {
- var len = data.length
- , i = 0
- // now try to calculate any deltas
- if (typeof data == 'string') {
- for (; i<len; i++) {
- processByte(stream, data.charCodeAt(i))
- }
- } else {
- // buffer
- for (; i<len; i++) {
- processByte(stream, data[i])
- }
- }
- }
-
- return rtn
- }
-
- stream._emittingNewlines = true
-}
-module.exports = emitNewlineEvents
-
-
-/**
- * Processes an individual byte being written to a stream
- */
-
-function processByte (stream, b) {
- assert.equal(typeof b, 'number')
- if (b === NEWLINE) {
- stream.emit('newline')
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/package.json
deleted file mode 100644
index ce2366e31e..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/ansi/package.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "ansi",
- "raw": "ansi@~0.3.1",
- "rawSpec": "~0.3.1",
- "scope": null,
- "spec": ">=0.3.1 <0.4.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/npmlog"
- ],
- [
- {
- "name": "ansi",
- "raw": "ansi@~0.3.1",
- "rawSpec": "~0.3.1",
- "scope": null,
- "spec": ">=0.3.1 <0.4.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog"
- ]
- ],
- "_from": "ansi@~0.3.1",
- "_id": "ansi@0.3.1",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/ansi",
- "_nodeVersion": "5.3.0",
- "_npmUser": {
- "email": "nathan@tootallnate.net",
- "name": "tootallnate"
- },
- "_npmVersion": "3.3.12",
- "_phantomChildren": {},
- "_requested": {
- "name": "ansi",
- "raw": "ansi@~0.3.1",
- "rawSpec": "~0.3.1",
- "scope": null,
- "spec": ">=0.3.1 <0.4.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog",
- "/node-gyp/npmlog/gauge"
- ],
- "_resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz",
- "_shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21",
- "_shrinkwrap": null,
- "_spec": "ansi@~0.3.1",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog",
- "author": {
- "email": "nathan@tootallnate.net",
- "name": "Nathan Rajlich",
- "url": "http://tootallnate.net"
- },
- "bugs": {
- "url": "https://github.com/TooTallNate/ansi.js/issues"
- },
- "dependencies": {},
- "description": "Advanced ANSI formatting tool for Node.js",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "0c42d4fb17160d5a9af1e484bace1c66922c1b21",
- "tarball": "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz"
- },
- "gitHead": "4d0d4af94e0bdaa648bd7262acd3bde4b98d5246",
- "homepage": "https://github.com/TooTallNate/ansi.js#readme",
- "keywords": [
- "ansi",
- "formatting",
- "cursor",
- "color",
- "terminal",
- "rgb",
- "256",
- "stream"
- ],
- "license": "MIT",
- "main": "./lib/ansi.js",
- "maintainers": [
- {
- "email": "nathan@tootallnate.net",
- "name": "TooTallNate"
- },
- {
- "email": "nathan@tootallnate.net",
- "name": "tootallnate"
- }
- ],
- "name": "ansi",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git://github.com/TooTallNate/ansi.js.git"
- },
- "scripts": {},
- "version": "0.3.1"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/README.md
index f8789800aa..c41d392292 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/README.md
@@ -25,7 +25,7 @@ single.completeWork(20)
console.log(top.completed()) // 0.2
fs.stat("file", function(er, stat) {
- if (er) throw er
+ if (er) throw er
var stream = top.newStream("file", stat.size)
console.log(top.completed()) // now 0.1 as single is 50% of the job and is 20% complete
// and 50% * 20% == 10%
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json
index 502a040eda..6a5ea8189c 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/node_modules/delegates/package.json
@@ -2,44 +2,46 @@
"_args": [
[
{
- "name": "delegates",
"raw": "delegates@^1.0.0",
- "rawSpec": "^1.0.0",
"scope": null,
+ "escapedName": "delegates",
+ "name": "delegates",
+ "rawSpec": "^1.0.0",
"spec": ">=1.0.0 <2.0.0",
"type": "range"
},
- "/Users/rebecca/code/npm/node_modules/npmlog/node_modules/are-we-there-yet"
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/are-we-there-yet"
],
[
{
- "name": "delegates",
"raw": "delegates@^1.0.0",
- "rawSpec": "^1.0.0",
"scope": null,
+ "escapedName": "delegates",
+ "name": "delegates",
+ "rawSpec": "^1.0.0",
"spec": ">=1.0.0 <2.0.0",
"type": "range"
},
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet"
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet"
]
],
"_from": "delegates@^1.0.0",
"_id": "delegates@1.0.0",
"_inCache": true,
- "_installable": true,
"_location": "/node-gyp/npmlog/are-we-there-yet/delegates",
"_nodeVersion": "4.2.1",
"_npmUser": {
- "email": "tj@vision-media.ca",
- "name": "tjholowaychuk"
+ "name": "tjholowaychuk",
+ "email": "tj@vision-media.ca"
},
"_npmVersion": "3.3.12",
"_phantomChildren": {},
"_requested": {
- "name": "delegates",
"raw": "delegates@^1.0.0",
- "rawSpec": "^1.0.0",
"scope": null,
+ "escapedName": "delegates",
+ "name": "delegates",
+ "rawSpec": "^1.0.0",
"spec": ">=1.0.0 <2.0.0",
"type": "range"
},
@@ -50,7 +52,7 @@
"_shasum": "84c6e159b81904fdca59a0ef44cd870d31250f9a",
"_shrinkwrap": null,
"_spec": "delegates@^1.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet",
"bugs": {
"url": "https://github.com/visionmedia/node-delegates/issues"
},
@@ -74,12 +76,12 @@
"license": "MIT",
"maintainers": [
{
- "email": "tj@vision-media.ca",
- "name": "tjholowaychuk"
+ "name": "tjholowaychuk",
+ "email": "tj@vision-media.ca"
},
{
- "email": "dominic@dbarnes.info",
- "name": "dominicbarnes"
+ "name": "dominicbarnes",
+ "email": "dominic@dbarnes.info"
}
],
"name": "delegates",
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/package.json
index bab98d6812..66ca32888b 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/are-we-there-yet/package.json
@@ -2,31 +2,32 @@
"_args": [
[
{
- "name": "are-we-there-yet",
"raw": "are-we-there-yet@~1.1.2",
- "rawSpec": "~1.1.2",
"scope": null,
+ "escapedName": "are-we-there-yet",
+ "name": "are-we-there-yet",
+ "rawSpec": "~1.1.2",
"spec": ">=1.1.2 <1.2.0",
"type": "range"
},
- "/Users/rebecca/code/npm/node_modules/npmlog"
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog"
],
[
{
- "name": "are-we-there-yet",
"raw": "are-we-there-yet@~1.1.2",
- "rawSpec": "~1.1.2",
"scope": null,
+ "escapedName": "are-we-there-yet",
+ "name": "are-we-there-yet",
+ "rawSpec": "~1.1.2",
"spec": ">=1.1.2 <1.2.0",
"type": "range"
},
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog"
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog"
]
],
"_from": "are-we-there-yet@~1.1.2",
"_id": "are-we-there-yet@1.1.2",
"_inCache": true,
- "_installable": true,
"_location": "/node-gyp/npmlog/are-we-there-yet",
"_nodeVersion": "4.2.2",
"_npmOperationalInternal": {
@@ -34,16 +35,17 @@
"tmp": "tmp/are-we-there-yet-1.1.2.tgz_1458084397358_0.15847722673788667"
},
"_npmUser": {
- "email": "me@re-becca.org",
- "name": "iarna"
+ "name": "iarna",
+ "email": "me@re-becca.org"
},
"_npmVersion": "3.8.1",
"_phantomChildren": {},
"_requested": {
- "name": "are-we-there-yet",
"raw": "are-we-there-yet@~1.1.2",
- "rawSpec": "~1.1.2",
"scope": null,
+ "escapedName": "are-we-there-yet",
+ "name": "are-we-there-yet",
+ "rawSpec": "~1.1.2",
"spec": ">=1.1.2 <1.2.0",
"type": "range"
},
@@ -54,7 +56,7 @@
"_shasum": "80e470e95a084794fe1899262c5667c6e88de1b3",
"_shrinkwrap": null,
"_spec": "are-we-there-yet@~1.1.2",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog",
"author": {
"name": "Rebecca Turner",
"url": "http://re-becca.org"
@@ -82,8 +84,8 @@
"main": "index.js",
"maintainers": [
{
- "email": "me@re-becca.org",
- "name": "iarna"
+ "name": "iarna",
+ "email": "me@re-becca.org"
}
],
"name": "are-we-there-yet",
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/LICENSE
index 19129e315f..e756052969 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/node_modules/minimatch/LICENSE
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/LICENSE
@@ -1,6 +1,4 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
+Copyright (c) 2014, Rebecca Turner <me@re-becca.org>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@@ -11,5 +9,5 @@ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/README.md
new file mode 100644
index 0000000000..f58cc8d892
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/README.md
@@ -0,0 +1,145 @@
+# Console Control Strings
+
+A library of cross-platform tested terminal/console command strings for
+doing things like color and cursor positioning. This is a subset of both
+ansi and vt100. All control codes included work on both Windows & Unix-like
+OSes, except where noted.
+
+## Usage
+
+```js
+var consoleControl = require('console-control-strings')
+
+console.log(consoleControl.color('blue','bgRed', 'bold') + 'hi there' + consoleControl.color('reset'))
+process.stdout.write(consoleControl.goto(75, 10))
+```
+
+## Why Another?
+
+There are tons of libraries similar to this one. I wanted one that was:
+
+1. Very clear about compatibility goals.
+2. Could emit, for instance, a start color code without an end one.
+3. Returned strings w/o writing to streams.
+4. Was not weighed down with other unrelated baggage.
+
+## Functions
+
+### var code = consoleControl.up(_num = 1_)
+
+Returns the escape sequence to move _num_ lines up.
+
+### var code = consoleControl.down(_num = 1_)
+
+Returns the escape sequence to move _num_ lines down.
+
+### var code = consoleControl.forward(_num = 1_)
+
+Returns the escape sequence to move _num_ lines righ.
+
+### var code = consoleControl.back(_num = 1_)
+
+Returns the escape sequence to move _num_ lines left.
+
+### var code = consoleControl.nextLine(_num = 1_)
+
+Returns the escape sequence to move _num_ lines down and to the beginning of
+the line.
+
+### var code = consoleControl.previousLine(_num = 1_)
+
+Returns the escape sequence to move _num_ lines up and to the beginning of
+the line.
+
+### var code = consoleControl.eraseData()
+
+Returns the escape sequence to erase everything from the current cursor
+position to the bottom right of the screen. This is line based, so it
+erases the remainder of the current line and all following lines.
+
+### var code = consoleControl.eraseLine()
+
+Returns the escape sequence to erase to the end of the current line.
+
+### var code = consoleControl.goto(_x_, _y_)
+
+Returns the escape sequence to move the cursor to the designated position.
+Note that the origin is _1, 1_ not _0, 0_.
+
+### var code = consoleControl.gotoSOL()
+
+Returns the escape sequence to move the cursor to the beginning of the
+current line. (That is, it returns a carriage return, `\r`.)
+
+### var code = consoleControl.beep()
+
+Returns the escape sequence to cause the termianl to beep. (That is, it
+returns unicode character `\x0007`, a Control-G.)
+
+### var code = consoleControl.hideCursor()
+
+Returns the escape sequence to hide the cursor.
+
+### var code = consoleControl.showCursor()
+
+Returns the escape sequence to show the cursor.
+
+### var code = consoleControl.color(_colors = []_)
+
+### var code = consoleControl.color(_color1_, _color2_, _…_, _colorn_)
+
+Returns the escape sequence to set the current terminal display attributes
+(mostly colors). Arguments can either be a list of attributes or an array
+of attributes. The difference between passing in an array or list of colors
+and calling `.color` separately for each one, is that in the former case a
+single escape sequence will be produced where as in the latter each change
+will have its own distinct escape sequence. Each attribute can be one of:
+
+* Reset:
+ * **reset** – Reset all attributes to the terminal default.
+* Styles:
+ * **bold** – Display text as bold. In some terminals this means using a
+ bold font, in others this means changing the color. In some it means
+ both.
+ * **italic** – Display text as italic. This is not available in most Windows terminals.
+ * **underline** – Underline text. This is not available in most Windows Terminals.
+ * **inverse** – Invert the foreground and background colors.
+ * **stopBold** – Do not display text as bold.
+ * **stopItalic** – Do not display text as italic.
+ * **stopUnderline** – Do not underline text.
+ * **stopInverse** – Do not invert foreground and background.
+* Colors:
+ * **white**
+ * **black**
+ * **blue**
+ * **cyan**
+ * **green**
+ * **magenta**
+ * **red**
+ * **yellow**
+ * **grey** / **brightBlack**
+ * **brightRed**
+ * **brightGreen**
+ * **brightYellow**
+ * **brightBlue**
+ * **brightMagenta**
+ * **brightCyan**
+ * **brightWhite**
+* Background Colors:
+ * **bgWhite**
+ * **bgBlack**
+ * **bgBlue**
+ * **bgCyan**
+ * **bgGreen**
+ * **bgMagenta**
+ * **bgRed**
+ * **bgYellow**
+ * **bgGrey** / **bgBrightBlack**
+ * **bgBrightRed**
+ * **bgBrightGreen**
+ * **bgBrightYellow**
+ * **bgBrightBlue**
+ * **bgBrightMagenta**
+ * **bgBrightCyan**
+ * **bgBrightWhite**
+
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/index.js
new file mode 100644
index 0000000000..bf890348ec
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/index.js
@@ -0,0 +1,125 @@
+'use strict'
+
+// These tables borrowed from `ansi`
+
+var prefix = '\x1b['
+
+exports.up = function up (num) {
+ return prefix + (num || '') + 'A'
+}
+
+exports.down = function down (num) {
+ return prefix + (num || '') + 'B'
+}
+
+exports.forward = function forward (num) {
+ return prefix + (num || '') + 'C'
+}
+
+exports.back = function back (num) {
+ return prefix + (num || '') + 'D'
+}
+
+exports.nextLine = function nextLine (num) {
+ return prefix + (num || '') + 'E'
+}
+
+exports.previousLine = function previousLine (num) {
+ return prefix + (num || '') + 'F'
+}
+
+exports.horizontalAbsolute = function horizontalAbsolute (num) {
+ if (num == null) throw new Error('horizontalAboslute requires a column to position to')
+ return prefix + num + 'G'
+}
+
+exports.eraseData = function eraseData () {
+ return prefix + 'J'
+}
+
+exports.eraseLine = function eraseLine () {
+ return prefix + 'K'
+}
+
+exports.goto = function (x, y) {
+ return prefix + y + ';' + x + 'H'
+}
+
+exports.gotoSOL = function () {
+ return '\r'
+}
+
+exports.beep = function () {
+ return '\x07'
+}
+
+exports.hideCursor = function hideCursor () {
+ return prefix + '?25l'
+}
+
+exports.showCursor = function showCursor () {
+ return prefix + '?25h'
+}
+
+var colors = {
+ reset: 0,
+// styles
+ bold: 1,
+ italic: 3,
+ underline: 4,
+ inverse: 7,
+// resets
+ stopBold: 22,
+ stopItalic: 23,
+ stopUnderline: 24,
+ stopInverse: 27,
+// colors
+ white: 37,
+ black: 30,
+ blue: 34,
+ cyan: 36,
+ green: 32,
+ magenta: 35,
+ red: 31,
+ yellow: 33,
+ bgWhite: 47,
+ bgBlack: 40,
+ bgBlue: 44,
+ bgCyan: 46,
+ bgGreen: 42,
+ bgMagenta: 45,
+ bgRed: 41,
+ bgYellow: 43,
+
+ grey: 90,
+ brightBlack: 90,
+ brightRed: 91,
+ brightGreen: 92,
+ brightYellow: 93,
+ brightBlue: 94,
+ brightMagenta: 95,
+ brightCyan: 96,
+ brightWhite: 97,
+
+ bgGrey: 100,
+ bgBrightBlack: 100,
+ bgBrightRed: 101,
+ bgBrightGreen: 102,
+ bgBrightYellow: 103,
+ bgBrightBlue: 104,
+ bgBrightMagenta: 105,
+ bgBrightCyan: 106,
+ bgBrightWhite: 107
+}
+
+exports.color = function color (colorWith) {
+ if (arguments.length !== 1 || !Array.isArray(colorWith)) {
+ colorWith = Array.prototype.slice.call(arguments)
+ }
+ return prefix + colorWith.map(colorNameToCode).join(';') + 'm'
+}
+
+function colorNameToCode (color) {
+ if (colors[color] != null) return colors[color]
+ throw new Error('Unknown color or style name: ' + color)
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/package.json
new file mode 100644
index 0000000000..581b0eb4d4
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/console-control-strings/package.json
@@ -0,0 +1,108 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "console-control-strings@~1.1.0",
+ "scope": null,
+ "escapedName": "console-control-strings",
+ "name": "console-control-strings",
+ "rawSpec": "~1.1.0",
+ "spec": ">=1.1.0 <1.2.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog"
+ ],
+ [
+ {
+ "raw": "console-control-strings@~1.1.0",
+ "scope": null,
+ "escapedName": "console-control-strings",
+ "name": "console-control-strings",
+ "rawSpec": "~1.1.0",
+ "spec": ">=1.1.0 <1.2.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog"
+ ]
+ ],
+ "_from": "console-control-strings@~1.1.0",
+ "_id": "console-control-strings@1.1.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/console-control-strings",
+ "_nodeVersion": "4.4.0",
+ "_npmOperationalInternal": {
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/console-control-strings-1.1.0.tgz_1466033396831_0.9470485949423164"
+ },
+ "_npmUser": {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ "_npmVersion": "3.9.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "console-control-strings@~1.1.0",
+ "scope": null,
+ "escapedName": "console-control-strings",
+ "name": "console-control-strings",
+ "rawSpec": "~1.1.0",
+ "spec": ">=1.1.0 <1.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog",
+ "/node-gyp/npmlog/gauge"
+ ],
+ "_resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
+ "_shasum": "3d7cf4464db6446ea644bf4b39507f9851008e8e",
+ "_shrinkwrap": null,
+ "_spec": "console-control-strings@~1.1.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog",
+ "author": {
+ "name": "Rebecca Turner",
+ "email": "me@re-becca.org",
+ "url": "http://re-becca.org/"
+ },
+ "bugs": {
+ "url": "https://github.com/iarna/console-control-strings/issues"
+ },
+ "dependencies": {},
+ "description": "A library of cross-platform tested terminal/console command strings for doing things like color and cursor positioning. This is a subset of both ansi and vt100. All control codes included work on both Windows & Unix-like OSes, except where noted.",
+ "devDependencies": {
+ "standard": "^7.1.2",
+ "tap": "^5.7.2"
+ },
+ "directories": {
+ "test": "test"
+ },
+ "dist": {
+ "shasum": "3d7cf4464db6446ea644bf4b39507f9851008e8e",
+ "tarball": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz"
+ },
+ "files": [
+ "LICENSE",
+ "index.js"
+ ],
+ "gitHead": "722439b4998d2964ac3d3f9ec175c008aa9b7b4b",
+ "homepage": "https://github.com/iarna/console-control-strings#readme",
+ "keywords": [],
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "console-control-strings",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/iarna/console-control-strings.git"
+ },
+ "scripts": {
+ "test": "standard && tap test/*.js"
+ },
+ "version": "1.1.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/.npmignore
deleted file mode 100644
index df22a16c63..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/.npmignore
+++ /dev/null
@@ -1,32 +0,0 @@
-# Logs
-logs
-*.log
-
-# Runtime data
-pids
-*.pid
-*.seed
-
-# Directory for instrumented libs generated by jscoverage/JSCover
-lib-cov
-
-# Coverage directory used by tools like istanbul
-coverage
-
-# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
-.grunt
-
-# Compiled binary addons (http://nodejs.org/api/addons.html)
-build/Release
-
-# Dependency directory
-# Commenting this out is preferred by some people, see
-# https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git-
-node_modules
-
-# Users Environment Variables
-.lock-wscript
-
-# Editor cruft
-*~
-.#*
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/CHANGELOG.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/CHANGELOG.md
new file mode 100644
index 0000000000..efd08fc7c1
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/CHANGELOG.md
@@ -0,0 +1,131 @@
+### v2.6.0
+
+* Bug fix: Don't run the code associated with `enable`/`disable` if the gauge
+ is already enabled or disabled respectively. This prevents leaking event
+ listeners, amongst other weirdness.
+* New feature: Template items can have default values that will be used if no
+ value was otherwise passed in.
+
+### v2.5.3
+
+* Default to `enabled` only if we have a tty. Users can always override
+ this by passing in the `enabled` option explicitly or by calling calling
+ `gauge.enable()`.
+
+### v2.5.2
+
+* Externalized `./console-strings.js` into `console-control-strings`.
+
+### v2.5.1
+
+* Update to `signal-exit@3.0.0`, which fixes a compatibility bug with the
+ node profiler.
+* [#39](https://github.com/iarna/gauge/pull/39) Fix tests on 0.10 and add
+ a missing devDependency. ([@helloyou2012](https://github.com/helloyou2012))
+
+### v2.5.0
+
+* Add way to programmatically fetch a list of theme names in a themeset
+ (`Themeset.getThemeNames`).
+
+### v2.4.0
+
+* Add support for setting themesets on existing gauge objects.
+* Add post-IO callback to `gauge.hide()` as it is somtetimes necessary when
+ your terminal is interleaving output from multiple filehandles (ie, stdout
+ & stderr).
+
+### v2.3.1
+
+* Fix a refactor bug in setTheme where it wasn't accepting the various types
+ of args it should.
+
+### v2.3.0
+
+#### FEATURES
+
+* Add setTemplate & setTheme back in.
+* Add support for named themes, you can now ask for things like 'colorASCII'
+ and 'brailleSpinner'. Of course, you can still pass in theme objects.
+ Additionally you can now pass in an object with `hasUnicode`, `hasColor` and
+ `platform` keys in order to override our guesses as to those values when
+ selecting a default theme from the themeset.
+* Make the output stream optional (it defaults to `process.stderr` now).
+* Add `setWriteTo(stream[, tty])` to change the output stream and,
+ optionally, tty.
+
+#### BUG FIXES & REFACTORING
+
+* Abort the display phase early if we're supposed to be hidden and we are.
+* Stop printing a bunch of spaces at the end of lines, since we're already
+ using an erase-to-end-of-line code anyway.
+* The unicode themes were missing the subsection separator.
+
+### v2.2.1
+
+* Fix image in readme
+
+### v2.2.0
+
+* All new themes API– reference themes by name and pass in custom themes and
+ themesets (themesets get platform support autodetection done on them to
+ select the best theme). Theme mixins let you add features to all existing
+ themes.
+* Much, much improved test coverage.
+
+### v2.1.0
+
+* Got rid of ░ in the default platform, noUnicode, hasColor theme. Thanks
+ to @yongtw123 for pointing out this had snuck in.
+* Fiddled with the demo output to make it easier to see the spinner spin. Also
+ added prints before each platforms test output.
+* I forgot to include `signal-exit` in our deps. <.< Thank you @KenanY for
+ finding this. Then I was lazy and made a new commit instead of using his
+ PR. Again, thank you for your patience @KenenY.
+* Drastically speed up travis testing.
+* Add a small javascript demo (demo.js) for showing off the various themes
+ (and testing them on diff platforms).
+* Change: The subsection separator from ⁄ and / (different chars) to >.
+* Fix crasher: A show or pulse without a label would cause the template renderer
+ to complain about a missing value.
+* New feature: Add the ability to disable the clean-up-on-exit behavior.
+ Not something I expect to be widely desirable, but important if you have
+ multiple distinct gauge instances in your app.
+* Use our own color support detection.
+ The `has-color` module proved too magic for my needs, making assumptions
+ as to which stream we write to and reading command line arguments.
+
+### v2.0.0
+
+This is a major rewrite of the internals. Externally there are fewer
+changes:
+
+* On node>0.8 gauge object now prints updates at a fixed rate. This means
+ that when you call `show` it may wate up to `updateInterval` ms before it
+ actually prints an update. You override this behavior with the
+ `fixedFramerate` option.
+* The gauge object now keeps the cursor hidden as long as it's enabled and
+ shown.
+* The constructor's arguments have changed, now it takes a mandatory output
+ stream and an optional options object. The stream no longer needs to be
+ an `ansi`ified stream, although it can be if you want (but we won't make
+ use of its special features).
+* Previously the gauge was disabled by default if `process.stdout` wasn't a
+ tty. Now it always defaults to enabled. If you want the previous
+ behavior set the `enabled` option to `process.stdout.isTTY`.
+* The constructor's options have changed– see the docs for details.
+* Themes are entirely different. If you were using a custom theme, or
+ referring to one directly (eg via `Gauge.unicode` or `Gauge.ascii`) then
+ you'll need to change your code. You can get the equivalent of the latter
+ with:
+ ```
+ var themes = require('gauge/themes')
+ var unicodeTheme = themes(true, true) // returns the color unicode theme for your platform
+ ```
+ The default themes no longer use any ambiguous width characters, so even
+ if you choose to display those as wide your progress bar should still
+ display correctly.
+* Templates are entirely different and if you were using a custom one, you
+ should consult the documentation to learn how to recreate it. If you were
+ using the default, be aware that it has changed and the result looks quite
+ a bit different.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/README.md
index 337dc9d8d4..bf87d189f1 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/README.md
@@ -15,138 +15,330 @@ gauge.pulse("this")
gauge.hide()
```
-![](example.png)
+![](gauge-demo.gif)
-### `var gauge = new Gauge([options], [ansiStream])`
+### CHANGES FROM 1.x
-* **options** – *(optional)* An option object. (See [below] for details.)
-* **ansiStream** – *(optional)* A stream that's been blessed by the [ansi]
- module to include various commands for controlling the cursor in a terminal.
+Gauge 2.x is breaking release, please see the [changelog] for details on
+what's changed if you were previously a user of this module.
-[ansi]: https://www.npmjs.com/package/ansi
-[below]: #theme-objects
+[changelog]: CHANGELOG.md
+
+### THE GAUGE CLASS
+
+This is the typical interface to the module– it provides a pretty
+fire-and-forget interface to displaying your status information.
+
+```
+var Gauge = require("gauge")
+
+var gauge = new Gauge([stream], [options])
+```
+
+* **stream** – *(optional, default STDERR)* A stream that progress bar
+ updates are to be written to. Gauge honors backpressure and will pause
+ most writing if it is indicated.
+* **options** – *(optional)* An option object.
Constructs a new gauge. Gauges are drawn on a single line, and are not drawn
-if the current terminal isn't a tty.
+if **stream** isn't a tty and a tty isn't explicitly provided.
+
+If **stream** is a terminal or if you pass in **tty** to **options** then we
+will detect terminal resizes and redraw to fit. We do this by watching for
+`resize` events on the tty. (To work around a bug in verisons of Node prior
+to 2.5.0, we watch for them on stdout if the tty is stderr.) Resizes to
+larger window sizes will be clean, but shrinking the window will always
+result in some cruft.
-If you resize your terminal in a way that can be detected then the gauge
-will be drawn at the new size. As a general rule, growing your terminal will
-be clean, but shrinking your terminal will result in cruft as we don't have
-enough information to know where what we wrote previously is now located.
+**IMPORTANT:** If you prevously were passing in a non-tty stream but you still
+want output (for example, a stream wrapped by the `ansi` module) then you
+need to pass in the **tty** option below, as `gauge` needs access to
+the underlying tty in order to do things like terminal resizes and terminal
+width detection.
The **options** object can have the following properties, all of which are
optional:
-* maxUpdateFrequency: defaults to 50 msec, the gauge will not be drawn more
- than once in this period of time. This applies to `show` and `pulse`
- calls, but if you `hide` and then `show` the gauge it will draw it
- regardless of time since last draw.
-* theme: defaults to Gauge.unicode` if the terminal supports
- unicode according to [has-unicode], otherwise it defaults to `Gauge.ascii`.
- Details on the [theme object](#theme-objects) are documented elsewhere.
-* template: see [documentation elsewhere](#template-objects) for
- defaults and details.
+* **updateInterval**: How often gauge updates should be drawn, in miliseconds.
+* **fixedFramerate**: Defaults to false on node 0.8, true on everything
+ else. When this is true a timer is created to trigger once every
+ `updateInterval` ms, when false, updates are printed as soon as they come
+ in but updates more often than `updateInterval` are ignored. The reason
+ 0.8 doesn't have this set to true is that it can't `unref` its timer and
+ so it would stop your program from exiting– if you want to use this
+ feature with 0.8 just make sure you call `gauge.disable()` before you
+ expect your program to exit.
+* **themes**: A themeset to use when selecting the theme to use. Defaults
+ to `gauge/themes`, see the [themes] documentation for details.
+* **theme**: Select a theme for use, it can be a:
+ * Theme object, in which case the **themes** is not used.
+ * The name of a theme, which will be looked up in the current *themes*
+ object.
+ * A configuration object with any of `hasUnicode`, `hasColor` or
+ `platform` keys, which if wlll be used to override our guesses when making
+ a default theme selection.
+
+ If no theme is selected then a default is picked using a combination of our
+ best guesses at your OS, color support and unicode support.
+* **template**: Describes what you want your gauge to look like. The
+ default is what npm uses. Detailed [documentation] is later in this
+ document.
+* **hideCursor**: Defaults to true. If true, then the cursor will be hidden
+ while the gauge is displayed.
+* **tty**: The tty that you're ultimately writing to. Defaults to the same
+ as **stream**. This is used for detecting the width of the terminal and
+ resizes. The width used is `tty.columns - 1`. If no tty is available then
+ a width of `79` is assumed.
+* **enabled**: Defaults to true if `tty` is a TTY, false otherwise. If true
+ the gauge starts enabled. If disabled then all update commands are
+ ignored and no gauge will be printed until you call `.enable()`.
+* **Plumbing**: The class to use to actually generate the gauge for
+ printing. This defaults to `require('gauge/plumbing')` and ordinarly you
+ shouldn't need to override this.
+* **cleanupOnExit**: Defaults to true. Ordinarily we register an exit
+ handler to make sure your cursor is turned back on and the progress bar
+ erased when your process exits, even if you Ctrl-C out or otherwise exit
+ unexpectedly. You can disable this and it won't register the exit handler.
[has-unicode]: https://www.npmjs.com/package/has-unicode
+[themes]: #themes
+[documentation]: #templates
-If **ansiStream** isn't passed in, then one will be constructed from stderr
-with `ansi(process.stderr)`.
+#### `gauge.show(section | status, [completed])`
-### `gauge.show([name, [completed]])`
+The first argument is either the section, the name of the current thing
+contributing to progress, or an object with keys like **section**,
+**subsection** & **completed** (or any others you have types for in a custom
+template). If you don't want to update or set any of these you can pass
+`null` and it will be ignored.
-* **name** – *(optional)* The name of the current thing contributing to progress. Defaults to the last value used, or "".
-* **completed** – *(optional)* The portion completed as a value between 0 and 1. Defaults to the last value used, or 0.
+The second argument is the percent completed as a value between 0 and 1.
+Without it, completion is just not updated. You'll also note that completion
+can be passed in as part of a status object as the first argument. If both
+it and the completed argument are passed in, the completed argument wins.
-If `process.stdout.isTTY` is false then this does nothing. If completed is 0
-and `gauge.pulse` has never been called, then similarly nothing will be printed.
+#### `gauge.hide([cb])`
-If `maxUpdateFrequency` msec haven't passed since the last call to `show` or
-`pulse` then similarly, nothing will be printed. (Actually, the update is
-deferred until `maxUpdateFrequency` msec have passed and if nothing else has
-happened, the gauge update will happen.)
+Removes the gauge from the terminal. Optionally, callback `cb` after IO has
+had an opportunity to happen (currently this just means after `setImmediate`
+has called back.)
-### `gauge.hide()`
+It turns out this is important when you're pausing the progress bar on one
+filehandle and printing to another– otherwise (with a big enough print) node
+can end up printing the "end progress bar" bits to the progress bar filehandle
+while other stuff is printing to another filehandle. These getting interleaved
+can cause corruption in some terminals.
-Removes the gauge from the terminal.
+#### `gauge.pulse([subsection])`
-### `gauge.pulse([name])`
+* **subsection** – *(optional)* The specific thing that triggered this pulse
-* **name** – *(optional)* The specific thing that triggered this pulse
+Spins the spinner in the gauge to show output. If **subsection** is
+included then it will be combined with the last name passed to `gauge.show`.
-Spins the spinner in the gauge to show output. If **name** is included then
-it will be combined with the last name passed to `gauge.show` using the
-subsection property of the theme (typically a right facing arrow).
-
-### `gauge.disable()`
+#### `gauge.disable()`
Hides the gauge and ignores further calls to `show` or `pulse`.
-### `gauge.enable()`
+#### `gauge.enable()`
Shows the gauge and resumes updating when `show` or `pulse` is called.
-### `gauge.setTheme(theme)`
+#### `gauge.setThemeset(themes)`
+
+Change the themeset to select a theme from. The same as the `themes` option
+used in the constructor. The theme will be reselected from this themeset.
-Change the active theme, will be displayed with the next show or pulse
+#### `gauge.setTheme(theme)`
-### `gauge.setTemplate(template)`
+Change the active theme, will be displayed with the next show or pulse. This can be:
+
+* Theme object, in which case the **themes** is not used.
+* The name of a theme, which will be looked up in the current *themes*
+ object.
+* A configuration object with any of `hasUnicode`, `hasColor` or
+ `platform` keys, which if wlll be used to override our guesses when making
+ a default theme selection.
+
+If no theme is selected then a default is picked using a combination of our
+best guesses at your OS, color support and unicode support.
+
+#### `gauge.setTemplate(template)`
Change the active template, will be displayed with the next show or pulse
-### Theme Objects
+### Tracking Completion
+
+If you have more than one thing going on that you want to track completion
+of, you may find the related [are-we-there-yet] helpful. It's `change`
+event can be wired up to the `show` method to get a more traditional
+progress bar interface.
+
+[are-we-there-yet]: https://www.npmjs.com/package/are-we-there-yet
+
+### THEMES
+
+```
+var themes = require('gauge/themes')
+
+// fetch the default color unicode theme for this platform
+var ourTheme = themes({hasUnicode: true, hasColor: true})
+
+// fetch the default non-color unicode theme for osx
+var ourTheme = themes({hasUnicode: true, hasColor: false, platform: 'darwin'})
+
+// create a new theme based on the color ascii theme for this platform
+// that brackets the progress bar with arrows
+var ourTheme = themes.newTheme(theme(hasUnicode: false, hasColor: true}), {
+ preProgressbar: '→',
+ postProgressbar: '←'
+})
+```
+
+The object returned by `gauge/themes` is an instance of the `ThemeSet` class.
+
+```
+var ThemeSet = require('gauge/theme-set')
+var themes = new ThemeSet()
+// or
+var themes = require('gauge/themes')
+var mythemes = themes.newThemeset() // creates a new themeset based on the default themes
+```
+
+#### themes(opts)
+#### themes.getDefault(opts)
+
+Theme objects are a function that fetches the default theme based on
+platform, unicode and color support.
+
+Options is an object with the following properties:
+
+* **hasUnicode** - If true, fetch a unicode theme, if no unicode theme is
+ available then a non-unicode theme will be used.
+* **hasColor** - If true, fetch a color theme, if no color theme is
+ available a non-color theme will be used.
+* **platform** (optional) - Defaults to `process.platform`. If no
+ platform match is available then `fallback` is used instead.
+
+If no compatible theme can be found then an error will be thrown with a
+`code` of `EMISSINGTHEME`.
+
+#### themes.addTheme(themeName, themeObj)
+#### themes.addTheme(themeName, [parentTheme], newTheme)
+
+Adds a named theme to the themeset. You can pass in either a theme object,
+as returned by `themes.newTheme` or the arguments you'd pass to
+`themes.newTheme`.
+
+#### themes.getThemeNames()
-There are two theme objects available as a part of the module, `Gauge.unicode` and `Gauge.ascii`.
-Theme objects have the follow properties:
+Return a list of all of the names of the themes in this themeset. Suitable
+for use in `themes.getTheme(…)`.
-| Property | Unicode | ASCII |
-| ---------- | ------- | ----- |
-| startgroup | ╢ | \| |
-| endgroup | ╟ | \| |
-| complete | █ | # |
-| incomplete | ░ | - |
-| spinner | ▀▐▄▌ | -\\\|/ |
-| subsection | → | -> |
+#### themes.getTheme(name)
-*startgroup*, *endgroup* and *subsection* can be as many characters as you want.
+Returns the theme object from this theme set named `name`.
-*complete* and *incomplete* should be a single character width each.
+If `name` does not exist in this themeset an error will be thrown with
+a `code` of `EMISSINGTHEME`.
-*spinner* is a list of characters to use in turn when displaying an activity
-spinner. The Gauge will spin as many characters as you give here.
+#### themes.setDefault([opts], themeName)
-### Template Objects
+`opts` is an object with the following properties.
+
+* **platform** - Defaults to `'fallback'`. If your theme is platform
+ specific, specify that here with the platform from `process.platform`, eg,
+ `win32`, `darwin`, etc.
+* **hasUnicode** - Defaults to `false`. If your theme uses unicode you
+ should set this to true.
+* **hasColor** - Defaults to `false`. If your theme uses color you should
+ set this to true.
+
+`themeName` is the name of the theme (as given to `addTheme`) to use for
+this set of `opts`.
+
+#### themes.newTheme([parentTheme,] newTheme)
+
+Create a new theme object based on `parentTheme`. If no `parentTheme` is
+provided then a minimal parentTheme that defines functions for rendering the
+activity indicator (spinner) and progress bar will be defined. (This
+fallback parent is defined in `gauge/base-theme`.)
+
+newTheme should be a bare object– we'll start by discussing the properties
+defined by the default themes:
+
+* **preProgressbar** - displayed prior to the progress bar, if the progress
+ bar is displayed.
+* **postProgressbar** - displayed after the progress bar, if the progress bar
+ is displayed.
+* **progressBarTheme** - The subtheme passed through to the progress bar
+ renderer, it's an object with `complete` and `remaining` properties
+ that are the strings you want repeated for those sections of the progress
+ bar.
+* **activityIndicatorTheme** - The theme for the activity indicator (spinner),
+ this can either be a string, in which each character is a different step, or
+ an array of strings.
+* **preSubsection** - Displayed as a separator between the `section` and
+ `subsection` when the latter is printed.
+
+More generally, themes can have any value that would be a valid value when rendering
+templates. The properties in the theme are used when their name matches a type in
+the template. Their values can be:
+
+* **strings & numbers** - They'll be included as is
+* **function (values, theme, width)** - Should return what you want in your output.
+ *values* is an object with values provided via `gauge.show`,
+ *theme* is the theme specific to this item (see below) or this theme object,
+ and *width* is the number of characters wide your result should be.
+
+There are a couple of special prefixes:
+
+* **pre** - Is shown prior to the property, if its displayed.
+* **post** - Is shown after the property, if its displayed.
+
+And one special suffix:
+
+* **Theme** - Its value is passed to a function-type item as the theme.
+
+#### themes.addToAllThemes(theme)
+
+This *mixes-in* `theme` into all themes currently defined. It also adds it
+to the default parent theme for this themeset, so future themes added to
+this themeset will get the values from `theme` by default.
+
+#### themes.newThemeset()
+
+Copy the current themeset into a new one. This allows you to easily inherit
+one themeset from another.
+
+### TEMPLATES
A template is an array of objects and strings that, after being evaluated,
will be turned into the gauge line. The default template is:
```javascript
[
- {type: "name", separated: true, maxLength: 25, minLength: 25, align: "left"},
- {type: "spinner", separated: true},
- {type: "startgroup"},
- {type: "completionbar"},
- {type: "endgroup"}
+ {type: 'progressbar', length: 20},
+ {type: 'activityIndicator', kerning: 1, length: 1},
+ {type: 'section', kerning: 1, default: ''},
+ {type: 'subsection', kerning: 1, default: ''}
]
```
The various template elements can either be **plain strings**, in which case they will
-be be included verbatum in the output.
-
-If the template element is an object, it can have the following keys:
-
-* *type* can be:
- * `name` – The most recent name passed to `show`; if this is in response to a
- `pulse` then the name passed to `pulse` will be appended along with the
- subsection property from the theme.
- * `spinner` – If you've ever called `pulse` this will be one of the characters
- from the spinner property of the theme.
- * `startgroup` – The `startgroup` property from the theme.
- * `completionbar` – This progress bar itself
- * `endgroup` – The `endgroup` property from the theme.
-* *separated* – If true, the element will be separated with spaces from things on
- either side (and margins count as space, so it won't be indented), but only
- if its included.
+be be included verbatum in the output, or objects with the following properties:
+
+* *type* can be any of the following plus any keys you pass into `gauge.show` plus
+ any keys you have on a custom theme.
+ * `section` – What big thing you're working on now.
+ * `subsection` – What component of that thing is currently working.
+ * `activityIndicator` – Shows a spinner using the `activityIndicatorTheme`
+ from your active theme.
+ * `progressbar` – A progress bar representing your current `completed`
+ using the `progressbarTheme` from your active theme.
+* *kerning* – Number of spaces that must be between this item and other
+ items, if this item is displayed at all.
* *maxLength* – The maximum length for this element. If its value is longer it
will be truncated.
* *minLength* – The minimum length for this element. If its value is shorter it
@@ -155,12 +347,49 @@ If the template element is an object, it can have the following keys:
as you'd expect from word processors.
* *length* – Provides a single value for both *minLength* and *maxLength*. If both
*length* and *minLength or *maxLength* are specifed then the latter take precedence.
+* *value* – A literal value to use for this template item.
+* *default* – A default value to use for this template item if a value
+ wasn't otherwise passed in.
-### Tracking Completion
+### PLUMBING
-If you have more than one thing going on that you want to track completion
-of, you may find the related [are-we-there-yet] helpful. It's `change`
-event can be wired up to the `show` method to get a more traditional
-progress bar interface.
+This is the super simple, assume nothing, do no magic internals used by gauge to
+implement its ordinary interface.
-[are-we-there-yet]: https://www.npmjs.com/package/are-we-there-yet
+```
+var Plumbing = require('gauge/plumbing')
+var gauge = new Plumbing(theme, template, width)
+```
+
+* **theme**: The theme to use.
+* **template**: The template to use.
+* **width**: How wide your gauge should be
+
+#### `gauge.setTheme(theme)`
+
+Change the active theme.
+
+#### `gauge.setTemplate(template)`
+
+Change the active template.
+
+#### `gauge.setWidth(width)`
+
+Change the width to render at.
+
+#### `gauge.hide()`
+
+Return the string necessary to hide the progress bar
+
+#### `gauge.hideCursor()`
+
+Return a string to hide the cursor.
+
+#### `gauge.showCursor()`
+
+Return a string to show the cursor.
+
+#### `gauge.show(status)`
+
+Using `status` for values, render the provided template with the theme and return
+a string that is suitable for printing to update the gauge.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/base-theme.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/base-theme.js
new file mode 100644
index 0000000000..0b67638e02
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/base-theme.js
@@ -0,0 +1,14 @@
+'use strict'
+var spin = require('./spin.js')
+var progressBar = require('./progress-bar.js')
+
+module.exports = {
+ activityIndicator: function (values, theme, width) {
+ if (values.spun == null) return
+ return spin(theme, values.spun)
+ },
+ progressbar: function (values, theme, width) {
+ if (values.completed == null) return
+ return progressBar(theme, width, values.completed)
+ }
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/error.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/error.js
new file mode 100644
index 0000000000..d9914ba533
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/error.js
@@ -0,0 +1,24 @@
+'use strict'
+var util = require('util')
+
+var User = exports.User = function User (msg) {
+ var err = new Error(msg)
+ Error.captureStackTrace(err, User)
+ err.code = 'EGAUGE'
+ return err
+}
+
+exports.MissingTemplateValue = function MissingTemplateValue (item, values) {
+ var err = new User(util.format('Missing template value "%s"', item.type))
+ Error.captureStackTrace(err, MissingTemplateValue)
+ err.template = item
+ err.values = values
+ return err
+}
+
+exports.Internal = function Internal (msg) {
+ var err = new Error(msg)
+ Error.captureStackTrace(err, Internal)
+ err.code = 'EGAUGEINTERNAL'
+ return err
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/example.png b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/example.png
deleted file mode 100644
index 2667cac459..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/example.png
+++ /dev/null
Binary files differ
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/has-color.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/has-color.js
new file mode 100644
index 0000000000..e283a256f2
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/has-color.js
@@ -0,0 +1,12 @@
+'use strict'
+
+module.exports = isWin32() || isColorTerm()
+
+function isWin32 () {
+ return process.platform === 'win32'
+}
+
+function isColorTerm () {
+ var termHasColor = /^screen|^xterm|^vt100|color|ansi|cygwin|linux/i
+ return !!process.env.COLORTERM || termHasColor.test(process.env.TERM)
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/index.js
new file mode 100644
index 0000000000..7eefb9507b
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/index.js
@@ -0,0 +1,226 @@
+'use strict'
+var Plumbing = require('./plumbing.js')
+var hasUnicode = require('has-unicode')
+var hasColor = require('./has-color.js')
+var onExit = require('signal-exit')
+var defaultThemes = require('./themes')
+var setInterval = require('./set-interval.js')
+var process = require('./process.js')
+var setImmediate = require('./set-immediate')
+
+module.exports = Gauge
+
+function callWith (obj, method) {
+ return function () {
+ return method.call(obj)
+ }
+}
+
+function Gauge (arg1, arg2) {
+ var options, writeTo
+ if (arg1 && arg1.write) {
+ writeTo = arg1
+ options = arg2 || {}
+ } else if (arg2 && arg2.write) {
+ writeTo = arg2
+ options = arg1 || {}
+ } else {
+ writeTo = process.stderr
+ options = arg1 || arg2 || {}
+ }
+
+ this._status = {
+ spun: 0,
+ section: '',
+ subsection: ''
+ }
+ this._paused = false // are we paused for back pressure?
+ this._disabled = true // are all progress bar updates disabled?
+ this._showing = false // do we WANT the progress bar on screen
+ this._onScreen = false // IS the progress bar on screen
+ this._needsRedraw = false // should we print something at next tick?
+ this._hideCursor = options.hideCursor == null ? true : options.hideCursor
+ this._fixedFramerate = options.fixedFramerate == null
+ ? !(/^v0\.8\./.test(process.version))
+ : options.fixedFramerate
+ this._lastUpdateAt = null
+ this._updateInterval = options.updateInterval == null ? 50 : options.updateInterval
+
+ this._themes = options.themes || defaultThemes
+ this._theme = options.theme
+ var theme = this._computeTheme(options.theme)
+ var template = options.template || [
+ {type: 'progressbar', length: 20},
+ {type: 'activityIndicator', kerning: 1, length: 1},
+ {type: 'section', kerning: 1, default: ''},
+ {type: 'subsection', kerning: 1, default: ''}
+ ]
+ this.setWriteTo(writeTo, options.tty)
+ var PlumbingClass = options.Plumbing || Plumbing
+ this._gauge = new PlumbingClass(theme, template, this.getWidth())
+
+ this._$$doRedraw = callWith(this, this._doRedraw)
+ this._$$handleSizeChange = callWith(this, this._handleSizeChange)
+
+ if (options.cleanupOnExit == null || options.cleanupOnExit) {
+ onExit(callWith(this, this.disable))
+ }
+
+ if (options.enabled || (options.enabled == null && this._tty && this._tty.isTTY)) {
+ this.enable()
+ } else {
+ this.disable()
+ }
+}
+Gauge.prototype = {}
+
+Gauge.prototype.setTemplate = function (template) {
+ this._gauge.setTemplate(template)
+ if (this._showing) this._requestRedraw()
+}
+
+Gauge.prototype._computeTheme = function (theme) {
+ if (!theme) theme = {}
+ if (theme && (Object.keys(theme).length === 0 || theme.hasUnicode != null || theme.hasColor != null)) {
+ var useUnicode = theme.hasUnicode == null ? hasUnicode() : theme.hasUnicode
+ var useColor = theme.hasColor == null ? hasColor : theme.hasColor
+ theme = this._themes.getDefault({hasUnicode: useUnicode, hasColor: useColor, platform: theme.platform})
+ } else if (typeof theme === 'string') {
+ theme = this._themes.getTheme(theme)
+ }
+ return theme
+}
+
+Gauge.prototype.setThemeset = function (themes) {
+ this._themes = themes
+ this.setTheme(this._theme)
+}
+
+Gauge.prototype.setTheme = function (theme) {
+ this._gauge.setTheme(this._computeTheme(theme))
+ if (this._showing) this._requestRedraw()
+ this._theme = theme
+}
+
+Gauge.prototype._requestRedraw = function () {
+ this._needsRedraw = true
+ if (!this._fixedFramerate) this._doRedraw()
+}
+
+Gauge.prototype.getWidth = function () {
+ return ((this._tty && this._tty.columns) || 80) - 1
+}
+
+Gauge.prototype.setWriteTo = function (writeTo, tty) {
+ var enabled = !this._disabled
+ if (enabled) this.disable()
+ this._writeTo = writeTo
+ this._tty = tty ||
+ (writeTo === process.stderr && process.stdout.isTTY && process.stdout) ||
+ (writeTo.isTTY && writeTo) ||
+ this._tty
+ if (this._gauge) this._gauge.setWidth(this.getWidth())
+ if (enabled) this.enable()
+}
+
+Gauge.prototype.enable = function () {
+ if (!this._disabled) return
+ this._disabled = false
+ if (this._tty) this._enableEvents()
+ if (this._showing) this.show()
+}
+
+Gauge.prototype.disable = function () {
+ if (this._disabled) return
+ if (this._showing) {
+ this._lastUpdateAt = null
+ this._showing = false
+ this._doRedraw()
+ this._showing = true
+ }
+ this._disabled = true
+ if (this._tty) this._disableEvents()
+}
+
+Gauge.prototype._enableEvents = function () {
+ this._tty.on('resize', this._$$handleSizeChange)
+ if (this._fixedFramerate) {
+ this.redrawTracker = setInterval(this._$$doRedraw, this._updateInterval)
+ if (this.redrawTracker.unref) this.redrawTracker.unref()
+ }
+}
+
+Gauge.prototype._disableEvents = function () {
+ this._tty.removeListener('resize', this._$$handleSizeChange)
+ if (this._fixedFramerate) clearInterval(this.redrawTracker)
+}
+
+Gauge.prototype.hide = function (cb) {
+ if (this._disabled) return cb && process.nextTick(cb)
+ if (!this._showing) return cb && process.nextTick(cb)
+ this._showing = false
+ this._doRedraw()
+ cb && setImmediate(cb)
+}
+
+Gauge.prototype.show = function (section, completed) {
+ if (this._disabled) return
+ this._showing = true
+ if (typeof section === 'string') {
+ this._status.section = section
+ } else if (typeof section === 'object') {
+ var sectionKeys = Object.keys(section)
+ for (var ii = 0; ii < sectionKeys.length; ++ii) {
+ var key = sectionKeys[ii]
+ this._status[key] = section[key]
+ }
+ }
+ if (completed != null) this._status.completed = completed
+ this._requestRedraw()
+}
+
+Gauge.prototype.pulse = function (subsection) {
+ if (this._disabled) return
+ if (!this._showing) return
+ this._status.subsection = subsection || ''
+ this._status.spun ++
+ this._requestRedraw()
+}
+
+Gauge.prototype._handleSizeChange = function () {
+ this._gauge.setWidth(this._tty.columns - 1)
+ this._requestRedraw()
+}
+
+Gauge.prototype._doRedraw = function () {
+ if (this._disabled || this._paused) return
+ if (!this._fixedFramerate) {
+ var now = Date.now()
+ if (this._lastUpdateAt && now - this._lastUpdateAt < this._updateInterval) return
+ this._lastUpdateAt = now
+ }
+ if (!this._showing && this._onScreen) {
+ this._onScreen = false
+ var result = this._gauge.hide()
+ if (this._hideCursor) {
+ result += this._gauge.showCursor()
+ }
+ return this._writeTo.write(result)
+ }
+ if (!this._showing && !this._onScreen) return
+ if (this._showing && !this._onScreen) {
+ this._onScreen = true
+ this._needsRedraw = true
+ if (this._hideCursor) {
+ this._writeTo.write(this._gauge.hideCursor())
+ }
+ }
+ if (!this._needsRedraw) return
+ if (!this._writeTo.write(this._gauge.show(this._status))) {
+ this._paused = true
+ this._writeTo.on('drain', callWith(this, function () {
+ this._paused = false
+ this._doRedraw()
+ }))
+ }
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/index.js
new file mode 100644
index 0000000000..092d0baef6
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/index.js
@@ -0,0 +1,32 @@
+'use strict';
+module.exports = (function () {
+ if (process.argv.indexOf('--no-color') !== -1) {
+ return false;
+ }
+
+ if (process.argv.indexOf('--color') !== -1) {
+ return true;
+ }
+
+ if (process.stdout && !process.stdout.isTTY) {
+ return false;
+ }
+
+ if (process.platform === 'win32') {
+ return true;
+ }
+
+ if ('COLORTERM' in process.env) {
+ return true;
+ }
+
+ if (process.env.TERM === 'dumb') {
+ return false;
+ }
+
+ if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) {
+ return true;
+ }
+
+ return false;
+})();
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/package.json
new file mode 100644
index 0000000000..7ca2bd4e10
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/package.json
@@ -0,0 +1,117 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "has-color@^0.1.7",
+ "scope": null,
+ "escapedName": "has-color",
+ "name": "has-color",
+ "rawSpec": "^0.1.7",
+ "spec": ">=0.1.7 <0.2.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge"
+ ],
+ [
+ {
+ "raw": "has-color@^0.1.7",
+ "scope": null,
+ "escapedName": "has-color",
+ "name": "has-color",
+ "rawSpec": "^0.1.7",
+ "spec": ">=0.1.7 <0.2.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
+ ]
+ ],
+ "_from": "has-color@^0.1.7",
+ "_id": "has-color@0.1.7",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/has-color",
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "1.4.6",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "has-color@^0.1.7",
+ "scope": null,
+ "escapedName": "has-color",
+ "name": "has-color",
+ "rawSpec": "^0.1.7",
+ "spec": ">=0.1.7 <0.2.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge"
+ ],
+ "_resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
+ "_shasum": "67144a5260c34fc3cca677d041daf52fe7b78b2f",
+ "_shrinkwrap": null,
+ "_spec": "has-color@^0.1.7",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "http://sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/has-color/issues"
+ },
+ "dependencies": {},
+ "description": "Detect whether a terminal supports color",
+ "devDependencies": {
+ "mocha": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "67144a5260c34fc3cca677d041daf52fe7b78b2f",
+ "tarball": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "homepage": "https://github.com/sindresorhus/has-color",
+ "keywords": [
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "cli",
+ "ansi",
+ "styles",
+ "tty",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "command-line",
+ "support",
+ "capability",
+ "detect"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "has-color",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/sindresorhus/has-color.git"
+ },
+ "scripts": {
+ "test": "mocha"
+ },
+ "version": "0.1.7"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/readme.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/readme.md
new file mode 100644
index 0000000000..37bbd8991a
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/has-color/readme.md
@@ -0,0 +1,30 @@
+# has-color [![Build Status](https://travis-ci.org/sindresorhus/has-color.svg?branch=master)](https://travis-ci.org/sindresorhus/has-color)
+
+> Detect whether a terminal supports color.
+
+Used in the terminal color module [chalk](https://github.com/sindresorhus/chalk).
+
+
+## Install
+
+```bash
+$ npm install --save has-color
+```
+
+
+## Usage
+
+```js
+var hasColor = require('has-color');
+
+if (hasColor) {
+ console.log('Terminal supports color.');
+}
+```
+
+It obeys the `--color` and `--no-color` CLI flags.
+
+
+## License
+
+[MIT](http://opensource.org/licenses/MIT) © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/README.md
deleted file mode 100644
index 57fb585913..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash.pad v4.4.0
-
-The [lodash](https://lodash.com/) method `_.pad` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash.pad
-```
-
-In Node.js:
-```js
-var pad = require('lodash.pad');
-```
-
-See the [documentation](https://lodash.com/docs#pad) or [package source](https://github.com/lodash/lodash/blob/4.4.0-npm-packages/lodash.pad) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/index.js
deleted file mode 100644
index 876fbb9674..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/index.js
+++ /dev/null
@@ -1,434 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-var baseSlice = require('lodash._baseslice'),
- baseToString = require('lodash._basetostring'),
- toString = require('lodash.tostring');
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0,
- MAX_SAFE_INTEGER = 9007199254740991,
- MAX_INTEGER = 1.7976931348623157e+308,
- NAN = 0 / 0;
-
-/** `Object#toString` result references. */
-var funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]',
- symbolTag = '[object Symbol]';
-
-/** Used to match leading and trailing whitespace. */
-var reTrim = /^\s+|\s+$/g;
-
-/** Used to detect bad signed hexadecimal string values. */
-var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
-
-/** Used to detect binary string values. */
-var reIsBinary = /^0b[01]+$/i;
-
-/** Used to detect octal string values. */
-var reIsOctal = /^0o[0-7]+$/i;
-
-/** Used to compose unicode character classes. */
-var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
- rsVarRange = '\\ufe0e\\ufe0f';
-
-/** Used to compose unicode capture groups. */
-var rsAstral = '[' + rsAstralRange + ']',
- rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
- rsFitz = '\\ud83c[\\udffb-\\udfff]',
- rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
- rsNonAstral = '[^' + rsAstralRange + ']',
- rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
- rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
- rsZWJ = '\\u200d';
-
-/** Used to compose unicode regexes. */
-var reOptMod = rsModifier + '?',
- rsOptVar = '[' + rsVarRange + ']?',
- rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
- rsSeq = rsOptVar + reOptMod + rsOptJoin,
- rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
-
-/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
-var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
-
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
-/** Built-in method references without a dependency on `root`. */
-var freeParseInt = parseInt;
-
-/**
- * Gets the number of symbols in `string`.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {number} Returns the string size.
- */
-function stringSize(string) {
- if (!(string && reHasComplexSymbol.test(string))) {
- return string.length;
- }
- var result = reComplexSymbol.lastIndex = 0;
- while (reComplexSymbol.test(string)) {
- result++;
- }
- return result;
-}
-
-/**
- * Converts `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
-function stringToArray(string) {
- return string.match(reComplexSymbol);
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/* Built-in method references for those with the same name as other `lodash` methods. */
-var nativeCeil = Math.ceil,
- nativeFloor = Math.floor;
-
-/**
- * The base implementation of `_.repeat` which doesn't coerce arguments.
- *
- * @private
- * @param {string} string The string to repeat.
- * @param {number} n The number of times to repeat the string.
- * @returns {string} Returns the repeated string.
- */
-function baseRepeat(string, n) {
- var result = '';
- if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
- return result;
- }
- // Leverage the exponentiation by squaring algorithm for a faster repeat.
- // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
- do {
- if (n % 2) {
- result += string;
- }
- n = nativeFloor(n / 2);
- if (n) {
- string += string;
- }
- } while (n);
-
- return result;
-}
-
-/**
- * Casts `array` to a slice if it's needed.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {number} start The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the cast slice.
- */
-function castSlice(array, start, end) {
- var length = array.length;
- end = end === undefined ? length : end;
- return (!start && end >= length) ? array : baseSlice(array, start, end);
-}
-
-/**
- * Creates the padding for `string` based on `length`. The `chars` string
- * is truncated if the number of characters exceeds `length`.
- *
- * @private
- * @param {number} length The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padding for `string`.
- */
-function createPadding(length, chars) {
- chars = chars === undefined ? ' ' : baseToString(chars);
-
- var charsLength = chars.length;
- if (charsLength < 2) {
- return charsLength ? baseRepeat(chars, length) : chars;
- }
- var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
- return reHasComplexSymbol.test(chars)
- ? castSlice(stringToArray(result), 0, length).join('')
- : result.slice(0, length);
-}
-
-/**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
-function isFunction(value) {
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8 which returns 'object' for typed array and weak map constructors,
- // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
- var tag = isObject(value) ? objectToString.call(value) : '';
- return tag == funcTag || tag == genTag;
-}
-
-/**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
-function isObject(value) {
- var type = typeof value;
- return !!value && (type == 'object' || type == 'function');
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-/**
- * Converts `value` to a finite number.
- *
- * @static
- * @memberOf _
- * @since 4.12.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted number.
- * @example
- *
- * _.toFinite(3.2);
- * // => 3.2
- *
- * _.toFinite(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toFinite(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toFinite('3.2');
- * // => 3.2
- */
-function toFinite(value) {
- if (!value) {
- return value === 0 ? value : 0;
- }
- value = toNumber(value);
- if (value === INFINITY || value === -INFINITY) {
- var sign = (value < 0 ? -1 : 1);
- return sign * MAX_INTEGER;
- }
- return value === value ? value : 0;
-}
-
-/**
- * Converts `value` to an integer.
- *
- * **Note:** This function is loosely based on
- * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toInteger(3.2);
- * // => 3
- *
- * _.toInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toInteger(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toInteger('3.2');
- * // => 3
- */
-function toInteger(value) {
- var result = toFinite(value),
- remainder = result % 1;
-
- return result === result ? (remainder ? result - remainder : result) : 0;
-}
-
-/**
- * Converts `value` to a number.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- * @example
- *
- * _.toNumber(3.2);
- * // => 3.2
- *
- * _.toNumber(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toNumber(Infinity);
- * // => Infinity
- *
- * _.toNumber('3.2');
- * // => 3.2
- */
-function toNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = isFunction(value.valueOf) ? value.valueOf() : value;
- value = isObject(other) ? (other + '') : other;
- }
- if (typeof value != 'string') {
- return value === 0 ? value : +value;
- }
- value = value.replace(reTrim, '');
- var isBinary = reIsBinary.test(value);
- return (isBinary || reIsOctal.test(value))
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
- : (reIsBadHex.test(value) ? NAN : +value);
-}
-
-/**
- * Pads `string` on the left and right sides if it's shorter than `length`.
- * Padding characters are truncated if they can't be evenly divided by `length`.
- *
- * @static
- * @memberOf _
- * @since 3.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.pad('abc', 8);
- * // => ' abc '
- *
- * _.pad('abc', 8, '_-');
- * // => '_-abc_-_'
- *
- * _.pad('abc', 3);
- * // => 'abc'
- */
-function pad(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- if (!length || strLength >= length) {
- return string;
- }
- var mid = (length - strLength) / 2;
- return (
- createPadding(nativeFloor(mid), chars) +
- string +
- createPadding(nativeCeil(mid), chars)
- );
-}
-
-module.exports = pad;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/LICENSE
deleted file mode 100644
index b054ca5a3a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
-Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/README.md
deleted file mode 100644
index 8cd4181ccd..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash._baseslice v4.0.0
-
-The internal [lodash](https://lodash.com/) function `baseSlice` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash._baseslice
-```
-
-In Node.js:
-```js
-var baseSlice = require('lodash._baseslice');
-```
-
-See the [package source](https://github.com/lodash/lodash/blob/4.0.0-npm-packages/lodash._baseslice) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/index.js
deleted file mode 100644
index 59293c3d00..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/index.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * lodash 4.0.0 (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <https://lodash.com/license>
- */
-
-/**
- * The base implementation of `_.slice` without an iteratee call guard.
- *
- * @private
- * @param {Array} array The array to slice.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the slice of `array`.
- */
-function baseSlice(array, start, end) {
- var index = -1,
- length = array.length;
-
- if (start < 0) {
- start = -start > length ? 0 : (length + start);
- }
- end = end > length ? length : end;
- if (end < 0) {
- end += length;
- }
- length = start > end ? 0 : ((end - start) >>> 0);
- start >>>= 0;
-
- var result = Array(length);
- while (++index < length) {
- result[index] = array[index + start];
- }
- return result;
-}
-
-module.exports = baseSlice;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/package.json
deleted file mode 100644
index 3be3e7b990..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._baseslice/package.json
+++ /dev/null
@@ -1,104 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ]
- ],
- "_from": "lodash._baseslice@>=4.0.0 <4.1.0",
- "_id": "lodash._baseslice@4.0.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.pad/lodash._baseslice",
- "_nodeVersion": "5.4.0",
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.14.15",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.pad"
- ],
- "_resolved": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz",
- "_shasum": "f5ce1df982948ecaff63f223853415b7b9763704",
- "_shrinkwrap": null,
- "_spec": "lodash._baseslice@~4.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The internal lodash function `baseSlice` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "f5ce1df982948ecaff63f223853415b7b9763704",
- "tarball": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "phated"
- }
- ],
- "name": "lodash._baseslice",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.0.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/README.md
deleted file mode 100644
index ba060c94da..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash._basetostring v4.12.0
-
-The internal [lodash](https://lodash.com/) function `baseToString` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash._basetostring
-```
-
-In Node.js:
-```js
-var baseToString = require('lodash._basetostring');
-```
-
-See the [package source](https://github.com/lodash/lodash/blob/4.12.0-npm-packages/lodash._basetostring) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/index.js
deleted file mode 100644
index d584810749..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/index.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0;
-
-/** `Object#toString` result references. */
-var symbolTag = '[object Symbol]';
-
-/** Used to determine if values are of the language type `Object`. */
-var objectTypes = {
- 'function': true,
- 'object': true
-};
-
-/** Detect free variable `exports`. */
-var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
- ? exports
- : undefined;
-
-/** Detect free variable `module`. */
-var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
- ? module
- : undefined;
-
-/** Detect free variable `global` from Node.js. */
-var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
-
-/** Detect free variable `self`. */
-var freeSelf = checkGlobal(objectTypes[typeof self] && self);
-
-/** Detect free variable `window`. */
-var freeWindow = checkGlobal(objectTypes[typeof window] && window);
-
-/** Detect `this` as the global object. */
-var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
-
-/**
- * Used as a reference to the global object.
- *
- * The `this` value is used if it's the global object to avoid Greasemonkey's
- * restricted `window` object, otherwise the `window` object is used.
- */
-var root = freeGlobal ||
- ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
- freeSelf || thisGlobal || Function('return this')();
-
-/**
- * Checks if `value` is a global object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {null|Object} Returns `value` if it's a global object, else `null`.
- */
-function checkGlobal(value) {
- return (value && value.Object === Object) ? value : null;
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/** Built-in value references. */
-var Symbol = root.Symbol;
-
-/** Used to convert symbols to primitives and strings. */
-var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
-/**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-module.exports = baseToString;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/package.json
deleted file mode 100644
index afe25bfc79..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash._basetostring/package.json
+++ /dev/null
@@ -1,108 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ]
- ],
- "_from": "lodash._basetostring@>=4.12.0 <4.13.0",
- "_id": "lodash._basetostring@4.12.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.pad/lodash._basetostring",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/lodash._basetostring-4.12.0.tgz_1463062033665_0.6722894972190261"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.pad"
- ],
- "_resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz",
- "_shasum": "9327c9dc5158866b7fa4b9d42f4638e5766dd9df",
- "_shrinkwrap": null,
- "_spec": "lodash._basetostring@~4.12.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The internal lodash function `baseToString` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "9327c9dc5158866b7fa4b9d42f4638e5766dd9df",
- "tarball": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "phated"
- }
- ],
- "name": "lodash._basetostring",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.12.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/README.md
deleted file mode 100644
index 75aa6b0699..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash.tostring v4.1.3
-
-The [lodash](https://lodash.com/) method `_.toString` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash.tostring
-```
-
-In Node.js:
-```js
-var toString = require('lodash.tostring');
-```
-
-See the [documentation](https://lodash.com/docs#toString) or [package source](https://github.com/lodash/lodash/blob/4.1.3-npm-packages/lodash.tostring) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/index.js
deleted file mode 100644
index 8a2cde3929..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/index.js
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0;
-
-/** `Object#toString` result references. */
-var symbolTag = '[object Symbol]';
-
-/** Used to determine if values are of the language type `Object`. */
-var objectTypes = {
- 'function': true,
- 'object': true
-};
-
-/** Detect free variable `exports`. */
-var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
- ? exports
- : undefined;
-
-/** Detect free variable `module`. */
-var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
- ? module
- : undefined;
-
-/** Detect free variable `global` from Node.js. */
-var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
-
-/** Detect free variable `self`. */
-var freeSelf = checkGlobal(objectTypes[typeof self] && self);
-
-/** Detect free variable `window`. */
-var freeWindow = checkGlobal(objectTypes[typeof window] && window);
-
-/** Detect `this` as the global object. */
-var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
-
-/**
- * Used as a reference to the global object.
- *
- * The `this` value is used if it's the global object to avoid Greasemonkey's
- * restricted `window` object, otherwise the `window` object is used.
- */
-var root = freeGlobal ||
- ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
- freeSelf || thisGlobal || Function('return this')();
-
-/**
- * Checks if `value` is a global object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {null|Object} Returns `value` if it's a global object, else `null`.
- */
-function checkGlobal(value) {
- return (value && value.Object === Object) ? value : null;
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/** Built-in value references. */
-var Symbol = root.Symbol;
-
-/** Used to convert symbols to primitives and strings. */
-var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
-/**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-/**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
-function toString(value) {
- return value == null ? '' : baseToString(value);
-}
-
-module.exports = toString;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/package.json
deleted file mode 100644
index 9b829d126b..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/node_modules/lodash.tostring/package.json
+++ /dev/null
@@ -1,112 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ]
- ],
- "_from": "lodash.tostring@>=4.0.0 <5.0.0",
- "_id": "lodash.tostring@4.1.3",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.pad/lodash.tostring",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/lodash.tostring-4.1.3.tgz_1463062634002_0.7874096168670803"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.pad"
- ],
- "_resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz",
- "_shasum": "5697f62973f30105a76c2deb3e2d1669f04fd825",
- "_shrinkwrap": null,
- "_spec": "lodash.tostring@^4.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The lodash method `_.toString` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "5697f62973f30105a76c2deb3e2d1669f04fd825",
- "tarball": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "keywords": [
- "lodash-modularized",
- "tostring"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "phated"
- }
- ],
- "name": "lodash.tostring",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.1.3"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json
deleted file mode 100644
index 077525ba2a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad/package.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash.pad",
- "raw": "lodash.pad@^4.1.0",
- "rawSpec": "^4.1.0",
- "scope": null,
- "spec": ">=4.1.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
- ]
- ],
- "_from": "lodash.pad@>=4.1.0 <5.0.0",
- "_id": "lodash.pad@4.4.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.pad",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/lodash.pad-4.4.0.tgz_1463062450475_0.3613762252498418"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash.pad",
- "raw": "lodash.pad@^4.1.0",
- "rawSpec": "^4.1.0",
- "scope": null,
- "spec": ">=4.1.0 <5.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge"
- ],
- "_resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz",
- "_shasum": "faa38df26c0a69ec5086a82246c958e150dcb1ab",
- "_shrinkwrap": null,
- "_spec": "lodash.pad@^4.1.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {
- "lodash._baseslice": "~4.0.0",
- "lodash._basetostring": "~4.12.0",
- "lodash.tostring": "^4.0.0"
- },
- "description": "The lodash method `_.pad` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "faa38df26c0a69ec5086a82246c958e150dcb1ab",
- "tarball": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "keywords": [
- "lodash-modularized",
- "pad"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "phated"
- }
- ],
- "name": "lodash.pad",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.4.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/README.md
deleted file mode 100644
index 909eef8f22..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash.padend v4.5.0
-
-The [lodash](https://lodash.com/) method `_.padEnd` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash.padend
-```
-
-In Node.js:
-```js
-var padEnd = require('lodash.padend');
-```
-
-See the [documentation](https://lodash.com/docs#padEnd) or [package source](https://github.com/lodash/lodash/blob/4.5.0-npm-packages/lodash.padend) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/index.js
deleted file mode 100644
index 5af50372e3..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/index.js
+++ /dev/null
@@ -1,428 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-var baseSlice = require('lodash._baseslice'),
- baseToString = require('lodash._basetostring'),
- toString = require('lodash.tostring');
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0,
- MAX_SAFE_INTEGER = 9007199254740991,
- MAX_INTEGER = 1.7976931348623157e+308,
- NAN = 0 / 0;
-
-/** `Object#toString` result references. */
-var funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]',
- symbolTag = '[object Symbol]';
-
-/** Used to match leading and trailing whitespace. */
-var reTrim = /^\s+|\s+$/g;
-
-/** Used to detect bad signed hexadecimal string values. */
-var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
-
-/** Used to detect binary string values. */
-var reIsBinary = /^0b[01]+$/i;
-
-/** Used to detect octal string values. */
-var reIsOctal = /^0o[0-7]+$/i;
-
-/** Used to compose unicode character classes. */
-var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
- rsVarRange = '\\ufe0e\\ufe0f';
-
-/** Used to compose unicode capture groups. */
-var rsAstral = '[' + rsAstralRange + ']',
- rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
- rsFitz = '\\ud83c[\\udffb-\\udfff]',
- rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
- rsNonAstral = '[^' + rsAstralRange + ']',
- rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
- rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
- rsZWJ = '\\u200d';
-
-/** Used to compose unicode regexes. */
-var reOptMod = rsModifier + '?',
- rsOptVar = '[' + rsVarRange + ']?',
- rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
- rsSeq = rsOptVar + reOptMod + rsOptJoin,
- rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
-
-/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
-var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
-
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
-/** Built-in method references without a dependency on `root`. */
-var freeParseInt = parseInt;
-
-/**
- * Gets the number of symbols in `string`.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {number} Returns the string size.
- */
-function stringSize(string) {
- if (!(string && reHasComplexSymbol.test(string))) {
- return string.length;
- }
- var result = reComplexSymbol.lastIndex = 0;
- while (reComplexSymbol.test(string)) {
- result++;
- }
- return result;
-}
-
-/**
- * Converts `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
-function stringToArray(string) {
- return string.match(reComplexSymbol);
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/* Built-in method references for those with the same name as other `lodash` methods. */
-var nativeCeil = Math.ceil,
- nativeFloor = Math.floor;
-
-/**
- * The base implementation of `_.repeat` which doesn't coerce arguments.
- *
- * @private
- * @param {string} string The string to repeat.
- * @param {number} n The number of times to repeat the string.
- * @returns {string} Returns the repeated string.
- */
-function baseRepeat(string, n) {
- var result = '';
- if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
- return result;
- }
- // Leverage the exponentiation by squaring algorithm for a faster repeat.
- // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
- do {
- if (n % 2) {
- result += string;
- }
- n = nativeFloor(n / 2);
- if (n) {
- string += string;
- }
- } while (n);
-
- return result;
-}
-
-/**
- * Casts `array` to a slice if it's needed.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {number} start The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the cast slice.
- */
-function castSlice(array, start, end) {
- var length = array.length;
- end = end === undefined ? length : end;
- return (!start && end >= length) ? array : baseSlice(array, start, end);
-}
-
-/**
- * Creates the padding for `string` based on `length`. The `chars` string
- * is truncated if the number of characters exceeds `length`.
- *
- * @private
- * @param {number} length The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padding for `string`.
- */
-function createPadding(length, chars) {
- chars = chars === undefined ? ' ' : baseToString(chars);
-
- var charsLength = chars.length;
- if (charsLength < 2) {
- return charsLength ? baseRepeat(chars, length) : chars;
- }
- var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
- return reHasComplexSymbol.test(chars)
- ? castSlice(stringToArray(result), 0, length).join('')
- : result.slice(0, length);
-}
-
-/**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
-function isFunction(value) {
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8 which returns 'object' for typed array and weak map constructors,
- // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
- var tag = isObject(value) ? objectToString.call(value) : '';
- return tag == funcTag || tag == genTag;
-}
-
-/**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
-function isObject(value) {
- var type = typeof value;
- return !!value && (type == 'object' || type == 'function');
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-/**
- * Converts `value` to a finite number.
- *
- * @static
- * @memberOf _
- * @since 4.12.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted number.
- * @example
- *
- * _.toFinite(3.2);
- * // => 3.2
- *
- * _.toFinite(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toFinite(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toFinite('3.2');
- * // => 3.2
- */
-function toFinite(value) {
- if (!value) {
- return value === 0 ? value : 0;
- }
- value = toNumber(value);
- if (value === INFINITY || value === -INFINITY) {
- var sign = (value < 0 ? -1 : 1);
- return sign * MAX_INTEGER;
- }
- return value === value ? value : 0;
-}
-
-/**
- * Converts `value` to an integer.
- *
- * **Note:** This function is loosely based on
- * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toInteger(3.2);
- * // => 3
- *
- * _.toInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toInteger(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toInteger('3.2');
- * // => 3
- */
-function toInteger(value) {
- var result = toFinite(value),
- remainder = result % 1;
-
- return result === result ? (remainder ? result - remainder : result) : 0;
-}
-
-/**
- * Converts `value` to a number.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- * @example
- *
- * _.toNumber(3.2);
- * // => 3.2
- *
- * _.toNumber(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toNumber(Infinity);
- * // => Infinity
- *
- * _.toNumber('3.2');
- * // => 3.2
- */
-function toNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = isFunction(value.valueOf) ? value.valueOf() : value;
- value = isObject(other) ? (other + '') : other;
- }
- if (typeof value != 'string') {
- return value === 0 ? value : +value;
- }
- value = value.replace(reTrim, '');
- var isBinary = reIsBinary.test(value);
- return (isBinary || reIsOctal.test(value))
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
- : (reIsBadHex.test(value) ? NAN : +value);
-}
-
-/**
- * Pads `string` on the right side if it's shorter than `length`. Padding
- * characters are truncated if they exceed `length`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.padEnd('abc', 6);
- * // => 'abc '
- *
- * _.padEnd('abc', 6, '_-');
- * // => 'abc_-_'
- *
- * _.padEnd('abc', 3);
- * // => 'abc'
- */
-function padEnd(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- return (length && strLength < length)
- ? (string + createPadding(length - strLength, chars))
- : string;
-}
-
-module.exports = padEnd;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/LICENSE
deleted file mode 100644
index b054ca5a3a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
-Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/README.md
deleted file mode 100644
index 8cd4181ccd..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash._baseslice v4.0.0
-
-The internal [lodash](https://lodash.com/) function `baseSlice` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash._baseslice
-```
-
-In Node.js:
-```js
-var baseSlice = require('lodash._baseslice');
-```
-
-See the [package source](https://github.com/lodash/lodash/blob/4.0.0-npm-packages/lodash._baseslice) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/index.js
deleted file mode 100644
index 59293c3d00..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/index.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * lodash 4.0.0 (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <https://lodash.com/license>
- */
-
-/**
- * The base implementation of `_.slice` without an iteratee call guard.
- *
- * @private
- * @param {Array} array The array to slice.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the slice of `array`.
- */
-function baseSlice(array, start, end) {
- var index = -1,
- length = array.length;
-
- if (start < 0) {
- start = -start > length ? 0 : (length + start);
- }
- end = end > length ? length : end;
- if (end < 0) {
- end += length;
- }
- length = start > end ? 0 : ((end - start) >>> 0);
- start >>>= 0;
-
- var result = Array(length);
- while (++index < length) {
- result[index] = array[index + start];
- }
- return result;
-}
-
-module.exports = baseSlice;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/package.json
deleted file mode 100644
index 69dbad217d..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._baseslice/package.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ],
- [
- {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend"
- ]
- ],
- "_from": "lodash._baseslice@~4.0.0",
- "_id": "lodash._baseslice@4.0.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padend/lodash._baseslice",
- "_nodeVersion": "5.4.0",
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.14.15",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.padend"
- ],
- "_resolved": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz",
- "_shasum": "f5ce1df982948ecaff63f223853415b7b9763704",
- "_shrinkwrap": null,
- "_spec": "lodash._baseslice@~4.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The internal lodash function `baseSlice` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "f5ce1df982948ecaff63f223853415b7b9763704",
- "tarball": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "phated"
- }
- ],
- "name": "lodash._baseslice",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.0.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/README.md
deleted file mode 100644
index ba060c94da..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash._basetostring v4.12.0
-
-The internal [lodash](https://lodash.com/) function `baseToString` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash._basetostring
-```
-
-In Node.js:
-```js
-var baseToString = require('lodash._basetostring');
-```
-
-See the [package source](https://github.com/lodash/lodash/blob/4.12.0-npm-packages/lodash._basetostring) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/index.js
deleted file mode 100644
index d584810749..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/index.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0;
-
-/** `Object#toString` result references. */
-var symbolTag = '[object Symbol]';
-
-/** Used to determine if values are of the language type `Object`. */
-var objectTypes = {
- 'function': true,
- 'object': true
-};
-
-/** Detect free variable `exports`. */
-var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
- ? exports
- : undefined;
-
-/** Detect free variable `module`. */
-var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
- ? module
- : undefined;
-
-/** Detect free variable `global` from Node.js. */
-var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
-
-/** Detect free variable `self`. */
-var freeSelf = checkGlobal(objectTypes[typeof self] && self);
-
-/** Detect free variable `window`. */
-var freeWindow = checkGlobal(objectTypes[typeof window] && window);
-
-/** Detect `this` as the global object. */
-var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
-
-/**
- * Used as a reference to the global object.
- *
- * The `this` value is used if it's the global object to avoid Greasemonkey's
- * restricted `window` object, otherwise the `window` object is used.
- */
-var root = freeGlobal ||
- ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
- freeSelf || thisGlobal || Function('return this')();
-
-/**
- * Checks if `value` is a global object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {null|Object} Returns `value` if it's a global object, else `null`.
- */
-function checkGlobal(value) {
- return (value && value.Object === Object) ? value : null;
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/** Built-in value references. */
-var Symbol = root.Symbol;
-
-/** Used to convert symbols to primitives and strings. */
-var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
-/**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-module.exports = baseToString;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/package.json
deleted file mode 100644
index 11810e2292..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash._basetostring/package.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ],
- [
- {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend"
- ]
- ],
- "_from": "lodash._basetostring@~4.12.0",
- "_id": "lodash._basetostring@4.12.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padend/lodash._basetostring",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/lodash._basetostring-4.12.0.tgz_1463062033665_0.6722894972190261"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.padend"
- ],
- "_resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz",
- "_shasum": "9327c9dc5158866b7fa4b9d42f4638e5766dd9df",
- "_shrinkwrap": null,
- "_spec": "lodash._basetostring@~4.12.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The internal lodash function `baseToString` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "9327c9dc5158866b7fa4b9d42f4638e5766dd9df",
- "tarball": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "phated"
- }
- ],
- "name": "lodash._basetostring",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.12.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md
deleted file mode 100644
index 75aa6b0699..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash.tostring v4.1.3
-
-The [lodash](https://lodash.com/) method `_.toString` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash.tostring
-```
-
-In Node.js:
-```js
-var toString = require('lodash.tostring');
-```
-
-See the [documentation](https://lodash.com/docs#toString) or [package source](https://github.com/lodash/lodash/blob/4.1.3-npm-packages/lodash.tostring) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js
deleted file mode 100644
index 8a2cde3929..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/index.js
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0;
-
-/** `Object#toString` result references. */
-var symbolTag = '[object Symbol]';
-
-/** Used to determine if values are of the language type `Object`. */
-var objectTypes = {
- 'function': true,
- 'object': true
-};
-
-/** Detect free variable `exports`. */
-var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
- ? exports
- : undefined;
-
-/** Detect free variable `module`. */
-var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
- ? module
- : undefined;
-
-/** Detect free variable `global` from Node.js. */
-var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
-
-/** Detect free variable `self`. */
-var freeSelf = checkGlobal(objectTypes[typeof self] && self);
-
-/** Detect free variable `window`. */
-var freeWindow = checkGlobal(objectTypes[typeof window] && window);
-
-/** Detect `this` as the global object. */
-var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
-
-/**
- * Used as a reference to the global object.
- *
- * The `this` value is used if it's the global object to avoid Greasemonkey's
- * restricted `window` object, otherwise the `window` object is used.
- */
-var root = freeGlobal ||
- ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
- freeSelf || thisGlobal || Function('return this')();
-
-/**
- * Checks if `value` is a global object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {null|Object} Returns `value` if it's a global object, else `null`.
- */
-function checkGlobal(value) {
- return (value && value.Object === Object) ? value : null;
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/** Built-in value references. */
-var Symbol = root.Symbol;
-
-/** Used to convert symbols to primitives and strings. */
-var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
-/**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-/**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
-function toString(value) {
- return value == null ? '' : baseToString(value);
-}
-
-module.exports = toString;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json
deleted file mode 100644
index 176ced6107..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/node_modules/lodash.tostring/package.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ],
- [
- {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend"
- ]
- ],
- "_from": "lodash.tostring@^4.0.0",
- "_id": "lodash.tostring@4.1.3",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padend/lodash.tostring",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/lodash.tostring-4.1.3.tgz_1463062634002_0.7874096168670803"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.padend"
- ],
- "_resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz",
- "_shasum": "5697f62973f30105a76c2deb3e2d1669f04fd825",
- "_shrinkwrap": null,
- "_spec": "lodash.tostring@^4.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The lodash method `_.toString` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "5697f62973f30105a76c2deb3e2d1669f04fd825",
- "tarball": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "keywords": [
- "lodash-modularized",
- "tostring"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "phated"
- }
- ],
- "name": "lodash.tostring",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.1.3"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/package.json
deleted file mode 100644
index e00e08add6..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padend/package.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash.padend",
- "raw": "lodash.padend@^4.1.0",
- "rawSpec": "^4.1.0",
- "scope": null,
- "spec": ">=4.1.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
- ]
- ],
- "_from": "lodash.padend@>=4.1.0 <5.0.0",
- "_id": "lodash.padend@4.5.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padend",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/lodash.padend-4.5.0.tgz_1463062451966_0.5034168094862252"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash.padend",
- "raw": "lodash.padend@^4.1.0",
- "rawSpec": "^4.1.0",
- "scope": null,
- "spec": ">=4.1.0 <5.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge"
- ],
- "_resolved": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz",
- "_shasum": "a289e9377ee2e6de8ba7f11f3a8eb326070b7619",
- "_shrinkwrap": null,
- "_spec": "lodash.padend@^4.1.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {
- "lodash._baseslice": "~4.0.0",
- "lodash._basetostring": "~4.12.0",
- "lodash.tostring": "^4.0.0"
- },
- "description": "The lodash method `_.padEnd` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "a289e9377ee2e6de8ba7f11f3a8eb326070b7619",
- "tarball": "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "keywords": [
- "lodash-modularized",
- "padend"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "phated"
- }
- ],
- "name": "lodash.padend",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.5.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/README.md
deleted file mode 100644
index bcc1c5aa67..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash.padstart v4.5.0
-
-The [lodash](https://lodash.com/) method `_.padStart` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash.padstart
-```
-
-In Node.js:
-```js
-var padStart = require('lodash.padstart');
-```
-
-See the [documentation](https://lodash.com/docs#padStart) or [package source](https://github.com/lodash/lodash/blob/4.5.0-npm-packages/lodash.padstart) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/index.js
deleted file mode 100644
index 4568895366..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/index.js
+++ /dev/null
@@ -1,428 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-var baseSlice = require('lodash._baseslice'),
- baseToString = require('lodash._basetostring'),
- toString = require('lodash.tostring');
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0,
- MAX_SAFE_INTEGER = 9007199254740991,
- MAX_INTEGER = 1.7976931348623157e+308,
- NAN = 0 / 0;
-
-/** `Object#toString` result references. */
-var funcTag = '[object Function]',
- genTag = '[object GeneratorFunction]',
- symbolTag = '[object Symbol]';
-
-/** Used to match leading and trailing whitespace. */
-var reTrim = /^\s+|\s+$/g;
-
-/** Used to detect bad signed hexadecimal string values. */
-var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
-
-/** Used to detect binary string values. */
-var reIsBinary = /^0b[01]+$/i;
-
-/** Used to detect octal string values. */
-var reIsOctal = /^0o[0-7]+$/i;
-
-/** Used to compose unicode character classes. */
-var rsAstralRange = '\\ud800-\\udfff',
- rsComboMarksRange = '\\u0300-\\u036f\\ufe20-\\ufe23',
- rsComboSymbolsRange = '\\u20d0-\\u20f0',
- rsVarRange = '\\ufe0e\\ufe0f';
-
-/** Used to compose unicode capture groups. */
-var rsAstral = '[' + rsAstralRange + ']',
- rsCombo = '[' + rsComboMarksRange + rsComboSymbolsRange + ']',
- rsFitz = '\\ud83c[\\udffb-\\udfff]',
- rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',
- rsNonAstral = '[^' + rsAstralRange + ']',
- rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}',
- rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]',
- rsZWJ = '\\u200d';
-
-/** Used to compose unicode regexes. */
-var reOptMod = rsModifier + '?',
- rsOptVar = '[' + rsVarRange + ']?',
- rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',
- rsSeq = rsOptVar + reOptMod + rsOptJoin,
- rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';
-
-/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */
-var reComplexSymbol = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');
-
-/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */
-var reHasComplexSymbol = RegExp('[' + rsZWJ + rsAstralRange + rsComboMarksRange + rsComboSymbolsRange + rsVarRange + ']');
-
-/** Built-in method references without a dependency on `root`. */
-var freeParseInt = parseInt;
-
-/**
- * Gets the number of symbols in `string`.
- *
- * @private
- * @param {string} string The string to inspect.
- * @returns {number} Returns the string size.
- */
-function stringSize(string) {
- if (!(string && reHasComplexSymbol.test(string))) {
- return string.length;
- }
- var result = reComplexSymbol.lastIndex = 0;
- while (reComplexSymbol.test(string)) {
- result++;
- }
- return result;
-}
-
-/**
- * Converts `string` to an array.
- *
- * @private
- * @param {string} string The string to convert.
- * @returns {Array} Returns the converted array.
- */
-function stringToArray(string) {
- return string.match(reComplexSymbol);
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/* Built-in method references for those with the same name as other `lodash` methods. */
-var nativeCeil = Math.ceil,
- nativeFloor = Math.floor;
-
-/**
- * The base implementation of `_.repeat` which doesn't coerce arguments.
- *
- * @private
- * @param {string} string The string to repeat.
- * @param {number} n The number of times to repeat the string.
- * @returns {string} Returns the repeated string.
- */
-function baseRepeat(string, n) {
- var result = '';
- if (!string || n < 1 || n > MAX_SAFE_INTEGER) {
- return result;
- }
- // Leverage the exponentiation by squaring algorithm for a faster repeat.
- // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.
- do {
- if (n % 2) {
- result += string;
- }
- n = nativeFloor(n / 2);
- if (n) {
- string += string;
- }
- } while (n);
-
- return result;
-}
-
-/**
- * Casts `array` to a slice if it's needed.
- *
- * @private
- * @param {Array} array The array to inspect.
- * @param {number} start The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the cast slice.
- */
-function castSlice(array, start, end) {
- var length = array.length;
- end = end === undefined ? length : end;
- return (!start && end >= length) ? array : baseSlice(array, start, end);
-}
-
-/**
- * Creates the padding for `string` based on `length`. The `chars` string
- * is truncated if the number of characters exceeds `length`.
- *
- * @private
- * @param {number} length The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padding for `string`.
- */
-function createPadding(length, chars) {
- chars = chars === undefined ? ' ' : baseToString(chars);
-
- var charsLength = chars.length;
- if (charsLength < 2) {
- return charsLength ? baseRepeat(chars, length) : chars;
- }
- var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));
- return reHasComplexSymbol.test(chars)
- ? castSlice(stringToArray(result), 0, length).join('')
- : result.slice(0, length);
-}
-
-/**
- * Checks if `value` is classified as a `Function` object.
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isFunction(_);
- * // => true
- *
- * _.isFunction(/abc/);
- * // => false
- */
-function isFunction(value) {
- // The use of `Object#toString` avoids issues with the `typeof` operator
- // in Safari 8 which returns 'object' for typed array and weak map constructors,
- // and PhantomJS 1.9 which returns 'function' for `NodeList` instances.
- var tag = isObject(value) ? objectToString.call(value) : '';
- return tag == funcTag || tag == genTag;
-}
-
-/**
- * Checks if `value` is the
- * [language type](http://www.ecma-international.org/ecma-262/6.0/#sec-ecmascript-language-types)
- * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)
- *
- * @static
- * @memberOf _
- * @since 0.1.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is an object, else `false`.
- * @example
- *
- * _.isObject({});
- * // => true
- *
- * _.isObject([1, 2, 3]);
- * // => true
- *
- * _.isObject(_.noop);
- * // => true
- *
- * _.isObject(null);
- * // => false
- */
-function isObject(value) {
- var type = typeof value;
- return !!value && (type == 'object' || type == 'function');
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-/**
- * Converts `value` to a finite number.
- *
- * @static
- * @memberOf _
- * @since 4.12.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted number.
- * @example
- *
- * _.toFinite(3.2);
- * // => 3.2
- *
- * _.toFinite(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toFinite(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toFinite('3.2');
- * // => 3.2
- */
-function toFinite(value) {
- if (!value) {
- return value === 0 ? value : 0;
- }
- value = toNumber(value);
- if (value === INFINITY || value === -INFINITY) {
- var sign = (value < 0 ? -1 : 1);
- return sign * MAX_INTEGER;
- }
- return value === value ? value : 0;
-}
-
-/**
- * Converts `value` to an integer.
- *
- * **Note:** This function is loosely based on
- * [`ToInteger`](http://www.ecma-international.org/ecma-262/6.0/#sec-tointeger).
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to convert.
- * @returns {number} Returns the converted integer.
- * @example
- *
- * _.toInteger(3.2);
- * // => 3
- *
- * _.toInteger(Number.MIN_VALUE);
- * // => 0
- *
- * _.toInteger(Infinity);
- * // => 1.7976931348623157e+308
- *
- * _.toInteger('3.2');
- * // => 3
- */
-function toInteger(value) {
- var result = toFinite(value),
- remainder = result % 1;
-
- return result === result ? (remainder ? result - remainder : result) : 0;
-}
-
-/**
- * Converts `value` to a number.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {number} Returns the number.
- * @example
- *
- * _.toNumber(3.2);
- * // => 3.2
- *
- * _.toNumber(Number.MIN_VALUE);
- * // => 5e-324
- *
- * _.toNumber(Infinity);
- * // => Infinity
- *
- * _.toNumber('3.2');
- * // => 3.2
- */
-function toNumber(value) {
- if (typeof value == 'number') {
- return value;
- }
- if (isSymbol(value)) {
- return NAN;
- }
- if (isObject(value)) {
- var other = isFunction(value.valueOf) ? value.valueOf() : value;
- value = isObject(other) ? (other + '') : other;
- }
- if (typeof value != 'string') {
- return value === 0 ? value : +value;
- }
- value = value.replace(reTrim, '');
- var isBinary = reIsBinary.test(value);
- return (isBinary || reIsOctal.test(value))
- ? freeParseInt(value.slice(2), isBinary ? 2 : 8)
- : (reIsBadHex.test(value) ? NAN : +value);
-}
-
-/**
- * Pads `string` on the left side if it's shorter than `length`. Padding
- * characters are truncated if they exceed `length`.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category String
- * @param {string} [string=''] The string to pad.
- * @param {number} [length=0] The padding length.
- * @param {string} [chars=' '] The string used as padding.
- * @returns {string} Returns the padded string.
- * @example
- *
- * _.padStart('abc', 6);
- * // => ' abc'
- *
- * _.padStart('abc', 6, '_-');
- * // => '_-_abc'
- *
- * _.padStart('abc', 3);
- * // => 'abc'
- */
-function padStart(string, length, chars) {
- string = toString(string);
- length = toInteger(length);
-
- var strLength = length ? stringSize(string) : 0;
- return (length && strLength < length)
- ? (createPadding(length - strLength, chars) + string)
- : string;
-}
-
-module.exports = padStart;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/LICENSE
deleted file mode 100644
index b054ca5a3a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
-Based on Underscore.js, copyright 2009-2016 Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/README.md
deleted file mode 100644
index 8cd4181ccd..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash._baseslice v4.0.0
-
-The internal [lodash](https://lodash.com/) function `baseSlice` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash._baseslice
-```
-
-In Node.js:
-```js
-var baseSlice = require('lodash._baseslice');
-```
-
-See the [package source](https://github.com/lodash/lodash/blob/4.0.0-npm-packages/lodash._baseslice) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/index.js
deleted file mode 100644
index 59293c3d00..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/index.js
+++ /dev/null
@@ -1,40 +0,0 @@
-/**
- * lodash 4.0.0 (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright 2012-2016 The Dojo Foundation <http://dojofoundation.org/>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright 2009-2016 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- * Available under MIT license <https://lodash.com/license>
- */
-
-/**
- * The base implementation of `_.slice` without an iteratee call guard.
- *
- * @private
- * @param {Array} array The array to slice.
- * @param {number} [start=0] The start position.
- * @param {number} [end=array.length] The end position.
- * @returns {Array} Returns the slice of `array`.
- */
-function baseSlice(array, start, end) {
- var index = -1,
- length = array.length;
-
- if (start < 0) {
- start = -start > length ? 0 : (length + start);
- }
- end = end > length ? length : end;
- if (end < 0) {
- end += length;
- }
- length = start > end ? 0 : ((end - start) >>> 0);
- start >>>= 0;
-
- var result = Array(length);
- while (++index < length) {
- result[index] = array[index + start];
- }
- return result;
-}
-
-module.exports = baseSlice;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/package.json
deleted file mode 100644
index bf0bf65113..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._baseslice/package.json
+++ /dev/null
@@ -1,115 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ],
- [
- {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart"
- ]
- ],
- "_from": "lodash._baseslice@~4.0.0",
- "_id": "lodash._baseslice@4.0.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padstart/lodash._baseslice",
- "_nodeVersion": "5.4.0",
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.14.15",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash._baseslice",
- "raw": "lodash._baseslice@~4.0.0",
- "rawSpec": "~4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <4.1.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.padstart"
- ],
- "_resolved": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz",
- "_shasum": "f5ce1df982948ecaff63f223853415b7b9763704",
- "_shrinkwrap": null,
- "_spec": "lodash._baseslice@~4.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The internal lodash function `baseSlice` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "f5ce1df982948ecaff63f223853415b7b9763704",
- "tarball": "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "phated"
- }
- ],
- "name": "lodash._baseslice",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.0.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/README.md
deleted file mode 100644
index ba060c94da..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash._basetostring v4.12.0
-
-The internal [lodash](https://lodash.com/) function `baseToString` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash._basetostring
-```
-
-In Node.js:
-```js
-var baseToString = require('lodash._basetostring');
-```
-
-See the [package source](https://github.com/lodash/lodash/blob/4.12.0-npm-packages/lodash._basetostring) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/index.js
deleted file mode 100644
index d584810749..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/index.js
+++ /dev/null
@@ -1,153 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0;
-
-/** `Object#toString` result references. */
-var symbolTag = '[object Symbol]';
-
-/** Used to determine if values are of the language type `Object`. */
-var objectTypes = {
- 'function': true,
- 'object': true
-};
-
-/** Detect free variable `exports`. */
-var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
- ? exports
- : undefined;
-
-/** Detect free variable `module`. */
-var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
- ? module
- : undefined;
-
-/** Detect free variable `global` from Node.js. */
-var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
-
-/** Detect free variable `self`. */
-var freeSelf = checkGlobal(objectTypes[typeof self] && self);
-
-/** Detect free variable `window`. */
-var freeWindow = checkGlobal(objectTypes[typeof window] && window);
-
-/** Detect `this` as the global object. */
-var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
-
-/**
- * Used as a reference to the global object.
- *
- * The `this` value is used if it's the global object to avoid Greasemonkey's
- * restricted `window` object, otherwise the `window` object is used.
- */
-var root = freeGlobal ||
- ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
- freeSelf || thisGlobal || Function('return this')();
-
-/**
- * Checks if `value` is a global object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {null|Object} Returns `value` if it's a global object, else `null`.
- */
-function checkGlobal(value) {
- return (value && value.Object === Object) ? value : null;
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/** Built-in value references. */
-var Symbol = root.Symbol;
-
-/** Used to convert symbols to primitives and strings. */
-var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
-/**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-module.exports = baseToString;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/package.json
deleted file mode 100644
index 1c42ea67ec..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash._basetostring/package.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ],
- [
- {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart"
- ]
- ],
- "_from": "lodash._basetostring@~4.12.0",
- "_id": "lodash._basetostring@4.12.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padstart/lodash._basetostring",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/lodash._basetostring-4.12.0.tgz_1463062033665_0.6722894972190261"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash._basetostring",
- "raw": "lodash._basetostring@~4.12.0",
- "rawSpec": "~4.12.0",
- "scope": null,
- "spec": ">=4.12.0 <4.13.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.padstart"
- ],
- "_resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz",
- "_shasum": "9327c9dc5158866b7fa4b9d42f4638e5766dd9df",
- "_shrinkwrap": null,
- "_spec": "lodash._basetostring@~4.12.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The internal lodash function `baseToString` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "9327c9dc5158866b7fa4b9d42f4638e5766dd9df",
- "tarball": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine@iceddev.com",
- "name": "phated"
- }
- ],
- "name": "lodash._basetostring",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.12.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE
deleted file mode 100644
index e0c69d5603..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/LICENSE
+++ /dev/null
@@ -1,47 +0,0 @@
-Copyright jQuery Foundation and other contributors <https://jquery.org/>
-
-Based on Underscore.js, copyright Jeremy Ashkenas,
-DocumentCloud and Investigative Reporters & Editors <http://underscorejs.org/>
-
-This software consists of voluntary contributions made by many
-individuals. For exact contribution history, see the revision history
-available at https://github.com/lodash/lodash
-
-The following license applies to all parts of this software except as
-documented below:
-
-====
-
-Permission is hereby granted, free of charge, to any person obtaining
-a copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, sublicense, and/or sell copies of the Software, and to
-permit persons to whom the Software is furnished to do so, subject to
-the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-====
-
-Copyright and related rights for sample code are waived via CC0. Sample
-code is defined as all source code displayed within the prose of the
-documentation.
-
-CC0: http://creativecommons.org/publicdomain/zero/1.0/
-
-====
-
-Files located in the node_modules and vendor directories are externally
-maintained libraries used by this software which have their own
-licenses; we recommend you read them, as their terms may differ from the
-terms above.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md
deleted file mode 100644
index 75aa6b0699..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/README.md
+++ /dev/null
@@ -1,18 +0,0 @@
-# lodash.tostring v4.1.3
-
-The [lodash](https://lodash.com/) method `_.toString` exported as a [Node.js](https://nodejs.org/) module.
-
-## Installation
-
-Using npm:
-```bash
-$ {sudo -H} npm i -g npm
-$ npm i --save lodash.tostring
-```
-
-In Node.js:
-```js
-var toString = require('lodash.tostring');
-```
-
-See the [documentation](https://lodash.com/docs#toString) or [package source](https://github.com/lodash/lodash/blob/4.1.3-npm-packages/lodash.tostring) for more details.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js
deleted file mode 100644
index 8a2cde3929..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/index.js
+++ /dev/null
@@ -1,178 +0,0 @@
-/**
- * lodash (Custom Build) <https://lodash.com/>
- * Build: `lodash modularize exports="npm" -o ./`
- * Copyright jQuery Foundation and other contributors <https://jquery.org/>
- * Released under MIT license <https://lodash.com/license>
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
- */
-
-/** Used as references for various `Number` constants. */
-var INFINITY = 1 / 0;
-
-/** `Object#toString` result references. */
-var symbolTag = '[object Symbol]';
-
-/** Used to determine if values are of the language type `Object`. */
-var objectTypes = {
- 'function': true,
- 'object': true
-};
-
-/** Detect free variable `exports`. */
-var freeExports = (objectTypes[typeof exports] && exports && !exports.nodeType)
- ? exports
- : undefined;
-
-/** Detect free variable `module`. */
-var freeModule = (objectTypes[typeof module] && module && !module.nodeType)
- ? module
- : undefined;
-
-/** Detect free variable `global` from Node.js. */
-var freeGlobal = checkGlobal(freeExports && freeModule && typeof global == 'object' && global);
-
-/** Detect free variable `self`. */
-var freeSelf = checkGlobal(objectTypes[typeof self] && self);
-
-/** Detect free variable `window`. */
-var freeWindow = checkGlobal(objectTypes[typeof window] && window);
-
-/** Detect `this` as the global object. */
-var thisGlobal = checkGlobal(objectTypes[typeof this] && this);
-
-/**
- * Used as a reference to the global object.
- *
- * The `this` value is used if it's the global object to avoid Greasemonkey's
- * restricted `window` object, otherwise the `window` object is used.
- */
-var root = freeGlobal ||
- ((freeWindow !== (thisGlobal && thisGlobal.window)) && freeWindow) ||
- freeSelf || thisGlobal || Function('return this')();
-
-/**
- * Checks if `value` is a global object.
- *
- * @private
- * @param {*} value The value to check.
- * @returns {null|Object} Returns `value` if it's a global object, else `null`.
- */
-function checkGlobal(value) {
- return (value && value.Object === Object) ? value : null;
-}
-
-/** Used for built-in method references. */
-var objectProto = Object.prototype;
-
-/**
- * Used to resolve the
- * [`toStringTag`](http://ecma-international.org/ecma-262/6.0/#sec-object.prototype.tostring)
- * of values.
- */
-var objectToString = objectProto.toString;
-
-/** Built-in value references. */
-var Symbol = root.Symbol;
-
-/** Used to convert symbols to primitives and strings. */
-var symbolProto = Symbol ? Symbol.prototype : undefined,
- symbolToString = symbolProto ? symbolProto.toString : undefined;
-
-/**
- * The base implementation of `_.toString` which doesn't convert nullish
- * values to empty strings.
- *
- * @private
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- */
-function baseToString(value) {
- // Exit early for strings to avoid a performance hit in some environments.
- if (typeof value == 'string') {
- return value;
- }
- if (isSymbol(value)) {
- return symbolToString ? symbolToString.call(value) : '';
- }
- var result = (value + '');
- return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;
-}
-
-/**
- * Checks if `value` is object-like. A value is object-like if it's not `null`
- * and has a `typeof` result of "object".
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
- * @example
- *
- * _.isObjectLike({});
- * // => true
- *
- * _.isObjectLike([1, 2, 3]);
- * // => true
- *
- * _.isObjectLike(_.noop);
- * // => false
- *
- * _.isObjectLike(null);
- * // => false
- */
-function isObjectLike(value) {
- return !!value && typeof value == 'object';
-}
-
-/**
- * Checks if `value` is classified as a `Symbol` primitive or object.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to check.
- * @returns {boolean} Returns `true` if `value` is correctly classified,
- * else `false`.
- * @example
- *
- * _.isSymbol(Symbol.iterator);
- * // => true
- *
- * _.isSymbol('abc');
- * // => false
- */
-function isSymbol(value) {
- return typeof value == 'symbol' ||
- (isObjectLike(value) && objectToString.call(value) == symbolTag);
-}
-
-/**
- * Converts `value` to a string. An empty string is returned for `null`
- * and `undefined` values. The sign of `-0` is preserved.
- *
- * @static
- * @memberOf _
- * @since 4.0.0
- * @category Lang
- * @param {*} value The value to process.
- * @returns {string} Returns the string.
- * @example
- *
- * _.toString(null);
- * // => ''
- *
- * _.toString(-0);
- * // => '-0'
- *
- * _.toString([1, 2, 3]);
- * // => '1,2,3'
- */
-function toString(value) {
- return value == null ? '' : baseToString(value);
-}
-
-module.exports = toString;
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json
deleted file mode 100644
index 32c5752c9d..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/node_modules/lodash.tostring/package.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.pad"
- ],
- [
- {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart"
- ]
- ],
- "_from": "lodash.tostring@^4.0.0",
- "_id": "lodash.tostring@4.1.3",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padstart/lodash.tostring",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-16-east.internal.npmjs.com",
- "tmp": "tmp/lodash.tostring-4.1.3.tgz_1463062634002_0.7874096168670803"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash.tostring",
- "raw": "lodash.tostring@^4.0.0",
- "rawSpec": "^4.0.0",
- "scope": null,
- "spec": ">=4.0.0 <5.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge/lodash.padstart"
- ],
- "_resolved": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz",
- "_shasum": "5697f62973f30105a76c2deb3e2d1669f04fd825",
- "_shrinkwrap": null,
- "_spec": "lodash.tostring@^4.0.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {},
- "description": "The lodash method `_.toString` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "5697f62973f30105a76c2deb3e2d1669f04fd825",
- "tarball": "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "keywords": [
- "lodash-modularized",
- "tostring"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "phated"
- }
- ],
- "name": "lodash.tostring",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.1.3"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/package.json
deleted file mode 100644
index 57fc4ead9a..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/lodash.padstart/package.json
+++ /dev/null
@@ -1,116 +0,0 @@
-{
- "_args": [
- [
- {
- "name": "lodash.padstart",
- "raw": "lodash.padstart@^4.1.0",
- "rawSpec": "^4.1.0",
- "scope": null,
- "spec": ">=4.1.0 <5.0.0",
- "type": "range"
- },
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
- ]
- ],
- "_from": "lodash.padstart@>=4.1.0 <5.0.0",
- "_id": "lodash.padstart@4.5.0",
- "_inCache": true,
- "_installable": true,
- "_location": "/node-gyp/npmlog/gauge/lodash.padstart",
- "_nodeVersion": "5.5.0",
- "_npmOperationalInternal": {
- "host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/lodash.padstart-4.5.0.tgz_1463062453524_0.18468116875737906"
- },
- "_npmUser": {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- "_npmVersion": "2.15.5",
- "_phantomChildren": {},
- "_requested": {
- "name": "lodash.padstart",
- "raw": "lodash.padstart@^4.1.0",
- "rawSpec": "^4.1.0",
- "scope": null,
- "spec": ">=4.1.0 <5.0.0",
- "type": "range"
- },
- "_requiredBy": [
- "/node-gyp/npmlog/gauge"
- ],
- "_resolved": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.5.0.tgz",
- "_shasum": "3ea190f6734841c3364d279d11e056726b60a79a",
- "_shrinkwrap": null,
- "_spec": "lodash.padstart@^4.1.0",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
- "author": {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- "bugs": {
- "url": "https://github.com/lodash/lodash/issues"
- },
- "contributors": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "John-David Dalton",
- "url": "http://allyoucanleet.com/"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "Blaine Bublitz",
- "url": "https://github.com/phated"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "Mathias Bynens",
- "url": "https://mathiasbynens.be/"
- }
- ],
- "dependencies": {
- "lodash._baseslice": "~4.0.0",
- "lodash._basetostring": "~4.12.0",
- "lodash.tostring": "^4.0.0"
- },
- "description": "The lodash method `_.padStart` exported as a module.",
- "devDependencies": {},
- "directories": {},
- "dist": {
- "shasum": "3ea190f6734841c3364d279d11e056726b60a79a",
- "tarball": "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.5.0.tgz"
- },
- "homepage": "https://lodash.com/",
- "icon": "https://lodash.com/icon.svg",
- "keywords": [
- "lodash-modularized",
- "padstart"
- ],
- "license": "MIT",
- "maintainers": [
- {
- "email": "john.david.dalton@gmail.com",
- "name": "jdalton"
- },
- {
- "email": "mathias@qiwi.be",
- "name": "mathias"
- },
- {
- "email": "blaine.bublitz@gmail.com",
- "name": "phated"
- }
- ],
- "name": "lodash.padstart",
- "optionalDependencies": {},
- "readme": "ERROR: No README data found!",
- "repository": {
- "type": "git",
- "url": "git+https://github.com/lodash/lodash.git"
- },
- "scripts": {
- "test": "echo \"See https://travis-ci.org/lodash/lodash-cli for testing details.\""
- },
- "version": "4.5.0"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/index.js
new file mode 100644
index 0000000000..508504840d
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/index.js
@@ -0,0 +1,83 @@
+'use strict';
+/* eslint-disable no-unused-vars */
+var hasOwnProperty = Object.prototype.hasOwnProperty;
+var propIsEnumerable = Object.prototype.propertyIsEnumerable;
+
+function toObject(val) {
+ if (val === null || val === undefined) {
+ throw new TypeError('Object.assign cannot be called with null or undefined');
+ }
+
+ return Object(val);
+}
+
+function shouldUseNative() {
+ try {
+ if (!Object.assign) {
+ return false;
+ }
+
+ // Detect buggy property enumeration order in older V8 versions.
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=4118
+ var test1 = new String('abc'); // eslint-disable-line
+ test1[5] = 'de';
+ if (Object.getOwnPropertyNames(test1)[0] === '5') {
+ return false;
+ }
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
+ var test2 = {};
+ for (var i = 0; i < 10; i++) {
+ test2['_' + String.fromCharCode(i)] = i;
+ }
+ var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
+ return test2[n];
+ });
+ if (order2.join('') !== '0123456789') {
+ return false;
+ }
+
+ // https://bugs.chromium.org/p/v8/issues/detail?id=3056
+ var test3 = {};
+ 'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
+ test3[letter] = letter;
+ });
+ if (Object.keys(Object.assign({}, test3)).join('') !==
+ 'abcdefghijklmnopqrst') {
+ return false;
+ }
+
+ return true;
+ } catch (e) {
+ // We don't expect any of the above to throw, but better to be safe.
+ return false;
+ }
+}
+
+module.exports = shouldUseNative() ? Object.assign : function (target, source) {
+ var from;
+ var to = toObject(target);
+ var symbols;
+
+ for (var s = 1; s < arguments.length; s++) {
+ from = Object(arguments[s]);
+
+ for (var key in from) {
+ if (hasOwnProperty.call(from, key)) {
+ to[key] = from[key];
+ }
+ }
+
+ if (Object.getOwnPropertySymbols) {
+ symbols = Object.getOwnPropertySymbols(from);
+ for (var i = 0; i < symbols.length; i++) {
+ if (propIsEnumerable.call(from, symbols[i])) {
+ to[symbols[i]] = from[symbols[i]];
+ }
+ }
+ }
+ }
+
+ return to;
+};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/license b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/package.json
new file mode 100644
index 0000000000..ed10c83598
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/package.json
@@ -0,0 +1,126 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "object-assign@^4.1.0",
+ "scope": null,
+ "escapedName": "object-assign",
+ "name": "object-assign",
+ "rawSpec": "^4.1.0",
+ "spec": ">=4.1.0 <5.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge"
+ ],
+ [
+ {
+ "raw": "object-assign@^4.1.0",
+ "scope": null,
+ "escapedName": "object-assign",
+ "name": "object-assign",
+ "rawSpec": "^4.1.0",
+ "spec": ">=4.1.0 <5.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
+ ]
+ ],
+ "_from": "object-assign@^4.1.0",
+ "_id": "object-assign@4.1.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/object-assign",
+ "_nodeVersion": "4.1.0",
+ "_npmOperationalInternal": {
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/object-assign-4.1.0.tgz_1462212593641_0.3332549517508596"
+ },
+ "_npmUser": {
+ "name": "spicyj",
+ "email": "ben@benalpert.com"
+ },
+ "_npmVersion": "2.14.19",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "object-assign@^4.1.0",
+ "scope": null,
+ "escapedName": "object-assign",
+ "name": "object-assign",
+ "rawSpec": "^4.1.0",
+ "spec": ">=4.1.0 <5.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge"
+ ],
+ "_resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz",
+ "_shasum": "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0",
+ "_shrinkwrap": null,
+ "_spec": "object-assign@^4.1.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/object-assign/issues"
+ },
+ "dependencies": {},
+ "description": "ES2015 Object.assign() ponyfill",
+ "devDependencies": {
+ "lodash": "^4.8.2",
+ "matcha": "^0.7.0",
+ "mocha": "*",
+ "xo": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0",
+ "tarball": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "72fe21c86911758f3342fdf41c2a57860d5829bc",
+ "homepage": "https://github.com/sindresorhus/object-assign#readme",
+ "keywords": [
+ "object",
+ "assign",
+ "extend",
+ "properties",
+ "es2015",
+ "ecmascript",
+ "harmony",
+ "ponyfill",
+ "prollyfill",
+ "polyfill",
+ "shim",
+ "browser"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ {
+ "name": "spicyj",
+ "email": "ben@benalpert.com"
+ }
+ ],
+ "name": "object-assign",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/object-assign.git"
+ },
+ "scripts": {
+ "bench": "matcha bench.js",
+ "test": "xo && mocha"
+ },
+ "version": "4.1.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/readme.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/readme.md
new file mode 100644
index 0000000000..13c097734c
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/object-assign/readme.md
@@ -0,0 +1,56 @@
+# object-assign [![Build Status](https://travis-ci.org/sindresorhus/object-assign.svg?branch=master)](https://travis-ci.org/sindresorhus/object-assign)
+
+> ES2015 [`Object.assign()`](http://www.2ality.com/2014/01/object-assign.html) ponyfill
+
+> Ponyfill: A polyfill that doesn't overwrite the native method
+
+
+## Install
+
+```
+$ npm install --save object-assign
+```
+
+
+## Usage
+
+```js
+const objectAssign = require('object-assign');
+
+objectAssign({foo: 0}, {bar: 1});
+//=> {foo: 0, bar: 1}
+
+// multiple sources
+objectAssign({foo: 0}, {bar: 1}, {baz: 2});
+//=> {foo: 0, bar: 1, baz: 2}
+
+// overwrites equal keys
+objectAssign({foo: 0}, {foo: 1}, {foo: 2});
+//=> {foo: 2}
+
+// ignores null and undefined sources
+objectAssign({foo: 0}, null, {bar: 1}, undefined);
+//=> {foo: 0, bar: 1}
+```
+
+
+## API
+
+### objectAssign(target, source, [source, ...])
+
+Assigns enumerable own properties of `source` objects to the `target` object and returns the `target` object. Additional `source` objects will overwrite previous ones.
+
+
+## Resources
+
+- [ES2015 spec - Object.assign](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign)
+
+
+## Related
+
+- [deep-assign](https://github.com/sindresorhus/deep-assign) - Recursive `Object.assign()`
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/CHANGELOG.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/CHANGELOG.md
new file mode 100644
index 0000000000..c12f8340c8
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/CHANGELOG.md
@@ -0,0 +1,17 @@
+# Change Log
+
+All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+
+<a name="3.0.0"></a>
+# [3.0.0](https://github.com/tapjs/signal-exit/compare/v2.1.2...v3.0.0) (2016-06-13)
+
+
+### Bug Fixes
+
+* get our test suite running on Windows ([#23](https://github.com/tapjs/signal-exit/issues/23)) ([6f3eda8](https://github.com/tapjs/signal-exit/commit/6f3eda8))
+* hooking SIGPROF was interfering with profilers see [#21](https://github.com/tapjs/signal-exit/issues/21) ([#24](https://github.com/tapjs/signal-exit/issues/24)) ([1248a4c](https://github.com/tapjs/signal-exit/commit/1248a4c))
+
+
+### BREAKING CHANGES
+
+* signal-exit no longer wires into SIGPROF
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/LICENSE.txt b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/LICENSE.txt
new file mode 100644
index 0000000000..c7e27478a3
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/LICENSE.txt
@@ -0,0 +1,14 @@
+Copyright (c) 2015, Contributors
+
+Permission to use, copy, modify, and/or distribute this software
+for any purpose with or without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/README.md
new file mode 100644
index 0000000000..8ebccabeca
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/README.md
@@ -0,0 +1,40 @@
+# signal-exit
+
+[![Build Status](https://travis-ci.org/tapjs/signal-exit.png)](https://travis-ci.org/tapjs/signal-exit)
+[![Coverage](https://coveralls.io/repos/tapjs/signal-exit/badge.svg?branch=master)](https://coveralls.io/r/tapjs/signal-exit?branch=master)
+[![NPM version](https://img.shields.io/npm/v/signal-exit.svg)](https://www.npmjs.com/package/signal-exit)
+[![Windows Tests](https://img.shields.io/appveyor/ci/bcoe/signal-exit/master.svg?label=Windows%20Tests)](https://ci.appveyor.com/project/bcoe/signal-exit)
+[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)
+
+When you want to fire an event no matter how a process exits:
+
+* reaching the end of execution.
+* explicitly having `process.exit(code)` called.
+* having `process.kill(pid, sig)` called.
+* receiving a fatal signal from outside the process
+
+Use `signal-exit`.
+
+```js
+var onExit = require('signal-exit')
+
+onExit(function (code, signal) {
+ console.log('process exited!')
+})
+```
+
+## API
+
+`var remove = onExit(function (code, signal) {}, options)`
+
+The return value of the function is a function that will remove the
+handler.
+
+Note that the function *only* fires for signals if the signal would
+cause the proces to exit. That is, there are no other listeners, and
+it is a fatal signal.
+
+## Options
+
+* `alwaysLast`: Run this handler after any other signal or exit
+ handlers. This causes `process.emit` to be monkeypatched.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js
new file mode 100644
index 0000000000..7dd8d917dc
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/index.js
@@ -0,0 +1,148 @@
+// Note: since nyc uses this module to output coverage, any lines
+// that are in the direct sync flow of nyc's outputCoverage are
+// ignored, since we can never get coverage for them.
+var assert = require('assert')
+var signals = require('./signals.js')
+
+var EE = require('events')
+/* istanbul ignore if */
+if (typeof EE !== 'function') {
+ EE = EE.EventEmitter
+}
+
+var emitter
+if (process.__signal_exit_emitter__) {
+ emitter = process.__signal_exit_emitter__
+} else {
+ emitter = process.__signal_exit_emitter__ = new EE()
+ emitter.count = 0
+ emitter.emitted = {}
+}
+
+module.exports = function (cb, opts) {
+ assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')
+
+ if (loaded === false) {
+ load()
+ }
+
+ var ev = 'exit'
+ if (opts && opts.alwaysLast) {
+ ev = 'afterexit'
+ }
+
+ var remove = function () {
+ emitter.removeListener(ev, cb)
+ if (emitter.listeners('exit').length === 0 &&
+ emitter.listeners('afterexit').length === 0) {
+ unload()
+ }
+ }
+ emitter.on(ev, cb)
+
+ return remove
+}
+
+module.exports.unload = unload
+function unload () {
+ if (!loaded) {
+ return
+ }
+ loaded = false
+
+ signals.forEach(function (sig) {
+ try {
+ process.removeListener(sig, sigListeners[sig])
+ } catch (er) {}
+ })
+ process.emit = originalProcessEmit
+ process.reallyExit = originalProcessReallyExit
+ emitter.count -= 1
+}
+
+function emit (event, code, signal) {
+ if (emitter.emitted[event]) {
+ return
+ }
+ emitter.emitted[event] = true
+ emitter.emit(event, code, signal)
+}
+
+// { <signal>: <listener fn>, ... }
+var sigListeners = {}
+signals.forEach(function (sig) {
+ sigListeners[sig] = function listener () {
+ // If there are no other listeners, an exit is coming!
+ // Simplest way: remove us and then re-send the signal.
+ // We know that this will kill the process, so we can
+ // safely emit now.
+ var listeners = process.listeners(sig)
+ if (listeners.length === emitter.count) {
+ unload()
+ emit('exit', null, sig)
+ /* istanbul ignore next */
+ emit('afterexit', null, sig)
+ /* istanbul ignore next */
+ process.kill(process.pid, sig)
+ }
+ }
+})
+
+module.exports.signals = function () {
+ return signals
+}
+
+module.exports.load = load
+
+var loaded = false
+
+function load () {
+ if (loaded) {
+ return
+ }
+ loaded = true
+
+ // This is the number of onSignalExit's that are in play.
+ // It's important so that we can count the correct number of
+ // listeners on signals, and don't wait for the other one to
+ // handle it instead of us.
+ emitter.count += 1
+
+ signals = signals.filter(function (sig) {
+ try {
+ process.on(sig, sigListeners[sig])
+ return true
+ } catch (er) {
+ return false
+ }
+ })
+
+ process.emit = processEmit
+ process.reallyExit = processReallyExit
+}
+
+var originalProcessReallyExit = process.reallyExit
+function processReallyExit (code) {
+ process.exitCode = code || 0
+ emit('exit', process.exitCode, null)
+ /* istanbul ignore next */
+ emit('afterexit', process.exitCode, null)
+ /* istanbul ignore next */
+ originalProcessReallyExit.call(process, process.exitCode)
+}
+
+var originalProcessEmit = process.emit
+function processEmit (ev, arg) {
+ if (ev === 'exit') {
+ if (arg !== undefined) {
+ process.exitCode = arg
+ }
+ var ret = originalProcessEmit.apply(this, arguments)
+ emit('exit', process.exitCode, null)
+ /* istanbul ignore next */
+ emit('afterexit', process.exitCode, null)
+ return ret
+ } else {
+ return originalProcessEmit.apply(this, arguments)
+ }
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/package.json
new file mode 100644
index 0000000000..d43a28af45
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/package.json
@@ -0,0 +1,118 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "signal-exit@^3.0.0",
+ "scope": null,
+ "escapedName": "signal-exit",
+ "name": "signal-exit",
+ "rawSpec": "^3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge"
+ ],
+ [
+ {
+ "raw": "signal-exit@^3.0.0",
+ "scope": null,
+ "escapedName": "signal-exit",
+ "name": "signal-exit",
+ "rawSpec": "^3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
+ ]
+ ],
+ "_from": "signal-exit@^3.0.0",
+ "_id": "signal-exit@3.0.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/signal-exit",
+ "_nodeVersion": "5.1.0",
+ "_npmOperationalInternal": {
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/signal-exit-3.0.0.tgz_1465857346813_0.7961636525578797"
+ },
+ "_npmUser": {
+ "name": "bcoe",
+ "email": "ben@npmjs.com"
+ },
+ "_npmVersion": "3.3.12",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "signal-exit@^3.0.0",
+ "scope": null,
+ "escapedName": "signal-exit",
+ "name": "signal-exit",
+ "rawSpec": "^3.0.0",
+ "spec": ">=3.0.0 <4.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge"
+ ],
+ "_resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz",
+ "_shasum": "3c0543b65d7b4fbc60b6cd94593d9bf436739be8",
+ "_shrinkwrap": null,
+ "_spec": "signal-exit@^3.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
+ "author": {
+ "name": "Ben Coe",
+ "email": "ben@npmjs.com"
+ },
+ "bugs": {
+ "url": "https://github.com/tapjs/signal-exit/issues"
+ },
+ "dependencies": {},
+ "description": "when you want to fire an event no matter how a process exits.",
+ "devDependencies": {
+ "chai": "^3.5.0",
+ "coveralls": "^2.11.2",
+ "nyc": "^6.4.4",
+ "standard": "^7.1.2",
+ "standard-version": "^2.3.0",
+ "tap": "^5.7.2"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "3c0543b65d7b4fbc60b6cd94593d9bf436739be8",
+ "tarball": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.0.tgz"
+ },
+ "files": [
+ "index.js",
+ "signals.js"
+ ],
+ "gitHead": "2bbec4e5d9f9cf1f7529b1c923d1b058e69ccf7f",
+ "homepage": "https://github.com/tapjs/signal-exit",
+ "keywords": [
+ "signal",
+ "exit"
+ ],
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "bcoe",
+ "email": "ben@npmjs.com"
+ },
+ {
+ "name": "isaacs",
+ "email": "isaacs@npmjs.com"
+ }
+ ],
+ "name": "signal-exit",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/tapjs/signal-exit.git"
+ },
+ "scripts": {
+ "coverage": "nyc report --reporter=text-lcov | coveralls",
+ "pretest": "standard",
+ "release": "standard-version",
+ "test": "tap --timeout=240 ./test/*.js --cov"
+ },
+ "version": "3.0.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/signals.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/signals.js
new file mode 100644
index 0000000000..bc6f97ee60
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/signal-exit/signals.js
@@ -0,0 +1,52 @@
+// This is not the set of all possible signals.
+//
+// It IS, however, the set of all signals that trigger
+// an exit on either Linux or BSD systems. Linux is a
+// superset of the signal names supported on BSD, and
+// the unknown signals just fail to register, so we can
+// catch that easily enough.
+//
+// Don't bother with SIGKILL. It's uncatchable, which
+// means that we can't fire any callbacks anyway.
+//
+// If a user does happen to register a handler on a non-
+// fatal signal like SIGWINCH or something, and then
+// exit, it'll end up firing `process.emit('exit')`, so
+// the handler will be fired anyway.
+module.exports = [
+ 'SIGABRT',
+ 'SIGALRM',
+ 'SIGBUS',
+ 'SIGFPE',
+ 'SIGHUP',
+ 'SIGILL',
+ 'SIGINT',
+ 'SIGSEGV',
+ 'SIGTERM'
+]
+
+if (process.platform !== 'win32') {
+ module.exports.push(
+ 'SIGVTALRM',
+ 'SIGXCPU',
+ 'SIGXFSZ',
+ 'SIGUSR2',
+ 'SIGTRAP',
+ 'SIGSYS',
+ 'SIGQUIT',
+ 'SIGIOT'
+ // should detect profiler and enable/disable accordingly.
+ // see #21
+ // 'SIGPROF'
+ )
+}
+
+if (process.platform === 'linux') {
+ module.exports.push(
+ 'SIGIO',
+ 'SIGPOLL',
+ 'SIGPWR',
+ 'SIGSTKFLT',
+ 'SIGUNUSED'
+ )
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js
new file mode 100644
index 0000000000..b9bec62440
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/index.js
@@ -0,0 +1,37 @@
+'use strict';
+var stripAnsi = require('strip-ansi');
+var codePointAt = require('code-point-at');
+var isFullwidthCodePoint = require('is-fullwidth-code-point');
+
+// https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1345
+module.exports = function (str) {
+ if (typeof str !== 'string' || str.length === 0) {
+ return 0;
+ }
+
+ var width = 0;
+
+ str = stripAnsi(str);
+
+ for (var i = 0; i < str.length; i++) {
+ var code = codePointAt(str, i);
+
+ // ignore control characters
+ if (code <= 0x1f || (code >= 0x7f && code <= 0x9f)) {
+ continue;
+ }
+
+ // surrogates
+ if (code >= 0x10000) {
+ i++;
+ }
+
+ if (isFullwidthCodePoint(code)) {
+ width += 2;
+ } else {
+ width++;
+ }
+ }
+
+ return width;
+};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/license b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js
new file mode 100644
index 0000000000..0335117977
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/index.js
@@ -0,0 +1,33 @@
+'use strict';
+var numberIsNan = require('number-is-nan');
+
+module.exports = function (str, pos) {
+ if (str === null || str === undefined) {
+ throw TypeError();
+ }
+
+ str = String(str);
+
+ var size = str.length;
+ var i = pos ? Number(pos) : 0;
+
+ if (numberIsNan(i)) {
+ i = 0;
+ }
+
+ if (i < 0 || i >= size) {
+ return undefined;
+ }
+
+ var first = str.charCodeAt(i);
+
+ if (first >= 0xD800 && first <= 0xDBFF && size > i + 1) {
+ var second = str.charCodeAt(i + 1);
+
+ if (second >= 0xDC00 && second <= 0xDFFF) {
+ return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
+ }
+ }
+
+ return first;
+};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/license b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/index.js
new file mode 100644
index 0000000000..79be4b9cb8
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/index.js
@@ -0,0 +1,4 @@
+'use strict';
+module.exports = Number.isNaN || function (x) {
+ return x !== x;
+};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/license b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json
new file mode 100644
index 0000000000..44730ebd41
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/package.json
@@ -0,0 +1,113 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "number-is-nan@^1.0.0",
+ "scope": null,
+ "escapedName": "number-is-nan",
+ "name": "number-is-nan",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at"
+ ],
+ [
+ {
+ "raw": "number-is-nan@^1.0.0",
+ "scope": null,
+ "escapedName": "number-is-nan",
+ "name": "number-is-nan",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at"
+ ]
+ ],
+ "_from": "number-is-nan@^1.0.0",
+ "_id": "number-is-nan@1.0.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/string-width/code-point-at/number-is-nan",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "number-is-nan@^1.0.0",
+ "scope": null,
+ "escapedName": "number-is-nan",
+ "name": "number-is-nan",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge/string-width/code-point-at"
+ ],
+ "_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz",
+ "_shasum": "c020f529c5282adfdd233d91d4b181c3d686dc4b",
+ "_shrinkwrap": null,
+ "_spec": "number-is-nan@^1.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/number-is-nan/issues"
+ },
+ "dependencies": {},
+ "description": "ES6 Number.isNaN() ponyfill",
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "c020f529c5282adfdd233d91d4b181c3d686dc4b",
+ "tarball": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "0f394b1bc33185c40304363b209e3f0588dbeeb3",
+ "homepage": "https://github.com/sindresorhus/number-is-nan#readme",
+ "keywords": [
+ "es6",
+ "es2015",
+ "ecmascript",
+ "harmony",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "number",
+ "is",
+ "nan",
+ "not"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "number-is-nan",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/number-is-nan.git"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/readme.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/readme.md
new file mode 100644
index 0000000000..93d851a14f
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/node_modules/number-is-nan/readme.md
@@ -0,0 +1,30 @@
+# number-is-nan [![Build Status](https://travis-ci.org/sindresorhus/number-is-nan.svg?branch=master)](https://travis-ci.org/sindresorhus/number-is-nan)
+
+> ES6 [`Number.isNaN()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN) ponyfill
+
+> Ponyfill: A polyfill that doesn't overwrite the native method
+
+
+## Install
+
+```
+$ npm install --save number-is-nan
+```
+
+
+## Usage
+
+```js
+var numberIsNan = require('number-is-nan');
+
+numberIsNan(NaN);
+//=> true
+
+numberIsNan('unicorn');
+//=> false
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/package.json
new file mode 100644
index 0000000000..2f4b733479
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/package.json
@@ -0,0 +1,116 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "code-point-at@^1.0.0",
+ "scope": null,
+ "escapedName": "code-point-at",
+ "name": "code-point-at",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width"
+ ],
+ [
+ {
+ "raw": "code-point-at@^1.0.0",
+ "scope": null,
+ "escapedName": "code-point-at",
+ "name": "code-point-at",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width"
+ ]
+ ],
+ "_from": "code-point-at@^1.0.0",
+ "_id": "code-point-at@1.0.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/string-width/code-point-at",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "code-point-at@^1.0.0",
+ "scope": null,
+ "escapedName": "code-point-at",
+ "name": "code-point-at",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge/string-width"
+ ],
+ "_resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz",
+ "_shasum": "f69b192d3f7d91e382e4b71bddb77878619ab0c6",
+ "_shrinkwrap": null,
+ "_spec": "code-point-at@^1.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/code-point-at/issues"
+ },
+ "dependencies": {
+ "number-is-nan": "^1.0.0"
+ },
+ "description": "ES2015 String#codePointAt() ponyfill",
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "f69b192d3f7d91e382e4b71bddb77878619ab0c6",
+ "tarball": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "c2ffa4064718b37c84c73a633abeeed5b486a469",
+ "homepage": "https://github.com/sindresorhus/code-point-at",
+ "keywords": [
+ "es2015",
+ "es6",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "string",
+ "str",
+ "code",
+ "point",
+ "at",
+ "codepoint",
+ "unicode"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "code-point-at",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/code-point-at.git"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/readme.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/readme.md
new file mode 100644
index 0000000000..71e7d0931b
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at/readme.md
@@ -0,0 +1,34 @@
+# code-point-at [![Build Status](https://travis-ci.org/sindresorhus/code-point-at.svg?branch=master)](https://travis-ci.org/sindresorhus/code-point-at)
+
+> ES2015 [`String#codePointAt()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/codePointAt) ponyfill
+
+> Ponyfill: A polyfill that doesn't overwrite the native method
+
+
+## Install
+
+```
+$ npm install --save code-point-at
+```
+
+
+## Usage
+
+```js
+var codePointAt = require('code-point-at');
+
+codePointAt('🐴');
+//=> 128052
+
+codePointAt('abc', 2);
+//=> 99
+```
+
+## API
+
+### codePointAt(input, [position])
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
new file mode 100644
index 0000000000..a7d3e3855f
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/index.js
@@ -0,0 +1,46 @@
+'use strict';
+var numberIsNan = require('number-is-nan');
+
+module.exports = function (x) {
+ if (numberIsNan(x)) {
+ return false;
+ }
+
+ // https://github.com/nodejs/io.js/blob/cff7300a578be1b10001f2d967aaedc88aee6402/lib/readline.js#L1369
+
+ // code points are derived from:
+ // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
+ if (x >= 0x1100 && (
+ x <= 0x115f || // Hangul Jamo
+ 0x2329 === x || // LEFT-POINTING ANGLE BRACKET
+ 0x232a === x || // RIGHT-POINTING ANGLE BRACKET
+ // CJK Radicals Supplement .. Enclosed CJK Letters and Months
+ (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) ||
+ // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
+ 0x3250 <= x && x <= 0x4dbf ||
+ // CJK Unified Ideographs .. Yi Radicals
+ 0x4e00 <= x && x <= 0xa4c6 ||
+ // Hangul Jamo Extended-A
+ 0xa960 <= x && x <= 0xa97c ||
+ // Hangul Syllables
+ 0xac00 <= x && x <= 0xd7a3 ||
+ // CJK Compatibility Ideographs
+ 0xf900 <= x && x <= 0xfaff ||
+ // Vertical Forms
+ 0xfe10 <= x && x <= 0xfe19 ||
+ // CJK Compatibility Forms .. Small Form Variants
+ 0xfe30 <= x && x <= 0xfe6b ||
+ // Halfwidth and Fullwidth Forms
+ 0xff01 <= x && x <= 0xff60 ||
+ 0xffe0 <= x && x <= 0xffe6 ||
+ // Kana Supplement
+ 0x1b000 <= x && x <= 0x1b001 ||
+ // Enclosed Ideographic Supplement
+ 0x1f200 <= x && x <= 0x1f251 ||
+ // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
+ 0x20000 <= x && x <= 0x3fffd)) {
+ return true;
+ }
+
+ return false;
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js
new file mode 100644
index 0000000000..79be4b9cb8
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/index.js
@@ -0,0 +1,4 @@
+'use strict';
+module.exports = Number.isNaN || function (x) {
+ return x !== x;
+};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json
new file mode 100644
index 0000000000..a0eb06f015
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/package.json
@@ -0,0 +1,113 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "number-is-nan@^1.0.0",
+ "scope": null,
+ "escapedName": "number-is-nan",
+ "name": "number-is-nan",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/code-point-at"
+ ],
+ [
+ {
+ "raw": "number-is-nan@^1.0.0",
+ "scope": null,
+ "escapedName": "number-is-nan",
+ "name": "number-is-nan",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point"
+ ]
+ ],
+ "_from": "number-is-nan@^1.0.0",
+ "_id": "number-is-nan@1.0.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/string-width/is-fullwidth-code-point/number-is-nan",
+ "_nodeVersion": "0.12.3",
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "2.10.0",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "number-is-nan@^1.0.0",
+ "scope": null,
+ "escapedName": "number-is-nan",
+ "name": "number-is-nan",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge/string-width/is-fullwidth-code-point"
+ ],
+ "_resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz",
+ "_shasum": "c020f529c5282adfdd233d91d4b181c3d686dc4b",
+ "_shrinkwrap": null,
+ "_spec": "number-is-nan@^1.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/number-is-nan/issues"
+ },
+ "dependencies": {},
+ "description": "ES6 Number.isNaN() ponyfill",
+ "devDependencies": {
+ "ava": "0.0.4"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "c020f529c5282adfdd233d91d4b181c3d686dc4b",
+ "tarball": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "0f394b1bc33185c40304363b209e3f0588dbeeb3",
+ "homepage": "https://github.com/sindresorhus/number-is-nan#readme",
+ "keywords": [
+ "es6",
+ "es2015",
+ "ecmascript",
+ "harmony",
+ "ponyfill",
+ "polyfill",
+ "shim",
+ "number",
+ "is",
+ "nan",
+ "not"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "number-is-nan",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/number-is-nan.git"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md
new file mode 100644
index 0000000000..93d851a14f
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/node_modules/number-is-nan/readme.md
@@ -0,0 +1,30 @@
+# number-is-nan [![Build Status](https://travis-ci.org/sindresorhus/number-is-nan.svg?branch=master)](https://travis-ci.org/sindresorhus/number-is-nan)
+
+> ES6 [`Number.isNaN()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN) ponyfill
+
+> Ponyfill: A polyfill that doesn't overwrite the native method
+
+
+## Install
+
+```
+$ npm install --save number-is-nan
+```
+
+
+## Usage
+
+```js
+var numberIsNan = require('number-is-nan');
+
+numberIsNan(NaN);
+//=> true
+
+numberIsNan('unicorn');
+//=> false
+```
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json
new file mode 100644
index 0000000000..7b83e53a97
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/package.json
@@ -0,0 +1,120 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "is-fullwidth-code-point@^1.0.0",
+ "scope": null,
+ "escapedName": "is-fullwidth-code-point",
+ "name": "is-fullwidth-code-point",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge/node_modules/string-width"
+ ],
+ [
+ {
+ "raw": "is-fullwidth-code-point@^1.0.0",
+ "scope": null,
+ "escapedName": "is-fullwidth-code-point",
+ "name": "is-fullwidth-code-point",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width"
+ ]
+ ],
+ "_from": "is-fullwidth-code-point@^1.0.0",
+ "_id": "is-fullwidth-code-point@1.0.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/string-width/is-fullwidth-code-point",
+ "_nodeVersion": "0.12.5",
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "2.11.2",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "is-fullwidth-code-point@^1.0.0",
+ "scope": null,
+ "escapedName": "is-fullwidth-code-point",
+ "name": "is-fullwidth-code-point",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge/string-width"
+ ],
+ "_resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz",
+ "_shasum": "ef9e31386f031a7f0d643af82fde50c457ef00cb",
+ "_shrinkwrap": null,
+ "_spec": "is-fullwidth-code-point@^1.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/is-fullwidth-code-point/issues"
+ },
+ "dependencies": {
+ "number-is-nan": "^1.0.0"
+ },
+ "description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "devDependencies": {
+ "ava": "0.0.4",
+ "code-point-at": "^1.0.0"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "ef9e31386f031a7f0d643af82fde50c457ef00cb",
+ "tarball": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "f2152d357f41f82785436d428e4f8ede143b7548",
+ "homepage": "https://github.com/sindresorhus/is-fullwidth-code-point",
+ "keywords": [
+ "fullwidth",
+ "full-width",
+ "full",
+ "width",
+ "unicode",
+ "character",
+ "char",
+ "string",
+ "str",
+ "codepoint",
+ "code",
+ "point",
+ "is",
+ "detect",
+ "check"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "is-fullwidth-code-point",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/is-fullwidth-code-point.git"
+ },
+ "scripts": {
+ "test": "node test.js"
+ },
+ "version": "1.0.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md
new file mode 100644
index 0000000000..4936464b1b
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/node_modules/is-fullwidth-code-point/readme.md
@@ -0,0 +1,39 @@
+# is-fullwidth-code-point [![Build Status](https://travis-ci.org/sindresorhus/is-fullwidth-code-point.svg?branch=master)](https://travis-ci.org/sindresorhus/is-fullwidth-code-point)
+
+> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms)
+
+
+## Install
+
+```
+$ npm install --save is-fullwidth-code-point
+```
+
+
+## Usage
+
+```js
+var isFullwidthCodePoint = require('is-fullwidth-code-point');
+
+isFullwidthCodePoint('谢'.codePointAt());
+//=> true
+
+isFullwidthCodePoint('a'.codePointAt());
+//=> false
+```
+
+
+## API
+
+### isFullwidthCodePoint(input)
+
+#### input
+
+Type: `number`
+
+[Code point](https://en.wikipedia.org/wiki/Code_point) of a character.
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/package.json
new file mode 100644
index 0000000000..624a60c613
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/package.json
@@ -0,0 +1,136 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "string-width@^1.0.1",
+ "scope": null,
+ "escapedName": "string-width",
+ "name": "string-width",
+ "rawSpec": "^1.0.1",
+ "spec": ">=1.0.1 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge"
+ ],
+ [
+ {
+ "raw": "string-width@^1.0.1",
+ "scope": null,
+ "escapedName": "string-width",
+ "name": "string-width",
+ "rawSpec": "^1.0.1",
+ "spec": ">=1.0.1 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
+ ]
+ ],
+ "_from": "string-width@^1.0.1",
+ "_id": "string-width@1.0.2",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/string-width",
+ "_nodeVersion": "4.4.5",
+ "_npmOperationalInternal": {
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/string-width-1.0.2.tgz_1471188233009_0.6573935742489994"
+ },
+ "_npmUser": {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ },
+ "_npmVersion": "2.15.5",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "string-width@^1.0.1",
+ "scope": null,
+ "escapedName": "string-width",
+ "name": "string-width",
+ "rawSpec": "^1.0.1",
+ "spec": ">=1.0.1 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge",
+ "/node-gyp/npmlog/gauge/wide-align"
+ ],
+ "_resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
+ "_shasum": "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3",
+ "_shrinkwrap": null,
+ "_spec": "string-width@^1.0.1",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/string-width/issues"
+ },
+ "dependencies": {
+ "code-point-at": "^1.0.0",
+ "is-fullwidth-code-point": "^1.0.0",
+ "strip-ansi": "^3.0.0"
+ },
+ "description": "Get the visual width of a string - the number of columns required to display it",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3",
+ "tarball": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "files": [
+ "index.js"
+ ],
+ "gitHead": "282cf3d53918a92cc3ee0778dcf938039bcbc47b",
+ "homepage": "https://github.com/sindresorhus/string-width#readme",
+ "keywords": [
+ "string",
+ "str",
+ "character",
+ "char",
+ "unicode",
+ "width",
+ "visual",
+ "column",
+ "columns",
+ "fullwidth",
+ "full-width",
+ "full",
+ "ansi",
+ "escape",
+ "codes",
+ "cli",
+ "command-line",
+ "terminal",
+ "console",
+ "cjk",
+ "chinese",
+ "japanese",
+ "korean",
+ "fixed-width"
+ ],
+ "license": "MIT",
+ "maintainers": [
+ {
+ "name": "sindresorhus",
+ "email": "sindresorhus@gmail.com"
+ }
+ ],
+ "name": "string-width",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/string-width.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "1.0.2"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/readme.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/readme.md
new file mode 100644
index 0000000000..1ab42c9358
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/string-width/readme.md
@@ -0,0 +1,42 @@
+# string-width [![Build Status](https://travis-ci.org/sindresorhus/string-width.svg?branch=master)](https://travis-ci.org/sindresorhus/string-width)
+
+> Get the visual width of a string - the number of columns required to display it
+
+Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
+
+Useful to be able to measure the actual width of command-line output.
+
+
+## Install
+
+```
+$ npm install --save string-width
+```
+
+
+## Usage
+
+```js
+const stringWidth = require('string-width');
+
+stringWidth('古');
+//=> 2
+
+stringWidth('\u001b[1m古\u001b[22m');
+//=> 2
+
+stringWidth('a');
+//=> 1
+```
+
+
+## Related
+
+- [string-width-cli](https://github.com/sindresorhus/string-width-cli) - CLI for this module
+- [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string
+- [widest-line](https://github.com/sindresorhus/widest-line) - Get the visual width of the widest line in a string
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/.npmignore b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/.npmignore
new file mode 100644
index 0000000000..d1a6b0054b
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/.npmignore
@@ -0,0 +1,5 @@
+*~
+/node_modules
+.#*
+/.nyc_output
+/coverage
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/LICENSE b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/LICENSE
index 19129e315f..f4be44d881 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/LICENSE
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/LICENSE
@@ -1,6 +1,4 @@
-The ISC License
-
-Copyright (c) Isaac Z. Schlueter and Contributors
+Copyright (c) 2015, Rebecca Turner <me@re-becca.org>
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
@@ -11,5 +9,6 @@ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
-IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/README.md
new file mode 100644
index 0000000000..32f1be04f0
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/README.md
@@ -0,0 +1,47 @@
+wide-align
+----------
+
+A wide-character aware text alignment function for use in terminals / on the
+console.
+
+### Usage
+
+```
+var align = require('wide-align')
+
+// Note that if you view this on a unicode console, all of the slashes are
+// aligned. This is because on a console, all narrow characters are
+// an en wide and all wide characters are an em. In browsers, this isn't
+// held to and wide characters like "古" can be less than two narrow
+// characters even with a fixed width font.
+
+console.log(align.center('abc', 10)) // ' abc '
+console.log(align.center('古古古', 10)) // ' 古古古 '
+console.log(align.left('abc', 10)) // 'abc '
+console.log(align.left('古古古', 10)) // '古古古 '
+console.log(align.right('abc', 10)) // ' abc'
+console.log(align.right('古古古', 10)) // ' 古古古'
+```
+
+### Functions
+
+#### `align.center(str, length)` → `str`
+
+Returns *str* with spaces added to both sides such that that it is *length*
+chars long and centered in the spaces.
+
+#### `align.left(str, length)` → `str`
+
+Returns *str* with spaces to the right such that it is *length* chars long.
+
+### `align.right(str, length)` → `str`
+
+Returns *str* with spaces to the left such that it is *length* chars long.
+
+### Origins
+
+These functions were originally taken from
+[cliui](https://npmjs.com/package/cliui). Changes include switching to the
+MUCH faster pad generation function from
+[lodash](https://npmjs.com/package/lodash), making center alignment pad
+both sides and adding left alignment.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js
new file mode 100644
index 0000000000..4f94ca4cde
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/align.js
@@ -0,0 +1,65 @@
+'use strict'
+var stringWidth = require('string-width')
+
+exports.center = alignCenter
+exports.left = alignLeft
+exports.right = alignRight
+
+// lodash's way of generating pad characters.
+
+function createPadding (width) {
+ var result = ''
+ var string = ' '
+ var n = width
+ do {
+ if (n % 2) {
+ result += string;
+ }
+ n = Math.floor(n / 2);
+ string += string;
+ } while (n);
+
+ return result;
+}
+
+function alignLeft (str, width) {
+ var trimmed = str.trimRight()
+ if (trimmed.length === 0 && str.length >= width) return str
+ var padding = ''
+ var strWidth = stringWidth(trimmed)
+
+ if (strWidth < width) {
+ padding = createPadding(width - strWidth)
+ }
+
+ return trimmed + padding
+}
+
+function alignRight (str, width) {
+ var trimmed = str.trimLeft()
+ if (trimmed.length === 0 && str.length >= width) return str
+ var padding = ''
+ var strWidth = stringWidth(trimmed)
+
+ if (strWidth < width) {
+ padding = createPadding(width - strWidth)
+ }
+
+ return padding + trimmed
+}
+
+function alignCenter (str, width) {
+ var trimmed = str.trim()
+ if (trimmed.length === 0 && str.length >= width) return str
+ var padLeft = ''
+ var padRight = ''
+ var strWidth = stringWidth(trimmed)
+
+ if (strWidth < width) {
+ var padLeftBy = parseInt((width - strWidth) / 2, 10)
+ padLeft = createPadding(padLeftBy)
+ padRight = createPadding(width - (strWidth + padLeftBy))
+ }
+
+ return padLeft + trimmed + padRight
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/package.json
new file mode 100644
index 0000000000..6729516f83
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/package.json
@@ -0,0 +1,105 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "wide-align@^1.1.0",
+ "scope": null,
+ "escapedName": "wide-align",
+ "name": "wide-align",
+ "rawSpec": "^1.1.0",
+ "spec": ">=1.1.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog/node_modules/gauge"
+ ],
+ [
+ {
+ "raw": "wide-align@^1.1.0",
+ "scope": null,
+ "escapedName": "wide-align",
+ "name": "wide-align",
+ "rawSpec": "^1.1.0",
+ "spec": ">=1.1.0 <2.0.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge"
+ ]
+ ],
+ "_from": "wide-align@^1.1.0",
+ "_id": "wide-align@1.1.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/gauge/wide-align",
+ "_nodeVersion": "4.2.2",
+ "_npmUser": {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ "_npmVersion": "3.5.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "wide-align@^1.1.0",
+ "scope": null,
+ "escapedName": "wide-align",
+ "name": "wide-align",
+ "rawSpec": "^1.1.0",
+ "spec": ">=1.1.0 <2.0.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog/gauge"
+ ],
+ "_resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz",
+ "_shasum": "40edde802a71fea1f070da3e62dcda2e7add96ad",
+ "_shrinkwrap": null,
+ "_spec": "wide-align@^1.1.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge",
+ "author": {
+ "name": "Rebecca Turner",
+ "email": "me@re-becca.org",
+ "url": "http://re-becca.org/"
+ },
+ "bugs": {
+ "url": "https://github.com/iarna/wide-align/issues"
+ },
+ "dependencies": {
+ "string-width": "^1.0.1"
+ },
+ "description": "A wide-character aware text alignment function for use on the console or with fixed width fonts.",
+ "devDependencies": {
+ "tap": "^2.3.2"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "40edde802a71fea1f070da3e62dcda2e7add96ad",
+ "tarball": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz"
+ },
+ "gitHead": "fe3f7f210650913d5bee702d7e19938f6977bc8a",
+ "homepage": "https://github.com/iarna/wide-align#readme",
+ "keywords": [
+ "wide",
+ "double",
+ "unicode",
+ "cjkv",
+ "pad",
+ "align"
+ ],
+ "license": "ISC",
+ "main": "align.js",
+ "maintainers": [
+ {
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ }
+ ],
+ "name": "wide-align",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/iarna/wide-align.git"
+ },
+ "scripts": {
+ "test": "tap --coverage test/*.js"
+ },
+ "version": "1.1.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/test/align.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/test/align.js
new file mode 100644
index 0000000000..64e9f9dbda
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/node_modules/wide-align/test/align.js
@@ -0,0 +1,37 @@
+'use strict'
+var test = require('tap').test
+var align = require('..')
+
+test('align', function (t) {
+ t.is(align.center('abc', 10), ' abc ', 'center narrow')
+ t.is(align.center('古古古', 10), ' 古古古 ', 'center wide')
+ t.is(align.left('abc', 10), 'abc ', 'left narrow')
+ t.is(align.left('古古古', 10), '古古古 ', 'left wide')
+ t.is(align.right('abc', 10), ' abc', 'right narrow')
+ t.is(align.right('古古古', 10), ' 古古古', 'right wide')
+
+ t.is(align.center('abc', 2), 'abc', 'center narrow overflow')
+ t.is(align.center('古古古', 4), '古古古', 'center wide overflow')
+ t.is(align.left('abc', 2), 'abc', 'left narrow overflow')
+ t.is(align.left('古古古', 4), '古古古', 'left wide overflow')
+ t.is(align.right('abc', 2), 'abc', 'right narrow overflow')
+ t.is(align.right('古古古', 4), '古古古', 'right wide overflow')
+
+ t.is(align.left('', 5), ' ', 'left align nothing')
+ t.is(align.center('', 5), ' ', 'center align nothing')
+ t.is(align.right('', 5), ' ', 'right align nothing')
+
+ t.is(align.left(' ', 5), ' ', 'left align whitespace')
+ t.is(align.center(' ', 5), ' ', 'center align whitespace')
+ t.is(align.right(' ', 5), ' ', 'right align whitespace')
+
+ t.is(align.left(' ', 2), ' ', 'left align whitespace overflow')
+ t.is(align.center(' ', 2), ' ', 'center align whitespace overflow')
+ t.is(align.right(' ', 2), ' ', 'right align whitespace overflow')
+
+ t.is(align.left('x ', 10), 'x ', 'left align whitespace mix')
+ t.is(align.center('x ', 10), ' x ', 'center align whitespace mix')
+ t.is(align.right('x ', 10), ' x', 'right align whitespace mix')
+
+ t.end()
+})
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/package.json
index 6d3424f0ac..86fcce6f26 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/package.json
@@ -2,72 +2,116 @@
"_args": [
[
{
+ "raw": "gauge@~2.6.0",
+ "scope": null,
+ "escapedName": "gauge",
"name": "gauge",
- "raw": "gauge@~1.2.5",
- "rawSpec": "~1.2.5",
+ "rawSpec": "~2.6.0",
+ "spec": ">=2.6.0 <2.7.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog"
+ ],
+ [
+ {
+ "raw": "gauge@~2.6.0",
"scope": null,
- "spec": ">=1.2.5 <1.3.0",
+ "escapedName": "gauge",
+ "name": "gauge",
+ "rawSpec": "~2.6.0",
+ "spec": ">=2.6.0 <2.7.0",
"type": "range"
},
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog"
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog"
]
],
- "_from": "gauge@>=1.2.5 <1.3.0",
- "_id": "gauge@1.2.7",
+ "_from": "gauge@~2.6.0",
+ "_id": "gauge@2.6.0",
"_inCache": true,
- "_installable": true,
"_location": "/node-gyp/npmlog/gauge",
- "_nodeVersion": "4.2.2",
+ "_nodeVersion": "4.4.0",
"_npmOperationalInternal": {
- "host": "packages-9-west.internal.npmjs.com",
- "tmp": "tmp/gauge-1.2.7.tgz_1455835409513_0.6293477965518832"
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/gauge-2.6.0.tgz_1466067371972_0.20705468393862247"
},
"_npmUser": {
- "email": "me@re-becca.org",
- "name": "iarna"
+ "name": "iarna",
+ "email": "me@re-becca.org"
+ },
+ "_npmVersion": "3.9.2",
+ "_phantomChildren": {
+ "strip-ansi": "3.0.1"
},
- "_npmVersion": "3.7.2",
- "_phantomChildren": {},
"_requested": {
- "name": "gauge",
- "raw": "gauge@~1.2.5",
- "rawSpec": "~1.2.5",
+ "raw": "gauge@~2.6.0",
"scope": null,
- "spec": ">=1.2.5 <1.3.0",
+ "escapedName": "gauge",
+ "name": "gauge",
+ "rawSpec": "~2.6.0",
+ "spec": ">=2.6.0 <2.7.0",
"type": "range"
},
"_requiredBy": [
"/node-gyp/npmlog"
],
- "_resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz",
- "_shasum": "e9cec5483d3d4ee0ef44b60a7d99e4935e136d93",
+ "_resolved": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz",
+ "_shasum": "d35301ad18e96902b4751dcbbe40f4218b942a46",
"_shrinkwrap": null,
- "_spec": "gauge@~1.2.5",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/npmlog",
+ "_spec": "gauge@~2.6.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog",
"author": {
- "email": "me@re-becca.org",
- "name": "Rebecca Turner"
+ "name": "Rebecca Turner",
+ "email": "me@re-becca.org"
},
"bugs": {
"url": "https://github.com/iarna/gauge/issues"
},
"dependencies": {
- "ansi": "^0.3.0",
+ "aproba": "^1.0.3",
+ "console-control-strings": "^1.0.0",
+ "has-color": "^0.1.7",
"has-unicode": "^2.0.0",
- "lodash.pad": "^4.1.0",
- "lodash.padend": "^4.1.0",
- "lodash.padstart": "^4.1.0"
+ "object-assign": "^4.1.0",
+ "signal-exit": "^3.0.0",
+ "string-width": "^1.0.1",
+ "strip-ansi": "^3.0.1",
+ "wide-align": "^1.1.0"
},
"description": "A terminal based horizontal guage",
"devDependencies": {
- "tap": "^5.6.0"
+ "readable-stream": "^2.0.6",
+ "require-inject": "^1.4.0",
+ "standard": "^7.1.2",
+ "tap": "^5.7.2",
+ "through2": "^2.0.0"
},
"directories": {},
"dist": {
- "shasum": "e9cec5483d3d4ee0ef44b60a7d99e4935e136d93",
- "tarball": "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz"
+ "shasum": "d35301ad18e96902b4751dcbbe40f4218b942a46",
+ "tarball": "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz"
},
- "gitHead": "75a7d0a4ed67489ac992ed3d211bed60376ca7c1",
+ "files": [
+ "base-theme.js",
+ "CHANGELOG.md",
+ "error.js",
+ "has-color.js",
+ "index.js",
+ "LICENSE",
+ "package.json",
+ "plumbing.js",
+ "process.js",
+ "progress-bar.js",
+ "README.md",
+ "render-template.js",
+ "set-immediate.js",
+ "set-interval.js",
+ "spin.js",
+ "template-item.js",
+ "theme-set.js",
+ "themes.js",
+ "wide-truncate.js"
+ ],
+ "gitHead": "d51040a71c269432c16cc542143f403a831630e6",
"homepage": "https://github.com/iarna/gauge",
"keywords": [
"progressbar",
@@ -75,11 +119,11 @@
"gauge"
],
"license": "ISC",
- "main": "progress-bar.js",
+ "main": "index.js",
"maintainers": [
{
- "email": "me@re-becca.org",
- "name": "iarna"
+ "name": "iarna",
+ "email": "me@re-becca.org"
}
],
"name": "gauge",
@@ -90,7 +134,7 @@
"url": "git+https://github.com/iarna/gauge.git"
},
"scripts": {
- "test": "tap test/*.js"
+ "test": "standard && tap test/*.js --coverage"
},
- "version": "1.2.7"
+ "version": "2.6.0"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/plumbing.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/plumbing.js
new file mode 100644
index 0000000000..589a9c9287
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/plumbing.js
@@ -0,0 +1,47 @@
+'use strict'
+var consoleControl = require('console-control-strings')
+var renderTemplate = require('./render-template.js')
+var validate = require('aproba')
+
+var Plumbing = module.exports = function (theme, template, width) {
+ if (!width) width = 80
+ validate('OAN', [theme, template, width])
+ this.showing = false
+ this.theme = theme
+ this.width = width
+ this.template = template
+}
+Plumbing.prototype = {}
+
+Plumbing.prototype.setTheme = function (theme) {
+ validate('O', [theme])
+ this.theme = theme
+}
+
+Plumbing.prototype.setTemplate = function (template) {
+ validate('A', [template])
+ this.template = template
+}
+
+Plumbing.prototype.setWidth = function (width) {
+ validate('N', [width])
+ this.width = width
+}
+
+Plumbing.prototype.hide = function () {
+ return consoleControl.gotoSOL() + consoleControl.eraseLine()
+}
+
+Plumbing.prototype.hideCursor = consoleControl.hideCursor
+
+Plumbing.prototype.showCursor = consoleControl.showCursor
+
+Plumbing.prototype.show = function (status) {
+ var values = Object.create(this.theme)
+ for (var key in status) {
+ values[key] = status[key]
+ }
+
+ return renderTemplate(this.width, this.template, values).trim() +
+ consoleControl.eraseLine() + consoleControl.gotoSOL()
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/process.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/process.js
new file mode 100644
index 0000000000..05e85694d7
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/process.js
@@ -0,0 +1,3 @@
+'use strict'
+// this exists so we can replace it during testing
+module.exports = process
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/progress-bar.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/progress-bar.js
index ddfc4a44be..7f8dd68be2 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/progress-bar.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/progress-bar.js
@@ -1,225 +1,35 @@
-"use strict"
-var hasUnicode = require("has-unicode")
-var ansi = require("ansi")
-var align = {
- center: require("lodash.pad"),
- left: require("lodash.padend"),
- right: require("lodash.padstart")
-}
-var defaultStream = process.stderr
-function isTTY() {
- return process.stderr.isTTY
-}
-function getWritableTTYColumns() {
- // Writing to the final column wraps the line
- // We have to use stdout here, because Node's magic SIGWINCH handler only
- // updates process.stdout, not process.stderr
- return process.stdout.columns - 1
-}
-
-var ProgressBar = module.exports = function (options, cursor) {
- if (! options) options = {}
- if (! cursor && options.write) {
- cursor = options
- options = {}
- }
- if (! cursor) {
- cursor = ansi(defaultStream)
- }
- this.cursor = cursor
- this.showing = false
- this.theme = options.theme || (hasUnicode() ? ProgressBar.unicode : ProgressBar.ascii)
- this.template = options.template || [
- {type: "name", separated: true, length: 25},
- {type: "spinner", separated: true},
- {type: "startgroup"},
- {type: "completionbar"},
- {type: "endgroup"}
+'use strict'
+var validate = require('aproba')
+var renderTemplate = require('./render-template.js')
+var wideTruncate = require('./wide-truncate')
+var stringWidth = require('string-width')
+
+module.exports = function (theme, width, completed) {
+ validate('ONN', [theme, width, completed])
+ if (completed < 0) completed = 0
+ if (completed > 1) completed = 1
+ if (width <= 0) return ''
+ var sofar = Math.round(width * completed)
+ var rest = width - sofar
+ var template = [
+ {type: 'complete', value: repeat(theme.complete, sofar), length: sofar},
+ {type: 'remaining', value: repeat(theme.remaining, rest), length: rest}
]
- this.updatefreq = options.maxUpdateFrequency == null ? 50 : options.maxUpdateFrequency
- this.lastName = ""
- this.lastCompleted = 0
- this.spun = 0
- this.last = new Date(0)
-
- var self = this
- this._handleSizeChange = function () {
- if (!self.showing) return
- self.hide()
- self.show()
- }
-}
-ProgressBar.prototype = {}
-
-ProgressBar.unicode = {
- startgroup: "╢",
- endgroup: "╟",
- complete: "█",
- incomplete: "░",
- spinner: "▀▐▄▌",
- subsection: "→"
-}
-
-ProgressBar.ascii = {
- startgroup: "|",
- endgroup: "|",
- complete: "#",
- incomplete: "-",
- spinner: "-\\|/",
- subsection: "->"
-}
-
-ProgressBar.prototype.setTheme = function(theme) {
- this.theme = theme
-}
-
-ProgressBar.prototype.setTemplate = function(template) {
- this.template = template
-}
-
-ProgressBar.prototype._enableResizeEvents = function() {
- process.stdout.on('resize', this._handleSizeChange)
-}
-
-ProgressBar.prototype._disableResizeEvents = function() {
- process.stdout.removeListener('resize', this._handleSizeChange)
-}
-
-ProgressBar.prototype.disable = function() {
- this.hide()
- this.disabled = true
-}
-
-ProgressBar.prototype.enable = function() {
- this.disabled = false
- this.show()
-}
-
-ProgressBar.prototype.hide = function() {
- if (!isTTY()) return
- if (this.disabled) return
- this.cursor.show()
- if (this.showing) this.cursor.up(1)
- this.cursor.horizontalAbsolute(0).eraseLine()
- this.showing = false
+ return renderTemplate(width, template, theme)
}
-var repeat = function (str, count) {
- var out = ""
- for (var ii=0; ii<count; ++ii) out += str
- return out
-}
-
-ProgressBar.prototype.pulse = function(name) {
- ++ this.spun
- if (! this.showing) return
- if (this.disabled) return
-
- var baseName = this.lastName
- name = name
- ? ( baseName
- ? baseName + " " + this.theme.subsection + " " + name
- : null )
- : baseName
- this.show(name)
- this.lastName = baseName
-}
-
-ProgressBar.prototype.show = function(name, completed) {
- name = this.lastName = name || this.lastName
- completed = this.lastCompleted = completed || this.lastCompleted
-
- if (!isTTY()) return
- if (this.disabled) return
- if (! this.spun && ! completed) return
- if (this.tryAgain) return
- var self = this
-
- if (this.showing && new Date() - this.last < this.updatefreq) {
- this.tryAgain = setTimeout(function () {
- self.tryAgain = null
- if (self.disabled) return
- if (! self.spun && ! completed) return
- drawBar()
- }, this.updatefreq - (new Date() - this.last))
- return
- }
-
- return drawBar()
-
- function drawBar() {
- var values = {
- name: name,
- spinner: self.spun,
- completed: completed
- }
-
- self.last = new Date()
-
- var statusline = self.renderTemplate(self.theme, self.template, values)
-
- if (self.showing) self.cursor.up(1)
- self.cursor
- .hide()
- .horizontalAbsolute(0)
- .write(statusline.substr(0, getWritableTTYColumns()) + "\n")
- .show()
-
- self.showing = true
- }
-}
-
-ProgressBar.prototype.renderTemplate = function (theme, template, values) {
- values.startgroup = theme.startgroup
- values.endgroup = theme.endgroup
- values.spinner = values.spinner
- ? theme.spinner.substr(values.spinner % theme.spinner.length,1)
- : ""
-
- var output = {prebar: "", postbar: ""}
- var status = "prebar"
- var self = this
- template.forEach(function(T) {
- if (typeof T === "string") {
- output[status] += T
- return
+// lodash's way of repeating
+function repeat (string, width) {
+ var result = ''
+ var n = width
+ do {
+ if (n % 2) {
+ result += string
}
- if (T.type === "completionbar") {
- status = "postbar"
- return
- }
- if (!values.hasOwnProperty(T.type)) throw new Error("Unknown template value '"+T.type+"'")
- var value = self.renderValue(T, values[T.type])
- if (value === "") return
- var sofar = output[status].length
- var lastChar = sofar ? output[status][sofar-1] : null
- if (T.separated && sofar && lastChar !== " ") {
- output[status] += " "
- }
- output[status] += value
- if (T.separated) output[status] += " "
- })
-
- var bar = ""
- if (status === "postbar") {
- var nonBarLen = output.prebar.length + output.postbar.length
+ n = Math.floor(n / 2)
+ /*eslint no-self-assign: 0*/
+ string += string
+ } while (n && stringWidth(result) < width)
- var barLen = getWritableTTYColumns() - nonBarLen
- var sofar = Math.round(barLen * Math.max(0,Math.min(1,values.completed||0)))
- var rest = barLen - sofar
- bar = repeat(theme.complete, sofar)
- + repeat(theme.incomplete, rest)
- }
-
- return output.prebar + bar + output.postbar
-}
-ProgressBar.prototype.renderValue = function (template, value) {
- if (value == null || value === "") return ""
- var maxLength = template.maxLength || template.length
- var minLength = template.minLength || template.length
- var alignWith = align[template.align] || align.left
-// if (maxLength) value = value.substr(-1 * maxLength)
- if (maxLength) value = value.substr(0, maxLength)
- if (minLength) value = alignWith(value, minLength)
- return value
+ return wideTruncate(result, width)
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/render-template.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/render-template.js
new file mode 100644
index 0000000000..3261bfbe6f
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/render-template.js
@@ -0,0 +1,181 @@
+'use strict'
+var align = require('wide-align')
+var validate = require('aproba')
+var objectAssign = require('object-assign')
+var wideTruncate = require('./wide-truncate')
+var error = require('./error')
+var TemplateItem = require('./template-item')
+
+function renderValueWithValues (values) {
+ return function (item) {
+ return renderValue(item, values)
+ }
+}
+
+var renderTemplate = module.exports = function (width, template, values) {
+ var items = prepareItems(width, template, values)
+ var rendered = items.map(renderValueWithValues(values)).join('')
+ return align.left(wideTruncate(rendered, width), width)
+}
+
+function preType (item) {
+ var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1)
+ return 'pre' + cappedTypeName
+}
+
+function postType (item) {
+ var cappedTypeName = item.type[0].toUpperCase() + item.type.slice(1)
+ return 'post' + cappedTypeName
+}
+
+function hasPreOrPost (item, values) {
+ if (!item.type) return
+ return values[preType(item)] || values[postType(item)]
+}
+
+function generatePreAndPost (baseItem, parentValues) {
+ var item = objectAssign({}, baseItem)
+ var values = Object.create(parentValues)
+ var template = []
+ var pre = preType(item)
+ var post = postType(item)
+ if (values[pre]) {
+ template.push({value: values[pre]})
+ values[pre] = null
+ }
+ item.minLength = null
+ item.length = null
+ item.maxLength = null
+ template.push(item)
+ values[item.type] = values[item.type]
+ if (values[post]) {
+ template.push({value: values[post]})
+ values[post] = null
+ }
+ return function ($1, $2, length) {
+ return renderTemplate(length, template, values)
+ }
+}
+
+function prepareItems (width, template, values) {
+ function cloneAndObjectify (item, index, arr) {
+ var cloned = new TemplateItem(item, width)
+ var type = cloned.type
+ if (cloned.value == null) {
+ if (!(type in values)) {
+ if (cloned.default == null) {
+ throw new error.MissingTemplateValue(cloned, values)
+ } else {
+ cloned.value = cloned.default
+ }
+ } else {
+ cloned.value = values[type]
+ }
+ }
+ if (cloned.value == null || cloned.value === '') return null
+ cloned.index = index
+ cloned.first = index === 0
+ cloned.last = index === arr.length - 1
+ if (hasPreOrPost(cloned, values)) cloned.value = generatePreAndPost(cloned, values)
+ return cloned
+ }
+
+ var output = template.map(cloneAndObjectify).filter(function (item) { return item != null })
+
+ var outputLength = 0
+ var remainingSpace = width
+ var variableCount = output.length
+
+ function consumeSpace (length) {
+ if (length > remainingSpace) length = remainingSpace
+ outputLength += length
+ remainingSpace -= length
+ }
+
+ function finishSizing (item, length) {
+ if (item.finished) throw new error.Internal('Tried to finish template item that was already finished')
+ if (length === Infinity) throw new error.Internal('Length of template item cannot be infinity')
+ if (length != null) item.length = length
+ item.minLength = null
+ item.maxLength = null
+ --variableCount
+ item.finished = true
+ if (item.length == null) item.length = item.getBaseLength()
+ if (item.length == null) throw new error.Internal('Finished template items must have a length')
+ consumeSpace(item.getLength())
+ }
+
+ output.forEach(function (item) {
+ if (!item.kerning) return
+ var prevPadRight = item.first ? 0 : output[item.index - 1].padRight
+ if (!item.first && prevPadRight < item.kerning) item.padLeft = item.kerning - prevPadRight
+ if (!item.last) item.padRight = item.kerning
+ })
+
+ // Finish any that have a fixed (literal or intuited) length
+ output.forEach(function (item) {
+ if (item.getBaseLength() == null) return
+ finishSizing(item)
+ })
+
+ var resized = 0
+ var resizing
+ var hunkSize
+ do {
+ resizing = false
+ hunkSize = Math.round(remainingSpace / variableCount)
+ output.forEach(function (item) {
+ if (item.finished) return
+ if (!item.maxLength) return
+ if (item.getMaxLength() < hunkSize) {
+ finishSizing(item, item.maxLength)
+ resizing = true
+ }
+ })
+ } while (resizing && resized++ < output.length)
+ if (resizing) throw new error.Internal('Resize loop iterated too many times while determining maxLength')
+
+ resized = 0
+ do {
+ resizing = false
+ hunkSize = Math.round(remainingSpace / variableCount)
+ output.forEach(function (item) {
+ if (item.finished) return
+ if (!item.minLength) return
+ if (item.getMinLength() >= hunkSize) {
+ finishSizing(item, item.minLength)
+ resizing = true
+ }
+ })
+ } while (resizing && resized++ < output.length)
+ if (resizing) throw new error.Internal('Resize loop iterated too many times while determining minLength')
+
+ hunkSize = Math.round(remainingSpace / variableCount)
+ output.forEach(function (item) {
+ if (item.finished) return
+ finishSizing(item, hunkSize)
+ })
+
+ return output
+}
+
+function renderFunction (item, values, length) {
+ validate('OON', arguments)
+ if (item.type) {
+ return item.value(values, values[item.type + 'Theme'] || {}, length)
+ } else {
+ return item.value(values, {}, length)
+ }
+}
+
+function renderValue (item, values) {
+ var length = item.getBaseLength()
+ var value = typeof item.value === 'function' ? renderFunction(item, values, length) : item.value
+ if (value == null || value === '') return ''
+ var alignWith = align[item.align] || align.left
+ var leftPadding = item.padLeft ? align.left('', item.padLeft) : ''
+ var rightPadding = item.padRight ? align.right('', item.padRight) : ''
+ var truncated = wideTruncate(String(value), length)
+ var aligned = alignWith(truncated, length)
+ return leftPadding + aligned + rightPadding
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-immediate.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-immediate.js
new file mode 100644
index 0000000000..6650a485c4
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-immediate.js
@@ -0,0 +1,7 @@
+'use strict'
+var process = require('./process')
+try {
+ module.exports = setImmediate
+} catch (ex) {
+ module.exports = process.nextTick
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-interval.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-interval.js
new file mode 100644
index 0000000000..576198793c
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/set-interval.js
@@ -0,0 +1,3 @@
+'use strict'
+// this exists so we can replace it during testing
+module.exports = setInterval
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/spin.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/spin.js
new file mode 100644
index 0000000000..34142ee31a
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/spin.js
@@ -0,0 +1,5 @@
+'use strict'
+
+module.exports = function spin (spinstr, spun) {
+ return spinstr[spun % spinstr.length]
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/template-item.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/template-item.js
new file mode 100644
index 0000000000..e46f447c94
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/template-item.js
@@ -0,0 +1,73 @@
+'use strict'
+var stringWidth = require('string-width')
+
+module.exports = TemplateItem
+
+function isPercent (num) {
+ if (typeof num !== 'string') return false
+ return num.slice(-1) === '%'
+}
+
+function percent (num) {
+ return Number(num.slice(0, -1)) / 100
+}
+
+function TemplateItem (values, outputLength) {
+ this.overallOutputLength = outputLength
+ this.finished = false
+ this.type = null
+ this.value = null
+ this.length = null
+ this.maxLength = null
+ this.minLength = null
+ this.kerning = null
+ this.align = 'left'
+ this.padLeft = 0
+ this.padRight = 0
+ this.index = null
+ this.first = null
+ this.last = null
+ if (typeof values === 'string') {
+ this.value = values
+ } else {
+ for (var prop in values) this[prop] = values[prop]
+ }
+ // Realize percents
+ if (isPercent(this.length)) {
+ this.length = Math.round(this.overallOutputLength * percent(this.length))
+ }
+ if (isPercent(this.minLength)) {
+ this.minLength = Math.round(this.overallOutputLength * percent(this.minLength))
+ }
+ if (isPercent(this.maxLength)) {
+ this.maxLength = Math.round(this.overallOutputLength * percent(this.maxLength))
+ }
+ return this
+}
+
+TemplateItem.prototype = {}
+
+TemplateItem.prototype.getBaseLength = function () {
+ var length = this.length
+ if (length == null && typeof this.value === 'string' && this.maxLength == null && this.minLength == null) {
+ length = stringWidth(this.value)
+ }
+ return length
+}
+
+TemplateItem.prototype.getLength = function () {
+ var length = this.getBaseLength()
+ if (length == null) return null
+ return length + this.padLeft + this.padRight
+}
+
+TemplateItem.prototype.getMaxLength = function () {
+ if (this.maxLength == null) return null
+ return this.maxLength + this.padLeft + this.padRight
+}
+
+TemplateItem.prototype.getMinLength = function () {
+ if (this.minLength == null) return null
+ return this.minLength + this.padLeft + this.padRight
+}
+
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/test/progress-bar.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/test/progress-bar.js
deleted file mode 100644
index 5d3e7e78fe..0000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/test/progress-bar.js
+++ /dev/null
@@ -1,176 +0,0 @@
-"use strict"
-var test = require("tap").test
-var ProgressBar = require("../progress-bar.js")
-
-var cursor = []
-var C
-var bar = new ProgressBar({theme: ProgressBar.ascii, maxUpdateFrequency: 0}, C = {
- show: function () {
- cursor.push(["show"])
- return C
- },
- hide: function () {
- cursor.push(["hide"])
- return C
- },
- up: function (lines) {
- cursor.push(["up",lines])
- return C
- },
- horizontalAbsolute: function (col) {
- cursor.push(["horizontalAbsolute", col])
- return C
- },
- eraseLine: function () {
- cursor.push(["eraseLine"])
- return C
- },
- write: function (line) {
- cursor.push(["write", line])
- return C
- }
-})
-
-
-function isOutput(t, msg, output) {
- var tests = []
- for (var ii = 0; ii<output.length; ++ii) {
- for (var jj = 0; jj<output[ii].length; ++jj) {
- tests.push({cmd: ii, arg: jj})
- }
- }
- tests.forEach(function(test) {
- t.is(cursor[test.cmd] ? cursor[test.cmd][test.arg] : null,
- output[test.cmd][test.arg],
- msg + ": " + output[test.cmd] + (test.arg ? " arg #"+test.arg : ""))
- })
-}
-
-test("hide", function (t) {
- t.plan(11)
- process.stderr.isTTY = false
- bar.hide()
- t.is(cursor.length, 0, "We don't progress bar without a tty")
- cursor = []
- process.stderr.isTTY = true
- bar.hide()
- isOutput(t, "hide while not showing",[
- ["show"], // cursor
- ["horizontalAbsolute",0],
- ["eraseLine"]])
- cursor = []
- bar.showing = true
- bar.hide()
- isOutput(t, "hide while showing",[
- ["show"], // cursor
- ["up", 1],
- ["horizontalAbsolute",0],
- ["eraseLine"]])
-})
-
-test("renderTemplate", function (t) {
- t.plan(16)
- process.stdout.columns = 11
- var result = bar.renderTemplate(ProgressBar.ascii,[{type: "name"}],{name: "NAME"})
- t.is(result, "NAME", "name substitution")
- var result = bar.renderTemplate(ProgressBar.ascii,[{type: "completionbar"}],{completed: 0})
- t.is(result, "----------", "0% bar")
- var result = bar.renderTemplate(ProgressBar.ascii,[{type: "completionbar"}],{completed: 0.5})
- t.is(result, "#####-----", "50% bar")
- var result = bar.renderTemplate(ProgressBar.ascii,[{type: "completionbar"}],{completed: 1})
- t.is(result, "##########", "100% bar")
- var result = bar.renderTemplate(ProgressBar.ascii,[{type: "completionbar"}],{completed: -100})
- t.is(result, "----------", "0% underflow bar")
- var result = bar.renderTemplate(ProgressBar.ascii,[{type: "completionbar"}],{completed: 100})
- t.is(result, "##########", "100% overflow bar")
- var result = bar.renderTemplate(ProgressBar.ascii,[{type: "name"},{type: "completionbar"}],{name: "NAME", completed: 0.5})
- t.is(result, "NAME###---", "name + 50%")
- var result = bar.renderTemplate(ProgressBar.ascii, ["static"], {})
- t.is(result, "static", "static text")
- var result = bar.renderTemplate(ProgressBar.ascii, ["static",{type: "name"}], {name: "NAME"})
- t.is(result, "staticNAME", "static text + var")
- var result = bar.renderTemplate(ProgressBar.ascii, ["static",{type: "name", separated: true}], {name: "NAME"})
- t.is(result, "static NAME ", "pre-separated")
- var result = bar.renderTemplate(ProgressBar.ascii, [{type: "name", separated: true}, "static"], {name: "NAME"})
- t.is(result, "NAME static", "post-separated")
- var result = bar.renderTemplate(ProgressBar.ascii, ["1",{type: "name", separated: true}, "2"], {name: ""})
- t.is(result, "12", "separated no value")
- var result = bar.renderTemplate(ProgressBar.ascii, ["1",{type: "name", separated: true}, "2"], {name: "NAME"})
- t.is(result, "1 NAME 2", "separated value")
- var result = bar.renderTemplate(ProgressBar.ascii, [{type: "spinner"}], {spinner: 0})
- t.is(result, "", "No spinner")
- var result = bar.renderTemplate(ProgressBar.ascii, [{type: "spinner"}], {spinner: 1})
- t.is(result, "\\", "Spinner 1")
- var result = bar.renderTemplate(ProgressBar.ascii, [{type: "spinner"}], {spinner: 10})
- t.is(result, "|", "Spinner 10")
-})
-
-test("show & pulse", function (t) {
- t.plan(23)
-
- process.stdout.columns = 16
- cursor = []
- process.stderr.isTTY = false
- bar.template[0].length = 6
- bar.last = new Date(0)
- bar.show("NAME", 0)
- t.is(cursor.length, 0, "no tty, no progressbar")
-
- cursor = []
- process.stderr.isTTY = true
- bar.last = new Date(0)
- bar.show("NAME", 0.1)
- isOutput(t, "tty, name, completion",
- [ [ 'hide' ],
- [ 'horizontalAbsolute', 0 ],
- [ 'write', 'NAME |#-----|\n' ],
- [ 'show' ] ])
-
- bar.show("S")
- cursor = []
- bar.last = new Date(0)
- bar.pulse()
- isOutput(t, "pulsed spinner",
- [ [ 'up', 1 ],
- [ 'hide' ],
- [ 'horizontalAbsolute', 0 ],
- [ 'write', 'S \\ |----|\n' ],
- [ 'show' ] ])
- cursor = []
- bar.last = new Date(0)
- bar.pulse("P")
- isOutput(t, "pulsed spinner with subsection",
- [ [ 'up', 1 ],
- [ 'hide' ],
- [ 'horizontalAbsolute', 0 ],
- [ 'write', 'S -> P | |----|\n' ],
- [ 'show' ] ])
-})
-
-test("window resizing", function (t) {
- t.plan(16)
- process.stderr.isTTY = true
- process.stdout.columns = 32
- bar.show("NAME", 0.1)
- cursor = []
- bar.last = new Date(0)
- bar.pulse()
- isOutput(t, "32 columns",
- [ [ 'up', 1 ],
- [ 'hide' ],
- [ 'horizontalAbsolute', 0 ],
- [ 'write', 'NAME / |##------------------|\n' ],
- [ 'show' ] ])
-
- process.stdout.columns = 16
- bar.show("NAME", 0.5)
- cursor = []
- bar.last = new Date(0)
- bar.pulse()
- isOutput(t, "16 columns",
- [ [ 'up', 1 ],
- [ 'hide' ],
- [ 'horizontalAbsolute', 0 ],
- [ 'write', 'NAME - |##--|\n' ],
- [ 'show' ] ]);
-});
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/theme-set.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/theme-set.js
new file mode 100644
index 0000000000..68971d5d23
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/theme-set.js
@@ -0,0 +1,115 @@
+'use strict'
+var objectAssign = require('object-assign')
+
+module.exports = function () {
+ return ThemeSetProto.newThemeSet()
+}
+
+var ThemeSetProto = {}
+
+ThemeSetProto.baseTheme = require('./base-theme.js')
+
+ThemeSetProto.newTheme = function (parent, theme) {
+ if (!theme) {
+ theme = parent
+ parent = this.baseTheme
+ }
+ return objectAssign({}, parent, theme)
+}
+
+ThemeSetProto.getThemeNames = function () {
+ return Object.keys(this.themes)
+}
+
+ThemeSetProto.addTheme = function (name, parent, theme) {
+ this.themes[name] = this.newTheme(parent, theme)
+}
+
+ThemeSetProto.addToAllThemes = function (theme) {
+ var themes = this.themes
+ Object.keys(themes).forEach(function (name) {
+ objectAssign(themes[name], theme)
+ })
+ objectAssign(this.baseTheme, theme)
+}
+
+ThemeSetProto.getTheme = function (name) {
+ if (!this.themes[name]) throw this.newMissingThemeError(name)
+ return this.themes[name]
+}
+
+ThemeSetProto.setDefault = function (opts, name) {
+ if (name == null) {
+ name = opts
+ opts = {}
+ }
+ var platform = opts.platform == null ? 'fallback' : opts.platform
+ var hasUnicode = !!opts.hasUnicode
+ var hasColor = !!opts.hasColor
+ if (!this.defaults[platform]) this.defaults[platform] = {true: {}, false: {}}
+ this.defaults[platform][hasUnicode][hasColor] = name
+}
+
+ThemeSetProto.getDefault = function (opts) {
+ if (!opts) opts = {}
+ var platformName = opts.platform || process.platform
+ var platform = this.defaults[platformName] || this.defaults.fallback
+ var hasUnicode = !!opts.hasUnicode
+ var hasColor = !!opts.hasColor
+ if (!platform) throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor)
+ if (!platform[hasUnicode][hasColor]) {
+ if (hasUnicode && hasColor && platform[!hasUnicode][hasColor]) {
+ hasUnicode = false
+ } else if (hasUnicode && hasColor && platform[hasUnicode][!hasColor]) {
+ hasColor = false
+ } else if (hasUnicode && hasColor && platform[!hasUnicode][!hasColor]) {
+ hasUnicode = false
+ hasColor = false
+ } else if (hasUnicode && !hasColor && platform[!hasUnicode][hasColor]) {
+ hasUnicode = false
+ } else if (!hasUnicode && hasColor && platform[hasUnicode][!hasColor]) {
+ hasColor = false
+ } else if (platform === this.defaults.fallback) {
+ throw this.newMissingDefaultThemeError(platformName, hasUnicode, hasColor)
+ }
+ }
+ if (platform[hasUnicode][hasColor]) {
+ return this.getTheme(platform[hasUnicode][hasColor])
+ } else {
+ return this.getDefault(objectAssign({}, opts, {platform: 'fallback'}))
+ }
+}
+
+ThemeSetProto.newMissingThemeError = function newMissingThemeError (name) {
+ var err = new Error('Could not find a gauge theme named "' + name + '"')
+ Error.captureStackTrace.call(err, newMissingThemeError)
+ err.theme = name
+ err.code = 'EMISSINGTHEME'
+ return err
+}
+
+ThemeSetProto.newMissingDefaultThemeError = function newMissingDefaultThemeError (platformName, hasUnicode, hasColor) {
+ var err = new Error(
+ 'Could not find a gauge theme for your platform/unicode/color use combo:\n' +
+ ' platform = ' + platformName + '\n' +
+ ' hasUnicode = ' + hasUnicode + '\n' +
+ ' hasColor = ' + hasColor)
+ Error.captureStackTrace.call(err, newMissingDefaultThemeError)
+ err.platform = platformName
+ err.hasUnicode = hasUnicode
+ err.hasColor = hasColor
+ err.code = 'EMISSINGTHEME'
+ return err
+}
+
+ThemeSetProto.newThemeSet = function () {
+ var themeset = function (opts) {
+ return themeset.getDefault(opts)
+ }
+ return objectAssign(themeset, ThemeSetProto, {
+ themes: objectAssign({}, this.themes),
+ baseTheme: objectAssign({}, this.baseTheme),
+ defaults: JSON.parse(JSON.stringify(this.defaults || {}))
+ })
+}
+
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/themes.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/themes.js
new file mode 100644
index 0000000000..eb5a4f5b5e
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/themes.js
@@ -0,0 +1,54 @@
+'use strict'
+var consoleControl = require('console-control-strings')
+var ThemeSet = require('./theme-set.js')
+
+var themes = module.exports = new ThemeSet()
+
+themes.addTheme('ASCII', {
+ preProgressbar: '[',
+ postProgressbar: ']',
+ progressbarTheme: {
+ complete: '#',
+ remaining: '.'
+ },
+ activityIndicatorTheme: '-\\|/',
+ preSubsection: '>'
+})
+
+themes.addTheme('colorASCII', themes.getTheme('ASCII'), {
+ progressbarTheme: {
+ preComplete: consoleControl.color('inverse'),
+ complete: ' ',
+ postComplete: consoleControl.color('stopInverse'),
+ preRemaining: consoleControl.color('brightBlack'),
+ remaining: '.',
+ postRemaining: consoleControl.color('reset')
+ }
+})
+
+themes.addTheme('brailleSpinner', {
+ preProgressbar: '⸨',
+ postProgressbar: '⸩',
+ progressbarTheme: {
+ complete: '░',
+ remaining: '⠂'
+ },
+ activityIndicatorTheme: '⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏',
+ preSubsection: '>'
+})
+
+themes.addTheme('colorBrailleSpinner', themes.getTheme('brailleSpinner'), {
+ progressbarTheme: {
+ preComplete: consoleControl.color('inverse'),
+ complete: ' ',
+ postComplete: consoleControl.color('stopInverse'),
+ preRemaining: consoleControl.color('brightBlack'),
+ remaining: '░',
+ postRemaining: consoleControl.color('reset')
+ }
+})
+
+themes.setDefault({}, 'ASCII')
+themes.setDefault({hasColor: true}, 'colorASCII')
+themes.setDefault({platform: 'darwin', hasUnicode: true}, 'brailleSpinner')
+themes.setDefault({platform: 'darwin', hasUnicode: true, hasColor: true}, 'colorBrailleSpinner')
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/wide-truncate.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/wide-truncate.js
new file mode 100644
index 0000000000..c531bc491f
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/gauge/wide-truncate.js
@@ -0,0 +1,25 @@
+'use strict'
+var stringWidth = require('string-width')
+var stripAnsi = require('strip-ansi')
+
+module.exports = wideTruncate
+
+function wideTruncate (str, target) {
+ if (stringWidth(str) === 0) return str
+ if (target <= 0) return ''
+ if (stringWidth(str) <= target) return str
+
+ // We compute the number of bytes of ansi sequences here and add
+ // that to our initial truncation to ensure that we don't slice one
+ // that we want to keep in half.
+ var noAnsi = stripAnsi(str)
+ var ansiSize = str.length + noAnsi.length
+ var truncated = str.slice(0, target + ansiSize)
+
+ // we have to shrink the result to account for our ansi sequence buffer
+ // (if an ansi sequence was truncated) and double width characters.
+ while (stringWidth(truncated) > target) {
+ truncated = truncated.slice(0, -1)
+ }
+ return truncated
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/CHANGELOG.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/CHANGELOG.md
new file mode 100644
index 0000000000..03bf591923
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/CHANGELOG.md
@@ -0,0 +1,26 @@
+# Change Log
+
+All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+
+<a name="2.0.0"></a>
+# [2.0.0](https://github.com/yargs/set-blocking/compare/v1.0.0...v2.0.0) (2016-05-17)
+
+
+### Features
+
+* add an isTTY check ([#3](https://github.com/yargs/set-blocking/issues/3)) ([66ce277](https://github.com/yargs/set-blocking/commit/66ce277))
+
+
+### BREAKING CHANGES
+
+* stdio/stderr will not be set to blocking if isTTY === false
+
+
+
+<a name="1.0.0"></a>
+# 1.0.0 (2016-05-14)
+
+
+### Features
+
+* implemented shim for stream._handle.setBlocking ([6bde0c0](https://github.com/yargs/set-blocking/commit/6bde0c0))
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/LICENSE.txt b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/LICENSE.txt
new file mode 100644
index 0000000000..836440bef7
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/LICENSE.txt
@@ -0,0 +1,14 @@
+Copyright (c) 2016, Contributors
+
+Permission to use, copy, modify, and/or distribute this software
+for any purpose with or without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/README.md b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/README.md
new file mode 100644
index 0000000000..e93b4202b5
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/README.md
@@ -0,0 +1,31 @@
+# set-blocking
+
+[![Build Status](https://travis-ci.org/yargs/set-blocking.svg)](https://travis-ci.org/yargs/set-blocking)
+[![NPM version](https://img.shields.io/npm/v/set-blocking.svg)](https://www.npmjs.com/package/set-blocking)
+[![Coverage Status](https://coveralls.io/repos/yargs/set-blocking/badge.svg?branch=)](https://coveralls.io/r/yargs/set-blocking?branch=master)
+[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)
+
+set blocking `stdio` and `stderr` ensuring that terminal output does not truncate.
+
+```js
+const setBlocking = require('set-blocking')
+setBlocking(true)
+console.log(someLargeStringToOutput)
+```
+
+## Historical Context/Word of Warning
+
+This was created as a shim to address the bug discussed in [node #6456](https://github.com/nodejs/node/issues/6456). This bug crops up on
+newer versions of Node.js (`0.12+`), truncating terminal output.
+
+You should be mindful of the side-effects caused by using `set-blocking`:
+
+* if your module sets blocking to `true`, it will effect other modules
+ consuming your library. In [yargs](https://github.com/yargs/yargs/blob/master/yargs.js#L653) we only call
+ `setBlocking(true)` once we already know we are about to call `process.exit(code)`.
+* this patch will not apply to subprocesses spawned with `isTTY = true`, this is
+ the [default `spawn()` behavior](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options).
+
+## License
+
+ISC
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/index.js b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/index.js
new file mode 100644
index 0000000000..6f78774bb6
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/index.js
@@ -0,0 +1,7 @@
+module.exports = function (blocking) {
+ [process.stdout, process.stderr].forEach(function (stream) {
+ if (stream._handle && stream.isTTY && typeof stream._handle.setBlocking === 'function') {
+ stream._handle.setBlocking(blocking)
+ }
+ })
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/package.json
new file mode 100644
index 0000000000..1db092f9c4
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/node_modules/set-blocking/package.json
@@ -0,0 +1,118 @@
+{
+ "_args": [
+ [
+ {
+ "raw": "set-blocking@~2.0.0",
+ "scope": null,
+ "escapedName": "set-blocking",
+ "name": "set-blocking",
+ "rawSpec": "~2.0.0",
+ "spec": ">=2.0.0 <2.1.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/npmlog"
+ ],
+ [
+ {
+ "raw": "set-blocking@~2.0.0",
+ "scope": null,
+ "escapedName": "set-blocking",
+ "name": "set-blocking",
+ "rawSpec": "~2.0.0",
+ "spec": ">=2.0.0 <2.1.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog"
+ ]
+ ],
+ "_from": "set-blocking@~2.0.0",
+ "_id": "set-blocking@2.0.0",
+ "_inCache": true,
+ "_location": "/node-gyp/npmlog/set-blocking",
+ "_nodeVersion": "0.12.7",
+ "_npmOperationalInternal": {
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/set-blocking-2.0.0.tgz_1463525966987_0.5456729622092098"
+ },
+ "_npmUser": {
+ "name": "bcoe",
+ "email": "ben@npmjs.com"
+ },
+ "_npmVersion": "2.11.3",
+ "_phantomChildren": {},
+ "_requested": {
+ "raw": "set-blocking@~2.0.0",
+ "scope": null,
+ "escapedName": "set-blocking",
+ "name": "set-blocking",
+ "rawSpec": "~2.0.0",
+ "spec": ">=2.0.0 <2.1.0",
+ "type": "range"
+ },
+ "_requiredBy": [
+ "/node-gyp/npmlog"
+ ],
+ "_resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "_shasum": "045f9782d011ae9a6803ddd382b24392b3d890f7",
+ "_shrinkwrap": null,
+ "_spec": "set-blocking@~2.0.0",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/npmlog",
+ "author": {
+ "name": "Ben Coe",
+ "email": "ben@npmjs.com"
+ },
+ "bugs": {
+ "url": "https://github.com/yargs/set-blocking/issues"
+ },
+ "dependencies": {},
+ "description": "set blocking stdio and stderr ensuring that terminal output does not truncate",
+ "devDependencies": {
+ "chai": "^3.5.0",
+ "coveralls": "^2.11.9",
+ "mocha": "^2.4.5",
+ "nyc": "^6.4.4",
+ "standard": "^7.0.1",
+ "standard-version": "^2.2.1"
+ },
+ "directories": {},
+ "dist": {
+ "shasum": "045f9782d011ae9a6803ddd382b24392b3d890f7",
+ "tarball": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz"
+ },
+ "files": [
+ "index.js",
+ "LICENSE.txt"
+ ],
+ "gitHead": "7eec10577b5fff264de477ba3b9d07f404946eff",
+ "homepage": "https://github.com/yargs/set-blocking#readme",
+ "keywords": [
+ "flush",
+ "terminal",
+ "blocking",
+ "shim",
+ "stdio",
+ "stderr"
+ ],
+ "license": "ISC",
+ "main": "index.js",
+ "maintainers": [
+ {
+ "name": "bcoe",
+ "email": "ben@npmjs.com"
+ }
+ ],
+ "name": "set-blocking",
+ "optionalDependencies": {},
+ "readme": "ERROR: No README data found!",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/yargs/set-blocking.git"
+ },
+ "scripts": {
+ "coverage": "nyc report --reporter=text-lcov | coveralls",
+ "pretest": "standard",
+ "test": "nyc mocha ./test/*.js",
+ "version": "standard-version"
+ },
+ "version": "2.0.0"
+}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/npmlog/package.json b/deps/npm/node_modules/node-gyp/node_modules/npmlog/package.json
index 7bfb84713a..83078bd197 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/npmlog/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/npmlog/package.json
@@ -2,96 +2,101 @@
"_args": [
[
{
- "name": "npmlog",
- "raw": "npmlog@0 || 1 || 2",
- "rawSpec": "0 || 1 || 2",
+ "raw": "npmlog@0 || 1 || 2 || 3",
"scope": null,
- "spec": ">=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0",
+ "escapedName": "npmlog",
+ "name": "npmlog",
+ "rawSpec": "0 || 1 || 2 || 3",
+ "spec": ">=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
"type": "range"
},
- "/Users/rebecca/code/npm/node_modules/node-gyp"
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp"
]
],
- "_from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0",
- "_id": "npmlog@2.0.4",
+ "_from": "npmlog@>=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
+ "_id": "npmlog@3.1.2",
"_inCache": true,
- "_installable": true,
"_location": "/node-gyp/npmlog",
- "_nodeVersion": "5.10.1",
+ "_nodeVersion": "4.4.0",
"_npmOperationalInternal": {
"host": "packages-12-west.internal.npmjs.com",
- "tmp": "tmp/npmlog-2.0.4.tgz_1463616637725_0.461703865788877"
+ "tmp": "tmp/npmlog-3.1.2.tgz_1466073052641_0.36111341998912394"
},
"_npmUser": {
- "email": "kat@sykosomatic.org",
- "name": "zkat"
+ "name": "iarna",
+ "email": "me@re-becca.org"
},
- "_npmVersion": "3.9.1",
+ "_npmVersion": "3.9.6",
"_phantomChildren": {
- "has-unicode": "2.0.0",
- "readable-stream": "2.1.3"
+ "aproba": "1.0.4",
+ "has-unicode": "2.0.1",
+ "readable-stream": "2.1.4",
+ "strip-ansi": "3.0.1"
},
"_requested": {
- "name": "npmlog",
- "raw": "npmlog@0 || 1 || 2",
- "rawSpec": "0 || 1 || 2",
+ "raw": "npmlog@0 || 1 || 2 || 3",
"scope": null,
- "spec": ">=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0",
+ "escapedName": "npmlog",
+ "name": "npmlog",
+ "rawSpec": "0 || 1 || 2 || 3",
+ "spec": ">=0.0.0 <1.0.0||>=1.0.0 <2.0.0||>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
"type": "range"
},
"_requiredBy": [
"/node-gyp"
],
- "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz",
- "_shasum": "98b52530f2514ca90d09ec5b22c8846722375692",
+ "_resolved": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz",
+ "_shasum": "2d46fa874337af9498a2f12bb43d8d0be4a36873",
"_shrinkwrap": null,
- "_spec": "npmlog@0 || 1 || 2",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
+ "_spec": "npmlog@0 || 1 || 2 || 3",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp",
"author": {
- "email": "i@izs.me",
"name": "Isaac Z. Schlueter",
+ "email": "i@izs.me",
"url": "http://blog.izs.me/"
},
"bugs": {
"url": "https://github.com/npm/npmlog/issues"
},
"dependencies": {
- "ansi": "~0.3.1",
"are-we-there-yet": "~1.1.2",
- "gauge": "~1.2.5"
+ "console-control-strings": "~1.1.0",
+ "gauge": "~2.6.0",
+ "set-blocking": "~2.0.0"
},
"description": "logger for npm",
"devDependencies": {
+ "standard": "~7.1.2",
"tap": "~5.7.0"
},
"directories": {},
"dist": {
- "shasum": "98b52530f2514ca90d09ec5b22c8846722375692",
- "tarball": "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz"
+ "shasum": "2d46fa874337af9498a2f12bb43d8d0be4a36873",
+ "tarball": "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz"
},
"files": [
"log.js"
],
- "gitHead": "3732fd4ba1ca2d47c6102343e6c3fb7e66df7fe5",
+ "gitHead": "444e237743fa1339cb91bea2d3f16f710be56984",
"homepage": "https://github.com/npm/npmlog#readme",
"license": "ISC",
"main": "log.js",
"maintainers": [
{
- "email": "me@re-becca.org",
- "name": "iarna"
+ "name": "iarna",
+ "email": "me@re-becca.org"
},
{
- "email": "i@izs.me",
- "name": "isaacs"
+ "name": "isaacs",
+ "email": "i@izs.me"
},
{
- "email": "ogd@aoaioxxysz.net",
- "name": "othiym23"
+ "name": "othiym23",
+ "email": "ogd@aoaioxxysz.net"
},
{
- "email": "kat@sykosomatic.org",
- "name": "zkat"
+ "name": "zkat",
+ "email": "kat@sykosomatic.org"
}
],
"name": "npmlog",
@@ -102,7 +107,7 @@
"url": "git+https://github.com/npm/npmlog.git"
},
"scripts": {
- "test": "tap test/*.js"
+ "test": "standard && tap test/*.js"
},
- "version": "2.0.4"
+ "version": "3.1.2"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json
index a60580a9d1..f037c9bfd8 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/node_modules/ms/package.json
@@ -1,8 +1,16 @@
{
"_args": [
[
- "ms@0.7.1",
- "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug"
+ {
+ "raw": "ms@0.7.1",
+ "scope": null,
+ "escapedName": "ms",
+ "name": "ms",
+ "rawSpec": "0.7.1",
+ "spec": "0.7.1",
+ "type": "version"
+ },
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug"
]
],
"_from": "ms@0.7.1",
@@ -12,16 +20,17 @@
"_location": "/node-gyp/path-array/array-index/debug/ms",
"_nodeVersion": "0.12.2",
"_npmUser": {
- "email": "rauchg@gmail.com",
- "name": "rauchg"
+ "name": "rauchg",
+ "email": "rauchg@gmail.com"
},
"_npmVersion": "2.7.5",
"_phantomChildren": {},
"_requested": {
- "name": "ms",
"raw": "ms@0.7.1",
- "rawSpec": "0.7.1",
"scope": null,
+ "escapedName": "ms",
+ "name": "ms",
+ "rawSpec": "0.7.1",
"spec": "0.7.1",
"type": "version"
},
@@ -32,7 +41,7 @@
"_shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
"_shrinkwrap": null,
"_spec": "ms@0.7.1",
- "_where": "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug",
"bugs": {
"url": "https://github.com/guille/ms.js/issues"
},
@@ -51,7 +60,7 @@
"directories": {},
"dist": {
"shasum": "9cd13c03adbff25b65effde7ce864ee952017098",
- "tarball": "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
+ "tarball": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
},
"gitHead": "713dcf26d9e6fd9dbc95affe7eff9783b7f1b909",
"homepage": "https://github.com/guille/ms.js",
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json
index 758deaf8c3..08cc48fc54 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/debug/package.json
@@ -1,28 +1,37 @@
{
"_args": [
[
- "debug@*",
- "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/path-array/node_modules/array-index"
+ {
+ "raw": "debug@^2.2.0",
+ "scope": null,
+ "escapedName": "debug",
+ "name": "debug",
+ "rawSpec": "^2.2.0",
+ "spec": ">=2.2.0 <3.0.0",
+ "type": "range"
+ },
+ "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index"
]
],
- "_from": "debug@*",
+ "_from": "debug@>=2.2.0 <3.0.0",
"_id": "debug@2.2.0",
"_inCache": true,
"_installable": true,
"_location": "/node-gyp/path-array/array-index/debug",
"_nodeVersion": "0.12.2",
"_npmUser": {
- "email": "nathan@tootallnate.net",
- "name": "tootallnate"
+ "name": "tootallnate",
+ "email": "nathan@tootallnate.net"
},
"_npmVersion": "2.7.4",
"_phantomChildren": {},
"_requested": {
- "name": "debug",
- "raw": "debug@*",
- "rawSpec": "*",
+ "raw": "debug@^2.2.0",
"scope": null,
- "spec": "*",
+ "escapedName": "debug",
+ "name": "debug",
+ "rawSpec": "^2.2.0",
+ "spec": ">=2.2.0 <3.0.0",
"type": "range"
},
"_requiredBy": [
@@ -31,11 +40,11 @@
"_resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
"_shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da",
"_shrinkwrap": null,
- "_spec": "debug@*",
- "_where": "/Users/rebecca/code/release/npm-3/node_modules/node-gyp/node_modules/path-array/node_modules/array-index",
+ "_spec": "debug@^2.2.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index",
"author": {
- "email": "tj@vision-media.ca",
- "name": "TJ Holowaychuk"
+ "name": "TJ Holowaychuk",
+ "email": "tj@vision-media.ca"
},
"browser": "./browser.js",
"bugs": {
@@ -43,8 +52,8 @@
},
"component": {
"scripts": {
- "debug/debug.js": "debug.js",
- "debug/index.js": "browser.js"
+ "debug/index.js": "browser.js",
+ "debug/debug.js": "debug.js"
}
},
"contributors": [
@@ -65,14 +74,14 @@
"directories": {},
"dist": {
"shasum": "f87057e995b1a1f6ae6a4960664137bc56f039da",
- "tarball": "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
+ "tarball": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz"
},
"gitHead": "b38458422b5aa8aa6d286b10dfe427e8a67e2b35",
"homepage": "https://github.com/visionmedia/debug",
"keywords": [
"debug",
- "debugger",
- "log"
+ "log",
+ "debugger"
],
"license": "MIT",
"main": "./node.js",
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/.travis.yml b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/.travis.yml
index 6830765b56..0b1f5e4ae3 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/.travis.yml
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/.travis.yml
@@ -4,6 +4,7 @@ node_js:
- 0.12
- v4
- v5
+ - v6
notifications:
email:
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/CHANGES b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/CHANGES
index cbedd4244b..6aebe74ada 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/CHANGES
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/CHANGES
@@ -1,3 +1,9 @@
+v3.1.0 -- 2016.05.17
+* Fix internals of symbol detection
+* Ensure Symbol.prototype[Symbol.toPrimitive] in all cases returns primitive value
+ (fixes Node v6 support)
+* Create native symbols whenver possible
+
v3.0.2 -- 2015.12.12
* Fix definition flow, so uneven state of Symbol implementation doesn't crash initialization of
polyfill. See #13
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-implemented.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-implemented.js
index 53759f3212..93629d2f84 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-implemented.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-implemented.js
@@ -1,18 +1,17 @@
'use strict';
+var validTypes = { object: true, symbol: true };
+
module.exports = function () {
var symbol;
if (typeof Symbol !== 'function') return false;
symbol = Symbol('test symbol');
try { String(symbol); } catch (e) { return false; }
- if (typeof Symbol.iterator === 'symbol') return true;
- // Return 'true' for polyfills
- if (typeof Symbol.isConcatSpreadable !== 'object') return false;
- if (typeof Symbol.iterator !== 'object') return false;
- if (typeof Symbol.toPrimitive !== 'object') return false;
- if (typeof Symbol.toStringTag !== 'object') return false;
- if (typeof Symbol.unscopables !== 'object') return false;
+ // Return 'true' also for polyfills
+ if (!validTypes[typeof Symbol.iterator]) return false;
+ if (!validTypes[typeof Symbol.toPrimitive]) return false;
+ if (!validTypes[typeof Symbol.toStringTag]) return false;
return true;
};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-native-implemented.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-native-implemented.js
index a8cb8b8681..5f073a19ca 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-native-implemented.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-native-implemented.js
@@ -4,5 +4,5 @@
module.exports = (function () {
if (typeof Symbol !== 'function') return false;
- return (typeof Symbol.iterator === 'symbol');
+ return (typeof Symbol() === 'symbol');
}());
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-symbol.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-symbol.js
index beeba2cb4f..074cb07fb5 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-symbol.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/is-symbol.js
@@ -1,5 +1,9 @@
'use strict';
module.exports = function (x) {
- return (x && ((typeof x === 'symbol') || (x['@@toStringTag'] === 'Symbol'))) || false;
+ if (!x) return false;
+ if (typeof x === 'symbol') return true;
+ if (!x.constructor) return false;
+ if (x.constructor.name !== 'Symbol') return false;
+ return (x[x.constructor.toStringTag] === 'Symbol');
};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/d/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/d/package.json
index b7c327850c..0c7a110a4d 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/d/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/d/package.json
@@ -1,7 +1,15 @@
{
"_args": [
[
- "d@~0.1.1",
+ {
+ "raw": "d@~0.1.1",
+ "scope": null,
+ "escapedName": "d",
+ "name": "d",
+ "rawSpec": "~0.1.1",
+ "spec": ">=0.1.1 <0.2.0",
+ "type": "range"
+ },
"/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol"
]
],
@@ -11,16 +19,17 @@
"_installable": true,
"_location": "/node-gyp/path-array/array-index/es6-symbol/d",
"_npmUser": {
- "email": "medikoo+npm@medikoo.com",
- "name": "medikoo"
+ "name": "medikoo",
+ "email": "medikoo+npm@medikoo.com"
},
"_npmVersion": "1.4.3",
"_phantomChildren": {},
"_requested": {
- "name": "d",
"raw": "d@~0.1.1",
- "rawSpec": "~0.1.1",
"scope": null,
+ "escapedName": "d",
+ "name": "d",
+ "rawSpec": "~0.1.1",
"spec": ">=0.1.1 <0.2.0",
"type": "range"
},
@@ -34,8 +43,8 @@
"_spec": "d@~0.1.1",
"_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol",
"author": {
- "email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
+ "email": "medyk@medikoo.com",
"url": "http://www.medikoo.com/"
},
"bugs": {
@@ -51,18 +60,18 @@
"directories": {},
"dist": {
"shasum": "da184c535d18d8ee7ba2aa229b914009fae11309",
- "tarball": "http://registry.npmjs.org/d/-/d-0.1.1.tgz"
+ "tarball": "https://registry.npmjs.org/d/-/d-0.1.1.tgz"
},
"homepage": "https://github.com/medikoo/d",
"keywords": [
"descriptor",
- "descriptors",
- "ecma",
- "ecmascript",
"es",
+ "ecmascript",
+ "ecma",
+ "property",
+ "descriptors",
"meta",
- "properties",
- "property"
+ "properties"
],
"license": "MIT",
"maintainers": [
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/.travis.yml b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/.travis.yml
index e8e18ee77d..39fd70e64e 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/.travis.yml
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/.travis.yml
@@ -4,6 +4,7 @@ node_js:
- 0.12
- 4
- 5
+ - 6
before_install:
- mkdir node_modules; ln -s ../ node_modules/es5-ext
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/CHANGES b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/CHANGES
index 92ee5f6ef6..4ecc2db075 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/CHANGES
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/CHANGES
@@ -1,3 +1,8 @@
+v0.10.12 -- 2016.07.01
+* Ensure symbols are copied in Object.mixin
+* Prevent RangeError errors in array#flatten
+* Do not validate invalidate dates in validDate
+
v0.10.11 -- 2015.12.18
* Ensure that check for implementation of RegExp flags doesn't crash in V8 (thanks @mathiasbynens)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/README.md b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/README.md
index ad09fe2317..11d8a343d5 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/README.md
@@ -11,7 +11,7 @@ When used in ECMAScript 6 environment, native implementation (if valid) takes pr
### Installation
$ npm install es5-ext
-
+
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
### Usage
@@ -114,7 +114,7 @@ Object.defineProperty(String.prototype, 'capitalize', { value: require('es5-ext/
configurable: true, enumerable: false, writable: true });
```
-See [es5-extend](https://github.com/wookieb/es5-extend#es5-extend), a great utility that automatically will extend natives for you.
+See [es5-extend](https://github.com/wookieb/es5-extend#es5-extend), a great utility that automatically will extend natives for you.
__Important:__ Remember to __not__ extend natives in scope of generic reusable packages (e.g. ones you intend to publish to npm). Extending natives is fine __only__ if you're the _owner_ of the global scope, so e.g. in final project you lead development of.
@@ -162,7 +162,7 @@ Object that represents global scope
#### from(arrayLike[, mapFn[, thisArg]]) _(es5-ext/array/from)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from).
Returns array representation of _iterable_ or _arrayLike_. If _arrayLike_ is an instance of array, its copy is returned.
#### generate([length[, …fill]]) _(es5-ext/array/generate)_
@@ -175,7 +175,7 @@ Returns true if object is plain array (not instance of one of the Array's extens
#### of([…items]) _(es5-ext/array/of)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.of).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.of).
Create an array from given arguments.
#### toArray(obj) _(es5-ext/array/to-array)_
@@ -190,7 +190,7 @@ Returns `obj` if it's an array, otherwise throws `TypeError`
#### arr.binarySearch(compareFn) _(es5-ext/array/#/binary-search)_
-In __sorted__ list search for index of item for which _compareFn_ returns value closest to _0_.
+In __sorted__ list search for index of item for which _compareFn_ returns value closest to _0_.
It's variant of binary search algorithm
#### arr.clear() _(es5-ext/array/#/clear)_
@@ -203,7 +203,7 @@ Returns a copy of the context with all non-values (`null` or `undefined`) remove
#### arr.concat() _(es5-ext/array/#/concat)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.concat).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.concat).
ES6's version of `concat`. Supports `isConcatSpreadable` symbol, and returns array of same type as the context.
#### arr.contains(searchElement[, position]) _(es5-ext/array/#/contains)_
@@ -212,7 +212,7 @@ Whether list contains the given value.
#### arr.copyWithin(target, start[, end]) _(es5-ext/array/#/copy-within)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.copywithin).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.copywithin).
#### arr.diff(other) _(es5-ext/array/#/diff)_
@@ -228,7 +228,7 @@ _egal_ version of `lastIndexOf` method. [_SameValueZero_](http://people.mozilla.
#### arr.entries() _(es5-ext/array/#/entries)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.entries).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.entries).
Returns iterator object, which traverses the array. Each value is represented with an array, where first value is an index and second is corresponding to index value.
#### arr.exclusion([…lists]]) _(es5-ext/array/#/exclusion)_
@@ -237,21 +237,21 @@ Returns the array of elements that are found only in one of the lists (either co
#### arr.fill(value[, start, end]) _(es5-ext/array/#/fill)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.fill).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.fill).
#### arr.filter(callback[, thisArg]) _(es5-ext/array/#/filter)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.filter).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.filter).
ES6's version of `filter`, returns array of same type as the context.
#### arr.find(predicate[, thisArg]) _(es5-ext/array/#/find)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.find).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.find).
Return first element for which given function returns true
#### arr.findIndex(predicate[, thisArg]) _(es5-ext/array/#/find-index)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.findindex).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.findindex).
Return first index for which given function returns true
#### arr.first() _(es5-ext/array/#/first)_
@@ -292,7 +292,7 @@ Returns true if all values in array are unique
#### arr.keys() _(es5-ext/array/#/keys)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.keys).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.keys).
Returns iterator object, which traverses all array indexes.
#### arr.last() _(es5-ext/array/#/last)_
@@ -305,7 +305,7 @@ Returns last defined index of the array
#### arr.map(callback[, thisArg]) _(es5-ext/array/#/map)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.map).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.map).
ES6's version of `map`, returns array of same type as the context.
#### arr.remove(value[, …valuen]) _(es5-ext/array/#/remove)_
@@ -318,7 +318,7 @@ Returns array with items separated with `sep` value
#### arr.slice(callback[, thisArg]) _(es5-ext/array/#/slice)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.slice).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.slice).
ES6's version of `slice`, returns array of same type as the context.
#### arr.someRight(cb[, thisArg]) _(es5-ext/array/#/someRight)_
@@ -327,7 +327,7 @@ ES6's version of `slice`, returns array of same type as the context.
#### arr.splice(callback[, thisArg]) _(es5-ext/array/#/splice)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.splice).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.splice).
ES6's version of `splice`, returns array of same type as the context.
#### arr.uniq() _(es5-ext/array/#/uniq)_
@@ -336,12 +336,12 @@ Returns duplicate-free version of the array
#### arr.values() _(es5-ext/array/#/values)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.values).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype.values).
Returns iterator object which traverses all array values.
#### arr[@@iterator] _(es5-ext/array/#/@@iterator)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype-@@iterator).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.prototype-@@iterator).
Returns iterator object which traverses all array values.
### Boolean Constructor extensions
@@ -399,11 +399,11 @@ Formats date up to given string. Supported patterns:
#### custom(message/*, code, ext*/) _(es5-ext/error/custom)_
-Creates custom error object, optinally extended with `code` and other extension properties (provided with `ext` object)
+Creates custom error object, optinally extended with `code` and other extension properties (provided with `ext` object)
#### isError(x) _(es5-ext/error/is-error)_
-Whether value is an error (instance of `Error`).
+Whether value is an error (instance of `Error`).
#### validError(x) _(es5-ext/error/valid-error)_
@@ -434,7 +434,7 @@ _i(x) =def x_
#### invoke(name[, …args]) _(es5-ext/function/invoke)_
Returns a function that takes an object as an argument, and applies object's
-_name_ method to arguments.
+_name_ method to arguments.
_name_ can be name of the method or method itself.
_invoke(name, …args)(object, …args2) =def object\[name\]\(…args, …args2\)_
@@ -478,7 +478,7 @@ Produces copy of given function
#### fn.curry([n]) _(es5-ext/function/#/curry)_
-Invoking the function returned by this function only _n_ arguments are passed to the underlying function. If the underlying function is not saturated, the result is a function that passes all its arguments to the underlying function.
+Invoking the function returned by this function only _n_ arguments are passed to the underlying function. If the underlying function is not saturated, the result is a function that passes all its arguments to the underlying function.
If _n_ is not provided then it defaults to context function length
_f.curry(4)(arg1, arg2)(arg3)(arg4) =def f(arg1, args2, arg3, arg4)_
@@ -517,93 +517,93 @@ Serializes function into two (arguments and body) string tokens. Result is plain
#### acosh(x) _(es5-ext/math/acosh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.acosh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.acosh).
#### asinh(x) _(es5-ext/math/asinh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.asinh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.asinh).
#### atanh(x) _(es5-ext/math/atanh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.atanh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.atanh).
#### cbrt(x) _(es5-ext/math/cbrt)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cbrt).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cbrt).
#### clz32(x) _(es5-ext/math/clz32)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.clz32).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.clz32).
#### cosh(x) _(es5-ext/math/cosh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cosh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.cosh).
#### expm1(x) _(es5-ext/math/expm1)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.expm1).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.expm1).
#### fround(x) _(es5-ext/math/fround)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.fround).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.fround).
#### hypot([…values]) _(es5-ext/math/hypot)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.hypot).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.hypot).
#### imul(x, y) _(es5-ext/math/imul)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.imul).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.imul).
#### log1p(x) _(es5-ext/math/log1p)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log1p).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log1p).
#### log2(x) _(es5-ext/math/log2)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log2).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log2).
#### log10(x) _(es5-ext/math/log10)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log10).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.log10).
#### sign(x) _(es5-ext/math/sign)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sign).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sign).
#### sinh(x) _(es5-ext/math/sinh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sinh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.sinh).
#### tanh(x) _(es5-ext/math/tanh)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.tanh).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.tanh).
#### trunc(x) _(es5-ext/math/trunc)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.trunc).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-math.trunc).
### Number Constructor extensions
#### EPSILON _(es5-ext/number/epsilon)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.epsilon).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.epsilon).
The difference between 1 and the smallest value greater than 1 that is representable as a Number value, which is approximately 2.2204460492503130808472633361816 x 10-16.
#### isFinite(x) _(es5-ext/number/is-finite)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isfinite).
Whether value is finite. Differs from global isNaN that it doesn't do type coercion.
#### isInteger(x) _(es5-ext/number/is-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isinteger).
Whether value is integer.
#### isNaN(x) _(es5-ext/number/is-nan)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isnan).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.isnan).
Whether value is NaN. Differs from global isNaN that it doesn't do type coercion.
#### isNumber(x) _(es5-ext/number/is-number)_
@@ -612,16 +612,16 @@ Whether given value is number
#### isSafeInteger(x) _(es5-ext/number/is-safe-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.issafeinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.issafeinteger).
#### MAX_SAFE_INTEGER _(es5-ext/number/max-safe-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.maxsafeinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.maxsafeinteger).
The value of Number.MAX_SAFE_INTEGER is 9007199254740991.
#### MIN_SAFE_INTEGER _(es5-ext/number/min-safe-integer)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.minsafeinteger).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-number.minsafeinteger).
The value of Number.MIN_SAFE_INTEGER is -9007199254740991 (253-1).
#### toInteger(x) _(es5-ext/number/to-integer)_
@@ -647,7 +647,7 @@ Pad given number with zeros. Returns string
#### assign(target, source[, …sourcen]) _(es5-ext/object/assign)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.assign).
Extend _target_ by enumerable own properties of other objects. If properties are already set on target object, they will be overwritten.
#### clear(obj) _(es5-ext/object/clear)_
@@ -690,7 +690,7 @@ Whether two values are equal, using [_SameValueZero_](http://people.mozilla.org/
#### every(obj, cb[, thisArg[, compareFn]]) _(es5-ext/object/every)_
-Analogous to Array.prototype.every. Returns true if every key-value pair in this object satisfies the provided testing function.
+Analogous to Array.prototype.every. Returns true if every key-value pair in this object satisfies the provided testing function.
Optionally _compareFn_ can be provided which assures that keys are tested in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### filter(obj, cb[, thisArg]) _(es5-ext/object/filter)_
@@ -750,7 +750,7 @@ Search object for value
#### keys(obj) _(es5-ext/object/keys)_
-[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.keys).
+[_Updated with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.keys).
ES6's version of `keys`, doesn't throw on primitive input
#### map(obj, cb[, thisArg]) _(es5-ext/object/map)_
@@ -773,7 +773,7 @@ Useful as an alternative for `setPrototypeOf` in environments in which it cannot
#### normalizeOptions(options) _(es5-ext/object/normalize-options)_
-Normalizes options object into flat plain object.
+Normalizes options object into flat plain object.
Useful for functions in which we either need to keep options object for future reference or need to modify it for internal use.
@@ -795,18 +795,18 @@ Serialize value into string. Differs from [JSON.stringify](https://developer.moz
#### setPrototypeOf(object, proto) _(es5-ext/object/set-prototype-of)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof).
If native version is not provided, it depends on existence of `__proto__` functionality, if it's missing, `null` instead of function is exposed.
#### some(obj, cb[, thisArg[, compareFn]]) _(es5-ext/object/some)_
Analogous to Array.prototype.some Returns true if any key-value pair satisfies the provided
-testing function.
+testing function.
Optionally _compareFn_ can be provided which assures that keys are tested in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### toArray(obj[, cb[, thisArg[, compareFn]]]) _(es5-ext/object/to-array)_
-Creates an array of results of calling a provided function on every key-value pair in this object.
+Creates an array of results of calling a provided function on every key-value pair in this object.
Optionally _compareFn_ can be provided which assures that results are added in given order. If provided _compareFn_ is equal to `true`, then order is alphabetical (by key).
#### unserialize(str) _(es5-ext/object/unserialize)_
@@ -855,28 +855,28 @@ It's to be used as counterpart to [regExp.unicode](http://people.mozilla.org/~jo
#### re.match(string) _(es5-ext/reg-exp/#/match)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.match).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.match).
#### re.replace(string, replaceValue) _(es5-ext/reg-exp/#/replace)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.replace).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.replace).
#### re.search(string) _(es5-ext/reg-exp/#/search)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.search).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.search).
#### re.split(string) _(es5-ext/reg-exp/#/search)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.split).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.split).
#### re.sticky _(es5-ext/reg-exp/#/sticky/implement)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.sticky).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.sticky).
It's a getter, so only `implement` and `is-implemented` modules are provided.
#### re.unicode _(es5-ext/reg-exp/#/unicode/implement)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.unicode).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regexp.prototype.unicode).
It's a getter, so only `implement` and `is-implemented` modules are provided.
### String Constructor extensions
@@ -937,7 +937,7 @@ Whether string contains given string.
#### str.endsWith(searchString[, endPosition]) _(es5-ext/string/#/ends-with)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.endswith).
Whether strings ends with given string
#### str.hyphenToCamel() _(es5-ext/string/#/hyphen-to-camel)_
@@ -955,8 +955,8 @@ Return last character
#### str.normalize([form]) _(es5-ext/string/#/normalize)_
-[_Introduced with ECMAScript 6_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize).
-Returns the Unicode Normalization Form of a given string.
+[_Introduced with ECMAScript 6_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/normalize).
+Returns the Unicode Normalization Form of a given string.
Based on Matsuza's version. Code used for integrated shim can be found at [github.com/walling/unorm](https://github.com/walling/unorm/blob/master/lib/unorm.js)
#### str.pad(fill[, length]) _(es5-ext/string/#/pad)_
@@ -967,7 +967,7 @@ If _length_ is negative then pad is applied from right.
#### str.repeat(n) _(es5-ext/string/#/repeat)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.repeat).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.repeat).
Repeat given string _n_ times
#### str.plainReplace(search, replace) _(es5-ext/string/#/plain-replace)_
@@ -980,12 +980,12 @@ Simple `replace` version. Doesn't support regular expressions. Replaces all occu
#### str.startsWith(searchString[, position]) _(es5-ext/string/#/starts-with)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype.startswith).
Whether strings starts with given string
#### str[@@iterator] _(es5-ext/string/#/@@iterator)_
-[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype-@@iterator).
+[_Introduced with ECMAScript 6_](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string.prototype-@@iterator).
Returns iterator object which traverses all string characters (with respect to unicode symbols)
### Tests [![Build Status](https://travis-ci.org/medikoo/es5-ext.png)](https://travis-ci.org/medikoo/es5-ext)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/flatten.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/flatten.js
index c95407d317..4bf267f2ba 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/flatten.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/array/#/flatten.js
@@ -1,12 +1,15 @@
'use strict';
-var isArray = Array.isArray, forEach = Array.prototype.forEach
- , push = Array.prototype.push;
+var isArray = Array.isArray, forEach = Array.prototype.forEach;
module.exports = function flatten() {
var r = [];
forEach.call(this, function (x) {
- push.apply(r, isArray(x) ? flatten.call(x) : [x]);
+ if (isArray(x)) {
+ r = r.concat(flatten.call(x));
+ } else {
+ r.push(x);
+ }
});
return r;
};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/date/valid-date.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/date/valid-date.js
index 7d1a9b60d4..d0f1b6ce2b 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/date/valid-date.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/date/valid-date.js
@@ -3,6 +3,6 @@
var isDate = require('./is-date');
module.exports = function (x) {
- if (!isDate(x)) throw new TypeError(x + " is not a Date object");
+ if (!isDate(x) || isNaN(x)) throw new TypeError(x + " is not valid Date object");
return x;
};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/README.md b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/README.md
index 30faa82bba..288373da7a 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/README.md
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/README.md
@@ -4,7 +4,7 @@
### Installation
$ npm install es6-iterator
-
+
To port it to Browser or any other (non CJS) environment, use your favorite CJS bundler. No favorite yet? Try: [Browserify](http://browserify.org/), [Webmake](https://github.com/medikoo/modules-webmake) or [Webpack](http://webpack.github.io/)
## API
@@ -63,7 +63,7 @@ May also be used for _arguments_ objects:
#### StringIterator(str) _(es6-iterator/string)_
-Assures proper iteration over unicode symbols.
+Assures proper iteration over unicode symbols.
See: http://mathiasbynens.be/notes/javascript-unicode
```javascript
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/package.json
index e4e603f6b2..92a871dcfd 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/node_modules/es6-iterator/package.json
@@ -1,7 +1,15 @@
{
"_args": [
[
- "es6-iterator@2",
+ {
+ "raw": "es6-iterator@2",
+ "scope": null,
+ "escapedName": "es6-iterator",
+ "name": "es6-iterator",
+ "rawSpec": "2",
+ "spec": ">=2.0.0 <3.0.0",
+ "type": "range"
+ },
"/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext"
]
],
@@ -12,16 +20,17 @@
"_location": "/node-gyp/path-array/array-index/es6-symbol/es5-ext/es6-iterator",
"_nodeVersion": "0.12.7",
"_npmUser": {
- "email": "medikoo+npm@medikoo.com",
- "name": "medikoo"
+ "name": "medikoo",
+ "email": "medikoo+npm@medikoo.com"
},
"_npmVersion": "2.11.3",
"_phantomChildren": {},
"_requested": {
- "name": "es6-iterator",
"raw": "es6-iterator@2",
- "rawSpec": "2",
"scope": null,
+ "escapedName": "es6-iterator",
+ "name": "es6-iterator",
+ "rawSpec": "2",
"spec": ">=2.0.0 <3.0.0",
"type": "range"
},
@@ -34,8 +43,8 @@
"_spec": "es6-iterator@2",
"_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext",
"author": {
- "email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
+ "email": "medyk@medikoo.com",
"url": "http://www.medikoo.com/"
},
"bugs": {
@@ -56,17 +65,17 @@
"directories": {},
"dist": {
"shasum": "bd968567d61635e33c0b80727613c9cb4b096bac",
- "tarball": "http://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz"
+ "tarball": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz"
},
"gitHead": "4d9445834e87780ab373b14d6791e860899e2d31",
"homepage": "https://github.com/medikoo/es6-iterator#readme",
"keywords": [
- "array",
- "generator",
"iterator",
+ "array",
"list",
+ "set",
"map",
- "set"
+ "generator"
],
"license": "MIT",
"maintainers": [
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/object/mixin.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/object/mixin.js
index 80b5df5e04..488523eea1 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/object/mixin.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/object/mixin.js
@@ -4,16 +4,24 @@ var value = require('./valid-value')
, defineProperty = Object.defineProperty
, getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor
- , getOwnPropertyNames = Object.getOwnPropertyNames;
+ , getOwnPropertyNames = Object.getOwnPropertyNames
+ , getOwnPropertySymbols = Object.getOwnPropertySymbols;
module.exports = function (target, source) {
- var error;
+ var error, sourceObject = Object(value(source));
target = Object(value(target));
- getOwnPropertyNames(Object(value(source))).forEach(function (name) {
+ getOwnPropertyNames(sourceObject).forEach(function (name) {
try {
defineProperty(target, name, getOwnPropertyDescriptor(source, name));
} catch (e) { error = e; }
});
+ if (typeof getOwnPropertySymbols === 'function') {
+ getOwnPropertySymbols(sourceObject).forEach(function (symbol) {
+ try {
+ defineProperty(target, symbol, getOwnPropertyDescriptor(source, symbol));
+ } catch (e) { error = e; }
+ });
+ }
if (error !== undefined) throw error;
return target;
};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/package.json
index 597a347e96..39321320a4 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/package.json
@@ -1,32 +1,45 @@
{
"_args": [
[
- "es5-ext@~0.10.10",
- "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol"
+ {
+ "raw": "es5-ext@~0.10.11",
+ "scope": null,
+ "escapedName": "es5-ext",
+ "name": "es5-ext",
+ "rawSpec": "~0.10.11",
+ "spec": ">=0.10.11 <0.11.0",
+ "type": "range"
+ },
+ "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol"
]
],
- "_from": "es5-ext@>=0.10.10 <0.11.0",
- "_id": "es5-ext@0.10.11",
+ "_from": "es5-ext@>=0.10.11 <0.11.0",
+ "_id": "es5-ext@0.10.12",
"_inCache": true,
"_installable": true,
"_location": "/node-gyp/path-array/array-index/es6-symbol/es5-ext",
- "_nodeVersion": "4.2.3",
+ "_nodeVersion": "4.4.5",
+ "_npmOperationalInternal": {
+ "host": "packages-16-east.internal.npmjs.com",
+ "tmp": "tmp/es5-ext-0.10.12.tgz_1467387765797_0.7073166444897652"
+ },
"_npmUser": {
- "email": "medikoo+npm@medikoo.com",
- "name": "medikoo"
+ "name": "medikoo",
+ "email": "medikoo+npm@medikoo.com"
},
- "_npmVersion": "2.14.7",
+ "_npmVersion": "2.15.5",
"_phantomChildren": {
"d": "0.1.1",
- "es5-ext": "0.10.11",
- "es6-symbol": "3.0.2"
+ "es5-ext": "0.10.12",
+ "es6-symbol": "3.1.0"
},
"_requested": {
- "name": "es5-ext",
- "raw": "es5-ext@~0.10.10",
- "rawSpec": "~0.10.10",
+ "raw": "es5-ext@~0.10.11",
"scope": null,
- "spec": ">=0.10.10 <0.11.0",
+ "escapedName": "es5-ext",
+ "name": "es5-ext",
+ "rawSpec": "~0.10.11",
+ "spec": ">=0.10.11 <0.11.0",
"type": "range"
},
"_requiredBy": [
@@ -34,14 +47,14 @@
"/node-gyp/path-array/array-index/es6-symbol/d",
"/node-gyp/path-array/array-index/es6-symbol/es5-ext/es6-iterator"
],
- "_resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz",
- "_shasum": "8184c3e705a820948c2dbe043849379b1dbd0c45",
+ "_resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz",
+ "_shasum": "aa84641d4db76b62abba5e45fd805ecbab140047",
"_shrinkwrap": null,
- "_spec": "es5-ext@~0.10.10",
- "_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol",
+ "_spec": "es5-ext@~0.10.11",
+ "_where": "/Users/zkat/Documents/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol",
"author": {
- "email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
+ "email": "medyk@medikoo.com",
"url": "http://www.medikoo.com/"
},
"bugs": {
@@ -49,7 +62,7 @@
},
"dependencies": {
"es6-iterator": "2",
- "es6-symbol": "~3.0.2"
+ "es6-symbol": "~3.1"
},
"description": "ECMAScript extensions and shims",
"devDependencies": {
@@ -59,28 +72,28 @@
},
"directories": {},
"dist": {
- "shasum": "8184c3e705a820948c2dbe043849379b1dbd0c45",
- "tarball": "http://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz"
+ "shasum": "aa84641d4db76b62abba5e45fd805ecbab140047",
+ "tarball": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.12.tgz"
},
- "gitHead": "aba94140a6bf79ce1a448a2db8834e8c1842b527",
+ "gitHead": "96fddc3a327b3a28b1653af9490e3b905f127fa8",
"homepage": "https://github.com/medikoo/es5-ext#readme",
"keywords": [
- "addons",
"ecmascript",
"ecmascript5",
"ecmascript6",
"es5",
"es6",
- "ext",
"extensions",
+ "ext",
+ "addons",
"extras",
"harmony",
"javascript",
"polyfill",
"shim",
"util",
- "utilities",
- "utils"
+ "utils",
+ "utilities"
],
"license": "MIT",
"maintainers": [
@@ -101,5 +114,5 @@
"lint-console": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --watch",
"test": "node ./node_modules/tad/bin/tad"
},
- "version": "0.10.11"
+ "version": "0.10.12"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/camel-to-hyphen.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/camel-to-hyphen.js
index 8b47a8158a..64e35c03da 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/camel-to-hyphen.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/camel-to-hyphen.js
@@ -2,4 +2,6 @@
module.exports = function (t, a) {
a(t.call('razDwaTRzy4yFoo45My'), 'raz-dwa-t-rzy4y-foo45-my');
+ a(t.call('razDwaTRzy4yFoo45My-'), 'raz-dwa-t-rzy4y-foo45-my-');
+ a(t.call('razDwaTRzy4yFoo45My--'), 'raz-dwa-t-rzy4y-foo45-my--');
};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/hyphen-to-camel.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/hyphen-to-camel.js
index bd7ded4bef..0118dd8173 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/hyphen-to-camel.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/node_modules/es5-ext/test/string/#/hyphen-to-camel.js
@@ -2,4 +2,6 @@
module.exports = function (t, a) {
a(t.call('raz-dwa-t-rzy-4y-rtr4-tiu-45-pa'), 'razDwaTRzy4yRtr4Tiu45Pa');
+ a(t.call('raz-dwa-t-rzy-4y-rtr4-tiu-45-pa-'), 'razDwaTRzy4yRtr4Tiu45Pa-');
+ a(t.call('raz-dwa-t-rzy-4y-rtr4-tiu-45-pa--'), 'razDwaTRzy4yRtr4Tiu45Pa--');
};
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/package.json
index f98280ca28..2e12775fc7 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/package.json
@@ -1,29 +1,42 @@
{
"_args": [
[
- "es6-symbol@^3.0.2",
+ {
+ "raw": "es6-symbol@^3.0.2",
+ "scope": null,
+ "escapedName": "es6-symbol",
+ "name": "es6-symbol",
+ "rawSpec": "^3.0.2",
+ "spec": ">=3.0.2 <4.0.0",
+ "type": "range"
+ },
"/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index"
]
],
"_from": "es6-symbol@>=3.0.2 <4.0.0",
- "_id": "es6-symbol@3.0.2",
+ "_id": "es6-symbol@3.1.0",
"_inCache": true,
"_installable": true,
"_location": "/node-gyp/path-array/array-index/es6-symbol",
- "_nodeVersion": "5.2.0",
+ "_nodeVersion": "4.4.5",
+ "_npmOperationalInternal": {
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/es6-symbol-3.1.0.tgz_1464960261964_0.3645231726113707"
+ },
"_npmUser": {
- "email": "medikoo+npm@medikoo.com",
- "name": "medikoo"
+ "name": "medikoo",
+ "email": "medikoo+npm@medikoo.com"
},
- "_npmVersion": "3.3.12",
+ "_npmVersion": "2.15.5",
"_phantomChildren": {
- "es6-symbol": "3.0.2"
+ "es6-symbol": "3.1.0"
},
"_requested": {
- "name": "es6-symbol",
"raw": "es6-symbol@^3.0.2",
- "rawSpec": "^3.0.2",
"scope": null,
+ "escapedName": "es6-symbol",
+ "name": "es6-symbol",
+ "rawSpec": "^3.0.2",
"spec": ">=3.0.2 <4.0.0",
"type": "range"
},
@@ -32,14 +45,14 @@
"/node-gyp/path-array/array-index/es6-symbol/es5-ext",
"/node-gyp/path-array/array-index/es6-symbol/es5-ext/es6-iterator"
],
- "_resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz",
- "_shasum": "1e928878c6f5e63541625b4bb4df4af07d154219",
+ "_resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz",
+ "_shasum": "94481c655e7a7cad82eba832d97d5433496d7ffa",
"_shrinkwrap": null,
"_spec": "es6-symbol@^3.0.2",
"_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index",
"author": {
- "email": "medyk@medikoo.com",
"name": "Mariusz Nowak",
+ "email": "medyk@medikoo.com",
"url": "http://www.medikoo.com/"
},
"bugs": {
@@ -47,7 +60,7 @@
},
"dependencies": {
"d": "~0.1.1",
- "es5-ext": "~0.10.10"
+ "es5-ext": "~0.10.11"
},
"description": "ECMAScript 6 Symbol polyfill",
"devDependencies": {
@@ -57,20 +70,20 @@
},
"directories": {},
"dist": {
- "shasum": "1e928878c6f5e63541625b4bb4df4af07d154219",
- "tarball": "http://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz"
+ "shasum": "94481c655e7a7cad82eba832d97d5433496d7ffa",
+ "tarball": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz"
},
- "gitHead": "b7da6b926c44e3745de69b17c98c00a5c84b4ebe",
+ "gitHead": "f84175053e9cad6a1230f3b7cc13e078c3fcc12f",
"homepage": "https://github.com/medikoo/es6-symbol#readme",
"keywords": [
- "ecmascript",
+ "symbol",
+ "private",
+ "property",
"es6",
+ "ecmascript",
"harmony",
- "polyfill",
"ponyfill",
- "private",
- "property",
- "symbol"
+ "polyfill"
],
"license": "MIT",
"maintainers": [
@@ -91,5 +104,5 @@
"lint-console": "node node_modules/xlint/bin/xlint --linter=node_modules/xlint-jslint-medikoo/index.js --watch",
"test": "node ./node_modules/tad/bin/tad"
},
- "version": "3.0.2"
+ "version": "3.1.0"
}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/polyfill.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/polyfill.js
index 7c3c8fe900..48832a5f36 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/polyfill.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/polyfill.js
@@ -1,4 +1,4 @@
-// ES2015 Symbol polyfill for environments that do not support it (or partially support it_
+// ES2015 Symbol polyfill for environments that do not support it (or partially support it)
'use strict';
@@ -7,9 +7,16 @@ var d = require('d')
, create = Object.create, defineProperties = Object.defineProperties
, defineProperty = Object.defineProperty, objPrototype = Object.prototype
- , NativeSymbol, SymbolPolyfill, HiddenSymbol, globalSymbols = create(null);
+ , NativeSymbol, SymbolPolyfill, HiddenSymbol, globalSymbols = create(null)
+ , isNativeSafe;
-if (typeof Symbol === 'function') NativeSymbol = Symbol;
+if (typeof Symbol === 'function') {
+ NativeSymbol = Symbol;
+ try {
+ String(NativeSymbol());
+ isNativeSafe = true;
+ } catch (ignore) {}
+}
var generateName = (function () {
var created = create(null);
@@ -45,6 +52,7 @@ HiddenSymbol = function Symbol(description) {
module.exports = SymbolPolyfill = function Symbol(description) {
var symbol;
if (this instanceof Symbol) throw new TypeError('TypeError: Symbol is not a constructor');
+ if (isNativeSafe) return NativeSymbol(description);
symbol = create(HiddenSymbol.prototype);
description = (description === undefined ? '' : String(description));
return defineProperties(symbol, {
@@ -91,8 +99,11 @@ defineProperties(SymbolPolyfill.prototype, {
toString: d(function () { return 'Symbol (' + validateSymbol(this).__description__ + ')'; }),
valueOf: d(function () { return validateSymbol(this); })
});
-defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d('',
- function () { return validateSymbol(this); }));
+defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d('', function () {
+ var symbol = validateSymbol(this);
+ if (typeof symbol === 'symbol') return symbol;
+ return symbol.toString();
+}));
defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d('c', 'Symbol'));
// Proper implementaton of toPrimitive and toStringTag for returned symbol instances
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/test/polyfill.js b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/test/polyfill.js
index 83fb5e9253..8b657905de 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/test/polyfill.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/node_modules/es6-symbol/test/polyfill.js
@@ -18,8 +18,10 @@ module.exports = function (T, a) {
x = {};
x[symbol] = 'foo';
- a.deep(Object.getOwnPropertyDescriptor(x, symbol), { configurable: true, enumerable: false,
- value: 'foo', writable: true });
+ if (typeof symbol !== 'symbol') {
+ a.deep(Object.getOwnPropertyDescriptor(x, symbol), { configurable: true, enumerable: false,
+ value: 'foo', writable: true });
+ }
symbol = T.for('marko');
a(isSymbol(symbol), true);
a(T.for('marko'), symbol);
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json
index dd33e38560..a4e27587fa 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/node_modules/array-index/package.json
@@ -1,7 +1,15 @@
{
"_args": [
[
- "array-index@^1.0.0",
+ {
+ "raw": "array-index@^1.0.0",
+ "scope": null,
+ "escapedName": "array-index",
+ "name": "array-index",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
"/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array"
]
],
@@ -12,16 +20,17 @@
"_location": "/node-gyp/path-array/array-index",
"_nodeVersion": "5.3.0",
"_npmUser": {
- "email": "nathan@tootallnate.net",
- "name": "tootallnate"
+ "name": "tootallnate",
+ "email": "nathan@tootallnate.net"
},
"_npmVersion": "3.3.12",
"_phantomChildren": {},
"_requested": {
- "name": "array-index",
"raw": "array-index@^1.0.0",
- "rawSpec": "^1.0.0",
"scope": null,
+ "escapedName": "array-index",
+ "name": "array-index",
+ "rawSpec": "^1.0.0",
"spec": ">=1.0.0 <2.0.0",
"type": "range"
},
@@ -34,8 +43,8 @@
"_spec": "array-index@^1.0.0",
"_where": "/Users/rebecca/code/npm/node_modules/node-gyp/node_modules/path-array",
"author": {
- "email": "nathan@tootallnate.net",
"name": "Nathan Rajlich",
+ "email": "nathan@tootallnate.net",
"url": "http://tootallnate.net"
},
"bugs": {
@@ -50,7 +59,7 @@
"directories": {},
"dist": {
"shasum": "ec56a749ee103e4e08c790b9c353df16055b97f9",
- "tarball": "http://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz"
+ "tarball": "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz"
},
"engines": {
"node": "*"
@@ -58,11 +67,11 @@
"gitHead": "4b3cc059c70eefd8ef2a0d4213d681b671eb3d11",
"homepage": "https://github.com/TooTallNate/array-index#readme",
"keywords": [
+ "index",
"array",
"getter",
- "index",
- "proxy",
- "setter"
+ "setter",
+ "proxy"
],
"license": "MIT",
"main": "index.js",
diff --git a/deps/npm/node_modules/node-gyp/node_modules/path-array/package.json b/deps/npm/node_modules/node-gyp/node_modules/path-array/package.json
index e69958df33..df328efaf5 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/path-array/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/path-array/package.json
@@ -1,7 +1,15 @@
{
"_args": [
[
- "path-array@^1.0.0",
+ {
+ "raw": "path-array@^1.0.0",
+ "scope": null,
+ "escapedName": "path-array",
+ "name": "path-array",
+ "rawSpec": "^1.0.0",
+ "spec": ">=1.0.0 <2.0.0",
+ "type": "range"
+ },
"/Users/rebecca/code/npm/node_modules/node-gyp"
]
],
@@ -12,16 +20,17 @@
"_location": "/node-gyp/path-array",
"_nodeVersion": "5.3.0",
"_npmUser": {
- "email": "nathan@tootallnate.net",
- "name": "tootallnate"
+ "name": "tootallnate",
+ "email": "nathan@tootallnate.net"
},
"_npmVersion": "3.3.12",
"_phantomChildren": {},
"_requested": {
- "name": "path-array",
"raw": "path-array@^1.0.0",
- "rawSpec": "^1.0.0",
"scope": null,
+ "escapedName": "path-array",
+ "name": "path-array",
+ "rawSpec": "^1.0.0",
"spec": ">=1.0.0 <2.0.0",
"type": "range"
},
@@ -34,8 +43,8 @@
"_spec": "path-array@^1.0.0",
"_where": "/Users/rebecca/code/npm/node_modules/node-gyp",
"author": {
- "email": "nathan@tootallnate.net",
"name": "Nathan Rajlich",
+ "email": "nathan@tootallnate.net",
"url": "http://n8.io/"
},
"bugs": {
@@ -51,14 +60,14 @@
"directories": {},
"dist": {
"shasum": "7e2f0f35f07a2015122b868b7eac0eb2c4fec271",
- "tarball": "http://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz"
+ "tarball": "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz"
},
"gitHead": "d249bd897661ca60720218edabbfeaa73c67778a",
"homepage": "https://github.com/TooTallNate/node-path-array",
"keywords": [
"PATH",
- "array",
- "env"
+ "env",
+ "array"
],
"license": "MIT",
"main": "index.js",