qcobjects-cli 2.5.143-beta → 2.5.145-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 +18 -14
  14. package/.github/workflows/npmpublish-lts.yml +18 -14
  15. package/.github/workflows/npmpublish-main.yml +17 -13
  16. package/.github/workflows/open-pr-to-development.yml +70 -0
  17. package/.opencode/instructions/git-workflow.md +46 -0
  18. package/.pre-commit-config.yaml +9 -0
  19. package/AGENTS.md +59 -0
  20. package/CHANGELOG.md +0 -0
  21. package/README.md +75 -0
  22. package/VERSION +1 -1
  23. package/build-esbuild-esm.js +180 -0
  24. package/build-esbuild.js +182 -208
  25. package/deno.json +0 -0
  26. package/dev-requirements.txt +5 -0
  27. package/eslint.config.mjs +0 -0
  28. package/mod.ts +0 -0
  29. package/package.json +45 -44
  30. package/public/browser/api-client_services.js.map +1 -1
  31. package/public/browser/backend/backend-microservice-static.js +211 -219
  32. package/public/browser/backend/backend-microservice-static.js.map +2 -2
  33. package/public/browser/backend/backend-php.js +227 -231
  34. package/public/browser/backend/backend-php.js.map +3 -3
  35. package/public/browser/cli-commands-build-esbuild.js +326 -0
  36. package/public/browser/cli-commands-build-esbuild.js.map +7 -0
  37. package/public/browser/cli-commands-build-typescript.js +114 -0
  38. package/public/browser/cli-commands-build-typescript.js.map +7 -0
  39. package/public/browser/cli-commands-jira.js.map +1 -1
  40. package/public/browser/cli-commands-version.js.map +1 -1
  41. package/public/browser/cli-commands.js +4 -0
  42. package/public/browser/cli-commands.js.map +2 -2
  43. package/public/browser/cli-main.js.map +1 -1
  44. package/public/browser/client_services.js.map +1 -1
  45. package/public/browser/collab-server.js.map +1 -1
  46. package/public/browser/common-pipelog.js.map +1 -1
  47. package/public/browser/defaultsettings.js +68 -27
  48. package/public/browser/defaultsettings.js.map +3 -3
  49. package/public/browser/enterprise-commands.js.map +1 -1
  50. package/public/browser/main-file.js.map +1 -1
  51. package/public/browser/main-http-gae-server.js.map +1 -1
  52. package/public/browser/main-http-server.js.map +1 -1
  53. package/public/browser/main-http2-server.js.map +1 -1
  54. package/public/browser/qcobjects-cli.js.map +1 -1
  55. package/public/browser/qcobjects-collab.js +16 -24
  56. package/public/browser/qcobjects-collab.js.map +2 -2
  57. package/public/browser/qcobjects-createcert.js +46 -54
  58. package/public/browser/qcobjects-createcert.js.map +2 -2
  59. package/public/browser/qcobjects-gae-http-server.js +16 -24
  60. package/public/browser/qcobjects-gae-http-server.js.map +2 -2
  61. package/public/browser/qcobjects-http-server.js +16 -24
  62. package/public/browser/qcobjects-http-server.js.map +2 -2
  63. package/public/browser/qcobjects-http2-server.js +21 -30
  64. package/public/browser/qcobjects-http2-server.js.map +2 -2
  65. package/public/browser/qcobjects-shell.js.map +1 -1
  66. package/public/browser/templates/apps/spa-local.html +0 -0
  67. package/public/browser/templates/apps/spa-local.js +0 -0
  68. package/public/browser/templates/pwa/sw.js +0 -0
  69. package/public/browser/types/global/index.d.js +0 -9
  70. package/public/browser/types/global/index.d.js.map +3 -3
  71. package/public/cjs/api-client_services.js +74 -0
  72. package/public/cjs/api-client_services.js.map +1 -0
  73. package/public/cjs/backend/backend-microservice-static.js +255 -0
  74. package/public/cjs/backend/backend-microservice-static.js.map +1 -0
  75. package/public/cjs/backend/backend-php.js +317 -0
  76. package/public/cjs/backend/backend-php.js.map +1 -0
  77. package/public/cjs/cli-commands-build-esbuild.js +341 -0
  78. package/public/cjs/cli-commands-build-esbuild.js.map +1 -0
  79. package/public/cjs/cli-commands-build-typescript.js +127 -0
  80. package/public/cjs/cli-commands-build-typescript.js.map +1 -0
  81. package/public/cjs/cli-commands-jira.js +115 -0
  82. package/public/cjs/cli-commands-jira.js.map +1 -0
  83. package/public/cjs/cli-commands-publish-static.js +108 -0
  84. package/public/cjs/cli-commands-publish-static.js.map +1 -0
  85. package/public/cjs/cli-commands-version.js +250 -0
  86. package/public/cjs/cli-commands-version.js.map +1 -0
  87. package/public/cjs/cli-commands.js +73 -0
  88. package/public/cjs/cli-commands.js.map +1 -0
  89. package/public/cjs/cli-main.js +487 -0
  90. package/public/cjs/cli-main.js.map +1 -0
  91. package/public/cjs/client_services.js +80 -0
  92. package/public/cjs/client_services.js.map +1 -0
  93. package/public/cjs/collab-server.js +404 -0
  94. package/public/cjs/collab-server.js.map +1 -0
  95. package/public/cjs/common-pipelog.js +57 -0
  96. package/public/cjs/common-pipelog.js.map +1 -0
  97. package/public/cjs/defaultsettings.js +496 -0
  98. package/public/cjs/defaultsettings.js.map +1 -0
  99. package/public/cjs/enterprise-commands.js +173 -0
  100. package/public/cjs/enterprise-commands.js.map +1 -0
  101. package/public/cjs/index.js +38 -0
  102. package/public/cjs/index.js.map +1 -0
  103. package/public/cjs/main-file.js +161 -0
  104. package/public/cjs/main-file.js.map +1 -0
  105. package/public/cjs/main-http-gae-server.js +498 -0
  106. package/public/cjs/main-http-gae-server.js.map +1 -0
  107. package/public/cjs/main-http-server.js +540 -0
  108. package/public/cjs/main-http-server.js.map +1 -0
  109. package/public/cjs/main-http2-server.js +398 -0
  110. package/public/cjs/main-http2-server.js.map +1 -0
  111. package/public/cjs/qcobjects-cli.js +105 -0
  112. package/public/cjs/qcobjects-cli.js.map +1 -0
  113. package/public/cjs/qcobjects-collab.js +51 -0
  114. package/public/cjs/qcobjects-collab.js.map +1 -0
  115. package/public/cjs/qcobjects-createcert.js +89 -0
  116. package/public/cjs/qcobjects-createcert.js.map +1 -0
  117. package/public/cjs/qcobjects-gae-http-server.js +51 -0
  118. package/public/cjs/qcobjects-gae-http-server.js.map +1 -0
  119. package/public/cjs/qcobjects-http-server.js +51 -0
  120. package/public/cjs/qcobjects-http-server.js.map +1 -0
  121. package/public/cjs/qcobjects-http2-server.js +54 -0
  122. package/public/cjs/qcobjects-http2-server.js.map +1 -0
  123. package/public/cjs/qcobjects-shell.js +145 -0
  124. package/public/cjs/qcobjects-shell.js.map +1 -0
  125. package/public/cjs/templates/apps/spa-local.html +0 -0
  126. package/public/cjs/templates/apps/spa-local.js +0 -0
  127. package/public/cjs/templates/pwa/sw.js +0 -0
  128. package/public/esm/api-client_services.mjs.map +1 -1
  129. package/public/esm/backend/backend-microservice-static.mjs +207 -216
  130. package/public/esm/backend/backend-microservice-static.mjs.map +2 -2
  131. package/public/esm/backend/backend-php.mjs +228 -232
  132. package/public/esm/backend/backend-php.mjs.map +2 -2
  133. package/public/esm/cli-commands-build-esbuild.mjs +295 -0
  134. package/public/esm/cli-commands-build-esbuild.mjs.map +7 -0
  135. package/public/esm/cli-commands-build-typescript.mjs +83 -0
  136. package/public/esm/cli-commands-build-typescript.mjs.map +7 -0
  137. package/public/esm/cli-commands-jira.mjs +1 -1
  138. package/public/esm/cli-commands-jira.mjs.map +1 -1
  139. package/public/esm/cli-commands-version.mjs.map +1 -1
  140. package/public/esm/cli-commands.mjs +7 -3
  141. package/public/esm/cli-commands.mjs.map +2 -2
  142. package/public/esm/cli-main.mjs +6 -6
  143. package/public/esm/cli-main.mjs.map +1 -1
  144. package/public/esm/client_services.mjs.map +1 -1
  145. package/public/esm/collab-server.mjs.map +1 -1
  146. package/public/esm/common-pipelog.mjs.map +1 -1
  147. package/public/esm/defaultsettings.mjs +68 -27
  148. package/public/esm/defaultsettings.mjs.map +3 -3
  149. package/public/esm/enterprise-commands.mjs.map +1 -1
  150. package/public/esm/index.mjs +1 -1
  151. package/public/esm/main-file.mjs.map +1 -1
  152. package/public/esm/main-http-gae-server.mjs +2 -2
  153. package/public/esm/main-http-gae-server.mjs.map +1 -1
  154. package/public/esm/main-http-server.mjs +2 -2
  155. package/public/esm/main-http-server.mjs.map +1 -1
  156. package/public/esm/main-http2-server.mjs +2 -2
  157. package/public/esm/main-http2-server.mjs.map +1 -1
  158. package/public/esm/qcobjects-cli.mjs +2 -2
  159. package/public/esm/qcobjects-cli.mjs.map +1 -1
  160. package/public/esm/qcobjects-collab.mjs +14 -23
  161. package/public/esm/qcobjects-collab.mjs.map +2 -2
  162. package/public/esm/qcobjects-createcert.mjs +43 -52
  163. package/public/esm/qcobjects-createcert.mjs.map +2 -2
  164. package/public/esm/qcobjects-gae-http-server.mjs +14 -23
  165. package/public/esm/qcobjects-gae-http-server.mjs.map +2 -2
  166. package/public/esm/qcobjects-http-server.mjs +14 -23
  167. package/public/esm/qcobjects-http-server.mjs.map +2 -2
  168. package/public/esm/qcobjects-http2-server.mjs +21 -31
  169. package/public/esm/qcobjects-http2-server.mjs.map +2 -2
  170. package/public/esm/qcobjects-shell.mjs +1 -1
  171. package/public/esm/qcobjects-shell.mjs.map +1 -1
  172. package/public/esm/templates/apps/spa-local.html +0 -0
  173. package/public/esm/templates/apps/spa-local.js +0 -0
  174. package/public/esm/templates/pwa/sw.js +0 -0
  175. package/public/esm/types/global/index.d.mjs +0 -9
  176. package/public/esm/types/global/index.d.mjs.map +3 -3
  177. package/public/types/index.d.ts +29 -3
  178. package/spec/support/jasmine.json +0 -0
  179. package/spec/testsSpec.ts +0 -0
  180. package/src/api-client_services.ts +1 -1
  181. package/src/backend/backend-microservice-static.ts +196 -196
  182. package/src/backend/backend-php.ts +240 -245
  183. package/src/cli-commands-build-esbuild.ts +375 -0
  184. package/src/cli-commands-build-typescript.ts +139 -0
  185. package/src/cli-commands-jira.ts +1 -1
  186. package/src/cli-commands-publish-static.ts +0 -0
  187. package/src/cli-commands-version.ts +1 -1
  188. package/src/cli-commands.ts +3 -1
  189. package/src/cli-main.ts +1 -1
  190. package/src/client_services.ts +1 -1
  191. package/src/collab-server.ts +1 -1
  192. package/src/common-pipelog.ts +1 -1
  193. package/src/defaultsettings.ts +65 -19
  194. package/src/enterprise-commands.ts +1 -1
  195. package/src/index.ts +0 -0
  196. package/src/main-file.ts +1 -1
  197. package/src/main-http-gae-server.ts +1 -1
  198. package/src/main-http-server.ts +1 -1
  199. package/src/main-http2-server.ts +1 -1
  200. package/src/qcobjects-cli.ts +1 -1
  201. package/src/qcobjects-collab.ts +1 -1
  202. package/src/qcobjects-createcert.ts +1 -1
  203. package/src/qcobjects-gae-http-server.ts +1 -1
  204. package/src/qcobjects-http-server.ts +1 -1
  205. package/src/qcobjects-http2-server.ts +4 -5
  206. package/src/qcobjects-shell.ts +1 -1
  207. package/src/templates/apps/spa-local.html +0 -0
  208. package/src/templates/apps/spa-local.js +0 -0
  209. package/src/templates/pwa/sw.js +0 -0
  210. package/src/types/global/index.d.ts +0 -0
  211. package/transpile.js +0 -0
  212. package/tsconfig.d.json +0 -0
  213. package/tsconfig.jasmine.json +0 -0
  214. package/tsconfig.json +3 -3
  215. package/.gitlab-ci.yml +0 -16
  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,175 +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 enterprise_commands_exports = {};
31
- __export(enterprise_commands_exports, {
32
- QCObjectsEnterprise: () => QCObjectsEnterprise
33
- });
34
- module.exports = __toCommonJS(enterprise_commands_exports);
35
- var import_node_child_process = require("node:child_process");
36
- var import_readline = __toESM(require("readline"));
37
- var import_qcobjects = require("qcobjects");
38
- const license = import_qcobjects.CONFIG.get("enterprise-license", "1234");
39
- const email = import_qcobjects.CONFIG.get("enterprise-email", "a@b.com");
40
- const MESSAGES = {
41
- NOTE: "[NOTE: No information will be sent to a server until I got your consent]",
42
- EMAIL_PROMPT: "Please tell me your e-Mail (\u{1F48C}):",
43
- PHONE_PROMPT: "Please tell me your phone number (\u{1F919}): \n",
44
- OPTION_PROMPT: `
45
- Please select one of the following options (type a number):
46
-
47
- 1.- \u{1F640} This is your first interaction \u{1F60D} with QCObjects Enterprise Edition \u{1F3E2},
48
- you want to send your email and phone number to one of our executives to process your
49
- inquiry, pay the license (when aplies) and receive a new fresh license number
50
- that will free up to you the most advanced features for large companies
51
-
52
- 2.- \u2714 Your assigned executive \u{1F9D1} has given to you a new fresh QCObjects Enterprise Edition License Number
53
- and you want to enter it to follow up with the next steps.
54
-
55
- 3.- \u{1F3C3} You want to quit this form, as you got here accidentally
56
- (You should think about it. It's not a coincidence, It's destiny \u{1F600}).
57
-
58
- Please enter the number of the option and press [enter]: `,
59
- REGISTRATION_SUCCESS: `\u{1F44F} Congrats! You have been successfully registered to the cloud! \u{1F44F}
60
- One of our executives will be in touch with you as soon as possible to give you the next steps
61
- to get a new License Number and start using QCObjects Entrprise Edition!
62
-
63
- (In the meantime, you can continue using all the features of the QCObjects Community Edition)
64
- `,
65
- LICENSE_PROMPT: "Please tell me the number of license that your executive has given to you: \n",
66
- COMMUNITY_EDITION: "\u{1F937} You can continue to use QCObjects Community Edition, see you! \u{1F64B} ",
67
- PHONE_REQUIRED: `You need to enter a Phone Number if you want to be contacted.
68
- If you want to quit, press Ctrl-C.
69
- `,
70
- EMAIL_REQUIRED: `You need to enter a real e-Mail address if you want to be contacted.
71
- If you want to quit, press Ctrl-C.
72
- `,
73
- INSTALLING: "Now, I'm installing QCObjects Enterprise Edition in your computer...",
74
- INSTALL_SUCCESS: `\u{1F44F} Congrats! Now you have installed QCObjects Enterprise Edition! \u{1F44F}
75
- You can test it using:
76
- > qcobjects --version
77
-
78
- To find more help, type the command:
79
-
80
- > qcobjects --help
81
-
82
- Enjoy!
83
- `,
84
- INSTALL_FAILURE: "\u{1F926} Something went wrong \u{1F926} when trying to update your license to QCObjects Enterprise Edition. Ask your executive to help."
85
- };
86
- const OPTIONS = {
87
- FIRST_INTERACTION: "1",
88
- ENTER_LICENSE: "2",
89
- QUIT: "3"
90
- };
91
- class QCObjectsEnterprise extends import_qcobjects.InheritClass {
92
- static {
93
- __name(this, "QCObjectsEnterprise");
94
- }
95
- install() {
96
- const instance = this;
97
- instance.installEnterprise(license, email);
98
- }
99
- static async upgrade(switchCommander) {
100
- const instance = new QCObjectsEnterprise();
101
- const rl = import_readline.default.createInterface({
102
- input: process.stdin,
103
- output: process.stdout
104
- });
105
- const question = /* @__PURE__ */ __name((query) => {
106
- return new Promise((resolve) => rl.question(query, resolve));
107
- }, "question");
108
- const emailQuestion = /* @__PURE__ */ __name(async () => {
109
- const email2 = await question(`${MESSAGES.NOTE}
110
-
111
- ${MESSAGES.EMAIL_PROMPT}`);
112
- if (email2 !== "") {
113
- const phoneNumberQuestion = /* @__PURE__ */ __name(async () => {
114
- const phonenumber = await question(MESSAGES.PHONE_PROMPT);
115
- if (phonenumber !== "") {
116
- const interaction_option = await question(MESSAGES.OPTION_PROMPT);
117
- import_qcobjects.logger.infoEnabled = true;
118
- switch (interaction_option) {
119
- case OPTIONS.FIRST_INTERACTION: {
120
- try {
121
- await switchCommander.register(email2, phonenumber);
122
- import_qcobjects.logger.info(MESSAGES.REGISTRATION_SUCCESS);
123
- } finally {
124
- rl.close();
125
- }
126
- break;
127
- }
128
- case OPTIONS.ENTER_LICENSE: {
129
- const license2 = await question(MESSAGES.LICENSE_PROMPT);
130
- instance.installEnterprise(license2, email2);
131
- rl.close();
132
- break;
133
- }
134
- case OPTIONS.QUIT:
135
- default: {
136
- import_qcobjects.logger.info(MESSAGES.COMMUNITY_EDITION);
137
- rl.close();
138
- break;
139
- }
140
- }
141
- } else {
142
- console.log(MESSAGES.PHONE_REQUIRED);
143
- await phoneNumberQuestion();
144
- }
145
- }, "phoneNumberQuestion");
146
- await phoneNumberQuestion();
147
- } else {
148
- console.log(MESSAGES.EMAIL_REQUIRED);
149
- await emailQuestion();
150
- }
151
- }, "emailQuestion");
152
- await emailQuestion();
153
- }
154
- installEnterprise(license2, email2) {
155
- const asterisk = "*";
156
- import_qcobjects.logger.info(`Your entered license number is ${asterisk.repeat(license2.length)} and the email that you have entered is ${email2}`);
157
- import_qcobjects.logger.info(MESSAGES.INSTALLING);
158
- const cmdDownloadGit = `npm i --force -g git+https://license:${license2}@software.qcobjects.io/qcobjects-enterprise/qcobjects-enterprise.git`;
159
- (0, import_node_child_process.execSync)(cmdDownloadGit);
160
- const stdout = (0, import_node_child_process.execSync)("qcobjects --version");
161
- if (stdout.toString().includes("Enterprise Edition")) {
162
- import_qcobjects.logger.info(MESSAGES.INSTALL_SUCCESS);
163
- } else {
164
- console.log(MESSAGES.INSTALL_FAILURE);
165
- }
166
- }
167
- }
168
- (0, import_qcobjects.Package)("org.qcobjects.enterprise.commands", [
169
- QCObjectsEnterprise
170
- ]);
171
- // Annotate the CommonJS export names for ESM import in node:
172
- 0 && (module.exports = {
173
- QCObjectsEnterprise
174
- });
175
- //# sourceMappingURL=enterprise-commands.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/enterprise-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\nimport { execSync } from \"node:child_process\";\nimport readline from \"readline\";\nimport { Package, InheritClass, CONFIG, logger } from \"qcobjects\";\n\nconst license: string = CONFIG.get(\"enterprise-license\", \"1234\");\nconst email: string = CONFIG.get(\"enterprise-email\", \"a@b.com\");\n\nconst MESSAGES = {\n NOTE: \"[NOTE: No information will be sent to a server until I got your consent]\",\n EMAIL_PROMPT: \"Please tell me your e-Mail (\uD83D\uDC8C):\",\n PHONE_PROMPT: \"Please tell me your phone number (\uD83E\uDD19): \\n\",\n OPTION_PROMPT: `\nPlease select one of the following options (type a number):\n\n1.- \uD83D\uDE40 This is your first interaction \uD83D\uDE0D with QCObjects Enterprise Edition \uD83C\uDFE2,\nyou want to send your email and phone number to one of our executives to process your\ninquiry, pay the license (when aplies) and receive a new fresh license number\nthat will free up to you the most advanced features for large companies\n\n2.- \u2714 Your assigned executive \uD83E\uDDD1 has given to you a new fresh QCObjects Enterprise Edition License Number\nand you want to enter it to follow up with the next steps.\n\n3.- \uD83C\uDFC3 You want to quit this form, as you got here accidentally\n(You should think about it. It's not a coincidence, It's destiny \uD83D\uDE00).\n\nPlease enter the number of the option and press [enter]: `,\n REGISTRATION_SUCCESS: `\uD83D\uDC4F Congrats! You have been successfully registered to the cloud! \uD83D\uDC4F\nOne of our executives will be in touch with you as soon as possible to give you the next steps\nto get a new License Number and start using QCObjects Entrprise Edition!\n\n(In the meantime, you can continue using all the features of the QCObjects Community Edition)\n`,\n LICENSE_PROMPT: \"Please tell me the number of license that your executive has given to you: \\n\",\n COMMUNITY_EDITION: \"\uD83E\uDD37 You can continue to use QCObjects Community Edition, see you! \uD83D\uDE4B \",\n PHONE_REQUIRED: `You need to enter a Phone Number if you want to be contacted.\nIf you want to quit, press Ctrl-C.\n`,\n EMAIL_REQUIRED: `You need to enter a real e-Mail address if you want to be contacted.\nIf you want to quit, press Ctrl-C.\n`,\n INSTALLING: \"Now, I'm installing QCObjects Enterprise Edition in your computer...\",\n INSTALL_SUCCESS: `\uD83D\uDC4F Congrats! Now you have installed QCObjects Enterprise Edition! \uD83D\uDC4F\nYou can test it using:\n> qcobjects --version\n\nTo find more help, type the command:\n\n> qcobjects --help\n\nEnjoy!\n`,\n INSTALL_FAILURE: \"\uD83E\uDD26 Something went wrong \uD83E\uDD26 when trying to update your license to QCObjects Enterprise Edition. Ask your executive to help.\"\n};\n\nconst OPTIONS = {\n FIRST_INTERACTION: \"1\",\n ENTER_LICENSE: \"2\",\n QUIT: \"3\"\n};\n\nexport class QCObjectsEnterprise extends InheritClass {\n\n install(): void {\n const instance = this;\n instance.installEnterprise(license, email);\n }\n\n static async upgrade(switchCommander: any): Promise<void> {\n const instance = new QCObjectsEnterprise();\n\n const rl = readline.createInterface({\n input: process.stdin,\n output: process.stdout\n });\n\n const question = (query: string): Promise<string> => {\n return new Promise(resolve => rl.question(query, resolve));\n };\n\n const emailQuestion = async (): Promise<void> => {\n const email = await question(`${MESSAGES.NOTE}\\n\\n${MESSAGES.EMAIL_PROMPT}`);\n if (email !== \"\") {\n const phoneNumberQuestion = async (): Promise<void> => {\n const phonenumber = await question(MESSAGES.PHONE_PROMPT);\n if (phonenumber !== \"\") {\n const interaction_option = await question(MESSAGES.OPTION_PROMPT);\n logger.infoEnabled = true;\n\n switch (interaction_option) {\n case OPTIONS.FIRST_INTERACTION: {\n try {\n await switchCommander.register(email, phonenumber);\n logger.info(MESSAGES.REGISTRATION_SUCCESS);\n } finally {\n rl.close();\n }\n break;\n }\n case OPTIONS.ENTER_LICENSE: {\n const license = await question(MESSAGES.LICENSE_PROMPT);\n instance.installEnterprise(license, email);\n rl.close();\n break;\n }\n case OPTIONS.QUIT:\n default: {\n logger.info(MESSAGES.COMMUNITY_EDITION);\n rl.close();\n break;\n }\n }\n } else {\n console.log(MESSAGES.PHONE_REQUIRED);\n await phoneNumberQuestion();\n }\n };\n await phoneNumberQuestion();\n } else {\n console.log(MESSAGES.EMAIL_REQUIRED);\n await emailQuestion();\n }\n };\n await emailQuestion();\n }\n\n installEnterprise(license: string, email: string): void {\n const asterisk = \"*\";\n logger.info(`Your entered license number is ${asterisk.repeat(license.length)} and the email that you have entered is ${email}`);\n logger.info(MESSAGES.INSTALLING);\n const cmdDownloadGit = `npm i --force -g git+https://license:${license}@software.qcobjects.io/qcobjects-enterprise/qcobjects-enterprise.git`;\n execSync(cmdDownloadGit);\n const stdout = execSync(\"qcobjects --version\");\n if (stdout.toString().includes(\"Enterprise Edition\")) {\n logger.info(MESSAGES.INSTALL_SUCCESS);\n } else {\n console.log(MESSAGES.INSTALL_FAILURE);\n }\n }\n}\n\nPackage(\"org.qcobjects.enterprise.commands\", [\n QCObjectsEnterprise\n]);\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgCA,gCAAyB;AACzB,sBAAqB;AACrB,uBAAsD;AAEtD,MAAM,UAAkB,wBAAO,IAAI,sBAAsB,MAAM;AAC/D,MAAM,QAAgB,wBAAO,IAAI,oBAAoB,SAAS;AAE9D,MAAM,WAAW;AAAA,EACf,MAAM;AAAA,EACN,cAAc;AAAA,EACd,cAAc;AAAA,EACd,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAef,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,gBAAgB;AAAA;AAAA;AAAA,EAGhB,gBAAgB;AAAA;AAAA;AAAA,EAGhB,YAAY;AAAA,EACZ,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUjB,iBAAiB;AACnB;AAEA,MAAM,UAAU;AAAA,EACd,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,MAAM;AACR;AAEO,MAAM,4BAA4B,8BAAa;AAAA,EA5FtD,OA4FsD;AAAA;AAAA;AAAA,EAEpD,UAAgB;AACd,UAAM,WAAW;AACjB,aAAS,kBAAkB,SAAS,KAAK;AAAA,EAC3C;AAAA,EAEA,aAAa,QAAQ,iBAAqC;AACxD,UAAM,WAAW,IAAI,oBAAoB;AAEzC,UAAM,KAAK,gBAAAA,QAAS,gBAAgB;AAAA,MAClC,OAAO,QAAQ;AAAA,MACf,QAAQ,QAAQ;AAAA,IAClB,CAAC;AAED,UAAM,WAAW,wBAAC,UAAmC;AACnD,aAAO,IAAI,QAAQ,aAAW,GAAG,SAAS,OAAO,OAAO,CAAC;AAAA,IAC3D,GAFiB;AAIjB,UAAM,gBAAgB,mCAA2B;AAC/C,YAAMC,SAAQ,MAAM,SAAS,GAAG,SAAS,IAAI;AAAA;AAAA,EAAO,SAAS,YAAY,EAAE;AAC3E,UAAIA,WAAU,IAAI;AAChB,cAAM,sBAAsB,mCAA2B;AACrD,gBAAM,cAAc,MAAM,SAAS,SAAS,YAAY;AACxD,cAAI,gBAAgB,IAAI;AACtB,kBAAM,qBAAqB,MAAM,SAAS,SAAS,aAAa;AAChE,oCAAO,cAAc;AAErB,oBAAQ,oBAAoB;AAAA,cAC1B,KAAK,QAAQ,mBAAmB;AAC9B,oBAAI;AACF,wBAAM,gBAAgB,SAASA,QAAO,WAAW;AACjD,0CAAO,KAAK,SAAS,oBAAoB;AAAA,gBAC3C,UAAE;AACA,qBAAG,MAAM;AAAA,gBACX;AACA;AAAA,cACF;AAAA,cACA,KAAK,QAAQ,eAAe;AAC1B,sBAAMC,WAAU,MAAM,SAAS,SAAS,cAAc;AACtD,yBAAS,kBAAkBA,UAASD,MAAK;AACzC,mBAAG,MAAM;AACT;AAAA,cACF;AAAA,cACA,KAAK,QAAQ;AAAA,cACb,SAAS;AACP,wCAAO,KAAK,SAAS,iBAAiB;AACtC,mBAAG,MAAM;AACT;AAAA,cACF;AAAA,YACF;AAAA,UACF,OAAO;AACL,oBAAQ,IAAI,SAAS,cAAc;AACnC,kBAAM,oBAAoB;AAAA,UAC5B;AAAA,QACF,GAjC4B;AAkC5B,cAAM,oBAAoB;AAAA,MAC5B,OAAO;AACL,gBAAQ,IAAI,SAAS,cAAc;AACnC,cAAM,cAAc;AAAA,MACtB;AAAA,IACF,GA1CsB;AA2CtB,UAAM,cAAc;AAAA,EACtB;AAAA,EAEA,kBAAkBC,UAAiBD,QAAqB;AACtD,UAAM,WAAW;AACjB,4BAAO,KAAK,kCAAkC,SAAS,OAAOC,SAAQ,MAAM,CAAC,2CAA2CD,MAAK,EAAE;AAC/H,4BAAO,KAAK,SAAS,UAAU;AAC/B,UAAM,iBAAiB,wCAAwCC,QAAO;AACtE,4CAAS,cAAc;AACvB,UAAM,aAAS,oCAAS,qBAAqB;AAC7C,QAAI,OAAO,SAAS,EAAE,SAAS,oBAAoB,GAAG;AACpD,8BAAO,KAAK,SAAS,eAAe;AAAA,IACtC,OAAO;AACL,cAAQ,IAAI,SAAS,eAAe;AAAA,IACtC;AAAA,EACF;AACF;AAAA,IAEA,0BAAQ,qCAAqC;AAAA,EAC3C;AACF,CAAC;",
6
- "names": ["readline", "email", "license"]
7
- }
@@ -1,36 +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 __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var index_exports = {};
30
- __export(index_exports, {
31
- default: () => index_default
32
- });
33
- module.exports = __toCommonJS(index_exports);
34
- var cli = __toESM(require("./qcobjects-cli.cjs"));
35
- var index_default = cli;
36
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["import * as cli from \"./qcobjects-cli\";\nexport default cli;"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,UAAqB;AACrB,IAAO,gBAAQ;",
6
- "names": []
7
- }
@@ -1,194 +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 main_file_exports = {};
31
- __export(main_file_exports, {
32
- FileDispatcher: () => FileDispatcher
33
- });
34
- module.exports = __toCommonJS(main_file_exports);
35
- var import_path = __toESM(require("path"));
36
- var import_fs = __toESM(require("fs"));
37
- var import_mime = __toESM(require("mime"));
38
- var import_qcobjects = require("qcobjects");
39
- class FileDispatcher extends import_qcobjects.InheritClass {
40
- static {
41
- __name(this, "FileDispatcher");
42
- }
43
- scriptname;
44
- filename;
45
- pathname;
46
- headers;
47
- templateURI;
48
- template;
49
- body;
50
- constructor({
51
- name = import_qcobjects.CONFIG.get("documentRootFileIndex"),
52
- template = "",
53
- templateURI = import_qcobjects.CONFIG.get("documentRootFileIndex"),
54
- headers = {},
55
- body = "",
56
- filename = "",
57
- done
58
- }) {
59
- super({
60
- name,
61
- template,
62
- templateURI,
63
- headers,
64
- body,
65
- filename,
66
- done
67
- });
68
- var o = this;
69
- var scriptname = o.scriptname;
70
- this.filename = scriptname;
71
- var pathname = o.pathname !== "" ? o.pathname + "/" : "";
72
- var appTemplateInstance = this;
73
- if (typeof appTemplateInstance.headers === "undefined") {
74
- appTemplateInstance.headers = {
75
- ":status": 500,
76
- "content-type": "text/html"
77
- };
78
- }
79
- appTemplateInstance.done = o.done.bind(appTemplateInstance);
80
- appTemplateInstance.templateURI = import_qcobjects.CONFIG.get("documentRoot") + pathname + scriptname;
81
- appTemplateInstance.templateURI = appTemplateInstance.templateURI.replace("//", "/");
82
- if (appTemplateInstance.isTemplate()) {
83
- import_fs.default.readFile(appTemplateInstance.templateURI, function(err, data) {
84
- import_qcobjects.logger.debug("reading data from " + appTemplateInstance.templateURI);
85
- if (typeof data !== "undefined") {
86
- appTemplateInstance.template = data.toString();
87
- appTemplateInstance._done();
88
- } else {
89
- appTemplateInstance.headers = {
90
- ":status": 404,
91
- "content-type": "text/html"
92
- };
93
- appTemplateInstance.done(
94
- appTemplateInstance.headers,
95
- "FILE NOT FOUND",
96
- "notfound.html",
97
- false
98
- );
99
- import_qcobjects.logger.debug("file not found");
100
- }
101
- });
102
- } else {
103
- appTemplateInstance.headers[":status"] = 200;
104
- appTemplateInstance.headers["content-type"] = import_mime.default.getType(appTemplateInstance.templateURI);
105
- appTemplateInstance.done(
106
- appTemplateInstance.headers,
107
- "",
108
- appTemplateInstance.templateURI,
109
- false
110
- );
111
- }
112
- import_qcobjects.logger.info("FileDispatcher initialized");
113
- }
114
- file_extension() {
115
- return this.filename.substr(this.filename.indexOf("."));
116
- }
117
- isTemplate() {
118
- return import_qcobjects.CONFIG.get("useTemplate") && (this.file_extension() == ".html" || this.file_extension() == ".tpl.html");
119
- }
120
- _done() {
121
- var appTemplateInstance = this;
122
- const source = appTemplateInstance.template;
123
- if (appTemplateInstance.isTemplate()) {
124
- (0, import_qcobjects.New)(import_qcobjects.Component, {
125
- name: "static_source",
126
- template: source,
127
- cached: false,
128
- tplsource: "inline",
129
- data: {
130
- title: "QCObjects"
131
- },
132
- done({
133
- request,
134
- component
135
- }) {
136
- appTemplateInstance.body = component.parsedAssignmentText;
137
- return Promise.resolve({
138
- request,
139
- component
140
- });
141
- }
142
- });
143
- } else {
144
- appTemplateInstance.body = source;
145
- }
146
- if ([
147
- ".png",
148
- ".jpg",
149
- ".jpeg",
150
- ".json",
151
- ".html",
152
- ".tpl.html",
153
- ".css",
154
- ".js",
155
- ".svg"
156
- ].includes(appTemplateInstance.file_extension())) {
157
- appTemplateInstance.headers["content-type"] = import_mime.default.getType(appTemplateInstance.templateURI);
158
- appTemplateInstance.headers["cache-control"] = import_qcobjects.CONFIG.get("cacheControl", "max-age=31536000");
159
- appTemplateInstance.done(
160
- appTemplateInstance.headers,
161
- appTemplateInstance.body,
162
- appTemplateInstance.templateURI,
163
- appTemplateInstance.isTemplate()
164
- );
165
- } else {
166
- appTemplateInstance.done(
167
- {
168
- ":status": 403,
169
- "content-type": "text/plain"
170
- },
171
- "FORBIDDEN",
172
- "notfound.html",
173
- false
174
- );
175
- }
176
- }
177
- done(headers, body, templateURI = "", isTemplate = false) {
178
- }
179
- }
180
- (() => {
181
- "use strict";
182
- const absolutePath = import_path.default.resolve(__dirname, "./");
183
- (0, import_qcobjects.Package)("org.quickcorp.qcobjects.main.file", [
184
- FileDispatcher
185
- ]);
186
- exports = {
187
- FileDispatcher
188
- };
189
- })();
190
- // Annotate the CommonJS export names for ESM import in node:
191
- 0 && (module.exports = {
192
- FileDispatcher
193
- });
194
- //# sourceMappingURL=main-file.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/main-file.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\"*/\nimport path from \"path\";\nimport fs from \"fs\";\nimport mime from \"mime\";\n\nimport { InheritClass, CONFIG, logger, New, Component, Package } from \"qcobjects\";\n\nexport class FileDispatcher extends InheritClass {\n scriptname: any;\n filename: any;\n pathname!: string;\n headers: any;\n templateURI!: string;\n template: any;\n body: any;\n constructor({\n name = CONFIG.get(\"documentRootFileIndex\"),\n template = \"\",\n templateURI = CONFIG.get(\"documentRootFileIndex\"),\n headers = {},\n body = \"\",\n filename = \"\",\n done\n }: {\n name: string, template: string, templateURI: string, headers: any, body: string, filename: string,\n done: (headers: any, body: any, templateURI?: string, isTemplate?: boolean) => any\n }) {\n super({\n name,\n template,\n templateURI,\n headers,\n body,\n filename,\n done\n });\n\n var o = this;\n\n var scriptname = o.scriptname;\n this.filename = scriptname;\n var pathname = (o.pathname !== \"\") ? (o.pathname + \"/\") : (\"\");\n var appTemplateInstance = this;\n if (typeof appTemplateInstance.headers === \"undefined\") {\n appTemplateInstance.headers = {\n \":status\": 500,\n \"content-type\": \"text/html\"\n };\n }\n\n appTemplateInstance.done = o.done.bind(appTemplateInstance);\n appTemplateInstance.templateURI = CONFIG.get(\"documentRoot\") + pathname + scriptname;\n appTemplateInstance.templateURI = appTemplateInstance.templateURI.replace(\"//\", \"/\");\n\n if (appTemplateInstance.isTemplate()) {\n fs.readFile(appTemplateInstance.templateURI, function (err: any, data: any) {\n logger.debug(\"reading data from \" + appTemplateInstance.templateURI);\n if (typeof data !== \"undefined\") {\n appTemplateInstance.template = data.toString();\n appTemplateInstance._done();\n } else {\n appTemplateInstance.headers = {\n \":status\": 404,\n \"content-type\": \"text/html\"\n };\n appTemplateInstance.done(\n appTemplateInstance.headers,\n \"FILE NOT FOUND\", \"notfound.html\", false);\n logger.debug(\"file not found\");\n }\n });\n } else {\n appTemplateInstance.headers[\":status\"] = 200;\n appTemplateInstance.headers[\"content-type\"] = mime.getType(appTemplateInstance.templateURI);\n appTemplateInstance.done(\n appTemplateInstance.headers,\n \"\", appTemplateInstance.templateURI, false);\n }\n\n logger.info(\"FileDispatcher initialized\");\n\n }\n\n file_extension() {\n return this.filename.substr(this.filename.indexOf(\".\"));\n }\n isTemplate() {\n return CONFIG.get(\"useTemplate\") && (this.file_extension() == \".html\" || this.file_extension() == \".tpl.html\");\n }\n _done() {\n var appTemplateInstance = this;\n const source = appTemplateInstance.template;\n if (appTemplateInstance.isTemplate()) {\n\n (New(Component, {\n name: \"static_source\",\n template: source,\n cached: false,\n tplsource: \"inline\",\n data: {\n title: \"QCObjects\"\n },\n done({\n request,\n component\n }: { request: any, component: any }) {\n appTemplateInstance.body = component.parsedAssignmentText;\n return Promise.resolve({\n request,\n component\n });\n }\n }));\n\n } else {\n appTemplateInstance.body = source;\n }\n\n if ([\".png\",\n \".jpg\",\n \".jpeg\",\n \".json\",\n \".html\",\n \".tpl.html\",\n \".css\",\n \".js\",\n \".svg\"\n ].includes(appTemplateInstance.file_extension())) {\n appTemplateInstance.headers[\"content-type\"] = mime.getType(appTemplateInstance.templateURI);\n appTemplateInstance.headers[\"cache-control\"] = CONFIG.get(\"cacheControl\", \"max-age=31536000\");\n appTemplateInstance.done(\n appTemplateInstance.headers,\n appTemplateInstance.body,\n appTemplateInstance.templateURI,\n appTemplateInstance.isTemplate());\n } else {\n appTemplateInstance.done({\n \":status\": 403,\n \"content-type\": \"text/plain\"\n },\n \"FORBIDDEN\", \"notfound.html\", false);\n }\n }\n done(headers: any, body: any, templateURI = \"\", isTemplate = false) { }\n\n}\n\n\n( () => {\n \"use strict\";\n\n const absolutePath = path.resolve(__dirname, \"./\");\n\n\n\n Package(\"org.quickcorp.qcobjects.main.file\", [\n FileDispatcher\n ]);\n\n exports = {\n FileDispatcher\n };\n})();"],
5
- "mappings": "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",
6
- "names": ["fs", "mime", "path"]
7
- }