UNPKG

665 BJavaScriptView Raw
1const { exec } = require('child_process')
2
3const execPromise = (cmd, opts) => new Promise((resolve, reject) => {
4 exec(cmd, opts, (err, stdout, stderr) => {
5 if (err) return reject(err)
6 return resolve({ stdout, stderr })
7 })
8})
9
10module.exports = async (cwd) => {
11 try {
12 const origin = (await execPromise('git config --get remote.origin.url', { cwd })).stdout.trim()
13 const branch = (await execPromise('git rev-parse --abbrev-ref HEAD'), { cwd }).stdout.trim()
14 const commit = (await execPromise('git rev-parse HEAD'), { cwd }).stdout.trim()
15
16 return {
17 url: origin,
18 branch,
19 commit
20 }
21 } catch (e) {
22 return null
23 }
24}