Source code

Revision control

Copy as Markdown

Other Tools

'use strict';
var os = require('os');
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
&& (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;
};