graceful-fs functions as a drop-in replacement for the fs module, making various improvements.
The improvements are meant to normalize behavior across different platforms and environments, and to make filesystem access more resilient to errors.
graceful-fs:
open and readdir calls, and retries them once
something closes if there is an EMFILE error from too many file
descriptors.lchmod for Node versions prior to 0.6.2.fs.lutimes if possible. Otherwise it becomes a noop.EINVAL and EPERM errors in chown, fchown or
lchown if the user isn't root.lchmod and lchown become noops, if not available.read results in EAGAIN error.On Windows, it retries renaming a file for up to one second if EACCESS
or EPERM error occurs, likely because antivirus software has locked
the directory.
// use just like fs
var fs = require('graceful-fs')
// now go and do stuff with it...
fs.readFileSync('some-file-or-whatever')