From eb10c3a8dc9f0a27bba8123696c69047b55bd05f Mon Sep 17 00:00:00 2001 From: Aya Morisawa Date: Sat, 31 Dec 2016 03:29:24 +0900 Subject: Extract LastCommitInfo --- src/utils/lastCommitInfo.ts | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/utils/lastCommitInfo.ts (limited to 'src/utils') 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'); + } + } +} -- cgit v1.2.3-freya