UNPKG

git-command-helper

Version:
56 lines (50 loc) 1.5 kB
// git-command-helper 2.1.0 by Dimas Lanjaka <dimaslanjaka@gmail.com> (https://www.webmanajemen.com) 'use strict'; var spawn = require('cross-spawn'); function _interopNamespaceDefault(e) { var n = Object.create(null); if (e) { Object.keys(e).forEach(function (k) { if (k !== 'default') { var d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: function () { return e[k]; } }); } }); } n.default = e; return Object.freeze(n); } var spawn__namespace = /*#__PURE__*/_interopNamespaceDefault(spawn); /** * git status * @param opt * @returns */ function gitStatus(opt) { // set porcelain true if (typeof opt.porcelain !== "boolean") opt.porcelain = true; let result; if (opt.porcelain) { result = spawn__namespace.sync("git", ["status", "--porcelain"], opt); } else { result = spawn__namespace.sync("git", ["status"], opt); } if (!opt.raw) { return String(result.stdout).split(/\r?\n/gm).filter(str => str.length > 0).map(str => { const exec = Array.from(/^([MD\\?]{1,2})\s(.*)/g.exec(str.trim()) || []); // set `??` as untracked if (exec[1] === "??") exec[1] = "U"; // convert as object const obj = { [exec[1]]: exec[2] }; return obj; }); } else { return result; } } exports.gitStatus = gitStatus;