25 lines
		
	
	
		
			805 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			805 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| var os = require('os');
 | |
| 
 | |
| // adapted from https://github.com/sindresorhus/os-homedir/blob/11e089f4754db38bb535e5a8416320c4446e8cfd/index.js
 | |
| 
 | |
| module.exports = os.homedir || function homedir() {
 | |
|     var home = process.env.HOME;
 | |
|     var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME;
 | |
| 
 | |
|     if (process.platform === 'win32') {
 | |
|         return process.env.USERPROFILE || process.env.HOMEDRIVE + process.env.HOMEPATH || home || null;
 | |
|     }
 | |
| 
 | |
|     if (process.platform === 'darwin') {
 | |
|         return home || (user ? '/Users/' + user : null);
 | |
|     }
 | |
| 
 | |
|     if (process.platform === 'linux') {
 | |
|         return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); // eslint-disable-line no-extra-parens
 | |
|     }
 | |
| 
 | |
|     return home || null;
 | |
| };
 |