qcobjects-cli 2.5.157 → 2.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  2. package/.github/ISSUE_TEMPLATE/custom.md +0 -0
  3. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  4. package/.github/ISSUE_TEMPLATE/issue-template.md +0 -0
  5. package/.github/workflows/ci.yml +2 -2
  6. package/.github/workflows/npmpublish.yml +6 -4
  7. package/CHANGELOG.md +9 -0
  8. package/LICENSE.txt +21 -0
  9. package/README.md +6 -1
  10. package/VERSION +1 -1
  11. package/package.json +12 -12
  12. package/public/browser/templates/pwa/sw.js +2 -11
  13. package/public/cjs/api-client_services.js +3 -12
  14. package/public/cjs/api-client_services.js.map +1 -1
  15. package/public/cjs/backend/backend-microservice-static.js +3 -12
  16. package/public/cjs/backend/backend-microservice-static.js.map +1 -1
  17. package/public/cjs/backend/backend-php.js +3 -12
  18. package/public/cjs/backend/backend-php.js.map +1 -1
  19. package/public/cjs/cli-commands-build-esbuild.js +3 -12
  20. package/public/cjs/cli-commands-build-esbuild.js.map +1 -1
  21. package/public/cjs/cli-commands-build-typescript.js +3 -12
  22. package/public/cjs/cli-commands-build-typescript.js.map +1 -1
  23. package/public/cjs/cli-commands-jira.js +3 -12
  24. package/public/cjs/cli-commands-jira.js.map +1 -1
  25. package/public/cjs/cli-commands-publish-static.js +3 -12
  26. package/public/cjs/cli-commands-publish-static.js.map +1 -1
  27. package/public/cjs/cli-commands-version.js +3 -12
  28. package/public/cjs/cli-commands-version.js.map +1 -1
  29. package/public/cjs/cli-commands.js +3 -12
  30. package/public/cjs/cli-commands.js.map +1 -1
  31. package/public/cjs/cli-main.js +45 -46
  32. package/public/cjs/cli-main.js.map +1 -1
  33. package/public/cjs/client_services.js +3 -12
  34. package/public/cjs/client_services.js.map +1 -1
  35. package/public/cjs/collab-server.js +3 -12
  36. package/public/cjs/collab-server.js.map +1 -1
  37. package/public/cjs/common-pipelog.js +3 -12
  38. package/public/cjs/common-pipelog.js.map +1 -1
  39. package/public/cjs/defaultsettings.js +3 -12
  40. package/public/cjs/defaultsettings.js.map +1 -1
  41. package/public/cjs/enterprise-commands.js +3 -12
  42. package/public/cjs/enterprise-commands.js.map +1 -1
  43. package/public/cjs/main-file.js +3 -12
  44. package/public/cjs/main-file.js.map +1 -1
  45. package/public/cjs/main-http-gae-server.js +3 -12
  46. package/public/cjs/main-http-gae-server.js.map +1 -1
  47. package/public/cjs/main-http-server.js +3 -12
  48. package/public/cjs/main-http-server.js.map +1 -1
  49. package/public/cjs/main-http2-server.js +3 -12
  50. package/public/cjs/main-http2-server.js.map +1 -1
  51. package/public/cjs/qcobjects-cli.js +3 -12
  52. package/public/cjs/qcobjects-cli.js.map +1 -1
  53. package/public/cjs/qcobjects-collab.js +3 -12
  54. package/public/cjs/qcobjects-collab.js.map +1 -1
  55. package/public/cjs/qcobjects-createcert.js +3 -12
  56. package/public/cjs/qcobjects-createcert.js.map +1 -1
  57. package/public/cjs/qcobjects-gae-http-server.js +3 -12
  58. package/public/cjs/qcobjects-gae-http-server.js.map +1 -1
  59. package/public/cjs/qcobjects-http-server.js +3 -12
  60. package/public/cjs/qcobjects-http-server.js.map +1 -1
  61. package/public/cjs/qcobjects-http2-server.js +3 -12
  62. package/public/cjs/qcobjects-http2-server.js.map +1 -1
  63. package/public/cjs/qcobjects-shell.js +3 -12
  64. package/public/cjs/qcobjects-shell.js.map +1 -1
  65. package/public/cjs/templates/pwa/sw.js +2 -11
  66. package/public/esm/api-client_services.mjs.map +2 -2
  67. package/public/esm/backend/backend-microservice-static.mjs.map +2 -2
  68. package/public/esm/backend/backend-php.mjs +5 -1
  69. package/public/esm/backend/backend-php.mjs.map +2 -2
  70. package/public/esm/cli-commands-build-esbuild.mjs.map +2 -2
  71. package/public/esm/cli-commands-build-typescript.mjs.map +2 -2
  72. package/public/esm/cli-commands-jira.mjs.map +2 -2
  73. package/public/esm/cli-commands-publish-static.mjs.map +2 -2
  74. package/public/esm/cli-commands-version.mjs +3 -3
  75. package/public/esm/cli-commands-version.mjs.map +2 -2
  76. package/public/esm/cli-commands.mjs.map +2 -2
  77. package/public/esm/cli-main.mjs +39 -32
  78. package/public/esm/cli-main.mjs.map +2 -2
  79. package/public/esm/client_services.mjs.map +2 -2
  80. package/public/esm/collab-server.mjs.map +2 -2
  81. package/public/esm/common-pipelog.mjs.map +2 -2
  82. package/public/esm/defaultsettings.mjs +25 -11
  83. package/public/esm/defaultsettings.mjs.map +2 -2
  84. package/public/esm/enterprise-commands.mjs.map +2 -2
  85. package/public/esm/main-file.mjs +2 -2
  86. package/public/esm/main-file.mjs.map +2 -2
  87. package/public/esm/main-http-gae-server.mjs.map +2 -2
  88. package/public/esm/main-http-server.mjs.map +2 -2
  89. package/public/esm/main-http2-server.mjs.map +2 -2
  90. package/public/esm/qcobjects-cli.mjs.map +2 -2
  91. package/public/esm/qcobjects-collab.mjs.map +2 -2
  92. package/public/esm/qcobjects-createcert.mjs.map +2 -2
  93. package/public/esm/qcobjects-gae-http-server.mjs.map +2 -2
  94. package/public/esm/qcobjects-http-server.mjs.map +2 -2
  95. package/public/esm/qcobjects-http2-server.mjs.map +2 -2
  96. package/public/esm/qcobjects-shell.mjs +5 -1
  97. package/public/esm/qcobjects-shell.mjs.map +2 -2
  98. package/public/esm/templates/pwa/sw.js +2 -11
  99. package/public/types/index.d.ts +9 -25
  100. package/src/api-client_services.ts +3 -12
  101. package/src/backend/backend-microservice-static.ts +3 -12
  102. package/src/backend/backend-php.ts +3 -12
  103. package/src/cli-commands-build-esbuild.ts +3 -12
  104. package/src/cli-commands-build-typescript.ts +3 -12
  105. package/src/cli-commands-jira.ts +3 -12
  106. package/src/cli-commands-publish-static.ts +3 -12
  107. package/src/cli-commands-version.ts +3 -12
  108. package/src/cli-commands.ts +3 -12
  109. package/src/cli-main.ts +21 -21
  110. package/src/client_services.ts +3 -12
  111. package/src/collab-server.ts +3 -12
  112. package/src/common-pipelog.ts +3 -12
  113. package/src/defaultsettings.ts +3 -12
  114. package/src/enterprise-commands.ts +3 -12
  115. package/src/main-file.ts +3 -12
  116. package/src/main-http-gae-server.ts +3 -12
  117. package/src/main-http-server.ts +3 -12
  118. package/src/main-http2-server.ts +3 -12
  119. package/src/qcobjects-cli.ts +3 -12
  120. package/src/qcobjects-collab.ts +3 -12
  121. package/src/qcobjects-createcert.ts +3 -12
  122. package/src/qcobjects-gae-http-server.ts +3 -12
  123. package/src/qcobjects-http-server.ts +3 -12
  124. package/src/qcobjects-http2-server.ts +3 -12
  125. package/src/qcobjects-shell.ts +3 -12
  126. package/src/templates/pwa/sw.js +2 -11
  127. package/bin/qcobjects-cli.js +0 -39
@@ -1 +1 @@
1
- {"version":3,"file":"qcobjects-shell.js","sourceRoot":"","sources":["../../src/qcobjects-shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"qcobjects-shell.js","sourceRoot":"","sources":["../../src/qcobjects-shell.ts"],"names":[],"mappings":"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"}
@@ -5,17 +5,8 @@
5
5
  * Author: Jean Machuca <correojean@gmail.com>
6
6
  *
7
7
  * Cross Browser Javascript Framework for MVC Patterns
8
- * QuickCorp/QCObjects is licensed under the
9
- * GNU Lesser General Public License v3.0
10
- * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
11
- *
12
- * Permissions of this copyleft license are conditioned on making available
13
- * complete source code of licensed works and modifications under the same
14
- * license or the GNU GPLv3. Copyright and license notices must be preserved.
15
- * Contributors provide an express grant of patent rights. However, a larger
16
- * work using the licensed work through interfaces provided by the licensed
17
- * work may be distributed under different terms and without source code for
18
- * the larger work.
8
+ * QCObjects is licensed under the MIT License
9
+ * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)
19
10
  *
20
11
  * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
21
12
  *
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/api-client_services.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\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\";\n\nimport { Package, Service, logger } from \"qcobjects\";\n\nexport class QuickCorpCloud extends Service {\n headers: any;\n url: any;\n basePath: any;\n data: any;\n constructor({\n name = \"quickcorp_cloud\",\n external = true,\n useHTTP2 = true,\n cached = false,\n method = \"post\",\n headers = {\n \"origin\": \"localhost\",\n \"content-type\": \"application/json\"\n },\n basePath = \"https://cloud.quickcorp.org/\",\n url = \"\",\n withCredentials = false\n }) {\n super({\n name,\n external,\n useHTTP2,\n cached,\n method,\n headers,\n basePath,\n url,\n withCredentials\n });\n\n }\n\n _new_(o: any) {\n // service instantiated\n this.headers[\"authorization\"] = \"Basic token\";\n this.url = this.basePath + o.apiMethod;\n this.data = o.data;\n }\n\n done(service: any, standardResponse: any) {\n // service loaded\n logger.debug(standardResponse);\n }\n\n fail(e: any) {\n logger.debug(e);\n }\n\n}\n\nPackage(\"org.quickcorp.qcobjects.api.client_services\", [\n QuickCorpCloud\n]);\n\n"],
5
- "mappings": ";;AAgCA,SAAS,SAAS,SAAS,cAAc;AAElC,MAAM,uBAAuB,QAAQ;AAAA,EAlC5C,OAkC4C;AAAA;AAAA;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,IACX,MAAM;AAAA,IACN,kBAAkB;AAAA,EACpB,GAAG;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EAEH;AAAA,EAEA,MAAM,GAAQ;AAEZ,SAAK,QAAQ,eAAe,IAAI;AAChC,SAAK,MAAM,KAAK,WAAW,EAAE;AAC7B,SAAK,OAAO,EAAE;AAAA,EAChB;AAAA,EAEA,KAAK,SAAc,kBAAuB;AAExC,WAAO,MAAM,gBAAgB;AAAA,EAC/B;AAAA,EAEA,KAAK,GAAQ;AACX,WAAO,MAAM,CAAC;AAAA,EAChB;AAEF;AAEA,QAAQ,+CAA+C;AAAA,EACrD;AACF,CAAC;",
4
+ "sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\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\";\n\nimport { Package, Service, logger } from \"qcobjects\";\n\nexport class QuickCorpCloud extends Service {\n headers: any;\n url: any;\n basePath: any;\n data: any;\n constructor({\n name = \"quickcorp_cloud\",\n external = true,\n useHTTP2 = true,\n cached = false,\n method = \"post\",\n headers = {\n \"origin\": \"localhost\",\n \"content-type\": \"application/json\"\n },\n basePath = \"https://cloud.quickcorp.org/\",\n url = \"\",\n withCredentials = false\n }) {\n super({\n name,\n external,\n useHTTP2,\n cached,\n method,\n headers,\n basePath,\n url,\n withCredentials\n });\n\n }\n\n _new_(o: any) {\n // service instantiated\n this.headers[\"authorization\"] = \"Basic token\";\n this.url = this.basePath + o.apiMethod;\n this.data = o.data;\n }\n\n done(service: any, standardResponse: any) {\n // service loaded\n logger.debug(standardResponse);\n }\n\n fail(e: any) {\n logger.debug(e);\n }\n\n}\n\nPackage(\"org.quickcorp.qcobjects.api.client_services\", [\n QuickCorpCloud\n]);\n\n"],
5
+ "mappings": ";;AAuBA,SAAS,SAAS,SAAS,cAAc;AAElC,MAAM,uBAAuB,QAAQ;AAAA,EAzB5C,OAyB4C;AAAA;AAAA;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,IACX,MAAM;AAAA,IACN,kBAAkB;AAAA,EACpB,GAAG;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EAEH;AAAA,EAEA,MAAM,GAAQ;AAEZ,SAAK,QAAQ,eAAe,IAAI;AAChC,SAAK,MAAM,KAAK,WAAW,EAAE;AAC7B,SAAK,OAAO,EAAE;AAAA,EAChB;AAAA,EAEA,KAAK,SAAc,kBAAuB;AAExC,WAAO,MAAM,gBAAgB;AAAA,EAC/B;AAAA,EAEA,KAAK,GAAQ;AACX,WAAO,MAAM,CAAC;AAAA,EAChB;AAEF;AAEA,QAAQ,+CAA+C;AAAA,EACrD;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/backend/backend-microservice-static.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.3.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/* eslint no-useless-escape: \"off\" */\n\"use strict\";\nimport mime from \"mime\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Package, BackendMicroservice, CONFIG, logger } from \"qcobjects\";\n\nconst absolutePath = path.resolve(__dirname, \"./\");\n\n\nPackage(\"com.qcobjects.backend.microservice.static\", [\n class Microservice extends BackendMicroservice {\n stream: any;\n fileName: any;\n route: any;\n request: any;\n body!: void;\n\n finishWithBody() { }\n done() {\n // read and send file content in the stream\n\n const microservice = this;\n const stream = microservice.stream;\n const fileName = (!microservice.fileName.startsWith(\"/\")) ? (`${process.cwd()}/${microservice.fileName}`) : (microservice.fileName);\n\n const sendFileHTTP2 = function (stream: { respondWithFD: (arg0: any, arg1: { \"content-length\": any; \"last-modified\": any; \"content-type\": any; \"cache-control\": any; }) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; respond: (arg0: { \":status\": number; \"content-type\": any; }) => void; write: (arg0: string) => void; }, fileName: string) {\n // read and send file content in the stream\n\n try {\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n let headers = {\n \"content-length\": stat.size,\n \"last-modified\": stat.mtime.toUTCString(),\n \"content-type\": mime.getType(fileName),\n \"cache-control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n if (typeof microservice.route.responseHeaders !== \"undefined\") {\n headers = Object.assign(headers, microservice.route.responseHeaders);\n }\n\n stream.respondWithFD(fd, headers);\n stream.on(\"close\", () => {\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n });\n stream.end();\n\n } catch (e: any) {\n logger.warn(\"[ERROR] Something went wrong when trying to send the response as file \" + fileName);\n if (e.errno == -2) {\n const headers = {\n \":status\": 404,\n \"content-type\": mime.getType(fileName)\n };\n stream.respond(headers);\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n logger.debug(\"closing file \" + fileName);\n });\n stream.end();\n }\n }\n\n };\n\n const sendFileLegacyHTTP = function (stream: { writeHead: (arg0: number, arg1: { status: number; \"Content-Type\": string; }) => void; write: (arg0: string) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; }, fileName: string) {\n // read and send file content in the stream\n let headers;\n try {\n logger.info(\"trying to read \" + fileName);\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n headers = {\n \"Content-Length\": stat.size,\n \"Last-Modified\": stat.mtime.toUTCString(),\n \"Content-Type\": mime.getType(fileName),\n \"Cache-Control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n if (typeof microservice.route.responseHeaders !== \"undefined\") {\n headers = Object.assign(headers, microservice.route.responseHeaders);\n }\n\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n\n stream.writeHead(200, headers);\n\n stream.write(fs.readFileSync(fileName).toString());\n stream.on(\"close\", () => {\n logger.info(\"closing static file\", fileName);\n });\n\n } catch (e: any) {\n if (e.errno == -2) {\n headers = {\n \"status\": 404,\n \"Content-Type\": \"text/html\"\n };\n stream.writeHead(404, headers);\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n logger.info(\"closing static file with error: \", fileName);\n });\n }\n logger.warn(e);\n stream.end();\n }\n stream.end();\n\n };\n\n if (typeof stream.respondWithFD !== \"undefined\") {\n sendFileHTTP2(stream, fileName);\n } else {\n sendFileLegacyHTTP(stream, fileName);\n }\n\n }\n\n static(method: string, data: any) {\n const microservice = this;\n const redirect_to = microservice.route.redirect_to;\n return new Promise<void>(function (resolve, reject) {\n const supported_methods = microservice.route.supported_methods;\n let _method_allowed_ = false;\n if (typeof supported_methods !== \"undefined\") {\n if (supported_methods == \"*\" || (typeof method === \"undefined\") || [...supported_methods].map(m => m.toLowerCase()).indexOf(method.toLowerCase()) !== -1) {\n _method_allowed_ = true;\n }\n } else {\n _method_allowed_ = true;\n }\n\n logger.debug(\"Starting static delivery microservice call for method: \" + method);\n if (_method_allowed_) {\n logger.info(\"I'm going to deliver a static path...\");\n if (redirect_to) {\n const request_path = microservice.request.path;\n const re = (new RegExp(microservice.route.path.replace(/{(.*?)}/g, \"\\(\\?\\<$1\\>\\.\\*\\)\"), \"g\"));\n microservice.fileName = request_path.replace(re, microservice.route.redirect_to);\n try {\n resolve();\n } catch (e) {\n logger.warn(\"\\u{1F926} Something went wrong \\u{1F926} when trying to deliver a static path: \" + microservice.fileName);\n reject(e instanceof Error ? e : new Error(String(e)));\n }\n } else {\n logger.info(\"There is no redirect_to setting declared in route properties. \\n Skipping static delivery...\");\n reject(new Error(\"There is no redirect_to setting declared in route properties. \\n Skipping static delivery...\"));\n }\n } else {\n logger.debug(\"Method: \" + method + \" will be skipped\");\n resolve();\n }\n\n });\n }\n\n head(formData: any) {\n const microservice = this;\n microservice.static(\"head\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n }\n\n get(formData: any) {\n const microservice = this;\n microservice.static(\"get\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n }).catch(error => {\n console.error(error);\n });\n }\n\n post(formData: any) {\n const microservice = this;\n microservice.static(\"post\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n put(formData: any) {\n const microservice = this;\n microservice.static(\"put\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n delete(formData: any) {\n const microservice = this;\n microservice.static(\"delete\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n connect(formData: any) {\n const microservice = this;\n microservice.static(\"connect\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n options(formData: any) {\n const microservice = this;\n microservice.static(\"options\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n trace(formData: any) {\n const microservice = this;\n microservice.static(\"trace\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n patch(formData: any) {\n const microservice = this;\n microservice.static(\"patch\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n }\n\n]);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\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/* eslint no-useless-escape: \"off\" */\n\"use strict\";\nimport mime from \"mime\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Package, BackendMicroservice, CONFIG, logger } from \"qcobjects\";\n\nconst absolutePath = path.resolve(__dirname, \"./\");\n\n\nPackage(\"com.qcobjects.backend.microservice.static\", [\n class Microservice extends BackendMicroservice {\n stream: any;\n fileName: any;\n route: any;\n request: any;\n body!: void;\n\n finishWithBody() { }\n done() {\n // read and send file content in the stream\n\n const microservice = this;\n const stream = microservice.stream;\n const fileName = (!microservice.fileName.startsWith(\"/\")) ? (`${process.cwd()}/${microservice.fileName}`) : (microservice.fileName);\n\n const sendFileHTTP2 = function (stream: { respondWithFD: (arg0: any, arg1: { \"content-length\": any; \"last-modified\": any; \"content-type\": any; \"cache-control\": any; }) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; respond: (arg0: { \":status\": number; \"content-type\": any; }) => void; write: (arg0: string) => void; }, fileName: string) {\n // read and send file content in the stream\n\n try {\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n let headers = {\n \"content-length\": stat.size,\n \"last-modified\": stat.mtime.toUTCString(),\n \"content-type\": mime.getType(fileName),\n \"cache-control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n if (typeof microservice.route.responseHeaders !== \"undefined\") {\n headers = Object.assign(headers, microservice.route.responseHeaders);\n }\n\n stream.respondWithFD(fd, headers);\n stream.on(\"close\", () => {\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n });\n stream.end();\n\n } catch (e: any) {\n logger.warn(\"[ERROR] Something went wrong when trying to send the response as file \" + fileName);\n if (e.errno == -2) {\n const headers = {\n \":status\": 404,\n \"content-type\": mime.getType(fileName)\n };\n stream.respond(headers);\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n logger.debug(\"closing file \" + fileName);\n });\n stream.end();\n }\n }\n\n };\n\n const sendFileLegacyHTTP = function (stream: { writeHead: (arg0: number, arg1: { status: number; \"Content-Type\": string; }) => void; write: (arg0: string) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; }, fileName: string) {\n // read and send file content in the stream\n let headers;\n try {\n logger.info(\"trying to read \" + fileName);\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n headers = {\n \"Content-Length\": stat.size,\n \"Last-Modified\": stat.mtime.toUTCString(),\n \"Content-Type\": mime.getType(fileName),\n \"Cache-Control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n if (typeof microservice.route.responseHeaders !== \"undefined\") {\n headers = Object.assign(headers, microservice.route.responseHeaders);\n }\n\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n\n stream.writeHead(200, headers);\n\n stream.write(fs.readFileSync(fileName).toString());\n stream.on(\"close\", () => {\n logger.info(\"closing static file\", fileName);\n });\n\n } catch (e: any) {\n if (e.errno == -2) {\n headers = {\n \"status\": 404,\n \"Content-Type\": \"text/html\"\n };\n stream.writeHead(404, headers);\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n logger.info(\"closing static file with error: \", fileName);\n });\n }\n logger.warn(e);\n stream.end();\n }\n stream.end();\n\n };\n\n if (typeof stream.respondWithFD !== \"undefined\") {\n sendFileHTTP2(stream, fileName);\n } else {\n sendFileLegacyHTTP(stream, fileName);\n }\n\n }\n\n static(method: string, data: any) {\n const microservice = this;\n const redirect_to = microservice.route.redirect_to;\n return new Promise<void>(function (resolve, reject) {\n const supported_methods = microservice.route.supported_methods;\n let _method_allowed_ = false;\n if (typeof supported_methods !== \"undefined\") {\n if (supported_methods == \"*\" || (typeof method === \"undefined\") || [...supported_methods].map(m => m.toLowerCase()).indexOf(method.toLowerCase()) !== -1) {\n _method_allowed_ = true;\n }\n } else {\n _method_allowed_ = true;\n }\n\n logger.debug(\"Starting static delivery microservice call for method: \" + method);\n if (_method_allowed_) {\n logger.info(\"I'm going to deliver a static path...\");\n if (redirect_to) {\n const request_path = microservice.request.path;\n const re = (new RegExp(microservice.route.path.replace(/{(.*?)}/g, \"\\(\\?\\<$1\\>\\.\\*\\)\"), \"g\"));\n microservice.fileName = request_path.replace(re, microservice.route.redirect_to);\n try {\n resolve();\n } catch (e) {\n logger.warn(\"\\u{1F926} Something went wrong \\u{1F926} when trying to deliver a static path: \" + microservice.fileName);\n reject(e instanceof Error ? e : new Error(String(e)));\n }\n } else {\n logger.info(\"There is no redirect_to setting declared in route properties. \\n Skipping static delivery...\");\n reject(new Error(\"There is no redirect_to setting declared in route properties. \\n Skipping static delivery...\"));\n }\n } else {\n logger.debug(\"Method: \" + method + \" will be skipped\");\n resolve();\n }\n\n });\n }\n\n head(formData: any) {\n const microservice = this;\n microservice.static(\"head\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n }\n\n get(formData: any) {\n const microservice = this;\n microservice.static(\"get\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n }).catch(error => {\n console.error(error);\n });\n }\n\n post(formData: any) {\n const microservice = this;\n microservice.static(\"post\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n put(formData: any) {\n const microservice = this;\n microservice.static(\"put\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n delete(formData: any) {\n const microservice = this;\n microservice.static(\"delete\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n connect(formData: any) {\n const microservice = this;\n microservice.static(\"connect\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n options(formData: any) {\n const microservice = this;\n microservice.static(\"options\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n trace(formData: any) {\n const microservice = this;\n microservice.static(\"trace\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n patch(formData: any) {\n const microservice = this;\n microservice.static(\"patch\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n }\n\n]);\n"],
5
+ "mappings": "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",
6
6
  "names": ["stream", "fileName"]
7
7
  }
@@ -2,7 +2,11 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
3
  var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
4
4
  var __commonJS = (cb, mod) => function __require() {
5
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
5
+ try {
6
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
7
+ } catch (e) {
8
+ throw mod = 0, e;
9
+ }
6
10
  };
7
11
  import { PipeLog } from "../common-pipelog";
8
12
  import fs from "fs";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/backend/backend-php.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.3.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 { PipeLog } from \"../common-pipelog\";\nimport fs from \"fs\";\nimport os from \"os\";\nimport { exec, execSync } from \"child_process\";\nimport path from \"node:path\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nimport { Package, BackendMicroservice, logger, CONFIG, Class } from \"qcobjects\";\n\nconst fixWinCmd = function (commandline: string) {\n if (!process.platform.toLowerCase().startsWith(\"win\")) {\n commandline = commandline.replace(/(\")/g, String.fromCharCode(92) + \"\\\"\");\n }\n return commandline;\n};\n\n\nclass PHPMicroservice extends BackendMicroservice {\n request: any;\n stream: any;\n scriptFilePath: any;\n domain: any;\n tempFileName!: string;\n route: any;\n body: any;\n headers:any;\n constructor() {\n super();\n const o = this;\n\n logger.debug(\"PHP Microservice executing\");\n const microservice = this;\n const request = microservice.request;\n const stream = o.stream;\n microservice.stream = stream;\n stream.on(\"data\", (data: any) => {\n // data from POST, GET\n const requestMethod = request.method.toLowerCase();\n const supportedMethods: any = {\n \"post\": microservice.post.bind(this),\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice, data);\n }\n });\n\n // data from POST, GET\n const requestMethod = request.method.toLowerCase();\n const supportedMethods: any = {\n \"get\": microservice.get.bind(this),\n \"head\": microservice.head.bind(this),\n \"put\": microservice.put.bind(this),\n \"delete\": microservice.delete.bind(this),\n \"connect\": microservice.connect.bind(this),\n \"options\": microservice.options.bind(this),\n \"trace\": microservice.trace.bind(this),\n \"patch\": microservice.patch.bind(this)\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice);\n }\n\n }\n\n get_php_headers_list() {\n const phpheaders: any = {\n \"QUERY_STRING\": `${this.request.query}`,\n \"REDIRECT_STATUS\": \"200\",\n \"REQUEST_METHOD\": `${this.request.method}`,\n \"SCRIPT_FILENAME\": `${this.scriptFilePath}`,\n \"SCRIPT_NAME\": `${this.scriptFilePath.toString()}`,\n \"PATH_INFO\": `${this.request.path}`,\n \"SERVER_NAME\": `${this.domain}`,\n \"SERVER_PROTOCOL\": \"HTTP/2\",\n \"REQUEST_URI\": `${this.request.href}`,\n \"HTTP_HOST\": `${this.domain}`\n };\n\n function fixedEncodeURIComponent(str: string | number | boolean) {\n return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\\*/g, \"%2A\");\n }\n for (const headername in this.request.headers) {\n if (!headername.startsWith(\":\")) {\n const phpheadername = headername.toUpperCase().replace(new RegExp(\"-\", \"g\"), \"_\");\n let headervalue = this.request.headers[headername];\n if (typeof headervalue !== \"string\") {\n headervalue = JSON.stringify(headervalue);\n }\n phpheaders[\"HTTP_\" + phpheadername] = fixedEncodeURIComponent(headervalue);\n }\n }\n\n return PipeLog.pipe(phpheaders);\n }\n\n saveTempData(data: any, done: { (): void; (): void; call?: any; }) {\n const filename = os.tmpdir() + this.tempFileName;\n fs.writeFile(filename, data, (err: any) => {\n if (err) throw err;\n logger.debug(\"A temp data file has been saved!\");\n done.call(this);\n });\n }\n\n generateTempFileName() {\n this.tempFileName = \"temp\" + Date.now().toString();\n return this.tempFileName;\n }\n\n trimSlash(pathname: string) {\n if (pathname.startsWith(\"/\")) {\n pathname = pathname.slice(1);\n }\n if (pathname.endsWith(\"/\")) {\n pathname = pathname.slice(0, -1);\n }\n return pathname.replace(\"//\", \"/\");\n }\n\n get() {\n const microservice = this;\n microservice.generateTempFileName();\n\n microservice.saveTempData(this.request.query, function () {\n try {\n process.chdir(CONFIG.get(\"documentRoot\") + microservice.request.pathname.slice(1));\n } catch (e) { }\n\n const scriptFileName = (microservice.route.hasOwnProperty.call(microservice.route, \"redirect_to\") &&\n microservice.route.redirect_to !== \"\") ? (microservice.route.redirect_to) : (microservice.request.scriptname);\n const pathname = microservice.trimSlash(microservice.request.pathname);\n let documentRoot = CONFIG.get(\"documentRoot\", \"\");\n if (documentRoot == \"./\") {\n documentRoot = \"\";\n }\n\n let scriptFilePath;\n if (documentRoot !== \"\") {\n scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;\n } else {\n scriptFilePath = `${pathname}/${scriptFileName}`;\n }\n\n scriptFilePath = scriptFilePath.replace(\"//\", \"/\");\n if (scriptFilePath.startsWith(\"/\") && !documentRoot.startsWith(\"/\")) {\n scriptFilePath = scriptFilePath.slice(1);\n }\n\n logger.debug(`Loading PHP file: ${scriptFilePath}`);\n const PHPIncludePath = `.:${CONFIG.get(\"documentRoot\")}:${CONFIG.get(\"projectPath\")}`;\n\n microservice.scriptFilePath = scriptFilePath;\n\n let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path=\"${PHPIncludePath}\" -q <<- 'EOF'\n<?php\n$_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');\nforeach ($_SERVER as $_k => $_v) {\nif (array_key_exists($_k,$_ENV)){\n$_SERVER[$_k] = $_ENV[$_k];\n}\nif ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){\n$_SERVER[$_k]=urldecode($_v);\n}\n}\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_GET);\nunlink(sys_get_temp_dir().'${microservice.tempFileName}');\ninclude('${scriptFilePath}');\n?>\nEOF`;\n commandline = fixWinCmd(commandline);\n logger.debug(commandline);\n try {\n const php = exec(commandline, (err: any, stdout: any, stderr: any) => {\n microservice.body = stdout;\n console.log(stderr);\n microservice.done();\n });\n } catch (ex: any) {\n microservice.body = \"500 - INTERNAL ERROR\";\n logger.debug(ex.toString());\n console.log(ex);\n microservice.done();\n }\n\n });\n\n }\n\n head(formData: any) {\n this.done();\n }\n\n post(formData: any) {\n logger.debug(\"POST DATA\");\n const microservice = this;\n microservice.generateTempFileName();\n\n microservice.saveTempData(formData, function () {\n try {\n process.chdir(CONFIG.get(\"documentRoot\") + microservice.request.pathname.slice(1));\n } catch (e) { }\n\n const scriptFileName = (microservice.route.hasOwnProperty.call(microservice.route, \"redirect_to\") &&\n microservice.route.redirect_to !== \"\") ? (microservice.route.redirect_to) : (microservice.request.scriptname);\n const pathname = microservice.trimSlash(microservice.request.pathname);\n let documentRoot = CONFIG.get(\"documentRoot\", \"\");\n if (documentRoot == \"./\") {\n documentRoot = \"\";\n }\n\n let scriptFilePath;\n if (documentRoot !== \"\") {\n scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;\n } else {\n scriptFilePath = `${pathname}/${scriptFileName}`;\n }\n\n scriptFilePath = scriptFilePath.replace(\"//\", \"/\");\n if (scriptFilePath.startsWith(\"/\") && !documentRoot.startsWith(\"/\")) {\n scriptFilePath = scriptFilePath.slice(1);\n }\n\n logger.debug(`Loading PHP file: ${scriptFilePath}`);\n const PHPIncludePath = `.:${CONFIG.get(\"documentRoot\")}:${CONFIG.get(\"projectPath\")}`;\n\n microservice.scriptFilePath = scriptFilePath;\n\n let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path=\"${PHPIncludePath}\" -q <<- 'EOF'\n<?php\n$_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');\nforeach ($_SERVER as $_k => $_v) {\nif (array_key_exists($_k,$_ENV)){\n$_SERVER[$_k] = $_ENV[$_k];\n}\nif ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){\n$_SERVER[$_k]=urldecode($_v);\n}\n}\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_POST);\nunlink(sys_get_temp_dir().'${microservice.tempFileName}');\n@include('${scriptFilePath}');\n?>\nEOF`;\n commandline = fixWinCmd(commandline);\n // logger.debug(commandline);\n\n try {\n microservice.body = execSync(commandline).toString();\n } catch (ex: any) {\n microservice.body = \"500 - INTERNAL ERROR\";\n logger.debug(ex.toString());\n }\n microservice.done();\n\n });\n\n }\n\n put(formData: any) {\n this.done();\n }\n\n delete(formData: any) {\n this.done();\n }\n\n connect(formData: any) {\n this.done();\n }\n\n options(formData: any) {\n this.done();\n }\n\n trace(formData: any) {\n this.done();\n }\n\n patch(formData: any) {\n this.done();\n }\n\n done() {\n const microservice = this;\n const stream = microservice.stream;\n try {\n stream.respond(microservice.headers);\n } catch (e) {\n //\n }\n if (microservice.body != null) {\n microservice.finishWithBody.call(microservice, stream);\n }\n }\n\n finishWithBody(stream: { write: (arg0: any) => void; end: () => void; }) {\n try {\n stream.write(this.body);\n stream.end();\n } catch (e: any) {\n logger.debug(\"Something wrong writing the response for microservice\" + e.toString());\n }\n }\n\n\n}\n\nconst Microservice = Class(\"Microservice\", PHPMicroservice);\n\nPackage(\"org.quickcorp.backend.php\", [\n\n PHPMicroservice,\n Microservice\n]);\n\nexports = {\n PHPMicroservice,\n Microservice\n};"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\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 { PipeLog } from \"../common-pipelog\";\nimport fs from \"fs\";\nimport os from \"os\";\nimport { exec, execSync } from \"child_process\";\nimport path from \"node:path\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nimport { Package, BackendMicroservice, logger, CONFIG, Class } from \"qcobjects\";\n\nconst fixWinCmd = function (commandline: string) {\n if (!process.platform.toLowerCase().startsWith(\"win\")) {\n commandline = commandline.replace(/(\")/g, String.fromCharCode(92) + \"\\\"\");\n }\n return commandline;\n};\n\n\nclass PHPMicroservice extends BackendMicroservice {\n request: any;\n stream: any;\n scriptFilePath: any;\n domain: any;\n tempFileName!: string;\n route: any;\n body: any;\n headers:any;\n constructor() {\n super();\n const o = this;\n\n logger.debug(\"PHP Microservice executing\");\n const microservice = this;\n const request = microservice.request;\n const stream = o.stream;\n microservice.stream = stream;\n stream.on(\"data\", (data: any) => {\n // data from POST, GET\n const requestMethod = request.method.toLowerCase();\n const supportedMethods: any = {\n \"post\": microservice.post.bind(this),\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice, data);\n }\n });\n\n // data from POST, GET\n const requestMethod = request.method.toLowerCase();\n const supportedMethods: any = {\n \"get\": microservice.get.bind(this),\n \"head\": microservice.head.bind(this),\n \"put\": microservice.put.bind(this),\n \"delete\": microservice.delete.bind(this),\n \"connect\": microservice.connect.bind(this),\n \"options\": microservice.options.bind(this),\n \"trace\": microservice.trace.bind(this),\n \"patch\": microservice.patch.bind(this)\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice);\n }\n\n }\n\n get_php_headers_list() {\n const phpheaders: any = {\n \"QUERY_STRING\": `${this.request.query}`,\n \"REDIRECT_STATUS\": \"200\",\n \"REQUEST_METHOD\": `${this.request.method}`,\n \"SCRIPT_FILENAME\": `${this.scriptFilePath}`,\n \"SCRIPT_NAME\": `${this.scriptFilePath.toString()}`,\n \"PATH_INFO\": `${this.request.path}`,\n \"SERVER_NAME\": `${this.domain}`,\n \"SERVER_PROTOCOL\": \"HTTP/2\",\n \"REQUEST_URI\": `${this.request.href}`,\n \"HTTP_HOST\": `${this.domain}`\n };\n\n function fixedEncodeURIComponent(str: string | number | boolean) {\n return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\\*/g, \"%2A\");\n }\n for (const headername in this.request.headers) {\n if (!headername.startsWith(\":\")) {\n const phpheadername = headername.toUpperCase().replace(new RegExp(\"-\", \"g\"), \"_\");\n let headervalue = this.request.headers[headername];\n if (typeof headervalue !== \"string\") {\n headervalue = JSON.stringify(headervalue);\n }\n phpheaders[\"HTTP_\" + phpheadername] = fixedEncodeURIComponent(headervalue);\n }\n }\n\n return PipeLog.pipe(phpheaders);\n }\n\n saveTempData(data: any, done: { (): void; (): void; call?: any; }) {\n const filename = os.tmpdir() + this.tempFileName;\n fs.writeFile(filename, data, (err: any) => {\n if (err) throw err;\n logger.debug(\"A temp data file has been saved!\");\n done.call(this);\n });\n }\n\n generateTempFileName() {\n this.tempFileName = \"temp\" + Date.now().toString();\n return this.tempFileName;\n }\n\n trimSlash(pathname: string) {\n if (pathname.startsWith(\"/\")) {\n pathname = pathname.slice(1);\n }\n if (pathname.endsWith(\"/\")) {\n pathname = pathname.slice(0, -1);\n }\n return pathname.replace(\"//\", \"/\");\n }\n\n get() {\n const microservice = this;\n microservice.generateTempFileName();\n\n microservice.saveTempData(this.request.query, function () {\n try {\n process.chdir(CONFIG.get(\"documentRoot\") + microservice.request.pathname.slice(1));\n } catch (e) { }\n\n const scriptFileName = (microservice.route.hasOwnProperty.call(microservice.route, \"redirect_to\") &&\n microservice.route.redirect_to !== \"\") ? (microservice.route.redirect_to) : (microservice.request.scriptname);\n const pathname = microservice.trimSlash(microservice.request.pathname);\n let documentRoot = CONFIG.get(\"documentRoot\", \"\");\n if (documentRoot == \"./\") {\n documentRoot = \"\";\n }\n\n let scriptFilePath;\n if (documentRoot !== \"\") {\n scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;\n } else {\n scriptFilePath = `${pathname}/${scriptFileName}`;\n }\n\n scriptFilePath = scriptFilePath.replace(\"//\", \"/\");\n if (scriptFilePath.startsWith(\"/\") && !documentRoot.startsWith(\"/\")) {\n scriptFilePath = scriptFilePath.slice(1);\n }\n\n logger.debug(`Loading PHP file: ${scriptFilePath}`);\n const PHPIncludePath = `.:${CONFIG.get(\"documentRoot\")}:${CONFIG.get(\"projectPath\")}`;\n\n microservice.scriptFilePath = scriptFilePath;\n\n let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path=\"${PHPIncludePath}\" -q <<- 'EOF'\n<?php\n$_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');\nforeach ($_SERVER as $_k => $_v) {\nif (array_key_exists($_k,$_ENV)){\n$_SERVER[$_k] = $_ENV[$_k];\n}\nif ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){\n$_SERVER[$_k]=urldecode($_v);\n}\n}\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_GET);\nunlink(sys_get_temp_dir().'${microservice.tempFileName}');\ninclude('${scriptFilePath}');\n?>\nEOF`;\n commandline = fixWinCmd(commandline);\n logger.debug(commandline);\n try {\n const php = exec(commandline, (err: any, stdout: any, stderr: any) => {\n microservice.body = stdout;\n console.log(stderr);\n microservice.done();\n });\n } catch (ex: any) {\n microservice.body = \"500 - INTERNAL ERROR\";\n logger.debug(ex.toString());\n console.log(ex);\n microservice.done();\n }\n\n });\n\n }\n\n head(formData: any) {\n this.done();\n }\n\n post(formData: any) {\n logger.debug(\"POST DATA\");\n const microservice = this;\n microservice.generateTempFileName();\n\n microservice.saveTempData(formData, function () {\n try {\n process.chdir(CONFIG.get(\"documentRoot\") + microservice.request.pathname.slice(1));\n } catch (e) { }\n\n const scriptFileName = (microservice.route.hasOwnProperty.call(microservice.route, \"redirect_to\") &&\n microservice.route.redirect_to !== \"\") ? (microservice.route.redirect_to) : (microservice.request.scriptname);\n const pathname = microservice.trimSlash(microservice.request.pathname);\n let documentRoot = CONFIG.get(\"documentRoot\", \"\");\n if (documentRoot == \"./\") {\n documentRoot = \"\";\n }\n\n let scriptFilePath;\n if (documentRoot !== \"\") {\n scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;\n } else {\n scriptFilePath = `${pathname}/${scriptFileName}`;\n }\n\n scriptFilePath = scriptFilePath.replace(\"//\", \"/\");\n if (scriptFilePath.startsWith(\"/\") && !documentRoot.startsWith(\"/\")) {\n scriptFilePath = scriptFilePath.slice(1);\n }\n\n logger.debug(`Loading PHP file: ${scriptFilePath}`);\n const PHPIncludePath = `.:${CONFIG.get(\"documentRoot\")}:${CONFIG.get(\"projectPath\")}`;\n\n microservice.scriptFilePath = scriptFilePath;\n\n let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path=\"${PHPIncludePath}\" -q <<- 'EOF'\n<?php\n$_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');\nforeach ($_SERVER as $_k => $_v) {\nif (array_key_exists($_k,$_ENV)){\n$_SERVER[$_k] = $_ENV[$_k];\n}\nif ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){\n$_SERVER[$_k]=urldecode($_v);\n}\n}\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_POST);\nunlink(sys_get_temp_dir().'${microservice.tempFileName}');\n@include('${scriptFilePath}');\n?>\nEOF`;\n commandline = fixWinCmd(commandline);\n // logger.debug(commandline);\n\n try {\n microservice.body = execSync(commandline).toString();\n } catch (ex: any) {\n microservice.body = \"500 - INTERNAL ERROR\";\n logger.debug(ex.toString());\n }\n microservice.done();\n\n });\n\n }\n\n put(formData: any) {\n this.done();\n }\n\n delete(formData: any) {\n this.done();\n }\n\n connect(formData: any) {\n this.done();\n }\n\n options(formData: any) {\n this.done();\n }\n\n trace(formData: any) {\n this.done();\n }\n\n patch(formData: any) {\n this.done();\n }\n\n done() {\n const microservice = this;\n const stream = microservice.stream;\n try {\n stream.respond(microservice.headers);\n } catch (e) {\n //\n }\n if (microservice.body != null) {\n microservice.finishWithBody.call(microservice, stream);\n }\n }\n\n finishWithBody(stream: { write: (arg0: any) => void; end: () => void; }) {\n try {\n stream.write(this.body);\n stream.end();\n } catch (e: any) {\n logger.debug(\"Something wrong writing the response for microservice\" + e.toString());\n }\n }\n\n\n}\n\nconst Microservice = Class(\"Microservice\", PHPMicroservice);\n\nPackage(\"org.quickcorp.backend.php\", [\n\n PHPMicroservice,\n Microservice\n]);\n\nexports = {\n PHPMicroservice,\n Microservice\n};"],
5
+ "mappings": ";;;;;;;;;;AAsBA,SAAS,eAAe;AACxB,OAAO,QAAQ;AACf,OAAO,QAAQ;AACf,SAAS,MAAM,gBAAgB;AAC/B,OAAO,UAAU;AAGjB,SAAS,SAAS,qBAAqB,QAAQ,QAAQ,aAAa;AA7BpE;AAAA;AA2BA,UAAM,eAAe,KAAK,QAAQ,WAAW,IAAI;AAIjD,UAAM,YAAY,gCAAU,aAAqB;AAC/C,UAAI,CAAC,QAAQ,SAAS,YAAY,EAAE,WAAW,KAAK,GAAG;AACrD,sBAAc,YAAY,QAAQ,QAAQ,OAAO,aAAa,EAAE,IAAI,GAAI;AAAA,MAC1E;AACA,aAAO;AAAA,IACT,GALkB;AAAA,IAQlB,MAAM,wBAAwB,oBAAoB;AAAA,MAvClD,OAuCkD;AAAA;AAAA;AAAA,MAChD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAc;AACZ,cAAM;AACN,cAAM,IAAI;AAEV,eAAO,MAAM,4BAA4B;AACzC,cAAM,eAAe;AACrB,cAAM,UAAU,aAAa;AAC7B,cAAM,SAAS,EAAE;AACjB,qBAAa,SAAS;AACtB,eAAO,GAAG,QAAQ,CAAC,SAAc;AAE/B,gBAAMA,iBAAgB,QAAQ,OAAO,YAAY;AACjD,gBAAMC,oBAAwB;AAAA,YAC5B,QAAQ,aAAa,KAAK,KAAK,IAAI;AAAA,UACrC;AACA,cAAIA,kBAAiB,eAAe,KAAKA,mBAAkBD,cAAa,GAAG;AACzE,YAAAC,kBAAiBD,cAAa,EAAE,KAAK,cAAc,IAAI;AAAA,UACzD;AAAA,QACF,CAAC;AAGD,cAAM,gBAAgB,QAAQ,OAAO,YAAY;AACjD,cAAM,mBAAwB;AAAA,UAC5B,OAAO,aAAa,IAAI,KAAK,IAAI;AAAA,UACjC,QAAQ,aAAa,KAAK,KAAK,IAAI;AAAA,UACnC,OAAO,aAAa,IAAI,KAAK,IAAI;AAAA,UACjC,UAAU,aAAa,OAAO,KAAK,IAAI;AAAA,UACvC,WAAW,aAAa,QAAQ,KAAK,IAAI;AAAA,UACzC,WAAW,aAAa,QAAQ,KAAK,IAAI;AAAA,UACzC,SAAS,aAAa,MAAM,KAAK,IAAI;AAAA,UACrC,SAAS,aAAa,MAAM,KAAK,IAAI;AAAA,QACvC;AACA,YAAI,iBAAiB,eAAe,KAAK,kBAAkB,aAAa,GAAG;AACzE,2BAAiB,aAAa,EAAE,KAAK,YAAY;AAAA,QACnD;AAAA,MAEF;AAAA,MAEA,uBAAuB;AACrB,cAAM,aAAkB;AAAA,UACtB,gBAAgB,GAAG,KAAK,QAAQ,KAAK;AAAA,UACrC,mBAAmB;AAAA,UACnB,kBAAkB,GAAG,KAAK,QAAQ,MAAM;AAAA,UACxC,mBAAmB,GAAG,KAAK,cAAc;AAAA,UACzC,eAAe,GAAG,KAAK,eAAe,SAAS,CAAC;AAAA,UAChD,aAAa,GAAG,KAAK,QAAQ,IAAI;AAAA,UACjC,eAAe,GAAG,KAAK,MAAM;AAAA,UAC7B,mBAAmB;AAAA,UACnB,eAAe,GAAG,KAAK,QAAQ,IAAI;AAAA,UACnC,aAAa,GAAG,KAAK,MAAM;AAAA,QAC7B;AAEA,iBAAS,wBAAwB,KAAgC;AAC/D,iBAAO,mBAAmB,GAAG,EAAE,QAAQ,WAAW,MAAM,EAAE,QAAQ,OAAO,KAAK;AAAA,QAChF;AAFS;AAGT,mBAAW,cAAc,KAAK,QAAQ,SAAS;AAC7C,cAAI,CAAC,WAAW,WAAW,GAAG,GAAG;AAC/B,kBAAM,gBAAgB,WAAW,YAAY,EAAE,QAAQ,IAAI,OAAO,KAAK,GAAG,GAAG,GAAG;AAChF,gBAAI,cAAc,KAAK,QAAQ,QAAQ,UAAU;AACjD,gBAAI,OAAO,gBAAgB,UAAU;AACnC,4BAAc,KAAK,UAAU,WAAW;AAAA,YAC1C;AACA,uBAAW,UAAU,aAAa,IAAI,wBAAwB,WAAW;AAAA,UAC3E;AAAA,QACF;AAEA,eAAO,QAAQ,KAAK,UAAU;AAAA,MAChC;AAAA,MAEA,aAAa,MAAW,MAA2C;AACjE,cAAM,WAAW,GAAG,OAAO,IAAI,KAAK;AACpC,WAAG,UAAU,UAAU,MAAM,CAAC,QAAa;AACzC,cAAI,IAAK,OAAM;AACf,iBAAO,MAAM,kCAAkC;AAC/C,eAAK,KAAK,IAAI;AAAA,QAChB,CAAC;AAAA,MACH;AAAA,MAEA,uBAAuB;AACrB,aAAK,eAAe,SAAS,KAAK,IAAI,EAAE,SAAS;AACjD,eAAO,KAAK;AAAA,MACd;AAAA,MAEA,UAAU,UAAkB;AAC1B,YAAI,SAAS,WAAW,GAAG,GAAG;AAC5B,qBAAW,SAAS,MAAM,CAAC;AAAA,QAC7B;AACA,YAAI,SAAS,SAAS,GAAG,GAAG;AAC1B,qBAAW,SAAS,MAAM,GAAG,EAAE;AAAA,QACjC;AACA,eAAO,SAAS,QAAQ,MAAM,GAAG;AAAA,MACnC;AAAA,MAEA,MAAM;AACJ,cAAM,eAAe;AACrB,qBAAa,qBAAqB;AAElC,qBAAa,aAAa,KAAK,QAAQ,OAAO,WAAY;AACxD,cAAI;AACF,oBAAQ,MAAM,OAAO,IAAI,cAAc,IAAI,aAAa,QAAQ,SAAS,MAAM,CAAC,CAAC;AAAA,UACnF,SAAS,GAAG;AAAA,UAAE;AAEd,gBAAM,iBAAkB,aAAa,MAAM,eAAe,KAAK,aAAa,OAAO,aAAa,KAC9F,aAAa,MAAM,gBAAgB,KAAO,aAAa,MAAM,cAAgB,aAAa,QAAQ;AACpG,gBAAM,WAAW,aAAa,UAAU,aAAa,QAAQ,QAAQ;AACrE,cAAI,eAAe,OAAO,IAAI,gBAAgB,EAAE;AAChD,cAAI,gBAAgB,MAAM;AACxB,2BAAe;AAAA,UACjB;AAEA,cAAI;AACJ,cAAI,iBAAiB,IAAI;AACvB,6BAAiB,GAAG,YAAY,IAAI,QAAQ,IAAI,cAAc;AAAA,UAChE,OAAO;AACL,6BAAiB,GAAG,QAAQ,IAAI,cAAc;AAAA,UAChD;AAEA,2BAAiB,eAAe,QAAQ,MAAM,GAAG;AACjD,cAAI,eAAe,WAAW,GAAG,KAAK,CAAC,aAAa,WAAW,GAAG,GAAG;AACnE,6BAAiB,eAAe,MAAM,CAAC;AAAA,UACzC;AAEA,iBAAO,MAAM,qBAAqB,cAAc,EAAE;AAClD,gBAAM,iBAAiB,KAAK,OAAO,IAAI,cAAc,CAAC,IAAI,OAAO,IAAI,aAAa,CAAC;AAEnF,uBAAa,iBAAiB;AAE9B,cAAI,cAAc,cAAc,GAAG,OAAO,CAAC,GAAG,aAAa,YAAY,QAAQ,aAAa,qBAAqB,IAAI,yBAAyB,cAAc;AAAA;AAAA,oDAE9G,aAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAWhD,aAAa,YAAY;AAAA,WAC3C,cAAc;AAAA;AAAA;AAGnB,wBAAc,UAAU,WAAW;AACnC,iBAAO,MAAM,WAAW;AACxB,cAAI;AACF,kBAAM,MAAM,KAAK,aAAa,CAAC,KAAU,QAAa,WAAgB;AACpE,2BAAa,OAAO;AACpB,sBAAQ,IAAI,MAAM;AAClB,2BAAa,KAAK;AAAA,YACpB,CAAC;AAAA,UACH,SAAS,IAAS;AAChB,yBAAa,OAAO;AACpB,mBAAO,MAAM,GAAG,SAAS,CAAC;AAC1B,oBAAQ,IAAI,EAAE;AACd,yBAAa,KAAK;AAAA,UACpB;AAAA,QAEF,CAAC;AAAA,MAEH;AAAA,MAEA,KAAK,UAAe;AAClB,aAAK,KAAK;AAAA,MACZ;AAAA,MAEA,KAAK,UAAe;AAClB,eAAO,MAAM,WAAW;AACxB,cAAM,eAAe;AACrB,qBAAa,qBAAqB;AAElC,qBAAa,aAAa,UAAU,WAAY;AAC9C,cAAI;AACF,oBAAQ,MAAM,OAAO,IAAI,cAAc,IAAI,aAAa,QAAQ,SAAS,MAAM,CAAC,CAAC;AAAA,UACnF,SAAS,GAAG;AAAA,UAAE;AAEd,gBAAM,iBAAkB,aAAa,MAAM,eAAe,KAAK,aAAa,OAAO,aAAa,KAC9F,aAAa,MAAM,gBAAgB,KAAO,aAAa,MAAM,cAAgB,aAAa,QAAQ;AACpG,gBAAM,WAAW,aAAa,UAAU,aAAa,QAAQ,QAAQ;AACrE,cAAI,eAAe,OAAO,IAAI,gBAAgB,EAAE;AAChD,cAAI,gBAAgB,MAAM;AACxB,2BAAe;AAAA,UACjB;AAEA,cAAI;AACJ,cAAI,iBAAiB,IAAI;AACvB,6BAAiB,GAAG,YAAY,IAAI,QAAQ,IAAI,cAAc;AAAA,UAChE,OAAO;AACL,6BAAiB,GAAG,QAAQ,IAAI,cAAc;AAAA,UAChD;AAEA,2BAAiB,eAAe,QAAQ,MAAM,GAAG;AACjD,cAAI,eAAe,WAAW,GAAG,KAAK,CAAC,aAAa,WAAW,GAAG,GAAG;AACnE,6BAAiB,eAAe,MAAM,CAAC;AAAA,UACzC;AAEA,iBAAO,MAAM,qBAAqB,cAAc,EAAE;AAClD,gBAAM,iBAAiB,KAAK,OAAO,IAAI,cAAc,CAAC,IAAI,OAAO,IAAI,aAAa,CAAC;AAEnF,uBAAa,iBAAiB;AAE9B,cAAI,cAAc,cAAc,GAAG,OAAO,CAAC,GAAG,aAAa,YAAY,QAAQ,aAAa,qBAAqB,IAAI,yBAAyB,cAAc;AAAA;AAAA,oDAE9G,aAAa,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAWhD,aAAa,YAAY;AAAA,YAC1C,cAAc;AAAA;AAAA;AAGpB,wBAAc,UAAU,WAAW;AAGnC,cAAI;AACF,yBAAa,OAAO,SAAS,WAAW,EAAE,SAAS;AAAA,UACrD,SAAS,IAAS;AAChB,yBAAa,OAAO;AACpB,mBAAO,MAAM,GAAG,SAAS,CAAC;AAAA,UAC5B;AACA,uBAAa,KAAK;AAAA,QAEpB,CAAC;AAAA,MAEH;AAAA,MAEA,IAAI,UAAe;AACjB,aAAK,KAAK;AAAA,MACZ;AAAA,MAEA,OAAO,UAAe;AACpB,aAAK,KAAK;AAAA,MACZ;AAAA,MAEA,QAAQ,UAAe;AACrB,aAAK,KAAK;AAAA,MACZ;AAAA,MAEA,QAAQ,UAAe;AACrB,aAAK,KAAK;AAAA,MACZ;AAAA,MAEA,MAAM,UAAe;AACnB,aAAK,KAAK;AAAA,MACZ;AAAA,MAEA,MAAM,UAAe;AACnB,aAAK,KAAK;AAAA,MACZ;AAAA,MAEA,OAAO;AACL,cAAM,eAAe;AACrB,cAAM,SAAS,aAAa;AAC5B,YAAI;AACF,iBAAO,QAAQ,aAAa,OAAO;AAAA,QACrC,SAAS,GAAG;AAAA,QAEZ;AACA,YAAI,aAAa,QAAQ,MAAM;AAC7B,uBAAa,eAAe,KAAK,cAAc,MAAM;AAAA,QACvD;AAAA,MACF;AAAA,MAEA,eAAe,QAA0D;AACvE,YAAI;AACF,iBAAO,MAAM,KAAK,IAAI;AACtB,iBAAO,IAAI;AAAA,QACb,SAAS,GAAQ;AACf,iBAAO,MAAM,0DAA0D,EAAE,SAAS,CAAC;AAAA,QACrF;AAAA,MACF;AAAA,IAGF;AAEA,UAAM,eAAe,MAAM,gBAAgB,eAAe;AAE1D,YAAQ,6BAA6B;AAAA,MAEnC;AAAA,MACA;AAAA,IACF,CAAC;AAED,cAAU;AAAA,MACR;AAAA,MACA;AAAA,IACF;AAAA;AAAA;",
6
6
  "names": ["requestMethod", "supportedMethods"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-commands-build-esbuild.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\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 path from \"node:path\";\nimport { readFileSync, writeFileSync } from \"node:fs\";\nimport fs from \"node:fs/promises\";\nimport glob from \"glob\";\nimport esbuild, { BuildOptions, Format } from \"esbuild\";\nimport alias from \"esbuild-plugin-alias\";\nimport { Package, InheritClass, logger } from \"qcobjects\";\n\nconst externalPackages = [\n \"node:fs\", \"node:path\", \"node:os\", \"node:util\", \"node:events\", \n \"node:stream\", \"node:http\", \"node:https\", \"node:crypto\", \"node:zlib\", \n \"node:buffer\", \"node:url\", \"node:querystring\", \"node:child_process\", \n \"node:cluster\", \"node:dgram\", \"node:dns\", \"node:net\", \"node:readline\", \n \"node:repl\", \"node:tls\", \"node:tty\", \"node:vm\", \"node:worker_threads\"\n];\n\n// Function to detect and add the extension\nconst nameToExtension = (name: string, ext: string, settings: BuildOptions): string => {\n function isPackage(name: string): boolean {\n return !name.startsWith(\".\") && !name.startsWith(\"/\") && !name.includes(\"/\");\n }\n\n const hasExtension = /\\.[^/\\\\]+$/.test(name);\n const isExternalPackage = name.startsWith(\"qcobjects\") || \n name.startsWith(\"qcobjects-sdk\") ||\n name.startsWith(\"node:\") ||\n name.startsWith(\"fs\") ||\n name.startsWith(\"path\") ||\n name.startsWith(\"os\") ||\n name.startsWith(\"util\") ||\n name.startsWith(\"events\") ||\n name.startsWith(\"stream\") ||\n name.startsWith(\"http\") ||\n name.startsWith(\"https\") ||\n name.startsWith(\"crypto\") ||\n name.startsWith(\"zlib\") ||\n name.startsWith(\"buffer\") ||\n name.startsWith(\"url\") ||\n name.startsWith(\"querystring\") ||\n name.startsWith(\"child_process\") ||\n name.startsWith(\"cluster\") ||\n name.startsWith(\"dgram\") ||\n name.startsWith(\"dns\") ||\n name.startsWith(\"net\") ||\n name.startsWith(\"readline\") ||\n name.startsWith(\"repl\") ||\n name.startsWith(\"tls\") ||\n name.startsWith(\"tty\") ||\n name.startsWith(\"vm\") ||\n name.startsWith(\"worker_threads\")\n || externalPackages.includes(name);\n \n if (!hasExtension && !isPackage(name) && !isExternalPackage) {\n name += ext;\n }\n\n return name;\n};\n\n// Function to add .cjs and .mjs extensions to import/export/require statements\nconst addExtensions = (filePath: string, toExt: string, settings: BuildOptions): void => {\n const content = readFileSync(filePath, \"utf8\");\n const updatedContent = content\n .replace(/(from\\s+['\"])(.*?)(['\"])/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n })\n .replace(/(import\\s+['\"])(.*?)(['\"])/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n })\n .replace(/(export\\s+['\"])(.*?)(['\"])/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n })\n .replace(/(require\\s*\\(\\s*['\"])(.*?)(['\"]\\s*\\))/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n });\n writeFileSync(filePath, updatedContent, \"utf8\");\n};\n\nconst copyDir = async (source: string, dest: string, exclude: string[]): Promise<void> => {\n source = path.resolve(source);\n dest = path.resolve(dest);\n const dname = path.basename(source);\n const dirExcluded = exclude.includes(dname);\n\n const isDir = async (d: string): Promise<boolean> => {\n try {\n const stat = await fs.stat(d);\n return stat.isDirectory();\n } catch {\n return false;\n }\n };\n\n const isFile = async (d: string): Promise<boolean> => {\n try {\n const stat = await fs.stat(d);\n return stat.isFile();\n } catch {\n return false;\n }\n };\n\n if (await isDir(source) && !dirExcluded) {\n await fs.mkdir(dest, { recursive: true });\n const paths = await fs.readdir(source, { withFileTypes: true });\n const dirs = paths.filter(d => d.isDirectory());\n const files = paths.filter(f => f.isFile());\n\n for (const f of files) {\n const sourceFile = path.resolve(source, f.name);\n const destFile = path.resolve(dest, f.name);\n const fileExcluded = exclude.includes(f.name);\n if (await isFile(sourceFile) && !fileExcluded) {\n logger.debug(`[build:esbuild] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...`);\n await fs.copyFile(sourceFile, destFile);\n logger.debug(`[build:esbuild] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...DONE!`);\n }\n }\n\n for (const d of dirs) {\n const sourceDir = path.resolve(source, d.name);\n const destDir = path.resolve(dest, d.name);\n await copyDir(sourceDir, destDir, exclude);\n }\n }\n};\n\nconst ignorePlugin = {\n name: \"transform-qcobjects-imports\",\n setup(build: any) {\n build.onResolve({ filter: /^(qcobjects|qcobjects-sdk)$/ }, (args: any) => {\n if (args.kind === \"dynamic-import\") {\n return { \n path: args.path,\n namespace: \"qcobjects-transform\"\n };\n }\n return {\n external: true,\n path: args.path\n };\n });\n\n build.onResolve({ filter: /.*/, namespace: \"file\" }, (args: any) => {\n if (args.kind === \"dynamic-import\") {\n return {\n external: true,\n path: args.path\n };\n }\n return null;\n });\n\n build.onLoad({ filter: /.*/, namespace: \"qcobjects-transform\" }, (args: any) => {\n return {\n contents: `\n module.exports = __toESM(require(\"${args.path}\"), true);\n `,\n loader: \"js\"\n };\n });\n }\n};\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any;\n build_esbuild: () => Promise<void>;\n };\n\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n async build_esbuild() {\n try {\n logger.info(\"[build:esbuild] Starting esbuild process...\");\n\n // Get all TypeScript entry points\n const entryPoints = glob.sync(\"src/**/*.ts\");\n\n // Copy templates\n await copyDir(\"./src/templates\", \"./build/templates\", []);\n await copyDir(\"./src/templates\", \"./public/cjs/templates\", []);\n await copyDir(\"./src/templates\", \"./public/esm/templates\", []);\n await copyDir(\"./src/templates\", \"./public/browser/templates\", []);\n\n const baseSettings: BuildOptions = {\n entryPoints,\n bundle: false,\n outdir: \"public/cjs\",\n format: \"cjs\" as Format, \n target: [\"node22\"],\n tsconfig: \"tsconfig.json\",\n globalName: \"global\",\n minify: false,\n keepNames: true,\n sourcemap: true,\n splitting: false,\n chunkNames: \"chunks/[name]-[hash]\",\n plugins: [\n ignorePlugin,\n alias({\n \"types\": path.join(process.cwd(), \"src/types/global/index.d.ts\")\n })\n ]\n };\n\n const cjsSettings: BuildOptions = {\n ...baseSettings,\n outdir: \"public/cjs\",\n format: \"cjs\" as Format,\n platform: \"node\",\n outExtension: {\n \".js\": \".cjs\"\n },\n plugins: [\n ignorePlugin,\n {\n name: \"transform-dynamic-imports\",\n setup(build: any) {\n build.onEnd(() => {\n const files = glob.sync(\"public/cjs/**/*.cjs\");\n for (const file of files) {\n let content = readFileSync(file, \"utf8\");\n content = content.replace(\n /await\\s+import\\(['\"]([^'\"]+)['\"]\\)/g,\n \"__toESM(require(\\\"$1\\\"), true)\"\n );\n writeFileSync(file, content, \"utf8\");\n }\n });\n }\n },\n {\n name: \"add-extensions\",\n setup(build: any) {\n build.onEnd(() => {\n entryPoints.forEach((entry: string) => {\n const outputFilePath = path.join(\"./public/cjs\", entry.replace(\"src/\", \"\").replace(\".ts\", \".cjs\"));\n addExtensions(outputFilePath, \".cjs\", cjsSettings);\n });\n });\n }\n }\n ]\n };\n\n const esmSettings: BuildOptions = {\n ...baseSettings,\n outdir: \"public/esm\",\n format: \"esm\" as Format,\n platform: \"browser\",\n outExtension: {\n \".js\": \".mjs\"\n },\n plugins: [\n {\n name: \"transform-requires\",\n setup(build: any) {\n build.onEnd(() => {\n const files = glob.sync(\"public/esm/**/*.mjs\");\n for (const file of files) {\n let content = readFileSync(file, \"utf8\");\n // Transform require statements to dynamic imports\n content = content.replace(\n /const\\s+{([^}]+)}\\s*=\\s*require\\(['\"]([^'\"]+)['\"]\\)/g,\n \"import { $1 } from \\\"$2\\\"\"\n );\n content = content.replace(\n /const\\s+([^=]+)\\s*=\\s*require\\(['\"]([^'\"]+)['\"]\\)/g,\n \"import $1 from \\\"$2\\\"\"\n );\n writeFileSync(file, content, \"utf8\");\n }\n });\n }\n },\n {\n name: \"add-extensions\",\n setup(build: any) {\n build.onEnd(() => {\n entryPoints.forEach((entry: string) => {\n const outputFilePath = path.join(\"./public/esm\", entry.replace(\"src/\", \"\").replace(\".ts\", \".mjs\"));\n addExtensions(outputFilePath, \".mjs\", esmSettings);\n });\n });\n }\n }\n ]\n };\n\n const browserSettings: BuildOptions = {\n ...baseSettings,\n outdir: \"public/browser\",\n format: \"iife\" as Format,\n platform: \"browser\",\n outExtension: {\n \".js\": \".js\"\n }\n };\n\n // Build all formats\n await Promise.all([\n esbuild.build(cjsSettings),\n esbuild.build(esmSettings),\n esbuild.build(browserSettings)\n ]);\n\n logger.info(\"[build:esbuild] Build process completed successfully!\");\n } catch (e: any) {\n logger.error(`[build:esbuild] Build process failed: ${e.message}`);\n process.exit(1);\n }\n }\n };\n\n const commandHandler = this;\n logger.debug(\"Loading command build:esbuild...\");\n\n // Register both commands\n switchCommander.program.command(\"build:esbuild\")\n .allowExcessArguments(false)\n .description(\"Builds the project using esbuild for CJS, ESM, and browser formats\")\n .action(function () {\n commandHandler.choiceOption.build_esbuild.call(commandHandler);\n });\n\n // Add alias\n switchCommander.program.command(\"build:esb\")\n .allowExcessArguments(false)\n .description(\"Alias for build:esbuild - Builds the project using esbuild\")\n .action(function () {\n commandHandler.choiceOption.build_esbuild.call(commandHandler);\n });\n\n logger.debug(\"Loading command build:esbuild... DONE.\");\n }\n}\n\nPackage(\"com.qcobjects.cli.commands.build.esbuild\", [\n CommandHandler\n]);"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\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 path from \"node:path\";\nimport { readFileSync, writeFileSync } from \"node:fs\";\nimport fs from \"node:fs/promises\";\nimport glob from \"glob\";\nimport esbuild, { BuildOptions, Format } from \"esbuild\";\nimport alias from \"esbuild-plugin-alias\";\nimport { Package, InheritClass, logger } from \"qcobjects\";\n\nconst externalPackages = [\n \"node:fs\", \"node:path\", \"node:os\", \"node:util\", \"node:events\", \n \"node:stream\", \"node:http\", \"node:https\", \"node:crypto\", \"node:zlib\", \n \"node:buffer\", \"node:url\", \"node:querystring\", \"node:child_process\", \n \"node:cluster\", \"node:dgram\", \"node:dns\", \"node:net\", \"node:readline\", \n \"node:repl\", \"node:tls\", \"node:tty\", \"node:vm\", \"node:worker_threads\"\n];\n\n// Function to detect and add the extension\nconst nameToExtension = (name: string, ext: string, settings: BuildOptions): string => {\n function isPackage(name: string): boolean {\n return !name.startsWith(\".\") && !name.startsWith(\"/\") && !name.includes(\"/\");\n }\n\n const hasExtension = /\\.[^/\\\\]+$/.test(name);\n const isExternalPackage = name.startsWith(\"qcobjects\") || \n name.startsWith(\"qcobjects-sdk\") ||\n name.startsWith(\"node:\") ||\n name.startsWith(\"fs\") ||\n name.startsWith(\"path\") ||\n name.startsWith(\"os\") ||\n name.startsWith(\"util\") ||\n name.startsWith(\"events\") ||\n name.startsWith(\"stream\") ||\n name.startsWith(\"http\") ||\n name.startsWith(\"https\") ||\n name.startsWith(\"crypto\") ||\n name.startsWith(\"zlib\") ||\n name.startsWith(\"buffer\") ||\n name.startsWith(\"url\") ||\n name.startsWith(\"querystring\") ||\n name.startsWith(\"child_process\") ||\n name.startsWith(\"cluster\") ||\n name.startsWith(\"dgram\") ||\n name.startsWith(\"dns\") ||\n name.startsWith(\"net\") ||\n name.startsWith(\"readline\") ||\n name.startsWith(\"repl\") ||\n name.startsWith(\"tls\") ||\n name.startsWith(\"tty\") ||\n name.startsWith(\"vm\") ||\n name.startsWith(\"worker_threads\")\n || externalPackages.includes(name);\n \n if (!hasExtension && !isPackage(name) && !isExternalPackage) {\n name += ext;\n }\n\n return name;\n};\n\n// Function to add .cjs and .mjs extensions to import/export/require statements\nconst addExtensions = (filePath: string, toExt: string, settings: BuildOptions): void => {\n const content = readFileSync(filePath, \"utf8\");\n const updatedContent = content\n .replace(/(from\\s+['\"])(.*?)(['\"])/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n })\n .replace(/(import\\s+['\"])(.*?)(['\"])/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n })\n .replace(/(export\\s+['\"])(.*?)(['\"])/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n })\n .replace(/(require\\s*\\(\\s*['\"])(.*?)(['\"]\\s*\\))/g, (match, p1, p2, p3) => {\n return `${p1}${nameToExtension(p2, toExt, settings)}${p3}`;\n });\n writeFileSync(filePath, updatedContent, \"utf8\");\n};\n\nconst copyDir = async (source: string, dest: string, exclude: string[]): Promise<void> => {\n source = path.resolve(source);\n dest = path.resolve(dest);\n const dname = path.basename(source);\n const dirExcluded = exclude.includes(dname);\n\n const isDir = async (d: string): Promise<boolean> => {\n try {\n const stat = await fs.stat(d);\n return stat.isDirectory();\n } catch {\n return false;\n }\n };\n\n const isFile = async (d: string): Promise<boolean> => {\n try {\n const stat = await fs.stat(d);\n return stat.isFile();\n } catch {\n return false;\n }\n };\n\n if (await isDir(source) && !dirExcluded) {\n await fs.mkdir(dest, { recursive: true });\n const paths = await fs.readdir(source, { withFileTypes: true });\n const dirs = paths.filter(d => d.isDirectory());\n const files = paths.filter(f => f.isFile());\n\n for (const f of files) {\n const sourceFile = path.resolve(source, f.name);\n const destFile = path.resolve(dest, f.name);\n const fileExcluded = exclude.includes(f.name);\n if (await isFile(sourceFile) && !fileExcluded) {\n logger.debug(`[build:esbuild] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...`);\n await fs.copyFile(sourceFile, destFile);\n logger.debug(`[build:esbuild] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...DONE!`);\n }\n }\n\n for (const d of dirs) {\n const sourceDir = path.resolve(source, d.name);\n const destDir = path.resolve(dest, d.name);\n await copyDir(sourceDir, destDir, exclude);\n }\n }\n};\n\nconst ignorePlugin = {\n name: \"transform-qcobjects-imports\",\n setup(build: any) {\n build.onResolve({ filter: /^(qcobjects|qcobjects-sdk)$/ }, (args: any) => {\n if (args.kind === \"dynamic-import\") {\n return { \n path: args.path,\n namespace: \"qcobjects-transform\"\n };\n }\n return {\n external: true,\n path: args.path\n };\n });\n\n build.onResolve({ filter: /.*/, namespace: \"file\" }, (args: any) => {\n if (args.kind === \"dynamic-import\") {\n return {\n external: true,\n path: args.path\n };\n }\n return null;\n });\n\n build.onLoad({ filter: /.*/, namespace: \"qcobjects-transform\" }, (args: any) => {\n return {\n contents: `\n module.exports = __toESM(require(\"${args.path}\"), true);\n `,\n loader: \"js\"\n };\n });\n }\n};\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any;\n build_esbuild: () => Promise<void>;\n };\n\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n async build_esbuild() {\n try {\n logger.info(\"[build:esbuild] Starting esbuild process...\");\n\n // Get all TypeScript entry points\n const entryPoints = glob.sync(\"src/**/*.ts\");\n\n // Copy templates\n await copyDir(\"./src/templates\", \"./build/templates\", []);\n await copyDir(\"./src/templates\", \"./public/cjs/templates\", []);\n await copyDir(\"./src/templates\", \"./public/esm/templates\", []);\n await copyDir(\"./src/templates\", \"./public/browser/templates\", []);\n\n const baseSettings: BuildOptions = {\n entryPoints,\n bundle: false,\n outdir: \"public/cjs\",\n format: \"cjs\" as Format, \n target: [\"node22\"],\n tsconfig: \"tsconfig.json\",\n globalName: \"global\",\n minify: false,\n keepNames: true,\n sourcemap: true,\n splitting: false,\n chunkNames: \"chunks/[name]-[hash]\",\n plugins: [\n ignorePlugin,\n alias({\n \"types\": path.join(process.cwd(), \"src/types/global/index.d.ts\")\n })\n ]\n };\n\n const cjsSettings: BuildOptions = {\n ...baseSettings,\n outdir: \"public/cjs\",\n format: \"cjs\" as Format,\n platform: \"node\",\n outExtension: {\n \".js\": \".cjs\"\n },\n plugins: [\n ignorePlugin,\n {\n name: \"transform-dynamic-imports\",\n setup(build: any) {\n build.onEnd(() => {\n const files = glob.sync(\"public/cjs/**/*.cjs\");\n for (const file of files) {\n let content = readFileSync(file, \"utf8\");\n content = content.replace(\n /await\\s+import\\(['\"]([^'\"]+)['\"]\\)/g,\n \"__toESM(require(\\\"$1\\\"), true)\"\n );\n writeFileSync(file, content, \"utf8\");\n }\n });\n }\n },\n {\n name: \"add-extensions\",\n setup(build: any) {\n build.onEnd(() => {\n entryPoints.forEach((entry: string) => {\n const outputFilePath = path.join(\"./public/cjs\", entry.replace(\"src/\", \"\").replace(\".ts\", \".cjs\"));\n addExtensions(outputFilePath, \".cjs\", cjsSettings);\n });\n });\n }\n }\n ]\n };\n\n const esmSettings: BuildOptions = {\n ...baseSettings,\n outdir: \"public/esm\",\n format: \"esm\" as Format,\n platform: \"browser\",\n outExtension: {\n \".js\": \".mjs\"\n },\n plugins: [\n {\n name: \"transform-requires\",\n setup(build: any) {\n build.onEnd(() => {\n const files = glob.sync(\"public/esm/**/*.mjs\");\n for (const file of files) {\n let content = readFileSync(file, \"utf8\");\n // Transform require statements to dynamic imports\n content = content.replace(\n /const\\s+{([^}]+)}\\s*=\\s*require\\(['\"]([^'\"]+)['\"]\\)/g,\n \"import { $1 } from \\\"$2\\\"\"\n );\n content = content.replace(\n /const\\s+([^=]+)\\s*=\\s*require\\(['\"]([^'\"]+)['\"]\\)/g,\n \"import $1 from \\\"$2\\\"\"\n );\n writeFileSync(file, content, \"utf8\");\n }\n });\n }\n },\n {\n name: \"add-extensions\",\n setup(build: any) {\n build.onEnd(() => {\n entryPoints.forEach((entry: string) => {\n const outputFilePath = path.join(\"./public/esm\", entry.replace(\"src/\", \"\").replace(\".ts\", \".mjs\"));\n addExtensions(outputFilePath, \".mjs\", esmSettings);\n });\n });\n }\n }\n ]\n };\n\n const browserSettings: BuildOptions = {\n ...baseSettings,\n outdir: \"public/browser\",\n format: \"iife\" as Format,\n platform: \"browser\",\n outExtension: {\n \".js\": \".js\"\n }\n };\n\n // Build all formats\n await Promise.all([\n esbuild.build(cjsSettings),\n esbuild.build(esmSettings),\n esbuild.build(browserSettings)\n ]);\n\n logger.info(\"[build:esbuild] Build process completed successfully!\");\n } catch (e: any) {\n logger.error(`[build:esbuild] Build process failed: ${e.message}`);\n process.exit(1);\n }\n }\n };\n\n const commandHandler = this;\n logger.debug(\"Loading command build:esbuild...\");\n\n // Register both commands\n switchCommander.program.command(\"build:esbuild\")\n .allowExcessArguments(false)\n .description(\"Builds the project using esbuild for CJS, ESM, and browser formats\")\n .action(function () {\n commandHandler.choiceOption.build_esbuild.call(commandHandler);\n });\n\n // Add alias\n switchCommander.program.command(\"build:esb\")\n .allowExcessArguments(false)\n .description(\"Alias for build:esbuild - Builds the project using esbuild\")\n .action(function () {\n commandHandler.choiceOption.build_esbuild.call(commandHandler);\n });\n\n logger.debug(\"Loading command build:esbuild... DONE.\");\n }\n}\n\nPackage(\"com.qcobjects.cli.commands.build.esbuild\", [\n CommandHandler\n]);"],
5
+ "mappings": "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",
6
6
  "names": ["name"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-commands-build-typescript.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\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 path from \"node:path\";\nimport ts from \"typescript\";\nimport { Package, InheritClass, logger } from \"qcobjects\";\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any;\n build_typescript: (configFile: string) => void;\n };\n\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n build_typescript(configFile) {\n try {\n logger.info(`[build:typescript] Building TypeScript with config file: ${configFile}...`);\n \n // Resolve the path to the tsconfig file\n const configPath = path.resolve(process.cwd(), configFile);\n\n // Parse the tsconfig file\n const parsedCommandLine = ts.getParsedCommandLineOfConfigFile(configPath, {}, {\n ...ts.sys,\n onUnRecoverableConfigFileDiagnostic: diagnostic => {\n logger.warn(ts.formatDiagnostic(diagnostic, {\n getCanonicalFileName: (fileName) => fileName,\n getCurrentDirectory: ts.sys.getCurrentDirectory,\n getNewLine: () => ts.sys.newLine,\n }));\n process.exit(1);\n }\n });\n\n if (!parsedCommandLine) {\n logger.warn('Failed to parse tsconfig file');\n process.exit(1);\n }\n\n // Create a program with the parsed settings\n const program = ts.createProgram({\n rootNames: parsedCommandLine.fileNames,\n options: parsedCommandLine.options,\n });\n\n // Emit the compiled files\n const emitResult = program.emit();\n\n // Report any diagnostics (errors or warnings)\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);\n\n allDiagnostics.forEach(diagnostic => {\n if (diagnostic.file && diagnostic.start) {\n const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n');\n logger.warn(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);\n } else {\n logger.warn(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'));\n }\n });\n\n // Check if any files were emitted\n const emittedFiles = emitResult.emittedFiles || [];\n if (emittedFiles.length > 0) {\n logger.info('Emitted files:');\n emittedFiles.forEach(file => logger.info(file));\n }\n\n // Exit with an appropriate code\n const exitCode = emitResult.emitSkipped ? 1 : 0;\n logger.info(`Process completed with code '${exitCode}'.`);\n if (exitCode !== 0) {\n process.exit(exitCode);\n }\n } catch (e: any) {\n logger.warn(`Something went wrong trying to build TypeScript: ${e.message}`);\n process.exit(1);\n }\n }\n };\n\n const commandHandler = this;\n logger.debug(\"Loading command build:typescript...\");\n\n // Register both commands\n const buildCommand = switchCommander.program.command(\"build:typescript <configFile>\")\n .allowExcessArguments(false)\n .description(\"Builds TypeScript files using the specified config file\")\n .action(function (configFile: string) {\n commandHandler.choiceOption.build_typescript.call(commandHandler, configFile);\n });\n\n // Add alias\n switchCommander.program.command(\"build:ts <configFile>\")\n .allowExcessArguments(false)\n .description(\"Alias for build:typescript - Builds TypeScript files using the specified config file\")\n .action(function (configFile: string) {\n commandHandler.choiceOption.build_typescript.call(commandHandler, configFile);\n });\n\n logger.debug(\"Loading command build:typescript... DONE.\");\n }\n}\n\nPackage(\"com.qcobjects.cli.commands.build.typescript\", [\n CommandHandler\n]); "],
5
- "mappings": ";;AA+BA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,SAAS,cAAc,cAAc;AAEvC,MAAM,uBAAuB,aAAa;AAAA,EAnCjD,OAmCiD;AAAA;AAAA;AAAA,EAC/C;AAAA,EAKA,YAAY;AAAA,IACV;AAAA,EACF,GAA6B;AAC3B,UAAM,EAAE,gBAAgB,CAAC;AACzB,SAAK,eAAe;AAAA,MAClB,iBAAiB,YAAY;AAC3B,YAAI;AACF,iBAAO,KAAK,4DAA4D,UAAU,KAAK;AAGvF,gBAAM,aAAa,KAAK,QAAQ,QAAQ,IAAI,GAAG,UAAU;AAGzD,gBAAM,oBAAoB,GAAG,iCAAiC,YAAY,CAAC,GAAG;AAAA,YAC5E,GAAG,GAAG;AAAA,YACN,qCAAqC,uCAAc;AACjD,qBAAO,KAAK,GAAG,iBAAiB,YAAY;AAAA,gBAC1C,sBAAsB,wBAAC,aAAa,UAAd;AAAA,gBACtB,qBAAqB,GAAG,IAAI;AAAA,gBAC5B,YAAY,6BAAM,GAAG,IAAI,SAAb;AAAA,cACd,CAAC,CAAC;AACF,sBAAQ,KAAK,CAAC;AAAA,YAChB,GAPqC;AAAA,UAQvC,CAAC;AAED,cAAI,CAAC,mBAAmB;AACtB,mBAAO,KAAK,+BAA+B;AAC3C,oBAAQ,KAAK,CAAC;AAAA,UAChB;AAGA,gBAAM,UAAU,GAAG,cAAc;AAAA,YAC/B,WAAW,kBAAkB;AAAA,YAC7B,SAAS,kBAAkB;AAAA,UAC7B,CAAC;AAGD,gBAAM,aAAa,QAAQ,KAAK;AAGhC,gBAAM,iBAAiB,GAAG,sBAAsB,OAAO,EAAE,OAAO,WAAW,WAAW;AAEtF,yBAAe,QAAQ,gBAAc;AACnC,gBAAI,WAAW,QAAQ,WAAW,OAAO;AACvC,oBAAM,EAAE,MAAM,UAAU,IAAI,WAAW,KAAK,8BAA8B,WAAW,KAAK;AAC1F,oBAAM,UAAU,GAAG,6BAA6B,WAAW,aAAa,IAAI;AAC5E,qBAAO,KAAK,GAAG,WAAW,KAAK,QAAQ,KAAK,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,OAAO,EAAE;AAAA,YACtF,OAAO;AACL,qBAAO,KAAK,GAAG,6BAA6B,WAAW,aAAa,IAAI,CAAC;AAAA,YAC3E;AAAA,UACF,CAAC;AAGD,gBAAM,eAAe,WAAW,gBAAgB,CAAC;AACjD,cAAI,aAAa,SAAS,GAAG;AAC3B,mBAAO,KAAK,gBAAgB;AAC5B,yBAAa,QAAQ,UAAQ,OAAO,KAAK,IAAI,CAAC;AAAA,UAChD;AAGA,gBAAM,WAAW,WAAW,cAAc,IAAI;AAC9C,iBAAO,KAAK,gCAAgC,QAAQ,IAAI;AACxD,cAAI,aAAa,GAAG;AAClB,oBAAQ,KAAK,QAAQ;AAAA,UACvB;AAAA,QACF,SAAS,GAAQ;AACf,iBAAO,KAAK,oDAAoD,EAAE,OAAO,EAAE;AAC3E,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAEA,UAAM,iBAAiB;AACvB,WAAO,MAAM,qCAAqC;AAGlD,UAAM,eAAe,gBAAgB,QAAQ,QAAQ,+BAA+B,EACjF,qBAAqB,KAAK,EAC1B,YAAY,yDAAyD,EACrE,OAAO,SAAU,YAAoB;AACpC,qBAAe,aAAa,iBAAiB,KAAK,gBAAgB,UAAU;AAAA,IAC9E,CAAC;AAGH,oBAAgB,QAAQ,QAAQ,uBAAuB,EACpD,qBAAqB,KAAK,EAC1B,YAAY,sFAAsF,EAClG,OAAO,SAAU,YAAoB;AACpC,qBAAe,aAAa,iBAAiB,KAAK,gBAAgB,UAAU;AAAA,IAC9E,CAAC;AAEH,WAAO,MAAM,2CAA2C;AAAA,EAC1D;AACF;AAEA,QAAQ,+CAA+C;AAAA,EACrD;AACF,CAAC;",
4
+ "sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\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 path from \"node:path\";\nimport ts from \"typescript\";\nimport { Package, InheritClass, logger } from \"qcobjects\";\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any;\n build_typescript: (configFile: string) => void;\n };\n\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n build_typescript(configFile) {\n try {\n logger.info(`[build:typescript] Building TypeScript with config file: ${configFile}...`);\n \n // Resolve the path to the tsconfig file\n const configPath = path.resolve(process.cwd(), configFile);\n\n // Parse the tsconfig file\n const parsedCommandLine = ts.getParsedCommandLineOfConfigFile(configPath, {}, {\n ...ts.sys,\n onUnRecoverableConfigFileDiagnostic: diagnostic => {\n logger.warn(ts.formatDiagnostic(diagnostic, {\n getCanonicalFileName: (fileName) => fileName,\n getCurrentDirectory: ts.sys.getCurrentDirectory,\n getNewLine: () => ts.sys.newLine,\n }));\n process.exit(1);\n }\n });\n\n if (!parsedCommandLine) {\n logger.warn('Failed to parse tsconfig file');\n process.exit(1);\n }\n\n // Create a program with the parsed settings\n const program = ts.createProgram({\n rootNames: parsedCommandLine.fileNames,\n options: parsedCommandLine.options,\n });\n\n // Emit the compiled files\n const emitResult = program.emit();\n\n // Report any diagnostics (errors or warnings)\n const allDiagnostics = ts.getPreEmitDiagnostics(program).concat(emitResult.diagnostics);\n\n allDiagnostics.forEach(diagnostic => {\n if (diagnostic.file && diagnostic.start) {\n const { line, character } = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start);\n const message = ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n');\n logger.warn(`${diagnostic.file.fileName} (${line + 1},${character + 1}): ${message}`);\n } else {\n logger.warn(ts.flattenDiagnosticMessageText(diagnostic.messageText, '\\n'));\n }\n });\n\n // Check if any files were emitted\n const emittedFiles = emitResult.emittedFiles || [];\n if (emittedFiles.length > 0) {\n logger.info('Emitted files:');\n emittedFiles.forEach(file => logger.info(file));\n }\n\n // Exit with an appropriate code\n const exitCode = emitResult.emitSkipped ? 1 : 0;\n logger.info(`Process completed with code '${exitCode}'.`);\n if (exitCode !== 0) {\n process.exit(exitCode);\n }\n } catch (e: any) {\n logger.warn(`Something went wrong trying to build TypeScript: ${e.message}`);\n process.exit(1);\n }\n }\n };\n\n const commandHandler = this;\n logger.debug(\"Loading command build:typescript...\");\n\n // Register both commands\n const buildCommand = switchCommander.program.command(\"build:typescript <configFile>\")\n .allowExcessArguments(false)\n .description(\"Builds TypeScript files using the specified config file\")\n .action(function (configFile: string) {\n commandHandler.choiceOption.build_typescript.call(commandHandler, configFile);\n });\n\n // Add alias\n switchCommander.program.command(\"build:ts <configFile>\")\n .allowExcessArguments(false)\n .description(\"Alias for build:typescript - Builds TypeScript files using the specified config file\")\n .action(function (configFile: string) {\n commandHandler.choiceOption.build_typescript.call(commandHandler, configFile);\n });\n\n logger.debug(\"Loading command build:typescript... DONE.\");\n }\n}\n\nPackage(\"com.qcobjects.cli.commands.build.typescript\", [\n CommandHandler\n]); "],
5
+ "mappings": ";;AAsBA,OAAO,UAAU;AACjB,OAAO,QAAQ;AACf,SAAS,SAAS,cAAc,cAAc;AAEvC,MAAM,uBAAuB,aAAa;AAAA,EA1BjD,OA0BiD;AAAA;AAAA;AAAA,EAC/C;AAAA,EAKA,YAAY;AAAA,IACV;AAAA,EACF,GAA6B;AAC3B,UAAM,EAAE,gBAAgB,CAAC;AACzB,SAAK,eAAe;AAAA,MAClB,iBAAiB,YAAY;AAC3B,YAAI;AACF,iBAAO,KAAK,4DAA4D,UAAU,KAAK;AAGvF,gBAAM,aAAa,KAAK,QAAQ,QAAQ,IAAI,GAAG,UAAU;AAGzD,gBAAM,oBAAoB,GAAG,iCAAiC,YAAY,CAAC,GAAG;AAAA,YAC5E,GAAG,GAAG;AAAA,YACN,qCAAqC,uCAAc;AACjD,qBAAO,KAAK,GAAG,iBAAiB,YAAY;AAAA,gBAC1C,sBAAsB,wBAAC,aAAa,UAAd;AAAA,gBACtB,qBAAqB,GAAG,IAAI;AAAA,gBAC5B,YAAY,6BAAM,GAAG,IAAI,SAAb;AAAA,cACd,CAAC,CAAC;AACF,sBAAQ,KAAK,CAAC;AAAA,YAChB,GAPqC;AAAA,UAQvC,CAAC;AAED,cAAI,CAAC,mBAAmB;AACtB,mBAAO,KAAK,+BAA+B;AAC3C,oBAAQ,KAAK,CAAC;AAAA,UAChB;AAGA,gBAAM,UAAU,GAAG,cAAc;AAAA,YAC/B,WAAW,kBAAkB;AAAA,YAC7B,SAAS,kBAAkB;AAAA,UAC7B,CAAC;AAGD,gBAAM,aAAa,QAAQ,KAAK;AAGhC,gBAAM,iBAAiB,GAAG,sBAAsB,OAAO,EAAE,OAAO,WAAW,WAAW;AAEtF,yBAAe,QAAQ,gBAAc;AACnC,gBAAI,WAAW,QAAQ,WAAW,OAAO;AACvC,oBAAM,EAAE,MAAM,UAAU,IAAI,WAAW,KAAK,8BAA8B,WAAW,KAAK;AAC1F,oBAAM,UAAU,GAAG,6BAA6B,WAAW,aAAa,IAAI;AAC5E,qBAAO,KAAK,GAAG,WAAW,KAAK,QAAQ,KAAK,OAAO,CAAC,IAAI,YAAY,CAAC,MAAM,OAAO,EAAE;AAAA,YACtF,OAAO;AACL,qBAAO,KAAK,GAAG,6BAA6B,WAAW,aAAa,IAAI,CAAC;AAAA,YAC3E;AAAA,UACF,CAAC;AAGD,gBAAM,eAAe,WAAW,gBAAgB,CAAC;AACjD,cAAI,aAAa,SAAS,GAAG;AAC3B,mBAAO,KAAK,gBAAgB;AAC5B,yBAAa,QAAQ,UAAQ,OAAO,KAAK,IAAI,CAAC;AAAA,UAChD;AAGA,gBAAM,WAAW,WAAW,cAAc,IAAI;AAC9C,iBAAO,KAAK,gCAAgC,QAAQ,IAAI;AACxD,cAAI,aAAa,GAAG;AAClB,oBAAQ,KAAK,QAAQ;AAAA,UACvB;AAAA,QACF,SAAS,GAAQ;AACf,iBAAO,KAAK,oDAAoD,EAAE,OAAO,EAAE;AAC3E,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAAA,MACF;AAAA,IACF;AAEA,UAAM,iBAAiB;AACvB,WAAO,MAAM,qCAAqC;AAGlD,UAAM,eAAe,gBAAgB,QAAQ,QAAQ,+BAA+B,EACjF,qBAAqB,KAAK,EAC1B,YAAY,yDAAyD,EACrE,OAAO,SAAU,YAAoB;AACpC,qBAAe,aAAa,iBAAiB,KAAK,gBAAgB,UAAU;AAAA,IAC9E,CAAC;AAGH,oBAAgB,QAAQ,QAAQ,uBAAuB,EACpD,qBAAqB,KAAK,EAC1B,YAAY,sFAAsF,EAClG,OAAO,SAAU,YAAoB;AACpC,qBAAe,aAAa,iBAAiB,KAAK,gBAAgB,UAAU;AAAA,IAC9E,CAAC;AAEH,WAAO,MAAM,2CAA2C;AAAA,EAC1D;AACF;AAEA,QAAQ,+CAA+C;AAAA,EACrD;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-commands-jira.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\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 path from \"node:path\";\n\nimport { JiraCloud } from \"./client_services\";\nimport { Package, InheritClass, _DataStringify, New, CONFIG, logger } from \"qcobjects\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any; issues: () => void;\n };\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n issues: function () {\n\n this.getIssueList().then(function (response: any) {\n console.log(_DataStringify(response));\n }).catch((e: any) => {\n console.log(e);\n process.exit(1);\n });\n\n }\n };\n\n const commandHandler = this;\n\n switchCommander.program.command(\"jira <subcommand>\")\n .option(\"-u, --from-user [username]\", \"User name\")\n .option(\"-fp,--from-project <projectName>\", \"Project name\")\n .option(\"-p, --pwd <password>\", \"Password\")\n .option(\"-f, --format <format>\", \"Format (json, table)\")\n .description(`Jira Integration:\n Sub-Commands can be:\n issues: To get the issues list from JIRA\n `)\n .action(function (subcommand: string | number, options: any) {\n if (commandHandler.choiceOption.hasOwnProperty.call(commandHandler.choiceOption, subcommand)) {\n commandHandler.choiceOption[subcommand].call(commandHandler, subcommand, options);\n } else {\n console.error(`Sub-Command (jira ${subcommand}... ) is not available`);\n process.exit(1);\n }\n });\n\n }\n\n getIssueList() {\n return new Promise<void>(function (resolve, reject) {\n logger.info(\"I'm going to get the issue list from the jira cloud...\");\n const jira_config = CONFIG.get(\"jira\", null);\n if (jira_config !== null) {\n const jira_username = jira_config.username;\n const jira_password = jira_config.auth_token;\n const jira_project = jira_config.project;\n const jira_domain = jira_config.domain;\n const jira_issue_fields = [\"id\", \"key\", \"summary\", \"timetracking\"];\n const cloudClient = New(JiraCloud, {\n domain: `${jira_domain}`,\n username: `${jira_username}`,\n password: `${jira_password}`,\n apiMethod: \"rest/api/latest/search\",\n data: {\n \"jql\": `project = ${jira_project}`,\n \"startAt\": 0,\n \"maxResults\": 5000,\n \"fields\": jira_issue_fields\n }\n });\n try {\n } catch (e) {\n console.error(\"\\u{1F926} Something went wrong \\u{1F926} when trying to get jira issues from the cloud\");\n reject(e as Error);\n }\n\n } else {\n console.error(\"\\u{1F926} Something went wrong \\u{1F926} You need to set the jira config settings\");\n reject(new Error(\"\\u{1F926} Something went wrong \\u{1F926} You need to set the jira config settings\"));\n }\n\n });\n }\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.jira\", [\n CommandHandler\n]);\n"],
5
- "mappings": ";;AA+BA,OAAO,UAAU;AAEjB,SAAS,iBAAiB;AAC1B,SAAS,SAAS,cAAc,gBAAgB,KAAK,QAAQ,cAAc;AAC3E,MAAM,eAAe,KAAK,QAAQ,WAAW,IAAI;AAE1C,MAAM,uBAAuB,aAAa;AAAA,EArCjD,OAqCiD;AAAA;AAAA;AAAA,EAC/C;AAAA,EAGA,YAAY;AAAA,IACV;AAAA,EACF,GAA6B;AAC3B,UAAM,EAAE,gBAAgB,CAAC;AACzB,SAAK,eAAe;AAAA,MAClB,QAAQ,kCAAY;AAElB,aAAK,aAAa,EAAE,KAAK,SAAU,UAAe;AAChD,kBAAQ,IAAI,eAAe,QAAQ,CAAC;AAAA,QACtC,CAAC,EAAE,MAAM,CAAC,MAAW;AACnB,kBAAQ,IAAI,CAAC;AACb,kBAAQ,KAAK,CAAC;AAAA,QAChB,CAAC;AAAA,MAEH,GATQ;AAAA,IAUV;AAEA,UAAM,iBAAiB;AAEvB,oBAAgB,QAAQ,QAAQ,mBAAmB,EAChD,OAAO,8BAA8B,WAAW,EAChD,OAAO,oCAAoC,cAAc,EACzD,OAAO,wBAAwB,UAAU,EACzC,OAAO,yBAAyB,sBAAsB,EACtD,YAAY;AAAA;AAAA;AAAA,SAGV,EACF,OAAO,SAAU,YAA6B,SAAc;AAC3D,UAAI,eAAe,aAAa,eAAe,KAAK,eAAe,cAAc,UAAU,GAAG;AAC5F,uBAAe,aAAa,UAAU,EAAE,KAAK,gBAAgB,YAAY,OAAO;AAAA,MAClF,OAAO;AACL,gBAAQ,MAAM,qBAAqB,UAAU,wBAAwB;AACrE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EAEL;AAAA,EAEA,eAAe;AACb,WAAO,IAAI,QAAc,SAAU,SAAS,QAAQ;AAClD,aAAO,KAAK,wDAAwD;AACpE,YAAM,cAAc,OAAO,IAAI,QAAQ,IAAI;AAC3C,UAAI,gBAAgB,MAAM;AACxB,cAAM,gBAAgB,YAAY;AAClC,cAAM,gBAAgB,YAAY;AAClC,cAAM,eAAe,YAAY;AACjC,cAAM,cAAc,YAAY;AAChC,cAAM,oBAAoB,CAAC,MAAM,OAAO,WAAW,cAAc;AACjE,cAAM,cAAc,IAAI,WAAW;AAAA,UACjC,QAAQ,GAAG,WAAW;AAAA,UACtB,UAAU,GAAG,aAAa;AAAA,UAC1B,UAAU,GAAG,aAAa;AAAA,UAC1B,WAAW;AAAA,UACX,MAAM;AAAA,YACJ,OAAO,aAAa,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,cAAc;AAAA,YACd,UAAU;AAAA,UACZ;AAAA,QACF,CAAC;AACD,YAAI;AAAA,QACJ,SAAS,GAAG;AACV,kBAAQ,MAAM,wFAAwF;AACtG,iBAAO,CAAU;AAAA,QACnB;AAAA,MAEF,OAAO;AACL,gBAAQ,MAAM,mFAAmF;AACjG,eAAO,IAAI,MAAM,mFAAmF,CAAC;AAAA,MACvG;AAAA,IAEF,CAAC;AAAA,EACH;AAGF;AAGA,QAAQ,mCAAmC;AAAA,EACzC;AACF,CAAC;",
4
+ "sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\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 path from \"node:path\";\n\nimport { JiraCloud } from \"./client_services\";\nimport { Package, InheritClass, _DataStringify, New, CONFIG, logger } from \"qcobjects\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any; issues: () => void;\n };\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n issues: function () {\n\n this.getIssueList().then(function (response: any) {\n console.log(_DataStringify(response));\n }).catch((e: any) => {\n console.log(e);\n process.exit(1);\n });\n\n }\n };\n\n const commandHandler = this;\n\n switchCommander.program.command(\"jira <subcommand>\")\n .option(\"-u, --from-user [username]\", \"User name\")\n .option(\"-fp,--from-project <projectName>\", \"Project name\")\n .option(\"-p, --pwd <password>\", \"Password\")\n .option(\"-f, --format <format>\", \"Format (json, table)\")\n .description(`Jira Integration:\n Sub-Commands can be:\n issues: To get the issues list from JIRA\n `)\n .action(function (subcommand: string | number, options: any) {\n if (commandHandler.choiceOption.hasOwnProperty.call(commandHandler.choiceOption, subcommand)) {\n commandHandler.choiceOption[subcommand].call(commandHandler, subcommand, options);\n } else {\n console.error(`Sub-Command (jira ${subcommand}... ) is not available`);\n process.exit(1);\n }\n });\n\n }\n\n getIssueList() {\n return new Promise<void>(function (resolve, reject) {\n logger.info(\"I'm going to get the issue list from the jira cloud...\");\n const jira_config = CONFIG.get(\"jira\", null);\n if (jira_config !== null) {\n const jira_username = jira_config.username;\n const jira_password = jira_config.auth_token;\n const jira_project = jira_config.project;\n const jira_domain = jira_config.domain;\n const jira_issue_fields = [\"id\", \"key\", \"summary\", \"timetracking\"];\n const cloudClient = New(JiraCloud, {\n domain: `${jira_domain}`,\n username: `${jira_username}`,\n password: `${jira_password}`,\n apiMethod: \"rest/api/latest/search\",\n data: {\n \"jql\": `project = ${jira_project}`,\n \"startAt\": 0,\n \"maxResults\": 5000,\n \"fields\": jira_issue_fields\n }\n });\n try {\n } catch (e) {\n console.error(\"\\u{1F926} Something went wrong \\u{1F926} when trying to get jira issues from the cloud\");\n reject(e as Error);\n }\n\n } else {\n console.error(\"\\u{1F926} Something went wrong \\u{1F926} You need to set the jira config settings\");\n reject(new Error(\"\\u{1F926} Something went wrong \\u{1F926} You need to set the jira config settings\"));\n }\n\n });\n }\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.jira\", [\n CommandHandler\n]);\n"],
5
+ "mappings": ";;AAsBA,OAAO,UAAU;AAEjB,SAAS,iBAAiB;AAC1B,SAAS,SAAS,cAAc,gBAAgB,KAAK,QAAQ,cAAc;AAC3E,MAAM,eAAe,KAAK,QAAQ,WAAW,IAAI;AAE1C,MAAM,uBAAuB,aAAa;AAAA,EA5BjD,OA4BiD;AAAA;AAAA;AAAA,EAC/C;AAAA,EAGA,YAAY;AAAA,IACV;AAAA,EACF,GAA6B;AAC3B,UAAM,EAAE,gBAAgB,CAAC;AACzB,SAAK,eAAe;AAAA,MAClB,QAAQ,kCAAY;AAElB,aAAK,aAAa,EAAE,KAAK,SAAU,UAAe;AAChD,kBAAQ,IAAI,eAAe,QAAQ,CAAC;AAAA,QACtC,CAAC,EAAE,MAAM,CAAC,MAAW;AACnB,kBAAQ,IAAI,CAAC;AACb,kBAAQ,KAAK,CAAC;AAAA,QAChB,CAAC;AAAA,MAEH,GATQ;AAAA,IAUV;AAEA,UAAM,iBAAiB;AAEvB,oBAAgB,QAAQ,QAAQ,mBAAmB,EAChD,OAAO,8BAA8B,WAAW,EAChD,OAAO,oCAAoC,cAAc,EACzD,OAAO,wBAAwB,UAAU,EACzC,OAAO,yBAAyB,sBAAsB,EACtD,YAAY;AAAA;AAAA;AAAA,SAGV,EACF,OAAO,SAAU,YAA6B,SAAc;AAC3D,UAAI,eAAe,aAAa,eAAe,KAAK,eAAe,cAAc,UAAU,GAAG;AAC5F,uBAAe,aAAa,UAAU,EAAE,KAAK,gBAAgB,YAAY,OAAO;AAAA,MAClF,OAAO;AACL,gBAAQ,MAAM,qBAAqB,UAAU,wBAAwB;AACrE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EAEL;AAAA,EAEA,eAAe;AACb,WAAO,IAAI,QAAc,SAAU,SAAS,QAAQ;AAClD,aAAO,KAAK,wDAAwD;AACpE,YAAM,cAAc,OAAO,IAAI,QAAQ,IAAI;AAC3C,UAAI,gBAAgB,MAAM;AACxB,cAAM,gBAAgB,YAAY;AAClC,cAAM,gBAAgB,YAAY;AAClC,cAAM,eAAe,YAAY;AACjC,cAAM,cAAc,YAAY;AAChC,cAAM,oBAAoB,CAAC,MAAM,OAAO,WAAW,cAAc;AACjE,cAAM,cAAc,IAAI,WAAW;AAAA,UACjC,QAAQ,GAAG,WAAW;AAAA,UACtB,UAAU,GAAG,aAAa;AAAA,UAC1B,UAAU,GAAG,aAAa;AAAA,UAC1B,WAAW;AAAA,UACX,MAAM;AAAA,YACJ,OAAO,aAAa,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,cAAc;AAAA,YACd,UAAU;AAAA,UACZ;AAAA,QACF,CAAC;AACD,YAAI;AAAA,QACJ,SAAS,GAAG;AACV,kBAAQ,MAAM,wFAAwF;AACtG,iBAAO,CAAU;AAAA,QACnB;AAAA,MAEF,OAAO;AACL,gBAAQ,MAAM,mFAAmF;AACjG,eAAO,IAAI,MAAM,mFAAmF,CAAC;AAAA,MACvG;AAAA,IAEF,CAAC;AAAA,EACH;AAGF;AAGA,QAAQ,mCAAmC;AAAA,EACzC;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-commands-publish-static.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\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 path from \"node:path\";\nimport fs from \"node:fs\";\n\nimport { Package, InheritClass, _DataStringify, New, CONFIG, logger } from \"qcobjects\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any; publish_static: (source:string, dest:string, options:any) => void;\n };\n\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n publish_static(source, dest, options) {\n\n const copyDir = (source:string, dest:string, exclude:string) => {\n source = path.resolve(source);\n dest = path.resolve(dest);\n const dname = path.basename(source);\n const dirExcluded = (exclude.includes(dname));\n \n const isDir = (d:string) => {\n return (fs.existsSync(d) && fs.statSync(d).isDirectory())?(true):(false);\n };\n \n const isFile = (d:string) => {\n return (fs.existsSync(d) && fs.statSync(d).isFile())?(true):(false);\n };\n \n if (isDir(source) && !dirExcluded){\n fs.mkdirSync(dest, {recursive:true});\n const paths = fs.readdirSync(source, {withFileTypes:true});\n const dirs = paths.filter(d=>d.isDirectory());\n const files = paths.filter(f=>f.isFile());\n void ((paths, dirs, files, exclude) => {\n files.forEach((f) => {\n const sourceFile = path.resolve(source, f.name);\n const destFile = path.resolve(dest, f.name);\n const fileExcluded = exclude.includes(f.name);\n if (isFile(sourceFile) && !fileExcluded) {\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...`);\n fs.copyFileSync(sourceFile, destFile);\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...DONE!`);\n }\n });\n dirs.forEach((d) => {\n const sourceDir = path.resolve(source, d.name);\n const destDir = path.resolve(dest, d.name);\n copyDir(sourceDir, destDir, exclude);\n });\n })(paths, dirs, files, exclude);\n }\n \n };\n \n try {\n logger.info(`[publish:static] Copying files from ${source} to ${dest} excluding ${options.exclude}...`);\n copyDir(source, dest, (typeof options.exclude !== \"undefined\") ? (options.exclude) : ([]));\n } catch (e:any) {\n logger.warn(`Something went wrong trying to publish static files: ${e.message}`);\n process.exit(1);\n }\n }\n \n };\n\n const commandHandler = this;\n logger.debug(\"Loading command publish-static...\");\n\n switchCommander.program.command(\"publish:static <source> <dest>\")\n .allowExcessArguments(false)\n .option(\"-e, --exclude <excludePaths...>\", \"Exclude some paths or files\")\n .description(\"Publishes (copy) all files and directories from source to dest\")\n .action(function (source:string, dest:string, options:any) {\n commandHandler.choiceOption.publish_static.call(commandHandler, source, dest, options);\n });\n\n logger.debug(\"Loading command publish-static... DONE.\");\n }\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.jira\", [\n CommandHandler\n]);\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * QCObjects Framework CLI\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QCObjects is licensed under the MIT License\n * [LICENSE] (https://github.com/QCObjects/qcobjects-cli/blob/main/LICENSE.txt)\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 path from \"node:path\";\nimport fs from \"node:fs\";\n\nimport { Package, InheritClass, _DataStringify, New, CONFIG, logger } from \"qcobjects\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any; publish_static: (source:string, dest:string, options:any) => void;\n };\n\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n publish_static(source, dest, options) {\n\n const copyDir = (source:string, dest:string, exclude:string) => {\n source = path.resolve(source);\n dest = path.resolve(dest);\n const dname = path.basename(source);\n const dirExcluded = (exclude.includes(dname));\n \n const isDir = (d:string) => {\n return (fs.existsSync(d) && fs.statSync(d).isDirectory())?(true):(false);\n };\n \n const isFile = (d:string) => {\n return (fs.existsSync(d) && fs.statSync(d).isFile())?(true):(false);\n };\n \n if (isDir(source) && !dirExcluded){\n fs.mkdirSync(dest, {recursive:true});\n const paths = fs.readdirSync(source, {withFileTypes:true});\n const dirs = paths.filter(d=>d.isDirectory());\n const files = paths.filter(f=>f.isFile());\n void ((paths, dirs, files, exclude) => {\n files.forEach((f) => {\n const sourceFile = path.resolve(source, f.name);\n const destFile = path.resolve(dest, f.name);\n const fileExcluded = exclude.includes(f.name);\n if (isFile(sourceFile) && !fileExcluded) {\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...`);\n fs.copyFileSync(sourceFile, destFile);\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...DONE!`);\n }\n });\n dirs.forEach((d) => {\n const sourceDir = path.resolve(source, d.name);\n const destDir = path.resolve(dest, d.name);\n copyDir(sourceDir, destDir, exclude);\n });\n })(paths, dirs, files, exclude);\n }\n \n };\n \n try {\n logger.info(`[publish:static] Copying files from ${source} to ${dest} excluding ${options.exclude}...`);\n copyDir(source, dest, (typeof options.exclude !== \"undefined\") ? (options.exclude) : ([]));\n } catch (e:any) {\n logger.warn(`Something went wrong trying to publish static files: ${e.message}`);\n process.exit(1);\n }\n }\n \n };\n\n const commandHandler = this;\n logger.debug(\"Loading command publish-static...\");\n\n switchCommander.program.command(\"publish:static <source> <dest>\")\n .allowExcessArguments(false)\n .option(\"-e, --exclude <excludePaths...>\", \"Exclude some paths or files\")\n .description(\"Publishes (copy) all files and directories from source to dest\")\n .action(function (source:string, dest:string, options:any) {\n commandHandler.choiceOption.publish_static.call(commandHandler, source, dest, options);\n });\n\n logger.debug(\"Loading command publish-static... DONE.\");\n }\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.jira\", [\n CommandHandler\n]);\n"],
5
+ "mappings": "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",
6
6
  "names": ["source", "dest", "paths", "dirs", "files", "exclude"]
7
7
  }
@@ -125,13 +125,13 @@ class CommandHandler extends InheritClass {
125
125
  });
126
126
  }
127
127
  };
128
- switchCommander.program.command("v-major [filename]").option("--git, --sync-git", "Sync with Git").option("--npm, --sync-npm", "Sync with NPM").option("-m, --commit-msg [message]", "Commit Message").description("Semantic Versioning: Upgrade to a new major version").action(function(args, options) {
128
+ switchCommander.program.command("v-major [filename]").option("--sync-git, --git", "Sync with Git").option("--sync-npm, --npm", "Sync with NPM").option("-m, --commit-msg [message]", "Commit Message").description("Semantic Versioning: Upgrade to a new major version").action(function(args, options) {
129
129
  return commandHandler.choiceOption.v_major.call(commandHandler, args, options);
130
130
  });
131
- switchCommander.program.command("v-minor [filename]").option("--git, --sync-git", "Sync with Git").option("--npm, --sync-npm", "Sync with NPM").option("-m, --commit-msg [message]", "Commit Message").description("Semantic Versioning: Upgrade to a new minor version").action(function(args, options) {
131
+ switchCommander.program.command("v-minor [filename]").option("--sync-git, --git", "Sync with Git").option("--sync-npm, --npm", "Sync with NPM").option("-m, --commit-msg [message]", "Commit Message").description("Semantic Versioning: Upgrade to a new minor version").action(function(args, options) {
132
132
  return commandHandler.choiceOption.v_minor.call(commandHandler, args, options);
133
133
  });
134
- switchCommander.program.command("v-patch [filename]").option("--git, --sync-git", "Sync with Git").option("--npm, --sync-npm", "Sync with NPM").option("-m, --commit-msg [message]", "Commit Message").description("Semantic Versioning: Upgrade to a new patch version").action(function(args, options) {
134
+ switchCommander.program.command("v-patch [filename]").option("--sync-git, --git", "Sync with Git").option("--sync-npm, --npm", "Sync with NPM").option("-m, --commit-msg [message]", "Commit Message").description("Semantic Versioning: Upgrade to a new patch version").action(function(args, options) {
135
135
  return commandHandler.choiceOption.v_patch.call(commandHandler, args, options);
136
136
  });
137
137
  switchCommander.program.command("v-sync [filename]").option("-m, --commit-msg [message]", "Commit Message").description("Semantic Versioning: Sync the version of NPM with version of GIT").action(function(args, options) {