fsevents 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (581) hide show
  1. package/.travis.yml +7 -9
  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/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  18. package/lib/binding/Release/node-v57-darwin-x64/fse.node +0 -0
  19. package/node_modules/abbrev/package.json +15 -51
  20. package/node_modules/ajv/.tonic_example.js +20 -0
  21. package/node_modules/{is-my-json-valid → ajv}/LICENSE +6 -5
  22. package/node_modules/ajv/README.md +1213 -0
  23. package/node_modules/ajv/dist/ajv.bundle.js +8023 -0
  24. package/node_modules/ajv/dist/ajv.min.js +6 -0
  25. package/node_modules/ajv/dist/ajv.min.js.map +1 -0
  26. package/node_modules/ajv/dist/nodent.min.js +8 -0
  27. package/node_modules/ajv/dist/regenerator.min.js +32 -0
  28. package/node_modules/ajv/lib/ajv.d.ts +284 -0
  29. package/node_modules/ajv/lib/ajv.js +420 -0
  30. package/node_modules/ajv/lib/async.js +218 -0
  31. package/node_modules/ajv/lib/cache.js +26 -0
  32. package/node_modules/ajv/lib/compile/_rules.js +28 -0
  33. package/node_modules/ajv/lib/compile/equal.js +45 -0
  34. package/node_modules/ajv/lib/compile/formats.js +164 -0
  35. package/node_modules/ajv/lib/compile/index.js +390 -0
  36. package/node_modules/ajv/lib/compile/resolve.js +267 -0
  37. package/node_modules/ajv/lib/compile/rules.js +40 -0
  38. package/node_modules/ajv/lib/compile/schema_obj.js +9 -0
  39. package/node_modules/ajv/lib/compile/ucs2length.js +20 -0
  40. package/node_modules/ajv/lib/compile/util.js +257 -0
  41. package/node_modules/ajv/lib/compile/validation_error.js +14 -0
  42. package/node_modules/ajv/lib/dot/_limit.jst +49 -0
  43. package/node_modules/ajv/lib/dot/_limitItems.jst +10 -0
  44. package/node_modules/ajv/lib/dot/_limitLength.jst +10 -0
  45. package/node_modules/ajv/lib/dot/_limitProperties.jst +10 -0
  46. package/node_modules/ajv/lib/dot/allOf.jst +34 -0
  47. package/node_modules/ajv/lib/dot/anyOf.jst +48 -0
  48. package/node_modules/ajv/lib/dot/coerce.def +61 -0
  49. package/node_modules/ajv/lib/dot/custom.jst +184 -0
  50. package/node_modules/ajv/lib/dot/defaults.def +32 -0
  51. package/node_modules/ajv/lib/dot/definitions.def +182 -0
  52. package/node_modules/ajv/lib/dot/dependencies.jst +69 -0
  53. package/node_modules/ajv/lib/dot/enum.jst +30 -0
  54. package/node_modules/ajv/lib/dot/errors.def +185 -0
  55. package/node_modules/ajv/lib/dot/format.jst +100 -0
  56. package/node_modules/ajv/lib/dot/items.jst +101 -0
  57. package/node_modules/ajv/lib/dot/missing.def +34 -0
  58. package/node_modules/ajv/lib/dot/multipleOf.jst +20 -0
  59. package/node_modules/ajv/lib/dot/not.jst +43 -0
  60. package/node_modules/ajv/lib/dot/oneOf.jst +44 -0
  61. package/node_modules/ajv/lib/dot/pattern.jst +14 -0
  62. package/node_modules/ajv/lib/dot/properties.jst +319 -0
  63. package/node_modules/ajv/lib/dot/ref.jst +86 -0
  64. package/node_modules/ajv/lib/dot/required.jst +96 -0
  65. package/node_modules/ajv/lib/dot/uniqueItems.jst +38 -0
  66. package/node_modules/ajv/lib/dot/v5/_formatLimit.jst +116 -0
  67. package/node_modules/ajv/lib/dot/v5/constant.jst +10 -0
  68. package/node_modules/ajv/lib/dot/v5/patternRequired.jst +28 -0
  69. package/node_modules/ajv/lib/dot/v5/switch.jst +73 -0
  70. package/node_modules/ajv/lib/dot/validate.jst +210 -0
  71. package/node_modules/ajv/lib/dotjs/README.md +3 -0
  72. package/node_modules/ajv/lib/dotjs/_formatLimit.js +176 -0
  73. package/node_modules/ajv/lib/dotjs/_limit.js +124 -0
  74. package/node_modules/ajv/lib/dotjs/_limitItems.js +76 -0
  75. package/node_modules/ajv/lib/dotjs/_limitLength.js +81 -0
  76. package/node_modules/ajv/lib/dotjs/_limitProperties.js +76 -0
  77. package/node_modules/ajv/lib/dotjs/allOf.js +43 -0
  78. package/node_modules/ajv/lib/dotjs/anyOf.js +65 -0
  79. package/node_modules/ajv/lib/dotjs/constant.js +52 -0
  80. package/node_modules/ajv/lib/dotjs/custom.js +220 -0
  81. package/node_modules/ajv/lib/dotjs/dependencies.js +147 -0
  82. package/node_modules/ajv/lib/dotjs/enum.js +65 -0
  83. package/node_modules/ajv/lib/dotjs/format.js +138 -0
  84. package/node_modules/ajv/lib/dotjs/items.js +144 -0
  85. package/node_modules/ajv/lib/dotjs/multipleOf.js +76 -0
  86. package/node_modules/ajv/lib/dotjs/not.js +83 -0
  87. package/node_modules/ajv/lib/dotjs/oneOf.js +76 -0
  88. package/node_modules/ajv/lib/dotjs/pattern.js +74 -0
  89. package/node_modules/ajv/lib/dotjs/patternRequired.js +51 -0
  90. package/node_modules/ajv/lib/dotjs/properties.js +445 -0
  91. package/node_modules/ajv/lib/dotjs/ref.js +119 -0
  92. package/node_modules/ajv/lib/dotjs/required.js +249 -0
  93. package/node_modules/ajv/lib/dotjs/switch.js +128 -0
  94. package/node_modules/ajv/lib/dotjs/uniqueItems.js +71 -0
  95. package/node_modules/ajv/lib/dotjs/validate.js +375 -0
  96. package/node_modules/ajv/lib/keyword.js +129 -0
  97. package/node_modules/ajv/lib/refs/json-schema-draft-04.json +150 -0
  98. package/node_modules/ajv/lib/refs/json-schema-v5.json +328 -0
  99. package/node_modules/ajv/lib/v5.js +52 -0
  100. package/node_modules/ajv/package.json +132 -0
  101. package/node_modules/ajv/scripts/.eslintrc.yml +3 -0
  102. package/node_modules/ajv/scripts/bundle.js +54 -0
  103. package/node_modules/ajv/scripts/compile-dots.js +73 -0
  104. package/node_modules/ajv/scripts/info +10 -0
  105. package/node_modules/ajv/scripts/prepare-tests +9 -0
  106. package/node_modules/ajv/scripts/travis-gh-pages +23 -0
  107. package/node_modules/ansi-regex/package.json +26 -49
  108. package/node_modules/aproba/package.json +15 -48
  109. package/node_modules/are-we-there-yet/CHANGES.md +12 -0
  110. package/node_modules/are-we-there-yet/CHANGES.md~ +27 -0
  111. package/node_modules/are-we-there-yet/README.md +4 -3
  112. package/node_modules/are-we-there-yet/package.json +28 -54
  113. package/node_modules/asn1/package.json +16 -48
  114. package/node_modules/assert-plus/package.json +15 -47
  115. package/node_modules/asynckit/package.json +15 -49
  116. package/node_modules/aws-sign2/package.json +15 -45
  117. package/node_modules/aws4/package.json +15 -50
  118. package/node_modules/balanced-match/package.json +15 -49
  119. package/node_modules/bcrypt-pbkdf/package.json +16 -62
  120. package/node_modules/block-stream/package.json +15 -49
  121. package/node_modules/boom/package.json +15 -54
  122. package/node_modules/brace-expansion/README.md +1 -0
  123. package/node_modules/brace-expansion/index.js +1 -1
  124. package/node_modules/brace-expansion/package.json +20 -56
  125. package/node_modules/buffer-shims/package.json +15 -51
  126. package/node_modules/caseless/index.js +1 -0
  127. package/node_modules/caseless/package.json +19 -58
  128. package/node_modules/caseless/test.js +27 -0
  129. package/node_modules/co/History.md +172 -0
  130. package/node_modules/{commander → co}/LICENSE +1 -1
  131. package/node_modules/co/Readme.md +212 -0
  132. package/node_modules/co/index.js +237 -0
  133. package/node_modules/co/package.json +67 -0
  134. package/node_modules/code-point-at/package.json +15 -50
  135. package/node_modules/combined-stream/package.json +15 -58
  136. package/node_modules/concat-map/package.json +13 -41
  137. package/node_modules/console-control-strings/package.json +15 -50
  138. package/node_modules/core-util-is/package.json +15 -47
  139. package/node_modules/cryptiles/package.json +15 -49
  140. package/node_modules/dashdash/node_modules/assert-plus/package.json +15 -47
  141. package/node_modules/dashdash/package.json +15 -72
  142. package/node_modules/debug/.coveralls.yml +1 -0
  143. package/node_modules/debug/.eslintrc +11 -0
  144. package/node_modules/debug/.npmignore +3 -0
  145. package/node_modules/debug/.travis.yml +14 -0
  146. package/node_modules/debug/CHANGELOG.md +357 -0
  147. package/node_modules/debug/LICENSE +19 -0
  148. package/node_modules/debug/Makefile +28 -14
  149. package/node_modules/debug/README.md +312 -0
  150. package/node_modules/debug/component.json +4 -4
  151. package/node_modules/debug/karma.conf.js +70 -0
  152. package/node_modules/debug/node.js +1 -209
  153. package/node_modules/debug/package.json +41 -58
  154. package/node_modules/debug/{browser.js → src/browser.js} +29 -12
  155. package/node_modules/debug/{debug.js → src/debug.js} +42 -37
  156. package/node_modules/debug/src/index.js +10 -0
  157. package/node_modules/debug/src/node.js +246 -0
  158. package/node_modules/deep-extend/README.md +1 -1
  159. package/node_modules/deep-extend/lib/deep-extend.js +2 -2
  160. package/node_modules/deep-extend/package.json +22 -48
  161. package/node_modules/delayed-stream/package.json +15 -49
  162. package/node_modules/delegates/package.json +15 -50
  163. package/node_modules/ecc-jsbn/package.json +21 -45
  164. package/node_modules/extend/.eslintrc +10 -185
  165. package/node_modules/extend/.jscs.json +75 -4
  166. package/node_modules/extend/.travis.yml +154 -19
  167. package/node_modules/extend/CHANGELOG.md +8 -0
  168. package/node_modules/extend/README.md +20 -1
  169. package/node_modules/extend/index.js +8 -8
  170. package/node_modules/extend/package.json +26 -56
  171. package/node_modules/extsprintf/package.json +12 -43
  172. package/node_modules/forever-agent/package.json +16 -53
  173. package/node_modules/form-data/README.md +4 -4
  174. package/node_modules/form-data/lib/form_data.js +4 -0
  175. package/node_modules/form-data/package.json +18 -64
  176. package/node_modules/fs.realpath/package.json +15 -49
  177. package/node_modules/fstream/lib/reader.js +4 -4
  178. package/node_modules/fstream/lib/writer.js +2 -2
  179. package/node_modules/fstream/package.json +19 -67
  180. package/node_modules/fstream-ignore/package.json +15 -57
  181. package/node_modules/gauge/CHANGELOG.md +5 -0
  182. package/node_modules/gauge/package.json +18 -52
  183. package/node_modules/gauge/plumbing.js +1 -0
  184. package/node_modules/getpass/node_modules/assert-plus/package.json +15 -47
  185. package/node_modules/getpass/package.json +19 -58
  186. package/node_modules/glob/glob.js +0 -2
  187. package/node_modules/glob/package.json +19 -53
  188. package/node_modules/graceful-fs/package.json +15 -49
  189. package/node_modules/har-schema/LICENSE +13 -0
  190. package/node_modules/har-schema/README.md +49 -0
  191. package/node_modules/har-schema/lib/afterRequest.json +29 -0
  192. package/node_modules/har-schema/lib/beforeRequest.json +29 -0
  193. package/node_modules/har-schema/lib/browser.json +19 -0
  194. package/node_modules/har-schema/lib/cache.json +20 -0
  195. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/content.json +1 -0
  196. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/cookie.json +1 -0
  197. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/creator.json +1 -0
  198. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/entry.json +5 -4
  199. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/har.json +2 -1
  200. package/node_modules/har-schema/lib/header.json +19 -0
  201. package/node_modules/har-schema/lib/index.js +22 -0
  202. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/log.json +5 -4
  203. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/page.json +2 -1
  204. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/pageTimings.json +1 -0
  205. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/postData.json +1 -0
  206. package/node_modules/{har-validator/lib/schemas/record.json → har-schema/lib/query.json} +1 -0
  207. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/request.json +5 -4
  208. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/response.json +4 -3
  209. package/node_modules/{har-validator/lib/schemas → har-schema/lib}/timings.json +1 -0
  210. package/node_modules/har-schema/package.json +87 -0
  211. package/node_modules/har-validator/README.md +31 -265
  212. package/node_modules/har-validator/lib/browser/async.js +96 -0
  213. package/node_modules/har-validator/lib/browser/error.js +15 -0
  214. package/node_modules/har-validator/lib/browser/promise.js +93 -0
  215. package/node_modules/har-validator/lib/node4/async.js +136 -0
  216. package/node_modules/har-validator/lib/node4/error.js +22 -0
  217. package/node_modules/har-validator/lib/node4/promise.js +132 -0
  218. package/node_modules/har-validator/lib/node6/async.js +133 -0
  219. package/node_modules/har-validator/lib/node6/error.js +22 -0
  220. package/node_modules/har-validator/lib/node6/promise.js +130 -0
  221. package/node_modules/har-validator/lib/node7/async.js +133 -0
  222. package/node_modules/har-validator/lib/node7/error.js +22 -0
  223. package/node_modules/har-validator/lib/node7/promise.js +130 -0
  224. package/node_modules/har-validator/package.json +54 -72
  225. package/node_modules/har-validator/src/async.js +96 -0
  226. package/node_modules/har-validator/src/error.js +15 -0
  227. package/node_modules/har-validator/src/promise.js +93 -0
  228. package/node_modules/has-unicode/package.json +15 -50
  229. package/node_modules/hawk/package.json +15 -45
  230. package/node_modules/hoek/package.json +15 -55
  231. package/node_modules/http-signature/package.json +15 -53
  232. package/node_modules/inflight/package.json +15 -61
  233. package/node_modules/inherits/package.json +15 -58
  234. package/node_modules/ini/package.json +15 -45
  235. package/node_modules/is-fullwidth-code-point/package.json +16 -46
  236. package/node_modules/is-typedarray/package.json +15 -45
  237. package/node_modules/isarray/package.json +15 -46
  238. package/node_modules/isstream/package.json +15 -46
  239. package/node_modules/jodid25519/package.json +16 -44
  240. package/node_modules/jsbn/package.json +16 -53
  241. package/node_modules/json-schema/package.json +13 -41
  242. package/node_modules/{generate-function → json-stable-stringify}/.npmignore +0 -0
  243. package/node_modules/{generate-object-property → json-stable-stringify}/.travis.yml +1 -0
  244. package/node_modules/{ms → json-stable-stringify}/LICENSE +1 -3
  245. package/node_modules/json-stable-stringify/example/key_cmp.js +7 -0
  246. package/node_modules/json-stable-stringify/example/nested.js +3 -0
  247. package/node_modules/json-stable-stringify/example/str.js +3 -0
  248. package/node_modules/json-stable-stringify/example/value_cmp.js +7 -0
  249. package/node_modules/json-stable-stringify/index.js +84 -0
  250. package/node_modules/json-stable-stringify/package.json +75 -0
  251. package/node_modules/json-stable-stringify/readme.markdown +130 -0
  252. package/node_modules/json-stable-stringify/test/cmp.js +11 -0
  253. package/node_modules/json-stable-stringify/test/nested.js +35 -0
  254. package/node_modules/json-stable-stringify/test/replacer.js +74 -0
  255. package/node_modules/json-stable-stringify/test/space.js +59 -0
  256. package/node_modules/json-stable-stringify/test/str.js +32 -0
  257. package/node_modules/json-stable-stringify/test/to-json.js +20 -0
  258. package/node_modules/json-stringify-safe/package.json +15 -50
  259. package/node_modules/jsonify/README.markdown +34 -0
  260. package/node_modules/jsonify/index.js +2 -0
  261. package/node_modules/jsonify/lib/parse.js +273 -0
  262. package/node_modules/jsonify/lib/stringify.js +154 -0
  263. package/node_modules/jsonify/package.json +60 -0
  264. package/node_modules/jsonify/test/parse.js +16 -0
  265. package/node_modules/jsonify/test/stringify.js +15 -0
  266. package/node_modules/jsprim/CHANGES.md +4 -0
  267. package/node_modules/jsprim/README.md +55 -0
  268. package/node_modules/jsprim/lib/jsprim.js +248 -1
  269. package/node_modules/jsprim/node_modules/assert-plus/AUTHORS +6 -0
  270. package/node_modules/jsprim/node_modules/assert-plus/CHANGES.md +14 -0
  271. package/node_modules/jsprim/node_modules/assert-plus/README.md +162 -0
  272. package/node_modules/jsprim/node_modules/assert-plus/assert.js +211 -0
  273. package/node_modules/jsprim/node_modules/assert-plus/package.json +83 -0
  274. package/node_modules/jsprim/package.json +22 -57
  275. package/node_modules/mime-db/HISTORY.md +21 -0
  276. package/node_modules/mime-db/db.json +54 -0
  277. package/node_modules/mime-db/package.json +24 -63
  278. package/node_modules/mime-types/HISTORY.md +7 -0
  279. package/node_modules/mime-types/README.md +10 -5
  280. package/node_modules/mime-types/index.js +1 -1
  281. package/node_modules/mime-types/package.json +23 -66
  282. package/node_modules/minimatch/package.json +24 -58
  283. package/node_modules/minimist/package.json +12 -41
  284. package/node_modules/mkdirp/package.json +15 -47
  285. package/node_modules/ms/index.js +50 -23
  286. package/node_modules/{graceful-readlink/LICENSE → ms/license.md} +1 -2
  287. package/node_modules/ms/package.json +49 -61
  288. package/node_modules/ms/readme.md +51 -0
  289. package/node_modules/node-pre-gyp/CHANGELOG.md +15 -0
  290. package/node_modules/node-pre-gyp/README.md +12 -1
  291. package/node_modules/node-pre-gyp/appveyor.yml +1 -6
  292. package/node_modules/node-pre-gyp/cloudformation/travis.template +73 -0
  293. package/node_modules/node-pre-gyp/contributing.md +10 -0
  294. package/node_modules/node-pre-gyp/lib/install.js +5 -47
  295. package/node_modules/node-pre-gyp/lib/testbinary.js +8 -2
  296. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +72 -0
  297. package/node_modules/node-pre-gyp/package.json +30 -76
  298. package/node_modules/node-pre-gyp/template-name.diff +12 -0
  299. package/node_modules/nopt/.travis.yml +3 -4
  300. package/node_modules/nopt/CHANGELOG.md +58 -0
  301. package/node_modules/nopt/README.md +28 -26
  302. package/node_modules/nopt/lib/nopt.js +50 -29
  303. package/node_modules/nopt/package.json +22 -59
  304. package/node_modules/nopt/test/basic.js +36 -6
  305. package/node_modules/npmlog/CHANGELOG.md +5 -1
  306. package/node_modules/npmlog/log.js +2 -0
  307. package/node_modules/npmlog/package.json +21 -67
  308. package/node_modules/number-is-nan/package.json +15 -50
  309. package/node_modules/oauth-sign/package.json +15 -56
  310. package/node_modules/object-assign/package.json +15 -58
  311. package/node_modules/once/package.json +15 -49
  312. package/node_modules/os-homedir/index.js +24 -0
  313. package/node_modules/{ansi-styles → os-homedir}/license +0 -0
  314. package/node_modules/os-homedir/package.json +74 -0
  315. package/node_modules/os-homedir/readme.md +31 -0
  316. package/node_modules/os-tmpdir/index.js +25 -0
  317. package/node_modules/{chalk → os-tmpdir}/license +0 -0
  318. package/node_modules/os-tmpdir/package.json +74 -0
  319. package/node_modules/os-tmpdir/readme.md +32 -0
  320. package/node_modules/osenv/.npmignore +13 -0
  321. package/node_modules/osenv/.travis.yml +9 -0
  322. package/node_modules/{tar-pack/node_modules/once → osenv}/LICENSE +0 -0
  323. package/node_modules/osenv/README.md +63 -0
  324. package/node_modules/osenv/osenv.js +72 -0
  325. package/node_modules/osenv/package.json +68 -0
  326. package/node_modules/osenv/test/unix.js +71 -0
  327. package/node_modules/osenv/test/windows.js +74 -0
  328. package/node_modules/osenv/x.tap +39 -0
  329. package/node_modules/path-is-absolute/package.json +15 -50
  330. package/node_modules/performance-now/.npmignore +1 -0
  331. package/node_modules/performance-now/.tm_properties +7 -0
  332. package/node_modules/{generate-function → performance-now}/.travis.yml +1 -0
  333. package/node_modules/performance-now/Makefile +25 -0
  334. package/node_modules/performance-now/README.md +30 -0
  335. package/node_modules/performance-now/lib/performance-now.js +32 -0
  336. package/node_modules/performance-now/license.txt +7 -0
  337. package/node_modules/performance-now/package.json +58 -0
  338. package/node_modules/performance-now/src/performance-now.coffee +15 -0
  339. package/node_modules/performance-now/test/mocha.opts +3 -0
  340. package/node_modules/performance-now/test/performance-now.coffee +38 -0
  341. package/node_modules/process-nextick-args/package.json +15 -51
  342. package/node_modules/punycode/package.json +14 -49
  343. package/node_modules/qs/.eslintrc +4 -5
  344. package/node_modules/qs/.jscs.json +176 -0
  345. package/node_modules/qs/CHANGELOG.md +19 -0
  346. package/node_modules/qs/README.md +10 -1
  347. package/node_modules/qs/dist/qs.js +24 -14
  348. package/node_modules/qs/lib/index.js +0 -0
  349. package/node_modules/qs/lib/parse.js +6 -5
  350. package/node_modules/qs/lib/stringify.js +15 -8
  351. package/node_modules/qs/lib/utils.js +3 -1
  352. package/node_modules/qs/package.json +19 -61
  353. package/node_modules/qs/test/.eslintrc +2 -1
  354. package/node_modules/qs/test/parse.js +37 -2
  355. package/node_modules/qs/test/stringify.js +29 -0
  356. package/node_modules/qs/test/utils.js +0 -0
  357. package/node_modules/rc/lib/utils.js +2 -1
  358. package/node_modules/rc/node_modules/minimist/package.json +15 -46
  359. package/node_modules/rc/package.json +18 -53
  360. package/node_modules/rc/test/nested-env-vars.js +31 -21
  361. package/node_modules/readable-stream/.travis.yml +2 -2
  362. package/node_modules/readable-stream/CONTRIBUTING.md +38 -0
  363. package/node_modules/readable-stream/GOVERNANCE.md +136 -0
  364. package/node_modules/readable-stream/LICENSE +29 -0
  365. package/node_modules/readable-stream/README.md +20 -3
  366. package/node_modules/readable-stream/duplex-browser.js +1 -0
  367. package/node_modules/readable-stream/duplex.js +1 -1
  368. package/node_modules/readable-stream/lib/_stream_readable.js +7 -13
  369. package/node_modules/readable-stream/lib/_stream_writable.js +18 -28
  370. package/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -0
  371. package/node_modules/readable-stream/lib/internal/streams/stream.js +1 -0
  372. package/node_modules/readable-stream/package.json +25 -67
  373. package/node_modules/readable-stream/passthrough.js +1 -1
  374. package/node_modules/{tar-pack/node_modules/readable-stream/readable.js → readable-stream/readable-browser.js} +1 -10
  375. package/node_modules/readable-stream/readable.js +17 -14
  376. package/node_modules/readable-stream/transform.js +1 -1
  377. package/node_modules/readable-stream/writable-browser.js +1 -0
  378. package/node_modules/readable-stream/writable.js +8 -1
  379. package/node_modules/request/CHANGELOG.md +23 -11
  380. package/node_modules/request/README.md +36 -19
  381. package/node_modules/request/lib/helpers.js +2 -1
  382. package/node_modules/request/lib/multipart.js +2 -1
  383. package/node_modules/request/lib/oauth.js +2 -1
  384. package/node_modules/request/package.json +30 -74
  385. package/node_modules/request/request.js +106 -16
  386. package/node_modules/rimraf/bin.js +13 -3
  387. package/node_modules/rimraf/package.json +19 -55
  388. package/node_modules/rimraf/rimraf.js +22 -2
  389. package/node_modules/safe-buffer/.travis.yml +7 -0
  390. package/node_modules/{is-property → safe-buffer}/LICENSE +1 -2
  391. package/node_modules/safe-buffer/README.md +581 -0
  392. package/node_modules/safe-buffer/browser.js +1 -0
  393. package/node_modules/safe-buffer/index.js +58 -0
  394. package/node_modules/safe-buffer/package.json +64 -0
  395. package/node_modules/safe-buffer/test.js +99 -0
  396. package/node_modules/semver/package.json +15 -54
  397. package/node_modules/set-blocking/package.json +15 -50
  398. package/node_modules/signal-exit/package.json +15 -54
  399. package/node_modules/sntp/package.json +16 -45
  400. package/node_modules/sshpk/README.md +38 -6
  401. package/node_modules/sshpk/lib/certificate.js +88 -2
  402. package/node_modules/sshpk/lib/dhe.js +101 -2
  403. package/node_modules/sshpk/lib/formats/openssh-cert.js +34 -1
  404. package/node_modules/sshpk/lib/formats/x509.js +247 -5
  405. package/node_modules/sshpk/lib/identity.js +1 -1
  406. package/node_modules/sshpk/lib/index.js +1 -0
  407. package/node_modules/sshpk/lib/key.js +6 -2
  408. package/node_modules/sshpk/lib/private-key.js +25 -1
  409. package/node_modules/sshpk/lib/signature.js +76 -8
  410. package/node_modules/sshpk/node_modules/assert-plus/package.json +15 -47
  411. package/node_modules/sshpk/package.json +21 -53
  412. package/node_modules/string-width/package.json +15 -50
  413. package/node_modules/string_decoder/LICENSE +48 -20
  414. package/node_modules/string_decoder/README.md +25 -4
  415. package/node_modules/string_decoder/lib/string_decoder.js +272 -0
  416. package/node_modules/string_decoder/package.json +24 -55
  417. package/node_modules/stringstream/package.json +15 -48
  418. package/node_modules/strip-ansi/package.json +27 -50
  419. package/node_modules/strip-json-comments/package.json +15 -50
  420. package/node_modules/tar/package.json +15 -58
  421. package/node_modules/tar-pack/package.json +28 -79
  422. package/node_modules/tough-cookie/package.json +15 -57
  423. package/node_modules/tunnel-agent/index.js +5 -4
  424. package/node_modules/tunnel-agent/package.json +22 -66
  425. package/node_modules/tweetnacl/package.json +16 -50
  426. package/node_modules/uid-number/package.json +16 -46
  427. package/node_modules/util-deprecate/package.json +15 -48
  428. package/node_modules/uuid/package.json +15 -58
  429. package/node_modules/verror/package.json +12 -41
  430. package/node_modules/wide-align/package.json +25 -51
  431. package/node_modules/wrappy/package.json +15 -54
  432. package/package.json +4 -3
  433. package/node_modules/ansi-styles/index.js +0 -65
  434. package/node_modules/ansi-styles/package.json +0 -114
  435. package/node_modules/ansi-styles/readme.md +0 -86
  436. package/node_modules/are-we-there-yet/.npmignore +0 -5
  437. package/node_modules/are-we-there-yet/test/lib/test-event.js +0 -29
  438. package/node_modules/are-we-there-yet/test/tracker.js +0 -57
  439. package/node_modules/are-we-there-yet/test/trackergroup.js +0 -96
  440. package/node_modules/are-we-there-yet/test/trackerstream.js +0 -51
  441. package/node_modules/chalk/index.js +0 -116
  442. package/node_modules/chalk/package.json +0 -140
  443. package/node_modules/chalk/readme.md +0 -213
  444. package/node_modules/commander/History.md +0 -261
  445. package/node_modules/commander/Readme.md +0 -351
  446. package/node_modules/commander/index.js +0 -1110
  447. package/node_modules/commander/package.json +0 -104
  448. package/node_modules/debug/.jshintrc +0 -3
  449. package/node_modules/debug/History.md +0 -195
  450. package/node_modules/debug/Readme.md +0 -188
  451. package/node_modules/debug/bower.json +0 -28
  452. package/node_modules/escape-string-regexp/index.js +0 -11
  453. package/node_modules/escape-string-regexp/license +0 -21
  454. package/node_modules/escape-string-regexp/package.json +0 -109
  455. package/node_modules/escape-string-regexp/readme.md +0 -27
  456. package/node_modules/generate-function/README.md +0 -72
  457. package/node_modules/generate-function/example.js +0 -27
  458. package/node_modules/generate-function/index.js +0 -61
  459. package/node_modules/generate-function/package.json +0 -87
  460. package/node_modules/generate-function/test.js +0 -33
  461. package/node_modules/generate-object-property/.npmignore +0 -1
  462. package/node_modules/generate-object-property/LICENSE +0 -21
  463. package/node_modules/generate-object-property/README.md +0 -19
  464. package/node_modules/generate-object-property/index.js +0 -12
  465. package/node_modules/generate-object-property/package.json +0 -84
  466. package/node_modules/generate-object-property/test.js +0 -12
  467. package/node_modules/graceful-readlink/.npmignore +0 -3
  468. package/node_modules/graceful-readlink/.travis.yml +0 -5
  469. package/node_modules/graceful-readlink/README.md +0 -17
  470. package/node_modules/graceful-readlink/index.js +0 -12
  471. package/node_modules/graceful-readlink/package.json +0 -83
  472. package/node_modules/har-validator/bin/har-validator +0 -56
  473. package/node_modules/har-validator/lib/async.js +0 -14
  474. package/node_modules/har-validator/lib/error.js +0 -10
  475. package/node_modules/har-validator/lib/index.js +0 -22
  476. package/node_modules/har-validator/lib/runner.js +0 -29
  477. package/node_modules/har-validator/lib/schemas/cache.json +0 -13
  478. package/node_modules/har-validator/lib/schemas/cacheEntry.json +0 -31
  479. package/node_modules/har-validator/lib/schemas/index.js +0 -49
  480. package/node_modules/has-ansi/index.js +0 -4
  481. package/node_modules/has-ansi/license +0 -21
  482. package/node_modules/has-ansi/package.json +0 -118
  483. package/node_modules/has-ansi/readme.md +0 -36
  484. package/node_modules/is-my-json-valid/.npmignore +0 -2
  485. package/node_modules/is-my-json-valid/.travis.yml +0 -3
  486. package/node_modules/is-my-json-valid/README.md +0 -173
  487. package/node_modules/is-my-json-valid/example.js +0 -18
  488. package/node_modules/is-my-json-valid/formats.js +0 -14
  489. package/node_modules/is-my-json-valid/index.js +0 -594
  490. package/node_modules/is-my-json-valid/package.json +0 -116
  491. package/node_modules/is-my-json-valid/require.js +0 -12
  492. package/node_modules/is-my-json-valid/test/fixtures/cosmic.js +0 -84
  493. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +0 -82
  494. package/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +0 -88
  495. package/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +0 -112
  496. package/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +0 -68
  497. package/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +0 -107
  498. package/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +0 -49
  499. package/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +0 -32
  500. package/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +0 -113
  501. package/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +0 -72
  502. package/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +0 -143
  503. package/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +0 -46
  504. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +0 -28
  505. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +0 -28
  506. package/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +0 -28
  507. package/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +0 -42
  508. package/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +0 -28
  509. package/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +0 -28
  510. package/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +0 -28
  511. package/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +0 -42
  512. package/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +0 -96
  513. package/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +0 -96
  514. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +0 -18
  515. package/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +0 -18
  516. package/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +0 -68
  517. package/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +0 -23
  518. package/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +0 -110
  519. package/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +0 -92
  520. package/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +0 -128
  521. package/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +0 -74
  522. package/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +0 -39
  523. package/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +0 -330
  524. package/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +0 -79
  525. package/node_modules/is-my-json-valid/test/json-schema.js +0 -23
  526. package/node_modules/is-my-json-valid/test/misc.js +0 -471
  527. package/node_modules/is-property/.npmignore +0 -17
  528. package/node_modules/is-property/README.md +0 -28
  529. package/node_modules/is-property/is-property.js +0 -5
  530. package/node_modules/is-property/package.json +0 -92
  531. package/node_modules/jsonpointer/LICENSE.md +0 -21
  532. package/node_modules/jsonpointer/README.md +0 -39
  533. package/node_modules/jsonpointer/jsonpointer.js +0 -93
  534. package/node_modules/jsonpointer/package.json +0 -112
  535. package/node_modules/ms/.npmignore +0 -5
  536. package/node_modules/ms/History.md +0 -66
  537. package/node_modules/ms/README.md +0 -35
  538. package/node_modules/pinkie/index.js +0 -292
  539. package/node_modules/pinkie/license +0 -21
  540. package/node_modules/pinkie/package.json +0 -100
  541. package/node_modules/pinkie/readme.md +0 -83
  542. package/node_modules/pinkie-promise/index.js +0 -3
  543. package/node_modules/pinkie-promise/license +0 -21
  544. package/node_modules/pinkie-promise/package.json +0 -102
  545. package/node_modules/pinkie-promise/readme.md +0 -28
  546. package/node_modules/string_decoder/index.js +0 -221
  547. package/node_modules/supports-color/index.js +0 -50
  548. package/node_modules/supports-color/license +0 -21
  549. package/node_modules/supports-color/package.json +0 -113
  550. package/node_modules/supports-color/readme.md +0 -36
  551. package/node_modules/tar-pack/node_modules/once/README.md +0 -51
  552. package/node_modules/tar-pack/node_modules/once/once.js +0 -21
  553. package/node_modules/tar-pack/node_modules/once/package.json +0 -96
  554. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +0 -8
  555. package/node_modules/tar-pack/node_modules/readable-stream/.travis.yml +0 -49
  556. package/node_modules/tar-pack/node_modules/readable-stream/LICENSE +0 -18
  557. package/node_modules/tar-pack/node_modules/readable-stream/README.md +0 -36
  558. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +0 -2015
  559. package/node_modules/tar-pack/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -60
  560. package/node_modules/tar-pack/node_modules/readable-stream/duplex.js +0 -1
  561. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_duplex.js +0 -75
  562. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_passthrough.js +0 -26
  563. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_readable.js +0 -937
  564. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_transform.js +0 -180
  565. package/node_modules/tar-pack/node_modules/readable-stream/lib/_stream_writable.js +0 -526
  566. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +0 -64
  567. package/node_modules/tar-pack/node_modules/readable-stream/package.json +0 -125
  568. package/node_modules/tar-pack/node_modules/readable-stream/passthrough.js +0 -1
  569. package/node_modules/tar-pack/node_modules/readable-stream/transform.js +0 -1
  570. package/node_modules/tar-pack/node_modules/readable-stream/writable.js +0 -1
  571. package/node_modules/wide-align/.npmignore +0 -5
  572. package/node_modules/wide-align/test/align.js +0 -37
  573. package/node_modules/xtend/.jshintrc +0 -30
  574. package/node_modules/xtend/.npmignore +0 -1
  575. package/node_modules/xtend/LICENCE +0 -19
  576. package/node_modules/xtend/Makefile +0 -4
  577. package/node_modules/xtend/README.md +0 -32
  578. package/node_modules/xtend/immutable.js +0 -19
  579. package/node_modules/xtend/mutable.js +0 -17
  580. package/node_modules/xtend/package.json +0 -117
  581. 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
-