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
@@ -100,6 +100,10 @@ glob.hasMagic = function (pattern, options_) {
100
100
 
101
101
  var g = new Glob(pattern, options)
102
102
  var set = g.minimatch.set
103
+
104
+ if (!pattern)
105
+ return false
106
+
103
107
  if (set.length > 1)
104
108
  return true
105
109
 
@@ -453,9 +457,6 @@ Glob.prototype._emitMatch = function (index, e) {
453
457
  if (this.aborted)
454
458
  return
455
459
 
456
- if (this.matches[index][e])
457
- return
458
-
459
460
  if (isIgnored(this, e))
460
461
  return
461
462
 
@@ -464,7 +465,16 @@ Glob.prototype._emitMatch = function (index, e) {
464
465
  return
465
466
  }
466
467
 
467
- var abs = this._makeAbs(e)
468
+ var abs = isAbsolute(e) ? e : this._makeAbs(e)
469
+
470
+ if (this.mark)
471
+ e = this._mark(e)
472
+
473
+ if (this.absolute)
474
+ e = abs
475
+
476
+ if (this.matches[index][e])
477
+ return
468
478
 
469
479
  if (this.nodir) {
470
480
  var c = this.cache[abs]
@@ -472,9 +482,6 @@ Glob.prototype._emitMatch = function (index, e) {
472
482
  return
473
483
  }
474
484
 
475
- if (this.mark)
476
- e = this._mark(e)
477
-
478
485
  this.matches[index][e] = true
479
486
 
480
487
  var st = this.statCache[abs]
@@ -501,15 +508,15 @@ Glob.prototype._readdirInGlobStar = function (abs, cb) {
501
508
  fs.lstat(abs, lstatcb)
502
509
 
503
510
  function lstatcb_ (er, lstat) {
504
- if (er)
511
+ if (er && er.code === 'ENOENT')
505
512
  return cb()
506
513
 
507
- var isSym = lstat.isSymbolicLink()
514
+ var isSym = lstat && lstat.isSymbolicLink()
508
515
  self.symlinks[abs] = isSym
509
516
 
510
517
  // If it's not a symlink or a dir, then it's definitely a regular file.
511
518
  // don't bother doing a readdir in that case.
512
- if (!isSym && !lstat.isDirectory()) {
519
+ if (!isSym && lstat && !lstat.isDirectory()) {
513
520
  self.cache[abs] = 'FILE'
514
521
  cb()
515
522
  } else
@@ -762,7 +769,7 @@ Glob.prototype._stat = function (f, cb) {
762
769
  }
763
770
 
764
771
  Glob.prototype._stat2 = function (f, abs, er, stat, cb) {
765
- if (er) {
772
+ if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {
766
773
  this.statCache[abs] = false
767
774
  return cb()
768
775
  }
@@ -770,13 +777,15 @@ Glob.prototype._stat2 = function (f, abs, er, stat, cb) {
770
777
  var needDir = f.slice(-1) === '/'
771
778
  this.statCache[abs] = stat
772
779
 
773
- if (abs.slice(-1) === '/' && !stat.isDirectory())
780
+ if (abs.slice(-1) === '/' && stat && !stat.isDirectory())
774
781
  return cb(null, false, stat)
775
782
 
776
- var c = stat.isDirectory() ? 'DIR' : 'FILE'
783
+ var c = true
784
+ if (stat)
785
+ c = stat.isDirectory() ? 'DIR' : 'FILE'
777
786
  this.cache[abs] = this.cache[abs] || c
778
787
 
779
- if (needDir && c !== 'DIR')
788
+ if (needDir && c === 'FILE')
780
789
  return cb()
781
790
 
782
791
  return cb(null, c, stat)
@@ -1,45 +1,53 @@
1
1
  {
2
2
  "_args": [
3
3
  [
4
- "glob@^7.0.5",
4
+ {
5
+ "raw": "glob@^7.0.5",
6
+ "scope": null,
7
+ "escapedName": "glob",
8
+ "name": "glob",
9
+ "rawSpec": "^7.0.5",
10
+ "spec": ">=7.0.5 <8.0.0",
11
+ "type": "range"
12
+ },
5
13
  "/Users/eshanker/Code/fsevents/node_modules/rimraf"
6
14
  ]
7
15
  ],
8
16
  "_from": "glob@>=7.0.5 <8.0.0",
9
- "_id": "glob@7.0.5",
17
+ "_id": "glob@7.1.1",
10
18
  "_inCache": true,
11
- "_installable": true,
12
19
  "_location": "/glob",
13
- "_nodeVersion": "4.4.4",
20
+ "_nodeVersion": "6.5.0",
14
21
  "_npmOperationalInternal": {
15
- "host": "packages-12-west.internal.npmjs.com",
16
- "tmp": "tmp/glob-7.0.5.tgz_1466471133629_0.7749870484694839"
22
+ "host": "packages-16-east.internal.npmjs.com",
23
+ "tmp": "tmp/glob-7.1.1.tgz_1475876991562_0.924720095237717"
17
24
  },
18
25
  "_npmUser": {
19
- "email": "i@izs.me",
20
- "name": "isaacs"
26
+ "name": "isaacs",
27
+ "email": "i@izs.me"
21
28
  },
22
- "_npmVersion": "3.9.1",
29
+ "_npmVersion": "3.10.7",
23
30
  "_phantomChildren": {},
24
31
  "_requested": {
25
- "name": "glob",
26
32
  "raw": "glob@^7.0.5",
27
- "rawSpec": "^7.0.5",
28
33
  "scope": null,
34
+ "escapedName": "glob",
35
+ "name": "glob",
36
+ "rawSpec": "^7.0.5",
29
37
  "spec": ">=7.0.5 <8.0.0",
30
38
  "type": "range"
31
39
  },
32
40
  "_requiredBy": [
33
41
  "/rimraf"
34
42
  ],
35
- "_resolved": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz",
36
- "_shasum": "b4202a69099bbb4d292a7c1b95b6682b67ebdc95",
43
+ "_resolved": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz",
44
+ "_shasum": "805211df04faaf1c63a3600306cdf5ade50b2ec8",
37
45
  "_shrinkwrap": null,
38
46
  "_spec": "glob@^7.0.5",
39
47
  "_where": "/Users/eshanker/Code/fsevents/node_modules/rimraf",
40
48
  "author": {
41
- "email": "i@izs.me",
42
49
  "name": "Isaac Z. Schlueter",
50
+ "email": "i@izs.me",
43
51
  "url": "http://blog.izs.me/"
44
52
  },
45
53
  "bugs": {
@@ -57,23 +65,23 @@
57
65
  "devDependencies": {
58
66
  "mkdirp": "0",
59
67
  "rimraf": "^2.2.8",
60
- "tap": "^5.7.0",
68
+ "tap": "^7.1.2",
61
69
  "tick": "0.0.6"
62
70
  },
63
71
  "directories": {},
64
72
  "dist": {
65
- "shasum": "b4202a69099bbb4d292a7c1b95b6682b67ebdc95",
66
- "tarball": "https://registry.npmjs.org/glob/-/glob-7.0.5.tgz"
73
+ "shasum": "805211df04faaf1c63a3600306cdf5ade50b2ec8",
74
+ "tarball": "https://registry.npmjs.org/glob/-/glob-7.1.1.tgz"
67
75
  },
68
76
  "engines": {
69
77
  "node": "*"
70
78
  },
71
79
  "files": [
72
- "common.js",
73
80
  "glob.js",
74
- "sync.js"
81
+ "sync.js",
82
+ "common.js"
75
83
  ],
76
- "gitHead": "1319866c764e1a1bb39114dcbc2c1d518bb9b476",
84
+ "gitHead": "bc8d43b736a98a9e289fdfceee9266cff35e5742",
77
85
  "homepage": "https://github.com/isaacs/node-glob#readme",
78
86
  "license": "ISC",
79
87
  "main": "glob.js",
@@ -99,5 +107,5 @@
99
107
  "test": "tap test/*.js --cov",
100
108
  "test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js"
101
109
  },
102
- "version": "7.0.5"
110
+ "version": "7.1.1"
103
111
  }
@@ -16,6 +16,7 @@ var alphasorti = common.alphasorti
16
16
  var setopts = common.setopts
17
17
  var ownProp = common.ownProp
18
18
  var childrenIgnored = common.childrenIgnored
19
+ var isIgnored = common.isIgnored
19
20
 
20
21
  function globSync (pattern, options) {
21
22
  if (typeof options === 'function' || arguments.length === 3)
@@ -187,7 +188,7 @@ GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index,
187
188
  if (e.charAt(0) === '/' && !this.nomount) {
188
189
  e = path.join(this.root, e)
189
190
  }
190
- this.matches[index][e] = true
191
+ this._emitMatch(index, e)
191
192
  }
192
193
  // This was the last one, and no stats were needed
193
194
  return
@@ -209,20 +210,29 @@ GlobSync.prototype._processReaddir = function (prefix, read, abs, remain, index,
209
210
 
210
211
 
211
212
  GlobSync.prototype._emitMatch = function (index, e) {
213
+ if (isIgnored(this, e))
214
+ return
215
+
212
216
  var abs = this._makeAbs(e)
217
+
213
218
  if (this.mark)
214
219
  e = this._mark(e)
215
220
 
221
+ if (this.absolute) {
222
+ e = abs
223
+ }
224
+
216
225
  if (this.matches[index][e])
217
226
  return
218
227
 
219
228
  if (this.nodir) {
220
- var c = this.cache[this._makeAbs(e)]
229
+ var c = this.cache[abs]
221
230
  if (c === 'DIR' || Array.isArray(c))
222
231
  return
223
232
  }
224
233
 
225
234
  this.matches[index][e] = true
235
+
226
236
  if (this.stat)
227
237
  this._stat(e)
228
238
  }
@@ -240,16 +250,18 @@ GlobSync.prototype._readdirInGlobStar = function (abs) {
240
250
  try {
241
251
  lstat = fs.lstatSync(abs)
242
252
  } catch (er) {
243
- // lstat failed, doesn't exist
244
- return null
253
+ if (er.code === 'ENOENT') {
254
+ // lstat failed, doesn't exist
255
+ return null
256
+ }
245
257
  }
246
258
 
247
- var isSym = lstat.isSymbolicLink()
259
+ var isSym = lstat && lstat.isSymbolicLink()
248
260
  this.symlinks[abs] = isSym
249
261
 
250
262
  // If it's not a symlink or a dir, then it's definitely a regular file.
251
263
  // don't bother doing a readdir in that case.
252
- if (!isSym && !lstat.isDirectory())
264
+ if (!isSym && lstat && !lstat.isDirectory())
253
265
  this.cache[abs] = 'FILE'
254
266
  else
255
267
  entries = this._readdir(abs, false)
@@ -399,7 +411,7 @@ GlobSync.prototype._processSimple = function (prefix, index) {
399
411
  prefix = prefix.replace(/\\/g, '/')
400
412
 
401
413
  // Mark this as a match
402
- this.matches[index][prefix] = true
414
+ this._emitMatch(index, prefix)
403
415
  }
404
416
 
405
417
  // Returns either 'DIR', 'FILE', or false
@@ -434,10 +446,13 @@ GlobSync.prototype._stat = function (f) {
434
446
  try {
435
447
  lstat = fs.lstatSync(abs)
436
448
  } catch (er) {
437
- return false
449
+ if (er && (er.code === 'ENOENT' || er.code === 'ENOTDIR')) {
450
+ this.statCache[abs] = false
451
+ return false
452
+ }
438
453
  }
439
454
 
440
- if (lstat.isSymbolicLink()) {
455
+ if (lstat && lstat.isSymbolicLink()) {
441
456
  try {
442
457
  stat = fs.statSync(abs)
443
458
  } catch (er) {
@@ -450,10 +465,13 @@ GlobSync.prototype._stat = function (f) {
450
465
 
451
466
  this.statCache[abs] = stat
452
467
 
453
- var c = stat.isDirectory() ? 'DIR' : 'FILE'
468
+ var c = true
469
+ if (stat)
470
+ c = stat.isDirectory() ? 'DIR' : 'FILE'
471
+
454
472
  this.cache[abs] = this.cache[abs] || c
455
473
 
456
- if (needDir && c !== 'DIR')
474
+ if (needDir && c === 'FILE')
457
475
  return false
458
476
 
459
477
  return c
@@ -7,7 +7,7 @@ The improvements are meant to normalize behavior across different
7
7
  platforms and environments, and to make filesystem access more
8
8
  resilient to errors.
9
9
 
10
- ## Improvements over [fs module](http://api.nodejs.org/fs.html)
10
+ ## Improvements over [fs module](https://nodejs.org/api/fs.html)
11
11
 
12
12
  * Queues up `open` and `readdir` calls, and retries them once
13
13
  something closes if there is an EMFILE error from too many file
@@ -127,25 +127,34 @@ function patch (fs) {
127
127
 
128
128
  var fs$readdir = fs.readdir
129
129
  fs.readdir = readdir
130
- function readdir (path, cb) {
131
- return go$readdir(path, cb)
130
+ function readdir (path, options, cb) {
131
+ var args = [path]
132
+ if (typeof options !== 'function') {
133
+ args.push(options)
134
+ } else {
135
+ cb = options
136
+ }
137
+ args.push(go$readdir$cb)
132
138
 
133
- function go$readdir () {
134
- return fs$readdir(path, function (err, files) {
135
- if (files && files.sort)
136
- files.sort(); // Backwards compatibility with graceful-fs.
139
+ return go$readdir(args)
137
140
 
138
- if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
139
- enqueue([go$readdir, [path, cb]])
140
- else {
141
- if (typeof cb === 'function')
142
- cb.apply(this, arguments)
143
- retry()
144
- }
145
- })
141
+ function go$readdir$cb (err, files) {
142
+ if (files && files.sort)
143
+ files.sort()
144
+
145
+ if (err && (err.code === 'EMFILE' || err.code === 'ENFILE'))
146
+ enqueue([go$readdir, [args]])
147
+ else {
148
+ if (typeof cb === 'function')
149
+ cb.apply(this, arguments)
150
+ retry()
151
+ }
146
152
  }
147
153
  }
148
154
 
155
+ function go$readdir (args) {
156
+ return fs$readdir.apply(fs, args)
157
+ }
149
158
 
150
159
  if (process.version.substr(0, 4) === 'v0.8') {
151
160
  var legStreams = legacy(fs)
@@ -1,39 +1,47 @@
1
1
  {
2
2
  "_args": [
3
3
  [
4
- "graceful-fs@^4.1.2",
4
+ {
5
+ "raw": "graceful-fs@^4.1.2",
6
+ "scope": null,
7
+ "escapedName": "graceful-fs",
8
+ "name": "graceful-fs",
9
+ "rawSpec": "^4.1.2",
10
+ "spec": ">=4.1.2 <5.0.0",
11
+ "type": "range"
12
+ },
5
13
  "/Users/eshanker/Code/fsevents/node_modules/fstream"
6
14
  ]
7
15
  ],
8
16
  "_from": "graceful-fs@>=4.1.2 <5.0.0",
9
- "_id": "graceful-fs@4.1.4",
17
+ "_id": "graceful-fs@4.1.11",
10
18
  "_inCache": true,
11
- "_installable": true,
12
19
  "_location": "/graceful-fs",
13
- "_nodeVersion": "5.6.0",
20
+ "_nodeVersion": "6.5.0",
14
21
  "_npmOperationalInternal": {
15
- "host": "packages-12-west.internal.npmjs.com",
16
- "tmp": "tmp/graceful-fs-4.1.4.tgz_1462474854900_0.9423982477746904"
22
+ "host": "packages-18-east.internal.npmjs.com",
23
+ "tmp": "tmp/graceful-fs-4.1.11.tgz_1479843029430_0.2122855328489095"
17
24
  },
18
25
  "_npmUser": {
19
- "email": "i@izs.me",
20
- "name": "isaacs"
26
+ "name": "isaacs",
27
+ "email": "i@izs.me"
21
28
  },
22
- "_npmVersion": "3.8.9",
29
+ "_npmVersion": "3.10.9",
23
30
  "_phantomChildren": {},
24
31
  "_requested": {
25
- "name": "graceful-fs",
26
32
  "raw": "graceful-fs@^4.1.2",
27
- "rawSpec": "^4.1.2",
28
33
  "scope": null,
34
+ "escapedName": "graceful-fs",
35
+ "name": "graceful-fs",
36
+ "rawSpec": "^4.1.2",
29
37
  "spec": ">=4.1.2 <5.0.0",
30
38
  "type": "range"
31
39
  },
32
40
  "_requiredBy": [
33
41
  "/fstream"
34
42
  ],
35
- "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz",
36
- "_shasum": "ef089d2880f033b011823ce5c8fae798da775dbd",
43
+ "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz",
44
+ "_shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658",
37
45
  "_shrinkwrap": null,
38
46
  "_spec": "graceful-fs@^4.1.2",
39
47
  "_where": "/Users/eshanker/Code/fsevents/node_modules/fstream",
@@ -51,8 +59,8 @@
51
59
  "test": "test"
52
60
  },
53
61
  "dist": {
54
- "shasum": "ef089d2880f033b011823ce5c8fae798da775dbd",
55
- "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
62
+ "shasum": "0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658",
63
+ "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz"
56
64
  },
57
65
  "engines": {
58
66
  "node": ">=0.4.0"
@@ -63,23 +71,23 @@
63
71
  "legacy-streams.js",
64
72
  "polyfills.js"
65
73
  ],
66
- "gitHead": "fe8f05ccc2779d1dfa6db6173f3ed64f1e9aa72c",
74
+ "gitHead": "65cf80d1fd3413b823c16c626c1e7c326452bee5",
67
75
  "homepage": "https://github.com/isaacs/node-graceful-fs#readme",
68
76
  "keywords": [
69
- "EACCESS",
70
- "EAGAIN",
71
- "EINVAL",
72
- "EMFILE",
73
- "EPERM",
74
- "error",
75
- "errors",
76
77
  "fs",
77
- "handling",
78
78
  "module",
79
- "queue",
80
79
  "reading",
80
+ "retry",
81
81
  "retries",
82
- "retry"
82
+ "queue",
83
+ "error",
84
+ "errors",
85
+ "handling",
86
+ "EMFILE",
87
+ "EAGAIN",
88
+ "EINVAL",
89
+ "EPERM",
90
+ "EACCESS"
83
91
  ],
84
92
  "license": "ISC",
85
93
  "main": "graceful-fs.js",
@@ -99,5 +107,5 @@
99
107
  "scripts": {
100
108
  "test": "node test.js | tap -"
101
109
  },
102
- "version": "4.1.4"
110
+ "version": "4.1.11"
103
111
  }
@@ -3,6 +3,9 @@ var constants = require('constants')
3
3
 
4
4
  var origCwd = process.cwd
5
5
  var cwd = null
6
+
7
+ var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform
8
+
6
9
  process.cwd = function() {
7
10
  if (!cwd)
8
11
  cwd = origCwd.call(process)
@@ -44,43 +47,68 @@ function patch (fs) {
44
47
  fs.fchown = chownFix(fs.fchown)
45
48
  fs.lchown = chownFix(fs.lchown)
46
49
 
47
- fs.chmod = chownFix(fs.chmod)
48
- fs.fchmod = chownFix(fs.fchmod)
49
- fs.lchmod = chownFix(fs.lchmod)
50
+ fs.chmod = chmodFix(fs.chmod)
51
+ fs.fchmod = chmodFix(fs.fchmod)
52
+ fs.lchmod = chmodFix(fs.lchmod)
50
53
 
51
54
  fs.chownSync = chownFixSync(fs.chownSync)
52
55
  fs.fchownSync = chownFixSync(fs.fchownSync)
53
56
  fs.lchownSync = chownFixSync(fs.lchownSync)
54
57
 
55
- fs.chmodSync = chownFix(fs.chmodSync)
56
- fs.fchmodSync = chownFix(fs.fchmodSync)
57
- fs.lchmodSync = chownFix(fs.lchmodSync)
58
+ fs.chmodSync = chmodFixSync(fs.chmodSync)
59
+ fs.fchmodSync = chmodFixSync(fs.fchmodSync)
60
+ fs.lchmodSync = chmodFixSync(fs.lchmodSync)
61
+
62
+ fs.stat = statFix(fs.stat)
63
+ fs.fstat = statFix(fs.fstat)
64
+ fs.lstat = statFix(fs.lstat)
65
+
66
+ fs.statSync = statFixSync(fs.statSync)
67
+ fs.fstatSync = statFixSync(fs.fstatSync)
68
+ fs.lstatSync = statFixSync(fs.lstatSync)
58
69
 
59
70
  // if lchmod/lchown do not exist, then make them no-ops
60
71
  if (!fs.lchmod) {
61
72
  fs.lchmod = function (path, mode, cb) {
62
- process.nextTick(cb)
73
+ if (cb) process.nextTick(cb)
63
74
  }
64
75
  fs.lchmodSync = function () {}
65
76
  }
66
77
  if (!fs.lchown) {
67
78
  fs.lchown = function (path, uid, gid, cb) {
68
- process.nextTick(cb)
79
+ if (cb) process.nextTick(cb)
69
80
  }
70
81
  fs.lchownSync = function () {}
71
82
  }
72
83
 
73
84
  // on Windows, A/V software can lock the directory, causing this
74
85
  // to fail with an EACCES or EPERM if the directory contains newly
75
- // created files. Try again on failure, for up to 1 second.
76
- if (process.platform === "win32") {
86
+ // created files. Try again on failure, for up to 60 seconds.
87
+
88
+ // Set the timeout this long because some Windows Anti-Virus, such as Parity
89
+ // bit9, may lock files for up to a minute, causing npm package install
90
+ // failures. Also, take care to yield the scheduler. Windows scheduling gives
91
+ // CPU to a busy looping process, which can cause the program causing the lock
92
+ // contention to be starved of CPU by node, so the contention doesn't resolve.
93
+ if (platform === "win32") {
77
94
  fs.rename = (function (fs$rename) { return function (from, to, cb) {
78
95
  var start = Date.now()
96
+ var backoff = 0;
79
97
  fs$rename(from, to, function CB (er) {
80
98
  if (er
81
99
  && (er.code === "EACCES" || er.code === "EPERM")
82
- && Date.now() - start < 1000) {
83
- return fs$rename(from, to, CB)
100
+ && Date.now() - start < 60000) {
101
+ setTimeout(function() {
102
+ fs.stat(to, function (stater, st) {
103
+ if (stater && stater.code === "ENOENT")
104
+ fs$rename(from, to, CB);
105
+ else
106
+ cb(er)
107
+ })
108
+ }, backoff)
109
+ if (backoff < 100)
110
+ backoff += 10;
111
+ return;
84
112
  }
85
113
  if (cb) cb(er)
86
114
  })
@@ -121,20 +149,19 @@ function patch (fs) {
121
149
 
122
150
  function patchLchmod (fs) {
123
151
  fs.lchmod = function (path, mode, callback) {
124
- callback = callback || noop
125
152
  fs.open( path
126
153
  , constants.O_WRONLY | constants.O_SYMLINK
127
154
  , mode
128
155
  , function (err, fd) {
129
156
  if (err) {
130
- callback(err)
157
+ if (callback) callback(err)
131
158
  return
132
159
  }
133
160
  // prefer to return the chmod error, if one occurs,
134
161
  // but still try to close, and report closing errors if they occur.
135
162
  fs.fchmod(fd, mode, function (err) {
136
163
  fs.close(fd, function(err2) {
137
- callback(err || err2)
164
+ if (callback) callback(err || err2)
138
165
  })
139
166
  })
140
167
  })
@@ -167,11 +194,13 @@ function patchLutimes (fs) {
167
194
  if (constants.hasOwnProperty("O_SYMLINK")) {
168
195
  fs.lutimes = function (path, at, mt, cb) {
169
196
  fs.open(path, constants.O_SYMLINK, function (er, fd) {
170
- cb = cb || noop
171
- if (er) return cb(er)
197
+ if (er) {
198
+ if (cb) cb(er)
199
+ return
200
+ }
172
201
  fs.futimes(fd, at, mt, function (er) {
173
202
  fs.close(fd, function (er2) {
174
- return cb(er || er2)
203
+ if (cb) cb(er || er2)
175
204
  })
176
205
  })
177
206
  })
@@ -197,17 +226,39 @@ function patchLutimes (fs) {
197
226
  }
198
227
 
199
228
  } else {
200
- fs.lutimes = function (_a, _b, _c, cb) { process.nextTick(cb) }
229
+ fs.lutimes = function (_a, _b, _c, cb) { if (cb) process.nextTick(cb) }
201
230
  fs.lutimesSync = function () {}
202
231
  }
203
232
  }
204
233
 
234
+ function chmodFix (orig) {
235
+ if (!orig) return orig
236
+ return function (target, mode, cb) {
237
+ return orig.call(fs, target, mode, function (er) {
238
+ if (chownErOk(er)) er = null
239
+ if (cb) cb.apply(this, arguments)
240
+ })
241
+ }
242
+ }
243
+
244
+ function chmodFixSync (orig) {
245
+ if (!orig) return orig
246
+ return function (target, mode) {
247
+ try {
248
+ return orig.call(fs, target, mode)
249
+ } catch (er) {
250
+ if (!chownErOk(er)) throw er
251
+ }
252
+ }
253
+ }
254
+
255
+
205
256
  function chownFix (orig) {
206
257
  if (!orig) return orig
207
258
  return function (target, uid, gid, cb) {
208
- return orig.call(fs, target, uid, gid, function (er, res) {
259
+ return orig.call(fs, target, uid, gid, function (er) {
209
260
  if (chownErOk(er)) er = null
210
- cb(er, res)
261
+ if (cb) cb.apply(this, arguments)
211
262
  })
212
263
  }
213
264
  }
@@ -223,6 +274,33 @@ function chownFixSync (orig) {
223
274
  }
224
275
  }
225
276
 
277
+
278
+ function statFix (orig) {
279
+ if (!orig) return orig
280
+ // Older versions of Node erroneously returned signed integers for
281
+ // uid + gid.
282
+ return function (target, cb) {
283
+ return orig.call(fs, target, function (er, stats) {
284
+ if (!stats) return cb.apply(this, arguments)
285
+ if (stats.uid < 0) stats.uid += 0x100000000
286
+ if (stats.gid < 0) stats.gid += 0x100000000
287
+ if (cb) cb.apply(this, arguments)
288
+ })
289
+ }
290
+ }
291
+
292
+ function statFixSync (orig) {
293
+ if (!orig) return orig
294
+ // Older versions of Node erroneously returned signed integers for
295
+ // uid + gid.
296
+ return function (target) {
297
+ var stats = orig.call(fs, target)
298
+ if (stats.uid < 0) stats.uid += 0x100000000
299
+ if (stats.gid < 0) stats.gid += 0x100000000
300
+ return stats;
301
+ }
302
+ }
303
+
226
304
  // ENOSYS means that the fs doesn't support the op. Just ignore
227
305
  // that, because it doesn't matter.
228
306
  //