fsevents 1.1.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fsevents might be problematic. Click here for more details.

Files changed (590) hide show
  1. package/.travis.yml +8 -10
  2. package/build/.target.mk +6 -2
  3. package/build/Makefile +6 -6
  4. package/build/Release/.deps/Release/.node.d +1 -0
  5. package/build/Release/.deps/Release/fse.node.d +1 -0
  6. package/build/Release/.deps/Release/obj.target/action_after_build.stamp.d +1 -0
  7. package/build/Release/.deps/Release/obj.target/fse/fsevents.o.d +65 -0
  8. package/build/Release/.deps/Users/eshanker/Code/fsevents/lib/binding/Release/node-v48-darwin-x64/fse.node.d +1 -0
  9. package/build/Release/.node +0 -0
  10. package/build/Release/fse.node +0 -0
  11. package/build/Release/obj.target/action_after_build.stamp +0 -0
  12. package/build/Release/obj.target/fse/fsevents.o +0 -0
  13. package/build/action_after_build.target.mk +4 -4
  14. package/build/fse.target.mk +22 -12
  15. package/build/gyp-mac-tool +1 -2
  16. package/build/stage/v1.1.2/fse-v1.1.2-node-v48-darwin-x64.tar.gz +0 -0
  17. package/fsevents.cc +3 -1
  18. package/install.js +2 -2
  19. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  20. package/lib/binding/Release/node-v57-darwin-x64/fse.node +0 -0
  21. package/node_modules/abbrev/package.json +15 -51
  22. package/node_modules/ajv/.tonic_example.js +20 -0
  23. package/node_modules/{is-my-json-valid → ajv}/LICENSE +6 -5
  24. package/node_modules/ajv/README.md +1213 -0
  25. package/node_modules/ajv/dist/ajv.bundle.js +8023 -0
  26. package/node_modules/ajv/dist/ajv.min.js +6 -0
  27. package/node_modules/ajv/dist/ajv.min.js.map +1 -0
  28. package/node_modules/ajv/dist/nodent.min.js +8 -0
  29. package/node_modules/ajv/dist/regenerator.min.js +32 -0
  30. package/node_modules/ajv/lib/ajv.d.ts +284 -0
  31. package/node_modules/ajv/lib/ajv.js +420 -0
  32. package/node_modules/ajv/lib/async.js +218 -0
  33. package/node_modules/ajv/lib/cache.js +26 -0
  34. package/node_modules/ajv/lib/compile/_rules.js +28 -0
  35. package/node_modules/ajv/lib/compile/equal.js +45 -0
  36. package/node_modules/ajv/lib/compile/formats.js +164 -0
  37. package/node_modules/ajv/lib/compile/index.js +390 -0
  38. package/node_modules/ajv/lib/compile/resolve.js +267 -0
  39. package/node_modules/ajv/lib/compile/rules.js +40 -0
  40. package/node_modules/ajv/lib/compile/schema_obj.js +9 -0
  41. package/node_modules/ajv/lib/compile/ucs2length.js +20 -0
  42. package/node_modules/ajv/lib/compile/util.js +257 -0
  43. package/node_modules/ajv/lib/compile/validation_error.js +14 -0
  44. package/node_modules/ajv/lib/dot/_limit.jst +49 -0
  45. package/node_modules/ajv/lib/dot/_limitItems.jst +10 -0
  46. package/node_modules/ajv/lib/dot/_limitLength.jst +10 -0
  47. package/node_modules/ajv/lib/dot/_limitProperties.jst +10 -0
  48. package/node_modules/ajv/lib/dot/allOf.jst +34 -0
  49. package/node_modules/ajv/lib/dot/anyOf.jst +48 -0
  50. package/node_modules/ajv/lib/dot/coerce.def +61 -0
  51. package/node_modules/ajv/lib/dot/custom.jst +184 -0
  52. package/node_modules/ajv/lib/dot/defaults.def +32 -0
  53. package/node_modules/ajv/lib/dot/definitions.def +182 -0
  54. package/node_modules/ajv/lib/dot/dependencies.jst +69 -0
  55. package/node_modules/ajv/lib/dot/enum.jst +30 -0
  56. package/node_modules/ajv/lib/dot/errors.def +185 -0
  57. package/node_modules/ajv/lib/dot/format.jst +100 -0
  58. package/node_modules/ajv/lib/dot/items.jst +101 -0
  59. package/node_modules/ajv/lib/dot/missing.def +34 -0
  60. package/node_modules/ajv/lib/dot/multipleOf.jst +20 -0
  61. package/node_modules/ajv/lib/dot/not.jst +43 -0
  62. package/node_modules/ajv/lib/dot/oneOf.jst +44 -0
  63. package/node_modules/ajv/lib/dot/pattern.jst +14 -0
  64. package/node_modules/ajv/lib/dot/properties.jst +319 -0
  65. package/node_modules/ajv/lib/dot/ref.jst +86 -0
  66. package/node_modules/ajv/lib/dot/required.jst +96 -0
  67. package/node_modules/ajv/lib/dot/uniqueItems.jst +38 -0
  68. package/node_modules/ajv/lib/dot/v5/_formatLimit.jst +116 -0
  69. package/node_modules/ajv/lib/dot/v5/constant.jst +10 -0
  70. package/node_modules/ajv/lib/dot/v5/patternRequired.jst +28 -0
  71. package/node_modules/ajv/lib/dot/v5/switch.jst +73 -0
  72. package/node_modules/ajv/lib/dot/validate.jst +210 -0
  73. package/node_modules/ajv/lib/dotjs/README.md +3 -0
  74. package/node_modules/ajv/lib/dotjs/_formatLimit.js +176 -0
  75. package/node_modules/ajv/lib/dotjs/_limit.js +124 -0
  76. package/node_modules/ajv/lib/dotjs/_limitItems.js +76 -0
  77. package/node_modules/ajv/lib/dotjs/_limitLength.js +81 -0
  78. package/node_modules/ajv/lib/dotjs/_limitProperties.js +76 -0
  79. package/node_modules/ajv/lib/dotjs/allOf.js +43 -0
  80. package/node_modules/ajv/lib/dotjs/anyOf.js +65 -0
  81. package/node_modules/ajv/lib/dotjs/constant.js +52 -0
  82. package/node_modules/ajv/lib/dotjs/custom.js +220 -0
  83. package/node_modules/ajv/lib/dotjs/dependencies.js +147 -0
  84. package/node_modules/ajv/lib/dotjs/enum.js +65 -0
  85. package/node_modules/ajv/lib/dotjs/format.js +138 -0
  86. package/node_modules/ajv/lib/dotjs/items.js +144 -0
  87. package/node_modules/ajv/lib/dotjs/multipleOf.js +76 -0
  88. package/node_modules/ajv/lib/dotjs/not.js +83 -0
  89. package/node_modules/ajv/lib/dotjs/oneOf.js +76 -0
  90. package/node_modules/ajv/lib/dotjs/pattern.js +74 -0
  91. package/node_modules/ajv/lib/dotjs/patternRequired.js +51 -0
  92. package/node_modules/ajv/lib/dotjs/properties.js +445 -0
  93. package/node_modules/ajv/lib/dotjs/ref.js +119 -0
  94. package/node_modules/ajv/lib/dotjs/required.js +249 -0
  95. package/node_modules/ajv/lib/dotjs/switch.js +128 -0
  96. package/node_modules/ajv/lib/dotjs/uniqueItems.js +71 -0
  97. package/node_modules/ajv/lib/dotjs/validate.js +375 -0
  98. package/node_modules/ajv/lib/keyword.js +129 -0
  99. package/node_modules/ajv/lib/refs/json-schema-draft-04.json +150 -0
  100. package/node_modules/ajv/lib/refs/json-schema-v5.json +328 -0
  101. package/node_modules/ajv/lib/v5.js +52 -0
  102. package/node_modules/ajv/package.json +132 -0
  103. package/node_modules/ajv/scripts/.eslintrc.yml +3 -0
  104. package/node_modules/ajv/scripts/bundle.js +54 -0
  105. package/node_modules/ajv/scripts/compile-dots.js +73 -0
  106. package/node_modules/ajv/scripts/info +10 -0
  107. package/node_modules/ajv/scripts/prepare-tests +9 -0
  108. package/node_modules/ajv/scripts/travis-gh-pages +23 -0
  109. package/node_modules/ansi-regex/package.json +26 -49
  110. package/node_modules/aproba/package.json +15 -48
  111. package/node_modules/are-we-there-yet/CHANGES.md +12 -0
  112. package/node_modules/are-we-there-yet/CHANGES.md~ +27 -0
  113. package/node_modules/are-we-there-yet/README.md +4 -3
  114. package/node_modules/are-we-there-yet/package.json +28 -54
  115. package/node_modules/asn1/package.json +16 -48
  116. package/node_modules/assert-plus/package.json +15 -47
  117. package/node_modules/asynckit/package.json +15 -49
  118. package/node_modules/aws-sign2/package.json +15 -45
  119. package/node_modules/aws4/package.json +15 -50
  120. package/node_modules/balanced-match/package.json +15 -49
  121. package/node_modules/bcrypt-pbkdf/package.json +16 -62
  122. package/node_modules/block-stream/package.json +15 -49
  123. package/node_modules/boom/package.json +15 -54
  124. package/node_modules/brace-expansion/README.md +1 -0
  125. package/node_modules/brace-expansion/index.js +1 -1
  126. package/node_modules/brace-expansion/package.json +20 -56
  127. package/node_modules/buffer-shims/package.json +15 -51
  128. package/node_modules/caseless/index.js +1 -0
  129. package/node_modules/caseless/package.json +19 -58
  130. package/node_modules/caseless/test.js +27 -0
  131. package/node_modules/co/History.md +172 -0
  132. package/node_modules/{commander → co}/LICENSE +1 -1
  133. package/node_modules/co/Readme.md +212 -0
  134. package/node_modules/co/index.js +237 -0
  135. package/node_modules/co/package.json +67 -0
  136. package/node_modules/code-point-at/package.json +15 -50
  137. package/node_modules/combined-stream/package.json +15 -58
  138. package/node_modules/concat-map/package.json +13 -41
  139. package/node_modules/console-control-strings/package.json +15 -50
  140. package/node_modules/core-util-is/package.json +15 -47
  141. package/node_modules/cryptiles/package.json +15 -49
  142. package/node_modules/dashdash/node_modules/assert-plus/package.json +15 -47
  143. package/node_modules/dashdash/package.json +15 -72
  144. package/node_modules/debug/.coveralls.yml +1 -0
  145. package/node_modules/debug/.eslintrc +11 -0
  146. package/node_modules/debug/.npmignore +3 -0
  147. package/node_modules/debug/.travis.yml +14 -0
  148. package/node_modules/debug/CHANGELOG.md +357 -0
  149. package/node_modules/debug/LICENSE +19 -0
  150. package/node_modules/debug/Makefile +28 -14
  151. package/node_modules/debug/README.md +312 -0
  152. package/node_modules/debug/component.json +4 -4
  153. package/node_modules/debug/karma.conf.js +70 -0
  154. package/node_modules/debug/node.js +1 -209
  155. package/node_modules/debug/package.json +41 -58
  156. package/node_modules/debug/{browser.js → src/browser.js} +29 -12
  157. package/node_modules/debug/{debug.js → src/debug.js} +42 -37
  158. package/node_modules/debug/src/index.js +10 -0
  159. package/node_modules/debug/src/node.js +246 -0
  160. package/node_modules/deep-extend/README.md +1 -1
  161. package/node_modules/deep-extend/lib/deep-extend.js +2 -2
  162. package/node_modules/deep-extend/package.json +22 -48
  163. package/node_modules/delayed-stream/package.json +15 -49
  164. package/node_modules/delegates/package.json +15 -50
  165. package/node_modules/detect-libc/.npmignore +7 -0
  166. package/node_modules/detect-libc/LICENSE +201 -0
  167. package/node_modules/detect-libc/README.md +78 -0
  168. package/node_modules/detect-libc/bin/detect-libc.js +18 -0
  169. package/node_modules/detect-libc/lib/detect-libc.js +85 -0
  170. package/node_modules/detect-libc/package.json +71 -0
  171. package/node_modules/ecc-jsbn/package.json +21 -45
  172. package/node_modules/extend/.eslintrc +10 -185
  173. package/node_modules/extend/.jscs.json +75 -4
  174. package/node_modules/extend/.travis.yml +154 -19
  175. package/node_modules/extend/CHANGELOG.md +8 -0
  176. package/node_modules/extend/README.md +20 -1
  177. package/node_modules/extend/index.js +8 -8
  178. package/node_modules/extend/package.json +26 -56
  179. package/node_modules/extsprintf/package.json +12 -43
  180. package/node_modules/forever-agent/package.json +16 -53
  181. package/node_modules/form-data/README.md +4 -4
  182. package/node_modules/form-data/lib/form_data.js +4 -0
  183. package/node_modules/form-data/package.json +18 -64
  184. package/node_modules/fs.realpath/package.json +15 -49
  185. package/node_modules/fstream/lib/reader.js +4 -4
  186. package/node_modules/fstream/lib/writer.js +2 -2
  187. package/node_modules/fstream/package.json +19 -67
  188. package/node_modules/fstream-ignore/package.json +15 -57
  189. package/node_modules/gauge/CHANGELOG.md +5 -0
  190. package/node_modules/gauge/package.json +18 -52
  191. package/node_modules/gauge/plumbing.js +1 -0
  192. package/node_modules/getpass/node_modules/assert-plus/package.json +15 -47
  193. package/node_modules/getpass/package.json +19 -58
  194. package/node_modules/glob/glob.js +0 -2
  195. package/node_modules/glob/package.json +19 -53
  196. package/node_modules/graceful-fs/package.json +15 -49
  197. package/node_modules/har-schema/LICENSE +13 -0
  198. package/node_modules/har-schema/README.md +49 -0
  199. package/node_modules/har-schema/lib/afterRequest.json +29 -0
  200. package/node_modules/har-schema/lib/beforeRequest.json +29 -0
  201. package/node_modules/har-schema/lib/browser.json +19 -0
  202. package/node_modules/har-schema/lib/cache.json +20 -0
  203. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/content.json +1 -0
  204. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/cookie.json +1 -0
  205. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/creator.json +1 -0
  206. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/entry.json +5 -4
  207. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/har.json +2 -1
  208. package/node_modules/har-schema/lib/header.json +19 -0
  209. package/node_modules/har-schema/lib/index.js +22 -0
  210. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/log.json +5 -4
  211. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/page.json +2 -1
  212. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/pageTimings.json +1 -0
  213. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/postData.json +1 -0
  214. package/node_modules/{har-validator/lib/schemas/record.json → har-schema/lib/query.json} +1 -0
  215. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/request.json +5 -4
  216. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/response.json +4 -3
  217. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/timings.json +1 -0
  218. package/node_modules/har-schema/package.json +87 -0
  219. package/node_modules/har-validator/README.md +31 -265
  220. package/node_modules/har-validator/lib/browser/async.js +96 -0
  221. package/node_modules/har-validator/lib/browser/error.js +15 -0
  222. package/node_modules/har-validator/lib/browser/promise.js +93 -0
  223. package/node_modules/har-validator/lib/node4/async.js +136 -0
  224. package/node_modules/har-validator/lib/node4/error.js +22 -0
  225. package/node_modules/har-validator/lib/node4/promise.js +132 -0
  226. package/node_modules/har-validator/lib/node6/async.js +133 -0
  227. package/node_modules/har-validator/lib/node6/error.js +22 -0
  228. package/node_modules/har-validator/lib/node6/promise.js +130 -0
  229. package/node_modules/har-validator/lib/node7/async.js +133 -0
  230. package/node_modules/har-validator/lib/node7/error.js +22 -0
  231. package/node_modules/har-validator/lib/node7/promise.js +130 -0
  232. package/node_modules/har-validator/package.json +54 -72
  233. package/node_modules/har-validator/src/async.js +96 -0
  234. package/node_modules/har-validator/src/error.js +15 -0
  235. package/node_modules/har-validator/src/promise.js +93 -0
  236. package/node_modules/has-unicode/package.json +15 -50
  237. package/node_modules/hawk/package.json +15 -45
  238. package/node_modules/hoek/package.json +15 -55
  239. package/node_modules/http-signature/package.json +15 -53
  240. package/node_modules/inflight/package.json +15 -61
  241. package/node_modules/inherits/package.json +15 -58
  242. package/node_modules/ini/package.json +15 -45
  243. package/node_modules/is-fullwidth-code-point/package.json +16 -46
  244. package/node_modules/is-typedarray/package.json +15 -45
  245. package/node_modules/isarray/package.json +15 -46
  246. package/node_modules/isstream/package.json +15 -46
  247. package/node_modules/jodid25519/package.json +16 -44
  248. package/node_modules/jsbn/package.json +16 -53
  249. package/node_modules/json-schema/package.json +13 -41
  250. package/node_modules/{generate-function → json-stable-stringify}/.npmignore +0 -0
  251. package/node_modules/{generate-object-property → json-stable-stringify}/.travis.yml +1 -0
  252. package/node_modules/{ms → json-stable-stringify}/LICENSE +1 -3
  253. package/node_modules/json-stable-stringify/example/key_cmp.js +7 -0
  254. package/node_modules/json-stable-stringify/example/nested.js +3 -0
  255. package/node_modules/json-stable-stringify/example/str.js +3 -0
  256. package/node_modules/json-stable-stringify/example/value_cmp.js +7 -0
  257. package/node_modules/json-stable-stringify/index.js +84 -0
  258. package/node_modules/json-stable-stringify/package.json +75 -0
  259. package/node_modules/json-stable-stringify/readme.markdown +130 -0
  260. package/node_modules/json-stable-stringify/test/cmp.js +11 -0
  261. package/node_modules/json-stable-stringify/test/nested.js +35 -0
  262. package/node_modules/json-stable-stringify/test/replacer.js +74 -0
  263. package/node_modules/json-stable-stringify/test/space.js +59 -0
  264. package/node_modules/json-stable-stringify/test/str.js +32 -0
  265. package/node_modules/json-stable-stringify/test/to-json.js +20 -0
  266. package/node_modules/json-stringify-safe/package.json +15 -50
  267. package/node_modules/jsonify/README.markdown +34 -0
  268. package/node_modules/jsonify/index.js +2 -0
  269. package/node_modules/jsonify/lib/parse.js +273 -0
  270. package/node_modules/jsonify/lib/stringify.js +154 -0
  271. package/node_modules/jsonify/package.json +60 -0
  272. package/node_modules/jsonify/test/parse.js +16 -0
  273. package/node_modules/jsonify/test/stringify.js +15 -0
  274. package/node_modules/jsprim/CHANGES.md +4 -0
  275. package/node_modules/jsprim/README.md +55 -0
  276. package/node_modules/jsprim/lib/jsprim.js +248 -1
  277. package/node_modules/jsprim/node_modules/assert-plus/AUTHORS +6 -0
  278. package/node_modules/jsprim/node_modules/assert-plus/CHANGES.md +14 -0
  279. package/node_modules/jsprim/node_modules/assert-plus/README.md +162 -0
  280. package/node_modules/jsprim/node_modules/assert-plus/assert.js +211 -0
  281. package/node_modules/jsprim/node_modules/assert-plus/package.json +83 -0
  282. package/node_modules/jsprim/package.json +22 -57
  283. package/node_modules/mime-db/HISTORY.md +21 -0
  284. package/node_modules/mime-db/db.json +54 -0
  285. package/node_modules/mime-db/package.json +24 -63
  286. package/node_modules/mime-types/HISTORY.md +7 -0
  287. package/node_modules/mime-types/README.md +10 -5
  288. package/node_modules/mime-types/index.js +1 -1
  289. package/node_modules/mime-types/package.json +23 -66
  290. package/node_modules/minimatch/package.json +24 -58
  291. package/node_modules/minimist/package.json +12 -41
  292. package/node_modules/mkdirp/package.json +15 -47
  293. package/node_modules/ms/index.js +50 -23
  294. package/node_modules/{graceful-readlink/LICENSE → ms/license.md} +1 -2
  295. package/node_modules/ms/package.json +49 -61
  296. package/node_modules/ms/readme.md +51 -0
  297. package/node_modules/node-pre-gyp/CHANGELOG.md +33 -0
  298. package/node_modules/node-pre-gyp/README.md +13 -1
  299. package/node_modules/node-pre-gyp/appveyor.yml +15 -9
  300. package/node_modules/node-pre-gyp/bin/node-pre-gyp +5 -2
  301. package/node_modules/node-pre-gyp/contributing.md +10 -0
  302. package/node_modules/node-pre-gyp/lib/install.js +6 -48
  303. package/node_modules/node-pre-gyp/lib/testbinary.js +8 -2
  304. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +164 -0
  305. package/node_modules/node-pre-gyp/lib/util/versioning.js +17 -0
  306. package/node_modules/node-pre-gyp/package.json +33 -76
  307. package/node_modules/nopt/.travis.yml +3 -4
  308. package/node_modules/nopt/CHANGELOG.md +58 -0
  309. package/node_modules/nopt/README.md +28 -26
  310. package/node_modules/nopt/lib/nopt.js +50 -29
  311. package/node_modules/nopt/package.json +22 -59
  312. package/node_modules/nopt/test/basic.js +36 -6
  313. package/node_modules/npmlog/CHANGELOG.md +5 -1
  314. package/node_modules/npmlog/log.js +2 -0
  315. package/node_modules/npmlog/package.json +21 -67
  316. package/node_modules/number-is-nan/package.json +15 -50
  317. package/node_modules/oauth-sign/package.json +15 -56
  318. package/node_modules/object-assign/package.json +15 -58
  319. package/node_modules/once/package.json +15 -49
  320. package/node_modules/os-homedir/index.js +24 -0
  321. package/node_modules/{ansi-styles → os-homedir}/license +0 -0
  322. package/node_modules/os-homedir/package.json +74 -0
  323. package/node_modules/os-homedir/readme.md +31 -0
  324. package/node_modules/os-tmpdir/index.js +25 -0
  325. package/node_modules/{chalk → os-tmpdir}/license +0 -0
  326. package/node_modules/os-tmpdir/package.json +74 -0
  327. package/node_modules/os-tmpdir/readme.md +32 -0
  328. package/node_modules/osenv/.npmignore +13 -0
  329. package/node_modules/osenv/.travis.yml +9 -0
  330. package/node_modules/{tar-pack/node_modules/once → osenv}/LICENSE +0 -0
  331. package/node_modules/osenv/README.md +63 -0
  332. package/node_modules/osenv/osenv.js +72 -0
  333. package/node_modules/osenv/package.json +68 -0
  334. package/node_modules/osenv/test/unix.js +71 -0
  335. package/node_modules/osenv/test/windows.js +74 -0
  336. package/node_modules/osenv/x.tap +39 -0
  337. package/node_modules/path-is-absolute/package.json +15 -50
  338. package/node_modules/performance-now/.npmignore +1 -0
  339. package/node_modules/performance-now/.tm_properties +7 -0
  340. package/node_modules/{generate-function → performance-now}/.travis.yml +1 -0
  341. package/node_modules/performance-now/Makefile +25 -0
  342. package/node_modules/performance-now/README.md +30 -0
  343. package/node_modules/performance-now/lib/performance-now.js +32 -0
  344. package/node_modules/performance-now/license.txt +7 -0
  345. package/node_modules/performance-now/package.json +58 -0
  346. package/node_modules/performance-now/src/performance-now.coffee +15 -0
  347. package/node_modules/performance-now/test/mocha.opts +3 -0
  348. package/node_modules/performance-now/test/performance-now.coffee +38 -0
  349. package/node_modules/process-nextick-args/package.json +15 -51
  350. package/node_modules/punycode/package.json +15 -54
  351. package/node_modules/qs/.eslintrc +4 -5
  352. package/node_modules/qs/.jscs.json +176 -0
  353. package/node_modules/qs/CHANGELOG.md +19 -0
  354. package/node_modules/qs/README.md +10 -1
  355. package/node_modules/qs/dist/qs.js +24 -14
  356. package/node_modules/qs/lib/index.js +0 -0
  357. package/node_modules/qs/lib/parse.js +6 -5
  358. package/node_modules/qs/lib/stringify.js +15 -8
  359. package/node_modules/qs/lib/utils.js +3 -1
  360. package/node_modules/qs/package.json +19 -61
  361. package/node_modules/qs/test/.eslintrc +2 -1
  362. package/node_modules/qs/test/parse.js +37 -2
  363. package/node_modules/qs/test/stringify.js +29 -0
  364. package/node_modules/qs/test/utils.js +0 -0
  365. package/node_modules/rc/lib/utils.js +2 -1
  366. package/node_modules/rc/node_modules/minimist/package.json +15 -46
  367. package/node_modules/rc/package.json +18 -53
  368. package/node_modules/rc/test/nested-env-vars.js +31 -21
  369. package/node_modules/readable-stream/.travis.yml +2 -2
  370. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  371. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  372. package/node_modules/readable-stream/LICENSE +29 -0
  373. package/node_modules/readable-stream/README.md +20 -3
  374. package/node_modules/readable-stream/duplex-browser.js +1 -0
  375. package/node_modules/readable-stream/duplex.js +1 -1
  376. package/node_modules/readable-stream/lib/_stream_readable.js +7 -13
  377. package/node_modules/readable-stream/lib/_stream_writable.js +18 -28
  378. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  379. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  380. package/node_modules/readable-stream/package.json +25 -67
  381. package/node_modules/readable-stream/passthrough.js +1 -1
  382. package/node_modules/{tar-pack/node_modules/readable-stream/readable.js → readable-stream/readable-browser.js} +1 -10
  383. package/node_modules/readable-stream/readable.js +17 -14
  384. package/node_modules/readable-stream/transform.js +1 -1
  385. package/node_modules/readable-stream/writable-browser.js +1 -0
  386. package/node_modules/readable-stream/writable.js +8 -1
  387. package/node_modules/request/CHANGELOG.md +23 -11
  388. package/node_modules/request/README.md +36 -19
  389. package/node_modules/request/lib/helpers.js +2 -1
  390. package/node_modules/request/lib/multipart.js +2 -1
  391. package/node_modules/request/lib/oauth.js +2 -1
  392. package/node_modules/request/package.json +30 -74
  393. package/node_modules/request/request.js +106 -16
  394. package/node_modules/rimraf/bin.js +13 -3
  395. package/node_modules/rimraf/package.json +19 -55
  396. package/node_modules/rimraf/rimraf.js +22 -2
  397. package/node_modules/safe-buffer/.travis.yml +7 -0
  398. package/node_modules/{is-property → safe-buffer}/LICENSE +1 -2
  399. package/node_modules/safe-buffer/README.md +581 -0
  400. package/node_modules/safe-buffer/browser.js +1 -0
  401. package/node_modules/safe-buffer/index.js +58 -0
  402. package/node_modules/safe-buffer/package.json +64 -0
  403. package/node_modules/safe-buffer/test.js +99 -0
  404. package/node_modules/semver/package.json +15 -54
  405. package/node_modules/set-blocking/package.json +15 -50
  406. package/node_modules/signal-exit/package.json +15 -54
  407. package/node_modules/sntp/package.json +16 -45
  408. package/node_modules/sshpk/README.md +38 -6
  409. package/node_modules/sshpk/lib/certificate.js +88 -2
  410. package/node_modules/sshpk/lib/dhe.js +101 -2
  411. package/node_modules/sshpk/lib/formats/openssh-cert.js +34 -1
  412. package/node_modules/sshpk/lib/formats/x509.js +247 -5
  413. package/node_modules/sshpk/lib/identity.js +1 -1
  414. package/node_modules/sshpk/lib/index.js +1 -0
  415. package/node_modules/sshpk/lib/key.js +6 -2
  416. package/node_modules/sshpk/lib/private-key.js +25 -1
  417. package/node_modules/sshpk/lib/signature.js +76 -8
  418. package/node_modules/sshpk/node_modules/assert-plus/package.json +15 -47
  419. package/node_modules/sshpk/package.json +21 -53
  420. package/node_modules/string-width/package.json +15 -50
  421. package/node_modules/string_decoder/LICENSE +48 -20
  422. package/node_modules/string_decoder/README.md +25 -4
  423. package/node_modules/string_decoder/lib/string_decoder.js +272 -0
  424. package/node_modules/string_decoder/package.json +24 -55
  425. package/node_modules/stringstream/package.json +15 -48
  426. package/node_modules/strip-ansi/package.json +27 -50
  427. package/node_modules/strip-json-comments/package.json +15 -50
  428. package/node_modules/tar/package.json +15 -58
  429. package/node_modules/tar-pack/package.json +28 -79
  430. package/node_modules/tough-cookie/package.json +15 -57
  431. package/node_modules/tunnel-agent/index.js +5 -4
  432. package/node_modules/tunnel-agent/package.json +22 -66
  433. package/node_modules/tweetnacl/package.json +16 -50
  434. package/node_modules/uid-number/package.json +16 -46
  435. package/node_modules/util-deprecate/package.json +15 -48
  436. package/node_modules/uuid/package.json +15 -58
  437. package/node_modules/verror/package.json +12 -41
  438. package/node_modules/wide-align/package.json +25 -51
  439. package/node_modules/wrappy/package.json +15 -54
  440. package/package.json +8 -4
  441. package/src/methods.cc +1 -1
  442. package/node_modules/ansi-styles/index.js +0 -65
  443. package/node_modules/ansi-styles/package.json +0 -114
  444. package/node_modules/ansi-styles/readme.md +0 -86
  445. package/node_modules/are-we-there-yet/.npmignore +0 -5
  446. package/node_modules/are-we-there-yet/test/lib/test-event.js +0 -29
  447. package/node_modules/are-we-there-yet/test/tracker.js +0 -57
  448. package/node_modules/are-we-there-yet/test/trackergroup.js +0 -96
  449. package/node_modules/are-we-there-yet/test/trackerstream.js +0 -51
  450. package/node_modules/chalk/index.js +0 -116
  451. package/node_modules/chalk/package.json +0 -140
  452. package/node_modules/chalk/readme.md +0 -213
  453. package/node_modules/commander/History.md +0 -261
  454. package/node_modules/commander/Readme.md +0 -351
  455. package/node_modules/commander/index.js +0 -1110
  456. package/node_modules/commander/package.json +0 -104
  457. package/node_modules/debug/.jshintrc +0 -3
  458. package/node_modules/debug/History.md +0 -195
  459. package/node_modules/debug/Readme.md +0 -188
  460. package/node_modules/debug/bower.json +0 -28
  461. package/node_modules/escape-string-regexp/index.js +0 -11
  462. package/node_modules/escape-string-regexp/license +0 -21
  463. package/node_modules/escape-string-regexp/package.json +0 -109
  464. package/node_modules/escape-string-regexp/readme.md +0 -27
  465. package/node_modules/generate-function/README.md +0 -72
  466. package/node_modules/generate-function/example.js +0 -27
  467. package/node_modules/generate-function/index.js +0 -61
  468. package/node_modules/generate-function/package.json +0 -87
  469. package/node_modules/generate-function/test.js +0 -33
  470. package/node_modules/generate-object-property/.npmignore +0 -1
  471. package/node_modules/generate-object-property/LICENSE +0 -21
  472. package/node_modules/generate-object-property/README.md +0 -19
  473. package/node_modules/generate-object-property/index.js +0 -12
  474. package/node_modules/generate-object-property/package.json +0 -84
  475. package/node_modules/generate-object-property/test.js +0 -12
  476. package/node_modules/graceful-readlink/.npmignore +0 -3
  477. package/node_modules/graceful-readlink/.travis.yml +0 -5
  478. package/node_modules/graceful-readlink/README.md +0 -17
  479. package/node_modules/graceful-readlink/index.js +0 -12
  480. package/node_modules/graceful-readlink/package.json +0 -83
  481. package/node_modules/har-validator/bin/har-validator +0 -56
  482. package/node_modules/har-validator/lib/async.js +0 -14
  483. package/node_modules/har-validator/lib/error.js +0 -10
  484. package/node_modules/har-validator/lib/index.js +0 -22
  485. package/node_modules/har-validator/lib/runner.js +0 -29
  486. package/node_modules/har-validator/lib/schemas/cache.json +0 -13
  487. package/node_modules/har-validator/lib/schemas/cacheEntry.json +0 -31
  488. package/node_modules/har-validator/lib/schemas/index.js +0 -49
  489. package/node_modules/has-ansi/index.js +0 -4
  490. package/node_modules/has-ansi/license +0 -21
  491. package/node_modules/has-ansi/package.json +0 -118
  492. package/node_modules/has-ansi/readme.md +0 -36
  493. package/node_modules/is-my-json-valid/.npmignore +0 -2
  494. package/node_modules/is-my-json-valid/.travis.yml +0 -3
  495. package/node_modules/is-my-json-valid/README.md +0 -173
  496. package/node_modules/is-my-json-valid/example.js +0 -18
  497. package/node_modules/is-my-json-valid/formats.js +0 -14
  498. package/node_modules/is-my-json-valid/index.js +0 -594
  499. package/node_modules/is-my-json-valid/package.json +0 -116
  500. package/node_modules/is-my-json-valid/require.js +0 -12
  501. package/node_modules/is-my-json-valid/test/fixtures/cosmic.js +0 -84
  502. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +0 -82
  503. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +0 -88
  504. package/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +0 -112
  505. package/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +0 -68
  506. package/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +0 -107
  507. package/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +0 -49
  508. package/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +0 -32
  509. package/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +0 -113
  510. package/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +0 -72
  511. package/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +0 -143
  512. package/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +0 -46
  513. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +0 -28
  514. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +0 -28
  515. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +0 -28
  516. package/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +0 -42
  517. package/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +0 -28
  518. package/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +0 -28
  519. package/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +0 -28
  520. package/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +0 -42
  521. package/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +0 -96
  522. package/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +0 -96
  523. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +0 -18
  524. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +0 -18
  525. package/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +0 -68
  526. package/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +0 -23
  527. package/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +0 -110
  528. package/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +0 -92
  529. package/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +0 -128
  530. package/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +0 -74
  531. package/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +0 -39
  532. package/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +0 -330
  533. package/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +0 -79
  534. package/node_modules/is-my-json-valid/test/json-schema.js +0 -23
  535. package/node_modules/is-my-json-valid/test/misc.js +0 -471
  536. package/node_modules/is-property/.npmignore +0 -17
  537. package/node_modules/is-property/README.md +0 -28
  538. package/node_modules/is-property/is-property.js +0 -5
  539. package/node_modules/is-property/package.json +0 -92
  540. package/node_modules/jsonpointer/LICENSE.md +0 -21
  541. package/node_modules/jsonpointer/README.md +0 -39
  542. package/node_modules/jsonpointer/jsonpointer.js +0 -93
  543. package/node_modules/jsonpointer/package.json +0 -112
  544. package/node_modules/ms/.npmignore +0 -5
  545. package/node_modules/ms/History.md +0 -66
  546. package/node_modules/ms/README.md +0 -35
  547. package/node_modules/pinkie/index.js +0 -292
  548. package/node_modules/pinkie/license +0 -21
  549. package/node_modules/pinkie/package.json +0 -100
  550. package/node_modules/pinkie/readme.md +0 -83
  551. package/node_modules/pinkie-promise/index.js +0 -3
  552. package/node_modules/pinkie-promise/license +0 -21
  553. package/node_modules/pinkie-promise/package.json +0 -102
  554. package/node_modules/pinkie-promise/readme.md +0 -28
  555. package/node_modules/string_decoder/index.js +0 -221
  556. package/node_modules/supports-color/index.js +0 -50
  557. package/node_modules/supports-color/license +0 -21
  558. package/node_modules/supports-color/package.json +0 -113
  559. package/node_modules/supports-color/readme.md +0 -36
  560. package/node_modules/tar-pack/node_modules/once/README.md +0 -51
  561. package/node_modules/tar-pack/node_modules/once/once.js +0 -21
  562. package/node_modules/tar-pack/node_modules/once/package.json +0 -96
  563. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +0 -8
  564. package/node_modules/tar-pack/node_modules/readable-stream/.travis.yml +0 -49
  565. package/node_modules/tar-pack/node_modules/readable-stream/LICENSE +0 -18
  566. package/node_modules/tar-pack/node_modules/readable-stream/README.md +0 -36
  567. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +0 -2015
  568. package/node_modules/tar-pack/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  569. package/node_modules/tar-pack/node_modules/readable-stream/duplex.js +0 -1
  570. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_duplex.js +0 -75
  571. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_passthrough.js +0 -26
  572. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_readable.js +0 -937
  573. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_transform.js +0 -180
  574. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_writable.js +0 -526
  575. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -64
  576. package/node_modules/tar-pack/node_modules/readable-stream/package.json +0 -125
  577. package/node_modules/tar-pack/node_modules/readable-stream/passthrough.js +0 -1
  578. package/node_modules/tar-pack/node_modules/readable-stream/transform.js +0 -1
  579. package/node_modules/tar-pack/node_modules/readable-stream/writable.js +0 -1
  580. package/node_modules/wide-align/.npmignore +0 -5
  581. package/node_modules/wide-align/test/align.js +0 -37
  582. package/node_modules/xtend/.jshintrc +0 -30
  583. package/node_modules/xtend/.npmignore +0 -1
  584. package/node_modules/xtend/LICENCE +0 -19
  585. package/node_modules/xtend/Makefile +0 -4
  586. package/node_modules/xtend/README.md +0 -32
  587. package/node_modules/xtend/immutable.js +0 -19
  588. package/node_modules/xtend/mutable.js +0 -17
  589. package/node_modules/xtend/package.json +0 -117
  590. package/node_modules/xtend/test.js +0 -83
@@ -1,1110 +0,0 @@
1
- /**
2
- * Module dependencies.
3
- */
4
-
5
- var EventEmitter = require('events').EventEmitter;
6
- var spawn = require('child_process').spawn;
7
- var readlink = require('graceful-readlink').readlinkSync;
8
- var path = require('path');
9
- var dirname = path.dirname;
10
- var basename = path.basename;
11
- var fs = require('fs');
12
-
13
- /**
14
- * Expose the root command.
15
- */
16
-
17
- exports = module.exports = new Command();
18
-
19
- /**
20
- * Expose `Command`.
21
- */
22
-
23
- exports.Command = Command;
24
-
25
- /**
26
- * Expose `Option`.
27
- */
28
-
29
- exports.Option = Option;
30
-
31
- /**
32
- * Initialize a new `Option` with the given `flags` and `description`.
33
- *
34
- * @param {String} flags
35
- * @param {String} description
36
- * @api public
37
- */
38
-
39
- function Option(flags, description) {
40
- this.flags = flags;
41
- this.required = ~flags.indexOf('<');
42
- this.optional = ~flags.indexOf('[');
43
- this.bool = !~flags.indexOf('-no-');
44
- flags = flags.split(/[ ,|]+/);
45
- if (flags.length > 1 && !/^[[<]/.test(flags[1])) this.short = flags.shift();
46
- this.long = flags.shift();
47
- this.description = description || '';
48
- }
49
-
50
- /**
51
- * Return option name.
52
- *
53
- * @return {String}
54
- * @api private
55
- */
56
-
57
- Option.prototype.name = function() {
58
- return this.long
59
- .replace('--', '')
60
- .replace('no-', '');
61
- };
62
-
63
- /**
64
- * Check if `arg` matches the short or long flag.
65
- *
66
- * @param {String} arg
67
- * @return {Boolean}
68
- * @api private
69
- */
70
-
71
- Option.prototype.is = function(arg) {
72
- return arg == this.short || arg == this.long;
73
- };
74
-
75
- /**
76
- * Initialize a new `Command`.
77
- *
78
- * @param {String} name
79
- * @api public
80
- */
81
-
82
- function Command(name) {
83
- this.commands = [];
84
- this.options = [];
85
- this._execs = {};
86
- this._allowUnknownOption = false;
87
- this._args = [];
88
- this._name = name || '';
89
- }
90
-
91
- /**
92
- * Inherit from `EventEmitter.prototype`.
93
- */
94
-
95
- Command.prototype.__proto__ = EventEmitter.prototype;
96
-
97
- /**
98
- * Add command `name`.
99
- *
100
- * The `.action()` callback is invoked when the
101
- * command `name` is specified via __ARGV__,
102
- * and the remaining arguments are applied to the
103
- * function for access.
104
- *
105
- * When the `name` is "*" an un-matched command
106
- * will be passed as the first arg, followed by
107
- * the rest of __ARGV__ remaining.
108
- *
109
- * Examples:
110
- *
111
- * program
112
- * .version('0.0.1')
113
- * .option('-C, --chdir <path>', 'change the working directory')
114
- * .option('-c, --config <path>', 'set config path. defaults to ./deploy.conf')
115
- * .option('-T, --no-tests', 'ignore test hook')
116
- *
117
- * program
118
- * .command('setup')
119
- * .description('run remote setup commands')
120
- * .action(function() {
121
- * console.log('setup');
122
- * });
123
- *
124
- * program
125
- * .command('exec <cmd>')
126
- * .description('run the given remote command')
127
- * .action(function(cmd) {
128
- * console.log('exec "%s"', cmd);
129
- * });
130
- *
131
- * program
132
- * .command('teardown <dir> [otherDirs...]')
133
- * .description('run teardown commands')
134
- * .action(function(dir, otherDirs) {
135
- * console.log('dir "%s"', dir);
136
- * if (otherDirs) {
137
- * otherDirs.forEach(function (oDir) {
138
- * console.log('dir "%s"', oDir);
139
- * });
140
- * }
141
- * });
142
- *
143
- * program
144
- * .command('*')
145
- * .description('deploy the given env')
146
- * .action(function(env) {
147
- * console.log('deploying "%s"', env);
148
- * });
149
- *
150
- * program.parse(process.argv);
151
- *
152
- * @param {String} name
153
- * @param {String} [desc] for git-style sub-commands
154
- * @return {Command} the new command
155
- * @api public
156
- */
157
-
158
- Command.prototype.command = function(name, desc, opts) {
159
- opts = opts || {};
160
- var args = name.split(/ +/);
161
- var cmd = new Command(args.shift());
162
-
163
- if (desc) {
164
- cmd.description(desc);
165
- this.executables = true;
166
- this._execs[cmd._name] = true;
167
- if (opts.isDefault) this.defaultExecutable = cmd._name;
168
- }
169
-
170
- cmd._noHelp = !!opts.noHelp;
171
- this.commands.push(cmd);
172
- cmd.parseExpectedArgs(args);
173
- cmd.parent = this;
174
-
175
- if (desc) return this;
176
- return cmd;
177
- };
178
-
179
- /**
180
- * Define argument syntax for the top-level command.
181
- *
182
- * @api public
183
- */
184
-
185
- Command.prototype.arguments = function (desc) {
186
- return this.parseExpectedArgs(desc.split(/ +/));
187
- };
188
-
189
- /**
190
- * Add an implicit `help [cmd]` subcommand
191
- * which invokes `--help` for the given command.
192
- *
193
- * @api private
194
- */
195
-
196
- Command.prototype.addImplicitHelpCommand = function() {
197
- this.command('help [cmd]', 'display help for [cmd]');
198
- };
199
-
200
- /**
201
- * Parse expected `args`.
202
- *
203
- * For example `["[type]"]` becomes `[{ required: false, name: 'type' }]`.
204
- *
205
- * @param {Array} args
206
- * @return {Command} for chaining
207
- * @api public
208
- */
209
-
210
- Command.prototype.parseExpectedArgs = function(args) {
211
- if (!args.length) return;
212
- var self = this;
213
- args.forEach(function(arg) {
214
- var argDetails = {
215
- required: false,
216
- name: '',
217
- variadic: false
218
- };
219
-
220
- switch (arg[0]) {
221
- case '<':
222
- argDetails.required = true;
223
- argDetails.name = arg.slice(1, -1);
224
- break;
225
- case '[':
226
- argDetails.name = arg.slice(1, -1);
227
- break;
228
- }
229
-
230
- if (argDetails.name.length > 3 && argDetails.name.slice(-3) === '...') {
231
- argDetails.variadic = true;
232
- argDetails.name = argDetails.name.slice(0, -3);
233
- }
234
- if (argDetails.name) {
235
- self._args.push(argDetails);
236
- }
237
- });
238
- return this;
239
- };
240
-
241
- /**
242
- * Register callback `fn` for the command.
243
- *
244
- * Examples:
245
- *
246
- * program
247
- * .command('help')
248
- * .description('display verbose help')
249
- * .action(function() {
250
- * // output help here
251
- * });
252
- *
253
- * @param {Function} fn
254
- * @return {Command} for chaining
255
- * @api public
256
- */
257
-
258
- Command.prototype.action = function(fn) {
259
- var self = this;
260
- var listener = function(args, unknown) {
261
- // Parse any so-far unknown options
262
- args = args || [];
263
- unknown = unknown || [];
264
-
265
- var parsed = self.parseOptions(unknown);
266
-
267
- // Output help if necessary
268
- outputHelpIfNecessary(self, parsed.unknown);
269
-
270
- // If there are still any unknown options, then we simply
271
- // die, unless someone asked for help, in which case we give it
272
- // to them, and then we die.
273
- if (parsed.unknown.length > 0) {
274
- self.unknownOption(parsed.unknown[0]);
275
- }
276
-
277
- // Leftover arguments need to be pushed back. Fixes issue #56
278
- if (parsed.args.length) args = parsed.args.concat(args);
279
-
280
- self._args.forEach(function(arg, i) {
281
- if (arg.required && null == args[i]) {
282
- self.missingArgument(arg.name);
283
- } else if (arg.variadic) {
284
- if (i !== self._args.length - 1) {
285
- self.variadicArgNotLast(arg.name);
286
- }
287
-
288
- args[i] = args.splice(i);
289
- }
290
- });
291
-
292
- // Always append ourselves to the end of the arguments,
293
- // to make sure we match the number of arguments the user
294
- // expects
295
- if (self._args.length) {
296
- args[self._args.length] = self;
297
- } else {
298
- args.push(self);
299
- }
300
-
301
- fn.apply(self, args);
302
- };
303
- var parent = this.parent || this;
304
- var name = parent === this ? '*' : this._name;
305
- parent.on(name, listener);
306
- if (this._alias) parent.on(this._alias, listener);
307
- return this;
308
- };
309
-
310
- /**
311
- * Define option with `flags`, `description` and optional
312
- * coercion `fn`.
313
- *
314
- * The `flags` string should contain both the short and long flags,
315
- * separated by comma, a pipe or space. The following are all valid
316
- * all will output this way when `--help` is used.
317
- *
318
- * "-p, --pepper"
319
- * "-p|--pepper"
320
- * "-p --pepper"
321
- *
322
- * Examples:
323
- *
324
- * // simple boolean defaulting to false
325
- * program.option('-p, --pepper', 'add pepper');
326
- *
327
- * --pepper
328
- * program.pepper
329
- * // => Boolean
330
- *
331
- * // simple boolean defaulting to true
332
- * program.option('-C, --no-cheese', 'remove cheese');
333
- *
334
- * program.cheese
335
- * // => true
336
- *
337
- * --no-cheese
338
- * program.cheese
339
- * // => false
340
- *
341
- * // required argument
342
- * program.option('-C, --chdir <path>', 'change the working directory');
343
- *
344
- * --chdir /tmp
345
- * program.chdir
346
- * // => "/tmp"
347
- *
348
- * // optional argument
349
- * program.option('-c, --cheese [type]', 'add cheese [marble]');
350
- *
351
- * @param {String} flags
352
- * @param {String} description
353
- * @param {Function|Mixed} fn or default
354
- * @param {Mixed} defaultValue
355
- * @return {Command} for chaining
356
- * @api public
357
- */
358
-
359
- Command.prototype.option = function(flags, description, fn, defaultValue) {
360
- var self = this
361
- , option = new Option(flags, description)
362
- , oname = option.name()
363
- , name = camelcase(oname);
364
-
365
- // default as 3rd arg
366
- if (typeof fn != 'function') {
367
- if (fn instanceof RegExp) {
368
- var regex = fn;
369
- fn = function(val, def) {
370
- var m = regex.exec(val);
371
- return m ? m[0] : def;
372
- }
373
- }
374
- else {
375
- defaultValue = fn;
376
- fn = null;
377
- }
378
- }
379
-
380
- // preassign default value only for --no-*, [optional], or <required>
381
- if (false == option.bool || option.optional || option.required) {
382
- // when --no-* we make sure default is true
383
- if (false == option.bool) defaultValue = true;
384
- // preassign only if we have a default
385
- if (undefined !== defaultValue) self[name] = defaultValue;
386
- }
387
-
388
- // register the option
389
- this.options.push(option);
390
-
391
- // when it's passed assign the value
392
- // and conditionally invoke the callback
393
- this.on(oname, function(val) {
394
- // coercion
395
- if (null !== val && fn) val = fn(val, undefined === self[name]
396
- ? defaultValue
397
- : self[name]);
398
-
399
- // unassigned or bool
400
- if ('boolean' == typeof self[name] || 'undefined' == typeof self[name]) {
401
- // if no value, bool true, and we have a default, then use it!
402
- if (null == val) {
403
- self[name] = option.bool
404
- ? defaultValue || true
405
- : false;
406
- } else {
407
- self[name] = val;
408
- }
409
- } else if (null !== val) {
410
- // reassign
411
- self[name] = val;
412
- }
413
- });
414
-
415
- return this;
416
- };
417
-
418
- /**
419
- * Allow unknown options on the command line.
420
- *
421
- * @param {Boolean} arg if `true` or omitted, no error will be thrown
422
- * for unknown options.
423
- * @api public
424
- */
425
- Command.prototype.allowUnknownOption = function(arg) {
426
- this._allowUnknownOption = arguments.length === 0 || arg;
427
- return this;
428
- };
429
-
430
- /**
431
- * Parse `argv`, settings options and invoking commands when defined.
432
- *
433
- * @param {Array} argv
434
- * @return {Command} for chaining
435
- * @api public
436
- */
437
-
438
- Command.prototype.parse = function(argv) {
439
- // implicit help
440
- if (this.executables) this.addImplicitHelpCommand();
441
-
442
- // store raw args
443
- this.rawArgs = argv;
444
-
445
- // guess name
446
- this._name = this._name || basename(argv[1], '.js');
447
-
448
- // github-style sub-commands with no sub-command
449
- if (this.executables && argv.length < 3 && !this.defaultExecutable) {
450
- // this user needs help
451
- argv.push('--help');
452
- }
453
-
454
- // process argv
455
- var parsed = this.parseOptions(this.normalize(argv.slice(2)));
456
- var args = this.args = parsed.args;
457
-
458
- var result = this.parseArgs(this.args, parsed.unknown);
459
-
460
- // executable sub-commands
461
- var name = result.args[0];
462
- if (this._execs[name] && typeof this._execs[name] != "function") {
463
- return this.executeSubCommand(argv, args, parsed.unknown);
464
- } else if (this.defaultExecutable) {
465
- // use the default subcommand
466
- args.unshift(name = this.defaultExecutable);
467
- return this.executeSubCommand(argv, args, parsed.unknown);
468
- }
469
-
470
- return result;
471
- };
472
-
473
- /**
474
- * Execute a sub-command executable.
475
- *
476
- * @param {Array} argv
477
- * @param {Array} args
478
- * @param {Array} unknown
479
- * @api private
480
- */
481
-
482
- Command.prototype.executeSubCommand = function(argv, args, unknown) {
483
- args = args.concat(unknown);
484
-
485
- if (!args.length) this.help();
486
- if ('help' == args[0] && 1 == args.length) this.help();
487
-
488
- // <cmd> --help
489
- if ('help' == args[0]) {
490
- args[0] = args[1];
491
- args[1] = '--help';
492
- }
493
-
494
- // executable
495
- var f = argv[1];
496
- // name of the subcommand, link `pm-install`
497
- var bin = basename(f, '.js') + '-' + args[0];
498
-
499
-
500
- // In case of globally installed, get the base dir where executable
501
- // subcommand file should be located at
502
- var baseDir
503
- , link = readlink(f);
504
-
505
- // when symbolink is relative path
506
- if (link !== f && link.charAt(0) !== '/') {
507
- link = path.join(dirname(f), link)
508
- }
509
- baseDir = dirname(link);
510
-
511
- // prefer local `./<bin>` to bin in the $PATH
512
- var localBin = path.join(baseDir, bin);
513
-
514
- // whether bin file is a js script with explicit `.js` extension
515
- var isExplicitJS = false;
516
- if (exists(localBin + '.js')) {
517
- bin = localBin + '.js';
518
- isExplicitJS = true;
519
- } else if (exists(localBin)) {
520
- bin = localBin;
521
- }
522
-
523
- args = args.slice(1);
524
-
525
- var proc;
526
- if (process.platform !== 'win32') {
527
- if (isExplicitJS) {
528
- args.unshift(localBin);
529
- // add executable arguments to spawn
530
- args = (process.execArgv || []).concat(args);
531
-
532
- proc = spawn('node', args, { stdio: 'inherit', customFds: [0, 1, 2] });
533
- } else {
534
- proc = spawn(bin, args, { stdio: 'inherit', customFds: [0, 1, 2] });
535
- }
536
- } else {
537
- args.unshift(localBin);
538
- proc = spawn(process.execPath, args, { stdio: 'inherit'});
539
- }
540
-
541
- proc.on('close', process.exit.bind(process));
542
- proc.on('error', function(err) {
543
- if (err.code == "ENOENT") {
544
- console.error('\n %s(1) does not exist, try --help\n', bin);
545
- } else if (err.code == "EACCES") {
546
- console.error('\n %s(1) not executable. try chmod or run with root\n', bin);
547
- }
548
- process.exit(1);
549
- });
550
-
551
- // Store the reference to the child process
552
- this.runningCommand = proc;
553
- };
554
-
555
- /**
556
- * Normalize `args`, splitting joined short flags. For example
557
- * the arg "-abc" is equivalent to "-a -b -c".
558
- * This also normalizes equal sign and splits "--abc=def" into "--abc def".
559
- *
560
- * @param {Array} args
561
- * @return {Array}
562
- * @api private
563
- */
564
-
565
- Command.prototype.normalize = function(args) {
566
- var ret = []
567
- , arg
568
- , lastOpt
569
- , index;
570
-
571
- for (var i = 0, len = args.length; i < len; ++i) {
572
- arg = args[i];
573
- if (i > 0) {
574
- lastOpt = this.optionFor(args[i-1]);
575
- }
576
-
577
- if (arg === '--') {
578
- // Honor option terminator
579
- ret = ret.concat(args.slice(i));
580
- break;
581
- } else if (lastOpt && lastOpt.required) {
582
- ret.push(arg);
583
- } else if (arg.length > 1 && '-' == arg[0] && '-' != arg[1]) {
584
- arg.slice(1).split('').forEach(function(c) {
585
- ret.push('-' + c);
586
- });
587
- } else if (/^--/.test(arg) && ~(index = arg.indexOf('='))) {
588
- ret.push(arg.slice(0, index), arg.slice(index + 1));
589
- } else {
590
- ret.push(arg);
591
- }
592
- }
593
-
594
- return ret;
595
- };
596
-
597
- /**
598
- * Parse command `args`.
599
- *
600
- * When listener(s) are available those
601
- * callbacks are invoked, otherwise the "*"
602
- * event is emitted and those actions are invoked.
603
- *
604
- * @param {Array} args
605
- * @return {Command} for chaining
606
- * @api private
607
- */
608
-
609
- Command.prototype.parseArgs = function(args, unknown) {
610
- var name;
611
-
612
- if (args.length) {
613
- name = args[0];
614
- if (this.listeners(name).length) {
615
- this.emit(args.shift(), args, unknown);
616
- } else {
617
- this.emit('*', args);
618
- }
619
- } else {
620
- outputHelpIfNecessary(this, unknown);
621
-
622
- // If there were no args and we have unknown options,
623
- // then they are extraneous and we need to error.
624
- if (unknown.length > 0) {
625
- this.unknownOption(unknown[0]);
626
- }
627
- }
628
-
629
- return this;
630
- };
631
-
632
- /**
633
- * Return an option matching `arg` if any.
634
- *
635
- * @param {String} arg
636
- * @return {Option}
637
- * @api private
638
- */
639
-
640
- Command.prototype.optionFor = function(arg) {
641
- for (var i = 0, len = this.options.length; i < len; ++i) {
642
- if (this.options[i].is(arg)) {
643
- return this.options[i];
644
- }
645
- }
646
- };
647
-
648
- /**
649
- * Parse options from `argv` returning `argv`
650
- * void of these options.
651
- *
652
- * @param {Array} argv
653
- * @return {Array}
654
- * @api public
655
- */
656
-
657
- Command.prototype.parseOptions = function(argv) {
658
- var args = []
659
- , len = argv.length
660
- , literal
661
- , option
662
- , arg;
663
-
664
- var unknownOptions = [];
665
-
666
- // parse options
667
- for (var i = 0; i < len; ++i) {
668
- arg = argv[i];
669
-
670
- // literal args after --
671
- if ('--' == arg) {
672
- literal = true;
673
- continue;
674
- }
675
-
676
- if (literal) {
677
- args.push(arg);
678
- continue;
679
- }
680
-
681
- // find matching Option
682
- option = this.optionFor(arg);
683
-
684
- // option is defined
685
- if (option) {
686
- // requires arg
687
- if (option.required) {
688
- arg = argv[++i];
689
- if (null == arg) return this.optionMissingArgument(option);
690
- this.emit(option.name(), arg);
691
- // optional arg
692
- } else if (option.optional) {
693
- arg = argv[i+1];
694
- if (null == arg || ('-' == arg[0] && '-' != arg)) {
695
- arg = null;
696
- } else {
697
- ++i;
698
- }
699
- this.emit(option.name(), arg);
700
- // bool
701
- } else {
702
- this.emit(option.name());
703
- }
704
- continue;
705
- }
706
-
707
- // looks like an option
708
- if (arg.length > 1 && '-' == arg[0]) {
709
- unknownOptions.push(arg);
710
-
711
- // If the next argument looks like it might be
712
- // an argument for this option, we pass it on.
713
- // If it isn't, then it'll simply be ignored
714
- if (argv[i+1] && '-' != argv[i+1][0]) {
715
- unknownOptions.push(argv[++i]);
716
- }
717
- continue;
718
- }
719
-
720
- // arg
721
- args.push(arg);
722
- }
723
-
724
- return { args: args, unknown: unknownOptions };
725
- };
726
-
727
- /**
728
- * Return an object containing options as key-value pairs
729
- *
730
- * @return {Object}
731
- * @api public
732
- */
733
- Command.prototype.opts = function() {
734
- var result = {}
735
- , len = this.options.length;
736
-
737
- for (var i = 0 ; i < len; i++) {
738
- var key = camelcase(this.options[i].name());
739
- result[key] = key === 'version' ? this._version : this[key];
740
- }
741
- return result;
742
- };
743
-
744
- /**
745
- * Argument `name` is missing.
746
- *
747
- * @param {String} name
748
- * @api private
749
- */
750
-
751
- Command.prototype.missingArgument = function(name) {
752
- console.error();
753
- console.error(" error: missing required argument `%s'", name);
754
- console.error();
755
- process.exit(1);
756
- };
757
-
758
- /**
759
- * `Option` is missing an argument, but received `flag` or nothing.
760
- *
761
- * @param {String} option
762
- * @param {String} flag
763
- * @api private
764
- */
765
-
766
- Command.prototype.optionMissingArgument = function(option, flag) {
767
- console.error();
768
- if (flag) {
769
- console.error(" error: option `%s' argument missing, got `%s'", option.flags, flag);
770
- } else {
771
- console.error(" error: option `%s' argument missing", option.flags);
772
- }
773
- console.error();
774
- process.exit(1);
775
- };
776
-
777
- /**
778
- * Unknown option `flag`.
779
- *
780
- * @param {String} flag
781
- * @api private
782
- */
783
-
784
- Command.prototype.unknownOption = function(flag) {
785
- if (this._allowUnknownOption) return;
786
- console.error();
787
- console.error(" error: unknown option `%s'", flag);
788
- console.error();
789
- process.exit(1);
790
- };
791
-
792
- /**
793
- * Variadic argument with `name` is not the last argument as required.
794
- *
795
- * @param {String} name
796
- * @api private
797
- */
798
-
799
- Command.prototype.variadicArgNotLast = function(name) {
800
- console.error();
801
- console.error(" error: variadic arguments must be last `%s'", name);
802
- console.error();
803
- process.exit(1);
804
- };
805
-
806
- /**
807
- * Set the program version to `str`.
808
- *
809
- * This method auto-registers the "-V, --version" flag
810
- * which will print the version number when passed.
811
- *
812
- * @param {String} str
813
- * @param {String} flags
814
- * @return {Command} for chaining
815
- * @api public
816
- */
817
-
818
- Command.prototype.version = function(str, flags) {
819
- if (0 == arguments.length) return this._version;
820
- this._version = str;
821
- flags = flags || '-V, --version';
822
- this.option(flags, 'output the version number');
823
- this.on('version', function() {
824
- process.stdout.write(str + '\n');
825
- process.exit(0);
826
- });
827
- return this;
828
- };
829
-
830
- /**
831
- * Set the description to `str`.
832
- *
833
- * @param {String} str
834
- * @return {String|Command}
835
- * @api public
836
- */
837
-
838
- Command.prototype.description = function(str) {
839
- if (0 === arguments.length) return this._description;
840
- this._description = str;
841
- return this;
842
- };
843
-
844
- /**
845
- * Set an alias for the command
846
- *
847
- * @param {String} alias
848
- * @return {String|Command}
849
- * @api public
850
- */
851
-
852
- Command.prototype.alias = function(alias) {
853
- if (0 == arguments.length) return this._alias;
854
- this._alias = alias;
855
- return this;
856
- };
857
-
858
- /**
859
- * Set / get the command usage `str`.
860
- *
861
- * @param {String} str
862
- * @return {String|Command}
863
- * @api public
864
- */
865
-
866
- Command.prototype.usage = function(str) {
867
- var args = this._args.map(function(arg) {
868
- return humanReadableArgName(arg);
869
- });
870
-
871
- var usage = '[options]'
872
- + (this.commands.length ? ' [command]' : '')
873
- + (this._args.length ? ' ' + args.join(' ') : '');
874
-
875
- if (0 == arguments.length) return this._usage || usage;
876
- this._usage = str;
877
-
878
- return this;
879
- };
880
-
881
- /**
882
- * Get the name of the command
883
- *
884
- * @param {String} name
885
- * @return {String|Command}
886
- * @api public
887
- */
888
-
889
- Command.prototype.name = function() {
890
- return this._name;
891
- };
892
-
893
- /**
894
- * Return the largest option length.
895
- *
896
- * @return {Number}
897
- * @api private
898
- */
899
-
900
- Command.prototype.largestOptionLength = function() {
901
- return this.options.reduce(function(max, option) {
902
- return Math.max(max, option.flags.length);
903
- }, 0);
904
- };
905
-
906
- /**
907
- * Return help for options.
908
- *
909
- * @return {String}
910
- * @api private
911
- */
912
-
913
- Command.prototype.optionHelp = function() {
914
- var width = this.largestOptionLength();
915
-
916
- // Prepend the help information
917
- return [pad('-h, --help', width) + ' ' + 'output usage information']
918
- .concat(this.options.map(function(option) {
919
- return pad(option.flags, width) + ' ' + option.description;
920
- }))
921
- .join('\n');
922
- };
923
-
924
- /**
925
- * Return command help documentation.
926
- *
927
- * @return {String}
928
- * @api private
929
- */
930
-
931
- Command.prototype.commandHelp = function() {
932
- if (!this.commands.length) return '';
933
-
934
- var commands = this.commands.filter(function(cmd) {
935
- return !cmd._noHelp;
936
- }).map(function(cmd) {
937
- var args = cmd._args.map(function(arg) {
938
- return humanReadableArgName(arg);
939
- }).join(' ');
940
-
941
- return [
942
- cmd._name
943
- + (cmd._alias ? '|' + cmd._alias : '')
944
- + (cmd.options.length ? ' [options]' : '')
945
- + ' ' + args
946
- , cmd.description()
947
- ];
948
- });
949
-
950
- var width = commands.reduce(function(max, command) {
951
- return Math.max(max, command[0].length);
952
- }, 0);
953
-
954
- return [
955
- ''
956
- , ' Commands:'
957
- , ''
958
- , commands.map(function(cmd) {
959
- var desc = cmd[1] ? ' ' + cmd[1] : '';
960
- return pad(cmd[0], width) + desc;
961
- }).join('\n').replace(/^/gm, ' ')
962
- , ''
963
- ].join('\n');
964
- };
965
-
966
- /**
967
- * Return program help documentation.
968
- *
969
- * @return {String}
970
- * @api private
971
- */
972
-
973
- Command.prototype.helpInformation = function() {
974
- var desc = [];
975
- if (this._description) {
976
- desc = [
977
- ' ' + this._description
978
- , ''
979
- ];
980
- }
981
-
982
- var cmdName = this._name;
983
- if (this._alias) {
984
- cmdName = cmdName + '|' + this._alias;
985
- }
986
- var usage = [
987
- ''
988
- ,' Usage: ' + cmdName + ' ' + this.usage()
989
- , ''
990
- ];
991
-
992
- var cmds = [];
993
- var commandHelp = this.commandHelp();
994
- if (commandHelp) cmds = [commandHelp];
995
-
996
- var options = [
997
- ' Options:'
998
- , ''
999
- , '' + this.optionHelp().replace(/^/gm, ' ')
1000
- , ''
1001
- , ''
1002
- ];
1003
-
1004
- return usage
1005
- .concat(cmds)
1006
- .concat(desc)
1007
- .concat(options)
1008
- .join('\n');
1009
- };
1010
-
1011
- /**
1012
- * Output help information for this command
1013
- *
1014
- * @api public
1015
- */
1016
-
1017
- Command.prototype.outputHelp = function(cb) {
1018
- if (!cb) {
1019
- cb = function(passthru) {
1020
- return passthru;
1021
- }
1022
- }
1023
- process.stdout.write(cb(this.helpInformation()));
1024
- this.emit('--help');
1025
- };
1026
-
1027
- /**
1028
- * Output help information and exit.
1029
- *
1030
- * @api public
1031
- */
1032
-
1033
- Command.prototype.help = function(cb) {
1034
- this.outputHelp(cb);
1035
- process.exit();
1036
- };
1037
-
1038
- /**
1039
- * Camel-case the given `flag`
1040
- *
1041
- * @param {String} flag
1042
- * @return {String}
1043
- * @api private
1044
- */
1045
-
1046
- function camelcase(flag) {
1047
- return flag.split('-').reduce(function(str, word) {
1048
- return str + word[0].toUpperCase() + word.slice(1);
1049
- });
1050
- }
1051
-
1052
- /**
1053
- * Pad `str` to `width`.
1054
- *
1055
- * @param {String} str
1056
- * @param {Number} width
1057
- * @return {String}
1058
- * @api private
1059
- */
1060
-
1061
- function pad(str, width) {
1062
- var len = Math.max(0, width - str.length);
1063
- return str + Array(len + 1).join(' ');
1064
- }
1065
-
1066
- /**
1067
- * Output help information if necessary
1068
- *
1069
- * @param {Command} command to output help for
1070
- * @param {Array} array of options to search for -h or --help
1071
- * @api private
1072
- */
1073
-
1074
- function outputHelpIfNecessary(cmd, options) {
1075
- options = options || [];
1076
- for (var i = 0; i < options.length; i++) {
1077
- if (options[i] == '--help' || options[i] == '-h') {
1078
- cmd.outputHelp();
1079
- process.exit(0);
1080
- }
1081
- }
1082
- }
1083
-
1084
- /**
1085
- * Takes an argument an returns its human readable equivalent for help usage.
1086
- *
1087
- * @param {Object} arg
1088
- * @return {String}
1089
- * @api private
1090
- */
1091
-
1092
- function humanReadableArgName(arg) {
1093
- var nameOutput = arg.name + (arg.variadic === true ? '...' : '');
1094
-
1095
- return arg.required
1096
- ? '<' + nameOutput + '>'
1097
- : '[' + nameOutput + ']'
1098
- }
1099
-
1100
- // for versions before node v0.8 when there weren't `fs.existsSync`
1101
- function exists(file) {
1102
- try {
1103
- if (fs.statSync(file).isFile()) {
1104
- return true;
1105
- }
1106
- } catch (e) {
1107
- return false;
1108
- }
1109
- }
1110
-