UNPKG

@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

87 lines 5.83 kB
"use strict"; 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 UnifiedPath_1 = require("../system/UnifiedPath"); 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(); // eslint-disable-next-line @typescript-eslint/no-unused-vars } 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); // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (error) { return undefined; } } static getRepositoriesRootDir() { const command = 'git rev-parse --show-toplevel'; 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 new UnifiedPath_1.UnifiedPath(result); // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (error) { return null; } } static uncommittedFiles() { const repositoriesRootDir = GitHelper.getRepositoriesRootDir(); if (repositoriesRootDir === null) { return null; } 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') .map((filePath) => repositoriesRootDir.join(filePath)); // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (error) { return null; } } } exports.GitHelper = GitHelper; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2l0SGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hlbHBlci9HaXRIZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsa0VBQTZEO0FBRTdELHVEQUFtRDtBQUluRCxNQUFhLFNBQVM7SUFDckIsTUFBTSxDQUFDLGlCQUFpQjtRQUN2QixNQUFNLE9BQU8sR0FBRyxvQkFBb0IsQ0FBQTtRQUNwQyxNQUFNLE9BQU8sR0FBb0I7WUFDaEMsS0FBSyxFQUFFLE1BQU07U0FDYixDQUFBO1FBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUE7UUFDakMsQ0FBQztRQUNELElBQUksQ0FBQztZQUNKLE9BQU8sdUJBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQztpQkFDNUMsUUFBUSxFQUFFO2lCQUNWLElBQUksRUFBb0IsQ0FBQTtZQUMxQiw2REFBNkQ7UUFDOUQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxTQUFTLENBQUE7UUFDakIsQ0FBQztJQUNGLENBQUM7SUFFRCxNQUFNLENBQUMsc0JBQXNCO1FBQzVCLE1BQU0sT0FBTyxHQUFHLCtCQUErQixDQUFBO1FBQy9DLElBQUksQ0FBQztZQUNKLE1BQU0sT0FBTyxHQUFvQjtnQkFDaEMsS0FBSyxFQUFFLE1BQU07YUFDYixDQUFBO1lBQ0QsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNsQyxPQUFPLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFBO1lBQ2pDLENBQUM7WUFFRCxNQUFNLE1BQU0sR0FBRyx1QkFBWSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDeEUsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDdkIsNkRBQTZEO1FBQzlELENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2hCLE9BQU8sU0FBUyxDQUFBO1FBQ2pCLENBQUM7SUFDRixDQUFDO0lBRUQsTUFBTSxDQUFDLHNCQUFzQjtRQUM1QixNQUFNLE9BQU8sR0FBRywrQkFBK0IsQ0FBQTtRQUMvQyxJQUFJLENBQUM7WUFDSixNQUFNLE9BQU8sR0FBb0I7Z0JBQ2hDLEtBQUssRUFBRSxNQUFNO2FBQ2IsQ0FBQTtZQUNELElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztnQkFDbEMsT0FBTyxDQUFDLEtBQUssR0FBRyxnQkFBZ0IsQ0FBQTtZQUNqQyxDQUFDO1lBRUQsTUFBTSxNQUFNLEdBQUcsdUJBQVksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ3hFLE9BQU8sSUFBSSx5QkFBVyxDQUFDLE1BQU0sQ0FBQyxDQUFBO1lBQzlCLDZEQUE2RDtRQUM5RCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQTtRQUNaLENBQUM7SUFDRixDQUFDO0lBRUQsTUFBTSxDQUFDLGdCQUFnQjtRQUN0QixNQUFNLG1CQUFtQixHQUFHLFNBQVMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFBO1FBQzlELElBQUksbUJBQW1CLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbEMsT0FBTyxJQUFJLENBQUE7UUFDWixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsOEJBQThCLENBQUE7UUFDOUMsSUFBSSxDQUFDO1lBQ0osTUFBTSxPQUFPLEdBQW9CO2dCQUNoQyxLQUFLLEVBQUUsTUFBTTthQUNiLENBQUE7WUFDRCxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUE7WUFDakMsQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLHVCQUFZLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN4RSxPQUFPLE1BQU07aUJBQ1gsS0FBSyxDQUFDLElBQUksQ0FBQztpQkFDWCxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO1lBQ3ZELDZEQUE2RDtRQUM5RCxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQTtRQUNaLENBQUM7SUFDRixDQUFDO0NBQ0Q7QUEvRUQsOEJBK0VDIn0=