homedir.js 956 B

12345678910111213141516171819202122232425262728293031
  1. 'use strict';
  2. var os = require('os');
  3. // adapted from https://github.com/sindresorhus/os-homedir/blob/11e089f4754db38bb535e5a8416320c4446e8cfd/index.js
  4. module.exports = os.homedir || function homedir() {
  5. var home = process.env.HOME;
  6. var user = process.env.LOGNAME || process.env.USER || process.env.LNAME || process.env.USERNAME;
  7. if (process.platform === 'win32') {
  8. return process.env.USERPROFILE
  9. || (
  10. process.env.HOMEDRIVE
  11. && process.env.HOMEPATH
  12. && (process.env.HOMEDRIVE + process.env.HOMEPATH)
  13. )
  14. || home
  15. || null;
  16. }
  17. if (process.platform === 'darwin') {
  18. return home || (user ? '/Users/' + user : null);
  19. }
  20. if (process.platform === 'linux') {
  21. return home || (process.getuid() === 0 ? '/root' : (user ? '/home/' + user : null)); // eslint-disable-line no-extra-parens
  22. }
  23. return home || null;
  24. };