UNPKG

cloakx

Version:

Cloakx is a secure, lightweight CLI tool to manage your development secrets locally — no cloud, no hassle. Store, retrieve, and manage secrets across projects with encryption and ease. 🔐 Perfect for solo devs, indie hackers, and teams who value speed, si

54 lines (53 loc) 2 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; // src/commands/reset.ts const commander_1 = require("commander"); const inquirer_1 = __importDefault(require("inquirer")); const vault_1 = require("../utils/vault"); const crypto_1 = require("../utils/crypto"); const auth_1 = require("../utils/auth"); function resetCommand() { return new commander_1.Command('reset') .description('⚠️ Reset the vault by deleting all stored keys') .action(async () => { const confirm = await inquirer_1.default.prompt([ { type: 'confirm', name: 'confirmed', message: '⚠️ This will delete all data in the vault. Are you sure?', default: false, }, ]); if (!confirm.confirmed) { console.log('❌ Vault reset cancelled.'); return; } const passwordPrompt = await inquirer_1.default.prompt([ { type: 'password', name: 'password', message: '🔒 Enter your vault password:', mask: '*', }, ]); const enteredPassword = passwordPrompt.password; try { const password = await (0, auth_1.ensureAuthenticated)(); const vault = (0, vault_1.getVault)(); const keys = Object.keys(vault); if (keys.length > 0) { const testKey = keys[0]; (0, crypto_1.decrypt)(vault[testKey], enteredPassword); // throws if password wrong } (0, vault_1.saveVault)({}); console.log('🗑️ Vault has been cleared.'); } catch (err) { console.error('❌ Invalid password. Vault reset aborted.'); } }); }