@zkochan/pnpm
Version:
A fast implementation of npm install
51 lines (37 loc) • 1.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.commit = undefined;
var _os = require('os');
var _os2 = _interopRequireDefault(_os);
var _child_process = require('child_process');
var _dedent = require('dedent');
var _dedent2 = _interopRequireDefault(_dedent);
var _util = require('../common/util');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.commit = commit;
function normalizeCommitMessage(message) {
var signs = _os2.default.platform() === 'win32' ? /(")/g : /(["|`])/g;
return (0, _dedent2.default)(message).replace(signs, '\\$1').split(/\r?\n/).map(function (line) {
return '-m "' + line + '"';
}).join(' ');
}
/**
* Asynchronously git commit at a given path with a message
*/
function commit(sh, repoPath, message, options, done) {
var args = options.args || '';
var commitMessage = normalizeCommitMessage(message);
(0, _child_process.exec)('git commit ' + commitMessage + ' ' + args, {
maxBuffer: Infinity,
cwd: repoPath,
stdio: options.quiet ? 'ignore' : 'inherit'
}, function (error, stdout, stderror) {
if (error) {
error.message = [error.message, stderror].filter(Boolean).join('\n');
return done(error);
}
done();
});
}