#!/usr/bin/env node const workerCmd = require('./worker/cli.worker'); function getArgs (startIndex = 1) { const args = {}; process.argv .slice(startIndex, process.argv.length) .forEach(arg => { // long arg if (arg.slice(0, 2) === '--') { const longArg = arg.split('='); const longArgFlag = longArg[0].slice(2, longArg[0].length); const longArgValue = longArg.length > 1 ? longArg[1] : true; args[longArgFlag] = longArgValue; // flags } else if (arg[0] === '-') { const flags = arg.slice(1, arg.length); args[flags] = true; } }); return args; } const cmds = new Map([ ['worker', workerCmd], ]); const baseCmd = 'fui-cli'; const startIndex = process.argv.findIndex(argv => argv.indexOf(baseCmd) !== -1); if (startIndex === -1) { throw new Error(`Command ${baseCmd} not found in args`); } const cmd = process.argv[startIndex + 1]; if (cmds.has(cmd)) { cmds.get(cmd)?.exec(getArgs(startIndex + 2)); } else { throw new Error(`Command ${cmd} not supported`); }