configorama 0.4.4 → 0.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -22,7 +22,7 @@ async function _getValueFromGit(variableString) {
22
22
  const variable = variableString.split(`${GIT_PREFIX}:`)[1]
23
23
  let value = null
24
24
  // console.log('variableStringvariableString', variableString)
25
- if (variable.match(/^remote/)) {
25
+ if (variable.match(/^remote/i)) {
26
26
  const hasParams = functionRegex.exec(variableString)
27
27
  const remoteName = (hasParams && hasParams[2]) ? formatFunctionArgs(hasParams[2]) : 'origin'
28
28
  value = await getGitRemote(remoteName)
@@ -30,22 +30,42 @@ async function _getValueFromGit(variableString) {
30
30
  }
31
31
 
32
32
  const verifyMsg = `Verify the cwd has a .git directory\n`
33
+ const normalizedVar = (variable || '').toLowerCase()
33
34
 
34
- switch (variable) {
35
- case 'describe':
36
- try {
37
- value = await _exec('git describe --always')
38
- } catch (err) {
39
- throw new Error(`\${git:describeLight} error. ${verifyMsg}`)
40
- }
41
- break
42
- case 'describeLight':
43
- try {
44
- value = await _exec('git describe --always --tags')
45
- } catch (err) {
46
- throw new Error(`\${git:describeLight} error. ${verifyMsg}`)
47
- }
48
- break
35
+ switch (normalizedVar) {
36
+ // Repo owner/name
37
+ case 'repo':
38
+ case 'repository':
39
+ case 'reposlug':
40
+ case 'repo-slug':
41
+ const urla = await getGitRemote()
42
+ const parseda = GitUrlParse(urla)
43
+ value = parseda.full_name
44
+ break;
45
+ // Repo name
46
+ case 'name':
47
+ case 'reponame': // repoName
48
+ case 'repo-name':
49
+ value = await _exec('basename `git rev-parse --show-toplevel`')
50
+ break;
51
+ // Repo org or owner
52
+ case 'org':
53
+ case 'owner':
54
+ case 'organization':
55
+ case 'repoowner': // repoOwner
56
+ case 'repo-owner':
57
+ const url = await getGitRemote()
58
+ const parsed = GitUrlParse(url)
59
+ value = parsed.organization || parsed.owner
60
+ break;
61
+ // Repo url
62
+ case 'url':
63
+ case 'repourl': // repoUrl
64
+ case 'repo-url':
65
+ value = await getGitRemote()
66
+ break;
67
+ // Current commit sha
68
+ case 'sha':
49
69
  case 'sha1':
50
70
  try {
51
71
  value = await _exec('git rev-parse --short HEAD')
@@ -53,38 +73,70 @@ async function _getValueFromGit(variableString) {
53
73
  throw new Error(`\${git:sha1} error ${verifyMsg}`)
54
74
  }
55
75
  break
76
+ // Current commit full sha
56
77
  case 'commit':
78
+ case 'commitsha':
79
+ case 'commit-sha':
80
+ case 'commithash':
81
+ case 'commit-hash':
57
82
  try {
58
83
  value = await _exec('git rev-parse HEAD')
59
84
  } catch (err) {
60
85
  throw new Error(`\${git:commit} error. ${verifyMsg}`)
61
86
  }
62
87
  break
88
+ // Branches
63
89
  case 'branch':
90
+ case 'branchname':
91
+ case 'branch-name':
92
+ case 'currentbranch': // currentBranch
93
+ case 'current-branch':
64
94
  try {
65
95
  value = await _exec('git rev-parse --abbrev-ref HEAD')
66
96
  } catch (err) {
67
97
  throw new Error(`\${git:branch} error. ${verifyMsg}`)
68
98
  }
69
99
  break
100
+ // Commit msg
101
+ case 'msg':
70
102
  case 'message':
103
+ case 'commitmessage': // commitMessage
104
+ case 'commit-message':
105
+ case 'commitmsg': // commitMsg
106
+ case 'commit-msg':
71
107
  try {
72
108
  value = await _exec('git log -1 --pretty=%B')
73
109
  } catch (err) {
74
110
  throw new Error(`\${git:message} error. ${verifyMsg}`)
75
111
  }
76
- break
112
+ break;
113
+ // Git tags
114
+ case 'tag':
115
+ case 'describe':
116
+ try {
117
+ value = await _exec('git describe --always')
118
+ } catch (err) {
119
+ throw new Error(`\${git:describeLight} error. ${verifyMsg}`)
120
+ }
121
+ break;
122
+ // Git tags
123
+ case 'describeLight':
124
+ case 'describelight':
125
+ case 'describe-light':
126
+ try {
127
+ value = await _exec('git describe --always --tags')
128
+ } catch (err) {
129
+ throw new Error(`\${git:describeLight} error. ${verifyMsg}`)
130
+ }
131
+ break;
132
+ // Is branch dirty
77
133
  case 'isDirty':
134
+ case 'isdirty':
135
+ case 'is-dirty':
78
136
  const writeTree = await _exec('git write-tree')
79
137
  const changes = await _exec(`git diff-index ${writeTree} --`)
80
138
  value = `${changes.length > 0}`
81
139
  break
82
- case 'repository':
83
- value = await _exec('basename `git rev-parse --show-toplevel`')
84
- break
85
- case 'url': case 'repoUrl':
86
- value = await getGitRemote()
87
- break
88
140
  default:
89
141
  throw new Error(`Git variable ${variable} is unknown. Candidates are 'describe', 'describeLight', 'sha1', 'commit', 'branch', 'message', 'repository'`)
90
142
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "configorama",
3
- "version": "0.4.4",
3
+ "version": "0.4.5",
4
4
  "description": "Variable support for configuration files",
5
5
  "main": "lib/index.js",
6
6
  "files": [