UNPKG

forge-deploy-cli

Version:

Professional CLI for local deployments with automatic subdomain routing, SSL certificates, and infrastructure management

96 lines 3.98 kB
#!/usr/bin/env node "use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const chalk_1 = __importDefault(require("chalk")); const init_1 = require("./commands/init"); const login_1 = require("./commands/login"); const signup_1 = require("./commands/signup"); const deploy_1 = require("./commands/deploy"); const status_1 = require("./commands/status"); const info_1 = require("./commands/info"); const logs_1 = require("./commands/logs"); const config_1 = require("./commands/config"); const setup_1 = require("./commands/setup"); const service_1 = require("./commands/service"); const stop_1 = require("./commands/stop"); const pause_1 = require("./commands/pause"); const resume_1 = require("./commands/resume"); const infra_1 = require("./commands/infra"); const workspace_1 = require("./commands/workspace"); const server_1 = require("./commands/server"); const autoRestart_1 = require("./services/autoRestart"); const version_1 = require("./utils/version"); const program = new commander_1.Command(); program .name('forge') .description('Command-line interface for the Forge deployment platform') .version('1.0.0') .option('--service', 'Run as background service (internal use)') .hook('preAction', async () => { await (0, version_1.checkVersion)(); }); // Handle service daemon mode if (process.argv.includes('--service')) { autoRestart_1.AutoRestartService.startServiceDaemon().catch(error => { console.error(chalk_1.default.red(`Service daemon failed: ${error}`)); process.exit(1); }); } else { // Add commands as sub-commands // Commands that export Command objects program.addCommand(deploy_1.deployCommand); program.addCommand(logs_1.logsCommand); program.addCommand(config_1.configCommand); program.addCommand(setup_1.setupCommand); program.addCommand(service_1.serviceCommand); program.addCommand(stop_1.stopCommand); program.addCommand(pause_1.pauseCommand); program.addCommand(resume_1.resumeCommand); program.addCommand(infra_1.infraCommand); program.addCommand(workspace_1.workspaceCommand); program.addCommand(server_1.serverCommand); // Commands that export functions need to be wrapped program .command('init') .description('Initialize a new Forge project') .option('-t, --template <template>', 'Project template') .option('-y, --yes', 'Skip interactive prompts') .action(init_1.initCommand); program .command('login') .description('Authenticate with Forge') .option('-a, --api-url <url>', 'API URL') .action(login_1.loginCommand); program .command('signup') .description('Create a new Forge account') .option('-e, --email <email>', 'Email address') .option('-u, --username <username>', 'Username (optional)') .option('-a, --api-url <url>', 'API URL') .action(signup_1.signupCommand); program .command('status') .description('Check deployment status') .option('-d, --deployment-id <id>', 'Specific deployment ID') .action(status_1.statusCommand); program .command('info') .description('Get detailed deployment information') .option('-d, --deployment-id <id>', 'Specific deployment ID') .option('-l, --local', 'Show local deployment info') .option('-j, --json', 'Output in JSON format') .action(info_1.infoCommand); program.parse(); if (!process.argv.slice(2).length) { console.log(chalk_1.default.blue('Forge CLI v1.0.0')); console.log(chalk_1.default.gray('Command-line interface for the Forge deployment platform')); console.log(); program.help(); } } //# sourceMappingURL=index.js.map