UNPKG

@wavesenterprise/generator-cli

Version:

Waves Enterprise transactions generator CLI

71 lines (70 loc) 2.63 kB
#!/usr/bin/env node "use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); const fs = __importStar(require("fs")); const chalk = require('chalk'); // const clear = require('clear'); const figlet = require('figlet'); const path = require('path'); const program = require('commander'); const generator_1 = require("./generator"); const configParser_1 = require("./configParser"); // clear(); console.log(chalk.green(figlet.textSync('tx generator', { horizontalLayout: 'full' }))); program .version('0.2.0') .description("Waves enterprise transactions generator") .option('-c, --configPath <type>', 'Config file path') .option('-o, --output <type>', 'Output directory', 'output') .option('-broadcast, --broadcast', 'Broadcast', false) .option('-concurrency, --concurrency <type>', 'Concurrency', null) .parse(process.argv); const options = program.opts(); const { configPath, broadcast, concurrency } = options; if (configPath) { if (fs.existsSync(configPath)) { const rawData = fs.readFileSync(configPath); let config = null; try { config = configParser_1.parseConfig(rawData.toString(), options); } catch (e) { console.log('Parse config error:', e.message); process.exit(); } if (config) { const generator = new generator_1.Generator(config); if (broadcast) { generator.broadcast({ concurrency: parseInt(concurrency) }); } else { generator.start(); } } } else { console.log(`Cannot read config file: "${configPath}". Check -c option`); } } if (!process.argv.slice(2).length) { program.outputHelp(); }