qcobjects-cli 2.5.143-beta → 2.5.144-beta

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 (270) hide show
  1. package/.cursor/rules/collaboration-features.mdc +25 -0
  2. package/.cursor/rules/development-guidelines.mdc +37 -0
  3. package/.cursor/rules/project-structure.mdc +36 -0
  4. package/.dockerignore +0 -0
  5. package/.github/FUNDING.yml +0 -0
  6. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  7. package/.github/ISSUE_TEMPLATE/custom.md +0 -0
  8. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  9. package/.github/ISSUE_TEMPLATE/issue-template.md +0 -0
  10. package/.github/workflows/ci.yml +26 -0
  11. package/.github/workflows/codeql-analysis.yml +0 -0
  12. package/.github/workflows/main-pr-source.yml +26 -0
  13. package/.github/workflows/npmpublish-beta.yml +20 -13
  14. package/.github/workflows/npmpublish-lts.yml +20 -13
  15. package/.github/workflows/npmpublish-main.yml +19 -12
  16. package/.github/workflows/open-pr-to-development.yml +70 -0
  17. package/.gitlab-ci.yml +0 -0
  18. package/.opencode/instructions/git-workflow.md +46 -0
  19. package/.pre-commit-config.yaml +9 -0
  20. package/AGENTS.md +59 -0
  21. package/CHANGELOG.md +0 -0
  22. package/README.md +75 -0
  23. package/VERSION +1 -1
  24. package/build-esbuild-esm.js +180 -0
  25. package/build-esbuild.js +182 -208
  26. package/deno.json +0 -0
  27. package/dev-requirements.txt +5 -0
  28. package/eslint.config.mjs +0 -0
  29. package/mod.ts +0 -0
  30. package/package.json +45 -44
  31. package/public/browser/api-client_services.js.map +1 -1
  32. package/public/browser/backend/backend-microservice-static.js +211 -219
  33. package/public/browser/backend/backend-microservice-static.js.map +2 -2
  34. package/public/browser/backend/backend-php.js +227 -231
  35. package/public/browser/backend/backend-php.js.map +3 -3
  36. package/public/browser/cli-commands-build-esbuild.js +326 -0
  37. package/public/browser/cli-commands-build-esbuild.js.map +7 -0
  38. package/public/browser/cli-commands-build-typescript.js +114 -0
  39. package/public/browser/cli-commands-build-typescript.js.map +7 -0
  40. package/public/browser/cli-commands-jira.js.map +1 -1
  41. package/public/browser/cli-commands-version.js.map +1 -1
  42. package/public/browser/cli-commands.js +4 -0
  43. package/public/browser/cli-commands.js.map +2 -2
  44. package/public/browser/cli-main.js.map +1 -1
  45. package/public/browser/client_services.js.map +1 -1
  46. package/public/browser/collab-server.js.map +1 -1
  47. package/public/browser/common-pipelog.js.map +1 -1
  48. package/public/browser/defaultsettings.js +68 -27
  49. package/public/browser/defaultsettings.js.map +3 -3
  50. package/public/browser/enterprise-commands.js.map +1 -1
  51. package/public/browser/main-file.js.map +1 -1
  52. package/public/browser/main-http-gae-server.js.map +1 -1
  53. package/public/browser/main-http-server.js.map +1 -1
  54. package/public/browser/main-http2-server.js.map +1 -1
  55. package/public/browser/qcobjects-cli.js.map +1 -1
  56. package/public/browser/qcobjects-collab.js +16 -24
  57. package/public/browser/qcobjects-collab.js.map +2 -2
  58. package/public/browser/qcobjects-createcert.js +46 -54
  59. package/public/browser/qcobjects-createcert.js.map +2 -2
  60. package/public/browser/qcobjects-gae-http-server.js +16 -24
  61. package/public/browser/qcobjects-gae-http-server.js.map +2 -2
  62. package/public/browser/qcobjects-http-server.js +16 -24
  63. package/public/browser/qcobjects-http-server.js.map +2 -2
  64. package/public/browser/qcobjects-http2-server.js +21 -30
  65. package/public/browser/qcobjects-http2-server.js.map +2 -2
  66. package/public/browser/qcobjects-shell.js.map +1 -1
  67. package/public/browser/templates/apps/spa-local.html +0 -0
  68. package/public/browser/templates/apps/spa-local.js +0 -0
  69. package/public/browser/templates/pwa/sw.js +0 -0
  70. package/public/browser/types/global/index.d.js +0 -9
  71. package/public/browser/types/global/index.d.js.map +3 -3
  72. package/public/cjs/api-client_services.js +74 -0
  73. package/public/cjs/api-client_services.js.map +1 -0
  74. package/public/cjs/backend/backend-microservice-static.js +255 -0
  75. package/public/cjs/backend/backend-microservice-static.js.map +1 -0
  76. package/public/cjs/backend/backend-php.js +317 -0
  77. package/public/cjs/backend/backend-php.js.map +1 -0
  78. package/public/cjs/cli-commands-build-esbuild.js +341 -0
  79. package/public/cjs/cli-commands-build-esbuild.js.map +1 -0
  80. package/public/cjs/cli-commands-build-typescript.js +127 -0
  81. package/public/cjs/cli-commands-build-typescript.js.map +1 -0
  82. package/public/cjs/cli-commands-jira.js +115 -0
  83. package/public/cjs/cli-commands-jira.js.map +1 -0
  84. package/public/cjs/cli-commands-publish-static.js +108 -0
  85. package/public/cjs/cli-commands-publish-static.js.map +1 -0
  86. package/public/cjs/cli-commands-version.js +250 -0
  87. package/public/cjs/cli-commands-version.js.map +1 -0
  88. package/public/cjs/cli-commands.js +73 -0
  89. package/public/cjs/cli-commands.js.map +1 -0
  90. package/public/cjs/cli-main.js +487 -0
  91. package/public/cjs/cli-main.js.map +1 -0
  92. package/public/cjs/client_services.js +80 -0
  93. package/public/cjs/client_services.js.map +1 -0
  94. package/public/cjs/collab-server.js +404 -0
  95. package/public/cjs/collab-server.js.map +1 -0
  96. package/public/cjs/common-pipelog.js +57 -0
  97. package/public/cjs/common-pipelog.js.map +1 -0
  98. package/public/cjs/defaultsettings.js +496 -0
  99. package/public/cjs/defaultsettings.js.map +1 -0
  100. package/public/cjs/enterprise-commands.js +173 -0
  101. package/public/cjs/enterprise-commands.js.map +1 -0
  102. package/public/cjs/index.js +38 -0
  103. package/public/cjs/index.js.map +1 -0
  104. package/public/cjs/main-file.js +161 -0
  105. package/public/cjs/main-file.js.map +1 -0
  106. package/public/cjs/main-http-gae-server.js +498 -0
  107. package/public/cjs/main-http-gae-server.js.map +1 -0
  108. package/public/cjs/main-http-server.js +540 -0
  109. package/public/cjs/main-http-server.js.map +1 -0
  110. package/public/cjs/main-http2-server.js +398 -0
  111. package/public/cjs/main-http2-server.js.map +1 -0
  112. package/public/cjs/qcobjects-cli.js +105 -0
  113. package/public/cjs/qcobjects-cli.js.map +1 -0
  114. package/public/cjs/qcobjects-collab.js +51 -0
  115. package/public/cjs/qcobjects-collab.js.map +1 -0
  116. package/public/cjs/qcobjects-createcert.js +89 -0
  117. package/public/cjs/qcobjects-createcert.js.map +1 -0
  118. package/public/cjs/qcobjects-gae-http-server.js +51 -0
  119. package/public/cjs/qcobjects-gae-http-server.js.map +1 -0
  120. package/public/cjs/qcobjects-http-server.js +51 -0
  121. package/public/cjs/qcobjects-http-server.js.map +1 -0
  122. package/public/cjs/qcobjects-http2-server.js +54 -0
  123. package/public/cjs/qcobjects-http2-server.js.map +1 -0
  124. package/public/cjs/qcobjects-shell.js +145 -0
  125. package/public/cjs/qcobjects-shell.js.map +1 -0
  126. package/public/cjs/templates/apps/spa-local.html +0 -0
  127. package/public/cjs/templates/apps/spa-local.js +0 -0
  128. package/public/cjs/templates/pwa/sw.js +0 -0
  129. package/public/esm/api-client_services.mjs.map +1 -1
  130. package/public/esm/backend/backend-microservice-static.mjs +207 -216
  131. package/public/esm/backend/backend-microservice-static.mjs.map +2 -2
  132. package/public/esm/backend/backend-php.mjs +228 -232
  133. package/public/esm/backend/backend-php.mjs.map +2 -2
  134. package/public/esm/cli-commands-build-esbuild.mjs +295 -0
  135. package/public/esm/cli-commands-build-esbuild.mjs.map +7 -0
  136. package/public/esm/cli-commands-build-typescript.mjs +83 -0
  137. package/public/esm/cli-commands-build-typescript.mjs.map +7 -0
  138. package/public/esm/cli-commands-jira.mjs +1 -1
  139. package/public/esm/cli-commands-jira.mjs.map +1 -1
  140. package/public/esm/cli-commands-version.mjs.map +1 -1
  141. package/public/esm/cli-commands.mjs +7 -3
  142. package/public/esm/cli-commands.mjs.map +2 -2
  143. package/public/esm/cli-main.mjs +6 -6
  144. package/public/esm/cli-main.mjs.map +1 -1
  145. package/public/esm/client_services.mjs.map +1 -1
  146. package/public/esm/collab-server.mjs.map +1 -1
  147. package/public/esm/common-pipelog.mjs.map +1 -1
  148. package/public/esm/defaultsettings.mjs +68 -27
  149. package/public/esm/defaultsettings.mjs.map +3 -3
  150. package/public/esm/enterprise-commands.mjs.map +1 -1
  151. package/public/esm/index.mjs +1 -1
  152. package/public/esm/main-file.mjs.map +1 -1
  153. package/public/esm/main-http-gae-server.mjs +2 -2
  154. package/public/esm/main-http-gae-server.mjs.map +1 -1
  155. package/public/esm/main-http-server.mjs +2 -2
  156. package/public/esm/main-http-server.mjs.map +1 -1
  157. package/public/esm/main-http2-server.mjs +2 -2
  158. package/public/esm/main-http2-server.mjs.map +1 -1
  159. package/public/esm/qcobjects-cli.mjs +2 -2
  160. package/public/esm/qcobjects-cli.mjs.map +1 -1
  161. package/public/esm/qcobjects-collab.mjs +14 -23
  162. package/public/esm/qcobjects-collab.mjs.map +2 -2
  163. package/public/esm/qcobjects-createcert.mjs +43 -52
  164. package/public/esm/qcobjects-createcert.mjs.map +2 -2
  165. package/public/esm/qcobjects-gae-http-server.mjs +14 -23
  166. package/public/esm/qcobjects-gae-http-server.mjs.map +2 -2
  167. package/public/esm/qcobjects-http-server.mjs +14 -23
  168. package/public/esm/qcobjects-http-server.mjs.map +2 -2
  169. package/public/esm/qcobjects-http2-server.mjs +21 -31
  170. package/public/esm/qcobjects-http2-server.mjs.map +2 -2
  171. package/public/esm/qcobjects-shell.mjs +1 -1
  172. package/public/esm/qcobjects-shell.mjs.map +1 -1
  173. package/public/esm/templates/apps/spa-local.html +0 -0
  174. package/public/esm/templates/apps/spa-local.js +0 -0
  175. package/public/esm/templates/pwa/sw.js +0 -0
  176. package/public/esm/types/global/index.d.mjs +0 -9
  177. package/public/esm/types/global/index.d.mjs.map +3 -3
  178. package/public/types/index.d.ts +29 -3
  179. package/spec/support/jasmine.json +0 -0
  180. package/spec/testsSpec.ts +0 -0
  181. package/src/api-client_services.ts +1 -1
  182. package/src/backend/backend-microservice-static.ts +196 -196
  183. package/src/backend/backend-php.ts +240 -245
  184. package/src/cli-commands-build-esbuild.ts +375 -0
  185. package/src/cli-commands-build-typescript.ts +139 -0
  186. package/src/cli-commands-jira.ts +1 -1
  187. package/src/cli-commands-publish-static.ts +0 -0
  188. package/src/cli-commands-version.ts +1 -1
  189. package/src/cli-commands.ts +3 -1
  190. package/src/cli-main.ts +1 -1
  191. package/src/client_services.ts +1 -1
  192. package/src/collab-server.ts +1 -1
  193. package/src/common-pipelog.ts +1 -1
  194. package/src/defaultsettings.ts +65 -19
  195. package/src/enterprise-commands.ts +1 -1
  196. package/src/index.ts +0 -0
  197. package/src/main-file.ts +1 -1
  198. package/src/main-http-gae-server.ts +1 -1
  199. package/src/main-http-server.ts +1 -1
  200. package/src/main-http2-server.ts +1 -1
  201. package/src/qcobjects-cli.ts +1 -1
  202. package/src/qcobjects-collab.ts +1 -1
  203. package/src/qcobjects-createcert.ts +1 -1
  204. package/src/qcobjects-gae-http-server.ts +1 -1
  205. package/src/qcobjects-http-server.ts +1 -1
  206. package/src/qcobjects-http2-server.ts +4 -5
  207. package/src/qcobjects-shell.ts +1 -1
  208. package/src/templates/apps/spa-local.html +0 -0
  209. package/src/templates/apps/spa-local.js +0 -0
  210. package/src/templates/pwa/sw.js +0 -0
  211. package/src/types/global/index.d.ts +0 -0
  212. package/transpile.js +0 -0
  213. package/tsconfig.d.json +0 -0
  214. package/tsconfig.jasmine.json +0 -0
  215. package/tsconfig.json +3 -3
  216. package/public/cjs/api-client_services.cjs +0 -79
  217. package/public/cjs/api-client_services.cjs.map +0 -7
  218. package/public/cjs/backend/backend-microservice-static.cjs +0 -245
  219. package/public/cjs/backend/backend-microservice-static.cjs.map +0 -7
  220. package/public/cjs/backend/backend-php.cjs +0 -301
  221. package/public/cjs/backend/backend-php.cjs.map +0 -7
  222. package/public/cjs/cli-commands-jira.cjs +0 -112
  223. package/public/cjs/cli-commands-jira.cjs.map +0 -7
  224. package/public/cjs/cli-commands-publish-static.cjs +0 -109
  225. package/public/cjs/cli-commands-publish-static.cjs.map +0 -7
  226. package/public/cjs/cli-commands-version.cjs +0 -252
  227. package/public/cjs/cli-commands-version.cjs.map +0 -7
  228. package/public/cjs/cli-commands.cjs +0 -45
  229. package/public/cjs/cli-commands.cjs.map +0 -7
  230. package/public/cjs/cli-main.cjs +0 -417
  231. package/public/cjs/cli-main.cjs.map +0 -7
  232. package/public/cjs/client_services.cjs +0 -86
  233. package/public/cjs/client_services.cjs.map +0 -7
  234. package/public/cjs/collab-server.cjs +0 -444
  235. package/public/cjs/collab-server.cjs.map +0 -7
  236. package/public/cjs/common-pipelog.cjs +0 -50
  237. package/public/cjs/common-pipelog.cjs.map +0 -7
  238. package/public/cjs/defaultsettings.cjs +0 -432
  239. package/public/cjs/defaultsettings.cjs.map +0 -7
  240. package/public/cjs/enterprise-commands.cjs +0 -175
  241. package/public/cjs/enterprise-commands.cjs.map +0 -7
  242. package/public/cjs/index.cjs +0 -36
  243. package/public/cjs/index.cjs.map +0 -7
  244. package/public/cjs/main-file.cjs +0 -194
  245. package/public/cjs/main-file.cjs.map +0 -7
  246. package/public/cjs/main-http-gae-server.cjs +0 -522
  247. package/public/cjs/main-http-gae-server.cjs.map +0 -7
  248. package/public/cjs/main-http-server.cjs +0 -588
  249. package/public/cjs/main-http-server.cjs.map +0 -7
  250. package/public/cjs/main-http2-server.cjs +0 -431
  251. package/public/cjs/main-http2-server.cjs.map +0 -7
  252. package/public/cjs/qcobjects-cli.cjs +0 -92
  253. package/public/cjs/qcobjects-cli.cjs.map +0 -7
  254. package/public/cjs/qcobjects-collab.cjs +0 -43
  255. package/public/cjs/qcobjects-collab.cjs.map +0 -7
  256. package/public/cjs/qcobjects-createcert.cjs +0 -75
  257. package/public/cjs/qcobjects-createcert.cjs.map +0 -7
  258. package/public/cjs/qcobjects-gae-http-server.cjs +0 -43
  259. package/public/cjs/qcobjects-gae-http-server.cjs.map +0 -7
  260. package/public/cjs/qcobjects-http-server.cjs +0 -43
  261. package/public/cjs/qcobjects-http-server.cjs.map +0 -7
  262. package/public/cjs/qcobjects-http2-server.cjs +0 -49
  263. package/public/cjs/qcobjects-http2-server.cjs.map +0 -7
  264. package/public/cjs/qcobjects-shell.cjs +0 -185
  265. package/public/cjs/qcobjects-shell.cjs.map +0 -7
  266. package/public/cjs/types/global/index.d.cjs +0 -2
  267. package/public/cjs/types/global/index.d.cjs.map +0 -7
  268. package/public/types/index.d.ts.map +0 -1
  269. package/src/index.cts +0 -2
  270. package/src/index.mts +0 -2
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-commands-version.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { exec, execSync } from \"node:child_process\";\n\nimport { Package, InheritClass, logger } from \"qcobjects\";\nimport { SwitchCommander } from \"./cli-main\";\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n getVersionStringFromFile(filename: string): string;\n parseVersionSuffix(versionString: any): string;\n parseVersionString(versionString: any): string;\n buildNewVersionString(arg0: { major: number; minor: number; patch: number; }, versionSuffix: any): string;\n saveNewVersionFile(filename: string, newVersion: any): string;\n syncGit(newVersion: any, commitMsg: any, syncNpm: any): string;\n switchCommander: any; v_major(filename: string, options: any): void; v_minor(filename: string, options: any): void; v_patch(filename: string, options: any): void; v_sync(filename: string, options: any): void; v_changelog(): void;\n };\n switchCommander: SwitchCommander;\n\n constructor({ switchCommander }:{switchCommander:SwitchCommander}) {\n super({ switchCommander });\n this.switchCommander = switchCommander;\n\n const commandHandler = this;\n\n this.choiceOption = {\n v_major(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major + 1, minor: minor, patch: patch }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_minor(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major, minor: minor + 1, patch: patch }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_patch(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major, minor: minor, patch: patch + 1 }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_sync(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n var commandHandler = this;\n commandHandler.switchCommander.shellCommands([\n \"echo $(git describe)\"\n ]).then(function (response: any) {\n const versionString = response[0].split(\"-\")[0].slice(1).replace(\"\\n\", \"\");\n console.log(versionString);\n const versionSuffix = commandHandler.parseVersionSuffix(versionString);\n const versionObject = commandHandler.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = commandHandler.buildNewVersionString({ major: major, minor: minor, patch: patch }, versionSuffix);\n commandHandler.saveNewVersionFile(filename, newVersion);\n var commitMsg = options.commitMsg || `Synced Version v${newVersion}`;\n commandHandler.switchCommander.shellCommands(\n [\n \"git fetch --tags -f\",\n `git add . && git commit -am \"${commitMsg}\"`,\n \"git fetch origin --tags\",\n \"git tag -ln\",\n `npm version \"${newVersion}\" --allow-same-version -m \"${commitMsg}\"`,\n \"git push && git push --tags\"\n ]\n ).then(function (response: any) {\n console.log(response);\n });\n });\n },\n v_changelog() {\n const commandHandler = this;\n commandHandler.switchCommander.shellCommands(\n [\n \"git tag -ln\"\n ]\n ).then(function (response: any) {\n var versionTags = response[0].split(\"\\n\").map((tag: any) => tag.split(\" \").unique()).unique().map(\n (tag: any) => {\n return {\n \"version\": tag[0],\n \"major\": tag[0].split(\".\")[0],\n \"minor\": tag[0].split(\".\")[0] + \".\" + tag[0].split(\".\")[1],\n \"description\": tag.slice(1).join(\" \").trim()\n };\n }\n );\n var minorVersionTags = versionTags.filter((tag: { version: string; }) => tag.version !== \"\").map((tag: { version: string; }) => tag.version.split(\".\")[0] + \".\" + tag.version.split(\".\")[1]).unique();\n var history = minorVersionTags.map((minor: string) => {\n return {\n \"major\": minor.split(\".\")[0],\n \"minor\": minor,\n \"history\": \"\\n\\t- \" + versionTags.filter((tag: { minor: any; }) => tag.minor === minor).map(\n function (tag: { description: any; }) {\n return tag.description;\n }\n ).filter((desc: string) => !desc.startsWith(minor.slice(1))).sort().unique().join(\"\\n\\t- \")\n };\n }).map((hist: { major: any; minor: any; history: string; }) => { return `## ${hist.major} -> ${hist.minor}` + \"\\n\" + hist.history; }).join(\"\\n\");\n const subtitle = \"This is an automatic Changelog history of versions generated using the command: **qcobjects v-changelog > CHANGELOG.md**\";\n console.log(\"# Changelog \\n\\n\" + subtitle + \"\\n\\n\" + history);\n\n });\n }\n } as any;\n\n switchCommander.program.command(\"v-major [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new major version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_major.call(commandHandler, args, options);\n });\n switchCommander.program.command(\"v-minor [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new minor version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_minor.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-patch [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new patch version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_patch.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-sync [filename]\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Sync the version of NPM with version of GIT\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_sync.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-changelog\")\n .description(\"Semantic Versioning: Shows a changelog using Semantic Versioning\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_changelog.call(commandHandler);\n });\n\n\n }\n\n\n syncGit(versionString: any, commitMsg: any, syncNpm = false) {\n let _commands_: any[] = [];\n if (syncNpm) {\n _commands_ = _commands_.concat(\n [\n \"git fetch --tags -f\",\n `npm version \"${versionString}\" -m \"${commitMsg}\"`\n ]\n );\n }\n _commands_ = _commands_.concat(\n [\n `git add . && git commit -am \"${commitMsg}\"`,\n \"git fetch origin --tags\",\n \"git tag -ln\"\n ]);\n\n if (!syncNpm) {\n _commands_ = _commands_.concat(\n [\n `git tag -a \"v${versionString}\" -m \"${commitMsg}\"`,\n ]\n );\n }\n\n _commands_ = _commands_.concat([\n \"git push && git push --tags\"\n ]\n );\n\n this.switchCommander.shellCommands(_commands_).then(function (response: any) {\n logger.info(\"Synced to Git\");\n logger.debug(response);\n }).catch(function (e: any) {\n logger.info(\"Something went wrong trying to sync to git\");\n logger.debug(e);\n });\n }\n\n parseVersionString(versionString: string): { major: string, minor: string, patch: string } {\n versionString = versionString.replace(\"\\n\", \"\");\n const regexpVer = /^(?<major>0|[1-9]\\d*)\\.(?<minor>0|[1-9]\\d*)\\.(?<patch>0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n const versionObject = { ...versionString.match(regexpVer)?.groups };\n return versionObject as { major: string, minor: string, patch: string };\n }\n\n getVersionStringFromFile(filename: any) {\n let versionString;\n try {\n versionString = fs.readFileSync(filename).toString().replace(\"\\n\", \"\");\n } catch (e) {\n versionString = \"0.0.1\";\n }\n return versionString;\n }\n\n buildNewSemVersionString({ major, minor, patch }: { major: string, minor: string, patch: string }) {\n return `${major}.${minor}.${patch}`;\n }\n\n parseVersionSuffix(versionString: string) {\n versionString = versionString.replace(\"\\n\", \"\");\n const versionObject = this.parseVersionString(versionString);\n const semVersionString = this.buildNewSemVersionString(versionObject);\n return versionString.replace(semVersionString, \"\");\n }\n\n buildNewVersionString({ major, minor, patch }: any, suffix: any) {\n const semVersionString = this.buildNewSemVersionString({ major, minor, patch });\n return `${semVersionString}${suffix}`;\n }\n\n saveNewVersionFile(filename: any, versionString: any) {\n fs.writeFileSync(filename, versionString);\n }\n\n\n\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.version\", [\n CommandHandler\n]);\n"],
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 fs from \"node:fs\";\nimport path from \"node:path\";\nimport { exec, execSync } from \"node:child_process\";\n\nimport { Package, InheritClass, logger } from \"qcobjects\";\nimport { SwitchCommander } from \"./cli-main\";\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n getVersionStringFromFile(filename: string): string;\n parseVersionSuffix(versionString: any): string;\n parseVersionString(versionString: any): string;\n buildNewVersionString(arg0: { major: number; minor: number; patch: number; }, versionSuffix: any): string;\n saveNewVersionFile(filename: string, newVersion: any): string;\n syncGit(newVersion: any, commitMsg: any, syncNpm: any): string;\n switchCommander: any; v_major(filename: string, options: any): void; v_minor(filename: string, options: any): void; v_patch(filename: string, options: any): void; v_sync(filename: string, options: any): void; v_changelog(): void;\n };\n switchCommander: SwitchCommander;\n\n constructor({ switchCommander }:{switchCommander:SwitchCommander}) {\n super({ switchCommander });\n this.switchCommander = switchCommander;\n\n const commandHandler = this;\n\n this.choiceOption = {\n v_major(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major + 1, minor: minor, patch: patch }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_minor(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major, minor: minor + 1, patch: patch }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_patch(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n const versionString = this.getVersionStringFromFile(filename);\n const versionSuffix = this.parseVersionSuffix(versionString);\n const versionObject = this.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = this.buildNewVersionString({ major: major, minor: minor, patch: patch + 1 }, versionSuffix);\n this.saveNewVersionFile(filename, newVersion);\n if (options.syncGit) {\n var commitMsg = options.commitMsg || `New Version v${newVersion}`;\n this.syncGit(newVersion, commitMsg, options.syncNpm);\n }\n },\n v_sync(filename: string, options: any) {\n filename = (typeof filename === \"undefined\") ? (\"VERSION\") : (filename);\n var commandHandler = this;\n commandHandler.switchCommander.shellCommands([\n \"echo $(git describe)\"\n ]).then(function (response: any) {\n const versionString = response[0].split(\"-\")[0].slice(1).replace(\"\\n\", \"\");\n console.log(versionString);\n const versionSuffix = commandHandler.parseVersionSuffix(versionString);\n const versionObject = commandHandler.parseVersionString(versionString);\n const major = parseInt(versionObject.major);\n const minor = parseInt(versionObject.minor);\n const patch = parseInt(versionObject.patch);\n const newVersion = commandHandler.buildNewVersionString({ major: major, minor: minor, patch: patch }, versionSuffix);\n commandHandler.saveNewVersionFile(filename, newVersion);\n var commitMsg = options.commitMsg || `Synced Version v${newVersion}`;\n commandHandler.switchCommander.shellCommands(\n [\n \"git fetch --tags -f\",\n `git add . && git commit -am \"${commitMsg}\"`,\n \"git fetch origin --tags\",\n \"git tag -ln\",\n `npm version \"${newVersion}\" --allow-same-version -m \"${commitMsg}\"`,\n \"git push && git push --tags\"\n ]\n ).then(function (response: any) {\n console.log(response);\n });\n });\n },\n v_changelog() {\n const commandHandler = this;\n commandHandler.switchCommander.shellCommands(\n [\n \"git tag -ln\"\n ]\n ).then(function (response: any) {\n var versionTags = response[0].split(\"\\n\").map((tag: any) => tag.split(\" \").unique()).unique().map(\n (tag: any) => {\n return {\n \"version\": tag[0],\n \"major\": tag[0].split(\".\")[0],\n \"minor\": tag[0].split(\".\")[0] + \".\" + tag[0].split(\".\")[1],\n \"description\": tag.slice(1).join(\" \").trim()\n };\n }\n );\n var minorVersionTags = versionTags.filter((tag: { version: string; }) => tag.version !== \"\").map((tag: { version: string; }) => tag.version.split(\".\")[0] + \".\" + tag.version.split(\".\")[1]).unique();\n var history = minorVersionTags.map((minor: string) => {\n return {\n \"major\": minor.split(\".\")[0],\n \"minor\": minor,\n \"history\": \"\\n\\t- \" + versionTags.filter((tag: { minor: any; }) => tag.minor === minor).map(\n function (tag: { description: any; }) {\n return tag.description;\n }\n ).filter((desc: string) => !desc.startsWith(minor.slice(1))).sort().unique().join(\"\\n\\t- \")\n };\n }).map((hist: { major: any; minor: any; history: string; }) => { return `## ${hist.major} -> ${hist.minor}` + \"\\n\" + hist.history; }).join(\"\\n\");\n const subtitle = \"This is an automatic Changelog history of versions generated using the command: **qcobjects v-changelog > CHANGELOG.md**\";\n console.log(\"# Changelog \\n\\n\" + subtitle + \"\\n\\n\" + history);\n\n });\n }\n } as any;\n\n switchCommander.program.command(\"v-major [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new major version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_major.call(commandHandler, args, options);\n });\n switchCommander.program.command(\"v-minor [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new minor version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_minor.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-patch [filename]\")\n .option(\"--git, --sync-git\", \"Sync with Git\")\n .option(\"--npm, --sync-npm\", \"Sync with NPM\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Upgrade to a new patch version\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_patch.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-sync [filename]\")\n .option(\"-m, --commit-msg [message]\", \"Commit Message\")\n .description(\"Semantic Versioning: Sync the version of NPM with version of GIT\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_sync.call(commandHandler, args, options);\n });\n\n switchCommander.program.command(\"v-changelog\")\n .description(\"Semantic Versioning: Shows a changelog using Semantic Versioning\")\n .action(function (args: any, options: any) {\n commandHandler.choiceOption.v_changelog.call(commandHandler);\n });\n\n\n }\n\n\n syncGit(versionString: any, commitMsg: any, syncNpm = false) {\n let _commands_: any[] = [];\n if (syncNpm) {\n _commands_ = _commands_.concat(\n [\n \"git fetch --tags -f\",\n `npm version \"${versionString}\" -m \"${commitMsg}\"`\n ]\n );\n }\n _commands_ = _commands_.concat(\n [\n `git add . && git commit -am \"${commitMsg}\"`,\n \"git fetch origin --tags\",\n \"git tag -ln\"\n ]);\n\n if (!syncNpm) {\n _commands_ = _commands_.concat(\n [\n `git tag -a \"v${versionString}\" -m \"${commitMsg}\"`,\n ]\n );\n }\n\n _commands_ = _commands_.concat([\n \"git push && git push --tags\"\n ]\n );\n\n this.switchCommander.shellCommands(_commands_).then(function (response: any) {\n logger.info(\"Synced to Git\");\n logger.debug(response);\n }).catch(function (e: any) {\n logger.info(\"Something went wrong trying to sync to git\");\n logger.debug(e);\n });\n }\n\n parseVersionString(versionString: string): { major: string, minor: string, patch: string } {\n versionString = versionString.replace(\"\\n\", \"\");\n const regexpVer = /^(?<major>0|[1-9]\\d*)\\.(?<minor>0|[1-9]\\d*)\\.(?<patch>0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n const versionObject = { ...versionString.match(regexpVer)?.groups };\n return versionObject as { major: string, minor: string, patch: string };\n }\n\n getVersionStringFromFile(filename: any) {\n let versionString;\n try {\n versionString = fs.readFileSync(filename).toString().replace(\"\\n\", \"\");\n } catch (e) {\n versionString = \"0.0.1\";\n }\n return versionString;\n }\n\n buildNewSemVersionString({ major, minor, patch }: { major: string, minor: string, patch: string }) {\n return `${major}.${minor}.${patch}`;\n }\n\n parseVersionSuffix(versionString: string) {\n versionString = versionString.replace(\"\\n\", \"\");\n const versionObject = this.parseVersionString(versionString);\n const semVersionString = this.buildNewSemVersionString(versionObject);\n return versionString.replace(semVersionString, \"\");\n }\n\n buildNewVersionString({ major, minor, patch }: any, suffix: any) {\n const semVersionString = this.buildNewSemVersionString({ major, minor, patch });\n return `${semVersionString}${suffix}`;\n }\n\n saveNewVersionFile(filename: any, versionString: any) {\n fs.writeFileSync(filename, versionString);\n }\n\n\n\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.version\", [\n CommandHandler\n]);\n"],
5
5
  "mappings": "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",
6
6
  "names": ["commandHandler", "response", "fs"]
7
7
  }
@@ -29,6 +29,8 @@ var global = (() => {
29
29
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
30
  var cli_commands_exports = {};
31
31
  __export(cli_commands_exports, {
32
+ buildEsbuild: () => buildEsbuild,
33
+ buildTypescript: () => buildTypescript,
32
34
  jiraCommand: () => jiraCommand,
33
35
  publishStatic: () => publishStatic,
34
36
  versionCommand: () => versionCommand
@@ -36,6 +38,8 @@ var global = (() => {
36
38
  var versionCommand = __toESM(require("./cli-commands-version"));
37
39
  var jiraCommand = __toESM(require("./cli-commands-jira"));
38
40
  var publishStatic = __toESM(require("./cli-commands-publish-static"));
41
+ var buildTypescript = __toESM(require("./cli-commands-build-typescript"));
42
+ var buildEsbuild = __toESM(require("./cli-commands-build-esbuild"));
39
43
  return __toCommonJS(cli_commands_exports);
40
44
  })();
41
45
  //# sourceMappingURL=cli-commands.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-commands.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\n\n// plugin commands here\n\nexport * as versionCommand from \"./cli-commands-version\";\nexport * as jiraCommand from \"./cli-commands-jira\";\nexport * as publishStatic from \"./cli-commands-publish-static\";\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCA,uBAAgC;AAChC,oBAA6B;AAC7B,sBAA+B;",
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\n// plugin commands here\n\nexport * as versionCommand from \"./cli-commands-version\";\nexport * as jiraCommand from \"./cli-commands-jira\";\nexport * as publishStatic from \"./cli-commands-publish-static\";\nexport * as buildTypescript from \"./cli-commands-build-typescript\";\nexport * as buildEsbuild from \"./cli-commands-build-esbuild\";"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCA,uBAAgC;AAChC,oBAA6B;AAC7B,sBAA+B;AAC/B,wBAAiC;AACjC,qBAA8B;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/cli-main.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport \"qcobjects\";\n\nexport * as EnterpriseCommands from \"./enterprise-commands\";\nimport { Component, CONFIG, findPackageNodePath, InheritClass, logger, New, Service, serviceLoader, global, Package, Export } from \"qcobjects\";\nimport { QCObjectsEnterprise } from \"./enterprise-commands\";\nexport * as QuickCorpServices from \"./api-client_services\";\nimport { QuickCorpCloud } from \"./api-client_services\";\nexport * as customCommands from \"./cli-commands\";\nimport { __get_version__, __get_version_string__ } from \"./defaultsettings\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport { exec, execSync } from \"node:child_process\";\nimport commander from \"commander\";\n\nconst templatePwaPath = path.resolve(__dirname, \"./templates/pwa/\") + \"/\";\n\nexport const getPluginCommandsList = () => {\n return global.ClassesList?.filter((c: { packageName: string; }) => c.packageName.startsWith(\"com.qcobjects.cli.commands.\"))\n .filter((p: { classFactory: { name: string; }; }) => p.classFactory.name.endsWith(\"CommandHandler\"));\n};\n\n\nexport class SwitchCommander extends InheritClass {\n\n choiceOption = {\n generateSw: (_appName: boolean, options: { dir: any; }) => {\n const dirPrefix = options.dir;\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n switchCommander.generateServiceWorker(appName, dirPrefix)\n .catch((e: any) => { logger.warn(`An error ocurred while creating service worker: ${e}`); });\n\n },\n create: (_appName: boolean, options: { createAmp: any; createPwa: any; createPhp: any; createCustom: any; }) => {\n const version = __get_version__();\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n\n\n let appTemplateName;\n\n if (options.createAmp) {\n appTemplateName = \"qcobjects-ecommerce-amp\";\n } else if (options.createPwa) {\n appTemplateName = \"qcobjectsnewapp\";\n } else if (options.createPhp) {\n appTemplateName = \"qcobjectsnewphp\";\n } else if (options.createCustom) {\n appTemplateName = options.createCustom;\n } else {\n appTemplateName = \"qcobjectsnewapp\";\n }\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/\" + appTemplateName);\n\n const _package_json_template_fname = path.resolve(CONFIG.get(\"qcobjectsnewapp_path\", \"qcobjectsnewapp\"), \"./package.json\");\n\n /* if (!process.platform.toLowerCase().startsWith(\"win\")){\n _package_json_content = _package_json_content.replace(/(\")/g, String.fromCharCode(92)+\"\\\"\");\n }*/\n\n const createAppCommand = \"npm init -y\";\n const _package_json_file = path.resolve(CONFIG.get(\"projectPath\"), \"./package.json\");\n logger.debug(\"_package_json_file: \" + _package_json_file);\n logger.debug(createAppCommand);\n\n exec(createAppCommand, (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n exec(`npm i --save-dev ${appTemplateName}`, () => {\n\n (async () => {\n const _package_json_template_file = await import(_package_json_template_fname);\n _package_json_template_file.name = appName;\n _package_json_template_file.version = \"1.0.0\";\n _package_json_template_file.repository = {};\n fs.writeFileSync(_package_json_file, JSON.stringify(_package_json_template_file, null, 4));\n logger.info(\"Good! App Templates was installed!\");\n\n console.log(`Starting to copy files from app template ${appTemplateName} to your project...`);\n\n switchCommander.copyTemplate(path.resolve(findPackageNodePath(appTemplateName), appTemplateName), path.resolve(CONFIG.get(\"projectPath\"), \"./\"))\n .then(() => {\n\n exec(\"npm uninstall \" + appTemplateName + \" --save && npm cache verify\", err => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n /*\n switchCommander.generateServiceWorker(appName)\n .then(()=>{\n execSync(\"npm install --save-dev qcobjects-cli \");\n });\n */\n execSync(\"npm install --save-dev qcobjects-cli \");\n });\n\n exec(\"npm cache verify && npm i \", (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n logger.info(\"Good! Your application is done. You can play with QCObjects now!\");\n\n logger.info(\"I will create the SSL certificates now. It may take some time...\");\n exec(\"qcobjects-createcert\", () => {\n logger.info(\"Test certificates generated\");\n\n const githubService = New(Service);\n githubService.url = \"https://raw.githubusercontent.com/QuickCorp/QCObjects/main/.gitignore\";\n githubService.headers = {\n Accept: \"application/vnd.github+json\",\n \"X-GitHub-Api-Version\": \"2022-11-28\",\n \"User-Agent\": \"qcobjects-cli\"\n };\n githubService.done = () => { };\n serviceLoader(githubService)\n .then(({ service }: { service: any }) => {\n fs.writeFileSync(path.resolve(CONFIG.get(\"projectPath\"), \"./.gitignore\"), service.template);\n try {\n execSync(\"git init\");\n logger.debug(\"Git initialized.\");\n } catch (e) {\n logger.debug(\"Could not initialize git.\");\n }\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n })\n .catch((e: any) => {\n console.log(e);\n });\n\n })().catch(e => console.error(e));\n\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function () {\n console.log(\"App generation started...\");\n });\n\n },\n publish(_appName: any, _options: any) {\n logger.debug(\"publish is not yet implemented\");\n },\n upgradeToEnterprise(_appName: any, _options: any) {\n const switchCommander = this;\n void QCObjectsEnterprise.upgrade(switchCommander);\n }\n };\n program: any;\n\n constructor() {\n super();\n this.program = commander;\n }\n\n shellCommands(_shell_commands: any[]) {\n return new Promise(function (resolve_all, reject_all) {\n var _promises_set = _shell_commands.map(\n function (shell_command: any) {\n return (new Promise(\n function (resolve, reject) {\n logger.debug(shell_command);\n exec(shell_command, (err: any, stdout: unknown, stderr: any) => {\n if (!err) {\n resolve(stdout);\n } else {\n logger.debug(`[FAILED]: ${shell_command}`);\n logger.debug(`${stderr}`);\n reject(stderr as Error);\n }\n }).stdout?.on(\"data\", function (data: any) {\n logger.info(data);\n });\n })).catch(e => reject_all(e as Error));\n }\n );\n }).catch(e => console.log(e));\n }\n\n fileListRecursive(dir: string): string | string[] {\n var instance = this;\n return (fs.statSync(dir).isDirectory())\n ? (Array.prototype.concat(...fs.readdirSync(dir).map((f: any) => instance.fileListRecursive(path.join(dir, f))))\n .filter((f) => {\n return !f.startsWith(\".git\")\n && f.lastIndexOf(\".DS_Store\") == -1;\n })\n )\n : (dir);\n }\n\n register(email: any, phonenumber: any) {\n return new Promise(function (resolve, reject) {\n logger.info(\"I'm going to register your profile on the cloud...\");\n const cloudClient = New(QuickCorpCloud, {\n apiMethod: \"register\",\n data: { email: email, phonenumber: phonenumber }\n });\n // logger.debugEnabled = true;\n try {\n } catch (e) {\n console.log(\"\\u{1F926} Something went wrong \\u{1F926} when trying to register you in the cloud\");\n reject(e as Error);\n }\n\n });\n }\n\n generateServiceWorker(appName: any, dirPrefix = \"./\") {\n const writeContent = (component: any) => {\n const parsedText = component.parsedAssignmentText;\n logger.debug(\"Starting to write the sw file...\");\n fs.writeFile(`${dirPrefix}/sw.js`, parsedText, (err) => {\n if (err) {\n throw Error(err as never);\n }\n logger.info(\"Service Worker Generated\");\n console.log(\"\");\n console.log(\"Now simply put:\");\n console.log(\"CONFIG.set('serviceWorkerURI','/sw.js');\");\n console.log(\" In your init.js file \");\n console.log(\"\");\n console.log(\"To start your app in a local server \");\n console.log(\"Execute the command: \");\n console.log(\"> qcobjects launch <appname>\");\n console.log(\"\");\n });\n\n };\n\n\n class ServiceWorkerComponent extends Component {\n cached = false;\n templateURI = \"sw.js\";\n basePath = templatePwaPath;\n name = \"sw\";\n tplsource = \"default\";\n template = \"\";\n data: any;\n\n constructor({ name, data }: { name: string, data: any }) {\n super({ name, data });\n this.data = data;\n }\n\n done({ request, component }: { request: any, component: any }) {\n super.done({ request, component });\n writeContent(component);\n }\n }\n\n return new Promise(() => {\n var filelist = [\"/\"].concat(this.fileListRecursive(`${dirPrefix}`));\n if (typeof dirPrefix !== \"undefined\" && dirPrefix !== \"./\" && dirPrefix !== \".\") {\n filelist = filelist.map(f => f.replace(new RegExp(`${dirPrefix}/`), \"\"));\n }\n filelist = filelist.filter(function (fl) { return fl !== \"sw.js\" && (!fl.startsWith(\"node_modules/\")); });\n filelist = filelist.filter(fname => !fname.endsWith(\".pem\"));\n filelist = filelist.filter(fname => !fname.endsWith(\".sh\"));\n filelist = filelist.filter(fname => !(new RegExp(\"^package(.*).json$\")).test(fname));\n filelist = filelist.filter(fname => !fname.startsWith(\".\"));\n var fileListString = \"\\n\\t\\\"\" + filelist.join(\"\\\",\\n\\t\\\"\") + \"\\\"\";\n const component = new ServiceWorkerComponent({\n name: \"sw\",\n data: {\n appName: appName,\n appVersion: \"1.0.0\",\n filelist: fileListString\n }\n });\n\n setTimeout(() => {\n component.done({ request: null, component });\n }, 1000);\n\n\n });\n }\n\n copyTemplate(source: any, dest: any) {\n return new Promise<void>((resolve, reject) => {\n\n const copyDir = (source: any, dest: any, 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: any) => {\n return (fs.existsSync(d) && fs.statSync(d).isDirectory()) ? (true) : (false);\n };\n\n const isFile = (d: any) => {\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: { isDirectory: () => any; }) => d.isDirectory());\n const files = paths.filter((f: { isFile: () => any; }) => f.isFile());\n ((paths, dirs, files, exclude) => {\n files.map((f: { name: any; }) => {\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.join(\",\")}...`);\n fs.copyFileSync(sourceFile, destFile);\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude.join(\",\")}...DONE!`);\n }\n });\n dirs.map((d: { name: any; }) => {\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 const exclude = [\n \"package.json\",\n \"node_modules\",\n \".DS_Store\"\n ];\n logger.info(`[create] Copying files from ${source} to ${dest} excluding ${exclude.join(\",\")}...`);\n copyDir(source, dest, (typeof exclude !== \"undefined\") ? (exclude) : ([]));\n resolve();\n } catch (e: any) {\n logger.warn(`Something went wrong trying to publish static files: ${e.message}`);\n reject(e as Error);\n }\n\n });\n\n }\n\n initCommand() {\n const switchCommander = this;\n if (process.argv.length > 1) {\n logger.debug(\"Installing Commands...\");\n\n switchCommander.program\n .version(__get_version_string__());\n switchCommander.program\n .command(\"create <appname>\")\n .description(\"Creates an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Creates the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Creates the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom <templateappname>\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Creates the test suite\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.create.call(switchCommander, args, options);\n });\n\n\n try {\n logger.debug(\"Loading Plugin Commands...\");\n const importPluginCommands = (switchCommander: any) => {\n return getPluginCommandsList()?.map((pluginCommand: { packageName: any; classFactory: any; plugin: any; }) => {\n try {\n logger.debug(`Loading plugin ${pluginCommand.packageName}`);\n const classFactory = pluginCommand.classFactory;\n pluginCommand.plugin = new classFactory({ switchCommander: switchCommander });\n } catch (e) {\n throw Error(`Something went wrong loading ${pluginCommand.packageName}`);\n }\n return pluginCommand;\n });\n };\n importPluginCommands(switchCommander);\n } catch (e: any) {\n throw Error(`Something went wrong loading plugins: ${e.message}`);\n }\n\n switchCommander.program.command(\"publish <appname>\")\n .description(\"Publishes an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Publishes the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Publishes the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Publishes the test suite\")\n .action((args: any, options: any) => {\n switchCommander.choiceOption.publish.bind(switchCommander)(args, options);\n });\n\n switchCommander.program.command(\"upgrade-to-enterprise\")\n .description(\"Upgrades to QCObjects Enterprise Edition\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.upgradeToEnterprise.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"generate-sw <appname>\")\n .option(\"-d, --dir <dirPrefix> \", \"creates the service worker in a specific dir <dirPrefix>\")\n .description(\"Generates the service worker <appname>\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.generateSw.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"launch <appname>\")\n .description(\"Launches the application\")\n .action(function () {\n logger.info(\"Launching...\");\n setTimeout(() => {\n logger.info(\"Go to the browser and open https://localhost \");\n logger.info(\"Press Ctrl-C to stop serving \");\n exec(\"qcobjects-server\", () => {\n })\n .stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }, 5000);\n // setTimeout(()=>{\n // execSync(\"open -a \\\"google chrome\\\" https://localhost\");\n // },6000);\n\n });\n\n switchCommander.program.on(\"--help\", function () {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n });\n\n switchCommander.program.on(\"command:*\", function () {\n console.error(\"Invalid command: %s\\nSee --help for a list of available commands.\", switchCommander.program.args.join(\" \"));\n process.exit(1);\n });\n switchCommander.program.parse(process.argv);\n } else {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n\n }\n\n }\n\n}\n\n\n\n\n CONFIG.set(\"node_modules_path\", \"./node_modules/\");\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/qcobjectsnewapp\");\n\n\n Package(\"org.quickcorp.qcobjects.cli\", [\n\n SwitchCommander\n ]);\n Export(SwitchCommander);\n"],
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 \"qcobjects\";\n\nexport * as EnterpriseCommands from \"./enterprise-commands\";\nimport { Component, CONFIG, findPackageNodePath, InheritClass, logger, New, Service, serviceLoader, global, Package, Export } from \"qcobjects\";\nimport { QCObjectsEnterprise } from \"./enterprise-commands\";\nexport * as QuickCorpServices from \"./api-client_services\";\nimport { QuickCorpCloud } from \"./api-client_services\";\nexport * as customCommands from \"./cli-commands\";\nimport { __get_version__, __get_version_string__ } from \"./defaultsettings\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\nimport { exec, execSync } from \"node:child_process\";\nimport commander from \"commander\";\n\nconst templatePwaPath = path.resolve(__dirname, \"./templates/pwa/\") + \"/\";\n\nexport const getPluginCommandsList = () => {\n return global.ClassesList?.filter((c: { packageName: string; }) => c.packageName.startsWith(\"com.qcobjects.cli.commands.\"))\n .filter((p: { classFactory: { name: string; }; }) => p.classFactory.name.endsWith(\"CommandHandler\"));\n};\n\n\nexport class SwitchCommander extends InheritClass {\n\n choiceOption = {\n generateSw: (_appName: boolean, options: { dir: any; }) => {\n const dirPrefix = options.dir;\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n switchCommander.generateServiceWorker(appName, dirPrefix)\n .catch((e: any) => { logger.warn(`An error ocurred while creating service worker: ${e}`); });\n\n },\n create: (_appName: boolean, options: { createAmp: any; createPwa: any; createPhp: any; createCustom: any; }) => {\n const version = __get_version__();\n const switchCommander = this;\n const appName = (typeof _appName === \"undefined\" || _appName === true) ? (\"MyAppName\") : (_appName);\n\n\n let appTemplateName;\n\n if (options.createAmp) {\n appTemplateName = \"qcobjects-ecommerce-amp\";\n } else if (options.createPwa) {\n appTemplateName = \"qcobjectsnewapp\";\n } else if (options.createPhp) {\n appTemplateName = \"qcobjectsnewphp\";\n } else if (options.createCustom) {\n appTemplateName = options.createCustom;\n } else {\n appTemplateName = \"qcobjectsnewapp\";\n }\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/\" + appTemplateName);\n\n const _package_json_template_fname = path.resolve(CONFIG.get(\"qcobjectsnewapp_path\", \"qcobjectsnewapp\"), \"./package.json\");\n\n /* if (!process.platform.toLowerCase().startsWith(\"win\")){\n _package_json_content = _package_json_content.replace(/(\")/g, String.fromCharCode(92)+\"\\\"\");\n }*/\n\n const createAppCommand = \"npm init -y\";\n const _package_json_file = path.resolve(CONFIG.get(\"projectPath\"), \"./package.json\");\n logger.debug(\"_package_json_file: \" + _package_json_file);\n logger.debug(createAppCommand);\n\n exec(createAppCommand, (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n exec(`npm i --save-dev ${appTemplateName}`, () => {\n\n (async () => {\n const _package_json_template_file = await import(_package_json_template_fname);\n _package_json_template_file.name = appName;\n _package_json_template_file.version = \"1.0.0\";\n _package_json_template_file.repository = {};\n fs.writeFileSync(_package_json_file, JSON.stringify(_package_json_template_file, null, 4));\n logger.info(\"Good! App Templates was installed!\");\n\n console.log(`Starting to copy files from app template ${appTemplateName} to your project...`);\n\n switchCommander.copyTemplate(path.resolve(findPackageNodePath(appTemplateName), appTemplateName), path.resolve(CONFIG.get(\"projectPath\"), \"./\"))\n .then(() => {\n\n exec(\"npm uninstall \" + appTemplateName + \" --save && npm cache verify\", err => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n /*\n switchCommander.generateServiceWorker(appName)\n .then(()=>{\n execSync(\"npm install --save-dev qcobjects-cli \");\n });\n */\n execSync(\"npm install --save-dev qcobjects-cli \");\n });\n\n exec(\"npm cache verify && npm i \", (err) => {\n if (err) {\n throw Error(err.message);\n // eslint-disable-next-line no-unreachable\n process.exit(1);\n return;\n }\n\n logger.info(\"Good! Your application is done. You can play with QCObjects now!\");\n\n logger.info(\"I will create the SSL certificates now. It may take some time...\");\n exec(\"qcobjects-createcert\", () => {\n logger.info(\"Test certificates generated\");\n\n const githubService = New(Service);\n githubService.url = \"https://raw.githubusercontent.com/QuickCorp/QCObjects/main/.gitignore\";\n githubService.headers = {\n Accept: \"application/vnd.github+json\",\n \"X-GitHub-Api-Version\": \"2022-11-28\",\n \"User-Agent\": \"qcobjects-cli\"\n };\n githubService.done = () => { };\n serviceLoader(githubService)\n .then(({ service }: { service: any }) => {\n fs.writeFileSync(path.resolve(CONFIG.get(\"projectPath\"), \"./.gitignore\"), service.template);\n try {\n execSync(\"git init\");\n logger.debug(\"Git initialized.\");\n } catch (e) {\n logger.debug(\"Could not initialize git.\");\n }\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n })\n .catch((e: any) => {\n console.log(e);\n });\n\n })().catch(e => console.error(e));\n\n\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n\n }).stdout?.on(\"data\", function () {\n console.log(\"App generation started...\");\n });\n\n },\n publish(_appName: any, _options: any) {\n logger.debug(\"publish is not yet implemented\");\n },\n upgradeToEnterprise(_appName: any, _options: any) {\n const switchCommander = this;\n void QCObjectsEnterprise.upgrade(switchCommander);\n }\n };\n program: any;\n\n constructor() {\n super();\n this.program = commander;\n }\n\n shellCommands(_shell_commands: any[]) {\n return new Promise(function (resolve_all, reject_all) {\n var _promises_set = _shell_commands.map(\n function (shell_command: any) {\n return (new Promise(\n function (resolve, reject) {\n logger.debug(shell_command);\n exec(shell_command, (err: any, stdout: unknown, stderr: any) => {\n if (!err) {\n resolve(stdout);\n } else {\n logger.debug(`[FAILED]: ${shell_command}`);\n logger.debug(`${stderr}`);\n reject(stderr as Error);\n }\n }).stdout?.on(\"data\", function (data: any) {\n logger.info(data);\n });\n })).catch(e => reject_all(e as Error));\n }\n );\n }).catch(e => console.log(e));\n }\n\n fileListRecursive(dir: string): string | string[] {\n var instance = this;\n return (fs.statSync(dir).isDirectory())\n ? (Array.prototype.concat(...fs.readdirSync(dir).map((f: any) => instance.fileListRecursive(path.join(dir, f))))\n .filter((f) => {\n return !f.startsWith(\".git\")\n && f.lastIndexOf(\".DS_Store\") == -1;\n })\n )\n : (dir);\n }\n\n register(email: any, phonenumber: any) {\n return new Promise(function (resolve, reject) {\n logger.info(\"I'm going to register your profile on the cloud...\");\n const cloudClient = New(QuickCorpCloud, {\n apiMethod: \"register\",\n data: { email: email, phonenumber: phonenumber }\n });\n // logger.debugEnabled = true;\n try {\n } catch (e) {\n console.log(\"\\u{1F926} Something went wrong \\u{1F926} when trying to register you in the cloud\");\n reject(e as Error);\n }\n\n });\n }\n\n generateServiceWorker(appName: any, dirPrefix = \"./\") {\n const writeContent = (component: any) => {\n const parsedText = component.parsedAssignmentText;\n logger.debug(\"Starting to write the sw file...\");\n fs.writeFile(`${dirPrefix}/sw.js`, parsedText, (err) => {\n if (err) {\n throw Error(err as never);\n }\n logger.info(\"Service Worker Generated\");\n console.log(\"\");\n console.log(\"Now simply put:\");\n console.log(\"CONFIG.set('serviceWorkerURI','/sw.js');\");\n console.log(\" In your init.js file \");\n console.log(\"\");\n console.log(\"To start your app in a local server \");\n console.log(\"Execute the command: \");\n console.log(\"> qcobjects launch <appname>\");\n console.log(\"\");\n });\n\n };\n\n\n class ServiceWorkerComponent extends Component {\n cached = false;\n templateURI = \"sw.js\";\n basePath = templatePwaPath;\n name = \"sw\";\n tplsource = \"default\";\n template = \"\";\n data: any;\n\n constructor({ name, data }: { name: string, data: any }) {\n super({ name, data });\n this.data = data;\n }\n\n done({ request, component }: { request: any, component: any }) {\n super.done({ request, component });\n writeContent(component);\n }\n }\n\n return new Promise(() => {\n var filelist = [\"/\"].concat(this.fileListRecursive(`${dirPrefix}`));\n if (typeof dirPrefix !== \"undefined\" && dirPrefix !== \"./\" && dirPrefix !== \".\") {\n filelist = filelist.map(f => f.replace(new RegExp(`${dirPrefix}/`), \"\"));\n }\n filelist = filelist.filter(function (fl) { return fl !== \"sw.js\" && (!fl.startsWith(\"node_modules/\")); });\n filelist = filelist.filter(fname => !fname.endsWith(\".pem\"));\n filelist = filelist.filter(fname => !fname.endsWith(\".sh\"));\n filelist = filelist.filter(fname => !(new RegExp(\"^package(.*).json$\")).test(fname));\n filelist = filelist.filter(fname => !fname.startsWith(\".\"));\n var fileListString = \"\\n\\t\\\"\" + filelist.join(\"\\\",\\n\\t\\\"\") + \"\\\"\";\n const component = new ServiceWorkerComponent({\n name: \"sw\",\n data: {\n appName: appName,\n appVersion: \"1.0.0\",\n filelist: fileListString\n }\n });\n\n setTimeout(() => {\n component.done({ request: null, component });\n }, 1000);\n\n\n });\n }\n\n copyTemplate(source: any, dest: any) {\n return new Promise<void>((resolve, reject) => {\n\n const copyDir = (source: any, dest: any, 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: any) => {\n return (fs.existsSync(d) && fs.statSync(d).isDirectory()) ? (true) : (false);\n };\n\n const isFile = (d: any) => {\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: { isDirectory: () => any; }) => d.isDirectory());\n const files = paths.filter((f: { isFile: () => any; }) => f.isFile());\n ((paths, dirs, files, exclude) => {\n files.map((f: { name: any; }) => {\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.join(\",\")}...`);\n fs.copyFileSync(sourceFile, destFile);\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude.join(\",\")}...DONE!`);\n }\n });\n dirs.map((d: { name: any; }) => {\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 const exclude = [\n \"package.json\",\n \"node_modules\",\n \".DS_Store\"\n ];\n logger.info(`[create] Copying files from ${source} to ${dest} excluding ${exclude.join(\",\")}...`);\n copyDir(source, dest, (typeof exclude !== \"undefined\") ? (exclude) : ([]));\n resolve();\n } catch (e: any) {\n logger.warn(`Something went wrong trying to publish static files: ${e.message}`);\n reject(e as Error);\n }\n\n });\n\n }\n\n initCommand() {\n const switchCommander = this;\n if (process.argv.length > 1) {\n logger.debug(\"Installing Commands...\");\n\n switchCommander.program\n .version(__get_version_string__());\n switchCommander.program\n .command(\"create <appname>\")\n .description(\"Creates an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Creates the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Creates the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom <templateappname>\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Creates the test suite\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.create.call(switchCommander, args, options);\n });\n\n\n try {\n logger.debug(\"Loading Plugin Commands...\");\n const importPluginCommands = (switchCommander: any) => {\n return getPluginCommandsList()?.map((pluginCommand: { packageName: any; classFactory: any; plugin: any; }) => {\n try {\n logger.debug(`Loading plugin ${pluginCommand.packageName}`);\n const classFactory = pluginCommand.classFactory;\n pluginCommand.plugin = new classFactory({ switchCommander: switchCommander });\n } catch (e) {\n throw Error(`Something went wrong loading ${pluginCommand.packageName}`);\n }\n return pluginCommand;\n });\n };\n importPluginCommands(switchCommander);\n } catch (e: any) {\n throw Error(`Something went wrong loading plugins: ${e.message}`);\n }\n\n switchCommander.program.command(\"publish <appname>\")\n .description(\"Publishes an app with <appname>\")\n .option(\"--pwa, --create-pwa\", \"Publishes the progressive web app assets\")\n .option(\"--amp, --create-amp\", \"Publishes the accelerated mobile pages assets\")\n .option(\"--php, --create-php\", \"Creates the PWA PHP assets\")\n .option(\"--custom, --create-custom\", \"Creates an App from any NPM package template\")\n .option(\"--tests, --create-tests\", \"Publishes the test suite\")\n .action((args: any, options: any) => {\n switchCommander.choiceOption.publish.bind(switchCommander)(args, options);\n });\n\n switchCommander.program.command(\"upgrade-to-enterprise\")\n .description(\"Upgrades to QCObjects Enterprise Edition\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.upgradeToEnterprise.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"generate-sw <appname>\")\n .option(\"-d, --dir <dirPrefix> \", \"creates the service worker in a specific dir <dirPrefix>\")\n .description(\"Generates the service worker <appname>\")\n .action(function (args: any, options: any) {\n switchCommander.choiceOption.generateSw.call(switchCommander, args, options);\n });\n switchCommander.program.command(\"launch <appname>\")\n .description(\"Launches the application\")\n .action(function () {\n logger.info(\"Launching...\");\n setTimeout(() => {\n logger.info(\"Go to the browser and open https://localhost \");\n logger.info(\"Press Ctrl-C to stop serving \");\n exec(\"qcobjects-server\", () => {\n })\n .stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }, 5000);\n // setTimeout(()=>{\n // execSync(\"open -a \\\"google chrome\\\" https://localhost\");\n // },6000);\n\n });\n\n switchCommander.program.on(\"--help\", function () {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n });\n\n switchCommander.program.on(\"command:*\", function () {\n console.error(\"Invalid command: %s\\nSee --help for a list of available commands.\", switchCommander.program.args.join(\" \"));\n process.exit(1);\n });\n switchCommander.program.parse(process.argv);\n } else {\n console.log(\"\");\n console.log(\"Use:\");\n console.log(\" $ qcobjects-cli [command] --help\");\n console.log(\" For detailed information of a command \");\n console.log(\"\");\n process.exit(0);\n\n }\n\n }\n\n}\n\n\n\n\n CONFIG.set(\"node_modules_path\", \"./node_modules/\");\n CONFIG.set(\"qcobjectsnewapp_path\", CONFIG.get(\"node_modules_path\") + \"/qcobjectsnewapp\");\n\n\n Package(\"org.quickcorp.qcobjects.cli\", [\n\n SwitchCommander\n ]);\n Export(SwitchCommander);\n"],
5
5
  "mappings": "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",
6
6
  "names": ["import_qcobjects", "path", "fs", "err", "commander", "source", "dest", "paths", "dirs", "files", "exclude", "switchCommander"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/client_services.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\n\nimport { Package, Service, logger } from \"qcobjects\";\n\nexport class JiraCloud extends Service {\n domain: string;\n basePath: string;\n username_password: string;\n username: any;\n password: any;\n headers: any;\n url: any;\n apiMethod: any;\n data: any;\n constructor({\n name = \"jira_cloud\",\n external = true,\n useHTTP2 = true,\n cached = false,\n method = \"POST\",\n headers = {\n \"accept\": \"application/json\",\n \"content-type\": \"application/json\"\n },\n basePath = \"\",\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 var o = this;\n this.domain = `${o.domain}`;\n this.basePath = `https://${this.domain}/`;\n this.username_password = `${o.username}:${o.password}`;\n this.headers[\"authorization\"] = `Basic ${Buffer.from(this.username_password).toString(\"base64\")}`;\n this.url = this.basePath + o.apiMethod;\n this.data = o.data;\n\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(\"com.qcobjects.cli.commands.jira.client_services\", [\n JiraCloud\n]);\n"],
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 JiraCloud extends Service {\n domain: string;\n basePath: string;\n username_password: string;\n username: any;\n password: any;\n headers: any;\n url: any;\n apiMethod: any;\n data: any;\n constructor({\n name = \"jira_cloud\",\n external = true,\n useHTTP2 = true,\n cached = false,\n method = \"POST\",\n headers = {\n \"accept\": \"application/json\",\n \"content-type\": \"application/json\"\n },\n basePath = \"\",\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 var o = this;\n this.domain = `${o.domain}`;\n this.basePath = `https://${this.domain}/`;\n this.username_password = `${o.username}:${o.password}`;\n this.headers[\"authorization\"] = `Basic ${Buffer.from(this.username_password).toString(\"base64\")}`;\n this.url = this.basePath + o.apiMethod;\n this.data = o.data;\n\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(\"com.qcobjects.cli.commands.jira.client_services\", [\n JiraCloud\n]);\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAgCA,yBAAyC;EAElC,MAAM,kBAAkB,yBAAQ;AAAA,IAlCvC,OAkCuC;AAAA;AAAA;AAAA,IACrC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,MACV,OAAO;AAAA,MACP,WAAW;AAAA,MACX,WAAW;AAAA,MACX,SAAS;AAAA,MACT,SAAS;AAAA,MACT,UAAU;AAAA,QACR,UAAU;AAAA,QACV,gBAAgB;AAAA,MAClB;AAAA,MACA,WAAW;AAAA,MACX,MAAM;AAAA,MACN,kBAAkB;AAAA,IACpB,GAAG;AACD,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC;AACD,UAAI,IAAI;AACR,WAAK,SAAS,GAAG,EAAE,MAAM;AACzB,WAAK,WAAW,WAAW,KAAK,MAAM;AACtC,WAAK,oBAAoB,GAAG,EAAE,QAAQ,IAAI,EAAE,QAAQ;AACpD,WAAK,QAAQ,eAAe,IAAI,SAAS,OAAO,KAAK,KAAK,iBAAiB,EAAE,SAAS,QAAQ,CAAC;AAC/F,WAAK,MAAM,KAAK,WAAW,EAAE;AAC7B,WAAK,OAAO,EAAE;AAAA,IAEhB;AAAA,IAEA,KAAK,SAAc,kBAAuB;AAExC,8BAAO,MAAM,gBAAgB;AAAA,IAC/B;AAAA,IAEA,KAAK,GAAQ;AACX,8BAAO,MAAM,CAAC;AAAA,IAChB;AAAA,EAEF;AAEA,gCAAQ,mDAAmD;AAAA,IACzD;AAAA,EACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/collab-server.ts"],
4
- "sourcesContent": ["\"use strict\";\n/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\nimport { CONFIG, Package, InheritClass, logger, global } from \"qcobjects\";\nimport os from \"os\";\nimport fs from \"fs\";\nimport net from \"node:net\";\nimport repl from \"node:repl\";\nimport vm from \"node:vm\";\nimport path from \"path\";\nimport { exec, execSync } from \"child_process\";\n\n\nconst welcometo = \"Welcome to \\n\";\nconst instructions = \"Type:\\n .exit to quit\\n .help for see a quick guide\\n And any other command to execute like pure javascript \\n All the QCObjects stuff is already loaded for you\";\nconst logo = \" .d88888b. .d8888b. .d88888b. 888 d8b 888 \\r\\nd88P\\\" \\\"Y88bd88P Y88bd88P\\\" \\\"Y88b888 Y8P 888 \\r\\n888 888888 888888 888888 888 \\r\\n888 888888 888 88888888b. 8888 .d88b. .d8888b888888.d8888b \\r\\n888 888888 888 888888 \\\"88b \\\"888d8P Y8bd88P\\\" 888 88K \\r\\n888 Y8b 888888 888888 888888 888 88888888888888 888 \\\"Y8888b. \\r\\nY88b.Y8b88PY88b d88PY88b. .d88P888 d88P 888Y8b. Y88b. Y88b. X88 \\r\\n \\\"Y888888\\\" \\\"Y8888P\\\" \\\"Y88888P\\\" 88888P\\\" 888 \\\"Y8888 \\\"Y8888P \\\"Y888 88888P' \\r\\n Y8b 888 \\r\\n d88P \\r\\n 888P\\\" \";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nconsole.log(welcometo);\nconsole.log(logo);\n\nconst unixsocket_default = os.tmpdir() + \"/qcobjects-collab-socket\" + Date.now().toString();\nconst collab_port_default = 10300;\nconst collab_domain_default = \"0.0.0.0\";\n\nconst sandbox = {\n require: require,\n module: module,\n __dirname: \"./\",\n __filename: \"qcobjects-collab\"\n};\n\n\nexport class CollabServer extends InheritClass {\n protected_symbols: string[];\n replServer:any;\n commands: { loadcmd_json: { help: string; action(args: string): void; }; loadcmd_str: { help: string; action(args: string): void; }; save_json: { help: string; action(args: string): void; }; load_json: { help: string; action(args: string): void; }; cmd: { help: string; action(...args: string[]): void; }; };\n constructor() {\n super();\n this.protected_symbols = [\"clearInterval\",\n \"clearTimeout\",\n \"setInterval\",\n \"setTimeout\", \"queueMicrotask\",\n \"clearImmediate\", \"setImmediate\", \"_asyncLoad\",\n \"_fireAsyncLoad\", \"asyncLoad\", \"logger\",\n \"_Crypt\", \"CONFIG\", \"waitUntil\",\n \"_super_\", \"ComplexStorageCache\", \"TagElements\",\n \"onload\", \"InheritClass\", \"Component\",\n \"Controller\", \"View\", \"Service\",\n \"JSONService\", \"ConfigService\", \"VO\",\n \"serviceLoader\", \"componentLoader\", \"ComponentURI\",\n \"SourceJS\", \"SourceCSS\", \"ArrayList\",\n \"ArrayCollection\", \"Effect\", \"Timer\",\n \"Export\", \"Import\", \"Package\",\n \"Class\", \"New\", \"Tag\",\n \"Ready\", \"Contact\", \"FormField\",\n \"ButtonField\", \"InputField\", \"TextField\",\n \"EmailField\", \"GridComponent\", \"GridController\",\n \"GridView\", \"Move\", \"RotateX\",\n \"RotateY\", \"RotateZ\", \"Rotate\",\n \"Fade\", \"Radius\", \"CanvasTool\",\n \"BasicLayout\"\n ];\n const replServer = this.replServer;\n this.commands = {\n loadcmd_json: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable after trying to convert the result\n to JSON format\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_json result = cat somefile.json\n\n The above command will save the content of somefile.json using cat into the variable global.result\n as JSON format\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: string, stderr: any) => {\n try {\n _rplServer.context[_variableName] = JSON.parse(stdout);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n loadcmd_str: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable.\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_str foo = ls *\n\n The above command will save the output of \"ls *\" into the variable global.foo as string\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.context[_variableName] = stdout;\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n save_json: {\n help: `\n Serializes a variable using JSON.stringify\n and saves it in a file.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .save_json foo ./filename\n\n The above command will save the stringified content of foo into ./filename\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length >= 2) {\n var _variableName = commandArgs[0];\n var _filename = commandArgs[1].toString();\n logger.debug(`Saving variable ${_variableName} in ${_filename}...`);\n var data = JSON.stringify(_rplServer.context[_variableName]);\n fs.writeFile(_filename, data, (err: any) => {\n if (err) throw err;\n logger.debug(`The data of the file ${_filename} has been saved!`);\n _rplServer.displayPrompt();\n });\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n load_json: {\n help: `\n Loads a json from a file and saves it into a variable.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .load_json foo = ./filename\n\n The above command will load a json from ./filename and save it in global.foo as an object\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var _filename = commandArgs[2].toString();\n logger.debug(`Trying to read ${_variableName} from ${_filename}...`);\n fs.readFile(_filename, (err: any, data: { toString: () => string; }) => {\n if (err) throw err;\n try {\n _rplServer.context[_variableName] = JSON.parse(data.toString());\n logger.debug(`The data of the file ${_filename} has been loaded!`);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n cmd: {\n help: \"Executes a CMD Shell Command\",\n action(...args: string[]) {\n const _rplServer = replServer;\n var cmdArguments = args.join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }\n }\n };\n\n }\n\n runScript(context: any) {\n const runScript = (code: any, logOutput = false) => {\n const options = { filename: sandbox.__filename };\n\n const backgroundRunScript = (code: any) => {\n var output = vm.runInContext(code, context, options);\n return output;\n };\n\n var output = backgroundRunScript(code);\n\n\n if (logOutput && typeof output !== \"undefined\") {\n console.log(output);\n }\n };\n\n }\n\n start() {\n\n var collabServer = this;\n global.require = require.bind(global);\n global.module = module;\n global.__dirname = \"./\";\n global.__filename = \"qcobjects-collab\";\n const globalContext = vm.createContext(global);\n\n\n globalContext.connections = 0;\n\n function unlink_socket() {\n try {\n logger.debug(\"Trying to delete the socket... \");\n fs.unlink(CONFIG.get(\"collab-unix-socket\", unixsocket_default), (err: any) => {\n if (err) {\n logger.debug(\"Unix Socket does not exist\");\n }\n logger.debug(\"Unix Socket was deleted before start\");\n });\n } catch (e) {\n // socket doesnt exists\n logger.debug(\"Unix Socket was not deleted\");\n }\n }\n\n unlink_socket();\n\n var _defineReplCommands = function (_cmdReplServer: { defineCommand: (arg0: string, arg1: any) => void; }, commands: { [x: string]: any; }) {\n for (var _command in commands) {\n _cmdReplServer.defineCommand(_command, commands[_command]);\n }\n };\n\n const replServer = repl.start({\n useColors: true,\n prompt: \"QCObjects Collab> \",\n terminal: true,\n useGlobal: false\n });\n\n this.replServer = replServer;\n\n this.replServer.context.global = globalContext;\n\n this.replServer.on(\"exit\", () => {\n unlink_socket();\n\n console.log(\"Thank you for using QCObjects Collab for Data Science!\");\n console.log(\"Have a nice day!\");\n process.exit();\n });\n _defineReplCommands(this.replServer, collabServer.commands);\n\n\n\n const unixsocket_server = net.createServer(function (unixsocket: any) {\n unixsocket.on(\"end\", () => {\n logger.debug(\"A Unix socket connection was ended\");\n });\n global.connections += 1;\n const unixReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: unixsocket\n , output: unixsocket\n , terminal: true\n , useGlobal: false\n });\n unixReplServer.on(\"exit\", function () {\n unixsocket.end();\n });\n unixReplServer.context.global = global;\n _defineReplCommands(unixReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n\n\n const http_server = net.createServer(function (httpsocket: any) {\n httpsocket.on(\"end\", () => {\n logger.debug(\"A http connection was ended\");\n });\n global.connections += 1;\n const httpReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: httpsocket\n , output: httpsocket\n , terminal: true\n , useGlobal: false\n });\n httpReplServer.on(\"exit\", function () {\n httpsocket.end();\n });\n httpReplServer.context.global = global;\n _defineReplCommands(httpReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n\n\n http_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab HTTP Address in use, retrying...\");\n setTimeout(function () {\n http_server.close();\n http_server.listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n }, 1000);\n }\n });\n\n unixsocket_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab Unix Socket Address in use, retrying...\");\n setTimeout(function () {\n unixsocket_server.close();\n unixsocket_server.listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n }, 1000);\n }\n });\n }\n\n\n}\n\n\n(() => {\n\n if (process.argv.length < 3) {\n console.log(instructions);\n\n const collabinstructions = `\nCollab for Data Science\n=======================\n\nQCObjects Collab is a tool that helps you to make data science math using JavaScript\n\nYou can use a TCP socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc ${CONFIG.get(\"collab-domain\", collab_domain_default)} ${CONFIG.get(\"collab-port\", collab_port_default)}\n\nYou can also use a Unix Socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc -U ${CONFIG.get(\"collab-unix-socket\", unixsocket_default)}\n\n(change \"user\" for whathever your username is!)\n\n`;\n console.log(collabinstructions);\n\n }\n\n\n Package(\"org.quickcorp.qcobjects.collab.server\", [\n CollabServer\n ]);\n\n})();\n\n"],
4
+ "sourcesContent": ["\"use strict\";\n/**\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\"*/\nimport { CONFIG, Package, InheritClass, logger, global } from \"qcobjects\";\nimport os from \"os\";\nimport fs from \"fs\";\nimport net from \"node:net\";\nimport repl from \"node:repl\";\nimport vm from \"node:vm\";\nimport path from \"path\";\nimport { exec, execSync } from \"child_process\";\n\n\nconst welcometo = \"Welcome to \\n\";\nconst instructions = \"Type:\\n .exit to quit\\n .help for see a quick guide\\n And any other command to execute like pure javascript \\n All the QCObjects stuff is already loaded for you\";\nconst logo = \" .d88888b. .d8888b. .d88888b. 888 d8b 888 \\r\\nd88P\\\" \\\"Y88bd88P Y88bd88P\\\" \\\"Y88b888 Y8P 888 \\r\\n888 888888 888888 888888 888 \\r\\n888 888888 888 88888888b. 8888 .d88b. .d8888b888888.d8888b \\r\\n888 888888 888 888888 \\\"88b \\\"888d8P Y8bd88P\\\" 888 88K \\r\\n888 Y8b 888888 888888 888888 888 88888888888888 888 \\\"Y8888b. \\r\\nY88b.Y8b88PY88b d88PY88b. .d88P888 d88P 888Y8b. Y88b. Y88b. X88 \\r\\n \\\"Y888888\\\" \\\"Y8888P\\\" \\\"Y88888P\\\" 88888P\\\" 888 \\\"Y8888 \\\"Y8888P \\\"Y888 88888P' \\r\\n Y8b 888 \\r\\n d88P \\r\\n 888P\\\" \";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nconsole.log(welcometo);\nconsole.log(logo);\n\nconst unixsocket_default = os.tmpdir() + \"/qcobjects-collab-socket\" + Date.now().toString();\nconst collab_port_default = 10300;\nconst collab_domain_default = \"0.0.0.0\";\n\nconst sandbox = {\n require: require,\n module: module,\n __dirname: \"./\",\n __filename: \"qcobjects-collab\"\n};\n\n\nexport class CollabServer extends InheritClass {\n protected_symbols: string[];\n replServer:any;\n commands: { loadcmd_json: { help: string; action(args: string): void; }; loadcmd_str: { help: string; action(args: string): void; }; save_json: { help: string; action(args: string): void; }; load_json: { help: string; action(args: string): void; }; cmd: { help: string; action(...args: string[]): void; }; };\n constructor() {\n super();\n this.protected_symbols = [\"clearInterval\",\n \"clearTimeout\",\n \"setInterval\",\n \"setTimeout\", \"queueMicrotask\",\n \"clearImmediate\", \"setImmediate\", \"_asyncLoad\",\n \"_fireAsyncLoad\", \"asyncLoad\", \"logger\",\n \"_Crypt\", \"CONFIG\", \"waitUntil\",\n \"_super_\", \"ComplexStorageCache\", \"TagElements\",\n \"onload\", \"InheritClass\", \"Component\",\n \"Controller\", \"View\", \"Service\",\n \"JSONService\", \"ConfigService\", \"VO\",\n \"serviceLoader\", \"componentLoader\", \"ComponentURI\",\n \"SourceJS\", \"SourceCSS\", \"ArrayList\",\n \"ArrayCollection\", \"Effect\", \"Timer\",\n \"Export\", \"Import\", \"Package\",\n \"Class\", \"New\", \"Tag\",\n \"Ready\", \"Contact\", \"FormField\",\n \"ButtonField\", \"InputField\", \"TextField\",\n \"EmailField\", \"GridComponent\", \"GridController\",\n \"GridView\", \"Move\", \"RotateX\",\n \"RotateY\", \"RotateZ\", \"Rotate\",\n \"Fade\", \"Radius\", \"CanvasTool\",\n \"BasicLayout\"\n ];\n const replServer = this.replServer;\n this.commands = {\n loadcmd_json: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable after trying to convert the result\n to JSON format\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_json result = cat somefile.json\n\n The above command will save the content of somefile.json using cat into the variable global.result\n as JSON format\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: string, stderr: any) => {\n try {\n _rplServer.context[_variableName] = JSON.parse(stdout);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n loadcmd_str: {\n help: `\n Executes a CMD Shell Command\n and loads the stdout to a variable.\n The first argument is the variable name followed by an equal sign \"=\".\n Example:\n > .loadcmd_str foo = ls *\n\n The above command will save the output of \"ls *\" into the variable global.foo as string\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var cmdArguments = commandArgs.slice(2).join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.context[_variableName] = stdout;\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n save_json: {\n help: `\n Serializes a variable using JSON.stringify\n and saves it in a file.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .save_json foo ./filename\n\n The above command will save the stringified content of foo into ./filename\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length >= 2) {\n var _variableName = commandArgs[0];\n var _filename = commandArgs[1].toString();\n logger.debug(`Saving variable ${_variableName} in ${_filename}...`);\n var data = JSON.stringify(_rplServer.context[_variableName]);\n fs.writeFile(_filename, data, (err: any) => {\n if (err) throw err;\n logger.debug(`The data of the file ${_filename} has been saved!`);\n _rplServer.displayPrompt();\n });\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n load_json: {\n help: `\n Loads a json from a file and saves it into a variable.\n The first argument is the variable name and the second argument is the name of the file.\n Example:\n > .load_json foo = ./filename\n\n The above command will load a json from ./filename and save it in global.foo as an object\n`,\n action(args: string) {\n const _rplServer = replServer;\n var commandArgs = args.split(\" \");\n if (commandArgs.length > 2) {\n var _variableName = commandArgs[0];\n var _equal_sign = commandArgs[1].toString();\n if (_equal_sign === \"=\") {\n var _filename = commandArgs[2].toString();\n logger.debug(`Trying to read ${_variableName} from ${_filename}...`);\n fs.readFile(_filename, (err: any, data: { toString: () => string; }) => {\n if (err) throw err;\n try {\n _rplServer.context[_variableName] = JSON.parse(data.toString());\n logger.debug(`The data of the file ${_filename} has been loaded!`);\n } catch (e) {\n logger.debug(\"It was not possible to parse the data.\");\n }\n _rplServer.displayPrompt();\n });\n } else {\n console.log(\"That is no good my friend. You need to specify an equal sign.\");\n _rplServer.displayPrompt();\n }\n\n } else {\n console.log(\"No enough data in the command line. Try .help\");\n _rplServer.displayPrompt();\n }\n }\n },\n cmd: {\n help: \"Executes a CMD Shell Command\",\n action(...args: string[]) {\n const _rplServer = replServer;\n var cmdArguments = args.join(\" \");\n _rplServer.clearBufferedCommand();\n logger.debug(`Executing... ${cmdArguments}`);\n exec(cmdArguments, (err: any, stdout: any, stderr: any) => {\n _rplServer.displayPrompt();\n }).stdout?.on(\"data\", function (data: any) {\n console.log(data);\n });\n }\n }\n };\n\n }\n\n runScript(context: any) {\n const runScript = (code: any, logOutput = false) => {\n const options = { filename: sandbox.__filename };\n\n const backgroundRunScript = (code: any) => {\n var output = vm.runInContext(code, context, options);\n return output;\n };\n\n var output = backgroundRunScript(code);\n\n\n if (logOutput && typeof output !== \"undefined\") {\n console.log(output);\n }\n };\n\n }\n\n start() {\n\n var collabServer = this;\n global.require = require.bind(global);\n global.module = module;\n global.__dirname = \"./\";\n global.__filename = \"qcobjects-collab\";\n const globalContext = vm.createContext(global);\n\n\n globalContext.connections = 0;\n\n function unlink_socket() {\n try {\n logger.debug(\"Trying to delete the socket... \");\n fs.unlink(CONFIG.get(\"collab-unix-socket\", unixsocket_default), (err: any) => {\n if (err) {\n logger.debug(\"Unix Socket does not exist\");\n }\n logger.debug(\"Unix Socket was deleted before start\");\n });\n } catch (e) {\n // socket doesnt exists\n logger.debug(\"Unix Socket was not deleted\");\n }\n }\n\n unlink_socket();\n\n var _defineReplCommands = function (_cmdReplServer: { defineCommand: (arg0: string, arg1: any) => void; }, commands: { [x: string]: any; }) {\n for (var _command in commands) {\n _cmdReplServer.defineCommand(_command, commands[_command]);\n }\n };\n\n const replServer = repl.start({\n useColors: true,\n prompt: \"QCObjects Collab> \",\n terminal: true,\n useGlobal: false\n });\n\n this.replServer = replServer;\n\n this.replServer.context.global = globalContext;\n\n this.replServer.on(\"exit\", () => {\n unlink_socket();\n\n console.log(\"Thank you for using QCObjects Collab for Data Science!\");\n console.log(\"Have a nice day!\");\n process.exit();\n });\n _defineReplCommands(this.replServer, collabServer.commands);\n\n\n\n const unixsocket_server = net.createServer(function (unixsocket: any) {\n unixsocket.on(\"end\", () => {\n logger.debug(\"A Unix socket connection was ended\");\n });\n global.connections += 1;\n const unixReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: unixsocket\n , output: unixsocket\n , terminal: true\n , useGlobal: false\n });\n unixReplServer.on(\"exit\", function () {\n unixsocket.end();\n });\n unixReplServer.context.global = global;\n _defineReplCommands(unixReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n\n\n const http_server = net.createServer(function (httpsocket: any) {\n httpsocket.on(\"end\", () => {\n logger.debug(\"A http connection was ended\");\n });\n global.connections += 1;\n const httpReplServer = repl.start({\n prompt: \"QCObjects Collab> \"\n , input: httpsocket\n , output: httpsocket\n , terminal: true\n , useGlobal: false\n });\n httpReplServer.on(\"exit\", function () {\n httpsocket.end();\n });\n httpReplServer.context.global = global;\n _defineReplCommands(httpReplServer, collabServer.commands);\n }).listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n\n\n http_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab HTTP Address in use, retrying...\");\n setTimeout(function () {\n http_server.close();\n http_server.listen(CONFIG.get(\"collab-port\", collab_port_default), CONFIG.get(\"collab-domain\", collab_domain_default));\n }, 1000);\n }\n });\n\n unixsocket_server.on(\"error\", function (e: { code: string; }) {\n if (e.code == \"EADDRINUSE\") {\n console.log(\"Collab Unix Socket Address in use, retrying...\");\n setTimeout(function () {\n unixsocket_server.close();\n unixsocket_server.listen(CONFIG.get(\"collab-unix-socket\", unixsocket_default));\n }, 1000);\n }\n });\n }\n\n\n}\n\n\n(() => {\n\n if (process.argv.length < 3) {\n console.log(instructions);\n\n const collabinstructions = `\nCollab for Data Science\n=======================\n\nQCObjects Collab is a tool that helps you to make data science math using JavaScript\n\nYou can use a TCP socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc ${CONFIG.get(\"collab-domain\", collab_domain_default)} ${CONFIG.get(\"collab-port\", collab_port_default)}\n\nYou can also use a Unix Socket to connect yourself to the engine:\n\n> ssh user@${CONFIG.get(\"domain\", collab_domain_default)} nc -U ${CONFIG.get(\"collab-unix-socket\", unixsocket_default)}\n\n(change \"user\" for whathever your username is!)\n\n`;\n console.log(collabinstructions);\n\n }\n\n\n Package(\"org.quickcorp.qcobjects.collab.server\", [\n CollabServer\n ]);\n\n})();\n\n"],
5
5
  "mappings": "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",
6
6
  "names": ["path", "os", "fs", "code", "output", "vm", "repl", "net"]
7
7
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/common-pipelog.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\n\nimport {Package, InheritClass} from \"qcobjects\";\n\nexport class PipeLog extends InheritClass {\n\n static pipe(o:any) {\n var _o = [];\n for (var k in o) {\n if (typeof o[k] !== \"undefined\" &&\n o[k] !== null &&\n typeof o[k] !== \"function\") {\n try {\n _o.push(\"\" + k + \"=\" + o[k].toString());\n } catch (e) {\n // error logging, do nothing\n }\n }\n }\n return _o.join(\" \");\n }\n\n}\n\n\nPackage(\"org.qcobjects.common.pipelog\", [\n PipeLog\n]);"],
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, InheritClass} from \"qcobjects\";\n\nexport class PipeLog extends InheritClass {\n\n static pipe(o:any) {\n var _o = [];\n for (var k in o) {\n if (typeof o[k] !== \"undefined\" &&\n o[k] !== null &&\n typeof o[k] !== \"function\") {\n try {\n _o.push(\"\" + k + \"=\" + o[k].toString());\n } catch (e) {\n // error logging, do nothing\n }\n }\n }\n return _o.join(\" \");\n }\n\n}\n\n\nPackage(\"org.qcobjects.common.pipelog\", [\n PipeLog\n]);"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAgCA,yBAAoC;EAE7B,MAAM,gBAAgB,8BAAa;AAAA,IAlC1C,OAkC0C;AAAA;AAAA;AAAA,IAEtC,OAAO,KAAK,GAAO;AACf,UAAI,KAAK,CAAC;AACV,eAAS,KAAK,GAAG;AACb,YAAI,OAAO,EAAE,CAAC,MAAM,eAChB,EAAE,CAAC,MAAM,QACT,OAAO,EAAE,CAAC,MAAM,YAAY;AAC5B,cAAI;AACA,eAAG,KAAK,KAAK,IAAI,MAAM,EAAE,CAAC,EAAE,SAAS,CAAC;AAAA,UAC1C,SAAS,GAAG;AAAA,UAEZ;AAAA,QACJ;AAAA,MACJ;AACA,aAAO,GAAG,KAAK,GAAG;AAAA,IACtB;AAAA,EAEJ;AAGA,gCAAQ,gCAAgC;AAAA,IACpC;AAAA,EACJ,CAAC;",
6
6
  "names": []
7
7
  }
@@ -31,7 +31,8 @@ var global = (() => {
31
31
  var defaultsettings_exports = {};
32
32
  __export(defaultsettings_exports, {
33
33
  __get_version__: () => __get_version__,
34
- __get_version_string__: () => __get_version_string__
34
+ __get_version_string__: () => __get_version_string__,
35
+ getProjectPath: () => getProjectPath
35
36
  });
36
37
  var import_qcobjects = require("qcobjects");
37
38
  var import_node_fs = require("node:fs");
@@ -67,20 +68,60 @@ var global = (() => {
67
68
  const version = __get_version__();
68
69
  return "QCObjects: v" + version.qcobjects + ", SDK: v" + version.sdk + ", CLI: v" + version.cli;
69
70
  }, "__get_version_string__");
71
+ const getProjectPath = /* @__PURE__ */ __name(() => {
72
+ return import_qcobjects2.CONFIG.get("projectPath", `${process.cwd()}/`);
73
+ }, "getProjectPath");
70
74
  (0, import_qcobjects2.Export)(__get_version__);
71
75
  (0, import_qcobjects2.Export)(__get_version_string__);
76
+ (0, import_qcobjects2.Export)(getProjectPath);
72
77
  const __load_default_settings__ = /* @__PURE__ */ __name(() => {
78
+ import_qcobjects2.CONFIG.set("domain", "$ENV(DOMAIN)");
79
+ import_qcobjects2.CONFIG.set("certificate_provider", "$ENV(CERTIFICATE_PROVIDER)");
80
+ import_qcobjects2.CONFIG.set("devmode", "$ENV(DEVMODE)");
81
+ import_qcobjects2.CONFIG.set("autodiscover", true);
82
+ import_qcobjects2.CONFIG.set("autodiscover_commands", true);
83
+ import_qcobjects2.CONFIG.set("autodiscover_handlers", true);
84
+ import_qcobjects2.CONFIG.set("documentRoot", "$config(projectPath)public/");
73
85
  import_qcobjects2.CONFIG.set("documentRootFileIndex", "index.html");
74
- import_qcobjects2.CONFIG.set("projectPath", `${process.cwd()}/`);
86
+ import_qcobjects2.CONFIG.set("cacheControl", "max-age=31536000");
87
+ import_qcobjects2.CONFIG.set("relativeImportPath", "js/packages/");
88
+ import_qcobjects2.CONFIG.set("serverPortHTTP", "8080");
89
+ import_qcobjects2.CONFIG.set("serverPortHTTPS", "8443");
90
+ import_qcobjects2.CONFIG.set("useLocalSDK", true);
91
+ import_qcobjects2.CONFIG.set("useLegacyHTTP", false);
92
+ import_qcobjects2.CONFIG.set("private-key-pem", "$config(domain)-privkey.pem");
93
+ import_qcobjects2.CONFIG.set("private-cert-pem", "$config(domain)-cert.pem");
94
+ import_qcobjects2.CONFIG.set("enableShellCommands", true);
95
+ import_qcobjects2.CONFIG.set("OPENAI_API_KEY", "$ENV(OPENAI_API_KEY)");
96
+ const backend = {
97
+ db_engine: {
98
+ name: "$ENV(ENGINE_NAME)",
99
+ databaseName: "$ENV(DATABASE_NAME)"
100
+ },
101
+ auth: {
102
+ enabled: true,
103
+ defaultUser: "$ENV(DEFAULT_USER)",
104
+ defaultPasswd: "$ENV(DEFAULT_PASSWORD)",
105
+ microsoftapikey: "$ENV(MICROSOFT_API_KEY)",
106
+ googleapikey: "$ENV(GOOGLE_API_KEY)"
107
+ },
108
+ routes: []
109
+ };
110
+ import_qcobjects2.CONFIG.set("backend", backend);
111
+ const packageConfig = {
112
+ source: {
113
+ backend: "backend",
114
+ frontend: "src"
115
+ },
116
+ build: "build",
117
+ dist: "dist"
118
+ };
119
+ import_qcobjects2.CONFIG.set("package", packageConfig);
75
120
  import_qcobjects2.CONFIG.set("useConfigService", false);
76
- import_qcobjects2.CONFIG.set("documentRoot", "./");
77
- import_qcobjects2.CONFIG.set("serverPortHTTP", 80);
78
- import_qcobjects2.CONFIG.set("serverPortHTTPS", 443);
79
- import_qcobjects2.CONFIG.set("private-key-pem", "localhost-privkey.pem");
80
- import_qcobjects2.CONFIG.set("private-cert-pem", "localhost-cert.pem");
121
+ import_qcobjects2.CONFIG.set("projectPath", `${process.cwd()}/`);
81
122
  import_qcobjects2.CONFIG.set("allowHTTP1", true);
82
123
  import_qcobjects2.CONFIG.set("useTemplate", false);
83
- import_qcobjects2.CONFIG.set("domain", "localhost");
124
+ import_qcobjects2.CONFIG.set("useLegacyHTTP", false);
84
125
  const setDevMode = /* @__PURE__ */ __name((devmode) => {
85
126
  if (typeof devmode !== "undefined") {
86
127
  switch (true) {
@@ -130,14 +171,14 @@ var global = (() => {
130
171
  setDevMode(import_qcobjects2.CONFIG.get("devmode", ""));
131
172
  if (typeof import_qcobjects2.CONFIG.get("backend") !== "undefined") {
132
173
  import_qcobjects2.global.set("backendAvailable", true);
133
- if (typeof import_qcobjects2.CONFIG.get("basePath") !== "undefined") {
134
- import_qcobjects2.logger.debug(`Changing the current directory: ${process.cwd()}`);
135
- try {
136
- process.chdir(import_qcobjects2.CONFIG.get("basePath"));
137
- import_qcobjects2.logger.debug(`New directory: ${process.cwd()}`);
138
- } catch (err) {
139
- import_qcobjects2.logger.warn(`It was impossible to change the current chdir: ${err}`);
140
- }
174
+ }
175
+ if (typeof import_qcobjects2.CONFIG.get("basePath") !== "undefined") {
176
+ import_qcobjects2.logger.debug(`Changing the current directory: ${process.cwd()}`);
177
+ try {
178
+ process.chdir(import_qcobjects2.CONFIG.get("basePath"));
179
+ import_qcobjects2.logger.debug(`New directory: ${process.cwd()}`);
180
+ } catch (err) {
181
+ import_qcobjects2.logger.warn(`It was impossible to change the current chdir: ${err}`);
141
182
  }
142
183
  }
143
184
  } catch (e) {
@@ -145,19 +186,19 @@ var global = (() => {
145
186
  import_qcobjects2.logger.debug("Something went wrong trying to load config.json file in your project");
146
187
  }
147
188
  (async function() {
148
- const projectPath = import_qcobjects2.CONFIG.get("projectPath", `${process.cwd()}/`);
189
+ const projectPath = getProjectPath();
149
190
  const loadDefaultRoutes = /* @__PURE__ */ __name(async () => {
150
191
  return await new Promise((resolve, reject) => {
151
192
  const sdkPath = import_node_path.default.resolve((0, import_qcobjects2.findPackageNodePath)("qcobjects-sdk"), "qcobjects-sdk");
152
193
  const qcobjectsPath = import_node_path.default.resolve((0, import_qcobjects2.findPackageNodePath)("qcobjects"), "qcobjects");
153
- let backend = import_qcobjects2.CONFIG.get("backend");
154
- if (typeof backend === "undefined") {
155
- backend = {};
194
+ let backend2 = import_qcobjects2.CONFIG.get("backend");
195
+ if (typeof backend2 === "undefined") {
196
+ backend2 = {};
156
197
  }
157
- if (typeof backend.routes === "undefined") {
158
- backend.routes = [];
198
+ if (typeof backend2.routes === "undefined") {
199
+ backend2.routes = [];
159
200
  }
160
- backend.routes = backend.routes.concat([
201
+ backend2.routes = backend2.routes.concat([
161
202
  {
162
203
  "name": "QCObjects.js",
163
204
  "description": "Redirection of QCObjects.js",
@@ -192,7 +233,7 @@ var global = (() => {
192
233
  }
193
234
  }
194
235
  ]);
195
- import_qcobjects2.CONFIG.set("backend", backend);
236
+ import_qcobjects2.CONFIG.set("backend", backend2);
196
237
  resolve();
197
238
  });
198
239
  }, "loadDefaultRoutes");
@@ -240,11 +281,11 @@ var global = (() => {
240
281
  };
241
282
  })();
242
283
  const setBackendValue = /* @__PURE__ */ __name((name, value) => {
243
- const backend = import_qcobjects2.CONFIG.get("backend", {});
284
+ const backend2 = import_qcobjects2.CONFIG.get("backend", {});
244
285
  if (typeof value !== "undefined") {
245
- backend[name] = value;
286
+ backend2[name] = value;
246
287
  }
247
- import_qcobjects2.CONFIG.set("backend", backend);
288
+ import_qcobjects2.CONFIG.set("backend", backend2);
248
289
  }, "setBackendValue");
249
290
  const dependencies = /* @__PURE__ */ (() => {
250
291
  let deps = [];