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.
- package/fsevents.js +3 -0
- package/install.js +7 -0
- package/lib/binding/Release/node-v48-darwin-x64/fse.node +0 -0
- package/node_modules/abbrev/abbrev.js +0 -1
- package/node_modules/abbrev/package.json +32 -21
- package/node_modules/ansi-regex/index.js +1 -1
- package/node_modules/ansi-regex/package.json +61 -42
- package/node_modules/ansi-regex/readme.md +10 -2
- package/node_modules/ansi-styles/package.json +27 -19
- package/node_modules/aproba/README.md +33 -3
- package/node_modules/aproba/index.js +71 -30
- package/node_modules/aproba/package.json +30 -22
- package/node_modules/are-we-there-yet/package.json +14 -6
- package/node_modules/asn1/package.json +16 -8
- package/node_modules/assert-plus/package.json +16 -8
- package/node_modules/{node-uuid/LICENSE.md → asynckit/LICENSE} +1 -1
- package/node_modules/asynckit/README.md +233 -0
- package/node_modules/asynckit/bench.js +76 -0
- package/node_modules/asynckit/index.js +6 -0
- package/node_modules/asynckit/lib/abort.js +29 -0
- package/node_modules/asynckit/lib/async.js +34 -0
- package/node_modules/asynckit/lib/defer.js +26 -0
- package/node_modules/asynckit/lib/iterate.js +75 -0
- package/node_modules/asynckit/lib/readable_asynckit.js +91 -0
- package/node_modules/asynckit/lib/readable_parallel.js +25 -0
- package/node_modules/asynckit/lib/readable_serial.js +25 -0
- package/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
- package/node_modules/asynckit/lib/state.js +37 -0
- package/node_modules/asynckit/lib/streamify.js +141 -0
- package/node_modules/asynckit/lib/terminator.js +29 -0
- package/node_modules/asynckit/package.json +126 -0
- package/node_modules/asynckit/parallel.js +43 -0
- package/node_modules/asynckit/serial.js +17 -0
- package/node_modules/asynckit/serialOrdered.js +75 -0
- package/node_modules/asynckit/stream.js +21 -0
- package/node_modules/aws-sign2/package.json +15 -7
- package/node_modules/aws4/README.md +9 -0
- package/node_modules/aws4/aws4.js +21 -7
- package/node_modules/aws4/package.json +62 -54
- package/node_modules/balanced-match/package.json +27 -19
- package/node_modules/bcrypt-pbkdf/README.md +39 -0
- package/node_modules/bcrypt-pbkdf/index.js +556 -0
- package/node_modules/bcrypt-pbkdf/package.json +84 -0
- package/node_modules/block-stream/package.json +15 -7
- package/node_modules/boom/package.json +14 -6
- package/node_modules/brace-expansion/index.js +10 -0
- package/node_modules/brace-expansion/package.json +35 -27
- package/node_modules/buffer-shims/package.json +16 -7
- package/node_modules/caseless/package.json +18 -10
- package/node_modules/chalk/package.json +30 -22
- package/node_modules/code-point-at/index.js +3 -4
- package/node_modules/code-point-at/package.json +40 -30
- package/node_modules/code-point-at/readme.md +2 -4
- package/node_modules/combined-stream/package.json +15 -7
- package/node_modules/commander/package.json +16 -8
- package/node_modules/concat-map/package.json +30 -22
- package/node_modules/console-control-strings/package.json +15 -7
- package/node_modules/core-util-is/package.json +22 -14
- package/node_modules/cryptiles/package.json +14 -6
- package/node_modules/dashdash/CHANGES.md +364 -0
- package/node_modules/dashdash/LICENSE.txt +24 -0
- package/node_modules/dashdash/etc/dashdash.bash_completion.in +4 -3
- package/node_modules/dashdash/node_modules/assert-plus/package.json +16 -8
- package/node_modules/dashdash/package.json +33 -24
- package/node_modules/debug/package.json +20 -12
- package/node_modules/deep-extend/package.json +23 -15
- package/node_modules/delayed-stream/package.json +15 -7
- package/node_modules/delegates/package.json +14 -6
- package/node_modules/ecc-jsbn/package.json +17 -9
- package/node_modules/escape-string-regexp/package.json +20 -12
- package/node_modules/extend/package.json +16 -8
- package/node_modules/extsprintf/package.json +14 -6
- package/node_modules/forever-agent/package.json +15 -7
- package/node_modules/form-data/README.md +7 -8
- package/node_modules/form-data/lib/browser.js +1 -1
- package/node_modules/form-data/lib/form_data.js +101 -72
- package/node_modules/form-data/lib/populate.js +6 -5
- package/node_modules/form-data/package.json +68 -52
- package/node_modules/fs.realpath/package.json +19 -11
- package/node_modules/fstream/package.json +15 -7
- package/node_modules/fstream-ignore/package.json +15 -7
- package/node_modules/gauge/CHANGELOG.md +24 -0
- package/node_modules/gauge/README.md +4 -0
- package/node_modules/gauge/index.js +16 -9
- package/node_modules/gauge/package.json +37 -29
- package/node_modules/generate-function/package.json +16 -8
- package/node_modules/generate-object-property/package.json +14 -6
- package/node_modules/getpass/node_modules/assert-plus/package.json +16 -8
- package/node_modules/getpass/package.json +16 -8
- package/node_modules/glob/README.md +3 -0
- package/node_modules/glob/common.js +6 -1
- package/node_modules/glob/glob.js +23 -14
- package/node_modules/glob/package.json +29 -21
- package/node_modules/glob/sync.js +29 -11
- package/node_modules/graceful-fs/README.md +1 -1
- package/node_modules/graceful-fs/graceful-fs.js +23 -14
- package/node_modules/graceful-fs/package.json +35 -27
- package/node_modules/graceful-fs/polyfills.js +99 -21
- package/node_modules/graceful-readlink/package.json +14 -6
- package/node_modules/har-validator/package.json +16 -8
- package/node_modules/has-ansi/package.json +29 -21
- package/node_modules/has-unicode/package.json +18 -10
- package/node_modules/hawk/package.json +18 -10
- package/node_modules/hoek/package.json +14 -6
- package/node_modules/http-signature/package.json +14 -6
- package/node_modules/inflight/inflight.js +22 -12
- package/node_modules/inflight/package.json +28 -20
- package/node_modules/inherits/inherits.js +7 -1
- package/node_modules/inherits/package.json +41 -21
- package/node_modules/ini/package.json +15 -7
- package/node_modules/is-fullwidth-code-point/package.json +27 -19
- package/node_modules/is-my-json-valid/index.js +10 -0
- package/node_modules/is-my-json-valid/package.json +36 -20
- package/node_modules/is-my-json-valid/test/misc.js +24 -0
- package/node_modules/is-property/package.json +19 -11
- package/node_modules/is-typedarray/package.json +16 -8
- package/node_modules/isarray/package.json +28 -20
- package/node_modules/isstream/package.json +19 -11
- package/node_modules/jodid25519/package.json +18 -10
- package/node_modules/jsbn/index.js +8 -9
- package/node_modules/jsbn/package.json +30 -18
- package/node_modules/json-schema/lib/links.js +17 -3
- package/node_modules/json-schema/lib/validate.js +18 -5
- package/node_modules/json-schema/package.json +32 -18
- package/node_modules/json-stringify-safe/package.json +18 -10
- package/node_modules/{async/LICENSE → jsonpointer/LICENSE.md} +3 -1
- package/node_modules/jsonpointer/README.md +17 -10
- package/node_modules/jsonpointer/jsonpointer.js +73 -56
- package/node_modules/jsonpointer/package.json +47 -26
- package/node_modules/jsprim/CHANGES.md +4 -0
- package/node_modules/jsprim/package.json +25 -17
- package/node_modules/mime-db/HISTORY.md +50 -0
- package/node_modules/mime-db/db.json +126 -2
- package/node_modules/mime-db/package.json +43 -30
- package/node_modules/mime-types/HISTORY.md +19 -0
- package/node_modules/mime-types/index.js +8 -8
- package/node_modules/mime-types/package.json +32 -19
- package/node_modules/minimatch/minimatch.js +19 -20
- package/node_modules/minimatch/package.json +25 -17
- package/node_modules/minimist/package.json +24 -16
- package/node_modules/mkdirp/package.json +21 -13
- package/node_modules/ms/package.json +14 -6
- package/node_modules/node-pre-gyp/CHANGELOG.md +20 -0
- package/node_modules/node-pre-gyp/README.md +574 -0
- package/node_modules/node-pre-gyp/appveyor.yml +19 -9
- package/node_modules/node-pre-gyp/lib/install.js +31 -7
- package/node_modules/node-pre-gyp/lib/node-pre-gyp.js +3 -1
- package/node_modules/node-pre-gyp/lib/util/abi_crosswalk.json +140 -0
- package/node_modules/node-pre-gyp/package.json +52 -48
- package/node_modules/nopt/package.json +19 -11
- package/node_modules/npmlog/CHANGELOG.md +9 -0
- package/node_modules/npmlog/README.md +7 -1
- package/node_modules/npmlog/log.js +12 -8
- package/node_modules/npmlog/package.json +30 -22
- package/node_modules/number-is-nan/package.json +39 -30
- package/node_modules/number-is-nan/readme.md +1 -3
- package/node_modules/oauth-sign/package.json +15 -7
- package/node_modules/object-assign/index.js +11 -4
- package/node_modules/object-assign/package.json +42 -30
- package/node_modules/object-assign/readme.md +8 -3
- package/node_modules/once/README.md +28 -0
- package/node_modules/once/once.js +21 -0
- package/node_modules/once/package.json +31 -20
- package/node_modules/path-is-absolute/index.js +5 -5
- package/node_modules/path-is-absolute/package.json +45 -31
- package/node_modules/path-is-absolute/readme.md +19 -11
- package/node_modules/pinkie/package.json +18 -10
- package/node_modules/pinkie-promise/package.json +18 -10
- package/node_modules/process-nextick-args/package.json +16 -8
- package/node_modules/punycode/LICENSE-MIT.txt +20 -0
- package/node_modules/punycode/README.md +176 -0
- package/node_modules/punycode/package.json +127 -0
- package/node_modules/punycode/punycode.js +533 -0
- package/node_modules/qs/.eslintrc +15 -15
- package/node_modules/qs/CHANGELOG.md +36 -0
- package/node_modules/qs/README.md +431 -0
- package/node_modules/qs/dist/qs.js +167 -67
- package/node_modules/qs/lib/formats.js +18 -0
- package/node_modules/qs/lib/index.js +6 -4
- package/node_modules/qs/lib/parse.js +31 -32
- package/node_modules/qs/lib/stringify.js +83 -20
- package/node_modules/qs/lib/utils.js +23 -7
- package/node_modules/qs/package.json +40 -30
- package/node_modules/qs/test/.eslintrc +10 -0
- package/node_modules/qs/test/index.js +2 -0
- package/node_modules/qs/test/parse.js +108 -47
- package/node_modules/qs/test/stringify.js +261 -28
- package/node_modules/qs/test/utils.js +13 -0
- package/node_modules/rc/node_modules/minimist/package.json +24 -16
- package/node_modules/rc/package.json +35 -23
- package/node_modules/readable-stream/.npmignore +1 -0
- package/node_modules/readable-stream/.travis.yml +2 -7
- package/node_modules/readable-stream/README.md +6 -2
- package/node_modules/readable-stream/lib/_stream_readable.js +158 -110
- package/node_modules/readable-stream/lib/_stream_transform.js +7 -5
- package/node_modules/readable-stream/lib/_stream_writable.js +35 -7
- package/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
- package/node_modules/readable-stream/package.json +34 -26
- package/node_modules/request/CHANGELOG.md +49 -18
- package/node_modules/request/README.md +3 -2
- package/node_modules/request/index.js +2 -3
- package/node_modules/request/lib/auth.js +1 -1
- package/node_modules/request/lib/helpers.js +4 -13
- package/node_modules/request/lib/multipart.js +1 -1
- package/node_modules/request/lib/oauth.js +1 -1
- package/node_modules/request/lib/redirect.js +5 -1
- package/node_modules/request/package.json +50 -31
- package/node_modules/request/request.js +84 -43
- package/node_modules/rimraf/package.json +28 -20
- package/node_modules/rimraf/rimraf.js +2 -2
- package/node_modules/semver/README.md +4 -0
- package/node_modules/semver/package.json +27 -19
- package/node_modules/semver/semver.js +14 -5
- package/node_modules/set-blocking/package.json +21 -13
- package/node_modules/signal-exit/CHANGELOG.md +10 -0
- package/node_modules/signal-exit/LICENSE.txt +2 -0
- package/node_modules/signal-exit/index.js +9 -0
- package/node_modules/signal-exit/package.json +32 -24
- package/node_modules/signal-exit/signals.js +5 -4
- package/node_modules/sntp/package.json +16 -8
- package/node_modules/sshpk/README.md +214 -3
- package/node_modules/sshpk/bin/sshpk-conv +6 -0
- package/node_modules/sshpk/lib/certificate.js +291 -0
- package/node_modules/sshpk/lib/errors.js +14 -1
- package/node_modules/sshpk/lib/fingerprint.js +28 -7
- package/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
- package/node_modules/sshpk/lib/formats/pem.js +2 -2
- package/node_modules/sshpk/lib/formats/pkcs8.js +2 -7
- package/node_modules/sshpk/lib/formats/ssh-private.js +140 -17
- package/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
- package/node_modules/sshpk/lib/formats/x509.js +484 -0
- package/node_modules/sshpk/lib/identity.js +277 -0
- package/node_modules/sshpk/lib/index.js +13 -1
- package/node_modules/sshpk/lib/key.js +1 -0
- package/node_modules/sshpk/lib/signature.js +14 -6
- package/node_modules/sshpk/lib/ssh-buffer.js +24 -0
- package/node_modules/sshpk/lib/utils.js +43 -1
- package/node_modules/sshpk/node_modules/assert-plus/package.json +16 -8
- package/node_modules/sshpk/package.json +32 -22
- package/node_modules/string-width/index.js +5 -0
- package/node_modules/string-width/package.json +49 -36
- package/node_modules/string-width/readme.md +4 -3
- package/node_modules/string_decoder/package.json +19 -11
- package/node_modules/stringstream/package.json +18 -10
- package/node_modules/strip-ansi/package.json +29 -21
- package/node_modules/strip-json-comments/index.js +70 -0
- package/node_modules/strip-json-comments/package.json +49 -43
- package/node_modules/strip-json-comments/readme.md +12 -28
- package/node_modules/supports-color/package.json +26 -18
- package/node_modules/tar/package.json +19 -11
- package/node_modules/tar-pack/README.md +4 -1
- package/node_modules/tar-pack/index.js +17 -12
- package/node_modules/tar-pack/node_modules/once/LICENSE +15 -0
- package/node_modules/tar-pack/node_modules/once/README.md +51 -0
- package/node_modules/tar-pack/node_modules/once/once.js +21 -0
- package/node_modules/tar-pack/node_modules/once/package.json +96 -0
- package/node_modules/tar-pack/node_modules/readable-stream/.npmignore +8 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/.travis.yml +4 -7
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/LICENSE +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/README.md +2 -2
- package/node_modules/tar-pack/node_modules/readable-stream/doc/stream.md +2015 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/doc/wg-meetings/2015-01-30.md +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/duplex.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_duplex.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_passthrough.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_readable.js +164 -107
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_transform.js +3 -3
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/lib/_stream_writable.js +25 -15
- package/node_modules/tar-pack/node_modules/readable-stream/lib/internal/streams/BufferList.js +64 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/package.json +50 -30
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/passthrough.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/readable.js +4 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/transform.js +0 -0
- package/node_modules/{bl → tar-pack}/node_modules/readable-stream/writable.js +0 -0
- package/node_modules/tar-pack/package.json +39 -22
- package/node_modules/tar-pack/test/index.js +43 -1
- package/node_modules/tough-cookie/README.md +17 -3
- package/node_modules/tough-cookie/lib/cookie.js +6 -12
- package/node_modules/tough-cookie/package.json +50 -35
- package/node_modules/tunnel-agent/package.json +15 -7
- package/node_modules/tweetnacl/AUTHORS.md +28 -0
- package/node_modules/tweetnacl/CHANGELOG.md +93 -0
- package/node_modules/tweetnacl/LICENSE +24 -0
- package/node_modules/tweetnacl/PULL_REQUEST_TEMPLATE.md +20 -0
- package/node_modules/tweetnacl/README.md +57 -61
- package/node_modules/tweetnacl/nacl-fast.js +22 -52
- package/node_modules/tweetnacl/nacl-fast.min.js +2 -2
- package/node_modules/tweetnacl/nacl.d.ts +98 -0
- package/node_modules/tweetnacl/nacl.js +21 -51
- package/node_modules/tweetnacl/nacl.min.js +1 -1
- package/node_modules/tweetnacl/package.json +47 -46
- package/node_modules/uid-number/package.json +15 -7
- package/node_modules/util-deprecate/package.json +21 -13
- package/node_modules/uuid/.npmignore +8 -0
- package/node_modules/uuid/.travis.yml +5 -0
- package/node_modules/uuid/AUTHORS +5 -0
- package/node_modules/uuid/HISTORY.md +28 -0
- package/node_modules/uuid/LICENSE.md +21 -0
- package/node_modules/uuid/README.md +132 -0
- package/node_modules/{node-uuid → uuid}/bin/uuid +0 -0
- package/node_modules/uuid/index.js +8 -0
- package/node_modules/uuid/lib/bytesToUuid.js +23 -0
- package/node_modules/uuid/lib/rng-browser.js +33 -0
- package/node_modules/uuid/lib/rng.js +10 -0
- package/node_modules/uuid/package.json +122 -0
- package/node_modules/uuid/test/mocha.opts +3 -0
- package/node_modules/uuid/test/test.js +96 -0
- package/node_modules/uuid/v1.js +103 -0
- package/node_modules/uuid/v4.js +29 -0
- package/node_modules/verror/package.json +14 -6
- package/node_modules/wide-align/package.json +19 -11
- package/node_modules/wrappy/package.json +17 -8
- package/node_modules/xtend/package.json +29 -21
- package/package.json +2 -2
- package/node_modules/async/CHANGELOG.md +0 -125
- package/node_modules/async/README.md +0 -1877
- package/node_modules/async/dist/async.js +0 -1265
- package/node_modules/async/dist/async.min.js +0 -2
- package/node_modules/async/lib/async.js +0 -1265
- package/node_modules/async/package.json +0 -149
- package/node_modules/bl/.jshintrc +0 -59
- package/node_modules/bl/.npmignore +0 -1
- package/node_modules/bl/.travis.yml +0 -13
- package/node_modules/bl/LICENSE.md +0 -13
- package/node_modules/bl/README.md +0 -200
- package/node_modules/bl/bl.js +0 -243
- package/node_modules/bl/node_modules/readable-stream/.npmignore +0 -5
- package/node_modules/bl/node_modules/readable-stream/.zuul.yml +0 -1
- package/node_modules/bl/node_modules/readable-stream/doc/stream.markdown +0 -1760
- package/node_modules/bl/package.json +0 -96
- package/node_modules/bl/test/test.js +0 -640
- package/node_modules/form-data/.dockerignore +0 -7
- package/node_modules/form-data/.editorconfig +0 -10
- package/node_modules/form-data/.eslintignore +0 -1
- package/node_modules/form-data/.eslintrc +0 -64
- package/node_modules/form-data/wercker.yml +0 -36
- package/node_modules/gauge/CHANGELOG.md~ +0 -123
- package/node_modules/gauge/README.md~ +0 -393
- package/node_modules/has-color/index.js +0 -32
- package/node_modules/has-color/package.json +0 -97
- package/node_modules/has-color/readme.md +0 -30
- package/node_modules/inherits/test.js +0 -25
- package/node_modules/jsonpointer/.travis.yml +0 -10
- package/node_modules/jsonpointer/test.js +0 -98
- package/node_modules/node-uuid/.npmignore +0 -4
- package/node_modules/node-uuid/README.md +0 -254
- package/node_modules/node-uuid/benchmark/README.md +0 -53
- package/node_modules/node-uuid/benchmark/bench.gnu +0 -174
- package/node_modules/node-uuid/benchmark/bench.sh +0 -34
- package/node_modules/node-uuid/benchmark/benchmark-native.c +0 -34
- package/node_modules/node-uuid/benchmark/benchmark.js +0 -84
- package/node_modules/node-uuid/bower.json +0 -23
- package/node_modules/node-uuid/component.json +0 -25
- package/node_modules/node-uuid/package.json +0 -105
- package/node_modules/node-uuid/test/compare_v1.js +0 -63
- package/node_modules/node-uuid/test/test.html +0 -17
- package/node_modules/node-uuid/test/test.js +0 -231
- package/node_modules/node-uuid/uuid.js +0 -272
- package/node_modules/npmlog/CHANGELOG.md~ +0 -31
- package/node_modules/qs/.jscs.json +0 -176
- package/node_modules/qs/CONTRIBUTING.md +0 -1
- package/node_modules/readable-stream/doc/stream.md +0 -1772
- package/node_modules/request/.eslintrc +0 -45
- package/node_modules/request/.npmignore +0 -6
- package/node_modules/request/.travis.yml +0 -21
- package/node_modules/request/CONTRIBUTING.md +0 -81
- package/node_modules/request/codecov.yml +0 -2
- package/node_modules/strip-json-comments/cli.js +0 -41
- 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 =
|
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
|
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
|
-
|
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.
|
17
|
+
"_id": "glob@7.1.1",
|
10
18
|
"_inCache": true,
|
11
|
-
"_installable": true,
|
12
19
|
"_location": "/glob",
|
13
|
-
"_nodeVersion": "
|
20
|
+
"_nodeVersion": "6.5.0",
|
14
21
|
"_npmOperationalInternal": {
|
15
|
-
"host": "packages-
|
16
|
-
"tmp": "tmp/glob-7.
|
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
|
-
"
|
20
|
-
"
|
26
|
+
"name": "isaacs",
|
27
|
+
"email": "i@izs.me"
|
21
28
|
},
|
22
|
-
"_npmVersion": "3.
|
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.
|
36
|
-
"_shasum": "
|
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": "^
|
68
|
+
"tap": "^7.1.2",
|
61
69
|
"tick": "0.0.6"
|
62
70
|
},
|
63
71
|
"directories": {},
|
64
72
|
"dist": {
|
65
|
-
"shasum": "
|
66
|
-
"tarball": "https://registry.npmjs.org/glob/-/glob-7.
|
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": "
|
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.
|
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.
|
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[
|
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
|
-
|
244
|
-
|
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.
|
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
|
-
|
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 =
|
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
|
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](
|
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
|
-
|
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
|
-
|
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
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
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
|
-
|
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.
|
17
|
+
"_id": "graceful-fs@4.1.11",
|
10
18
|
"_inCache": true,
|
11
|
-
"_installable": true,
|
12
19
|
"_location": "/graceful-fs",
|
13
|
-
"_nodeVersion": "5.
|
20
|
+
"_nodeVersion": "6.5.0",
|
14
21
|
"_npmOperationalInternal": {
|
15
|
-
"host": "packages-
|
16
|
-
"tmp": "tmp/graceful-fs-4.1.
|
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
|
-
"
|
20
|
-
"
|
26
|
+
"name": "isaacs",
|
27
|
+
"email": "i@izs.me"
|
21
28
|
},
|
22
|
-
"_npmVersion": "3.
|
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.
|
36
|
-
"_shasum": "
|
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": "
|
55
|
-
"tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.
|
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": "
|
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
|
-
"
|
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.
|
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 =
|
48
|
-
fs.fchmod =
|
49
|
-
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 =
|
56
|
-
fs.fchmodSync =
|
57
|
-
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
|
76
|
-
|
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 <
|
83
|
-
|
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
|
-
|
171
|
-
|
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
|
-
|
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
|
259
|
+
return orig.call(fs, target, uid, gid, function (er) {
|
209
260
|
if (chownErOk(er)) er = null
|
210
|
-
cb(
|
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
|
//
|