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

40 lines (39 loc) 1.52 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.createCommand = createCommand; // commands/create.ts const commander_1 = require("commander"); const inquirer_1 = __importDefault(require("inquirer")); const fs_1 = __importDefault(require("fs")); const crypto_1 = require("../utils/crypto"); const paths_1 = require("../config/paths"); const path_1 = __importDefault(require("path")); function createCommand() { const cmd = new commander_1.Command('create'); cmd.action(async () => { const { username, password } = await inquirer_1.default.prompt([ { type: 'input', name: 'username', message: 'Enter your username:', validate: (input) => input.trim() !== '' || 'Username cannot be empty.', }, { type: 'password', name: 'password', message: 'Enter a vault password:', mask: '*', }, ]); const vault = { [username]: (0, crypto_1.encrypt)('init', password), }; fs_1.default.mkdirSync(path_1.default.dirname(paths_1.vaultPath), { recursive: true }); fs_1.default.writeFileSync(paths_1.vaultPath, JSON.stringify(vault)); console.log(`✅ Vault created for user "${username}"`); }); return cmd; }