UNPKG

superjolt

Version:

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

101 lines 5.11 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); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.EnvListCommand = 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"); const table_utils_1 = require("../utils/table.utils"); const chalk_1 = __importDefault(require("chalk")); let EnvListCommand = class EnvListCommand extends authenticated_command_1.AuthenticatedCommand { apiService; authService; logger; constructor(apiService, authService, logger) { super(); this.apiService = apiService; this.authService = authService; this.logger = logger; } async execute() { try { const config = (0, project_1.readSuperjoltConfig)(); if (!config?.serviceId) { this.logger.error('No service found. Deploy first with: superjolt deploy'); process.exit(1); } this.logger.log(chalk_1.default.dim('Fetching environment variables...\n')); const envVars = await this.apiService.listEnvVars(config.serviceId); const keys = Object.keys(envVars); if (keys.length === 0) { this.logger.log(chalk_1.default.yellow('No environment variables set')); this.logger.log(chalk_1.default.dim('\nSet variables with:')); this.logger.log(chalk_1.default.cyan(' superjolt env:set KEY=VALUE')); return; } this.logger.log(chalk_1.default.cyan('Environment Variables:')); const table = (0, table_utils_1.createKeyValueTable)(); keys.sort().forEach((key) => { const value = envVars[key]; let displayValue = value; if (key.toLowerCase().includes('secret') || key.toLowerCase().includes('password') || key.toLowerCase().includes('token') || key.toLowerCase().includes('key')) { displayValue = chalk_1.default.dim('•'.repeat(8) + value.slice(-4)); } else if (value.match(/^https?:\/\//)) { displayValue = chalk_1.default.blue((0, table_utils_1.truncate)(value, 45)); } else if (value.match(/^\d+$/)) { displayValue = chalk_1.default.yellow(value); } else if (value === 'true' || value === 'false') { displayValue = chalk_1.default.magenta(value); } else { displayValue = (0, table_utils_1.truncate)(value, 45); } table.push([chalk_1.default.bold(key), displayValue]); }); this.logger.log(table.toString()); this.logger.log(chalk_1.default.dim(`\n${keys.length} environment variable${keys.length !== 1 ? 's' : ''} set`)); this.logger.log(chalk_1.default.dim('\nManage variables with:')); this.logger.log(chalk_1.default.dim(' superjolt env:set KEY=VALUE - Set a variable')); this.logger.log(chalk_1.default.dim(' superjolt env:unset KEY - Remove a variable')); this.logger.log(chalk_1.default.dim(' superjolt env:push - Upload from .env file')); } catch (error) { this.logger.error(`\n${error.message}`); process.exit(1); } } }; exports.EnvListCommand = EnvListCommand; exports.EnvListCommand = EnvListCommand = __decorate([ (0, common_1.Injectable)(), (0, nest_commander_1.Command)({ name: 'env:list', aliases: ['env'], description: 'List all environment variables', }), __metadata("design:paramtypes", [api_service_1.ApiService, auth_service_1.AuthService, logger_service_1.LoggerService]) ], EnvListCommand); //# sourceMappingURL=env-list.command.js.map