UNPKG

@reliverse/rse

Version:

@reliverse/rse is your all-in-one companion for bootstrapping and improving any kind of projects (especially web apps built with frameworks like Next.js) — whether you're kicking off something new or upgrading an existing app. It is also a little AI-power

49 lines (48 loc) 1.34 kB
import fs from "@reliverse/relifso"; import { relinka } from "@reliverse/relinka"; import { confirmPrompt, defineCommand } from "@reliverse/rempts"; import { deleteLastLine, msg } from "@reliverse/rempts"; import { memoryPath } from "../../libs/sdk/constants.js"; import { deleteMemory } from "../../libs/sdk/logout/logout-impl.js"; const isConfigExists = async () => { if (await fs.pathExists(memoryPath)) { return true; } return false; }; export default defineCommand({ meta: { name: "logout", description: "Ask rse to forget your data", hidden: true }, args: { dev: { type: "boolean", description: "Run the CLI in dev mode" } }, run: async ({ args }) => { if (!await isConfigExists()) { relinka("success", "You're not logged in."); if (args.dev) { relinka("info", "Try `bun dev:login` cmd."); } process.exit(0); } const danger = await confirmPrompt({ title: "Are you sure you want to log out? rse will delete its local memory. This action cannot be undone.", titleColor: "redBright" }); if (danger) { await deleteMemory(); deleteLastLine(); msg({ type: "M_BAR", borderColor: "dim" }); relinka("success", "You're logged out now! \u{1F44B}"); process.exit(0); } } });