From eb10c3a8dc9f0a27bba8123696c69047b55bd05f Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Sat, 31 Dec 2016 03:29:24 +0900 Subject: [PATCH] Extract LastCommitInfo --- src/index.ts | 17 ++--------------- src/utils/lastCommitInfo.ts | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 15 deletions(-) create mode 100644 src/utils/lastCommitInfo.ts diff --git a/src/index.ts b/src/index.ts index 947408e523..d53e695dcd 100644 --- a/src/index.ts +++ b/src/index.ts @@ -10,14 +10,13 @@ Error.stackTraceLimit = Infinity; import * as fs from 'fs'; import * as os from 'os'; import * as cluster from 'cluster'; -const prominence = require('prominence'); import Logger from './utils/logger'; import * as chalk from 'chalk'; -const git = require('git-last-commit'); const portUsed = require('tcp-port-used'); const isRoot = require('is-root'); import ProgressBar from './utils/cli/progressbar'; import initdb from './db/mongodb'; +import LastCommitInfo from './utils/lastCommitInfo'; import MachineInfo from './utils/machineInfo'; import DependencyInfo from './utils/dependencyInfo'; @@ -138,19 +137,7 @@ async function init(): Promise { Logger.info(chalk.bold('Misskey Core ')); Logger.info('Initializing...'); - // Get commit info - let lastCommitLogger = new Logger('LastCommit'); - try { - const commit = await prominence(git).getLastCommit(); - const shortHash: string = commit.shortHash; - const hash: string = commit.hash; - const commitDate = new Date(parseInt(commit.committedOn, 10) * 1000).toLocaleDateString('ja-JP'); - const commitTime = new Date(parseInt(commit.committedOn, 10) * 1000).toLocaleTimeString('ja-JP'); - lastCommitLogger.info(`${shortHash}${chalk.gray(hash.substr(shortHash.length))}`); - lastCommitLogger.info(`${commit.subject} ${chalk.green(`(${commitDate} ${commitTime})`)} ${chalk.blue(`<${commit.author.name}>`)}`); - } catch (e) { - lastCommitLogger.info('No commit information found'); - } + await LastCommitInfo.show(); let envLogger = new Logger('Env'); envLogger.info(typeof env == 'undefined' ? 'NODE_ENV is not set' : `NODE_ENV: ${env}`); diff --git a/src/utils/lastCommitInfo.ts b/src/utils/lastCommitInfo.ts new file mode 100644 index 0000000000..0cdd177595 --- /dev/null +++ b/src/utils/lastCommitInfo.ts @@ -0,0 +1,21 @@ +import Logger from './logger'; +import * as chalk from 'chalk'; +const prominence = require('prominence'); +const git = require('git-last-commit'); + +export default class LastCommitInfo { + static async show(): Promise { + let logger = new Logger('LastCommit'); + try { + const commit = await prominence(git).getLastCommit(); + const shortHash: string = commit.shortHash; + const hash: string = commit.hash; + const commitDate = new Date(parseInt(commit.committedOn, 10) * 1000).toLocaleDateString('ja-JP'); + const commitTime = new Date(parseInt(commit.committedOn, 10) * 1000).toLocaleTimeString('ja-JP'); + logger.info(`${shortHash}${chalk.gray(hash.substr(shortHash.length))}`); + logger.info(`${commit.subject} ${chalk.green(`(${commitDate} ${commitTime})`)} ${chalk.blue(`<${commit.author.name}>`)}`); + } catch (e) { + logger.info('No commit information found'); + } + } +}