34 lines
		
	
	
		
			881 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			881 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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
 | |
| 
 | |
| ```js
 | |
| 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()
 | |
| ```
 |