You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					34 lines
				
				881 B
			
		
		
			
		
	
	
					34 lines
				
				881 B
			| 
								 
											4 years ago
										 
									 | 
							
								# 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()
							 | 
						||
| 
								 | 
							
								```
							 |