UNPKG

replicas-cli

Version:

CLI for managing Replicas workspaces - SSH into cloud dev environments with automatic port forwarding

84 lines 2.67 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.CONFIG_DIR = void 0; exports.readConfig = readConfig; exports.writeConfig = writeConfig; exports.deleteConfig = deleteConfig; exports.isAuthenticated = isAuthenticated; exports.setOrganizationId = setOrganizationId; exports.getOrganizationId = getOrganizationId; exports.setIdeCommand = setIdeCommand; exports.getIdeCommand = getIdeCommand; const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const os_1 = __importDefault(require("os")); const CONFIG_DIR = path_1.default.join(os_1.default.homedir(), '.replicas'); exports.CONFIG_DIR = CONFIG_DIR; const CONFIG_FILE = path_1.default.join(CONFIG_DIR, 'config.json'); function ensureConfigDir() { if (!fs_1.default.existsSync(CONFIG_DIR)) { fs_1.default.mkdirSync(CONFIG_DIR, { recursive: true, mode: 0o700 }); } } function readConfig() { if (!fs_1.default.existsSync(CONFIG_FILE)) { return null; } try { const data = fs_1.default.readFileSync(CONFIG_FILE, 'utf-8'); return JSON.parse(data); } catch (error) { console.error('Error reading config file:', error); return null; } } function writeConfig(config) { ensureConfigDir(); try { fs_1.default.writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), { mode: 0o600, // Only owner can read/write }); } catch (error) { console.error('Error writing config file:', error); throw error; } } function deleteConfig() { if (fs_1.default.existsSync(CONFIG_FILE)) { fs_1.default.unlinkSync(CONFIG_FILE); } } function isAuthenticated() { const config = readConfig(); return config !== null && !!config.access_token; } function setOrganizationId(organizationId) { const config = readConfig(); if (!config) { throw new Error('No config file found. Please login first.'); } config.organization_id = organizationId; writeConfig(config); } function getOrganizationId() { const config = readConfig(); return config?.organization_id || null; } function setIdeCommand(ideCommand) { const config = readConfig(); if (!config) { throw new Error('No config file found. Please login first.'); } config.ide_command = ideCommand; writeConfig(config); } function getIdeCommand() { const config = readConfig(); return config?.ide_command || 'code'; } //# sourceMappingURL=config.js.map