Skip to content

isaacs/fs.realpath

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
February 26, 2022 22:06
February 26, 2022 22:06
June 15, 2016 11:37
June 15, 2016 11:37
June 15, 2016 11:37
June 15, 2016 11:37
February 26, 2022 22:06
February 26, 2022 22:06
February 26, 2022 22:06

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()

About

Use node's fs.realpath, but fall back to the JS implementation if the native one fails

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published