UNPKG

simple-git

Version:

Simple GIT interface for node.js

60 lines 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const utils_1 = require("../utils"); var CheckRepoActions; (function (CheckRepoActions) { CheckRepoActions["BARE"] = "bare"; CheckRepoActions["IN_TREE"] = "tree"; CheckRepoActions["IS_REPO_ROOT"] = "root"; })(CheckRepoActions = exports.CheckRepoActions || (exports.CheckRepoActions = {})); const onError = (exitCode, stdErr, done, fail) => { if (exitCode === utils_1.ExitCodes.UNCLEAN && isNotRepoMessage(stdErr)) { return done('false'); } fail(stdErr); }; const parser = (text) => { return text.trim() === 'true'; }; function checkIsRepoTask(action) { switch (action) { case CheckRepoActions.BARE: return checkIsBareRepoTask(); case CheckRepoActions.IS_REPO_ROOT: return checkIsRepoRootTask(); } const commands = ['rev-parse', '--is-inside-work-tree']; return { commands, format: 'utf-8', onError, parser, }; } exports.checkIsRepoTask = checkIsRepoTask; function checkIsRepoRootTask() { const commands = ['rev-parse', '--git-dir']; return { commands, format: 'utf-8', onError, parser(path) { return /^\.(git)?$/.test(path.trim()); }, }; } exports.checkIsRepoRootTask = checkIsRepoRootTask; function checkIsBareRepoTask() { const commands = ['rev-parse', '--is-bare-repository']; return { commands, format: 'utf-8', onError, parser, }; } exports.checkIsBareRepoTask = checkIsBareRepoTask; function isNotRepoMessage(message) { return /(Not a git repository|Kein Git-Repository)/i.test(message); } //# sourceMappingURL=check-is-repo.js.map