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,301 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
18
- // If the importer is in node compatibility mode or this is not an ESM
19
- // file that has been converted to a CommonJS file using a Babel-
20
- // compatible transform (i.e. "__esModule" has not been set), then set
21
- // "default" to the CommonJS "module.exports" for node compatibility.
22
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
23
- mod
24
- ));
25
- var import_common_pipelog = require("../common-pipelog.cjs");
26
- (async () => {
27
- const fs = __toESM(require("node:fs"), true);
28
- const os = __toESM(require("node:os"), true);
29
- const { exec, execSync } = __toESM(require("node:child_process"), true);
30
- const { Package, BackendMicroservice, logger, CONFIG, Class } = __toESM(require("qcobjects"), true);
31
- const path = __toESM(require("node:path"), true);
32
- const absolutePath = path.resolve(__dirname, "./");
33
- const fixWinCmd = /* @__PURE__ */ __name(function(commandline) {
34
- if (!process.platform.toLowerCase().startsWith("win")) {
35
- commandline = commandline.replace(/(")/g, String.fromCharCode(92) + '"');
36
- }
37
- return commandline;
38
- }, "fixWinCmd");
39
- class PHPMicroservice extends BackendMicroservice {
40
- static {
41
- __name(this, "PHPMicroservice");
42
- }
43
- request;
44
- stream;
45
- scriptFilePath;
46
- domain;
47
- tempFileName;
48
- route;
49
- body;
50
- headers;
51
- constructor() {
52
- super();
53
- const o = this;
54
- logger.debug("PHP Microservice executing");
55
- const microservice = this;
56
- const request = microservice.request;
57
- const stream = o.stream;
58
- microservice.stream = stream;
59
- stream.on("data", (data) => {
60
- const requestMethod2 = request.method.toLowerCase();
61
- const supportedMethods2 = {
62
- "post": microservice.post.bind(this)
63
- };
64
- if (supportedMethods2.hasOwnProperty.call(supportedMethods2, requestMethod2)) {
65
- supportedMethods2[requestMethod2].call(microservice, data);
66
- }
67
- });
68
- const requestMethod = request.method.toLowerCase();
69
- const supportedMethods = {
70
- "get": microservice.get.bind(this),
71
- "head": microservice.head.bind(this),
72
- "put": microservice.put.bind(this),
73
- "delete": microservice.delete.bind(this),
74
- "connect": microservice.connect.bind(this),
75
- "options": microservice.options.bind(this),
76
- "trace": microservice.trace.bind(this),
77
- "patch": microservice.patch.bind(this)
78
- };
79
- if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {
80
- supportedMethods[requestMethod].call(microservice);
81
- }
82
- }
83
- get_php_headers_list() {
84
- const phpheaders = {
85
- "QUERY_STRING": `${this.request.query}`,
86
- "REDIRECT_STATUS": "200",
87
- "REQUEST_METHOD": `${this.request.method}`,
88
- "SCRIPT_FILENAME": `${this.scriptFilePath}`,
89
- "SCRIPT_NAME": `${this.scriptFilePath.toString()}`,
90
- "PATH_INFO": `${this.request.path}`,
91
- "SERVER_NAME": `${this.domain}`,
92
- "SERVER_PROTOCOL": "HTTP/2",
93
- "REQUEST_URI": `${this.request.href}`,
94
- "HTTP_HOST": `${this.domain}`
95
- };
96
- function fixedEncodeURIComponent(str) {
97
- return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\*/g, "%2A");
98
- }
99
- __name(fixedEncodeURIComponent, "fixedEncodeURIComponent");
100
- for (const headername in this.request.headers) {
101
- if (!headername.startsWith(":")) {
102
- const phpheadername = headername.toUpperCase().replace(new RegExp("-", "g"), "_");
103
- let headervalue = this.request.headers[headername];
104
- if (typeof headervalue !== "string") {
105
- headervalue = JSON.stringify(headervalue);
106
- }
107
- phpheaders["HTTP_" + phpheadername] = fixedEncodeURIComponent(headervalue);
108
- }
109
- }
110
- return import_common_pipelog.PipeLog.pipe(phpheaders);
111
- }
112
- saveTempData(data, done) {
113
- const filename = os.tmpdir() + this.tempFileName;
114
- fs.writeFile(filename, data, (err) => {
115
- if (err) throw err;
116
- logger.debug("A temp data file has been saved!");
117
- done.call(this);
118
- });
119
- }
120
- generateTempFileName() {
121
- this.tempFileName = "temp" + Date.now().toString();
122
- return this.tempFileName;
123
- }
124
- trimSlash(pathname) {
125
- if (pathname.startsWith("/")) {
126
- pathname = pathname.slice(1);
127
- }
128
- if (pathname.endsWith("/")) {
129
- pathname = pathname.slice(0, -1);
130
- }
131
- return pathname.replace("//", "/");
132
- }
133
- get() {
134
- const microservice = this;
135
- microservice.generateTempFileName();
136
- microservice.saveTempData(this.request.query, function() {
137
- try {
138
- process.chdir(CONFIG.get("documentRoot") + microservice.request.pathname.slice(1));
139
- } catch (e) {
140
- }
141
- const scriptFileName = microservice.route.hasOwnProperty.call(microservice.route, "redirect_to") && microservice.route.redirect_to !== "" ? microservice.route.redirect_to : microservice.request.scriptname;
142
- const pathname = microservice.trimSlash(microservice.request.pathname);
143
- let documentRoot = CONFIG.get("documentRoot", "");
144
- if (documentRoot == "./") {
145
- documentRoot = "";
146
- }
147
- let scriptFilePath;
148
- if (documentRoot !== "") {
149
- scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;
150
- } else {
151
- scriptFilePath = `${pathname}/${scriptFileName}`;
152
- }
153
- scriptFilePath = scriptFilePath.replace("//", "/");
154
- if (scriptFilePath.startsWith("/") && !documentRoot.startsWith("/")) {
155
- scriptFilePath = scriptFilePath.slice(1);
156
- }
157
- logger.debug(`Loading PHP file: ${scriptFilePath}`);
158
- const PHPIncludePath = `.:${CONFIG.get("documentRoot")}:${CONFIG.get("projectPath")}`;
159
- microservice.scriptFilePath = scriptFilePath;
160
- let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path="${PHPIncludePath}" -q <<- 'EOF'
161
- <?php
162
- $_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');
163
- foreach ($_SERVER as $_k => $_v) {
164
- if (array_key_exists($_k,$_ENV)){
165
- $_SERVER[$_k] = $_ENV[$_k];
166
- }
167
- if ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){
168
- $_SERVER[$_k]=urldecode($_v);
169
- }
170
- }
171
- @parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);
172
- @parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_GET);
173
- unlink(sys_get_temp_dir().'${microservice.tempFileName}');
174
- include('${scriptFilePath}');
175
- ?>
176
- EOF`;
177
- commandline = fixWinCmd(commandline);
178
- logger.debug(commandline);
179
- try {
180
- const php = exec(commandline, (err, stdout, stderr) => {
181
- microservice.body = stdout;
182
- console.log(stderr);
183
- microservice.done();
184
- });
185
- } catch (ex) {
186
- microservice.body = "500 - INTERNAL ERROR";
187
- logger.debug(ex.toString());
188
- console.log(ex);
189
- microservice.done();
190
- }
191
- });
192
- }
193
- head(formData) {
194
- this.done();
195
- }
196
- post(formData) {
197
- logger.debug("POST DATA");
198
- const microservice = this;
199
- microservice.generateTempFileName();
200
- microservice.saveTempData(formData, function() {
201
- try {
202
- process.chdir(CONFIG.get("documentRoot") + microservice.request.pathname.slice(1));
203
- } catch (e) {
204
- }
205
- const scriptFileName = microservice.route.hasOwnProperty.call(microservice.route, "redirect_to") && microservice.route.redirect_to !== "" ? microservice.route.redirect_to : microservice.request.scriptname;
206
- const pathname = microservice.trimSlash(microservice.request.pathname);
207
- let documentRoot = CONFIG.get("documentRoot", "");
208
- if (documentRoot == "./") {
209
- documentRoot = "";
210
- }
211
- let scriptFilePath;
212
- if (documentRoot !== "") {
213
- scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;
214
- } else {
215
- scriptFilePath = `${pathname}/${scriptFileName}`;
216
- }
217
- scriptFilePath = scriptFilePath.replace("//", "/");
218
- if (scriptFilePath.startsWith("/") && !documentRoot.startsWith("/")) {
219
- scriptFilePath = scriptFilePath.slice(1);
220
- }
221
- logger.debug(`Loading PHP file: ${scriptFilePath}`);
222
- const PHPIncludePath = `.:${CONFIG.get("documentRoot")}:${CONFIG.get("projectPath")}`;
223
- microservice.scriptFilePath = scriptFilePath;
224
- let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path="${PHPIncludePath}" -q <<- 'EOF'
225
- <?php
226
- $_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');
227
- foreach ($_SERVER as $_k => $_v) {
228
- if (array_key_exists($_k,$_ENV)){
229
- $_SERVER[$_k] = $_ENV[$_k];
230
- }
231
- if ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){
232
- $_SERVER[$_k]=urldecode($_v);
233
- }
234
- }
235
- @parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);
236
- @parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_POST);
237
- unlink(sys_get_temp_dir().'${microservice.tempFileName}');
238
- @include('${scriptFilePath}');
239
- ?>
240
- EOF`;
241
- commandline = fixWinCmd(commandline);
242
- try {
243
- microservice.body = execSync(commandline).toString();
244
- } catch (ex) {
245
- microservice.body = "500 - INTERNAL ERROR";
246
- logger.debug(ex.toString());
247
- }
248
- microservice.done();
249
- });
250
- }
251
- put(formData) {
252
- this.done();
253
- }
254
- delete(formData) {
255
- this.done();
256
- }
257
- connect(formData) {
258
- this.done();
259
- }
260
- options(formData) {
261
- this.done();
262
- }
263
- trace(formData) {
264
- this.done();
265
- }
266
- patch(formData) {
267
- this.done();
268
- }
269
- done() {
270
- const microservice = this;
271
- const stream = microservice.stream;
272
- try {
273
- stream.respond(microservice.headers);
274
- } catch (e) {
275
- }
276
- if (microservice.body != null) {
277
- microservice.finishWithBody.call(microservice, stream);
278
- }
279
- }
280
- finishWithBody(stream) {
281
- try {
282
- stream.write(this.body);
283
- stream.end();
284
- } catch (e) {
285
- logger.debug("Something wrong writing the response for microservice" + e.toString());
286
- }
287
- }
288
- }
289
- const Microservice = Class("Microservice", PHPMicroservice);
290
- Package("org.quickcorp.backend.php", [
291
- PHPMicroservice,
292
- Microservice
293
- ]);
294
- exports = {
295
- PHPMicroservice,
296
- Microservice
297
- };
298
- })().catch((e) => {
299
- console.error(e);
300
- });
301
- //# sourceMappingURL=backend-php.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/backend/backend-php.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.3.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint strict: \"off\" */\n/* eslint no-mixed-operators: \"off\" */\n/* eslint no-undef: \"off\" */\n\"use strict\";\nimport { PipeLog } from \"../common-pipelog\";\n\n(async () => {\n const fs = await import(\"node:fs\");\n const os = await import(\"node:os\");\n const { exec, execSync } = await import(\"node:child_process\");\n // MY_ENV_VAR=\"HELLO WORLD\" php -f index.php\n\n const { Package, BackendMicroservice, logger, CONFIG, Class } = await import(\"qcobjects\");\n const path = await import(\"node:path\");\n const absolutePath = path.resolve(__dirname, \"./\");\n\n const fixWinCmd = function (commandline: string) {\n if (!process.platform.toLowerCase().startsWith(\"win\")) {\n commandline = commandline.replace(/(\")/g, String.fromCharCode(92) + \"\\\"\");\n }\n return commandline;\n };\n\n\n class PHPMicroservice extends BackendMicroservice {\n request: any;\n stream: any;\n scriptFilePath: any;\n domain: any;\n tempFileName!: string;\n route: any;\n body: any;\n headers:any;\n constructor() {\n super();\n const o = this;\n\n logger.debug(\"PHP Microservice executing\");\n const microservice = this;\n const request = microservice.request;\n const stream = o.stream;\n microservice.stream = stream;\n stream.on(\"data\", (data: any) => {\n // data from POST, GET\n const requestMethod = request.method.toLowerCase();\n const supportedMethods: any = {\n \"post\": microservice.post.bind(this),\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice, data);\n }\n });\n\n // data from POST, GET\n const requestMethod = request.method.toLowerCase();\n const supportedMethods: any = {\n \"get\": microservice.get.bind(this),\n \"head\": microservice.head.bind(this),\n \"put\": microservice.put.bind(this),\n \"delete\": microservice.delete.bind(this),\n \"connect\": microservice.connect.bind(this),\n \"options\": microservice.options.bind(this),\n \"trace\": microservice.trace.bind(this),\n \"patch\": microservice.patch.bind(this)\n };\n if (supportedMethods.hasOwnProperty.call(supportedMethods, requestMethod)) {\n supportedMethods[requestMethod].call(microservice);\n }\n\n }\n\n get_php_headers_list() {\n const phpheaders: any = {\n \"QUERY_STRING\": `${this.request.query}`,\n \"REDIRECT_STATUS\": \"200\",\n \"REQUEST_METHOD\": `${this.request.method}`,\n \"SCRIPT_FILENAME\": `${this.scriptFilePath}`,\n \"SCRIPT_NAME\": `${this.scriptFilePath.toString()}`,\n \"PATH_INFO\": `${this.request.path}`,\n \"SERVER_NAME\": `${this.domain}`,\n \"SERVER_PROTOCOL\": \"HTTP/2\",\n \"REQUEST_URI\": `${this.request.href}`,\n \"HTTP_HOST\": `${this.domain}`\n };\n\n function fixedEncodeURIComponent(str: string | number | boolean) {\n return encodeURIComponent(str).replace(/[!'()]/g, escape).replace(/\\*/g, \"%2A\");\n }\n for (const headername in this.request.headers) {\n if (!headername.startsWith(\":\")) {\n const phpheadername = headername.toUpperCase().replace(new RegExp(\"-\", \"g\"), \"_\");\n let headervalue = this.request.headers[headername];\n if (typeof headervalue !== \"string\") {\n headervalue = JSON.stringify(headervalue);\n }\n phpheaders[\"HTTP_\" + phpheadername] = fixedEncodeURIComponent(headervalue);\n }\n }\n\n return PipeLog.pipe(phpheaders);\n }\n\n saveTempData(data: any, done: { (): void; (): void; call?: any; }) {\n const filename = os.tmpdir() + this.tempFileName;\n fs.writeFile(filename, data, (err: any) => {\n if (err) throw err;\n logger.debug(\"A temp data file has been saved!\");\n done.call(this);\n });\n }\n\n generateTempFileName() {\n this.tempFileName = \"temp\" + Date.now().toString();\n return this.tempFileName;\n }\n\n trimSlash(pathname: string) {\n if (pathname.startsWith(\"/\")) {\n pathname = pathname.slice(1);\n }\n if (pathname.endsWith(\"/\")) {\n pathname = pathname.slice(0, -1);\n }\n return pathname.replace(\"//\", \"/\");\n }\n\n get() {\n const microservice = this;\n microservice.generateTempFileName();\n\n microservice.saveTempData(this.request.query, function () {\n try {\n process.chdir(CONFIG.get(\"documentRoot\") + microservice.request.pathname.slice(1));\n } catch (e) { }\n\n const scriptFileName = (microservice.route.hasOwnProperty.call(microservice.route, \"redirect_to\") &&\n microservice.route.redirect_to !== \"\") ? (microservice.route.redirect_to) : (microservice.request.scriptname);\n const pathname = microservice.trimSlash(microservice.request.pathname);\n let documentRoot = CONFIG.get(\"documentRoot\", \"\");\n if (documentRoot == \"./\") {\n documentRoot = \"\";\n }\n\n let scriptFilePath;\n if (documentRoot !== \"\") {\n scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;\n } else {\n scriptFilePath = `${pathname}/${scriptFileName}`;\n }\n\n scriptFilePath = scriptFilePath.replace(\"//\", \"/\");\n if (scriptFilePath.startsWith(\"/\") && !documentRoot.startsWith(\"/\")) {\n scriptFilePath = scriptFilePath.slice(1);\n }\n\n logger.debug(`Loading PHP file: ${scriptFilePath}`);\n const PHPIncludePath = `.:${CONFIG.get(\"documentRoot\")}:${CONFIG.get(\"projectPath\")}`;\n\n microservice.scriptFilePath = scriptFilePath;\n\n let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path=\"${PHPIncludePath}\" -q <<- 'EOF'\n<?php\n$_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');\nforeach ($_SERVER as $_k => $_v) {\nif (array_key_exists($_k,$_ENV)){\n $_SERVER[$_k] = $_ENV[$_k];\n}\nif ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){\n $_SERVER[$_k]=urldecode($_v);\n}\n}\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_GET);\nunlink(sys_get_temp_dir().'${microservice.tempFileName}');\ninclude('${scriptFilePath}');\n?>\nEOF`;\n commandline = fixWinCmd(commandline);\n logger.debug(commandline);\n try {\n const php = exec(commandline, (err: any, stdout: any, stderr: any) => {\n microservice.body = stdout;\n console.log(stderr);\n microservice.done();\n });\n } catch (ex: any) {\n microservice.body = \"500 - INTERNAL ERROR\";\n logger.debug(ex.toString());\n console.log(ex);\n microservice.done();\n }\n\n });\n\n }\n\n head(formData: any) {\n this.done();\n }\n\n post(formData: any) {\n logger.debug(\"POST DATA\");\n const microservice = this;\n microservice.generateTempFileName();\n\n microservice.saveTempData(formData, function () {\n try {\n process.chdir(CONFIG.get(\"documentRoot\") + microservice.request.pathname.slice(1));\n } catch (e) { }\n\n const scriptFileName = (microservice.route.hasOwnProperty.call(microservice.route, \"redirect_to\") &&\n microservice.route.redirect_to !== \"\") ? (microservice.route.redirect_to) : (microservice.request.scriptname);\n const pathname = microservice.trimSlash(microservice.request.pathname);\n let documentRoot = CONFIG.get(\"documentRoot\", \"\");\n if (documentRoot == \"./\") {\n documentRoot = \"\";\n }\n\n let scriptFilePath;\n if (documentRoot !== \"\") {\n scriptFilePath = `${documentRoot}/${pathname}/${scriptFileName}`;\n } else {\n scriptFilePath = `${pathname}/${scriptFileName}`;\n }\n\n scriptFilePath = scriptFilePath.replace(\"//\", \"/\");\n if (scriptFilePath.startsWith(\"/\") && !documentRoot.startsWith(\"/\")) {\n scriptFilePath = scriptFilePath.slice(1);\n }\n\n logger.debug(`Loading PHP file: ${scriptFilePath}`);\n const PHPIncludePath = `.:${CONFIG.get(\"documentRoot\")}:${CONFIG.get(\"projectPath\")}`;\n\n microservice.scriptFilePath = scriptFilePath;\n\n let commandline = `echo $(cat ${os.tmpdir()}${microservice.tempFileName}) |` + microservice.get_php_headers_list() + ` php -d include_path=\"${PHPIncludePath}\" -q <<- 'EOF'\n<?php\n$_payload = file_get_contents(sys_get_temp_dir().'${microservice.tempFileName}');\nforeach ($_SERVER as $_k => $_v) {\nif (array_key_exists($_k,$_ENV)){\n $_SERVER[$_k] = $_ENV[$_k];\n}\nif ( substr($_k, 0, strlen('HTTP_')) == 'HTTP_' ){\n $_SERVER[$_k]=urldecode($_v);\n}\n}\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_REQUEST);\n@parse_str(parse_url('?'.$_payload, PHP_URL_QUERY), $_POST);\nunlink(sys_get_temp_dir().'${microservice.tempFileName}');\n@include('${scriptFilePath}');\n?>\nEOF`;\n commandline = fixWinCmd(commandline);\n // logger.debug(commandline);\n\n try {\n microservice.body = execSync(commandline).toString();\n } catch (ex: any) {\n microservice.body = \"500 - INTERNAL ERROR\";\n logger.debug(ex.toString());\n }\n microservice.done();\n\n });\n\n }\n\n put(formData: any) {\n this.done();\n }\n\n delete(formData: any) {\n this.done();\n }\n\n connect(formData: any) {\n this.done();\n }\n\n options(formData: any) {\n this.done();\n }\n\n trace(formData: any) {\n this.done();\n }\n\n patch(formData: any) {\n this.done();\n }\n\n done() {\n const microservice = this;\n const stream = microservice.stream;\n try {\n stream.respond(microservice.headers);\n } catch (e) {\n //\n }\n if (microservice.body != null) {\n microservice.finishWithBody.call(microservice, stream);\n }\n }\n\n finishWithBody(stream: { write: (arg0: any) => void; end: () => void; }) {\n try {\n stream.write(this.body);\n stream.end();\n } catch (e: any) {\n logger.debug(\"Something wrong writing the response for microservice\" + e.toString());\n }\n }\n\n\n }\n\n const Microservice = Class(\"Microservice\", PHPMicroservice);\n\n Package(\"org.quickcorp.backend.php\", [\n\n PHPMicroservice,\n Microservice\n ]);\n\n exports = {\n PHPMicroservice,\n Microservice\n };\n})()\n.catch(e => {console.error(e);});"],
5
- "mappings": "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",
6
- "names": ["requestMethod", "supportedMethods"]
7
- }
@@ -1,112 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var cli_commands_jira_exports = {};
31
- __export(cli_commands_jira_exports, {
32
- CommandHandler: () => CommandHandler
33
- });
34
- module.exports = __toCommonJS(cli_commands_jira_exports);
35
- var import_node_path = __toESM(require("node:path"));
36
- var import_client_services = require("./client_services.cjs");
37
- var import_qcobjects = require("qcobjects");
38
- const absolutePath = import_node_path.default.resolve(__dirname, "./");
39
- class CommandHandler extends import_qcobjects.InheritClass {
40
- static {
41
- __name(this, "CommandHandler");
42
- }
43
- choiceOption;
44
- constructor({
45
- switchCommander
46
- }) {
47
- super({ switchCommander });
48
- this.choiceOption = {
49
- issues: /* @__PURE__ */ __name(function() {
50
- this.getIssueList().then(function(response) {
51
- console.log((0, import_qcobjects._DataStringify)(response));
52
- }).catch((e) => {
53
- console.log(e);
54
- process.exit(1);
55
- });
56
- }, "issues")
57
- };
58
- const commandHandler = this;
59
- switchCommander.program.command("jira <subcommand>").option("-u, --from-user [username]", "User name").option("-fp,--from-project <projectName>", "Project name").option("-p, --pwd <password>", "Password").option("-f, --format <format>", "Format (json, table)").description(`Jira Integration:
60
- Sub-Commands can be:
61
- issues: To get the issues list from JIRA
62
- `).action(function(subcommand, options) {
63
- if (commandHandler.choiceOption.hasOwnProperty.call(commandHandler.choiceOption, subcommand)) {
64
- commandHandler.choiceOption[subcommand].call(commandHandler, subcommand, options);
65
- } else {
66
- console.error(`Sub-Command (jira ${subcommand}... ) is not available`);
67
- process.exit(1);
68
- }
69
- });
70
- }
71
- getIssueList() {
72
- return new Promise(function(resolve, reject) {
73
- import_qcobjects.logger.info("I'm going to get the issue list from the jira cloud...");
74
- const jira_config = import_qcobjects.CONFIG.get("jira", null);
75
- if (jira_config !== null) {
76
- const jira_username = jira_config.username;
77
- const jira_password = jira_config.auth_token;
78
- const jira_project = jira_config.project;
79
- const jira_domain = jira_config.domain;
80
- const jira_issue_fields = ["id", "key", "summary", "timetracking"];
81
- const cloudClient = (0, import_qcobjects.New)(import_client_services.JiraCloud, {
82
- domain: `${jira_domain}`,
83
- username: `${jira_username}`,
84
- password: `${jira_password}`,
85
- apiMethod: "rest/api/latest/search",
86
- data: {
87
- "jql": `project = ${jira_project}`,
88
- "startAt": 0,
89
- "maxResults": 5e3,
90
- "fields": jira_issue_fields
91
- }
92
- });
93
- try {
94
- } catch (e) {
95
- console.error("\u{1F926} Something went wrong \u{1F926} when trying to get jira issues from the cloud");
96
- reject(e);
97
- }
98
- } else {
99
- console.error("\u{1F926} Something went wrong \u{1F926} You need to set the jira config settings");
100
- reject(new Error("\u{1F926} Something went wrong \u{1F926} You need to set the jira config settings"));
101
- }
102
- });
103
- }
104
- }
105
- (0, import_qcobjects.Package)("com.qcobjects.cli.commands.jira", [
106
- CommandHandler
107
- ]);
108
- // Annotate the CommonJS export names for ESM import in node:
109
- 0 && (module.exports = {
110
- CommandHandler
111
- });
112
- //# sourceMappingURL=cli-commands-jira.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cli-commands-jira.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 path from \"node:path\";\n\nimport { JiraCloud } from \"./client_services\";\nimport { Package, InheritClass, _DataStringify, New, CONFIG, logger } from \"qcobjects\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any; issues: () => void;\n };\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n issues: function () {\n\n this.getIssueList().then(function (response: any) {\n console.log(_DataStringify(response));\n }).catch((e: any) => {\n console.log(e);\n process.exit(1);\n });\n\n }\n };\n\n const commandHandler = this;\n\n switchCommander.program.command(\"jira <subcommand>\")\n .option(\"-u, --from-user [username]\", \"User name\")\n .option(\"-fp,--from-project <projectName>\", \"Project name\")\n .option(\"-p, --pwd <password>\", \"Password\")\n .option(\"-f, --format <format>\", \"Format (json, table)\")\n .description(`Jira Integration:\n Sub-Commands can be:\n issues: To get the issues list from JIRA\n `)\n .action(function (subcommand: string | number, options: any) {\n if (commandHandler.choiceOption.hasOwnProperty.call(commandHandler.choiceOption, subcommand)) {\n commandHandler.choiceOption[subcommand].call(commandHandler, subcommand, options);\n } else {\n console.error(`Sub-Command (jira ${subcommand}... ) is not available`);\n process.exit(1);\n }\n });\n\n }\n\n getIssueList() {\n return new Promise<void>(function (resolve, reject) {\n logger.info(\"I'm going to get the issue list from the jira cloud...\");\n const jira_config = CONFIG.get(\"jira\", null);\n if (jira_config !== null) {\n const jira_username = jira_config.username;\n const jira_password = jira_config.auth_token;\n const jira_project = jira_config.project;\n const jira_domain = jira_config.domain;\n const jira_issue_fields = [\"id\", \"key\", \"summary\", \"timetracking\"];\n const cloudClient = New(JiraCloud, {\n domain: `${jira_domain}`,\n username: `${jira_username}`,\n password: `${jira_password}`,\n apiMethod: \"rest/api/latest/search\",\n data: {\n \"jql\": `project = ${jira_project}`,\n \"startAt\": 0,\n \"maxResults\": 5000,\n \"fields\": jira_issue_fields\n }\n });\n try {\n } catch (e) {\n console.error(\"\\u{1F926} Something went wrong \\u{1F926} when trying to get jira issues from the cloud\");\n reject(e as Error);\n }\n\n } else {\n console.error(\"\\u{1F926} Something went wrong \\u{1F926} You need to set the jira config settings\");\n reject(new Error(\"\\u{1F926} Something went wrong \\u{1F926} You need to set the jira config settings\"));\n }\n\n });\n }\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.jira\", [\n CommandHandler\n]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA,uBAAiB;AAEjB,6BAA0B;AAC1B,uBAA2E;AAC3E,MAAM,eAAe,iBAAAA,QAAK,QAAQ,WAAW,IAAI;AAE1C,MAAM,uBAAuB,8BAAa;AAAA,EArCjD,OAqCiD;AAAA;AAAA;AAAA,EAC/C;AAAA,EAGA,YAAY;AAAA,IACV;AAAA,EACF,GAA6B;AAC3B,UAAM,EAAE,gBAAgB,CAAC;AACzB,SAAK,eAAe;AAAA,MAClB,QAAQ,kCAAY;AAElB,aAAK,aAAa,EAAE,KAAK,SAAU,UAAe;AAChD,kBAAQ,QAAI,iCAAe,QAAQ,CAAC;AAAA,QACtC,CAAC,EAAE,MAAM,CAAC,MAAW;AACnB,kBAAQ,IAAI,CAAC;AACb,kBAAQ,KAAK,CAAC;AAAA,QAChB,CAAC;AAAA,MAEH,GATQ;AAAA,IAUV;AAEA,UAAM,iBAAiB;AAEvB,oBAAgB,QAAQ,QAAQ,mBAAmB,EAChD,OAAO,8BAA8B,WAAW,EAChD,OAAO,oCAAoC,cAAc,EACzD,OAAO,wBAAwB,UAAU,EACzC,OAAO,yBAAyB,sBAAsB,EACtD,YAAY;AAAA;AAAA;AAAA,SAGV,EACF,OAAO,SAAU,YAA6B,SAAc;AAC3D,UAAI,eAAe,aAAa,eAAe,KAAK,eAAe,cAAc,UAAU,GAAG;AAC5F,uBAAe,aAAa,UAAU,EAAE,KAAK,gBAAgB,YAAY,OAAO;AAAA,MAClF,OAAO;AACL,gBAAQ,MAAM,qBAAqB,UAAU,wBAAwB;AACrE,gBAAQ,KAAK,CAAC;AAAA,MAChB;AAAA,IACF,CAAC;AAAA,EAEL;AAAA,EAEA,eAAe;AACb,WAAO,IAAI,QAAc,SAAU,SAAS,QAAQ;AAClD,8BAAO,KAAK,wDAAwD;AACpE,YAAM,cAAc,wBAAO,IAAI,QAAQ,IAAI;AAC3C,UAAI,gBAAgB,MAAM;AACxB,cAAM,gBAAgB,YAAY;AAClC,cAAM,gBAAgB,YAAY;AAClC,cAAM,eAAe,YAAY;AACjC,cAAM,cAAc,YAAY;AAChC,cAAM,oBAAoB,CAAC,MAAM,OAAO,WAAW,cAAc;AACjE,cAAM,kBAAc,sBAAI,kCAAW;AAAA,UACjC,QAAQ,GAAG,WAAW;AAAA,UACtB,UAAU,GAAG,aAAa;AAAA,UAC1B,UAAU,GAAG,aAAa;AAAA,UAC1B,WAAW;AAAA,UACX,MAAM;AAAA,YACJ,OAAO,aAAa,YAAY;AAAA,YAChC,WAAW;AAAA,YACX,cAAc;AAAA,YACd,UAAU;AAAA,UACZ;AAAA,QACF,CAAC;AACD,YAAI;AAAA,QACJ,SAAS,GAAG;AACV,kBAAQ,MAAM,wFAAwF;AACtG,iBAAO,CAAU;AAAA,QACnB;AAAA,MAEF,OAAO;AACL,gBAAQ,MAAM,mFAAmF;AACjG,eAAO,IAAI,MAAM,mFAAmF,CAAC;AAAA,MACvG;AAAA,IAEF,CAAC;AAAA,EACH;AAGF;AAAA,IAGA,0BAAQ,mCAAmC;AAAA,EACzC;AACF,CAAC;",
6
- "names": ["path"]
7
- }
@@ -1,109 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
- var __export = (target, all) => {
10
- for (var name in all)
11
- __defProp(target, name, { get: all[name], enumerable: true });
12
- };
13
- var __copyProps = (to, from, except, desc) => {
14
- if (from && typeof from === "object" || typeof from === "function") {
15
- for (let key of __getOwnPropNames(from))
16
- if (!__hasOwnProp.call(to, key) && key !== except)
17
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
- }
19
- return to;
20
- };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var cli_commands_publish_static_exports = {};
31
- __export(cli_commands_publish_static_exports, {
32
- CommandHandler: () => CommandHandler
33
- });
34
- module.exports = __toCommonJS(cli_commands_publish_static_exports);
35
- var import_node_path = __toESM(require("node:path"));
36
- var import_node_fs = __toESM(require("node:fs"));
37
- var import_qcobjects = require("qcobjects");
38
- const absolutePath = import_node_path.default.resolve(__dirname, "./");
39
- class CommandHandler extends import_qcobjects.InheritClass {
40
- static {
41
- __name(this, "CommandHandler");
42
- }
43
- choiceOption;
44
- constructor({
45
- switchCommander
46
- }) {
47
- super({ switchCommander });
48
- this.choiceOption = {
49
- publish_static(source, dest, options) {
50
- const copyDir = /* @__PURE__ */ __name((source2, dest2, exclude) => {
51
- source2 = import_node_path.default.resolve(source2);
52
- dest2 = import_node_path.default.resolve(dest2);
53
- const dname = import_node_path.default.basename(source2);
54
- const dirExcluded = exclude.includes(dname);
55
- const isDir = /* @__PURE__ */ __name((d) => {
56
- return import_node_fs.default.existsSync(d) && import_node_fs.default.statSync(d).isDirectory() ? true : false;
57
- }, "isDir");
58
- const isFile = /* @__PURE__ */ __name((d) => {
59
- return import_node_fs.default.existsSync(d) && import_node_fs.default.statSync(d).isFile() ? true : false;
60
- }, "isFile");
61
- if (isDir(source2) && !dirExcluded) {
62
- import_node_fs.default.mkdirSync(dest2, { recursive: true });
63
- const paths = import_node_fs.default.readdirSync(source2, { withFileTypes: true });
64
- const dirs = paths.filter((d) => d.isDirectory());
65
- const files = paths.filter((f) => f.isFile());
66
- void ((paths2, dirs2, files2, exclude2) => {
67
- files2.forEach((f) => {
68
- const sourceFile = import_node_path.default.resolve(source2, f.name);
69
- const destFile = import_node_path.default.resolve(dest2, f.name);
70
- const fileExcluded = exclude2.includes(f.name);
71
- if (isFile(sourceFile) && !fileExcluded) {
72
- import_qcobjects.logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude2}...`);
73
- import_node_fs.default.copyFileSync(sourceFile, destFile);
74
- import_qcobjects.logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude2}...DONE!`);
75
- }
76
- });
77
- dirs2.forEach((d) => {
78
- const sourceDir = import_node_path.default.resolve(source2, d.name);
79
- const destDir = import_node_path.default.resolve(dest2, d.name);
80
- copyDir(sourceDir, destDir, exclude2);
81
- });
82
- })(paths, dirs, files, exclude);
83
- }
84
- }, "copyDir");
85
- try {
86
- import_qcobjects.logger.info(`[publish:static] Copying files from ${source} to ${dest} excluding ${options.exclude}...`);
87
- copyDir(source, dest, typeof options.exclude !== "undefined" ? options.exclude : []);
88
- } catch (e) {
89
- import_qcobjects.logger.warn(`Something went wrong trying to publish static files: ${e.message}`);
90
- process.exit(1);
91
- }
92
- }
93
- };
94
- const commandHandler = this;
95
- import_qcobjects.logger.debug("Loading command publish-static...");
96
- switchCommander.program.command("publish:static <source> <dest>").allowExcessArguments(false).option("-e, --exclude <excludePaths...>", "Exclude some paths or files").description("Publishes (copy) all files and directories from source to dest").action(function(source, dest, options) {
97
- commandHandler.choiceOption.publish_static.call(commandHandler, source, dest, options);
98
- });
99
- import_qcobjects.logger.debug("Loading command publish-static... DONE.");
100
- }
101
- }
102
- (0, import_qcobjects.Package)("com.qcobjects.cli.commands.jira", [
103
- CommandHandler
104
- ]);
105
- // Annotate the CommonJS export names for ESM import in node:
106
- 0 && (module.exports = {
107
- CommandHandler
108
- });
109
- //# sourceMappingURL=cli-commands-publish-static.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cli-commands-publish-static.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.5\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\nimport path from \"node:path\";\nimport fs from \"node:fs\";\n\nimport { Package, InheritClass, _DataStringify, New, CONFIG, logger } from \"qcobjects\";\nconst absolutePath = path.resolve(__dirname, \"./\");\n\nexport class CommandHandler extends InheritClass {\n choiceOption: {\n [x: string]: any; publish_static: (source:string, dest:string, options:any) => void;\n };\n\n constructor({\n switchCommander\n }: { switchCommander: any }) {\n super({ switchCommander });\n this.choiceOption = {\n publish_static(source, dest, options) {\n\n const copyDir = (source:string, dest:string, exclude:string) => {\n source = path.resolve(source);\n dest = path.resolve(dest);\n const dname = path.basename(source);\n const dirExcluded = (exclude.includes(dname));\n \n const isDir = (d:string) => {\n return (fs.existsSync(d) && fs.statSync(d).isDirectory())?(true):(false);\n };\n \n const isFile = (d:string) => {\n return (fs.existsSync(d) && fs.statSync(d).isFile())?(true):(false);\n };\n \n if (isDir(source) && !dirExcluded){\n fs.mkdirSync(dest, {recursive:true});\n const paths = fs.readdirSync(source, {withFileTypes:true});\n const dirs = paths.filter(d=>d.isDirectory());\n const files = paths.filter(f=>f.isFile());\n void ((paths, dirs, files, exclude) => {\n files.forEach((f) => {\n const sourceFile = path.resolve(source, f.name);\n const destFile = path.resolve(dest, f.name);\n const fileExcluded = exclude.includes(f.name);\n if (isFile(sourceFile) && !fileExcluded) {\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...`);\n fs.copyFileSync(sourceFile, destFile);\n logger.debug(`[publish:static] Copying files from ${sourceFile} to ${destFile} excluding ${exclude}...DONE!`);\n }\n });\n dirs.forEach((d) => {\n const sourceDir = path.resolve(source, d.name);\n const destDir = path.resolve(dest, d.name);\n copyDir(sourceDir, destDir, exclude);\n });\n })(paths, dirs, files, exclude);\n }\n \n };\n \n try {\n logger.info(`[publish:static] Copying files from ${source} to ${dest} excluding ${options.exclude}...`);\n copyDir(source, dest, (typeof options.exclude !== \"undefined\") ? (options.exclude) : ([]));\n } catch (e:any) {\n logger.warn(`Something went wrong trying to publish static files: ${e.message}`);\n process.exit(1);\n }\n }\n \n };\n\n const commandHandler = this;\n logger.debug(\"Loading command publish-static...\");\n\n switchCommander.program.command(\"publish:static <source> <dest>\")\n .allowExcessArguments(false)\n .option(\"-e, --exclude <excludePaths...>\", \"Exclude some paths or files\")\n .description(\"Publishes (copy) all files and directories from source to dest\")\n .action(function (source:string, dest:string, options:any) {\n commandHandler.choiceOption.publish_static.call(commandHandler, source, dest, options);\n });\n\n logger.debug(\"Loading command publish-static... DONE.\");\n }\n\n\n}\n\n\nPackage(\"com.qcobjects.cli.commands.jira\", [\n CommandHandler\n]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA+BA,uBAAiB;AACjB,qBAAe;AAEf,uBAA2E;AAC3E,MAAM,eAAe,iBAAAA,QAAK,QAAQ,WAAW,IAAI;AAE1C,MAAM,uBAAuB,8BAAa;AAAA,EArCjD,OAqCiD;AAAA;AAAA;AAAA,EAC/C;AAAA,EAIA,YAAY;AAAA,IACV;AAAA,EACF,GAA6B;AAC3B,UAAM,EAAE,gBAAgB,CAAC;AACzB,SAAK,eAAe;AAAA,MAClB,eAAe,QAAQ,MAAM,SAAS;AAEpC,cAAM,UAAU,wBAACC,SAAeC,OAAa,YAAmB;AAC9D,UAAAD,UAAS,iBAAAD,QAAK,QAAQC,OAAM;AAC5B,UAAAC,QAAO,iBAAAF,QAAK,QAAQE,KAAI;AACxB,gBAAM,QAAQ,iBAAAF,QAAK,SAASC,OAAM;AAClC,gBAAM,cAAe,QAAQ,SAAS,KAAK;AAE3C,gBAAM,QAAQ,wBAAC,MAAa;AAC1B,mBAAQ,eAAAE,QAAG,WAAW,CAAC,KAAK,eAAAA,QAAG,SAAS,CAAC,EAAE,YAAY,IAAI,OAAO;AAAA,UACpE,GAFc;AAId,gBAAM,SAAS,wBAAC,MAAa;AAC3B,mBAAQ,eAAAA,QAAG,WAAW,CAAC,KAAK,eAAAA,QAAG,SAAS,CAAC,EAAE,OAAO,IAAI,OAAO;AAAA,UAC/D,GAFe;AAIf,cAAI,MAAMF,OAAM,KAAK,CAAC,aAAY;AAChC,2BAAAE,QAAG,UAAUD,OAAM,EAAC,WAAU,KAAI,CAAC;AACnC,kBAAM,QAAQ,eAAAC,QAAG,YAAYF,SAAQ,EAAC,eAAc,KAAI,CAAC;AACzD,kBAAM,OAAO,MAAM,OAAO,OAAG,EAAE,YAAY,CAAC;AAC5C,kBAAM,QAAQ,MAAM,OAAO,OAAG,EAAE,OAAO,CAAC;AACxC,kBAAM,CAACG,QAAOC,OAAMC,QAAOC,aAAY;AACrC,cAAAD,OAAM,QAAQ,CAAC,MAAM;AACnB,sBAAM,aAAa,iBAAAN,QAAK,QAAQC,SAAQ,EAAE,IAAI;AAC9C,sBAAM,WAAW,iBAAAD,QAAK,QAAQE,OAAM,EAAE,IAAI;AAC1C,sBAAM,eAAeK,SAAQ,SAAS,EAAE,IAAI;AAC5C,oBAAI,OAAO,UAAU,KAAK,CAAC,cAAc;AACvC,0CAAO,MAAM,uCAAuC,UAAU,OAAO,QAAQ,cAAcA,QAAO,KAAK;AACvG,iCAAAJ,QAAG,aAAa,YAAY,QAAQ;AACpC,0CAAO,MAAM,uCAAuC,UAAU,OAAO,QAAQ,cAAcI,QAAO,UAAU;AAAA,gBAC9G;AAAA,cACF,CAAC;AACD,cAAAF,MAAK,QAAQ,CAAC,MAAM;AAClB,sBAAM,YAAY,iBAAAL,QAAK,QAAQC,SAAQ,EAAE,IAAI;AAC7C,sBAAM,UAAU,iBAAAD,QAAK,QAAQE,OAAM,EAAE,IAAI;AACzC,wBAAQ,WAAW,SAASK,QAAO;AAAA,cACrC,CAAC;AAAA,YACH,GAAG,OAAO,MAAM,OAAO,OAAO;AAAA,UAChC;AAAA,QAEF,GAtCgB;AAwChB,YAAI;AACF,kCAAO,KAAK,uCAAuC,MAAM,OAAO,IAAI,cAAc,QAAQ,OAAO,KAAK;AACtG,kBAAQ,QAAQ,MAAO,OAAO,QAAQ,YAAY,cAAgB,QAAQ,UAAY,CAAC,CAAE;AAAA,QAC3F,SAAS,GAAO;AACd,kCAAO,KAAK,wDAAwD,EAAE,OAAO,EAAE;AAC/E,kBAAQ,KAAK,CAAC;AAAA,QAChB;AAAA,MACF;AAAA,IAEF;AAEA,UAAM,iBAAiB;AACvB,4BAAO,MAAM,mCAAmC;AAEhD,oBAAgB,QAAQ,QAAQ,gCAAgC,EAC7D,qBAAqB,KAAK,EAC1B,OAAO,mCAAmC,6BAA6B,EACvE,YAAY,gEAAgE,EAC5E,OAAO,SAAU,QAAe,MAAa,SAAa;AACzD,qBAAe,aAAa,eAAe,KAAK,gBAAgB,QAAQ,MAAM,OAAO;AAAA,IACvF,CAAC;AAEH,4BAAO,MAAM,yCAAyC;AAAA,EACxD;AAGF;AAAA,IAGA,0BAAQ,mCAAmC;AAAA,EACzC;AACF,CAAC;",
6
- "names": ["path", "source", "dest", "fs", "paths", "dirs", "files", "exclude"]
7
- }