UNPKG

@vortex.so/cli

Version:

CLI to interact with Vortex.

53 lines (47 loc) 1.71 kB
'use strict'; const citty = require('citty'); const execa = require('execa'); const prompts = require('prompts'); require('node:process'); const c = require('chalk'); require('figures'); require('jiti'); const index = require('../../../utils/log/index.cjs'); function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; } const prompts__default = /*#__PURE__*/_interopDefaultCompat(prompts); const c__default = /*#__PURE__*/_interopDefaultCompat(c); const log = new index.Log("Clean"); const cleanCommand = citty.defineCommand({ meta: { name: "clean", description: c__default.dim("Recursively delete all node_modules and build folder.") }, args: {}, async run() { const answers = await prompts__default([ { 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 execa.$`find . -name node_modules -type d -prune -exec rm -rf {} +`; loader.persist(`Yes, ${c__default.bold("node_modules")} deleted.`); await execa.$`find . -name build -type d -prune -exec rm -rf {} +`; loader.persist(`Yes, ${c__default.bold("build")} deleted.`); await execa.$`find . -name dist -type d -prune -exec rm -rf {} +`; loader.persist(`Yes, ${c__default.bold("dist")} deleted.`); loader.ok(); } catch (error) { loader.fail(error?.message || "Failed to clean."); } } else { log.abort(); } } }); exports.cleanCommand = cleanCommand;