qcobjects-cli 2.4.66 → 2.5.104-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 (205) hide show
  1. package/.github/workflows/npmpublish-beta.yml +4 -4
  2. package/.github/workflows/npmpublish-lts.yml +4 -4
  3. package/.github/workflows/npmpublish-main.yml +4 -4
  4. package/VERSION +1 -1
  5. package/build-esbuild.js +70 -0
  6. package/eslint.config.mjs +88 -0
  7. package/package.json +118 -56
  8. package/public/browser/backend/com.qcobjects.backend.microservice.static.js +318 -0
  9. package/public/browser/backend/com.qcobjects.backend.microservice.static.js.map +7 -0
  10. package/public/browser/backend/org.qcobjects.backend.php.js +290 -0
  11. package/public/browser/backend/org.qcobjects.backend.php.js.map +7 -0
  12. package/public/browser/com.qcobjects.cli.commands.jira.client_services.js +83 -0
  13. package/public/browser/com.qcobjects.cli.commands.jira.client_services.js.map +7 -0
  14. package/public/browser/com.qcobjects.cli.commands.jira.js +162 -0
  15. package/public/browser/com.qcobjects.cli.commands.jira.js.map +7 -0
  16. package/public/browser/com.qcobjects.cli.commands.js +387 -0
  17. package/public/browser/com.qcobjects.cli.commands.js.map +7 -0
  18. package/public/browser/com.qcobjects.cli.commands.version.js +247 -0
  19. package/public/browser/com.qcobjects.cli.commands.version.js.map +7 -0
  20. package/public/browser/index.js +4126 -0
  21. package/public/browser/index.js.map +7 -0
  22. package/public/browser/org.qcobjects.common.pipelog.js +56 -0
  23. package/public/browser/org.qcobjects.common.pipelog.js.map +7 -0
  24. package/public/browser/org.qcobjects.enterprise.commands.js +160 -0
  25. package/public/browser/org.qcobjects.enterprise.commands.js.map +7 -0
  26. package/public/browser/org.quickcorp.qcobjects.api.client_services.js +81 -0
  27. package/public/browser/org.quickcorp.qcobjects.api.client_services.js.map +7 -0
  28. package/public/browser/org.quickcorp.qcobjects.cli.js +4086 -0
  29. package/public/browser/org.quickcorp.qcobjects.cli.js.map +7 -0
  30. package/public/browser/org.quickcorp.qcobjects.collab.server.js +422 -0
  31. package/public/browser/org.quickcorp.qcobjects.collab.server.js.map +7 -0
  32. package/public/browser/org.quickcorp.qcobjects.defaultsettings.js +397 -0
  33. package/public/browser/org.quickcorp.qcobjects.defaultsettings.js.map +7 -0
  34. package/public/browser/org.quickcorp.qcobjects.main.file.js +248 -0
  35. package/public/browser/org.quickcorp.qcobjects.main.file.js.map +7 -0
  36. package/public/browser/org.quickcorp.qcobjects.main.http.gae.server.js +538 -0
  37. package/public/browser/org.quickcorp.qcobjects.main.http.gae.server.js.map +7 -0
  38. package/public/browser/org.quickcorp.qcobjects.main.http.server.js +600 -0
  39. package/public/browser/org.quickcorp.qcobjects.main.http.server.js.map +7 -0
  40. package/public/browser/org.quickcorp.qcobjects.main.http2.server.js +465 -0
  41. package/public/browser/org.quickcorp.qcobjects.main.http2.server.js.map +7 -0
  42. package/public/browser/qcobjects-cli.js +4118 -0
  43. package/public/browser/qcobjects-cli.js.map +7 -0
  44. package/public/browser/qcobjects-collab.js +41 -0
  45. package/public/browser/qcobjects-collab.js.map +7 -0
  46. package/public/browser/qcobjects-createcert.js +67 -0
  47. package/public/browser/qcobjects-createcert.js.map +7 -0
  48. package/public/browser/qcobjects-gae-http-server.js +41 -0
  49. package/public/browser/qcobjects-gae-http-server.js.map +7 -0
  50. package/public/browser/qcobjects-http-server.js +41 -0
  51. package/public/browser/qcobjects-http-server.js.map +7 -0
  52. package/public/browser/qcobjects-http2-server.js +44 -0
  53. package/public/browser/qcobjects-http2-server.js.map +7 -0
  54. package/public/browser/qcobjects-shell.js +50 -0
  55. package/public/browser/qcobjects-shell.js.map +7 -0
  56. package/public/browser/types/global/index.d.js +15 -0
  57. package/public/browser/types/global/index.d.js.map +7 -0
  58. package/public/cjs/backend/com.qcobjects.backend.microservice.static.cjs +305 -0
  59. package/public/cjs/backend/com.qcobjects.backend.microservice.static.cjs.map +7 -0
  60. package/public/cjs/backend/org.qcobjects.backend.php.cjs +273 -0
  61. package/public/cjs/backend/org.qcobjects.backend.php.cjs.map +7 -0
  62. package/public/cjs/com.qcobjects.cli.commands.cjs +384 -0
  63. package/public/cjs/com.qcobjects.cli.commands.cjs.map +7 -0
  64. package/public/cjs/com.qcobjects.cli.commands.jira.cjs +158 -0
  65. package/public/cjs/com.qcobjects.cli.commands.jira.cjs.map +7 -0
  66. package/public/cjs/com.qcobjects.cli.commands.jira.client_services.cjs +79 -0
  67. package/public/cjs/com.qcobjects.cli.commands.jira.client_services.cjs.map +7 -0
  68. package/public/cjs/com.qcobjects.cli.commands.version.cjs +243 -0
  69. package/public/cjs/com.qcobjects.cli.commands.version.cjs.map +7 -0
  70. package/public/cjs/index.cjs +4118 -0
  71. package/public/cjs/index.cjs.map +7 -0
  72. package/public/cjs/org.qcobjects.common.pipelog.cjs +52 -0
  73. package/public/cjs/org.qcobjects.common.pipelog.cjs.map +7 -0
  74. package/public/cjs/org.qcobjects.enterprise.commands.cjs +156 -0
  75. package/public/cjs/org.qcobjects.enterprise.commands.cjs.map +7 -0
  76. package/public/cjs/org.quickcorp.qcobjects.api.client_services.cjs +77 -0
  77. package/public/cjs/org.quickcorp.qcobjects.api.client_services.cjs.map +7 -0
  78. package/public/cjs/org.quickcorp.qcobjects.cli.cjs +4086 -0
  79. package/public/cjs/org.quickcorp.qcobjects.cli.cjs.map +7 -0
  80. package/public/cjs/org.quickcorp.qcobjects.collab.server.cjs +405 -0
  81. package/public/cjs/org.quickcorp.qcobjects.collab.server.cjs.map +7 -0
  82. package/public/cjs/org.quickcorp.qcobjects.defaultsettings.cjs +394 -0
  83. package/public/cjs/org.quickcorp.qcobjects.defaultsettings.cjs.map +7 -0
  84. package/public/cjs/org.quickcorp.qcobjects.main.file.cjs +235 -0
  85. package/public/cjs/org.quickcorp.qcobjects.main.file.cjs.map +7 -0
  86. package/public/cjs/org.quickcorp.qcobjects.main.http.gae.server.cjs +525 -0
  87. package/public/cjs/org.quickcorp.qcobjects.main.http.gae.server.cjs.map +7 -0
  88. package/public/cjs/org.quickcorp.qcobjects.main.http.server.cjs +587 -0
  89. package/public/cjs/org.quickcorp.qcobjects.main.http.server.cjs.map +7 -0
  90. package/public/cjs/org.quickcorp.qcobjects.main.http2.server.cjs +452 -0
  91. package/public/cjs/org.quickcorp.qcobjects.main.http2.server.cjs.map +7 -0
  92. package/public/cjs/qcobjects-cli.cjs +4115 -0
  93. package/public/cjs/qcobjects-cli.cjs.map +7 -0
  94. package/public/cjs/qcobjects-collab.cjs +24 -0
  95. package/public/cjs/qcobjects-collab.cjs.map +7 -0
  96. package/public/cjs/qcobjects-createcert.cjs +50 -0
  97. package/public/cjs/qcobjects-createcert.cjs.map +7 -0
  98. package/public/cjs/qcobjects-gae-http-server.cjs +24 -0
  99. package/public/cjs/qcobjects-gae-http-server.cjs.map +7 -0
  100. package/public/cjs/qcobjects-http-server.cjs +24 -0
  101. package/public/cjs/qcobjects-http-server.cjs.map +7 -0
  102. package/public/cjs/qcobjects-http2-server.cjs +27 -0
  103. package/public/cjs/qcobjects-http2-server.cjs.map +7 -0
  104. package/public/cjs/qcobjects-shell.cjs +34 -0
  105. package/public/cjs/qcobjects-shell.cjs.map +7 -0
  106. package/public/cjs/types/global/index.d.cjs +2 -0
  107. package/public/cjs/types/global/index.d.cjs.map +7 -0
  108. package/public/esm/backend/com.qcobjects.backend.microservice.static.mjs +315 -0
  109. package/public/esm/backend/com.qcobjects.backend.microservice.static.mjs.map +7 -0
  110. package/public/esm/backend/org.qcobjects.backend.php.mjs +287 -0
  111. package/public/esm/backend/org.qcobjects.backend.php.mjs.map +7 -0
  112. package/public/esm/com.qcobjects.cli.commands.jira.client_services.mjs +62 -0
  113. package/public/esm/com.qcobjects.cli.commands.jira.client_services.mjs.map +7 -0
  114. package/public/esm/com.qcobjects.cli.commands.jira.mjs +139 -0
  115. package/public/esm/com.qcobjects.cli.commands.jira.mjs.map +7 -0
  116. package/public/esm/com.qcobjects.cli.commands.mjs +368 -0
  117. package/public/esm/com.qcobjects.cli.commands.mjs.map +7 -0
  118. package/public/esm/com.qcobjects.cli.commands.version.mjs +226 -0
  119. package/public/esm/com.qcobjects.cli.commands.version.mjs.map +7 -0
  120. package/public/esm/index.mjs +4108 -0
  121. package/public/esm/index.mjs.map +7 -0
  122. package/public/esm/org.qcobjects.common.pipelog.mjs +35 -0
  123. package/public/esm/org.qcobjects.common.pipelog.mjs.map +7 -0
  124. package/public/esm/org.qcobjects.enterprise.commands.mjs +139 -0
  125. package/public/esm/org.qcobjects.enterprise.commands.mjs.map +7 -0
  126. package/public/esm/org.quickcorp.qcobjects.api.client_services.mjs +60 -0
  127. package/public/esm/org.quickcorp.qcobjects.api.client_services.mjs.map +7 -0
  128. package/public/esm/org.quickcorp.qcobjects.cli.mjs +4068 -0
  129. package/public/esm/org.quickcorp.qcobjects.cli.mjs.map +7 -0
  130. package/public/esm/org.quickcorp.qcobjects.collab.server.mjs +419 -0
  131. package/public/esm/org.quickcorp.qcobjects.collab.server.mjs.map +7 -0
  132. package/public/esm/org.quickcorp.qcobjects.defaultsettings.mjs +376 -0
  133. package/public/esm/org.quickcorp.qcobjects.defaultsettings.mjs.map +7 -0
  134. package/public/esm/org.quickcorp.qcobjects.main.file.mjs +245 -0
  135. package/public/esm/org.quickcorp.qcobjects.main.file.mjs.map +7 -0
  136. package/public/esm/org.quickcorp.qcobjects.main.http.gae.server.mjs +535 -0
  137. package/public/esm/org.quickcorp.qcobjects.main.http.gae.server.mjs.map +7 -0
  138. package/public/esm/org.quickcorp.qcobjects.main.http.server.mjs +597 -0
  139. package/public/esm/org.quickcorp.qcobjects.main.http.server.mjs.map +7 -0
  140. package/public/esm/org.quickcorp.qcobjects.main.http2.server.mjs +462 -0
  141. package/public/esm/org.quickcorp.qcobjects.main.http2.server.mjs.map +7 -0
  142. package/public/esm/qcobjects-cli.mjs +4100 -0
  143. package/public/esm/qcobjects-cli.mjs.map +7 -0
  144. package/public/esm/qcobjects-collab.mjs +38 -0
  145. package/public/esm/qcobjects-collab.mjs.map +7 -0
  146. package/public/esm/qcobjects-createcert.mjs +64 -0
  147. package/public/esm/qcobjects-createcert.mjs.map +7 -0
  148. package/public/esm/qcobjects-gae-http-server.mjs +38 -0
  149. package/public/esm/qcobjects-gae-http-server.mjs.map +7 -0
  150. package/public/esm/qcobjects-http-server.mjs +38 -0
  151. package/public/esm/qcobjects-http-server.mjs.map +7 -0
  152. package/public/esm/qcobjects-http2-server.mjs +41 -0
  153. package/public/esm/qcobjects-http2-server.mjs.map +7 -0
  154. package/public/esm/qcobjects-shell.mjs +26 -0
  155. package/public/esm/qcobjects-shell.mjs.map +7 -0
  156. package/public/esm/types/global/index.d.mjs +12 -0
  157. package/public/esm/types/global/index.d.mjs.map +7 -0
  158. package/public/index.d.ts +165 -0
  159. package/spec/support/jasmine.json +7 -4
  160. package/src/backend/{com.qcobjects.backend.microservice.static.js → com.qcobjects.backend.microservice.static.ts} +42 -28
  161. package/src/backend/org.qcobjects.backend.php.ts +348 -0
  162. package/src/{com.qcobjects.cli.commands.jira.client_services.js → com.qcobjects.cli.commands.jira.client_services.ts} +47 -33
  163. package/src/com.qcobjects.cli.commands.jira.ts +124 -0
  164. package/src/{com.qcobjects.cli.commands.js → com.qcobjects.cli.commands.ts} +3 -9
  165. package/src/com.qcobjects.cli.commands.version.ts +285 -0
  166. package/src/{index.mjs → index.cts} +1 -1
  167. package/src/index.mts +2 -0
  168. package/src/index.ts +1 -1
  169. package/src/{org.qcobjects.common.pipelog.js → org.qcobjects.common.pipelog.ts} +21 -18
  170. package/src/org.qcobjects.enterprise.commands.ts +174 -0
  171. package/src/{org.quickcorp.qcobjects.api.client_services.js → org.quickcorp.qcobjects.api.client_services.ts} +46 -32
  172. package/src/org.quickcorp.qcobjects.cli.ts +504 -0
  173. package/src/org.quickcorp.qcobjects.collab.server.ts +420 -0
  174. package/src/org.quickcorp.qcobjects.defaultsettings.ts +424 -0
  175. package/src/org.quickcorp.qcobjects.main.file.ts +180 -0
  176. package/src/org.quickcorp.qcobjects.main.http.gae.server.ts +507 -0
  177. package/src/org.quickcorp.qcobjects.main.http.server.ts +551 -0
  178. package/src/org.quickcorp.qcobjects.main.http2.server.ts +419 -0
  179. package/src/{qcobjects-cli.js → qcobjects-cli.ts} +10 -12
  180. package/src/{qcobjects-collab.js → qcobjects-collab.ts} +4 -4
  181. package/src/{qcobjects-createcert.js → qcobjects-createcert.ts} +5 -3
  182. package/src/{qcobjects-gae-http-server.js → qcobjects-gae-http-server.ts} +4 -4
  183. package/src/{qcobjects-http-server.js → qcobjects-http-server.ts} +4 -4
  184. package/src/{qcobjects-http2-server.js → qcobjects-http2-server.ts} +6 -8
  185. package/src/{qcobjects-shell.js → qcobjects-shell.ts} +11 -14
  186. package/src/types/global/index.d.ts +2 -0
  187. package/tsconfig.d.json +45 -3
  188. package/tsconfig.jasmine.json +39 -0
  189. package/tsconfig.json +50 -7
  190. package/.eslintignore +0 -5
  191. package/.eslintrc.cjs +0 -6
  192. package/src/backend/org.qcobjects.backend.php.js +0 -334
  193. package/src/com.qcobjects.cli.commands.jira.js +0 -144
  194. package/src/com.qcobjects.cli.commands.version.js +0 -285
  195. package/src/index.cjs +0 -2
  196. package/src/index.d.ts +0 -2
  197. package/src/org.qcobjects.enterprise.commands.js +0 -194
  198. package/src/org.quickcorp.qcobjects.cli.js +0 -523
  199. package/src/org.quickcorp.qcobjects.collab.server.js +0 -415
  200. package/src/org.quickcorp.qcobjects.defaultsettings.js +0 -397
  201. package/src/org.quickcorp.qcobjects.main.file.js +0 -159
  202. package/src/org.quickcorp.qcobjects.main.http.gae.server.js +0 -495
  203. package/src/org.quickcorp.qcobjects.main.http.server.js +0 -529
  204. package/src/org.quickcorp.qcobjects.main.http2.server.js +0 -392
  205. /package/spec/{testsSpec.js → testsSpec.ts} +0 -0
@@ -1,397 +0,0 @@
1
- /**
2
- * QCObjects CLI 2.4.x
3
- * ________________
4
- *
5
- * Author: Jean Machuca <correojean@gmail.com>
6
- *
7
- * Cross Browser Javascript Framework for MVC Patterns
8
- * QuickCorp/QCObjects is licensed under the
9
- * GNU Lesser General Public License v3.0
10
- * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
11
- *
12
- * Permissions of this copyleft license are conditioned on making available
13
- * complete source code of licensed works and modifications under the same
14
- * license or the GNU GPLv3. Copyright and license notices must be preserved.
15
- * Contributors provide an express grant of patent rights. However, a larger
16
- * work using the licensed work through interfaces provided by the licensed
17
- * work may be distributed under different terms and without source code for
18
- * the larger work.
19
- *
20
- * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
21
- *
22
- * Everyone is permitted to copy and distribute verbatim copies of this
23
- * license document, but changing it is not allowed.
24
- */
25
- /*eslint no-unused-vars: "off"*/
26
- /*eslint no-redeclare: "off"*/
27
- /*eslint no-empty: "off"*/
28
- /*eslint strict: "off"*/
29
- /*eslint no-mixed-operators: "off"*/
30
- /*eslint no-undef: "off"*/
31
- "use strict";
32
-
33
- (function (){
34
-
35
- const __load_default_settings__ = () => {
36
- CONFIG.set("documentRootFileIndex", "index.html");
37
- CONFIG.set("projectPath", `${process.cwd()}/`);
38
- CONFIG.set("useConfigService", false); // this is only true useful for client web side
39
- CONFIG.set("documentRoot", "./");
40
- CONFIG.set("serverPortHTTP", 80);
41
- CONFIG.set("serverPortHTTPS", 443);
42
- CONFIG.set("private-key-pem", "localhost-privkey.pem");
43
- CONFIG.set("private-cert-pem", "localhost-cert.pem");
44
- CONFIG.set("allowHTTP1", true);
45
- CONFIG.set("useTemplate", false);
46
- CONFIG.set("domain", "localhost");
47
-
48
- global.__get_version__ = function () {
49
- const path = require("path");
50
-
51
- const absolutePath = path.resolve(__dirname, "./");
52
- const package_config = require(absolutePath + "/../package.json");
53
- const qcobjects_pkg_config = require("qcobjects/package.json");
54
- const qcobjects_sdk_pkg_config = require("qcobjects-sdk/package.json");
55
- return {
56
- "qcobjects": qcobjects_pkg_config.version,
57
- "sdk": qcobjects_sdk_pkg_config.version,
58
- "cli": package_config.version
59
- };
60
- };
61
-
62
- global.__get_version_string__ = function () {
63
- const version = global.__get_version__();
64
- return "QCObjects: v" + version.qcobjects + ", SDK: v" + version.sdk + ", CLI: v" + version.cli;
65
- };
66
-
67
-
68
- let setDevMode = function (devmode) {
69
- if (typeof devmode !== "undefined") {
70
- switch (true) {
71
- case devmode == "debug":
72
- logger.debugEnabled = true;
73
- logger.warnEnabled = true;
74
- logger.infoEnabled = true;
75
- break;
76
- case devmode == "warn":
77
- logger.debugEnabled = false;
78
- logger.warnEnabled = true;
79
- logger.infoEnabled = true;
80
- break;
81
- case devmode == "info":
82
- logger.debugEnabled = false;
83
- logger.warnEnabled = false;
84
- logger.infoEnabled = true;
85
- break;
86
-
87
- default:
88
- logger.debugEnabled = false;
89
- logger.warnEnabled = false;
90
- logger.infoEnabled = false;
91
- break;
92
- }
93
- } else {
94
- logger.debugEnabled = false;
95
- logger.warnEnabled = false;
96
- logger.infoEnabled = false;
97
- }
98
-
99
- };
100
-
101
- try {
102
- var _config = require(CONFIG.get("projectPath") + "config.json");
103
- logger.debug("Loading settings from your config.json");
104
-
105
- let _secretKey = (_config.hasOwnProperty.call(_config, "domain")) ? (_config["domain"]) : ("_secret_");
106
-
107
- if (_config.hasOwnProperty.call(_config, "__encoded__")) {
108
- _config = JSON.parse(_Crypt.decrypt(_config.__encoded__, _secretKey));
109
- }
110
- for (var k in _config) {
111
- CONFIG.set(k, _config[k]);
112
- }
113
-
114
- setDevMode(CONFIG.get("devmode", ""));
115
-
116
- if (typeof CONFIG.get("backend") !== "undefined") {
117
- global.set("backendAvailable", true);
118
-
119
- if (typeof CONFIG.get("basePath") !== "undefined") {
120
- logger.debug(`Changing the current directory: ${process.cwd()}`);
121
- try {
122
- process.chdir(CONFIG.get("basePath"));
123
- logger.debug(`New directory: ${process.cwd()}`);
124
- } catch (err) {
125
- logger.warn(`It was impossible to change the current chdir: ${err}`);
126
- }
127
- }
128
- }
129
- } catch (e) {
130
- logger.debug(e);
131
- logger.debug("Something went wrong trying to load config.json file in your project");
132
- }
133
-
134
- (async function () {
135
- const path = require("path");
136
- const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
137
- const loadDefaultRoutes = async () => {
138
- const sdkPath = path.resolve(findPackageNodePath("qcobjects-sdk"), "qcobjects-sdk");
139
- const qcobjectsPath = path.resolve(findPackageNodePath("qcobjects"), "qcobjects");
140
- let backend = CONFIG.get("backend");
141
- if (typeof backend === "undefined") {
142
- backend = {};
143
- }
144
- if (typeof backend.routes === "undefined") {
145
- backend.routes = [];
146
- }
147
- backend.routes = backend.routes.concat([{
148
- "name": "QCObjects.js",
149
- "description": "Redirection of QCObjects.js",
150
- "path": "^/QCObjects.js$",
151
- "microservice": "com.qcobjects.backend.microservice.static",
152
- "redirect_to": path.resolve(qcobjectsPath,"src","QCObjects.js"),
153
- "responseHeaders": {},
154
- "cors": {
155
- "allow_origins": "*"
156
- }
157
- },
158
- {
159
- "name": "QCObjects-SDK.js",
160
- "description": "Redirection of QCObjects SDK",
161
- "path": "^/js/packages/QCObjects-SDK.js$",
162
- "microservice": "com.qcobjects.backend.microservice.static",
163
- "redirect_to": path.resolve(sdkPath, "src/QCObjects-SDK.js"),
164
- "responseHeaders": {},
165
- "cors": {
166
- "allow_origins": "*"
167
- }
168
- },
169
- {
170
- "name": "QCObjects-SDK Components",
171
- "description": "Redirection of QCObjects SDK",
172
- "path": "^/qcobjects-sdk/(.*)$",
173
- "microservice": "com.qcobjects.backend.microservice.static",
174
- "redirect_to": path.resolve(sdkPath, "$1"),
175
- "responseHeaders": {},
176
- "cors": {
177
- "allow_origins": "*"
178
- }
179
- }
180
-
181
- ]);
182
- CONFIG.set("backend", backend);
183
-
184
- };
185
- await loadDefaultRoutes();
186
- })().then(() => logger.info("Default routes loaded"));
187
-
188
- (function () {
189
- /* Auto Discover dependencies (lib, handlers, commands) */
190
- const path = require("path");
191
- const fs = require ("fs");
192
- const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
193
- logger.debug(`CONFIG.projectPath is set to ${projectPath}`);
194
- const findPath = (p) => {
195
- const packagePath = path.resolve(findPackageNodePath(p), p);
196
- return packagePath;
197
- };
198
-
199
- const getPackageJSON = (p) => {
200
- let _json;
201
- try {
202
- let packagePath = findPath(p);
203
- if (typeof packagePath !== "undefined"){
204
- _json = JSON.parse(fs.readFileSync(path.resolve(`${packagePath}`,"./package.json")).toString());
205
- } else {
206
- _json = {};
207
- }
208
- } catch (e){
209
- logger.debug(`It was impossible to get the package.json from ${p}: ${e}`);
210
- _json = {}
211
- }
212
- return _json;
213
- };
214
-
215
- const hasKeyword = (p, keyword) => {
216
- if (typeof hasKeyword.keywords === "undefined"){
217
- hasKeyword.keywords = {};
218
- }
219
- try {
220
- if (typeof hasKeyword.keywords[p] === "undefined"){
221
- hasKeyword.keywords[p] = getPackageJSON(p).keywords;
222
- }
223
- } catch (e){
224
- throw Error (`Something went wrong when trying to get the keywords of ${p}`);
225
- }
226
- return typeof hasKeyword.keywords[p] !== "undefined" && hasKeyword.keywords[p].includes(keyword);
227
- };
228
-
229
- const setBackendValue = (name, value) => {
230
- const backend = CONFIG.get("backend", {});
231
- if (typeof value !== "undefined"){
232
- backend[name] = value;
233
- }
234
- CONFIG.set("backend",backend);
235
- };
236
-
237
- const dependencies = () => {
238
- if (typeof dependencies.deps === "undefined"){
239
- dependencies.deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`,"./package.json")).toString()).dependencies);
240
- setBackendValue("dependencies", dependencies.deps);
241
- }
242
- return dependencies.deps;
243
- };
244
-
245
- const devDependencies = () => {
246
- if (typeof devDependencies.deps === "undefined"){
247
- devDependencies.deps = Object.keys(JSON.parse(fs.readFileSync(path.resolve(`${projectPath}`,"./package.json")).toString()).devDependencies);
248
- setBackendValue("devDependencies", devDependencies.deps);
249
- }
250
- return devDependencies.deps;
251
- };
252
-
253
- const loadLibs = () => {
254
- let _ret_;
255
- if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_libs", false)) {
256
- const libs = dependencies().filter((p) => hasKeyword(p, "qcobjects-lib"));
257
- setBackendValue("libs", libs);
258
- if (libs.length>0){
259
- logger.debug(`Plugin Libs found: ${libs}`);
260
- _ret_ = Promise.all(libs.map((p) => {return require(findPath(p));})).then(() => logger.info("Libs loaded"));
261
- } else {
262
- logger.debug("No Plugin Libs found.");
263
- _ret_ = Promise.resolve();
264
- }
265
- } else {
266
- logger.debug("To load libs, set autodiscover_libs to true in your config.json");
267
- _ret_ = Promise.resolve();
268
- }
269
- return _ret_;
270
- };
271
- const loadHandlers = () => {
272
- let _ret_;
273
- if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_handlers", false)) {
274
- const handlers = dependencies().filter((p) => hasKeyword(p, "qcobjects-handler"));
275
- setBackendValue("handlers", handlers);
276
- if (handlers.length>0){
277
- logger.debug(`Plugin Handlers found: ${handlers}`);
278
- _ret_ = Promise.all(handlers.map((p) => {return require(findPath(p));})).then(() => logger.info("Handlers loaded"));
279
- } else {
280
- logger.debug("No Plugin Handlers found.");
281
- _ret_ = Promise.resolve();
282
- }
283
- } else {
284
- logger.debug("To load handlers, set autodiscover_handlers to true in your config.json");
285
- _ret_ = Promise.resolve();
286
- }
287
- return _ret_;
288
- };
289
- const loadCommands = () => {
290
- let _ret_;
291
- logger.debug(`Looking for custom commands as dependencies in: ${projectPath}/package.json`);
292
- if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_commands", false)) {
293
- const commands = dependencies().filter((p) => hasKeyword(p, "qcobjects-command"));
294
- setBackendValue("commands", commands);
295
- if (commands.length>0){
296
- logger.debug(`Plugin Commands found: ${commands}`);
297
- _ret_ = Promise.all(commands.map((p) => {return require(findPath(p));})).then(() => logger.info("Commands loaded"));
298
- } else {
299
- logger.debug("No Plugin Commands found.");
300
- _ret_ = Promise.resolve();
301
- }
302
- } else {
303
- logger.debug("To load commands, set autodiscover_commands to true in your config.json");
304
- _ret_ = Promise.resolve();
305
- }
306
- return _ret_;
307
- };
308
- const loadDevCommands = () => {
309
- let _ret_;
310
- logger.debug(`Looking for custom commands as dev dependencies in: ${projectPath}/package.json`);
311
- if (CONFIG.get("autodiscover", false) || CONFIG.get("autodiscover_commands", false)) {
312
- const commands = devDependencies().filter((p) => hasKeyword(p, "qcobjects-command"));
313
- setBackendValue("devCommands", commands);
314
- if (commands.length>0){
315
- logger.debug(`Dev Plugin Commands found: ${commands}`);
316
- _ret_ = Promise.all(commands.map((p) => {return require(findPath(p));})).then(() => logger.info("Commands loaded"));
317
- } else {
318
- logger.debug("No Plugin Commands found in dev dependencies.");
319
- _ret_ = Promise.resolve();
320
- }
321
- } else {
322
- logger.debug("To load commands, set autodiscover_commands to true in your config.json");
323
- _ret_ = Promise.resolve();
324
- }
325
- return _ret_;
326
- };
327
-
328
- if (CONFIG.get("autodiscover", false) ||
329
- CONFIG.get("autodiscover_libs", false) ||
330
- CONFIG.get("autodiscover_handlers", false) ||
331
- CONFIG.get("autodiscover_commands", false)
332
- ) {
333
- logger.info("Auto discover is enabled");
334
- } else if (!CONFIG.get("autodiscover", false)) {
335
- logger.info("Auto discover is disabled");
336
- logger.debug("To load all dependencies, set autodiscover to true in your config.json");
337
- } else {
338
- logger.info("Auto discover is disabled");
339
- }
340
-
341
- try {
342
- logger.debug("Loading Libs...");
343
- loadLibs();
344
- } catch (e) {
345
- throw Error(`Something went wrong trying to load libs: ${e.message}`);
346
- }
347
- try {
348
- logger.debug("Loading Handlers...");
349
- loadHandlers();
350
- } catch (e) {
351
- throw Error(`Something went wrong trying to load handler: ${e.message}`);
352
- }
353
- try {
354
- logger.debug("Loading Commands...");
355
- loadCommands();
356
- } catch (e) {
357
- throw Error(`Something went wrong trying to load commands: ${e.message}`);
358
- }
359
- try {
360
- logger.debug("Loading Dev Commands...");
361
- loadDevCommands();
362
- } catch (e) {
363
- throw Error(`Something went wrong trying to load Dev commands: ${e.message}`);
364
- }
365
-
366
- try {
367
- const commands = CONFIG.get("backend", {commands:[]}).commands || [];
368
- const devCommands = CONFIG.get("backend", {devCommands:[]}).devCommands || [];
369
- setBackendValue("plugins", commands.concat(devCommands));
370
- } catch (e) {
371
- throw Error(`Something went wrong trying to load plugins list: ${e.message}`);
372
- }
373
-
374
- logger.info("Dependencies loaded");
375
-
376
- process.once("SIGTERM", ()=> {
377
- console.log("\x1b[33m%s\x1b[0m", "Bye bye!");
378
- process.exit();
379
- });
380
- })();
381
- };
382
-
383
- global.__load_default_settings__ = __load_default_settings__;
384
- global.__load_default_settings__();
385
-
386
- const cleanCache = () => {
387
- Object.keys(require.cache).forEach( (key) => { delete require.cache[key]; });
388
- }
389
-
390
- const __reset_settings__ = () => {
391
- cleanCache();
392
- global.__load_default_settings__();
393
- };
394
-
395
- global.__reset_settings__ = __reset_settings__;
396
-
397
- })();
@@ -1,159 +0,0 @@
1
- /**
2
- * QCObjects CLI 2.4.x
3
- * ________________
4
- *
5
- * Author: Jean Machuca <correojean@gmail.com>
6
- *
7
- * Cross Browser Javascript Framework for MVC Patterns
8
- * QuickCorp/QCObjects is licensed under the
9
- * GNU Lesser General Public License v3.0
10
- * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)
11
- *
12
- * Permissions of this copyleft license are conditioned on making available
13
- * complete source code of licensed works and modifications under the same
14
- * license or the GNU GPLv3. Copyright and license notices must be preserved.
15
- * Contributors provide an express grant of patent rights. However, a larger
16
- * work using the licensed work through interfaces provided by the licensed
17
- * work may be distributed under different terms and without source code for
18
- * the larger work.
19
- *
20
- * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>
21
- *
22
- * Everyone is permitted to copy and distribute verbatim copies of this
23
- * license document, but changing it is not allowed.
24
- */
25
- /*eslint no-unused-vars: "off"*/
26
- /*eslint no-redeclare: "off"*/
27
- /*eslint no-empty: "off"*/
28
- /*eslint strict: "off"*/
29
- /*eslint no-mixed-operators: "off"*/
30
- /*eslint no-undef: "off"*/
31
- "use strict";
32
- const path = require("path");
33
- const fs = require("fs");
34
- const mime = require("mime");
35
-
36
- const absolutePath = path.resolve(__dirname, "./");
37
-
38
- Package("org.quickcorp.qcobjects.main.file", [
39
- class FileDispatcher extends InheritClass {
40
- constructor({
41
- name = CONFIG.get("documentRootFileIndex"),
42
- template = "",
43
- templateURI = CONFIG.get("documentRootFileIndex"),
44
- headers = {},
45
- body = "",
46
- filename = ""
47
- }) {
48
- super(...arguments);
49
-
50
- var o = this;
51
-
52
- var scriptname = o.scriptname;
53
- this.filename = scriptname;
54
- var pathname = (o.pathname !== "") ? (o.pathname + "/") : ("");
55
- var appTemplateInstance = this;
56
- if (typeof appTemplateInstance.headers === "undefined"){
57
- appTemplateInstance.headers = {
58
- ":status": 500,
59
- "content-type": "text/html"
60
- };
61
- }
62
-
63
- appTemplateInstance.done = o.done;
64
- appTemplateInstance.templateURI = CONFIG.get("documentRoot") + pathname + scriptname;
65
- appTemplateInstance.templateURI = appTemplateInstance.templateURI.replace("//", "/");
66
-
67
- if (appTemplateInstance.isTemplate()) {
68
- fs.readFile(appTemplateInstance.templateURI, function (err, data) {
69
- logger.debug("reading data from " + appTemplateInstance.templateURI);
70
- if (typeof data !== "undefined") {
71
- appTemplateInstance.template = data.toString();
72
- appTemplateInstance._done.call(appTemplateInstance);
73
- } else {
74
- appTemplateInstance.headers = {
75
- ":status": 404,
76
- "content-type": "text/html"
77
- };
78
- appTemplateInstance.done.call(appTemplateInstance,
79
- appTemplateInstance.headers,
80
- "FILE NOT FOUND", "notfound.html", false);
81
- logger.debug("file not found");
82
- }
83
- });
84
- } else {
85
- appTemplateInstance.headers[":status"] = 200;
86
- appTemplateInstance.headers["content-type"] = mime.getType(appTemplateInstance.templateURI);
87
- appTemplateInstance.done.call(appTemplateInstance,
88
- appTemplateInstance.headers,
89
- "", appTemplateInstance.templateURI, false);
90
- }
91
-
92
- logger.info("FileDispatcher initialized");
93
-
94
- }
95
-
96
- file_extension() {
97
- return this.filename.substr(this.filename.indexOf("."));
98
- }
99
- isTemplate() {
100
- return CONFIG.get("useTemplate") && (this.file_extension() == ".html" || this.file_extension() == ".tpl.html");
101
- }
102
- _done() {
103
- var appTemplateInstance = this;
104
- const source = appTemplateInstance.template;
105
- if (appTemplateInstance.isTemplate()) {
106
-
107
- (New(Component, {
108
- name: "static_source",
109
- template: source,
110
- cached: false,
111
- tplsource: "inline",
112
- data: {
113
- title: "QCObjects"
114
- },
115
- done({
116
- request,
117
- component
118
- }) {
119
- appTemplateInstance.body = component.parsedAssignmentText;
120
- return Promise.resolve({
121
- request,
122
- component
123
- });
124
- }
125
- }));
126
-
127
- } else {
128
- appTemplateInstance.body = source;
129
- }
130
-
131
- if ([".png",
132
- ".jpg",
133
- ".jpeg",
134
- ".json",
135
- ".html",
136
- ".tpl.html",
137
- ".css",
138
- ".js",
139
- ".svg"
140
- ].includes(appTemplateInstance.file_extension())) {
141
- appTemplateInstance.headers["content-type"] = mime.getType(appTemplateInstance.templateURI);
142
- appTemplateInstance.headers["cache-control"] = CONFIG.get("cacheControl", "max-age=31536000");
143
- appTemplateInstance.done.call(appTemplateInstance,
144
- appTemplateInstance.headers,
145
- appTemplateInstance.body,
146
- appTemplateInstance.templateURI,
147
- appTemplateInstance.isTemplate());
148
- } else {
149
- appTemplateInstance.done.call(appTemplateInstance, {
150
- ":status": 403,
151
- "content-type": "text/plain"
152
- },
153
- "FORBIDDEN", "notfound.html", false);
154
- }
155
- }
156
- done(headers, body) {}
157
-
158
- }
159
- ]);