git-files
Version:
35 lines (29 loc) • 869 B
JavaScript
;
var join = require('path').join;
var relative = require('path').relative;
var execSync = require('child_process').execSync;
function getGitRoot() {
return execSync('git rev-parse --show-toplevel').toString('utf8').trim();
}
var listFull = function listFull(command) {
return execSync(command).toString('utf8').split('\n').filter(function (file) {
return file !== '';
});
};
var listRelative = function listRelative(command) {
var gitRootDir = getGitRoot();
return listFull(command).map(function (file) {
return relative(process.cwd(), join(gitRootDir, file));
});
};
var listAbsolute = function listAbsolute(command) {
var gitRootDir = getGitRoot();
return listFull(command).map(function (file) {
return join(gitRootDir, file);
});
};
module.exports = {
listFull: listFull,
listRelative: listRelative,
listAbsolute: listAbsolute
};