forge-deploy-cli
Version:
Professional CLI for local deployments with automatic subdomain routing, SSL certificates, and infrastructure management
96 lines • 3.98 kB
JavaScript
;
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