Sharkey/src/utils/lastCommitInfo.ts
Aya Morisawa e52885bfe4
2017-01-03 06:03:19 +09:00

21 lines
875 B
TypeScript

import Logger from './logger';
import * as chalk from 'chalk';
import prominence = require('prominence');
import git = require('git-last-commit');
export default class {
static async show(): Promise<void> {
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');
}
}
}