import * as chalk from 'chalk'; import {command, help, namespace, param} from 'oo-cli'; import {die} from '../../lib/die'; import {Rivendell} from '../../lib/Rivendell'; import {formatError} from '../../lib/formatError'; import AppReview = Rivendell.AppReview; import open = require('open'); @namespace('review') export class OpenCommand { @param @help('App version of the review to open') private appVersion!: string; @command @help('Open a review in your browser') public async open() { try { const appReview = await Rivendell.getReviewUrl(this.appVersion); const reviewUrl = (appReview as AppReview).url; console.log(chalk.gray(`Review URL: ${chalk.cyan(`${reviewUrl}`)}`)); await open(reviewUrl); console.log(chalk.gray(`Opened review of app ${this.appVersion}`)); } catch (e: any) { die(formatError(e)); } } }