UNPKG

@vortex.so/cli

Version:

CLI to interact with Vortex.

46 lines (43 loc) 1.35 kB
import { defineCommand } from 'citty'; import { $ } from 'execa'; import prompts from 'prompts'; import 'node:process'; import c from 'chalk'; import 'figures'; import 'jiti'; import { Log } from '../../../utils/log/index.mjs'; const log = new Log("Clean"); const cleanCommand = defineCommand({ meta: { name: "clean", description: c.dim("Recursively delete all node_modules and build folder.") }, args: {}, async run() { const answers = await prompts([ { type: "confirm", name: "isConfirmed", message: "This will recursively delete all node_modules and build folder. Are you sure?", initial: false } ]); if (answers.isConfirmed) { const loader = log.wait("Cleaning up..."); try { await $`find . -name node_modules -type d -prune -exec rm -rf {} +`; loader.persist(`Yes, ${c.bold("node_modules")} deleted.`); await $`find . -name build -type d -prune -exec rm -rf {} +`; loader.persist(`Yes, ${c.bold("build")} deleted.`); await $`find . -name dist -type d -prune -exec rm -rf {} +`; loader.persist(`Yes, ${c.bold("dist")} deleted.`); loader.ok(); } catch (error) { loader.fail(error?.message || "Failed to clean."); } } else { log.abort(); } } }); export { cleanCommand };