UNPKG

superjolt

Version:

AI-powered deployment platform with MCP support - Deploy JavaScript apps using natural language with Claude Desktop

76 lines 3.75 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EnvSetCommand = void 0; const nest_commander_1 = require("nest-commander"); const common_1 = require("@nestjs/common"); const api_service_1 = require("../services/api.service"); const auth_service_1 = require("../services/auth.service"); const logger_service_1 = require("../services/logger.service"); const authenticated_command_1 = require("./authenticated.command"); const project_1 = require("../utils/project"); let EnvSetCommand = class EnvSetCommand extends authenticated_command_1.AuthenticatedCommand { apiService; authService; logger; constructor(apiService, authService, logger) { super(); this.apiService = apiService; this.authService = authService; this.logger = logger; } async execute(passedParams) { try { if (passedParams.length === 0) { this.logger.error('Error: At least one KEY=VALUE pair is required'); this.logger.log('Usage: superjolt env:set KEY=VALUE [KEY2=VALUE2 ...]'); this.logger.log('Example: superjolt env:set DATABASE_URL=postgres://localhost API_KEY=secret'); process.exit(1); } const config = (0, project_1.readSuperjoltConfig)(); if (!config?.serviceId) { this.logger.error('No service found. Deploy first with: superjolt deploy'); process.exit(1); } const envVars = {}; for (const param of passedParams) { const match = param.match(/^([A-Za-z_][A-Za-z0-9_]*)=(.*)$/); if (!match) { this.logger.error(`Error: Invalid format '${param}'. Expected: KEY=VALUE`); this.logger.log('Keys must start with a letter or underscore and contain only letters, numbers, and underscores'); process.exit(1); } envVars[match[1]] = match[2]; } this.logger.log(`Setting ${Object.keys(envVars).length} environment variable(s)...`); const response = await this.apiService.setEnvVars(config.serviceId, envVars); this.logger.log(`✅ ${response.message}`); this.logger.log('\n⚠️ Note: Run "superjolt deploy" for changes to take effect'); } catch (error) { this.logger.error(`\n${error.message}`); process.exit(1); } } }; exports.EnvSetCommand = EnvSetCommand; exports.EnvSetCommand = EnvSetCommand = __decorate([ (0, common_1.Injectable)(), (0, nest_commander_1.Command)({ name: 'env:set', arguments: '[vars...]', description: 'Set environment variables (format: KEY=VALUE)', }), __metadata("design:paramtypes", [api_service_1.ApiService, auth_service_1.AuthService, logger_service_1.LoggerService]) ], EnvSetCommand); //# sourceMappingURL=env-set.command.js.map