@hashgraph/hedera-cli
Version:
CLI tool to manage and setup developer environments for Hedera Hashgraph.
48 lines (37 loc) • 1.17 kB
text/typescript
import stateController from '../state/stateController';
import type { Script } from '../../types';
import { Logger } from './logger';
const logger = Logger.getInstance();
function listScripts() {
const scripts: Record<string, Script> = stateController.get('scripts');
const scriptNames = Object.keys(scripts);
if (scriptNames.length === 0) {
logger.log('No scripts found');
return;
}
logger.log('Scripts:');
scriptNames.forEach((scriptName) => {
logger.log(`\t${scriptName}`);
logger.log(`\t- Commands:`);
scripts[scriptName].commands.forEach((command) => {
logger.log(`\t\t${command}`);
});
});
}
function deleteScript(name: string) {
const scripts: Record<string, Script> = stateController.get('scripts');
const scriptName = `script-${name}`;
const script = scripts[scriptName];
if (!script) {
logger.error(`No script found with name: ${scriptName}`);
process.exit(1);
}
delete scripts[scriptName];
stateController.saveKey('scripts', scripts);
logger.log(`Script ${scriptName} deleted successfully`);
}
const scriptUtils = {
listScripts,
deleteScript,
};
export default scriptUtils;