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,5 +1,5 @@
1
1
  /**
2
- * QCObjects CLI 2.4.x
2
+ * QCObjects CLI 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -71,24 +71,69 @@ export const __get_version_string__ = () => {
71
71
  return "QCObjects: v" + version.qcobjects + ", SDK: v" + version.sdk + ", CLI: v" + version.cli;
72
72
  };
73
73
 
74
+ export const getProjectPath = () => {
75
+ return CONFIG.get("projectPath", `${process.cwd()}/`);
76
+ };
77
+
74
78
  Export(__get_version__);
75
79
  Export(__get_version_string__);
80
+ Export(getProjectPath);
76
81
 
77
82
 
78
83
  const __load_default_settings__ = () => {
84
+ CONFIG.set("domain", "$ENV(DOMAIN)");
85
+ CONFIG.set("certificate_provider", "$ENV(CERTIFICATE_PROVIDER)");
86
+ CONFIG.set("devmode", "$ENV(DEVMODE)");
87
+ CONFIG.set("autodiscover", true);
88
+ CONFIG.set("autodiscover_commands", true);
89
+ CONFIG.set("autodiscover_handlers", true);
90
+ CONFIG.set("documentRoot", "$config(projectPath)public/");
79
91
  CONFIG.set("documentRootFileIndex", "index.html");
80
- CONFIG.set("projectPath", `${process.cwd()}/`);
92
+ CONFIG.set("cacheControl", "max-age=31536000");
93
+ CONFIG.set("relativeImportPath", "js/packages/");
94
+ CONFIG.set("serverPortHTTP", "8080");
95
+ CONFIG.set("serverPortHTTPS", "8443");
96
+ CONFIG.set("useLocalSDK", true);
97
+ CONFIG.set("useLegacyHTTP", false);
98
+ CONFIG.set("private-key-pem", "$config(domain)-privkey.pem");
99
+ CONFIG.set("private-cert-pem", "$config(domain)-cert.pem");
100
+ CONFIG.set("enableShellCommands", true);
101
+ CONFIG.set("OPENAI_API_KEY", "$ENV(OPENAI_API_KEY)");
102
+
103
+ // Set backend configuration
104
+ const backend = {
105
+ db_engine: {
106
+ name: "$ENV(ENGINE_NAME)",
107
+ databaseName: "$ENV(DATABASE_NAME)"
108
+ },
109
+ auth: {
110
+ enabled: true,
111
+ defaultUser: "$ENV(DEFAULT_USER)",
112
+ defaultPasswd: "$ENV(DEFAULT_PASSWORD)",
113
+ microsoftapikey: "$ENV(MICROSOFT_API_KEY)",
114
+ googleapikey: "$ENV(GOOGLE_API_KEY)"
115
+ },
116
+ routes: [
117
+ ]
118
+ };
119
+ CONFIG.set("backend", backend);
120
+
121
+ // Set package configuration
122
+ const packageConfig = {
123
+ source: {
124
+ backend: "backend",
125
+ frontend: "src"
126
+ },
127
+ build: "build",
128
+ dist: "dist"
129
+ };
130
+ CONFIG.set("package", packageConfig);
131
+
81
132
  CONFIG.set("useConfigService", false); // this is only true useful for client web side
82
- CONFIG.set("documentRoot", "./");
83
- CONFIG.set("serverPortHTTP", 80);
84
- CONFIG.set("serverPortHTTPS", 443);
85
- CONFIG.set("private-key-pem", "localhost-privkey.pem");
86
- CONFIG.set("private-cert-pem", "localhost-cert.pem");
133
+ CONFIG.set("projectPath", `${process.cwd()}/`);
87
134
  CONFIG.set("allowHTTP1", true);
88
135
  CONFIG.set("useTemplate", false);
89
- CONFIG.set("domain", "localhost");
90
-
91
-
136
+ CONFIG.set("useLegacyHTTP", false);
92
137
 
93
138
  const setDevMode = (devmode: string) => {
94
139
  if (typeof devmode !== "undefined") {
@@ -148,24 +193,25 @@ const __load_default_settings__ = () => {
148
193
 
149
194
  if (typeof CONFIG.get("backend") !== "undefined") {
150
195
  global.set("backendAvailable", true);
196
+ }
151
197
 
152
- if (typeof CONFIG.get("basePath") !== "undefined") {
153
- logger.debug(`Changing the current directory: ${process.cwd()}`);
154
- try {
155
- process.chdir(CONFIG.get("basePath"));
156
- logger.debug(`New directory: ${process.cwd()}`);
157
- } catch (err: any) {
158
- logger.warn(`It was impossible to change the current chdir: ${err}`);
159
- }
198
+ if (typeof CONFIG.get("basePath") !== "undefined") {
199
+ logger.debug(`Changing the current directory: ${process.cwd()}`);
200
+ try {
201
+ process.chdir(CONFIG.get("basePath"));
202
+ logger.debug(`New directory: ${process.cwd()}`);
203
+ } catch (err: any) {
204
+ logger.warn(`It was impossible to change the current chdir: ${err}`);
160
205
  }
161
206
  }
207
+
162
208
  } catch (e:any) {
163
209
  logger.debug(e);
164
210
  logger.debug("Something went wrong trying to load config.json file in your project");
165
211
  }
166
212
 
167
213
  (async function () {
168
- const projectPath = CONFIG.get("projectPath", `${process.cwd()}/`);
214
+ const projectPath = getProjectPath();
169
215
  const loadDefaultRoutes = async () => {
170
216
  return await new Promise<void>((resolve, reject) => {
171
217
  const sdkPath = path.resolve(findPackageNodePath("qcobjects-sdk"), "qcobjects-sdk");
@@ -1,5 +1,5 @@
1
1
  /**
2
- * QCObjects CLI 2.4.x
2
+ * QCObjects CLI 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
package/src/index.ts CHANGED
File without changes
package/src/main-file.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * QCObjects CLI 2.4.x
2
+ * QCObjects CLI 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * QCObjects CLI 2.4.x
2
+ * QCObjects CLI 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * QCObjects CLI 2.4.x
2
+ * QCObjects CLI 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,5 +1,5 @@
1
1
  /**
2
- * QCObjects CLI 2.4.x
2
+ * QCObjects CLI 2.5
3
3
  * ________________
4
4
  *
5
5
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * QCObjects CLI 2.4.x
3
+ * QCObjects CLI 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * QCObjects CLI 2.4.x
3
+ * QCObjects CLI 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * QCObjects CLI 2.4.x
3
+ * QCObjects CLI 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * QCObjects CLI 2.4.x
3
+ * QCObjects CLI 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * QCObjects CLI 2.4.x
3
+ * QCObjects CLI 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * QCObjects CLI 2.4.x
3
+ * QCObjects CLI 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
@@ -33,16 +33,15 @@
33
33
  import "./defaultsettings";
34
34
  import {HTTPServer} from "./main-http-server";
35
35
  import {HTTP2Server} from "./main-http2-server";
36
+ import {getProjectPath} from "./defaultsettings";
37
+ import { CONFIG, InheritClass, New, logger } from "qcobjects";
38
+
36
39
 
37
40
  (async () => {
38
41
  "use strict";
39
42
  const path = await import("path");
40
43
  const absolutePath = path.resolve(__dirname, "./");
41
44
 
42
- await import("qcobjects");
43
- const { CONFIG, InheritClass, New, logger } = await import("qcobjects");
44
-
45
-
46
45
  class Main extends InheritClass {
47
46
  constructor() {
48
47
  super();
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * QCObjects CLI 2.4.x
3
+ * QCObjects CLI 2.5
4
4
  * ________________
5
5
  *
6
6
  * Author: Jean Machuca <correojean@gmail.com>
File without changes
File without changes
File without changes
File without changes
package/transpile.js CHANGED
File without changes
package/tsconfig.d.json CHANGED
File without changes
File without changes
package/tsconfig.json CHANGED
@@ -20,12 +20,12 @@
20
20
  "module": "NodeNext",
21
21
  "rootDir": "./src",
22
22
  "allowJs": true,
23
- "outDir": "build",
23
+ "outDir": "public/cjs",
24
24
  "allowSyntheticDefaultImports": true,
25
25
  "esModuleInterop": true,
26
26
  "baseUrl": ".",
27
- "declaration": true,
28
- "declarationMap": true,
27
+ "declaration": false,
28
+ "declarationMap": false,
29
29
  "sourceMap": true,
30
30
  "typeRoots": [
31
31
  "./node_modules/@types"
@@ -1,79 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
7
- var __export = (target, all) => {
8
- for (var name in all)
9
- __defProp(target, name, { get: all[name], enumerable: true });
10
- };
11
- var __copyProps = (to, from, except, desc) => {
12
- if (from && typeof from === "object" || typeof from === "function") {
13
- for (let key of __getOwnPropNames(from))
14
- if (!__hasOwnProp.call(to, key) && key !== except)
15
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
- }
17
- return to;
18
- };
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
- var api_client_services_exports = {};
21
- __export(api_client_services_exports, {
22
- QuickCorpCloud: () => QuickCorpCloud
23
- });
24
- module.exports = __toCommonJS(api_client_services_exports);
25
- var import_qcobjects = require("qcobjects");
26
- class QuickCorpCloud extends import_qcobjects.Service {
27
- static {
28
- __name(this, "QuickCorpCloud");
29
- }
30
- headers;
31
- url;
32
- basePath;
33
- data;
34
- constructor({
35
- name = "quickcorp_cloud",
36
- external = true,
37
- useHTTP2 = true,
38
- cached = false,
39
- method = "post",
40
- headers = {
41
- "origin": "localhost",
42
- "content-type": "application/json"
43
- },
44
- basePath = "https://cloud.quickcorp.org/",
45
- url = "",
46
- withCredentials = false
47
- }) {
48
- super({
49
- name,
50
- external,
51
- useHTTP2,
52
- cached,
53
- method,
54
- headers,
55
- basePath,
56
- url,
57
- withCredentials
58
- });
59
- }
60
- _new_(o) {
61
- this.headers["authorization"] = "Basic token";
62
- this.url = this.basePath + o.apiMethod;
63
- this.data = o.data;
64
- }
65
- done(service, standardResponse) {
66
- import_qcobjects.logger.debug(standardResponse);
67
- }
68
- fail(e) {
69
- import_qcobjects.logger.debug(e);
70
- }
71
- }
72
- (0, import_qcobjects.Package)("org.quickcorp.qcobjects.api.client_services", [
73
- QuickCorpCloud
74
- ]);
75
- // Annotate the CommonJS export names for ESM import in node:
76
- 0 && (module.exports = {
77
- QuickCorpCloud
78
- });
79
- //# sourceMappingURL=api-client_services.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/api-client_services.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.4.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n*/\n/*eslint no-unused-vars: \"off\"*/\n/*eslint no-redeclare: \"off\"*/\n/*eslint no-empty: \"off\"*/\n/*eslint strict: \"off\"*/\n/*eslint no-mixed-operators: \"off\"*/\n/*eslint no-undef: \"off\"*/\n\"use strict\";\n\nimport { Package, Service, logger } from \"qcobjects\";\n\nexport class QuickCorpCloud extends Service {\n headers: any;\n url: any;\n basePath: any;\n data: any;\n constructor({\n name = \"quickcorp_cloud\",\n external = true,\n useHTTP2 = true,\n cached = false,\n method = \"post\",\n headers = {\n \"origin\": \"localhost\",\n \"content-type\": \"application/json\"\n },\n basePath = \"https://cloud.quickcorp.org/\",\n url = \"\",\n withCredentials = false\n }) {\n super({\n name,\n external,\n useHTTP2,\n cached,\n method,\n headers,\n basePath,\n url,\n withCredentials\n });\n\n }\n\n _new_(o: any) {\n // service instantiated\n this.headers[\"authorization\"] = \"Basic token\";\n this.url = this.basePath + o.apiMethod;\n this.data = o.data;\n }\n\n done(service: any, standardResponse: any) {\n // service loaded\n logger.debug(standardResponse);\n }\n\n fail(e: any) {\n logger.debug(e);\n }\n\n}\n\nPackage(\"org.quickcorp.qcobjects.api.client_services\", [\n QuickCorpCloud\n]);\n\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAgCA,uBAAyC;AAElC,MAAM,uBAAuB,yBAAQ;AAAA,EAlC5C,OAkC4C;AAAA;AAAA;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY;AAAA,IACV,OAAO;AAAA,IACP,WAAW;AAAA,IACX,WAAW;AAAA,IACX,SAAS;AAAA,IACT,SAAS;AAAA,IACT,UAAU;AAAA,MACR,UAAU;AAAA,MACV,gBAAgB;AAAA,IAClB;AAAA,IACA,WAAW;AAAA,IACX,MAAM;AAAA,IACN,kBAAkB;AAAA,EACpB,GAAG;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAAA,EAEH;AAAA,EAEA,MAAM,GAAQ;AAEZ,SAAK,QAAQ,eAAe,IAAI;AAChC,SAAK,MAAM,KAAK,WAAW,EAAE;AAC7B,SAAK,OAAO,EAAE;AAAA,EAChB;AAAA,EAEA,KAAK,SAAc,kBAAuB;AAExC,4BAAO,MAAM,gBAAgB;AAAA,EAC/B;AAAA,EAEA,KAAK,GAAQ;AACX,4BAAO,MAAM,CAAC;AAAA,EAChB;AAEF;AAAA,IAEA,0BAAQ,+CAA+C;AAAA,EACrD;AACF,CAAC;",
6
- "names": []
7
- }
@@ -1,245 +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_mime = __toESM(require("mime"));
26
- var import_node_fs = __toESM(require("node:fs"));
27
- var import_node_path = __toESM(require("node:path"));
28
- var import_qcobjects = require("qcobjects");
29
- const absolutePath = import_node_path.default.resolve(__dirname, "./");
30
- (0, import_qcobjects.Package)("com.qcobjects.backend.microservice.static", [
31
- class Microservice extends import_qcobjects.BackendMicroservice {
32
- static {
33
- __name(this, "Microservice");
34
- }
35
- stream;
36
- fileName;
37
- route;
38
- request;
39
- body;
40
- finishWithBody() {
41
- }
42
- done() {
43
- const microservice = this;
44
- const stream = microservice.stream;
45
- const fileName = !microservice.fileName.startsWith("/") ? `${process.cwd()}/${microservice.fileName}` : microservice.fileName;
46
- const sendFileHTTP2 = /* @__PURE__ */ __name(function(stream2, fileName2) {
47
- try {
48
- const fd = import_node_fs.default.openSync(fileName2, "r");
49
- const stat = import_node_fs.default.fstatSync(fd);
50
- let headers = {
51
- "content-length": stat.size,
52
- "last-modified": stat.mtime.toUTCString(),
53
- "content-type": import_mime.default.getType(fileName2),
54
- "cache-control": import_qcobjects.CONFIG.get("cacheControl", "max-age=31536000")
55
- };
56
- if (typeof microservice.route.responseHeaders !== "undefined") {
57
- headers = Object.assign(headers, microservice.route.responseHeaders);
58
- }
59
- stream2.respondWithFD(fd, headers);
60
- stream2.on("close", () => {
61
- import_qcobjects.logger.debug("closing file " + fileName2);
62
- import_node_fs.default.closeSync(fd);
63
- });
64
- stream2.end();
65
- } catch (e) {
66
- import_qcobjects.logger.warn("[ERROR] Something went wrong when trying to send the response as file " + fileName2);
67
- if (e.errno == -2) {
68
- const headers = {
69
- ":status": 404,
70
- "content-type": import_mime.default.getType(fileName2)
71
- };
72
- stream2.respond(headers);
73
- stream2.write("<h1>404 - FILE NOT FOUND</h1>");
74
- stream2.on("close", () => {
75
- import_qcobjects.logger.debug("closing file " + fileName2);
76
- });
77
- stream2.end();
78
- }
79
- }
80
- }, "sendFileHTTP2");
81
- const sendFileLegacyHTTP = /* @__PURE__ */ __name(function(stream2, fileName2) {
82
- let headers;
83
- try {
84
- import_qcobjects.logger.info("trying to read " + fileName2);
85
- const fd = import_node_fs.default.openSync(fileName2, "r");
86
- const stat = import_node_fs.default.fstatSync(fd);
87
- headers = {
88
- "Content-Length": stat.size,
89
- "Last-Modified": stat.mtime.toUTCString(),
90
- "Content-Type": import_mime.default.getType(fileName2),
91
- "Cache-Control": import_qcobjects.CONFIG.get("cacheControl", "max-age=31536000")
92
- };
93
- if (typeof microservice.route.responseHeaders !== "undefined") {
94
- headers = Object.assign(headers, microservice.route.responseHeaders);
95
- }
96
- import_qcobjects.logger.debug("closing file " + fileName2);
97
- import_node_fs.default.closeSync(fd);
98
- stream2.writeHead(200, headers);
99
- stream2.write(import_node_fs.default.readFileSync(fileName2).toString());
100
- stream2.on("close", () => {
101
- import_qcobjects.logger.info("closing static file", fileName2);
102
- });
103
- } catch (e) {
104
- if (e.errno == -2) {
105
- headers = {
106
- "status": 404,
107
- "Content-Type": "text/html"
108
- };
109
- stream2.writeHead(404, headers);
110
- stream2.write("<h1>404 - FILE NOT FOUND</h1>");
111
- stream2.on("close", () => {
112
- import_qcobjects.logger.info("closing static file with error: ", fileName2);
113
- });
114
- }
115
- import_qcobjects.logger.warn(e);
116
- stream2.end();
117
- }
118
- stream2.end();
119
- }, "sendFileLegacyHTTP");
120
- if (typeof stream.respondWithFD !== "undefined") {
121
- sendFileHTTP2(stream, fileName);
122
- } else {
123
- sendFileLegacyHTTP(stream, fileName);
124
- }
125
- }
126
- static(method, data) {
127
- const microservice = this;
128
- const redirect_to = microservice.route.redirect_to;
129
- return new Promise(function(resolve, reject) {
130
- const supported_methods = microservice.route.supported_methods;
131
- let _method_allowed_ = false;
132
- if (typeof supported_methods !== "undefined") {
133
- if (supported_methods == "*" || typeof method === "undefined" || [...supported_methods].map((m) => m.toLowerCase()).indexOf(method.toLowerCase()) !== -1) {
134
- _method_allowed_ = true;
135
- }
136
- } else {
137
- _method_allowed_ = true;
138
- }
139
- import_qcobjects.logger.debug("Starting static delivery microservice call for method: " + method);
140
- if (_method_allowed_) {
141
- import_qcobjects.logger.info("I'm going to deliver a static path...");
142
- if (redirect_to) {
143
- const request_path = microservice.request.path;
144
- const re = new RegExp(microservice.route.path.replace(/{(.*?)}/g, "(?<$1>.*)"), "g");
145
- microservice.fileName = request_path.replace(re, microservice.route.redirect_to);
146
- try {
147
- resolve();
148
- } catch (e) {
149
- import_qcobjects.logger.warn("\u{1F926} Something went wrong \u{1F926} when trying to deliver a static path: " + microservice.fileName);
150
- reject(e);
151
- }
152
- } else {
153
- import_qcobjects.logger.info("There is no redirect_to setting declared in route properties. \n Skipping static delivery...");
154
- reject(new Error("There is no redirect_to setting declared in route properties. \n Skipping static delivery..."));
155
- }
156
- } else {
157
- import_qcobjects.logger.debug("Method: " + method + " will be skipped");
158
- resolve();
159
- }
160
- });
161
- }
162
- head(formData) {
163
- const microservice = this;
164
- microservice.static("head", formData).then((response) => {
165
- microservice.body = response;
166
- microservice.done();
167
- }).catch((e) => {
168
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
169
- });
170
- }
171
- get(formData) {
172
- const microservice = this;
173
- microservice.static("get", formData).then((response) => {
174
- microservice.body = response;
175
- microservice.done();
176
- }).catch((error) => {
177
- console.error(error);
178
- });
179
- }
180
- post(formData) {
181
- const microservice = this;
182
- microservice.static("post", formData).then((response) => {
183
- microservice.body = response;
184
- microservice.done();
185
- }).catch((e) => {
186
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
187
- });
188
- }
189
- put(formData) {
190
- const microservice = this;
191
- microservice.static("put", formData).then((response) => {
192
- microservice.body = response;
193
- microservice.done();
194
- }).catch((e) => {
195
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
196
- });
197
- }
198
- delete(formData) {
199
- const microservice = this;
200
- microservice.static("delete", formData).then((response) => {
201
- microservice.body = response;
202
- microservice.done();
203
- }).catch((e) => {
204
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
205
- });
206
- }
207
- connect(formData) {
208
- const microservice = this;
209
- microservice.static("connect", formData).then((response) => {
210
- microservice.body = response;
211
- microservice.done();
212
- }).catch((e) => {
213
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
214
- });
215
- }
216
- options(formData) {
217
- const microservice = this;
218
- microservice.static("options", formData).then((response) => {
219
- microservice.body = response;
220
- microservice.done();
221
- }).catch((e) => {
222
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
223
- });
224
- }
225
- trace(formData) {
226
- const microservice = this;
227
- microservice.static("trace", formData).then((response) => {
228
- microservice.body = response;
229
- microservice.done();
230
- }).catch((e) => {
231
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
232
- });
233
- }
234
- patch(formData) {
235
- const microservice = this;
236
- microservice.static("patch", formData).then((response) => {
237
- microservice.body = response;
238
- microservice.done();
239
- }).catch((e) => {
240
- import_qcobjects.logger.warn(`An error ocurred: ${e}`);
241
- });
242
- }
243
- }
244
- ]);
245
- //# sourceMappingURL=backend-microservice-static.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../src/backend/backend-microservice-static.ts"],
4
- "sourcesContent": ["/**\n * QCObjects CLI 2.3.x\n * ________________\n *\n * Author: Jean Machuca <correojean@gmail.com>\n *\n * Cross Browser Javascript Framework for MVC Patterns\n * QuickCorp/QCObjects is licensed under the\n * GNU Lesser General Public License v3.0\n * [LICENSE] (https://github.com/QuickCorp/QCObjects/blob/master/LICENSE.txt)\n *\n * Permissions of this copyleft license are conditioned on making available\n * complete source code of licensed works and modifications under the same\n * license or the GNU GPLv3. Copyright and license notices must be preserved.\n * Contributors provide an express grant of patent rights. However, a larger\n * work using the licensed work through interfaces provided by the licensed\n * work may be distributed under different terms and without source code for\n * the larger work.\n *\n * Copyright (C) 2015 Jean Machuca,<correojean@gmail.com>\n *\n * Everyone is permitted to copy and distribute verbatim copies of this\n * license document, but changing it is not allowed.\n */\n/* eslint no-unused-vars: \"off\" */\n/* eslint no-redeclare: \"off\" */\n/* eslint no-empty: \"off\" */\n/* eslint strict: \"off\" */\n/* eslint no-mixed-operators: \"off\" */\n/* eslint no-undef: \"off\" */\n/* eslint no-useless-escape: \"off\" */\n\"use strict\";\nimport mime from \"mime\";\nimport fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Package, BackendMicroservice, CONFIG, logger } from \"qcobjects\";\n\n const absolutePath = path.resolve(__dirname, \"./\");\n\n\n Package(\"com.qcobjects.backend.microservice.static\", [\n class Microservice extends BackendMicroservice {\n stream: any;\n fileName: any;\n route: any;\n request: any;\n body!: void;\n\n finishWithBody() { }\n done() {\n // read and send file content in the stream\n\n const microservice = this;\n const stream = microservice.stream;\n const fileName = (!microservice.fileName.startsWith(\"/\")) ? (`${process.cwd()}/${microservice.fileName}`) : (microservice.fileName);\n\n const sendFileHTTP2 = function (stream: { respondWithFD: (arg0: any, arg1: { \"content-length\": any; \"last-modified\": any; \"content-type\": any; \"cache-control\": any; }) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; respond: (arg0: { \":status\": number; \"content-type\": any; }) => void; write: (arg0: string) => void; }, fileName: string) {\n // read and send file content in the stream\n\n try {\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n let headers = {\n \"content-length\": stat.size,\n \"last-modified\": stat.mtime.toUTCString(),\n \"content-type\": mime.getType(fileName),\n \"cache-control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n if (typeof microservice.route.responseHeaders !== \"undefined\") {\n headers = Object.assign(headers, microservice.route.responseHeaders);\n }\n\n stream.respondWithFD(fd, headers);\n stream.on(\"close\", () => {\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n });\n stream.end();\n\n } catch (e: any) {\n logger.warn(\"[ERROR] Something went wrong when trying to send the response as file \" + fileName);\n if (e.errno == -2) {\n const headers = {\n \":status\": 404,\n \"content-type\": mime.getType(fileName)\n };\n stream.respond(headers);\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n logger.debug(\"closing file \" + fileName);\n });\n stream.end();\n }\n }\n\n };\n\n const sendFileLegacyHTTP = function (stream: { writeHead: (arg0: number, arg1: { status: number; \"Content-Type\": string; }) => void; write: (arg0: string) => void; on: (arg0: string, arg1: { (): void; (): void; }) => void; end: () => void; }, fileName: string) {\n // read and send file content in the stream\n let headers;\n try {\n logger.info(\"trying to read \" + fileName);\n const fd = fs.openSync(fileName, \"r\");\n const stat = fs.fstatSync(fd);\n headers = {\n \"Content-Length\": stat.size,\n \"Last-Modified\": stat.mtime.toUTCString(),\n \"Content-Type\": mime.getType(fileName),\n \"Cache-Control\": CONFIG.get(\"cacheControl\", \"max-age=31536000\")\n };\n if (typeof microservice.route.responseHeaders !== \"undefined\") {\n headers = Object.assign(headers, microservice.route.responseHeaders);\n }\n\n logger.debug(\"closing file \" + fileName);\n fs.closeSync(fd);\n\n stream.writeHead(200, headers);\n\n stream.write(fs.readFileSync(fileName).toString());\n stream.on(\"close\", () => {\n logger.info(\"closing static file\", fileName);\n });\n\n } catch (e: any) {\n if (e.errno == -2) {\n headers = {\n \"status\": 404,\n \"Content-Type\": \"text/html\"\n };\n stream.writeHead(404, headers);\n stream.write(\"<h1>404 - FILE NOT FOUND</h1>\");\n stream.on(\"close\", () => {\n logger.info(\"closing static file with error: \", fileName);\n });\n }\n logger.warn(e);\n stream.end();\n }\n stream.end();\n\n };\n\n if (typeof stream.respondWithFD !== \"undefined\") {\n sendFileHTTP2(stream, fileName);\n } else {\n sendFileLegacyHTTP(stream, fileName);\n }\n\n }\n\n static(method: string, data: any) {\n const microservice = this;\n const redirect_to = microservice.route.redirect_to;\n return new Promise<void>(function (resolve, reject) {\n const supported_methods = microservice.route.supported_methods;\n let _method_allowed_ = false;\n if (typeof supported_methods !== \"undefined\") {\n if (supported_methods == \"*\" || (typeof method === \"undefined\") || [...supported_methods].map(m => m.toLowerCase()).indexOf(method.toLowerCase()) !== -1) {\n _method_allowed_ = true;\n }\n } else {\n _method_allowed_ = true;\n }\n\n logger.debug(\"Starting static delivery microservice call for method: \" + method);\n if (_method_allowed_) {\n logger.info(\"I'm going to deliver a static path...\");\n if (redirect_to) {\n const request_path = microservice.request.path;\n const re = (new RegExp(microservice.route.path.replace(/{(.*?)}/g, \"\\(\\?\\<$1\\>\\.\\*\\)\"), \"g\"));\n microservice.fileName = request_path.replace(re, microservice.route.redirect_to);\n try {\n resolve();\n } catch (e) {\n logger.warn(\"\\u{1F926} Something went wrong \\u{1F926} when trying to deliver a static path: \" + microservice.fileName);\n reject(e as Error);\n }\n } else {\n logger.info(\"There is no redirect_to setting declared in route properties. \\n Skipping static delivery...\");\n reject(new Error(\"There is no redirect_to setting declared in route properties. \\n Skipping static delivery...\"));\n }\n } else {\n logger.debug(\"Method: \" + method + \" will be skipped\");\n resolve();\n }\n\n });\n }\n\n head(formData: any) {\n const microservice = this;\n microservice.static(\"head\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n }\n\n get(formData: any) {\n const microservice = this;\n microservice.static(\"get\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n }).catch(error => {\n console.error(error);\n });\n }\n\n post(formData: any) {\n const microservice = this;\n microservice.static(\"post\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n put(formData: any) {\n const microservice = this;\n microservice.static(\"put\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n delete(formData: any) {\n const microservice = this;\n microservice.static(\"delete\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n connect(formData: any) {\n const microservice = this;\n microservice.static(\"connect\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n options(formData: any) {\n const microservice = this;\n microservice.static(\"options\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n trace(formData: any) {\n const microservice = this;\n microservice.static(\"trace\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n patch(formData: any) {\n const microservice = this;\n microservice.static(\"patch\", formData).then(response => {\n microservice.body = response;\n microservice.done();\n })\n .catch((e: any) => { logger.warn(`An error ocurred: ${e}`); });\n\n }\n\n }\n\n ]);\n"],
5
- "mappings": "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",
6
- "names": ["path", "stream", "fileName", "fs", "mime"]
7
- }