UNPKG

mlgc

Version:

MLGC is a CLI program that allows you to easily copy all Git changes to a folder for easy uploading or sharing.

54 lines (48 loc) 1.8 kB
const { Select } = require("enquirer"); const { copySelective } = require("../commands/copy"); const { clearCopyFolder } = require("../core/folder"); const { showChangelog } = require("../commands/changelog"); const generatePath = require("../helpers/pathHelper"); const { log } = require("../utils/logger"); async function showMenu() { try { const path = generatePath(process.argv); const prompt = new Select({ name: "menu", message: "🦙 What can I do for you?", choices: [ "📄 Copy current changes to directory for upload", "🗑️ Delete all files in upload-directory", "📜 Show changelog", ], }); const answer = await prompt.run(); switch (answer) { case "📄 Copy current changes to directory for upload": { const modePrompt = new Select({ name: "mode", message: "Select comparison mode:", choices: [ { name: "commit", message: "📄 Current changes (commit)", value: "commit" }, { name: "branch", message: "🌿 Changes compared to main branch", value: "branch" }, ], }); const mode = await modePrompt.run(); log.info(`📄 Copying changes (${mode === "commit" ? "commit" : "branch"} mode)...`); await copySelective(mode, path); break; } case "🗑️ Delete all files in upload-directory": log.info("🗑️ Deleting files and folder..."); await clearCopyFolder(); log.success("✅ Folder cleared successfully."); break; case "📜 Show changelog": await showChangelog(); break; } } catch (error) { console.error(error); } } module.exports = { showMenu };