27 lines
		
	
	
		
			822 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			822 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
"use strict";
 | 
						|
Object.defineProperty(exports, "__esModule", { value: true });
 | 
						|
exports.getHomeDir = void 0;
 | 
						|
const os_1 = require("os");
 | 
						|
const path_1 = require("path");
 | 
						|
const homeDirCache = {};
 | 
						|
const getHomeDirCacheKey = () => {
 | 
						|
    if (process && process.geteuid) {
 | 
						|
        return `${process.geteuid()}`;
 | 
						|
    }
 | 
						|
    return "DEFAULT";
 | 
						|
};
 | 
						|
const getHomeDir = () => {
 | 
						|
    const { HOME, USERPROFILE, HOMEPATH, HOMEDRIVE = `C:${path_1.sep}` } = process.env;
 | 
						|
    if (HOME)
 | 
						|
        return HOME;
 | 
						|
    if (USERPROFILE)
 | 
						|
        return USERPROFILE;
 | 
						|
    if (HOMEPATH)
 | 
						|
        return `${HOMEDRIVE}${HOMEPATH}`;
 | 
						|
    const homeDirCacheKey = getHomeDirCacheKey();
 | 
						|
    if (!homeDirCache[homeDirCacheKey])
 | 
						|
        homeDirCache[homeDirCacheKey] = (0, os_1.homedir)();
 | 
						|
    return homeDirCache[homeDirCacheKey];
 | 
						|
};
 | 
						|
exports.getHomeDir = getHomeDir;
 |