Server IP : 51.89.169.208 / Your IP : 3.16.157.168 Web Server : Apache System : Linux ns3209505.ip-198-244-202.eu 4.18.0-553.27.1.el8_10.x86_64 #1 SMP Tue Nov 5 04:50:16 EST 2024 x86_64 User : yellowleaf ( 1019) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/opt/cpanel/ea-nodejs20/lib/node_modules/npm/node_modules/@npmcli/git/lib/ |
Upload File : |
const fs = require('node:fs') const os = require('node:os') const path = require('node:path') const ini = require('ini') const gitConfigPath = path.join(os.homedir(), '.gitconfig') let cachedConfig = null // Function to load and cache the git config const loadGitConfig = () => { if (cachedConfig === null) { try { cachedConfig = {} if (fs.existsSync(gitConfigPath)) { const configContent = fs.readFileSync(gitConfigPath, 'utf-8') cachedConfig = ini.parse(configContent) } } catch (error) { cachedConfig = {} } } return cachedConfig } const checkGitConfigs = () => { const config = loadGitConfig() return { sshCommandSetInConfig: config?.core?.sshCommand !== undefined, askPassSetInConfig: config?.core?.askpass !== undefined, } } const sshCommandSetInEnv = process.env.GIT_SSH_COMMAND !== undefined const askPassSetInEnv = process.env.GIT_ASKPASS !== undefined const { sshCommandSetInConfig, askPassSetInConfig } = checkGitConfigs() // Values we want to set if they're not already defined by the end user // This defaults to accepting new ssh host key fingerprints const finalGitEnv = { ...(askPassSetInEnv || askPassSetInConfig ? {} : { GIT_ASKPASS: 'echo', }), ...(sshCommandSetInEnv || sshCommandSetInConfig ? {} : { GIT_SSH_COMMAND: 'ssh -oStrictHostKeyChecking=accept-new', }), } module.exports = (opts = {}) => ({ stdioString: true, ...opts, shell: false, env: opts.env || { ...finalGitEnv, ...process.env }, }) // Export the loadGitConfig function for testing module.exports.loadGitConfig = loadGitConfig