UNPKG

redirector-cli

Version:

Global CLI tool for managing Redirector backend services with Docker Compose

71 lines 2.94 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.resetCommand = resetCommand; const inquirer_1 = __importDefault(require("inquirer")); const logger_1 = require("../utils/logger"); const config_1 = require("../utils/config"); const docker_1 = require("../utils/docker"); async function resetCommand(options) { try { logger_1.Logger.header("Reset Redirector Services"); const projectPath = process.cwd(); // Check if project is initialized const isInitialized = await config_1.ConfigManager.isRedirectorProject(projectPath); if (!isInitialized) { logger_1.Logger.error("No Redirector project found in current directory"); logger_1.Logger.info("Run `redirector setup` first to initialize the project"); process.exit(1); } // Load configuration const config = await config_1.ConfigManager.loadConfig(projectPath); const docker = new docker_1.DockerManager(config, projectPath); // Confirmation prompt if (!options.force && !options.confirm) { logger_1.Logger.warning("This will permanently delete all data and volumes!"); logger_1.Logger.newLine(); const { confirmed } = await inquirer_1.default.prompt([ { type: "confirm", name: "confirmed", message: "Are you sure you want to reset all services and data?", default: false, }, ]); if (!confirmed) { logger_1.Logger.info("Reset cancelled"); return; } } // Show what will be reset logger_1.Logger.info("Resetting the following:"); logger_1.Logger.list([ "Stop all running containers", "Remove all containers", "Remove all volumes and data", "Remove orphaned containers", ]); logger_1.Logger.newLine(); // Check current status const containers = await docker.getStatus(); if (containers.length > 0) { logger_1.Logger.info(`Found ${containers.length} container(s) to clean up`); } // Reset services await docker.resetServices(); logger_1.Logger.success("All services and data have been reset successfully!"); logger_1.Logger.newLine(); logger_1.Logger.subheader("Next Steps:"); logger_1.Logger.list([ "`redirector start` - Start fresh services", "`redirector setup` - Reconfigure the project", ]); } catch (error) { logger_1.Logger.error(`Failed to reset services: ${error}`); process.exit(1); } } //# sourceMappingURL=reset.js.map