UNPKG

qcobjects-cli

Version:

qcobjects cli command line tool

8 lines (7 loc) 19.6 kB
{ "version": 3, "sources": ["../../src/cli-commands-version.ts"], "sourcesContent": ["/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { exec, execSync } from \"node:child_process\";\n\nimport { Package, InheritClass, logger } from \"qcobjects\";\nimport { SwitchCommander } from \"./cli-main\";\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n getVersionStringFromFile(filename: string): string;\n parseVersionSuffix(versionString: any): string;\n parseVersionString(versionString: any): string;\n buildNewVersionString(arg0: { major: number; minor: number; patch: number; }, versionSuffix: any): string;\n saveNewVersionFile(filename: string, newVersion: any): string;\n syncGit(newVersion: any, commitMsg: any, syncNpm: any): string;\n switchCommander: any; v_major(filename: string, options: any): void; v_minor(filename: string, options: any): void; v_patch(filename: string, options: any): void; v_sync(filename: string, options: any): void; v_changelog(): void;\n };\n switchCommander: SwitchCommander;\n\n constructor({ switchCommander }:{switchCommander:SwitchCommander}) {\n super({ switchCommander });\n this.switchCommander = switchCommander;\n\n const commandHandler = this;\n\n this.choiceOption = {\n v_major(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major + 1, minor: minor, patch: patch }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_minor(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major, minor: minor + 1, patch: patch }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_patch(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major, minor: minor, patch: patch + 1 }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_sync(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n var commandHandler = this;\n commandHandler.switchCommander.shellCommands([\n \"echo $(git describe)\"\n ]).then(function (response: any) {\n const versionString = response[0].split(\"-\")[0].slice(1).replace(\"\\n\", \"\");\n console.log(versionString);\n const versionSuffix = commandHandler.parseVersionSuffix(versionString);\n const versionObject = commandHandler.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = commandHandler.buildNewVersionString({ major: major, minor: minor, patch: patch }, versionSuffix);\n commandHandler.saveNewVersionFile(filename, newVersion);\n var commitMsg = options.commitMsg || `Synced Version v${newVersion}`;\n commandHandler.switchCommander.shellCommands(\n [\n \"git fetch --tags -f\",\n `git add . && git commit -am \"${commitMsg}\"`,\n \"git fetch origin --tags\",\n \"git tag -ln\",\n `npm version \"${newVersion}\" --allow-same-version -m \"${commitMsg}\"`,\n \"git push && git push --tags\"\n ]\n ).then(function (response: any) {\n console.log(response);\n });\n });\n },\n v_changelog() {\n const commandHandler = this;\n commandHandler.switchCommander.shellCommands(\n [\n \"git tag -ln\"\n ]\n ).then(function (response: any) {\n var versionTags = response[0].split(\"\\n\").map((tag: any) => tag.split(\" \").unique()).unique().map(\n (tag: any) => {\n return {\n \"version\": tag[0],\n \"major\": tag[0].split(\".\")[0],\n \"minor\": tag[0].split(\".\")[0] + \".\" + tag[0].split(\".\")[1],\n \"description\": tag.slice(1).join(\" \").trim()\n };\n }\n );\n var minorVersionTags = versionTags.filter((tag: { version: string; }) => tag.version !== \"\").map((tag: { version: string; }) => tag.version.split(\".\")[0] + \".\" + tag.version.split(\".\")[1]).unique();\n var history = minorVersionTags.map((minor: string) => {\n return {\n \"major\": minor.split(\".\")[0],\n \"minor\": minor,\n \"history\": \"\\n\\t- \" + versionTags.filter((tag: { minor: any; }) => tag.minor === minor).map(\n function (tag: { description: any; }) {\n return tag.description;\n }\n ).filter((desc: string) => !desc.startsWith(minor.slice(1))).sort().unique().join(\"\\n\\t- \")\n };\n }).map((hist: { major: any; minor: any; history: string; }) => { return `## ${hist.major} -> ${hist.minor}` + \"\\n\" + hist.history; }).join(\"\\n\");\n const subtitle = \"This is an automatic Changelog history of versions generated using the command: **qcobjects v-changelog > CHANGELOG.md**\";\n console.log(\"# Changelog \\n\\n\" + subtitle + \"\\n\\n\" + history);\n\n });\n }\n } as any;\n\n switchCommander.program.command(\"v-major [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new major version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_major.call(commandHandler, args, options);\n });\n switchCommander.program.command(\"v-minor [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new minor version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_minor.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-patch [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new patch version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_patch.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-sync [filename]\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Sync the version of NPM with version of GIT\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_sync.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-changelog\")\n .description(\"Semantic Versioning: Shows a changelog using Semantic Versioning\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_changelog.call(commandHandler);\n });\n\n\n }\n\n\n syncGit(versionString: any, commitMsg: any, syncNpm = false) {\n let _commands_: any[] = [];\n if (syncNpm) {\n _commands_ = _commands_.concat(\n [\n \"git fetch --tags -f\",\n `npm version \"${versionString}\" -m \"${commitMsg}\"`\n ]\n );\n }\n _commands_ = _commands_.concat(\n [\n `git add . && git commit -am \"${commitMsg}\"`,\n \"git fetch origin --tags\",\n \"git tag -ln\"\n ]);\n\n if (!syncNpm) {\n _commands_ = _commands_.concat(\n [\n `git tag -a \"v${versionString}\" -m \"${commitMsg}\"`,\n ]\n );\n }\n\n _commands_ = _commands_.concat([\n \"git push && git push --tags\"\n ]\n );\n\n this.switchCommander.shellCommands(_commands_).then(function (response: any) {\n logger.info(\"Synced to Git\");\n logger.debug(response);\n }).catch(function (e: any) {\n logger.info(\"Something went wrong trying to sync to git\");\n logger.debug(e);\n });\n }\n\n parseVersionString(versionString: string): { major: string, minor: string, patch: string } {\n versionString = versionString.replace(\"\\n\", \"\");\n const regexpVer = /^(?<major>0|[1-9]\\d*)\\.(?<minor>0|[1-9]\\d*)\\.(?<patch>0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n const versionObject = { ...versionString.match(regexpVer)?.groups };\n return versionObject as { major: string, minor: string, patch: string };\n }\n\n getVersionStringFromFile(filename: any) {\n let versionString;\n try {\n versionString = fs.readFileSync(filename).toString().replace(\"\\n\", \"\");\n } catch (e) {\n versionString = \"0.0.1\";\n }\n return versionString;\n }\n\n buildNewSemVersionString({ major, minor, patch }: { major: string, minor: string, patch: string }) {\n return `${major}.${minor}.${patch}`;\n }\n\n parseVersionSuffix(versionString: string) {\n versionString = versionString.replace(\"\\n\", \"\");\n const versionObject = this.parseVersionString(versionString);\n const semVersionString = this.buildNewSemVersionString(versionObject);\n return versionString.replace(semVersionString, \"\");\n }\n\n buildNewVersionString({ major, minor, patch }: any, suffix: any) {\n const semVersionString = this.buildNewSemVersionString({ major, minor, patch });\n return `${semVersionString}${suffix}`;\n }\n\n saveNewVersionFile(filename: any, versionString: any) {\n fs.writeFileSync(filename, versionString);\n }\n\n\n\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.version\", [\n CommandHandler\n]);\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA,qBAAe;AAIf,uBAA8C;AAGvC,MAAM,uBAAuB,8BAAa;AAAA,EAtCjD,OAsCiD;AAAA;AAAA;AAAA,EAC/C;AAAA,EASA;AAAA,EAEA,YAAY,EAAE,gBAAgB,GAAqC;AACjE,UAAM,EAAE,gBAAgB,CAAC;AACzB,SAAK,kBAAkB;AAEvB,UAAM,iBAAiB;AAEvB,SAAK,eAAe;AAAA,MAClB,QAAQ,UAAkB,SAAc;AACtC,mBAAY,OAAO,aAAa,cAAgB,YAAc;AAC9D,cAAM,gBAAgB,KAAK,yBAAyB,QAAQ;AAC5D,cAAM,gBAAgB,KAAK,mBAAmB,aAAa;AAC3D,cAAM,gBAAgB,KAAK,mBAAmB,aAAa;AAC3D,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,aAAa,KAAK,sBAAsB,EAAE,OAAO,QAAQ,GAAG,OAAc,MAAa,GAAG,aAAa;AAC7G,aAAK,mBAAmB,UAAU,UAAU;AAC5C,YAAI,QAAQ,SAAS;AACnB,cAAI,YAAY,QAAQ,aAAa,gBAAgB,UAAU;AAC/D,eAAK,QAAQ,YAAY,WAAW,QAAQ,OAAO;AAAA,QACrD;AAAA,MACF;AAAA,MACA,QAAQ,UAAkB,SAAc;AACtC,mBAAY,OAAO,aAAa,cAAgB,YAAc;AAC9D,cAAM,gBAAgB,KAAK,yBAAyB,QAAQ;AAC5D,cAAM,gBAAgB,KAAK,mBAAmB,aAAa;AAC3D,cAAM,gBAAgB,KAAK,mBAAmB,aAAa;AAC3D,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,aAAa,KAAK,sBAAsB,EAAE,OAAc,OAAO,QAAQ,GAAG,MAAa,GAAG,aAAa;AAC7G,aAAK,mBAAmB,UAAU,UAAU;AAC5C,YAAI,QAAQ,SAAS;AACnB,cAAI,YAAY,QAAQ,aAAa,gBAAgB,UAAU;AAC/D,eAAK,QAAQ,YAAY,WAAW,QAAQ,OAAO;AAAA,QACrD;AAAA,MACF;AAAA,MACA,QAAQ,UAAkB,SAAc;AACtC,mBAAY,OAAO,aAAa,cAAgB,YAAc;AAC9D,cAAM,gBAAgB,KAAK,yBAAyB,QAAQ;AAC5D,cAAM,gBAAgB,KAAK,mBAAmB,aAAa;AAC3D,cAAM,gBAAgB,KAAK,mBAAmB,aAAa;AAC3D,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,cAAM,aAAa,KAAK,sBAAsB,EAAE,OAAc,OAAc,OAAO,QAAQ,EAAE,GAAG,aAAa;AAC7G,aAAK,mBAAmB,UAAU,UAAU;AAC5C,YAAI,QAAQ,SAAS;AACnB,cAAI,YAAY,QAAQ,aAAa,gBAAgB,UAAU;AAC/D,eAAK,QAAQ,YAAY,WAAW,QAAQ,OAAO;AAAA,QACrD;AAAA,MACF;AAAA,MACA,OAAO,UAAkB,SAAc;AACrC,mBAAY,OAAO,aAAa,cAAgB,YAAc;AAC9D,YAAIA,kBAAiB;AACrB,QAAAA,gBAAe,gBAAgB,cAAc;AAAA,UAC3C;AAAA,QACF,CAAC,EAAE,KAAK,SAAU,UAAe;AAC/B,gBAAM,gBAAgB,SAAS,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE,QAAQ,MAAM,EAAE;AACzE,kBAAQ,IAAI,aAAa;AACzB,gBAAM,gBAAgBA,gBAAe,mBAAmB,aAAa;AACrE,gBAAM,gBAAgBA,gBAAe,mBAAmB,aAAa;AACrE,gBAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,gBAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,gBAAM,QAAQ,SAAS,cAAc,KAAK;AAC1C,gBAAM,aAAaA,gBAAe,sBAAsB,EAAE,OAAc,OAAc,MAAa,GAAG,aAAa;AACnH,UAAAA,gBAAe,mBAAmB,UAAU,UAAU;AACtD,cAAI,YAAY,QAAQ,aAAa,mBAAmB,UAAU;AAClE,UAAAA,gBAAe,gBAAgB;AAAA,YAC7B;AAAA,cACE;AAAA,cACA,gCAAgC,SAAS;AAAA,cACzC;AAAA,cACA;AAAA,cACA,gBAAgB,UAAU,8BAA8B,SAAS;AAAA,cACjE;AAAA,YACF;AAAA,UACF,EAAE,KAAK,SAAUC,WAAe;AAC9B,oBAAQ,IAAIA,SAAQ;AAAA,UACtB,CAAC;AAAA,QACH,CAAC;AAAA,MACH;AAAA,MACA,cAAc;AACZ,cAAMD,kBAAiB;AACvB,QAAAA,gBAAe,gBAAgB;AAAA,UAC7B;AAAA,YACE;AAAA,UACF;AAAA,QACF,EAAE,KAAK,SAAU,UAAe;AAC9B,cAAI,cAAc,SAAS,CAAC,EAAE,MAAM,IAAI,EAAE,IAAI,CAAC,QAAa,IAAI,MAAM,GAAG,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE;AAAA,YAC5F,CAAC,QAAa;AACZ,qBAAO;AAAA,gBACL,WAAW,IAAI,CAAC;AAAA,gBAChB,SAAS,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,gBAC5B,SAAS,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,gBACzD,eAAe,IAAI,MAAM,CAAC,EAAE,KAAK,GAAG,EAAE,KAAK;AAAA,cAC7C;AAAA,YACF;AAAA,UACF;AACA,cAAI,mBAAmB,YAAY,OAAO,CAAC,QAA8B,IAAI,YAAY,EAAE,EAAE,IAAI,CAAC,QAA8B,IAAI,QAAQ,MAAM,GAAG,EAAE,CAAC,IAAI,MAAM,IAAI,QAAQ,MAAM,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO;AACpM,cAAI,UAAU,iBAAiB,IAAI,CAAC,UAAkB;AACpD,mBAAO;AAAA,cACL,SAAS,MAAM,MAAM,GAAG,EAAE,CAAC;AAAA,cAC3B,SAAS;AAAA,cACT,WAAW,UAAW,YAAY,OAAO,CAAC,QAAyB,IAAI,UAAU,KAAK,EAAE;AAAA,gBACtF,SAAU,KAA4B;AACpC,yBAAO,IAAI;AAAA,gBACb;AAAA,cACF,EAAE,OAAO,CAAC,SAAiB,CAAC,KAAK,WAAW,MAAM,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,OAAQ;AAAA,YAC5F;AAAA,UACF,CAAC,EAAE,IAAI,CAAC,SAAuD;AAAE,mBAAO,MAAM,KAAK,KAAK,OAAO,KAAK,KAAK;AAAA,IAAY,KAAK;AAAA,UAAS,CAAC,EAAE,KAAK,IAAI;AAC/I,gBAAM,WAAW;AACjB,kBAAQ,IAAI,qBAAqB,WAAW,SAAS,OAAO;AAAA,QAE9D,CAAC;AAAA,MACH;AAAA,IACF;AAEA,oBAAgB,QAAQ,QAAQ,oBAAoB,EACjD,OAAO,qBAAqB,eAAe,EAC3C,OAAO,qBAAqB,eAAe,EAC3C,OAAO,8BAA8B,gBAAgB,EACrD,YAAY,qDAAqD,EACjE,OAAO,SAAU,MAAW,SAAc;AACzC,qBAAe,aAAa,QAAQ,KAAK,gBAAgB,MAAM,OAAO;AAAA,IACxE,CAAC;AACH,oBAAgB,QAAQ,QAAQ,oBAAoB,EACjD,OAAO,qBAAqB,eAAe,EAC3C,OAAO,qBAAqB,eAAe,EAC3C,OAAO,8BAA8B,gBAAgB,EACrD,YAAY,qDAAqD,EACjE,OAAO,SAAU,MAAW,SAAc;AACzC,qBAAe,aAAa,QAAQ,KAAK,gBAAgB,MAAM,OAAO;AAAA,IACxE,CAAC;AAEH,oBAAgB,QAAQ,QAAQ,oBAAoB,EACjD,OAAO,qBAAqB,eAAe,EAC3C,OAAO,qBAAqB,eAAe,EAC3C,OAAO,8BAA8B,gBAAgB,EACrD,YAAY,qDAAqD,EACjE,OAAO,SAAU,MAAW,SAAc;AACzC,qBAAe,aAAa,QAAQ,KAAK,gBAAgB,MAAM,OAAO;AAAA,IACxE,CAAC;AAEH,oBAAgB,QAAQ,QAAQ,mBAAmB,EAChD,OAAO,8BAA8B,gBAAgB,EACrD,YAAY,kEAAkE,EAC9E,OAAO,SAAU,MAAW,SAAc;AACzC,qBAAe,aAAa,OAAO,KAAK,gBAAgB,MAAM,OAAO;AAAA,IACvE,CAAC;AAEH,oBAAgB,QAAQ,QAAQ,aAAa,EAC1C,YAAY,kEAAkE,EAC9E,OAAO,SAAU,MAAW,SAAc;AACzC,qBAAe,aAAa,YAAY,KAAK,cAAc;AAAA,IAC7D,CAAC;AAAA,EAGL;AAAA,EAGA,QAAQ,eAAoB,WAAgB,UAAU,OAAO;AAC3D,QAAI,aAAoB,CAAC;AACzB,QAAI,SAAS;AACX,mBAAa,WAAW;AAAA,QACtB;AAAA,UACE;AAAA,UACA,gBAAgB,aAAa,SAAS,SAAS;AAAA,QACjD;AAAA,MACF;AAAA,IACF;AACA,iBAAa,WAAW;AAAA,MACtB;AAAA,QACE,gCAAgC,SAAS;AAAA,QACzC;AAAA,QACA;AAAA,MACF;AAAA,IAAC;AAEH,QAAI,CAAC,SAAS;AACZ,mBAAa,WAAW;AAAA,QACtB;AAAA,UACE,gBAAgB,aAAa,SAAS,SAAS;AAAA,QACjD;AAAA,MACF;AAAA,IACF;AAEA,iBAAa,WAAW;AAAA,MAAO;AAAA,QAC7B;AAAA,MACF;AAAA,IACA;AAEA,SAAK,gBAAgB,cAAc,UAAU,EAAE,KAAK,SAAU,UAAe;AAC3E,8BAAO,KAAK,eAAe;AAC3B,8BAAO,MAAM,QAAQ;AAAA,IACvB,CAAC,EAAE,MAAM,SAAU,GAAQ;AACzB,8BAAO,KAAK,4CAA4C;AACxD,8BAAO,MAAM,CAAC;AAAA,IAChB,CAAC;AAAA,EACH;AAAA,EAEA,mBAAmB,eAAwE;AACzF,oBAAgB,cAAc,QAAQ,MAAM,EAAE;AAC9C,UAAM,YAAY;AAClB,UAAM,gBAAgB,EAAE,GAAG,cAAc,MAAM,SAAS,GAAG,OAAO;AAClE,WAAO;AAAA,EACT;AAAA,EAEA,yBAAyB,UAAe;AACtC,QAAI;AACJ,QAAI;AACF,sBAAgB,eAAAE,QAAG,aAAa,QAAQ,EAAE,SAAS,EAAE,QAAQ,MAAM,EAAE;AAAA,IACvE,SAAS,GAAG;AACV,sBAAgB;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AAAA,EAEA,yBAAyB,EAAE,OAAO,OAAO,MAAM,GAAoD;AACjG,WAAO,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK;AAAA,EACnC;AAAA,EAEA,mBAAmB,eAAuB;AACxC,oBAAgB,cAAc,QAAQ,MAAM,EAAE;AAC9C,UAAM,gBAAgB,KAAK,mBAAmB,aAAa;AAC3D,UAAM,mBAAmB,KAAK,yBAAyB,aAAa;AACpE,WAAO,cAAc,QAAQ,kBAAkB,EAAE;AAAA,EACnD;AAAA,EAEA,sBAAsB,EAAE,OAAO,OAAO,MAAM,GAAQ,QAAa;AAC/D,UAAM,mBAAmB,KAAK,yBAAyB,EAAE,OAAO,OAAO,MAAM,CAAC;AAC9E,WAAO,GAAG,gBAAgB,GAAG,MAAM;AAAA,EACrC;AAAA,EAEA,mBAAmB,UAAe,eAAoB;AACpD,mBAAAA,QAAG,cAAc,UAAU,aAAa;AAAA,EAC1C;AAMF;AAAA,IAGA,0BAAQ,sCAAsC;AAAA,EAC5C;AACF,CAAC;", "names": ["commandHandler", "response", "fs"] }