diff --git a/packages/compile/src/version.ts b/packages/compile/src/version.ts index 1333ede6..fe4e59ed 100644 --- a/packages/compile/src/version.ts +++ b/packages/compile/src/version.ts @@ -1,5 +1,7 @@ -import { Version } from '@pi-base/core' +import type { Version } from '@pi-base/core' +import { execFile } from 'node:child_process' import { resolve } from 'node:path' +import { promisify } from 'node:util' import { readFile } from './fs.js' @@ -31,10 +33,12 @@ async function fromRepo(root = '.'): Promise { const head = refName(contents) if (head) { - const sha = await readFile(resolve(root, '.git', 'refs', 'heads', head)) + const { stdout } = await promisify(execFile)('git', ['rev-parse', 'HEAD'], { + cwd: root, + }) return { ref: head, - sha: sha.trim(), + sha: stdout.trim(), } } }