Comparing version 2.4.11 to 2.4.12
@@ -1,1 +0,1 @@ | ||
{"name":"ggit","description":"Local promise-returning git command wrappers","version":"2.4.11","author":"Gleb Bahmutov <gleb.bahmutov@gmail.com>","bin":{"ggit":"./bin/ggit.js"},"bugs":{"url":"https://github.com/bahmutov/ggit/issues"},"config":{"pre-git":{"commit-msg":"simple-commit-message","pre-commit":["npm run lint","npm test"],"pre-push":["npm run stop-only","npm run file-status","npm run size"],"post-commit":[],"post-merge":[]},"next-update":{"skip":["grunt","grunt-cli"]}},"contributors":[],"dependencies":{"always-error":"1.0.0","bluebird":"3.5.1","chdir-promise":"0.6.2","check-more-types":"2.24.0","cli-table":"0.3.1","colors":"1.3.2","commander":"2.17.1","d3-helpers":"0.3.0","debug":"3.2.6","find-up":"3.0.0","glob":"7.1.3","lazy-ass":"1.6.0","lodash":"4.17.11","moment":"2.23.0","moment-timezone":"0.5.23","optimist":"0.6.1","pluralize":"7.0.0","q":"2.0.3","quote":"0.4.0","ramda":"0.26.1","semver":"5.6.0"},"devDependencies":{"common-tags":"1.8.0","describe-it":"1.7.0","git-issues":"1.3.1","grunt":"0.4.5","grunt-bump":"0.8.0","grunt-cli":"0.1.13","grunt-deps-ok":"0.9.0","grunt-filenames":"0.4.0","grunt-jsonlint":"1.1.0","grunt-nice-package":"0.10.4","grunt-readme":"0.4.5","if-node-version":"1.1.1","jshint-stylish":"2.2.1","jshint-summary":"0.4.0","matchdep":"2.0.0","mocha":"5.2.0","mocked-env":"1.2.4","pre-git":"3.17.1","prettier-standard":"8.0.1","rocha":"2.5.10","schema-shot":"1.9.0","semantic-release":"8.2.3","simple-commit-message":"4.0.3","sinon":"6.3.5","snap-shot-it":"6.2.8","standard":"11.0.1","stop-only":"2.2.1","stub-spawn-once":"2.3.0","time-grunt":"1.4.0"},"engines":{"node":">= 4.0.0"},"files":["bin","index.js","src/**/*.js","!src/**/*-spec.js","!src/test"],"homepage":"https://github.com/bahmutov/ggit","keywords":["git","javascript","js","nodejs","repo","wrapper"],"license":"MIT","main":"./index.js","preferGlobal":true,"release":{"analyzeCommits":{"preset":"angular","releaseRules":[{"type":"break","release":"major"}]}},"repository":{"type":"git","url":"https://github.com/bahmutov/ggit.git"},"scripts":{"build":"grunt && npm test","commit":"git-issues && commit-wizard","file-status":"node src/file-status.js","grunt":"grunt","issues":"git-issues","lint":"standard --verbose --fix '*.js' 'src/*.js' 'spec/*.js'","mocha":"npm run mocha:spec && npm run mocha:src","mocha:spec":"mocha spec/*-spec.js","mocha:src":"mocha src/**/*-spec.js","posttest":"npm run warn-only","prelint":"npm run pretty","pretest":"npm run lint","pretty":"prettier-standard '*.js' 'src/*.js' 'spec/*.js'","rocha":"node --harmony node_modules/.bin/rocha spec/*-spec.js","semantic-release":"semantic-release pre && npm publish && semantic-release post","size":"t=\"$(npm pack .)\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";","stop-only":"stop-only -f src","test":"npm run grunt && npm run mocha","warn-only":"stop-only -f src --warn"}} | ||
{"name":"ggit","description":"Local promise-returning git command wrappers","version":"2.4.12","author":"Gleb Bahmutov <gleb.bahmutov@gmail.com>","bin":{"ggit":"./bin/ggit.js"},"bugs":{"url":"https://github.com/bahmutov/ggit/issues"},"config":{"pre-git":{"commit-msg":"simple-commit-message","pre-commit":["npm run lint","npm test"],"pre-push":["npm run stop-only","npm run file-status","npm run size"],"post-commit":[],"post-merge":[]},"next-update":{"skip":["grunt","grunt-cli"]}},"contributors":[],"dependencies":{"always-error":"1.0.0","bluebird":"3.5.1","chdir-promise":"0.6.2","check-more-types":"2.24.0","cli-table":"0.3.1","colors":"1.3.2","commander":"2.17.1","d3-helpers":"0.3.0","debug":"3.2.6","find-up":"3.0.0","glob":"7.1.3","lazy-ass":"1.6.0","lodash":"4.17.15","moment":"2.23.0","moment-timezone":"0.5.23","optimist":"0.6.1","pluralize":"7.0.0","q":"2.0.3","quote":"0.4.0","ramda":"0.26.1","semver":"5.6.0"},"devDependencies":{"common-tags":"1.8.0","describe-it":"1.7.0","git-issues":"1.3.1","grunt":"0.4.5","grunt-bump":"0.8.0","grunt-cli":"0.1.13","grunt-deps-ok":"0.9.0","grunt-filenames":"0.4.0","grunt-jsonlint":"1.1.0","grunt-nice-package":"0.10.4","grunt-readme":"0.4.5","if-node-version":"1.1.1","jshint-stylish":"2.2.1","jshint-summary":"0.4.0","matchdep":"2.0.0","mocha":"5.2.0","mocked-env":"1.2.4","pre-git":"3.17.1","prettier-standard":"8.0.1","rocha":"2.5.10","schema-shot":"1.9.0","semantic-release":"8.2.3","simple-commit-message":"4.0.3","sinon":"6.3.5","snap-shot-it":"7.8.0","standard":"11.0.1","stop-only":"2.2.1","stub-spawn-once":"2.3.0","time-grunt":"1.4.0"},"engines":{"node":">= 4.0.0"},"files":["bin","index.js","src/**/*.js","!src/**/*-spec.js","!src/test"],"homepage":"https://github.com/bahmutov/ggit","keywords":["git","javascript","js","nodejs","repo","wrapper"],"license":"MIT","main":"./index.js","preferGlobal":true,"release":{"analyzeCommits":{"preset":"angular","releaseRules":[{"type":"break","release":"major"}]}},"repository":{"type":"git","url":"https://github.com/bahmutov/ggit.git"},"scripts":{"build":"grunt && npm test","commit":"git-issues && commit-wizard","file-status":"node src/file-status.js","grunt":"grunt","issues":"git-issues","lint":"standard --verbose --fix '*.js' 'src/*.js' 'spec/*.js'","mocha":"npm run mocha:spec && npm run mocha:src","mocha:spec":"mocha --timeout 10000 spec/*-spec.js","mocha:src":"mocha --timeout 10000 src/**/*-spec.js","posttest":"npm run warn-only","prelint":"npm run pretty","pretest":"npm run lint","pretty":"prettier-standard '*.js' 'src/*.js' 'spec/*.js'","rocha":"node --harmony node_modules/.bin/rocha spec/*-spec.js","semantic-release":"semantic-release pre && npm publish && semantic-release post","size":"t=\"$(npm pack .)\"; wc -c \"${t}\"; tar tvf \"${t}\"; rm \"${t}\";","stop-only":"stop-only -f src","test":"npm run grunt && npm run mocha","warn-only":"stop-only -f src --warn"}} |
@@ -155,3 +155,3 @@ var la = require('lazy-ass') | ||
fullFilename | ||
return exec(cmd).then(toBlameInfo) | ||
return exec.exec(cmd).then(toBlameInfo) | ||
} | ||
@@ -178,5 +178,5 @@ | ||
var cmd = 'git blame --porcelain --line-porcelain ' + fullFilename | ||
return exec(cmd).then(toBlameInfoFile) | ||
return exec.exec(cmd).then(toBlameInfoFile) | ||
} | ||
module.exports = blame |
@@ -10,3 +10,3 @@ var la = require('lazy-ass') | ||
var cmd = 'git rev-parse --abbrev-ref HEAD' | ||
return exec(cmd).then(function cleanOutput (str) { | ||
return exec.exec(cmd).then(function cleanOutput (str) { | ||
la(check.unemptyString(str), 'expected branch name string', str) | ||
@@ -13,0 +13,0 @@ return str.trim() |
@@ -113,3 +113,3 @@ var la = require('lazy-ass') | ||
return Q.all([exec(cmd), exec(secondCommand)]) | ||
return Q.all([exec.exec(cmd), exec.exec(secondCommand)]) | ||
.spread(function (firstOutput, secondOutput) { | ||
@@ -116,0 +116,0 @@ log('first output') |
@@ -13,5 +13,5 @@ var exec = require('./exec') | ||
var cmd = 'git clone --depth 1 ' + opts.url + ' ' + opts.folder | ||
return exec(cmd) | ||
return exec.exec(cmd) | ||
} | ||
module.exports = cloneRepo |
@@ -60,3 +60,3 @@ var Q = require('q') | ||
const cmd = 'git show --format="%ae%n%s%n%b" --no-patch ' + sha | ||
return exec(cmd).then(parseCommitMessage) | ||
return exec.exec(cmd).then(parseCommitMessage) | ||
} | ||
@@ -63,0 +63,0 @@ |
var la = require('lazy-ass') | ||
var check = require('check-more-types') | ||
var exec = require('./exec') | ||
var { parseNumstat } = require('./commit-numstat-utils') | ||
// parses date, author, message | ||
function commitMeta (lines) { | ||
la(lines.length > 3, 'expected more lines', lines) | ||
var commit = lines[0].split(' ')[1].trim() | ||
var author = lines[1].split(':')[1].trim() | ||
// remove Date: | ||
var date = lines[2].substr(5).trim() | ||
var message = lines[4].trim() | ||
return { | ||
commit: commit, | ||
author: author, | ||
date: date, | ||
message: message | ||
} | ||
} | ||
/* | ||
parses git show --numstat output, which is something like this | ||
$ git show --numstat 46350c2 | ||
commit 46350c2c9980551d338ce1ad0d8eff7bea9713ec | ||
Author: Gleb Bahmutov <gleb.bahmutov@gmail.com> | ||
Date: Mon Jan 13 19:04:06 2014 -0500 | ||
better gruntfile | ||
1 1 .jshintrc | ||
54 25 Gruntfile.js | ||
9 0 complexity.json | ||
2 1 package.json | ||
*/ | ||
function isValidLine (line) { | ||
var rex = /^\s*\d+\s+\d+[\w\W]+$/ | ||
return line && rex.test(line) | ||
} | ||
la(isValidLine('1 1 time-method-call.js')) | ||
la(isValidLine(' 1 0 README.md')) | ||
function parseNumstat (stdout) { | ||
la(check.unemptyString(stdout), 'missing numstat output', stdout) | ||
var lines = stdout.split('\n') | ||
la(lines.length > 3, 'expected more lines', stdout) | ||
var info = commitMeta(lines) | ||
var k = 6 | ||
var fileChanges = {} | ||
for (; k < lines.length; k += 1) { | ||
if (isValidLine(lines[k])) { | ||
var parts = lines[k].split('\t') | ||
var added = Number(parts[0].trim()) | ||
var deleted = Number(parts[1].trim()) | ||
var filename = parts[2].trim() | ||
fileChanges[filename] = { | ||
filename: filename, | ||
added: added, | ||
deleted: deleted | ||
} | ||
} | ||
} | ||
info.changes = fileChanges | ||
return info | ||
} | ||
function commitNumstat (hash) { | ||
@@ -76,5 +10,5 @@ la(check.unemptyString(hash), 'missing commit hash', hash) | ||
var cmd = 'git show --numstat ' + hash | ||
return exec(cmd).then(parseNumstat) | ||
return exec.exec(cmd).then(parseNumstat) | ||
} | ||
module.exports = commitNumstat |
@@ -20,5 +20,5 @@ var la = require('lazy-ass') | ||
var cmd = 'git commit -am ' + quote(text) | ||
return exec(cmd) | ||
return exec.exec(cmd) | ||
} | ||
module.exports = commit |
@@ -31,2 +31,2 @@ var Q = require('q') | ||
module.exports = execPromise | ||
module.exports = { exec: execPromise } |
@@ -10,5 +10,5 @@ 'use strict' | ||
var cmd = 'git pull origin ' + branch + ' --tags' | ||
return exec(cmd) | ||
return exec.exec(cmd) | ||
} | ||
module.exports = fetchTags |
@@ -16,3 +16,3 @@ var exec = require('./exec') | ||
return exec(cmd).then(function (data) { | ||
return exec.exec(cmd).then(function (data) { | ||
return data.trim() | ||
@@ -19,0 +19,0 @@ }) |
@@ -8,3 +8,4 @@ var exec = require('./exec') | ||
function fileStatus () { | ||
return exec(cmd) | ||
return exec | ||
.exec(cmd) | ||
.then(R.tap(log)) | ||
@@ -11,0 +12,0 @@ .then(stdoutToGroup) |
@@ -30,3 +30,3 @@ var la = require('lazy-ass') | ||
return exec(cmd).then(logParser) | ||
return exec.exec(cmd).then(logParser) | ||
} | ||
@@ -33,0 +33,0 @@ |
@@ -71,3 +71,4 @@ 'use strict' | ||
const verbose = /ggit/.test(process.env.DEBUG) | ||
return exec(cmd, verbose) | ||
return exec | ||
.exec(cmd, verbose) | ||
.then(checkFolder, tryDotGit) | ||
@@ -74,0 +75,0 @@ .catch(searchUpForGitFolder) |
@@ -11,5 +11,5 @@ var exec = require('./exec') | ||
// thus we reverse the true / false order | ||
return exec(cmd).then(d3h.no, d3h.yes) | ||
return exec.exec(cmd).then(d3h.no, d3h.yes) | ||
} | ||
module.exports = hasChanges |
@@ -11,3 +11,3 @@ var la = require('lazy-ass') | ||
var cmd = 'git ls-files --error-unmatch ' + fullPath | ||
return exec(cmd).then(d3h.yes, d3h.no) | ||
return exec.exec(cmd).then(d3h.yes, d3h.no) | ||
} | ||
@@ -14,0 +14,0 @@ |
@@ -38,3 +38,3 @@ 'use strict' | ||
var cmd = 'git log --format="%H" -n 1' | ||
return exec(cmd) | ||
return exec.exec(cmd) | ||
} | ||
@@ -41,0 +41,0 @@ |
@@ -5,5 +5,5 @@ var exec = require('./exec') | ||
var cmd = 'git push origin master --tags' | ||
return exec(cmd, Boolean(verbose)) | ||
return exec.exec(cmd, Boolean(verbose)) | ||
} | ||
module.exports = push |
var exec = require('./exec') | ||
function getGitRootFolder (cb) { | ||
return exec('git rev-parse --show-toplevel').then( | ||
return exec.exec('git rev-parse --show-toplevel').then( | ||
function (path) { | ||
@@ -6,0 +6,0 @@ path = path.trim() |
@@ -34,3 +34,3 @@ 'use strict' | ||
return exec(cmd).then(function (commit) { | ||
return exec.exec(cmd).then(function (commit) { | ||
return { | ||
@@ -63,3 +63,4 @@ commit: commit.trim(), | ||
var parseSomeTags = parseTags.bind(null, vTagsOnly) | ||
return exec(cmd) | ||
return exec | ||
.exec(cmd) | ||
.then(parseSomeTags) | ||
@@ -72,3 +73,4 @@ .then(getCommitIds) | ||
// return single string so other pieces work as expected | ||
return exec(cmd) | ||
return exec | ||
.exec(cmd) | ||
.then(sortTagsByVersion) | ||
@@ -83,3 +85,4 @@ .then(tags => tags.join('\n')) | ||
var parseSomeTags = parseTags.bind(null, vTagsOnly) | ||
return exec(cmd) | ||
return exec | ||
.exec(cmd) | ||
.catch(getTagsSortByVersion) | ||
@@ -86,0 +89,0 @@ .then(parseSomeTags) |
@@ -14,3 +14,3 @@ 'use strict' | ||
var cmd = 'git ls-files --others --exclude-standard' | ||
return exec(cmd).then(cleanList) | ||
return exec.exec(cmd).then(cleanList) | ||
} | ||
@@ -17,0 +17,0 @@ |
@@ -87,3 +87,3 @@ 'use strict' | ||
var cmd = 'git log --format="%H" -n 1' | ||
return exec(cmd) | ||
return exec.exec(cmd) | ||
} | ||
@@ -108,5 +108,9 @@ | ||
function getMessage (id) { | ||
return options.message | ||
? numstat(id).then(R.prop('message')) | ||
: Promise.resolve() | ||
if (!options.message) { | ||
debug('no need to get commit message for %s', id) | ||
return Promise.resolve() | ||
} | ||
debug('getMessage for commit %s', id) | ||
return numstat(id).then(R.prop('message')) | ||
} | ||
@@ -113,0 +117,0 @@ |
64344
36
1635
+ Addedlodash@4.17.15(transitive)
- Removedlodash@4.17.11(transitive)
Updatedlodash@4.17.15