UNPKG

@iota-big3/sdk-cli

Version:

CLI tools for School OS SDK

60 lines (50 loc) 1.99 kB
#!/usr/bin/env node import { Command } from 'commander'; import chalk from 'chalk'; import { createCommand } from '../src/commands/create'; import { validateCommand } from '../src/commands/validate'; import { migrateCommand } from '../src/commands/migrate'; import { generateCommand } from '../src/commands/generate'; import { watchCommand } from '../src/commands/watch'; // Read version from package.json import { readFileSync } from 'fs'; import { join } from 'path'; const packageJson = JSON.parse( readFileSync(join(__dirname, '..', 'package.json'), 'utf-8') ); const program = new Command(); // ASCII art banner const banner = ` ╔═══════════════════════════════════════════════════╗ ║ ║ ║ 🎓 School OS SDK CLI v${packageJson.version.padEnd(23)}║ ║ Making the right thing the easy thing ║ ║ ║ ╚═══════════════════════════════════════════════════╝ `; // Show banner console.log(chalk.cyan(banner)); program .name('schoolos') .description('Industry-agnostic SDK for building microservices') .version(packageJson.version) .addHelpText('after', ` ${chalk.gray('Examples:')} $ schoolos create my-service --industry education $ schoolos validate ./service.yaml $ schoolos migrate js-to-ts ./src ${chalk.gray('For more information:')} https://docs.schoolos.dev `); // Register commands program.addCommand(createCommand); program.addCommand(validateCommand); program.addCommand(migrateCommand); program.addCommand(generateCommand); program.addCommand(watchCommand); // Parse arguments program.parse(process.argv); // Show help if no command provided if (!process.argv.slice(2).length) { program.outputHelp(); }