@nodecg/types
Version:
Dynamic broadcast graphics rendered in a browser
36 lines (30 loc) • 854 B
text/typescript
import * as git from "git-rev-sync";
import type { NodeCG } from "../../types/nodecg";
export function parseGit(bundleDir: string): NodeCG.Bundle.GitData {
const workingDir = process.cwd();
let retValue: NodeCG.Bundle.GitData;
try {
// These will error if bundleDir is not a git repo
const branch = git.branch(bundleDir);
const hash = git.long(bundleDir);
const shortHash = git.short(bundleDir);
try {
// Needed for the below commands to work.
process.chdir(bundleDir);
// These will error if bundleDir is not a git repo and if `git` is not in $PATH.
const date = git.date().toISOString();
const message = git.message();
retValue = { branch, hash, shortHash, date, message };
} catch {
retValue = {
branch,
hash,
shortHash,
};
}
} catch {
//
}
process.chdir(workingDir);
return retValue;
}