UNPKG

@chainwayxyz/phase2cli

Version:

All-in-one interactive command-line for interfacing with zkSNARK Phase 2 Trusted Setup ceremonies

50 lines (39 loc) 1.56 kB
#!/usr/bin/env node import { bootstrapCommandExecutionAndServices } from "../lib/services.js" import { showError } from "../lib/errors.js" import { askForConfirmation } from "../lib/prompts.js" import { customSpinner, sleep } from "../lib/utils.js" import theme from "../lib/theme.js" import { localPaths } from "../lib/localConfigs.js" import { deleteDir, directoryExists } from "../lib/files.js" /** * Clean command. */ const clean = async () => { try { // Initialize services. await bootstrapCommandExecutionAndServices() const spinner = customSpinner(`Cleaning up...`, "clock") if (directoryExists(localPaths.output)) { console.log(theme.text.bold(`${theme.symbols.warning} Be careful, this action is irreversible!`)) const { confirmation } = await askForConfirmation( "Are you sure you want to continue with the clean up?", "Yes", "No" ) if (confirmation) { spinner.start() // Do the clean up. deleteDir(localPaths.output) // nb. simulate waiting time for 1s. await sleep(1000) spinner.succeed(`Cleanup was successfully completed ${theme.emojis.broom}`) } } else { console.log(`${theme.symbols.info} There is nothing to clean ${theme.emojis.eyes}`) } } catch (err: any) { showError(`Something went wrong: ${err.toString()}`, true) } } export default clean