mirror-rhinstaller-node-cache/fs.realpath
2026-10-07 14:02:27 +00:00
..
index.js 6bcb149103748493767ce4eb69859ae015bac454f5dc3d500c50a8c25d10610a package.json 2026-10-07 14:02:27 +00:00
LICENSE 6bcb149103748493767ce4eb69859ae015bac454f5dc3d500c50a8c25d10610a package.json 2026-10-07 14:02:27 +00:00
old.js 6bcb149103748493767ce4eb69859ae015bac454f5dc3d500c50a8c25d10610a package.json 2026-10-07 14:02:27 +00:00
package.json 6bcb149103748493767ce4eb69859ae015bac454f5dc3d500c50a8c25d10610a package.json 2026-10-07 14:02:27 +00:00
README.md 6bcb149103748493767ce4eb69859ae015bac454f5dc3d500c50a8c25d10610a package.json 2026-10-07 14:02:27 +00:00

fs.realpath

A backwards-compatible fs.realpath for Node v6 and above

In Node v6, the JavaScript implementation of fs.realpath was replaced with a faster (but less resilient) native implementation. That raises new and platform-specific errors and cannot handle long or excessively symlink-looping paths.

This module handles those cases by detecting the new errors and falling back to the JavaScript implementation. On versions of Node prior to v6, it has no effect.

USAGE

var rp = require('fs.realpath')

// async version
rp.realpath(someLongAndLoopingPath, function (er, real) {
  // the ELOOP was handled, but it was a bit slower
})

// sync version
var real = rp.realpathSync(someLongAndLoopingPath)

// monkeypatch at your own risk!
// This replaces the fs.realpath/fs.realpathSync builtins
rp.monkeypatch()

// un-do the monkeypatching
rp.unmonkeypatch()