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