Skip to content

Commit d771b94

Browse files
Display git commit info when available. (#581)
Closes #580.
1 parent 310d95e commit d771b94

File tree

2 files changed

+17
-5
lines changed

2 files changed

+17
-5
lines changed

bin/lib/cli.js

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,27 @@
11
const program = require('commander')
2-
const packageJson = require('../../package.json')
32
const loadInit = require('./init')
43
const loadStart = require('./start')
4+
const { spawnSync } = require('child_process')
55

66
module.exports = function startCli (server) {
7-
program.version(packageJson.version)
7+
program.version(getVersion())
88

99
loadInit(program)
1010
loadStart(program, server)
1111

1212
program.parse(process.argv)
1313
if (program.args.length === 0) program.help()
1414
}
15+
16+
function getVersion () {
17+
try {
18+
// Obtain version from git
19+
const options = { cwd: __dirname, encoding: 'utf8' }
20+
const { stdout } = spawnSync('git', ['describe', '--tags'], options)
21+
return stdout.trim()
22+
} catch (e) {
23+
// Obtain version from package.json
24+
const { version } = require('../package.json')
25+
return version
26+
}
27+
}

bin/lib/start.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
const options = require('./options')
44
const fs = require('fs')
55
const extend = require('extend')
6-
const packageJson = require('../../package.json')
76
const colors = require('colors/safe')
87

98
module.exports = function (program, server) {
@@ -24,7 +23,7 @@ module.exports = function (program, server) {
2423
start.option('-v, --verbose', 'Print the logs to console')
2524

2625
start.action((opts) => {
27-
let argv = extend({}, opts)
26+
let argv = extend({}, opts, { version: program.version() })
2827

2928
fs.readFile(process.cwd() + '/config.json', (err, file) => {
3029
// No file exists, not a problem
@@ -131,7 +130,7 @@ function bin (argv, server) {
131130
return 1
132131
}
133132
app.listen(argv.port, function () {
134-
console.log('Solid server (solid v' + packageJson.version + ') running on \u001b[4mhttps://localhost:' + argv.port + '/\u001b[0m')
133+
console.log(`Solid server (${argv.version}) running on \u001b[4mhttps://localhost:${argv.port}/\u001b[0m`)
135134
console.log('Press <ctrl>+c to stop')
136135
})
137136
}

0 commit comments

Comments
 (0)