fsevents 1.0.15 → 1.1.1

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 (369) hide show
  1. package/fsevents.js +3 -0
  2. package/install.js +7 -0
  3. package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
  4. package/node_modules/abbrev/abbrev.js +0 -1
  5. package/node_modules/abbrev/package.json +32 -21
  6. package/node_modules/ansi-regex/index.js +1 -1
  7. package/node_modules/ansi-regex/package.json +61 -42
  8. package/node_modules/ansi-regex/readme.md +10 -2
  9. package/node_modules/ansi-styles/package.json +27 -19
  10. package/node_modules/aproba/README.md +33 -3
  11. package/node_modules/aproba/index.js +71 -30
  12. package/node_modules/aproba/package.json +30 -22
  13. package/node_modules/are-we-there-yet/package.json +14 -6
  14. package/node_modules/asn1/package.json +16 -8
  15. package/node_modules/assert-plus/package.json +16 -8
  16. package/node_modules/{node-uuid/LICENSE.md → asynckit/LICENSE} +1 -1
  17. package/node_modules/asynckit/README.md +233 -0
  18. package/node_modules/asynckit/bench.js +76 -0
  19. package/node_modules/asynckit/index.js +6 -0
  20. package/node_modules/asynckit/lib/abort.js +29 -0
  21. package/node_modules/asynckit/lib/async.js +34 -0
  22. package/node_modules/asynckit/lib/defer.js +26 -0
  23. package/node_modules/asynckit/lib/iterate.js +75 -0
  24. package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  25. package/node_modules/asynckit/lib/readable_parallel.js +25 -0
  26. package/node_modules/asynckit/lib/readable_serial.js +25 -0
  27. package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  28. package/node_modules/asynckit/lib/state.js +37 -0
  29. package/node_modules/asynckit/lib/streamify.js +141 -0
  30. package/node_modules/asynckit/lib/terminator.js +29 -0
  31. package/node_modules/asynckit/package.json +126 -0
  32. package/node_modules/asynckit/parallel.js +43 -0
  33. package/node_modules/asynckit/serial.js +17 -0
  34. package/node_modules/asynckit/serialOrdered.js +75 -0
  35. package/node_modules/asynckit/stream.js +21 -0
  36. package/node_modules/aws-sign2/package.json +15 -7
  37. package/node_modules/aws4/README.md +9 -0
  38. package/node_modules/aws4/aws4.js +21 -7
  39. package/node_modules/aws4/package.json +62 -54
  40. package/node_modules/balanced-match/package.json +27 -19
  41. package/node_modules/bcrypt-pbkdf/README.md +39 -0
  42. package/node_modules/bcrypt-pbkdf/index.js +556 -0
  43. package/node_modules/bcrypt-pbkdf/package.json +84 -0
  44. package/node_modules/block-stream/package.json +15 -7
  45. package/node_modules/boom/package.json +14 -6
  46. package/node_modules/brace-expansion/index.js +10 -0
  47. package/node_modules/brace-expansion/package.json +35 -27
  48. package/node_modules/buffer-shims/package.json +16 -7
  49. package/node_modules/caseless/package.json +18 -10
  50. package/node_modules/chalk/package.json +30 -22
  51. package/node_modules/code-point-at/index.js +3 -4
  52. package/node_modules/code-point-at/package.json +40 -30
  53. package/node_modules/code-point-at/readme.md +2 -4
  54. package/node_modules/combined-stream/package.json +15 -7
  55. package/node_modules/commander/package.json +16 -8
  56. package/node_modules/concat-map/package.json +30 -22
  57. package/node_modules/console-control-strings/package.json +15 -7
  58. package/node_modules/core-util-is/package.json +22 -14
  59. package/node_modules/cryptiles/package.json +14 -6
  60. package/node_modules/dashdash/CHANGES.md +364 -0
  61. package/node_modules/dashdash/LICENSE.txt +24 -0
  62. package/node_modules/dashdash/etc/dashdash.bash_completion.in +4 -3
  63. package/node_modules/dashdash/node_modules/assert-plus/package.json +16 -8
  64. package/node_modules/dashdash/package.json +33 -24
  65. package/node_modules/debug/package.json +20 -12
  66. package/node_modules/deep-extend/package.json +23 -15
  67. package/node_modules/delayed-stream/package.json +15 -7
  68. package/node_modules/delegates/package.json +14 -6
  69. package/node_modules/ecc-jsbn/package.json +17 -9
  70. package/node_modules/escape-string-regexp/package.json +20 -12
  71. package/node_modules/extend/package.json +16 -8
  72. package/node_modules/extsprintf/package.json +14 -6
  73. package/node_modules/forever-agent/package.json +15 -7
  74. package/node_modules/form-data/README.md +7 -8
  75. package/node_modules/form-data/lib/browser.js +1 -1
  76. package/node_modules/form-data/lib/form_data.js +101 -72
  77. package/node_modules/form-data/lib/populate.js +6 -5
  78. package/node_modules/form-data/package.json +68 -52
  79. package/node_modules/fs.realpath/package.json +19 -11
  80. package/node_modules/fstream/package.json +15 -7
  81. package/node_modules/fstream-ignore/package.json +15 -7
  82. package/node_modules/gauge/CHANGELOG.md +24 -0
  83. package/node_modules/gauge/README.md +4 -0
  84. package/node_modules/gauge/index.js +16 -9
  85. package/node_modules/gauge/package.json +37 -29
  86. package/node_modules/generate-function/package.json +16 -8
  87. package/node_modules/generate-object-property/package.json +14 -6
  88. package/node_modules/getpass/node_modules/assert-plus/package.json +16 -8
  89. package/node_modules/getpass/package.json +16 -8
  90. package/node_modules/glob/README.md +3 -0
  91. package/node_modules/glob/common.js +6 -1
  92. package/node_modules/glob/glob.js +23 -14
  93. package/node_modules/glob/package.json +29 -21
  94. package/node_modules/glob/sync.js +29 -11
  95. package/node_modules/graceful-fs/README.md +1 -1
  96. package/node_modules/graceful-fs/graceful-fs.js +23 -14
  97. package/node_modules/graceful-fs/package.json +35 -27
  98. package/node_modules/graceful-fs/polyfills.js +99 -21
  99. package/node_modules/graceful-readlink/package.json +14 -6
  100. package/node_modules/har-validator/package.json +16 -8
  101. package/node_modules/has-ansi/package.json +29 -21
  102. package/node_modules/has-unicode/package.json +18 -10
  103. package/node_modules/hawk/package.json +18 -10
  104. package/node_modules/hoek/package.json +14 -6
  105. package/node_modules/http-signature/package.json +14 -6
  106. package/node_modules/inflight/inflight.js +22 -12
  107. package/node_modules/inflight/package.json +28 -20
  108. package/node_modules/inherits/inherits.js +7 -1
  109. package/node_modules/inherits/package.json +41 -21
  110. package/node_modules/ini/package.json +15 -7
  111. package/node_modules/is-fullwidth-code-point/package.json +27 -19
  112. package/node_modules/is-my-json-valid/index.js +10 -0
  113. package/node_modules/is-my-json-valid/package.json +36 -20
  114. package/node_modules/is-my-json-valid/test/misc.js +24 -0
  115. package/node_modules/is-property/package.json +19 -11
  116. package/node_modules/is-typedarray/package.json +16 -8
  117. package/node_modules/isarray/package.json +28 -20
  118. package/node_modules/isstream/package.json +19 -11
  119. package/node_modules/jodid25519/package.json +18 -10
  120. package/node_modules/jsbn/index.js +8 -9
  121. package/node_modules/jsbn/package.json +30 -18
  122. package/node_modules/json-schema/lib/links.js +17 -3
  123. package/node_modules/json-schema/lib/validate.js +18 -5
  124. package/node_modules/json-schema/package.json +32 -18
  125. package/node_modules/json-stringify-safe/package.json +18 -10
  126. package/node_modules/{async/LICENSE → jsonpointer/LICENSE.md} +3 -1
  127. package/node_modules/jsonpointer/README.md +17 -10
  128. package/node_modules/jsonpointer/jsonpointer.js +73 -56
  129. package/node_modules/jsonpointer/package.json +47 -26
  130. package/node_modules/jsprim/CHANGES.md +4 -0
  131. package/node_modules/jsprim/package.json +25 -17
  132. package/node_modules/mime-db/HISTORY.md +50 -0
  133. package/node_modules/mime-db/db.json +126 -2
  134. package/node_modules/mime-db/package.json +43 -30
  135. package/node_modules/mime-types/HISTORY.md +19 -0
  136. package/node_modules/mime-types/index.js +8 -8
  137. package/node_modules/mime-types/package.json +32 -19
  138. package/node_modules/minimatch/minimatch.js +19 -20
  139. package/node_modules/minimatch/package.json +25 -17
  140. package/node_modules/minimist/package.json +24 -16
  141. package/node_modules/mkdirp/package.json +21 -13
  142. package/node_modules/ms/package.json +14 -6
  143. package/node_modules/node-pre-gyp/CHANGELOG.md +20 -0
  144. package/node_modules/node-pre-gyp/README.md +574 -0
  145. package/node_modules/node-pre-gyp/appveyor.yml +19 -9
  146. package/node_modules/node-pre-gyp/lib/install.js +31 -7
  147. package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +3 -1
  148. package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +140 -0
  149. package/node_modules/node-pre-gyp/package.json +52 -48
  150. package/node_modules/nopt/package.json +19 -11
  151. package/node_modules/npmlog/CHANGELOG.md +9 -0
  152. package/node_modules/npmlog/README.md +7 -1
  153. package/node_modules/npmlog/log.js +12 -8
  154. package/node_modules/npmlog/package.json +30 -22
  155. package/node_modules/number-is-nan/package.json +39 -30
  156. package/node_modules/number-is-nan/readme.md +1 -3
  157. package/node_modules/oauth-sign/package.json +15 -7
  158. package/node_modules/object-assign/index.js +11 -4
  159. package/node_modules/object-assign/package.json +42 -30
  160. package/node_modules/object-assign/readme.md +8 -3
  161. package/node_modules/once/README.md +28 -0
  162. package/node_modules/once/once.js +21 -0
  163. package/node_modules/once/package.json +31 -20
  164. package/node_modules/path-is-absolute/index.js +5 -5
  165. package/node_modules/path-is-absolute/package.json +45 -31
  166. package/node_modules/path-is-absolute/readme.md +19 -11
  167. package/node_modules/pinkie/package.json +18 -10
  168. package/node_modules/pinkie-promise/package.json +18 -10
  169. package/node_modules/process-nextick-args/package.json +16 -8
  170. package/node_modules/punycode/LICENSE-MIT.txt +20 -0
  171. package/node_modules/punycode/README.md +176 -0
  172. package/node_modules/punycode/package.json +127 -0
  173. package/node_modules/punycode/punycode.js +533 -0
  174. package/node_modules/qs/.eslintrc +15 -15
  175. package/node_modules/qs/CHANGELOG.md +36 -0
  176. package/node_modules/qs/README.md +431 -0
  177. package/node_modules/qs/dist/qs.js +167 -67
  178. package/node_modules/qs/lib/formats.js +18 -0
  179. package/node_modules/qs/lib/index.js +6 -4
  180. package/node_modules/qs/lib/parse.js +31 -32
  181. package/node_modules/qs/lib/stringify.js +83 -20
  182. package/node_modules/qs/lib/utils.js +23 -7
  183. package/node_modules/qs/package.json +40 -30
  184. package/node_modules/qs/test/.eslintrc +10 -0
  185. package/node_modules/qs/test/index.js +2 -0
  186. package/node_modules/qs/test/parse.js +108 -47
  187. package/node_modules/qs/test/stringify.js +261 -28
  188. package/node_modules/qs/test/utils.js +13 -0
  189. package/node_modules/rc/node_modules/minimist/package.json +24 -16
  190. package/node_modules/rc/package.json +35 -23
  191. package/node_modules/readable-stream/.npmignore +1 -0
  192. package/node_modules/readable-stream/.travis.yml +2 -7
  193. package/node_modules/readable-stream/README.md +6 -2
  194. package/node_modules/readable-stream/lib/_stream_readable.js +158 -110
  195. package/node_modules/readable-stream/lib/_stream_transform.js +7 -5
  196. package/node_modules/readable-stream/lib/_stream_writable.js +35 -7
  197. package/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
  198. package/node_modules/readable-stream/package.json +34 -26
  199. package/node_modules/request/CHANGELOG.md +49 -18
  200. package/node_modules/request/README.md +3 -2
  201. package/node_modules/request/index.js +2 -3
  202. package/node_modules/request/lib/auth.js +1 -1
  203. package/node_modules/request/lib/helpers.js +4 -13
  204. package/node_modules/request/lib/multipart.js +1 -1
  205. package/node_modules/request/lib/oauth.js +1 -1
  206. package/node_modules/request/lib/redirect.js +5 -1
  207. package/node_modules/request/package.json +50 -31
  208. package/node_modules/request/request.js +84 -43
  209. package/node_modules/rimraf/package.json +28 -20
  210. package/node_modules/rimraf/rimraf.js +2 -2
  211. package/node_modules/semver/README.md +4 -0
  212. package/node_modules/semver/package.json +27 -19
  213. package/node_modules/semver/semver.js +14 -5
  214. package/node_modules/set-blocking/package.json +21 -13
  215. package/node_modules/signal-exit/CHANGELOG.md +10 -0
  216. package/node_modules/signal-exit/LICENSE.txt +2 -0
  217. package/node_modules/signal-exit/index.js +9 -0
  218. package/node_modules/signal-exit/package.json +32 -24
  219. package/node_modules/signal-exit/signals.js +5 -4
  220. package/node_modules/sntp/package.json +16 -8
  221. package/node_modules/sshpk/README.md +214 -3
  222. package/node_modules/sshpk/bin/sshpk-conv +6 -0
  223. package/node_modules/sshpk/lib/certificate.js +291 -0
  224. package/node_modules/sshpk/lib/errors.js +14 -1
  225. package/node_modules/sshpk/lib/fingerprint.js +28 -7
  226. package/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
  227. package/node_modules/sshpk/lib/formats/pem.js +2 -2
  228. package/node_modules/sshpk/lib/formats/pkcs8.js +2 -7
  229. package/node_modules/sshpk/lib/formats/ssh-private.js +140 -17
  230. package/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
  231. package/node_modules/sshpk/lib/formats/x509.js +484 -0
  232. package/node_modules/sshpk/lib/identity.js +277 -0
  233. package/node_modules/sshpk/lib/index.js +13 -1
  234. package/node_modules/sshpk/lib/key.js +1 -0
  235. package/node_modules/sshpk/lib/signature.js +14 -6
  236. package/node_modules/sshpk/lib/ssh-buffer.js +24 -0
  237. package/node_modules/sshpk/lib/utils.js +43 -1
  238. package/node_modules/sshpk/node_modules/assert-plus/package.json +16 -8
  239. package/node_modules/sshpk/package.json +32 -22
  240. package/node_modules/string-width/index.js +5 -0
  241. package/node_modules/string-width/package.json +49 -36
  242. package/node_modules/string-width/readme.md +4 -3
  243. package/node_modules/string_decoder/package.json +19 -11
  244. package/node_modules/stringstream/package.json +18 -10
  245. package/node_modules/strip-ansi/package.json +29 -21
  246. package/node_modules/strip-json-comments/index.js +70 -0
  247. package/node_modules/strip-json-comments/package.json +49 -43
  248. package/node_modules/strip-json-comments/readme.md +12 -28
  249. package/node_modules/supports-color/package.json +26 -18
  250. package/node_modules/tar/package.json +19 -11
  251. package/node_modules/tar-pack/README.md +4 -1
  252. package/node_modules/tar-pack/index.js +17 -12
  253. package/node_modules/tar-pack/node_modules/once/LICENSE +15 -0
  254. package/node_modules/tar-pack/node_modules/once/README.md +51 -0
  255. package/node_modules/tar-pack/node_modules/once/once.js +21 -0
  256. package/node_modules/tar-pack/node_modules/once/package.json +96 -0
  257. package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +8 -0
  258. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/.travis.yml +4 -7
  259. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/LICENSE +0 -0
  260. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/README.md +2 -2
  261. package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +2015 -0
  262. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -0
  263. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/duplex.js +0 -0
  264. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_duplex.js +0 -0
  265. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_passthrough.js +0 -0
  266. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_readable.js +164 -107
  267. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_transform.js +3 -3
  268. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_writable.js +25 -15
  269. package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
  270. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/package.json +50 -30
  271. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/passthrough.js +0 -0
  272. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/readable.js +4 -0
  273. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/transform.js +0 -0
  274. package/node_modules/{bl → tar-pack}/node_modules/readable-stream/writable.js +0 -0
  275. package/node_modules/tar-pack/package.json +39 -22
  276. package/node_modules/tar-pack/test/index.js +43 -1
  277. package/node_modules/tough-cookie/README.md +17 -3
  278. package/node_modules/tough-cookie/lib/cookie.js +6 -12
  279. package/node_modules/tough-cookie/package.json +50 -35
  280. package/node_modules/tunnel-agent/package.json +15 -7
  281. package/node_modules/tweetnacl/AUTHORS.md +28 -0
  282. package/node_modules/tweetnacl/CHANGELOG.md +93 -0
  283. package/node_modules/tweetnacl/LICENSE +24 -0
  284. package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +20 -0
  285. package/node_modules/tweetnacl/README.md +57 -61
  286. package/node_modules/tweetnacl/nacl-fast.js +22 -52
  287. package/node_modules/tweetnacl/nacl-fast.min.js +2 -2
  288. package/node_modules/tweetnacl/nacl.d.ts +98 -0
  289. package/node_modules/tweetnacl/nacl.js +21 -51
  290. package/node_modules/tweetnacl/nacl.min.js +1 -1
  291. package/node_modules/tweetnacl/package.json +47 -46
  292. package/node_modules/uid-number/package.json +15 -7
  293. package/node_modules/util-deprecate/package.json +21 -13
  294. package/node_modules/uuid/.npmignore +8 -0
  295. package/node_modules/uuid/.travis.yml +5 -0
  296. package/node_modules/uuid/AUTHORS +5 -0
  297. package/node_modules/uuid/HISTORY.md +28 -0
  298. package/node_modules/uuid/LICENSE.md +21 -0
  299. package/node_modules/uuid/README.md +132 -0
  300. package/node_modules/{node-uuid → uuid}/bin/uuid +0 -0
  301. package/node_modules/uuid/index.js +8 -0
  302. package/node_modules/uuid/lib/bytesToUuid.js +23 -0
  303. package/node_modules/uuid/lib/rng-browser.js +33 -0
  304. package/node_modules/uuid/lib/rng.js +10 -0
  305. package/node_modules/uuid/package.json +122 -0
  306. package/node_modules/uuid/test/mocha.opts +3 -0
  307. package/node_modules/uuid/test/test.js +96 -0
  308. package/node_modules/uuid/v1.js +103 -0
  309. package/node_modules/uuid/v4.js +29 -0
  310. package/node_modules/verror/package.json +14 -6
  311. package/node_modules/wide-align/package.json +19 -11
  312. package/node_modules/wrappy/package.json +17 -8
  313. package/node_modules/xtend/package.json +29 -21
  314. package/package.json +2 -2
  315. package/node_modules/async/CHANGELOG.md +0 -125
  316. package/node_modules/async/README.md +0 -1877
  317. package/node_modules/async/dist/async.js +0 -1265
  318. package/node_modules/async/dist/async.min.js +0 -2
  319. package/node_modules/async/lib/async.js +0 -1265
  320. package/node_modules/async/package.json +0 -149
  321. package/node_modules/bl/.jshintrc +0 -59
  322. package/node_modules/bl/.npmignore +0 -1
  323. package/node_modules/bl/.travis.yml +0 -13
  324. package/node_modules/bl/LICENSE.md +0 -13
  325. package/node_modules/bl/README.md +0 -200
  326. package/node_modules/bl/bl.js +0 -243
  327. package/node_modules/bl/node_modules/readable-stream/.npmignore +0 -5
  328. package/node_modules/bl/node_modules/readable-stream/.zuul.yml +0 -1
  329. package/node_modules/bl/node_modules/readable-stream/doc/stream.markdown +0 -1760
  330. package/node_modules/bl/package.json +0 -96
  331. package/node_modules/bl/test/test.js +0 -640
  332. package/node_modules/form-data/.dockerignore +0 -7
  333. package/node_modules/form-data/.editorconfig +0 -10
  334. package/node_modules/form-data/.eslintignore +0 -1
  335. package/node_modules/form-data/.eslintrc +0 -64
  336. package/node_modules/form-data/wercker.yml +0 -36
  337. package/node_modules/gauge/CHANGELOG.md~ +0 -123
  338. package/node_modules/gauge/README.md~ +0 -393
  339. package/node_modules/has-color/index.js +0 -32
  340. package/node_modules/has-color/package.json +0 -97
  341. package/node_modules/has-color/readme.md +0 -30
  342. package/node_modules/inherits/test.js +0 -25
  343. package/node_modules/jsonpointer/.travis.yml +0 -10
  344. package/node_modules/jsonpointer/test.js +0 -98
  345. package/node_modules/node-uuid/.npmignore +0 -4
  346. package/node_modules/node-uuid/README.md +0 -254
  347. package/node_modules/node-uuid/benchmark/README.md +0 -53
  348. package/node_modules/node-uuid/benchmark/bench.gnu +0 -174
  349. package/node_modules/node-uuid/benchmark/bench.sh +0 -34
  350. package/node_modules/node-uuid/benchmark/benchmark-native.c +0 -34
  351. package/node_modules/node-uuid/benchmark/benchmark.js +0 -84
  352. package/node_modules/node-uuid/bower.json +0 -23
  353. package/node_modules/node-uuid/component.json +0 -25
  354. package/node_modules/node-uuid/package.json +0 -105
  355. package/node_modules/node-uuid/test/compare_v1.js +0 -63
  356. package/node_modules/node-uuid/test/test.html +0 -17
  357. package/node_modules/node-uuid/test/test.js +0 -231
  358. package/node_modules/node-uuid/uuid.js +0 -272
  359. package/node_modules/npmlog/CHANGELOG.md~ +0 -31
  360. package/node_modules/qs/.jscs.json +0 -176
  361. package/node_modules/qs/CONTRIBUTING.md +0 -1
  362. package/node_modules/readable-stream/doc/stream.md +0 -1772
  363. package/node_modules/request/.eslintrc +0 -45
  364. package/node_modules/request/.npmignore +0 -6
  365. package/node_modules/request/.travis.yml +0 -21
  366. package/node_modules/request/CONTRIBUTING.md +0 -81
  367. package/node_modules/request/codecov.yml +0 -2
  368. package/node_modules/strip-json-comments/cli.js +0 -41
  369. package/node_modules/strip-json-comments/strip-json-comments.js +0 -73
@@ -0,0 +1,484 @@
1
+ // Copyright 2016 Joyent, Inc.
2
+
3
+ module.exports = {
4
+ read: read,
5
+ verify: verify,
6
+ sign: sign,
7
+ write: write
8
+ };
9
+
10
+ var assert = require('assert-plus');
11
+ var asn1 = require('asn1');
12
+ var algs = require('../algs');
13
+ var utils = require('../utils');
14
+ var Key = require('../key');
15
+ var PrivateKey = require('../private-key');
16
+ var pem = require('./pem');
17
+ var Identity = require('../identity');
18
+ var Signature = require('../signature');
19
+ var Certificate = require('../certificate');
20
+ var pkcs8 = require('./pkcs8');
21
+
22
+ /*
23
+ * This file is based on RFC5280 (X.509).
24
+ */
25
+
26
+ /* Helper to read in a single mpint */
27
+ function readMPInt(der, nm) {
28
+ assert.strictEqual(der.peek(), asn1.Ber.Integer,
29
+ nm + ' is not an Integer');
30
+ return (utils.mpNormalize(der.readString(asn1.Ber.Integer, true)));
31
+ }
32
+
33
+ function verify(cert, key) {
34
+ var sig = cert.signatures.x509;
35
+ assert.object(sig, 'x509 signature');
36
+
37
+ var algParts = sig.algo.split('-');
38
+ if (algParts[0] !== key.type)
39
+ return (false);
40
+
41
+ var blob = sig.cache;
42
+ if (blob === undefined) {
43
+ var der = new asn1.BerWriter();
44
+ writeTBSCert(cert, der);
45
+ blob = der.buffer;
46
+ }
47
+
48
+ var verifier = key.createVerify(algParts[1]);
49
+ verifier.write(blob);
50
+ return (verifier.verify(sig.signature));
51
+ }
52
+
53
+ function Local(i) {
54
+ return (asn1.Ber.Context | asn1.Ber.Constructor | i);
55
+ }
56
+
57
+ function Context(i) {
58
+ return (asn1.Ber.Context | i);
59
+ }
60
+
61
+ var SIGN_ALGS = {
62
+ 'rsa-md5': '1.2.840.113549.1.1.4',
63
+ 'rsa-sha1': '1.2.840.113549.1.1.5',
64
+ 'rsa-sha256': '1.2.840.113549.1.1.11',
65
+ 'rsa-sha384': '1.2.840.113549.1.1.12',
66
+ 'rsa-sha512': '1.2.840.113549.1.1.13',
67
+ 'dsa-sha1': '1.2.840.10040.4.3',
68
+ 'dsa-sha256': '2.16.840.1.101.3.4.3.2',
69
+ 'ecdsa-sha1': '1.2.840.10045.4.1',
70
+ 'ecdsa-sha256': '1.2.840.10045.4.3.2',
71
+ 'ecdsa-sha384': '1.2.840.10045.4.3.3',
72
+ 'ecdsa-sha512': '1.2.840.10045.4.3.4'
73
+ };
74
+ Object.keys(SIGN_ALGS).forEach(function (k) {
75
+ SIGN_ALGS[SIGN_ALGS[k]] = k;
76
+ });
77
+ SIGN_ALGS['1.3.14.3.2.3'] = 'rsa-md5';
78
+ SIGN_ALGS['1.3.14.3.2.29'] = 'rsa-sha1';
79
+
80
+ var EXTS = {
81
+ 'issuerKeyId': '2.5.29.35',
82
+ 'altName': '2.5.29.17'
83
+ };
84
+
85
+ function read(buf, options) {
86
+ if (typeof (buf) === 'string') {
87
+ buf = new Buffer(buf, 'binary');
88
+ }
89
+ assert.buffer(buf, 'buf');
90
+
91
+ var der = new asn1.BerReader(buf);
92
+
93
+ der.readSequence();
94
+ if (Math.abs(der.length - der.remain) > 1) {
95
+ throw (new Error('DER sequence does not contain whole byte ' +
96
+ 'stream'));
97
+ }
98
+
99
+ var tbsStart = der.offset;
100
+ der.readSequence();
101
+ var sigOffset = der.offset + der.length;
102
+ var tbsEnd = sigOffset;
103
+
104
+ if (der.peek() === Local(0)) {
105
+ der.readSequence(Local(0));
106
+ var version = der.readInt();
107
+ assert.ok(version <= 3,
108
+ 'only x.509 versions up to v3 supported');
109
+ }
110
+
111
+ var cert = {};
112
+ cert.signatures = {};
113
+ var sig = (cert.signatures.x509 = {});
114
+ sig.extras = {};
115
+
116
+ cert.serial = readMPInt(der, 'serial');
117
+
118
+ der.readSequence();
119
+ var after = der.offset + der.length;
120
+ var certAlgOid = der.readOID();
121
+ var certAlg = SIGN_ALGS[certAlgOid];
122
+ if (certAlg === undefined)
123
+ throw (new Error('unknown signature algorithm ' + certAlgOid));
124
+
125
+ der._offset = after;
126
+ cert.issuer = Identity.parseAsn1(der);
127
+
128
+ der.readSequence();
129
+ cert.validFrom = readDate(der);
130
+ cert.validUntil = readDate(der);
131
+
132
+ cert.subjects = [Identity.parseAsn1(der)];
133
+
134
+ der.readSequence();
135
+ after = der.offset + der.length;
136
+ cert.subjectKey = pkcs8.readPkcs8(undefined, 'public', der);
137
+ der._offset = after;
138
+
139
+ /* issuerUniqueID */
140
+ if (der.peek() === Local(1)) {
141
+ der.readSequence(Local(1));
142
+ sig.extras.issuerUniqueID =
143
+ buf.slice(der.offset, der.offset + der.length);
144
+ der._offset += der.length;
145
+ }
146
+
147
+ /* subjectUniqueID */
148
+ if (der.peek() === Local(2)) {
149
+ der.readSequence(Local(2));
150
+ sig.extras.subjectUniqueID =
151
+ buf.slice(der.offset, der.offset + der.length);
152
+ der._offset += der.length;
153
+ }
154
+
155
+ /* extensions */
156
+ if (der.peek() === Local(3)) {
157
+ der.readSequence(Local(3));
158
+ var extEnd = der.offset + der.length;
159
+ der.readSequence();
160
+
161
+ while (der.offset < extEnd)
162
+ readExtension(cert, buf, der);
163
+
164
+ assert.strictEqual(der.offset, extEnd);
165
+ }
166
+
167
+ assert.strictEqual(der.offset, sigOffset);
168
+
169
+ der.readSequence();
170
+ after = der.offset + der.length;
171
+ var sigAlgOid = der.readOID();
172
+ var sigAlg = SIGN_ALGS[sigAlgOid];
173
+ if (sigAlg === undefined)
174
+ throw (new Error('unknown signature algorithm ' + sigAlgOid));
175
+ der._offset = after;
176
+
177
+ var sigData = der.readString(asn1.Ber.BitString, true);
178
+ if (sigData[0] === 0)
179
+ sigData = sigData.slice(1);
180
+ var algParts = sigAlg.split('-');
181
+
182
+ sig.signature = Signature.parse(sigData, algParts[0], 'asn1');
183
+ sig.signature.hashAlgorithm = algParts[1];
184
+ sig.algo = sigAlg;
185
+ sig.cache = buf.slice(tbsStart, tbsEnd);
186
+
187
+ return (new Certificate(cert));
188
+ }
189
+
190
+ function readDate(der) {
191
+ if (der.peek() === asn1.Ber.UTCTime) {
192
+ return (utcTimeToDate(der.readString(asn1.Ber.UTCTime)));
193
+ } else if (der.peek() === asn1.Ber.GeneralizedTime) {
194
+ return (gTimeToDate(der.readString(asn1.Ber.GeneralizedTime)));
195
+ } else {
196
+ throw (new Error('Unsupported date format'));
197
+ }
198
+ }
199
+
200
+ /* RFC5280, section 4.2.1.6 (GeneralName type) */
201
+ var ALTNAME = {
202
+ OtherName: Local(0),
203
+ RFC822Name: Context(1),
204
+ DNSName: Context(2),
205
+ X400Address: Local(3),
206
+ DirectoryName: Local(4),
207
+ EDIPartyName: Local(5),
208
+ URI: Context(6),
209
+ IPAddress: Context(7),
210
+ OID: Context(8)
211
+ };
212
+
213
+ function readExtension(cert, buf, der) {
214
+ der.readSequence();
215
+ var after = der.offset + der.length;
216
+ var extId = der.readOID();
217
+ var id;
218
+ var sig = cert.signatures.x509;
219
+ sig.extras.exts = [];
220
+
221
+ var critical;
222
+ if (der.peek() === asn1.Ber.Boolean)
223
+ critical = der.readBoolean();
224
+
225
+ switch (extId) {
226
+ case (EXTS.altName):
227
+ der.readSequence(asn1.Ber.OctetString);
228
+ der.readSequence();
229
+ var aeEnd = der.offset + der.length;
230
+ while (der.offset < aeEnd) {
231
+ switch (der.peek()) {
232
+ case ALTNAME.OtherName:
233
+ case ALTNAME.EDIPartyName:
234
+ der.readSequence();
235
+ der._offset += der.length;
236
+ break;
237
+ case ALTNAME.OID:
238
+ der.readOID(ALTNAME.OID);
239
+ break;
240
+ case ALTNAME.RFC822Name:
241
+ /* RFC822 specifies email addresses */
242
+ var email = der.readString(ALTNAME.RFC822Name);
243
+ id = Identity.forEmail(email);
244
+ if (!cert.subjects[0].equals(id))
245
+ cert.subjects.push(id);
246
+ break;
247
+ case ALTNAME.DirectoryName:
248
+ der.readSequence(ALTNAME.DirectoryName);
249
+ id = Identity.parseAsn1(der);
250
+ if (!cert.subjects[0].equals(id))
251
+ cert.subjects.push(id);
252
+ break;
253
+ case ALTNAME.DNSName:
254
+ var host = der.readString(
255
+ ALTNAME.DNSName);
256
+ id = Identity.forHost(host);
257
+ if (!cert.subjects[0].equals(id))
258
+ cert.subjects.push(id);
259
+ break;
260
+ default:
261
+ der.readString(der.peek());
262
+ break;
263
+ }
264
+ }
265
+ sig.extras.exts.push({ oid: extId, critical: critical });
266
+ break;
267
+ default:
268
+ sig.extras.exts.push({
269
+ oid: extId,
270
+ critical: critical,
271
+ data: der.readString(asn1.Ber.OctetString, true)
272
+ });
273
+ break;
274
+ }
275
+
276
+ der._offset = after;
277
+ }
278
+
279
+ var UTCTIME_RE =
280
+ /^([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})?Z$/;
281
+ function utcTimeToDate(t) {
282
+ var m = t.match(UTCTIME_RE);
283
+ assert.ok(m, 'timestamps must be in UTC');
284
+ var d = new Date();
285
+
286
+ var thisYear = d.getUTCFullYear();
287
+ var century = Math.floor(thisYear / 100) * 100;
288
+
289
+ var year = parseInt(m[1], 10);
290
+ if (thisYear % 100 < 50 && year >= 60)
291
+ year += (century - 1);
292
+ else
293
+ year += century;
294
+ d.setUTCFullYear(year, parseInt(m[2], 10) - 1, parseInt(m[3], 10));
295
+ d.setUTCHours(parseInt(m[4], 10), parseInt(m[5], 10));
296
+ if (m[6] && m[6].length > 0)
297
+ d.setUTCSeconds(parseInt(m[6], 10));
298
+ return (d);
299
+ }
300
+
301
+ var GTIME_RE =
302
+ /^([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})([0-9]{2})?Z$/;
303
+ function gTimeToDate(t) {
304
+ var m = t.match(GTIME_RE);
305
+ assert.ok(m);
306
+ var d = new Date();
307
+
308
+ d.setUTCFullYear(parseInt(m[1], 10), parseInt(m[2], 10) - 1,
309
+ parseInt(m[3], 10));
310
+ d.setUTCHours(parseInt(m[4], 10), parseInt(m[5], 10));
311
+ if (m[6] && m[6].length > 0)
312
+ d.setUTCSeconds(parseInt(m[6], 10));
313
+ return (d);
314
+ }
315
+
316
+ function zeroPad(n) {
317
+ var s = '' + n;
318
+ while (s.length < 2)
319
+ s = '0' + s;
320
+ return (s);
321
+ }
322
+
323
+ function dateToUTCTime(d) {
324
+ var s = '';
325
+ s += zeroPad(d.getUTCFullYear() % 100);
326
+ s += zeroPad(d.getUTCMonth() + 1);
327
+ s += zeroPad(d.getUTCDate());
328
+ s += zeroPad(d.getUTCHours());
329
+ s += zeroPad(d.getUTCMinutes());
330
+ s += zeroPad(d.getUTCSeconds());
331
+ s += 'Z';
332
+ return (s);
333
+ }
334
+
335
+ function sign(cert, key) {
336
+ if (cert.signatures.x509 === undefined)
337
+ cert.signatures.x509 = {};
338
+ var sig = cert.signatures.x509;
339
+
340
+ sig.algo = key.type + '-' + key.defaultHashAlgorithm();
341
+ if (SIGN_ALGS[sig.algo] === undefined)
342
+ return (false);
343
+
344
+ var der = new asn1.BerWriter();
345
+ writeTBSCert(cert, der);
346
+ var blob = der.buffer;
347
+ sig.cache = blob;
348
+
349
+ var signer = key.createSign();
350
+ signer.write(blob);
351
+ cert.signatures.x509.signature = signer.sign();
352
+
353
+ return (true);
354
+ }
355
+
356
+ function write(cert, options) {
357
+ var sig = cert.signatures.x509;
358
+ assert.object(sig, 'x509 signature');
359
+
360
+ var der = new asn1.BerWriter();
361
+ der.startSequence();
362
+ if (sig.cache) {
363
+ der._ensure(sig.cache.length);
364
+ sig.cache.copy(der._buf, der._offset);
365
+ der._offset += sig.cache.length;
366
+ } else {
367
+ writeTBSCert(cert, der);
368
+ }
369
+
370
+ der.startSequence();
371
+ der.writeOID(SIGN_ALGS[sig.algo]);
372
+ if (sig.algo.match(/^rsa-/))
373
+ der.writeNull();
374
+ der.endSequence();
375
+
376
+ var sigData = sig.signature.toBuffer('asn1');
377
+ var data = new Buffer(sigData.length + 1);
378
+ data[0] = 0;
379
+ sigData.copy(data, 1);
380
+ der.writeBuffer(data, asn1.Ber.BitString);
381
+ der.endSequence();
382
+
383
+ return (der.buffer);
384
+ }
385
+
386
+ function writeTBSCert(cert, der) {
387
+ var sig = cert.signatures.x509;
388
+ assert.object(sig, 'x509 signature');
389
+
390
+ der.startSequence();
391
+
392
+ der.startSequence(Local(0));
393
+ der.writeInt(2);
394
+ der.endSequence();
395
+
396
+ der.writeBuffer(utils.mpNormalize(cert.serial), asn1.Ber.Integer);
397
+
398
+ der.startSequence();
399
+ der.writeOID(SIGN_ALGS[sig.algo]);
400
+ der.endSequence();
401
+
402
+ cert.issuer.toAsn1(der);
403
+
404
+ der.startSequence();
405
+ der.writeString(dateToUTCTime(cert.validFrom), asn1.Ber.UTCTime);
406
+ der.writeString(dateToUTCTime(cert.validUntil), asn1.Ber.UTCTime);
407
+ der.endSequence();
408
+
409
+ var subject = cert.subjects[0];
410
+ var altNames = cert.subjects.slice(1);
411
+ subject.toAsn1(der);
412
+
413
+ pkcs8.writePkcs8(der, cert.subjectKey);
414
+
415
+ if (sig.extras && sig.extras.issuerUniqueID) {
416
+ der.writeBuffer(sig.extras.issuerUniqueID, Local(1));
417
+ }
418
+
419
+ if (sig.extras && sig.extras.subjectUniqueID) {
420
+ der.writeBuffer(sig.extras.subjectUniqueID, Local(2));
421
+ }
422
+
423
+ if (altNames.length > 0 || subject.type === 'host' ||
424
+ (sig.extras && sig.extras.exts)) {
425
+ der.startSequence(Local(3));
426
+ der.startSequence();
427
+
428
+ var exts = [
429
+ { oid: EXTS.altName }
430
+ ];
431
+ if (sig.extras && sig.extras.exts)
432
+ exts = sig.extras.exts;
433
+
434
+ for (var i = 0; i < exts.length; ++i) {
435
+ der.startSequence();
436
+ der.writeOID(exts[i].oid);
437
+
438
+ if (exts[i].critical !== undefined)
439
+ der.writeBoolean(exts[i].critical);
440
+
441
+ if (exts[i].oid === EXTS.altName) {
442
+ der.startSequence(asn1.Ber.OctetString);
443
+ der.startSequence();
444
+ if (subject.type === 'host') {
445
+ der.writeString(subject.hostname,
446
+ Context(2));
447
+ }
448
+ for (var j = 0; j < altNames.length; ++j) {
449
+ if (altNames[j].type === 'host') {
450
+ der.writeString(
451
+ altNames[j].hostname,
452
+ ALTNAME.DNSName);
453
+ } else if (altNames[j].type ===
454
+ 'email') {
455
+ der.writeString(
456
+ altNames[j].email,
457
+ ALTNAME.RFC822Name);
458
+ } else {
459
+ /*
460
+ * Encode anything else as a
461
+ * DN style name for now.
462
+ */
463
+ der.startSequence(
464
+ ALTNAME.DirectoryName);
465
+ altNames[j].toAsn1(der);
466
+ der.endSequence();
467
+ }
468
+ }
469
+ der.endSequence();
470
+ der.endSequence();
471
+ } else {
472
+ der.writeBuffer(exts[i].data,
473
+ asn1.Ber.OctetString);
474
+ }
475
+
476
+ der.endSequence();
477
+ }
478
+
479
+ der.endSequence();
480
+ der.endSequence();
481
+ }
482
+
483
+ der.endSequence();
484
+ }