aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/helpers/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'server/helpers/utils.ts')
-rw-r--r--server/helpers/utils.ts29
1 files changed, 20 insertions, 9 deletions
diff --git a/server/helpers/utils.ts b/server/helpers/utils.ts
index f5bf6de56..6228fec04 100644
--- a/server/helpers/utils.ts
+++ b/server/helpers/utils.ts
@@ -1,7 +1,7 @@
1import { ResultList } from '../../shared' 1import { ResultList } from '../../shared'
2import { CONFIG } from '../initializers' 2import { CONFIG } from '../initializers'
3import { ApplicationModel } from '../models/application/application' 3import { ApplicationModel } from '../models/application/application'
4import { pseudoRandomBytesPromise, sha256 } from './core-utils' 4import { execPromise, execPromise2, pseudoRandomBytesPromise, sha256 } from './core-utils'
5import { logger } from './logger' 5import { logger } from './logger'
6import { join } from 'path' 6import { join } from 'path'
7import { Instance as ParseTorrent } from 'parse-torrent' 7import { Instance as ParseTorrent } from 'parse-torrent'
@@ -54,14 +54,25 @@ function getSecureTorrentName (originalName: string) {
54 return sha256(originalName) + '.torrent' 54 return sha256(originalName) + '.torrent'
55} 55}
56 56
57function getVersion () { 57async function getVersion () {
58 const tag = require('child_process') 58 try {
59 .execSync('[[ ! -d .git ]] || git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || true', { stdio: [0,1,2] }) 59 const tag = await execPromise2(
60 if (tag) return tag.replace(/^v/, '') 60 '[ ! -d .git ] || git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || true',
61 61 { stdio: [ 0, 1, 2 ] }
62 const version = require('child_process') 62 )
63 .execSync('[[ ! -d .git ]] || git rev-parse --short HEAD').toString().trim() 63
64 if (version) return version 64 if (tag) return tag.replace(/^v/, '')
65 } catch (err) {
66 logger.debug('Cannot get version from git tags.', { err })
67 }
68
69 try {
70 const version = await execPromise('[ ! -d .git ] || git rev-parse --short HEAD')
71
72 if (version) return version.toString().trim()
73 } catch (err) {
74 logger.debug('Cannot get version from git HEAD.', { err })
75 }
65 76
66 return require('../../../package.json').version 77 return require('../../../package.json').version
67} 78}