Files
playbook/ui-ux-pro-max/cli/src/commands/update.ts
T
2026-04-01 05:49:26 +00:00

37 lines
938 B
TypeScript

import chalk from 'chalk';
import ora from 'ora';
import { getLatestRelease } from '../utils/github.js';
import { logger } from '../utils/logger.js';
import { initCommand } from './init.js';
import type { AIType } from '../types/index.js';
interface UpdateOptions {
ai?: AIType;
}
export async function updateCommand(options: UpdateOptions): Promise<void> {
logger.title('UI/UX Pro Max Updater');
const spinner = ora('Checking for updates...').start();
try {
const release = await getLatestRelease();
spinner.succeed(`Latest version: ${chalk.cyan(release.tag_name)}`);
console.log();
logger.info('Running update (same as init with latest version)...');
console.log();
await initCommand({
ai: options.ai,
force: true,
});
} catch (error) {
spinner.fail('Update check failed');
if (error instanceof Error) {
logger.error(error.message);
}
process.exit(1);
}
}