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

38 lines (37 loc) 1.25 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getUsers = getUsers; exports.saveUsers = saveUsers; exports.signup = signup; exports.login = login; // utils/auth.ts const bcryptjs_1 = __importDefault(require("bcryptjs")); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const USERS_FILE = path_1.default.join(__dirname, '../../users.json'); function getUsers() { if (!fs_1.default.existsSync(USERS_FILE)) return {}; return JSON.parse(fs_1.default.readFileSync(USERS_FILE, 'utf-8')); } function saveUsers(users) { fs_1.default.writeFileSync(USERS_FILE, JSON.stringify(users, null, 2)); } function signup(username, password) { const users = getUsers(); if (users[username]) return false; users[username] = bcryptjs_1.default.hashSync(password, 10); saveUsers(users); return true; } function login(username, password) { const users = getUsers(); const hash = users[username]; if (!hash) return false; return bcryptjs_1.default.compareSync(password, hash); }