UNPKG

git-jiggy

Version:

A fresh collection of node git utilities.

36 lines (24 loc) 1.05 kB
const is = require('@sindresorhus/is'); const execa = require('execa'); module.exports.add = (files) => { const args = is.string(files) ? [files] : files; return execa('git', ['add', ...args]); }; module.exports.amendCommit = () => execa('git', ['commit', '--amend', '--no-edit']); module.exports.getCurrentBranchName = () => execa.stdout('git', ['rev-parse', '--abbrev-ref', 'HEAD']); module.exports.getFilesInLastCommit = async () => { const files = await execa.stdout('git', ['diff-tree', '--no-commit-id', '--name-only', '-r', 'HEAD']); return files.split('\n'); }; module.exports.getLastModifiedDate = async (file) => { const authorDateFormat = '%ad'; const date = await execa.stdout('git', ['log', '--max-count=1', `--format="${authorDateFormat}"`, '--', file]); return new Date(date).toISOString(); }; module.exports.getStagedFiles = async () => { const files = await execa.stdout('git', ['diff', '--name-only', '--cached']); if (files) { return files.split('\n'); } return []; };