@oaklean/profiler-core
Version:
Part of the @oaklean suite. It provides all basic functions to work with the `.oak` file format. It allows parsing the `.oak` file format as well as tools for analyzing the measurement values. It also provides all necessary capabilities required for prec
69 lines • 4.57 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.GitHelper = void 0;
const child_process_1 = __importDefault(require("child_process"));
const config_1 = require("../constants/config");
class GitHelper {
static currentCommitHash() {
const command = 'git rev-parse HEAD';
const options = {
stdio: 'pipe'
};
if (process.platform === 'win32') {
options.shell = 'powershell.exe';
}
try {
return child_process_1.default.execSync(command, options).toString().trim();
}
catch (error) {
return undefined;
}
}
static currentCommitTimestamp() {
const command = 'git show -s --format=%ct HEAD';
try {
const options = {
stdio: 'pipe'
};
if (process.platform === 'win32') {
options.shell = 'powershell.exe';
}
const result = child_process_1.default.execSync(command, options).toString().trim();
return parseInt(result);
}
catch (error) {
return undefined;
}
}
static uncommittedFiles() {
const command = 'git diff HEAD --name-only -z';
try {
const options = {
stdio: 'pipe'
};
if (process.platform === 'win32') {
options.shell = 'powershell.exe';
}
const result = child_process_1.default.execSync(command, options).toString().trim();
return result.split('\0');
}
catch (error) {
return undefined;
}
}
static uncommittedChanges() {
const uncommittedFiles = GitHelper.uncommittedFiles();
if (uncommittedFiles === undefined) {
return uncommittedFiles;
}
if (uncommittedFiles.length === 1 && uncommittedFiles[0] === config_1.STATIC_CONFIG_FILENAME) {
return false;
}
return true;
}
}
exports.GitHelper = GitHelper;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0SGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlci9HaXRIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0VBQTZEO0FBRTdELGdEQUE0RDtBQU01RCxNQUFhLFNBQVM7SUFDckIsTUFBTSxDQUFDLGlCQUFpQjtRQUN2QixNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQTtRQUNwQyxNQUFNLE9BQU8sR0FBb0I7WUFDaEMsS0FBSyxFQUFFLE1BQU07U0FDYixDQUFBO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUE7UUFDakMsQ0FBQztRQUNELElBQUksQ0FBQztZQUNKLE9BQU8sdUJBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBb0IsQ0FBQTtRQUNuRixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLFNBQVMsQ0FBQTtRQUNqQixDQUFDO0lBQ0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0I7UUFDNUIsTUFBTSxPQUFPLEdBQUcsK0JBQStCLENBQUE7UUFDL0MsSUFBSSxDQUFDO1lBQ0osTUFBTSxPQUFPLEdBQW9CO2dCQUNoQyxLQUFLLEVBQUUsTUFBTTthQUNiLENBQUE7WUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUE7WUFDakMsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLHVCQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN4RSxPQUFPLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLFNBQVMsQ0FBQTtRQUNqQixDQUFDO0lBQ0YsQ0FBQztJQUVELE1BQU0sQ0FBQyxnQkFBZ0I7UUFDdEIsTUFBTSxPQUFPLEdBQUcsOEJBQThCLENBQUE7UUFDOUMsSUFBSSxDQUFDO1lBQ0osTUFBTSxPQUFPLEdBQW9CO2dCQUNoQyxLQUFLLEVBQUUsTUFBTTthQUNiLENBQUE7WUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUE7WUFDakMsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLHVCQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN4RSxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDMUIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxTQUFTLENBQUE7UUFDakIsQ0FBQztJQUNGLENBQUM7SUFFRCxNQUFNLENBQUMsa0JBQWtCO1FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixFQUFFLENBQUE7UUFFckQsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxPQUFPLGdCQUFnQixDQUFBO1FBQ3hCLENBQUM7UUFDRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLEtBQUssK0JBQXNCLEVBQUUsQ0FBQztZQUNyRixPQUFPLEtBQUssQ0FBQTtRQUNiLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNaLENBQUM7Q0FDRDtBQTdERCw4QkE2REMifQ==