UNPKG

budgie-cli

Version:
35 lines (27 loc) 1.39 kB
import chalk from "chalk"; import * as fs from "mz/fs"; import * as path from "path"; import { ILogger } from "../logger"; interface IPackageInfo { version: string; } const getPackageVersion = async (filePath: string): Promise<string> => { const rawText = (await fs.readFile(filePath)).toString(); const packageInfo: IPackageInfo = JSON.parse(rawText); return packageInfo.version; }; const logVersion = (logger: ILogger, alias: string, version: string): void => { logger.log(`${chalk.bold(alias)} version: ${chalk.bold.green(version)}`); }; export const printCliVersions = async (logger: ILogger): Promise<void> => { const [budgieVersion, cliVersion, tsBudgieVersion, tsVersion] = await Promise.all([ getPackageVersion(path.join(__dirname, "../../package.json")), getPackageVersion(require.resolve("budgie").replace(path.normalize("lib/index.js"), "package.json")), getPackageVersion(require.resolve("ts-budgie").replace(path.normalize("src/index.js"), "package.json")), getPackageVersion(require.resolve("typescript").replace(path.normalize("lib/typescript.js"), "package.json")), ]); logVersion(logger, "budgie-cli", cliVersion); logVersion(logger, "budgie", budgieVersion); logVersion(logger, "ts-budgie", tsBudgieVersion); logVersion(logger, "typescript", tsVersion); };