@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
JavaScript
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);
}
}
});