gitRevParse.js 985 B

123456789101112131415161718192021222324
  1. "use strict";
  2. var __importDefault = (this && this.__importDefault) || function (mod) {
  3. return (mod && mod.__esModule) ? mod : { "default": mod };
  4. };
  5. Object.defineProperty(exports, "__esModule", { value: true });
  6. const child_process_1 = __importDefault(require("child_process"));
  7. const slash_1 = __importDefault(require("slash"));
  8. function gitRevParse(cwd = process.cwd()) {
  9. // https://github.com/typicode/husky/issues/580
  10. // https://github.com/typicode/husky/issues/587
  11. const { status, stderr, stdout } = child_process_1.default.spawnSync('git', ['rev-parse', '--show-prefix', '--git-common-dir'], { cwd });
  12. if (status !== 0) {
  13. throw new Error(`git rev-parse command failed. Got ${String(stderr)}`);
  14. }
  15. const [prefix, gitCommonDir] = stdout
  16. .toString()
  17. .split('\n')
  18. .map((s) => s.trim())
  19. // Normalize for Windows
  20. .map(slash_1.default);
  21. return { prefix, gitCommonDir };
  22. }
  23. exports.gitRevParse = gitRevParse;