Socket
Socket
Sign inDemoInstall

@npmcli/git

Package Overview
Dependencies
Maintainers
5
Versions
33
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@npmcli/git - npm Package Compare versions

Comparing version 5.0.7 to 5.0.8

53

lib/opts.js

@@ -0,7 +1,49 @@

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 gitEnv = {
GIT_ASKPASS: 'echo',
GIT_SSH_COMMAND: 'ssh -oStrictHostKeyChecking=accept-new',
const finalGitEnv = {
...(askPassSetInEnv || askPassSetInConfig ? {} : {
GIT_ASKPASS: 'echo',
}),
...(sshCommandSetInEnv || sshCommandSetInConfig ? {} : {
GIT_SSH_COMMAND: 'ssh -oStrictHostKeyChecking=accept-new',
}),
}
module.exports = (opts = {}) => ({

@@ -11,3 +53,6 @@ stdioString: true,

shell: false,
env: opts.env || { ...gitEnv, ...process.env },
env: opts.env || { ...finalGitEnv, ...process.env },
})
// Export the loadGitConfig function for testing
module.exports.loadGitConfig = loadGitConfig

3

package.json
{
"name": "@npmcli/git",
"version": "5.0.7",
"version": "5.0.8",
"main": "lib/index.js",

@@ -41,2 +41,3 @@ "files": [

"@npmcli/promise-spawn": "^7.0.0",
"ini": "^4.1.3",
"lru-cache": "^10.0.1",

@@ -43,0 +44,0 @@ "npm-pick-manifest": "^9.0.0",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc