UNPKG

forge-deploy-cli

Version:

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

62 lines 3.01 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.resumeCommand = void 0; const chalk_1 = __importDefault(require("chalk")); const commander_1 = require("commander"); const localDeployment_1 = require("../services/localDeployment"); const config_1 = require("../services/config"); const child_process_1 = require("child_process"); exports.resumeCommand = new commander_1.Command('resume') .description('Resume a paused local deployment') .argument('[deployment-id]', 'Deployment ID to resume (optional, defaults to current project)') .action(async (deploymentId) => { try { const configService = new config_1.ConfigService(); // If no deployment ID provided, try to get from current project if (!deploymentId) { const config = await configService.getConfig(); deploymentId = config.deploymentId; if (!deploymentId) { console.log(chalk_1.default.red('No deployment ID specified and no current project deployment found')); console.log(chalk_1.default.gray('Usage: forge resume <deployment-id>')); process.exit(1); } } console.log(chalk_1.default.blue(`Resuming deployment: ${deploymentId}`)); const deployment = await localDeployment_1.LocalDeploymentManager.getDeployment(deploymentId); if (!deployment) { console.log(chalk_1.default.red('Local deployment not found')); console.log(chalk_1.default.gray('Use "forge status" to see available deployments')); process.exit(1); } if (deployment.status === 'running') { console.log(chalk_1.default.yellow('Deployment is already running')); return; } if (deployment.status === 'stopped') { console.log(chalk_1.default.yellow('Deployment is stopped. Use "forge deploy" to restart it completely.')); return; } // Resume PM2 process const appName = `forge-${deploymentId}`; try { (0, child_process_1.execSync)(`pm2 start ${appName}`, { stdio: 'pipe' }); deployment.status = 'running'; await localDeployment_1.LocalDeploymentManager.saveDeployment(deployment); console.log(chalk_1.default.green('Deployment resumed successfully')); console.log(chalk_1.default.gray(`Access your app at: http://localhost:${deployment.port}`)); } catch (error) { console.log(chalk_1.default.red(`Failed to resume deployment: ${error}`)); console.log(chalk_1.default.gray('You may need to redeploy the application')); } } catch (error) { console.log(chalk_1.default.red(`Failed to resume deployment: ${error}`)); process.exit(1); } }); //# sourceMappingURL=resume.js.map