#!/usr/bin/env bun import { Command } from 'commander' import packageJson from '../package.json' import { cmdInit, cmdInstall, cmdList, cmdUpdate } from './cmd' async function main() { const program = new Command() program .name('npx -y zzup@latest') .description('Zondax Zuper Updates') .version(packageJson.version) program .command('init') .description('Initialize zzup.yaml configuration') .action(async () => { const result = await cmdInit() process.exit(result) }) program .command('update') .description('Check for updates and update from OCI') .option('--image-name ', 'Name of a specific image to update') .option('--force', 'Force update even if no newer version is available') .option('--check', 'Only check for updates without applying them') .option('--verbose', 'Enable verbose logging showing all available tags') .action(async options => { await cmdUpdate(options) process.exit(0) }) program .command('install') .description('Install OCI images directly without update check') .option('--image-name ', 'Name of a specific image to install') .action(async options => { const result = await cmdInstall(options) process.exit(result) }) program .command('list') .description('List configured images and their versions') .option('--image-name ', 'Name of a specific image to list') .action(async options => { const result = await cmdList(options) process.exit(result) }) await program.parseAsync(process.argv) } ;(async () => await main())()