Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRebecca Turner <me@re-becca.org>2016-05-06 01:33:45 +0300
committerRebecca Turner <me@re-becca.org>2016-05-06 02:57:13 +0300
commite568caabb8390a924ce1cfa51fc914ee6c1637a2 (patch)
tree169fa3321ce5846d557cc9f805222dc4ffa9df92 /node_modules/graceful-fs
parent111ae3ec366ece7ebcf5988f5bc2a7cd70737dfe (diff)
graceful-fs@4.1.4
Travis changes & readme updates. Credit: @isaacs
Diffstat (limited to 'node_modules/graceful-fs')
-rw-r--r--node_modules/graceful-fs/README.md84
-rw-r--r--node_modules/graceful-fs/package.json65
2 files changed, 115 insertions, 34 deletions
diff --git a/node_modules/graceful-fs/README.md b/node_modules/graceful-fs/README.md
index d920aaac9..d0dcd4925 100644
--- a/node_modules/graceful-fs/README.md
+++ b/node_modules/graceful-fs/README.md
@@ -9,8 +9,6 @@ resilient to errors.
## Improvements over [fs module](http://api.nodejs.org/fs.html)
-graceful-fs:
-
* Queues up `open` and `readdir` calls, and retries them once
something closes if there is an EMFILE error from too many file
descriptors.
@@ -51,3 +49,85 @@ This should only ever be done at the top-level application layer, in
order to delay on EMFILE errors from any fs-using dependencies. You
should **not** do this in a library, because it can cause unexpected
delays in other parts of the program.
+
+## Changes
+
+This module is fairly stable at this point, and used by a lot of
+things. That being said, because it implements a subtle behavior
+change in a core part of the node API, even modest changes can be
+extremely breaking, and the versioning is thus biased towards
+bumping the major when in doubt.
+
+The main change between major versions has been switching between
+providing a fully-patched `fs` module vs monkey-patching the node core
+builtin, and the approach by which a non-monkey-patched `fs` was
+created.
+
+The goal is to trade `EMFILE` errors for slower fs operations. So, if
+you try to open a zillion files, rather than crashing, `open`
+operations will be queued up and wait for something else to `close`.
+
+There are advantages to each approach. Monkey-patching the fs means
+that no `EMFILE` errors can possibly occur anywhere in your
+application, because everything is using the same core `fs` module,
+which is patched. However, it can also obviously cause undesirable
+side-effects, especially if the module is loaded multiple times.
+
+Implementing a separate-but-identical patched `fs` module is more
+surgical (and doesn't run the risk of patching multiple times), but
+also imposes the challenge of keeping in sync with the core module.
+
+The current approach loads the `fs` module, and then creates a
+lookalike object that has all the same methods, except a few that are
+patched. It is safe to use in all versions of Node from 0.8 through
+7.0.
+
+### v4
+
+* Do not monkey-patch the fs module. This module may now be used as a
+ drop-in dep, and users can opt into monkey-patching the fs builtin
+ if their app requires it.
+
+### v3
+
+* Monkey-patch fs, because the eval approach no longer works on recent
+ node.
+* fixed possible type-error throw if rename fails on windows
+* verify that we *never* get EMFILE errors
+* Ignore ENOSYS from chmod/chown
+* clarify that graceful-fs must be used as a drop-in
+
+### v2.1.0
+
+* Use eval rather than monkey-patching fs.
+* readdir: Always sort the results
+* win32: requeue a file if error has an OK status
+
+### v2.0
+
+* A return to monkey patching
+* wrap process.cwd
+
+### v1.1
+
+* wrap readFile
+* Wrap fs.writeFile.
+* readdir protection
+* Don't clobber the fs builtin
+* Handle fs.read EAGAIN errors by trying again
+* Expose the curOpen counter
+* No-op lchown/lchmod if not implemented
+* fs.rename patch only for win32
+* Patch fs.rename to handle AV software on Windows
+* Close #4 Chown should not fail on einval or eperm if non-root
+* Fix isaacs/fstream#1 Only wrap fs one time
+* Fix #3 Start at 1024 max files, then back off on EMFILE
+* lutimes that doens't blow up on Linux
+* A full on-rewrite using a queue instead of just swallowing the EMFILE error
+* Wrap Read/Write streams as well
+
+### 1.0
+
+* Update engines for node 0.6
+* Be lstat-graceful on Windows
+* first
diff --git a/node_modules/graceful-fs/package.json b/node_modules/graceful-fs/package.json
index f8fc8a0eb..cca5d89f6 100644
--- a/node_modules/graceful-fs/package.json
+++ b/node_modules/graceful-fs/package.json
@@ -1,36 +1,37 @@
{
"_args": [
[
- "graceful-fs@~4.1.2",
+ "graceful-fs@~4.1.3",
"/Users/rebecca/code/npm"
]
],
- "_from": "graceful-fs@>=4.1.2 <4.2.0",
- "_id": "graceful-fs@4.1.3",
+ "_from": "graceful-fs@>=4.1.3 <4.2.0",
+ "_id": "graceful-fs@4.1.4",
"_inCache": true,
"_installable": true,
"_location": "/graceful-fs",
- "_nodeVersion": "4.0.0",
+ "_nodeVersion": "5.6.0",
"_npmOperationalInternal": {
- "host": "packages-6-west.internal.npmjs.com",
- "tmp": "tmp/graceful-fs-4.1.3.tgz_1454449326495_0.943017533281818"
+ "host": "packages-12-west.internal.npmjs.com",
+ "tmp": "tmp/graceful-fs-4.1.4.tgz_1462474854900_0.9423982477746904"
},
"_npmUser": {
"email": "i@izs.me",
"name": "isaacs"
},
- "_npmVersion": "3.7.0",
+ "_npmVersion": "3.8.9",
"_phantomChildren": {},
"_requested": {
"name": "graceful-fs",
- "raw": "graceful-fs@~4.1.2",
- "rawSpec": "~4.1.2",
+ "raw": "graceful-fs@~4.1.3",
+ "rawSpec": "~4.1.3",
"scope": null,
- "spec": ">=4.1.2 <4.2.0",
+ "spec": ">=4.1.3 <4.2.0",
"type": "range"
},
"_requiredBy": [
"/",
+ "/cmd-shim",
"/fs-vacuum",
"/fs-write-stream-atomic",
"/fstream",
@@ -41,17 +42,17 @@
"/read-package-json",
"/readdir-scoped-modules",
"/sha",
- "/standard/standard-engine/eslint/file-entry-cache/flat-cache",
- "/standard/standard-engine/eslint/file-entry-cache/flat-cache/read-json-sync",
- "/standard/standard-format/esformatter-jsx/babel-core/regenerator/commoner",
+ "/standard/eslint/file-entry-cache/flat-cache",
+ "/standard/eslint/file-entry-cache/flat-cache/read-json-sync",
+ "/tacks",
"/tap/nyc/read-pkg/load-json-file",
"/tap/nyc/read-pkg/path-type",
"/write-file-atomic"
],
- "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz",
- "_shasum": "92033ce11113c41e2628d61fdfa40bc10dc0155c",
+ "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz",
+ "_shasum": "ef089d2880f033b011823ce5c8fae798da775dbd",
"_shrinkwrap": null,
- "_spec": "graceful-fs@~4.1.2",
+ "_spec": "graceful-fs@~4.1.3",
"_where": "/Users/rebecca/code/npm",
"bugs": {
"url": "https://github.com/isaacs/node-graceful-fs/issues"
@@ -67,8 +68,8 @@
"test": "test"
},
"dist": {
- "shasum": "92033ce11113c41e2628d61fdfa40bc10dc0155c",
- "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.3.tgz"
+ "shasum": "ef089d2880f033b011823ce5c8fae798da775dbd",
+ "tarball": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz"
},
"engines": {
"node": ">=0.4.0"
@@ -79,30 +80,30 @@
"legacy-streams.js",
"polyfills.js"
],
- "gitHead": "694c56f3aed4aee62d6df169be123d3984f61b85",
+ "gitHead": "fe8f05ccc2779d1dfa6db6173f3ed64f1e9aa72c",
"homepage": "https://github.com/isaacs/node-graceful-fs#readme",
"keywords": [
- "EACCESS",
- "EAGAIN",
- "EINVAL",
- "EMFILE",
- "EPERM",
- "error",
- "errors",
"fs",
- "handling",
"module",
- "queue",
"reading",
+ "retry",
"retries",
- "retry"
+ "queue",
+ "error",
+ "errors",
+ "handling",
+ "EMFILE",
+ "EAGAIN",
+ "EINVAL",
+ "EPERM",
+ "EACCESS"
],
"license": "ISC",
"main": "graceful-fs.js",
"maintainers": [
{
- "name": "isaacs",
- "email": "i@izs.me"
+ "email": "i@izs.me",
+ "name": "isaacs"
}
],
"name": "graceful-fs",
@@ -115,5 +116,5 @@
"scripts": {
"test": "node test.js | tap -"
},
- "version": "4.1.3"
+ "version": "4.1.4"
}