UNPKG

1.07 kBJavaScriptView Raw
1'use strict'
2
3const debug = require('debug')('commit-info')
4const {
5 getSubject,
6 getBody,
7 getMessage,
8 getEmail,
9 getAuthor,
10 getSha,
11 getTimestamp,
12 getRemoteOrigin
13} = require('./git-api')
14const { getBranch, getCommitInfoFromEnvironment } = require('./utils')
15const Promise = require('bluebird')
16const { mergeWith, or } = require('ramda')
17
18function commitInfo (folder) {
19 folder = folder || process.cwd()
20 debug('commit-info in folder', folder)
21
22 return Promise.props({
23 branch: getBranch(folder),
24 message: getMessage(folder),
25 email: getEmail(folder),
26 author: getAuthor(folder),
27 sha: getSha(folder),
28 timestamp: getTimestamp(folder),
29 remote: getRemoteOrigin(folder)
30 }).then(info => {
31 const envVariables = getCommitInfoFromEnvironment()
32 debug('git commit: %o', info)
33 debug('env commit: %o', envVariables)
34 return mergeWith(or, envVariables, info)
35 })
36}
37
38module.exports = {
39 commitInfo,
40 getBranch,
41 getMessage,
42 getEmail,
43 getAuthor,
44 getSha,
45 getRemoteOrigin,
46 getSubject,
47 getTimestamp,
48 getBody
49}