@vortex.so/cli
Version:
CLI to interact with Vortex.
53 lines (47 loc) • 1.71 kB
JavaScript
;
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;