From 499d9015955c0cedd094fbe814dee6235e639627 Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Wed, 3 Oct 2018 14:35:35 +0200 Subject: Fix config endpoint --- server/helpers/utils.ts | 29 ++++++++++++++++++++--------- 1 file changed, 20 insertions(+), 9 deletions(-) (limited to 'server/helpers/utils.ts') 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 @@ import { ResultList } from '../../shared' import { CONFIG } from '../initializers' import { ApplicationModel } from '../models/application/application' -import { pseudoRandomBytesPromise, sha256 } from './core-utils' +import { execPromise, execPromise2, pseudoRandomBytesPromise, sha256 } from './core-utils' import { logger } from './logger' import { join } from 'path' import { Instance as ParseTorrent } from 'parse-torrent' @@ -54,14 +54,25 @@ function getSecureTorrentName (originalName: string) { return sha256(originalName) + '.torrent' } -function getVersion () { - const tag = require('child_process') - .execSync('[[ ! -d .git ]] || git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || true', { stdio: [0,1,2] }) - if (tag) return tag.replace(/^v/, '') - - const version = require('child_process') - .execSync('[[ ! -d .git ]] || git rev-parse --short HEAD').toString().trim() - if (version) return version +async function getVersion () { + try { + const tag = await execPromise2( + '[ ! -d .git ] || git name-rev --name-only --tags --no-undefined HEAD 2>/dev/null || true', + { stdio: [ 0, 1, 2 ] } + ) + + if (tag) return tag.replace(/^v/, '') + } catch (err) { + logger.debug('Cannot get version from git tags.', { err }) + } + + try { + const version = await execPromise('[ ! -d .git ] || git rev-parse --short HEAD') + + if (version) return version.toString().trim() + } catch (err) { + logger.debug('Cannot get version from git HEAD.', { err }) + } return require('../../../package.json').version } -- cgit v1.2.3