@warlock.js/core 2.6.1 → 2.7.0

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 (218) hide show
  1. package/cjs/application.js +1 -1
  2. package/cjs/application.js.map +1 -1
  3. package/cjs/builder/app-builder.d.ts +1 -1
  4. package/cjs/builder/app-builder.d.ts.map +1 -1
  5. package/cjs/builder/app-builder.js +33 -20
  6. package/cjs/builder/app-builder.js.map +1 -1
  7. package/cjs/builder/build-http-app.d.ts.map +1 -1
  8. package/cjs/builder/build-http-app.js +49 -15
  9. package/cjs/builder/build-http-app.js.map +1 -1
  10. package/cjs/builder/config-loader-builder.js +1 -1
  11. package/cjs/config/get-warlock-config.js +1 -1
  12. package/cjs/config/get-warlock-config.js.map +1 -1
  13. package/cjs/console/commander.js +1 -1
  14. package/cjs/console/commander.js.map +1 -1
  15. package/cjs/esbuild/execute-ts-file.d.ts +1 -1
  16. package/cjs/esbuild/execute-ts-file.d.ts.map +1 -1
  17. package/cjs/esbuild/execute-ts-file.js +35 -19
  18. package/cjs/esbuild/execute-ts-file.js.map +1 -1
  19. package/cjs/esbuild/index.d.ts +8 -0
  20. package/cjs/esbuild/index.d.ts.map +1 -1
  21. package/cjs/esbuild/index.js +68 -0
  22. package/cjs/esbuild/index.js.map +1 -0
  23. package/cjs/esbuild/plugins.d.ts +2 -12
  24. package/cjs/esbuild/plugins.d.ts.map +1 -1
  25. package/cjs/esbuild/plugins.js +71 -117
  26. package/cjs/esbuild/plugins.js.map +1 -1
  27. package/cjs/esbuild/transpile.d.ts.map +1 -1
  28. package/cjs/esbuild/transpile.js +8 -5
  29. package/cjs/esbuild/transpile.js.map +1 -1
  30. package/cjs/http/middleware/inject-request-context.d.ts +4 -3
  31. package/cjs/http/middleware/inject-request-context.d.ts.map +1 -1
  32. package/cjs/http/middleware/inject-request-context.js +3 -2
  33. package/cjs/http/middleware/inject-request-context.js.map +1 -1
  34. package/cjs/http/plugins/index.d.ts +3 -0
  35. package/cjs/http/plugins/index.d.ts.map +1 -0
  36. package/cjs/http/plugins.d.ts.map +1 -1
  37. package/cjs/http/plugins.js +7 -1
  38. package/cjs/http/plugins.js.map +1 -1
  39. package/cjs/http/request.d.ts +1 -1
  40. package/cjs/http/request.js +1 -1
  41. package/cjs/http/request.js.map +1 -1
  42. package/cjs/index.js +1 -1
  43. package/cjs/modules/uploads/controllers/get-uploaded-file.js +1 -1
  44. package/cjs/modules/uploads/controllers/get-uploaded-file.js.map +1 -1
  45. package/cjs/modules/uploads/utils/get-watermark-options.js +1 -1
  46. package/cjs/modules/uploads/utils/get-watermark-options.js.map +1 -1
  47. package/cjs/modules/uploads/utils/uploadable.d.ts.map +1 -1
  48. package/cjs/modules/uploads/utils/uploadable.js +2 -0
  49. package/cjs/modules/uploads/utils/uploadable.js.map +1 -1
  50. package/cjs/output/output.js +1 -1
  51. package/cjs/output/output.js.map +1 -1
  52. package/cjs/postman/index.js +1 -1
  53. package/cjs/postman/index.js.map +1 -1
  54. package/cjs/postman/postman-generator.js +8 -8
  55. package/cjs/postman/postman-generator.js.map +1 -1
  56. package/cjs/react/index.d.ts +8 -0
  57. package/cjs/react/index.d.ts.map +1 -1
  58. package/cjs/react/index.js +1 -1
  59. package/cjs/react/index.js.map +1 -1
  60. package/cjs/react/page-renderer.d.ts +18 -0
  61. package/cjs/react/page-renderer.d.ts.map +1 -0
  62. package/cjs/react/plugin.d.ts +15 -0
  63. package/cjs/react/plugin.d.ts.map +1 -0
  64. package/cjs/react/plugin.js +22 -0
  65. package/cjs/react/plugin.js.map +1 -0
  66. package/cjs/react/vite-config.d.ts +9 -0
  67. package/cjs/react/vite-config.d.ts.map +1 -0
  68. package/cjs/react/vite-config.js +70 -0
  69. package/cjs/react/vite-config.js.map +1 -0
  70. package/cjs/repositories/repository-list-manager.d.ts +1 -3
  71. package/cjs/repositories/repository-list-manager.d.ts.map +1 -1
  72. package/cjs/repositories/repository-listing.d.ts +8 -44
  73. package/cjs/repositories/repository-listing.d.ts.map +1 -1
  74. package/cjs/repositories/repository-listing.js +13 -635
  75. package/cjs/repositories/repository-listing.js.map +1 -1
  76. package/cjs/repositories/types.d.ts +2 -4
  77. package/cjs/repositories/types.d.ts.map +1 -1
  78. package/cjs/router/router.d.ts +8 -0
  79. package/cjs/router/router.d.ts.map +1 -1
  80. package/cjs/router/router.js +40 -8
  81. package/cjs/router/router.js.map +1 -1
  82. package/cjs/router/types.d.ts +6 -2
  83. package/cjs/router/types.d.ts.map +1 -1
  84. package/cjs/starters/build-http-production.d.ts.map +1 -1
  85. package/cjs/starters/build-http-production.js +3 -2
  86. package/cjs/starters/build-http-production.js.map +1 -1
  87. package/cjs/starters/start-cli-server.js +4 -4
  88. package/cjs/starters/start-cli-server.js.map +1 -1
  89. package/cjs/starters/start-http-server.d.ts.map +1 -1
  90. package/cjs/starters/start-http-server.js +18 -4
  91. package/cjs/starters/start-http-server.js.map +1 -1
  92. package/cjs/utils/cleanup-temp-files.d.ts +5 -0
  93. package/cjs/utils/cleanup-temp-files.d.ts.map +1 -0
  94. package/cjs/utils/cleanup-temp-files.js +21 -0
  95. package/cjs/utils/cleanup-temp-files.js.map +1 -0
  96. package/cjs/validator/v/database.d.ts +8 -0
  97. package/cjs/validator/v/database.d.ts.map +1 -0
  98. package/cjs/validator/v/database.js +129 -0
  99. package/cjs/validator/v/database.js.map +1 -0
  100. package/cjs/validator/v/rules.d.ts +2 -19
  101. package/cjs/validator/v/rules.d.ts.map +1 -1
  102. package/cjs/validator/v/rules.js +2 -56
  103. package/cjs/validator/v/rules.js.map +1 -1
  104. package/cjs/validator/v/schema.d.ts +44 -5
  105. package/cjs/validator/v/schema.d.ts.map +1 -1
  106. package/cjs/validator/v/schema.js +72 -6
  107. package/cjs/validator/v/schema.js.map +1 -1
  108. package/cjs/validator/v/types.d.ts +96 -3
  109. package/cjs/validator/v/types.d.ts.map +1 -1
  110. package/esm/application.js +1 -1
  111. package/esm/application.js.map +1 -1
  112. package/esm/builder/app-builder.d.ts +1 -1
  113. package/esm/builder/app-builder.d.ts.map +1 -1
  114. package/esm/builder/app-builder.js +32 -19
  115. package/esm/builder/app-builder.js.map +1 -1
  116. package/esm/builder/build-http-app.d.ts.map +1 -1
  117. package/esm/builder/build-http-app.js +49 -15
  118. package/esm/builder/build-http-app.js.map +1 -1
  119. package/esm/builder/config-loader-builder.js +1 -1
  120. package/esm/config/get-warlock-config.js +1 -1
  121. package/esm/console/commander.js +1 -1
  122. package/esm/console/commander.js.map +1 -1
  123. package/esm/esbuild/execute-ts-file.d.ts +1 -1
  124. package/esm/esbuild/execute-ts-file.d.ts.map +1 -1
  125. package/esm/esbuild/execute-ts-file.js +35 -19
  126. package/esm/esbuild/execute-ts-file.js.map +1 -1
  127. package/esm/esbuild/index.d.ts +8 -0
  128. package/esm/esbuild/index.d.ts.map +1 -1
  129. package/esm/esbuild/index.js +68 -0
  130. package/esm/esbuild/index.js.map +1 -0
  131. package/esm/esbuild/plugins.d.ts +2 -12
  132. package/esm/esbuild/plugins.d.ts.map +1 -1
  133. package/esm/esbuild/plugins.js +71 -117
  134. package/esm/esbuild/plugins.js.map +1 -1
  135. package/esm/esbuild/transpile.d.ts.map +1 -1
  136. package/esm/esbuild/transpile.js +7 -4
  137. package/esm/esbuild/transpile.js.map +1 -1
  138. package/esm/http/middleware/inject-request-context.d.ts +4 -3
  139. package/esm/http/middleware/inject-request-context.d.ts.map +1 -1
  140. package/esm/http/middleware/inject-request-context.js +3 -2
  141. package/esm/http/middleware/inject-request-context.js.map +1 -1
  142. package/esm/http/plugins/index.d.ts +3 -0
  143. package/esm/http/plugins/index.d.ts.map +1 -0
  144. package/esm/http/plugins.d.ts.map +1 -1
  145. package/esm/http/plugins.js +7 -1
  146. package/esm/http/plugins.js.map +1 -1
  147. package/esm/http/request.d.ts +1 -1
  148. package/esm/http/request.js +1 -1
  149. package/esm/http/request.js.map +1 -1
  150. package/esm/index.js +1 -1
  151. package/esm/modules/uploads/controllers/get-uploaded-file.js +2 -2
  152. package/esm/modules/uploads/controllers/get-uploaded-file.js.map +1 -1
  153. package/esm/modules/uploads/utils/get-watermark-options.js +1 -1
  154. package/esm/modules/uploads/utils/get-watermark-options.js.map +1 -1
  155. package/esm/modules/uploads/utils/uploadable.d.ts.map +1 -1
  156. package/esm/modules/uploads/utils/uploadable.js +2 -0
  157. package/esm/modules/uploads/utils/uploadable.js.map +1 -1
  158. package/esm/output/output.js +1 -1
  159. package/esm/output/output.js.map +1 -1
  160. package/esm/postman/index.js +1 -1
  161. package/esm/postman/index.js.map +1 -1
  162. package/esm/postman/postman-generator.js +8 -8
  163. package/esm/postman/postman-generator.js.map +1 -1
  164. package/esm/react/index.d.ts +8 -0
  165. package/esm/react/index.d.ts.map +1 -1
  166. package/esm/react/index.js +1 -1
  167. package/esm/react/index.js.map +1 -1
  168. package/esm/react/page-renderer.d.ts +18 -0
  169. package/esm/react/page-renderer.d.ts.map +1 -0
  170. package/esm/react/plugin.d.ts +15 -0
  171. package/esm/react/plugin.d.ts.map +1 -0
  172. package/esm/react/plugin.js +22 -0
  173. package/esm/react/plugin.js.map +1 -0
  174. package/esm/react/vite-config.d.ts +9 -0
  175. package/esm/react/vite-config.d.ts.map +1 -0
  176. package/esm/react/vite-config.js +70 -0
  177. package/esm/react/vite-config.js.map +1 -0
  178. package/esm/repositories/repository-list-manager.d.ts +1 -3
  179. package/esm/repositories/repository-list-manager.d.ts.map +1 -1
  180. package/esm/repositories/repository-listing.d.ts +8 -44
  181. package/esm/repositories/repository-listing.d.ts.map +1 -1
  182. package/esm/repositories/repository-listing.js +13 -635
  183. package/esm/repositories/repository-listing.js.map +1 -1
  184. package/esm/repositories/types.d.ts +2 -4
  185. package/esm/repositories/types.d.ts.map +1 -1
  186. package/esm/router/router.d.ts +8 -0
  187. package/esm/router/router.d.ts.map +1 -1
  188. package/esm/router/router.js +40 -8
  189. package/esm/router/router.js.map +1 -1
  190. package/esm/router/types.d.ts +6 -2
  191. package/esm/router/types.d.ts.map +1 -1
  192. package/esm/starters/build-http-production.d.ts.map +1 -1
  193. package/esm/starters/build-http-production.js +2 -1
  194. package/esm/starters/build-http-production.js.map +1 -1
  195. package/esm/starters/start-cli-server.js +3 -3
  196. package/esm/starters/start-cli-server.js.map +1 -1
  197. package/esm/starters/start-http-server.d.ts.map +1 -1
  198. package/esm/starters/start-http-server.js +16 -2
  199. package/esm/starters/start-http-server.js.map +1 -1
  200. package/esm/utils/cleanup-temp-files.d.ts +5 -0
  201. package/esm/utils/cleanup-temp-files.d.ts.map +1 -0
  202. package/esm/utils/cleanup-temp-files.js +21 -0
  203. package/esm/utils/cleanup-temp-files.js.map +1 -0
  204. package/esm/validator/v/database.d.ts +8 -0
  205. package/esm/validator/v/database.d.ts.map +1 -0
  206. package/esm/validator/v/database.js +129 -0
  207. package/esm/validator/v/database.js.map +1 -0
  208. package/esm/validator/v/rules.d.ts +2 -19
  209. package/esm/validator/v/rules.d.ts.map +1 -1
  210. package/esm/validator/v/rules.js +2 -56
  211. package/esm/validator/v/rules.js.map +1 -1
  212. package/esm/validator/v/schema.d.ts +44 -5
  213. package/esm/validator/v/schema.d.ts.map +1 -1
  214. package/esm/validator/v/schema.js +70 -4
  215. package/esm/validator/v/schema.js.map +1 -1
  216. package/esm/validator/v/types.d.ts +96 -3
  217. package/esm/validator/v/types.d.ts.map +1 -1
  218. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import {colors}from'@mongez/copper';import {fileExistsAsync}from'@mongez/fs';import path from'path';import {executeTsFile}from'../esbuild/execute-ts-file.js';import'child_process';import'fs';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import'@mongez/config';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';let configurations = null;
1
+ import {colors}from'@mongez/copper';import {fileExistsAsync}from'@mongez/fs';import path from'path';import'fs';import {executeTsFile}from'../esbuild/execute-ts-file.js';import'child_process';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import'@mongez/config';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';let configurations = null;
2
2
  async function getWarlockConfig() {
3
3
  if (configurations)
4
4
  return configurations;
@@ -1,4 +1,4 @@
1
- import {program,Command}from'commander';import {setupDatabase,setupCache,disconnectDatabase,disconnectCache}from'../bootstrap/setup.js';import'@mongez/fs';import'@mongez/reinforcements';import'crypto';import'fs/promises';import'path';import'@mongez/http';import'sharp';import'@mongez/config';import {createHttpApplication,stopHttpApplication}from'../http/createHttpApplication.js';import'@warlock.js/cascade';import'@warlock.js/cache';import'../http/middleware/inject-request-context.js';import'@fastify/multipart';import'@warlock.js/logger';import'../utils/date-output.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/copper';import'@mongez/events';import'@mongez/localization';import'../validator/locales.js';import'../modules/uploads/models/upload.js';import'dayjs';import'net';import'../http/response.js';import'fastify';program.name("Warlock JS").description("Warlock JS CLI Tool");
1
+ import {program,Command}from'commander';import {setupDatabase,setupCache,disconnectDatabase,disconnectCache}from'../bootstrap/setup.js';import'@mongez/fs';import'@mongez/reinforcements';import'crypto';import'fs/promises';import'path';import'@mongez/http';import'sharp';import'@mongez/config';import {createHttpApplication,stopHttpApplication}from'../http/createHttpApplication.js';import'@warlock.js/cascade';import'@warlock.js/cache';import'../http/middleware/inject-request-context.js';import'@fastify/multipart';import'react';import'react-dom/server';import'../react/vite-config.js';import'@warlock.js/logger';import'../utils/date-output.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/copper';import'@mongez/events';import'@mongez/localization';import'../validator/locales.js';import'../modules/uploads/models/upload.js';import'dayjs';import'net';import'../http/response.js';import'fastify';program.name("Warlock JS").description("Warlock JS CLI Tool");
2
2
  function registerCommands(commands) {
3
3
  commands.forEach(registerCommand);
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"commander.js","sources":["../../src/console/commander.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commander.js","sources":["../../src/console/commander.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function executeTsFile(filePath: string): Promise<any>;
1
+ export declare function executeTsFile(filePath: string, format?: "cjs" | "esm"): Promise<any>;
2
2
  //# sourceMappingURL=execute-ts-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-ts-file.d.ts","sourceRoot":"","sources":["../../src/esbuild/execute-ts-file.ts"],"names":[],"mappings":"AAKA,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,gBA4BnD"}
1
+ {"version":3,"file":"execute-ts-file.d.ts","sourceRoot":"","sources":["../../src/esbuild/execute-ts-file.ts"],"names":[],"mappings":"AAQA,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE,KAAK,GAAG,KAAa,gBA2C9B"}
@@ -1,27 +1,43 @@
1
- import {ensureDirectory,putFileAsync,unlinkAsync}from'@mongez/fs';import esbuild from'esbuild';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import {warlockPath}from'../utils/paths.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';/* eslint-disable @typescript-eslint/no-var-requires */
2
- async function executeTsFile(filePath) {
1
+ import {ensureDirectory,putFileAsync,unlinkAsync}from'@mongez/fs';import esbuild from'esbuild';import {pathToFileURL}from'url';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import {warlockPath}from'../utils/paths.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';/* eslint-disable @typescript-eslint/no-var-requires */
2
+ //
3
+ async function executeTsFile(filePath, format = "esm") {
3
4
  ensureDirectory(warlockPath());
4
- const tempFilePath = warlockPath(`warlock.${Date.now()}.tmp.js`);
5
- const result = await esbuild.build({
6
- platform: "node",
7
- absWorkingDir: process.cwd(),
8
- entryPoints: [filePath],
9
- bundle: true,
10
- minify: false,
11
- write: false,
12
- packages: "external",
13
- format: "cjs",
14
- target: ["node18"],
15
- sourcemap: "inline",
16
- });
5
+ const timestamp = Date.now();
6
+ const tempFilePath = warlockPath(`warlock.${timestamp}.tmp.js`);
17
7
  try {
8
+ const result = await esbuild.build({
9
+ platform: "node",
10
+ absWorkingDir: process.cwd(),
11
+ entryPoints: [filePath],
12
+ bundle: true,
13
+ minify: false,
14
+ write: false,
15
+ packages: "external",
16
+ format,
17
+ target: ["node18"],
18
+ sourcemap: "inline",
19
+ // Ensure proper path resolution for imports
20
+ resolveExtensions: [".ts", ".tsx", ".js", ".jsx", ".json"],
21
+ // Ensure proper node resolution
22
+ mainFields: ["module", "main"],
23
+ });
18
24
  await putFileAsync(tempFilePath, result.outputFiles[0].text);
19
- const output = require(tempFilePath);
20
- unlinkAsync(tempFilePath);
25
+ // Use URL-based imports for better cross-platform compatibility
26
+ const fileUrl = pathToFileURL(tempFilePath).href;
27
+ const output = await import(fileUrl);
21
28
  return output;
22
29
  }
23
30
  catch (error) {
24
- //
25
- console.error(error);
31
+ console.error("Error executing TypeScript file:", error);
32
+ throw error;
33
+ }
34
+ finally {
35
+ // Fire and forget cleanup - no need to await
36
+ try {
37
+ unlinkAsync(tempFilePath);
38
+ }
39
+ catch {
40
+ // Ignore cleanup errors
41
+ }
26
42
  }
27
43
  }export{executeTsFile};//# sourceMappingURL=execute-ts-file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execute-ts-file.js","sources":["../../src/esbuild/execute-ts-file.ts"],"sourcesContent":[null],"names":[],"mappings":"6UAAA;AAKO,eAAe,aAAa,CAAC,QAAgB,EAAA;AAClD,IAAA,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/B,MAAM,YAAY,GAAG,WAAW,CAAC,CAAA,QAAA,EAAW,IAAI,CAAC,GAAG,EAAE,CAAS,OAAA,CAAA,CAAC,CAAC;AAEjE,IAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;AACjC,QAAA,QAAQ,EAAE,MAAM;AAChB,QAAA,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;QAC5B,WAAW,EAAE,CAAC,QAAQ,CAAC;AACvB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,KAAK,EAAE,KAAK;AACZ,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,CAAC,QAAQ,CAAC;AAClB,QAAA,SAAS,EAAE,QAAQ;AACpB,KAAA,CAAC,CAAC;IAEH,IAAI;AACF,QAAA,MAAM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC7D,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;QAErC,WAAW,CAAC,YAAY,CAAC,CAAC;AAE1B,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;AAAC,IAAA,OAAO,KAAU,EAAE;;AAEnB,QAAA,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtB,KAAA;AACH"}
1
+ {"version":3,"file":"execute-ts-file.js","sources":["../../src/esbuild/execute-ts-file.ts"],"sourcesContent":[null],"names":[],"mappings":"6WAAA;AAMA;AAEO,eAAe,aAAa,CACjC,QAAgB,EAChB,SAAwB,KAAK,EAAA;AAE7B,IAAA,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;AAE/B,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,WAAW,CAAC,WAAW,SAAS,CAAA,OAAA,CAAS,CAAC,CAAC;IAEhE,IAAI;AACF,QAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC;AACjC,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,aAAa,EAAE,OAAO,CAAC,GAAG,EAAE;YAC5B,WAAW,EAAE,CAAC,QAAQ,CAAC;AACvB,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,QAAQ,EAAE,UAAU;YACpB,MAAM;YACN,MAAM,EAAE,CAAC,QAAQ,CAAC;AAClB,YAAA,SAAS,EAAE,QAAQ;;YAEnB,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;;AAE1D,YAAA,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC/B,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;;QAG7D,MAAM,OAAO,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;AACjD,QAAA,MAAM,MAAM,GAAG,MAAM,OAAO,OAAO,CAAC,CAAC;AAErC,QAAA,OAAO,MAAM,CAAC;AACf,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;AACzD,QAAA,MAAM,KAAK,CAAC;AACb,KAAA;AAAS,YAAA;;QAER,IAAI;YACF,WAAW,CAAC,YAAY,CAAC,CAAC;AAC3B,SAAA;QAAC,MAAM;;AAEP,SAAA;AACF,KAAA;AACH"}
@@ -1,3 +1,11 @@
1
+ import type { Plugin } from "esbuild";
1
2
  export * from "./execute-ts-file";
2
3
  export * from "./plugins";
4
+ export { startServerPlugin } from "./plugins";
5
+ export declare const buildReporterPlugin: Plugin;
6
+ export declare const injectImportPathPlugin: () => Plugin;
7
+ export declare const nativeNodeModulesPlugin: {
8
+ name: string;
9
+ setup(build: PluginBuild): void;
10
+ };
3
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/esbuild/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/esbuild/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,MAAM,EAAe,MAAM,SAAS,CAAC;AAI9E,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,eAAO,MAAM,mBAAmB,EAAE,MA4BjC,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAiBjC,CAAC;AAaH,eAAO,MAAM,uBAAuB;;;CAkCnC,CAAC"}
@@ -0,0 +1,68 @@
1
+ import fs from'fs';import path from'path';import'@mongez/fs';import'esbuild';import'url';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import'@mongez/config';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';import'child_process';const buildReporterPlugin = {
2
+ name: "build-reporter",
3
+ setup(build) {
4
+ build.onEnd(result => {
5
+ if (result.errors.length > 0) {
6
+ console.error("Build failed:", result.errors);
7
+ return;
8
+ }
9
+ if (!result.metafile)
10
+ return;
11
+ // Log which chunks were rebuilt
12
+ const outputs = result.metafile.outputs;
13
+ const rebuiltChunks = Object.keys(outputs).map(file => path.basename(file));
14
+ console.log("Rebuilt chunks:", rebuiltChunks.join(", "));
15
+ // Log total size
16
+ const totalBytes = Object.values(outputs).reduce((sum, output) => sum + (output.bytes || 0), 0);
17
+ console.log(`Total size: ${(totalBytes / 1024).toFixed(2)}KB`);
18
+ });
19
+ },
20
+ };
21
+ const injectImportPathPlugin = () => ({
22
+ name: "inject-import-path",
23
+ setup(build) {
24
+ build.onLoad({ filter: /\.tsx$/ }, async (args) => {
25
+ const source = await fs.promises.readFile(args.path, "utf8");
26
+ const relativePath = path
27
+ .relative(process.cwd(), args.path)
28
+ .replace(/\\/g, "/");
29
+ const modifiedSource = appendImportPath(source, relativePath);
30
+ return {
31
+ contents: modifiedSource,
32
+ loader: "tsx",
33
+ };
34
+ });
35
+ },
36
+ });
37
+ function appendImportPath(code, relativePath) {
38
+ // Regex to find the component name from "export default function ComponentName"
39
+ const componentNameRegex = /export default function (\w+)/;
40
+ const match = code.match(componentNameRegex);
41
+ if (!match)
42
+ return code;
43
+ const componentName = match[1];
44
+ return `${code}\n${componentName}.__importPath = '${relativePath}';`;
45
+ }
46
+ const nativeNodeModulesPlugin = {
47
+ name: "native-node-modules",
48
+ setup(build) {
49
+ build.onResolve({ filter: /\.node$/, namespace: "file" }, (args) => ({
50
+ path: require.resolve(args.path, { paths: [args.resolveDir] }),
51
+ namespace: "node-file",
52
+ }));
53
+ build.onLoad({ filter: /.*/, namespace: "node-file" }, (args) => ({
54
+ contents: `
55
+ import path from ${JSON.stringify(args.path)}
56
+ try { module.exports = require(path) }
57
+ catch {}
58
+ `,
59
+ }));
60
+ build.onResolve({ filter: /\.node$/, namespace: "node-file" }, (args) => ({
61
+ path: args.path,
62
+ namespace: "file",
63
+ }));
64
+ const opts = build.initialOptions;
65
+ opts.loader = opts.loader || {};
66
+ opts.loader[".node"] = "file";
67
+ },
68
+ };export{buildReporterPlugin,injectImportPathPlugin,nativeNodeModulesPlugin};//# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/esbuild/index.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,13 +1,3 @@
1
- export declare const nativeNodeModulesPlugin: {
2
- name: string;
3
- setup(build: PluginBuild): void;
4
- };
5
- export declare const startServerPlugin: {
6
- name: string;
7
- setup(build: PluginBuild): void;
8
- };
9
- export declare const injectImportPathPlugin: () => {
10
- name: string;
11
- setup(build: PluginBuild): void;
12
- };
1
+ import type { Plugin } from "esbuild";
2
+ export declare const startServerPlugin: Plugin;
13
3
  //# sourceMappingURL=plugins.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/esbuild/plugins.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,uBAAuB;;;CAqCnC,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;CA+E7B,CAAC;AAoBF,eAAO,MAAM,sBAAsB;;;CAmBlC,CAAC"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/esbuild/plugins.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,SAAS,CAAC;AAuBnD,eAAO,MAAM,iBAAiB,EAAE,MA0D/B,CAAC"}
@@ -1,127 +1,81 @@
1
- import {getJsonFile,putJsonFile,fileExistsAsync,moveFileAsync}from'@mongez/fs';import {spawn}from'child_process';import fs from'fs';import path from'path';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import {srcPath,rootPath,warlockPath,publicPath}from'../utils/paths.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';// Keep track of the active server process.
1
+ import {spawn}from'child_process';import path from'path';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import {warlockPath}from'../utils/paths.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';// Keep track of the active server process
2
2
  let serverProcess = null;
3
- const nativeNodeModulesPlugin = {
4
- name: "native-node-modules",
5
- setup(build) {
6
- // If a ".node" file is imported within a module in the "file" namespace, resolve
7
- // it to an absolute path and put it into the "node-file" virtual namespace.
8
- build.onResolve({ filter: /\.node$/, namespace: "file" }, (args) => ({
9
- path: require.resolve(args.path, { paths: [args.resolveDir] }),
10
- namespace: "node-file",
11
- }));
12
- // Files in the "node-file" virtual namespace call "require()" on the
13
- // path from esbuild of the ".node" file in the output directory.
14
- build.onLoad({ filter: /.*/, namespace: "node-file" }, (args) => ({
15
- contents: `
16
- import path from ${JSON.stringify(args.path)}
17
- try { module.exports = require(path) }
18
- catch {}
19
- `,
20
- }));
21
- // If a ".node" file is imported within a module in the "node-file" namespace, put
22
- // it in the "file" namespace where esbuild's default loading behavior will handle
23
- // it. It is already an absolute path since we resolved it to one above.
24
- build.onResolve({ filter: /\.node$/, namespace: "node-file" }, (args) => ({
25
- path: args.path,
26
- namespace: "file",
27
- }));
28
- // Tell esbuild's default loading behavior to use the "file" loader for
29
- // these ".node" files.
30
- const opts = build.initialOptions;
31
- opts.loader = opts.loader || {};
32
- opts.loader[".node"] = "file";
33
- },
34
- };
35
- // This plugin should start the server whenever a build is done
3
+ // Core files that require server restart
4
+ const CORE_PATTERNS = [
5
+ /src\/config\//,
6
+ /src\/bootstrap\//,
7
+ /src\/warlock\/environment/,
8
+ /\.env$/,
9
+ /warlock\.config\.ts$/,
10
+ ];
11
+ // Files that should be hot reloaded
12
+ const HOT_RELOAD_PATTERNS = [
13
+ /src\/app\/.*\/routes\.ts$/,
14
+ /src\/app\/.*\/controllers\//,
15
+ ];
16
+ // This plugin manages the build process and server
36
17
  const startServerPlugin = {
37
18
  name: "start-server",
38
19
  setup(build) {
39
- build.onResolve({
40
- // filter to match any .ts or .tsx files
41
- filter: /\.ts|\.tsx$/,
42
- }, () => {
43
- return {
44
- watchDirs: [srcPath()],
45
- path: rootPath(),
46
- watchFiles: [
47
- rootPath(".env"),
48
- rootPath(".env.local"),
49
- rootPath(".env.shared"),
50
- rootPath(".env.development"),
51
- rootPath(".env.production"),
52
- rootPath(".env.test"),
53
- rootPath("warlock.config.ts"),
54
- ],
55
- };
56
- });
57
- build.onEnd(async () => {
58
- // If there is an existing server process, stop it.
59
- if (serverProcess) {
60
- serverProcess.kill(); // You may need to adjust this based on your specific server process.
61
- serverProcess = null;
20
+ build.onEnd(result => {
21
+ if (result.errors.length > 0) {
22
+ console.error("Build failed:", result.errors);
23
+ return;
62
24
  }
63
- // If there is an existing server process, stop it and its entire process group.
64
- if (serverProcess !== null) {
65
- process.kill(-serverProcess.pid); // Negative PID kills the entire process group.
66
- serverProcess = null;
67
- }
68
- // replace the sourceRoot in the http.js.map to be just "/"
69
- const mapFileContent = getJsonFile(warlockPath("http.js.map"));
70
- mapFileContent.sourceRoot = "";
71
- putJsonFile(warlockPath("http.js.map"), mapFileContent);
72
- const cssFilePathBundle = warlockPath("http.css");
73
- fileExistsAsync(cssFilePathBundle).then(found => {
74
- if (found) {
75
- moveFileAsync(cssFilePathBundle, publicPath(`http.css`));
76
- moveFileAsync(warlockPath("http.css.map"), publicPath(`http.css.map`));
25
+ if (!result.metafile)
26
+ return;
27
+ // Get changed files from metafile
28
+ const changedFiles = Object.keys(result.metafile.inputs);
29
+ // Check if any core files changed
30
+ const requiresRestart = changedFiles.some(file => CORE_PATTERNS.some(pattern => pattern.test(file)));
31
+ if (requiresRestart) {
32
+ console.log("Core files changed, restarting server...");
33
+ if (serverProcess) {
34
+ serverProcess.kill();
35
+ serverProcess = null;
77
36
  }
78
- });
79
- // Start a new server process.
80
- serverProcess = spawn("node", ["--enable-source-maps", warlockPath("http.js")], {
81
- stdio: "inherit",
82
- cwd: process.cwd(),
83
- });
84
- // Optionally, you can add error handling for the server process.
85
- serverProcess.on("error", err => {
86
- console.error("Server process error:", err);
87
- });
88
- // exit main the process of serverProcess exists
89
- serverProcess.on("exit", state => {
90
- if (state !== null) {
91
- process.exit(state);
37
+ startServer();
38
+ }
39
+ else {
40
+ // Check for hot reloadable files
41
+ const hotReloadFiles = changedFiles.filter(file => HOT_RELOAD_PATTERNS.some(pattern => pattern.test(file)));
42
+ if (hotReloadFiles.length > 0) {
43
+ console.log("Hot reloading files:", hotReloadFiles);
44
+ for (const [outputFile, info] of Object.entries(result.metafile.outputs)) {
45
+ if (!info.inputs)
46
+ continue;
47
+ const inputFile = Object.keys(info.inputs)[0];
48
+ if (hotReloadFiles.includes(inputFile)) {
49
+ try {
50
+ const modulePath = path.resolve(outputFile);
51
+ if (require.cache[modulePath]) {
52
+ delete require.cache[modulePath];
53
+ }
54
+ import(`${modulePath}?update=${Date.now()}`).catch(err => {
55
+ console.error(`Error hot reloading ${outputFile}:`, err);
56
+ });
57
+ }
58
+ catch (error) {
59
+ console.error(`Failed to hot reload ${outputFile}:`, error);
60
+ }
61
+ }
62
+ }
92
63
  }
93
- });
64
+ }
94
65
  });
95
66
  },
96
67
  };
97
- function appendImportPath(code, relativePath) {
98
- // Regex to find the component name from the "export default function ComponentName"
99
- const componentNameRegex = /export default function (\w+)/;
100
- const match = code.match(componentNameRegex);
101
- // Check if a component name was found
102
- if (!match) {
103
- return code;
104
- }
105
- const componentName = match[1];
106
- // Append the __importPath property to the code
107
- const output = `${code}\n${componentName}.__importPath = '${relativePath}';`;
108
- return output;
109
- }
110
- const injectImportPathPlugin = () => {
111
- return {
112
- name: "inject-import-path",
113
- setup(build) {
114
- build.onLoad({ filter: /\.tsx$/ }, async (args) => {
115
- const source = await fs.promises.readFile(args.path, "utf8");
116
- const relativePath = path
117
- .relative(process.cwd(), args.path)
118
- .replace(/\\/g, "/");
119
- const modifiedSource = appendImportPath(source, relativePath);
120
- return {
121
- contents: modifiedSource,
122
- loader: "tsx",
123
- };
124
- });
125
- },
126
- };
127
- };export{injectImportPathPlugin,nativeNodeModulesPlugin,startServerPlugin};//# sourceMappingURL=plugins.js.map
68
+ function startServer() {
69
+ serverProcess = spawn("node", ["--enable-source-maps", warlockPath("http.js")], {
70
+ stdio: "inherit",
71
+ cwd: process.cwd(),
72
+ });
73
+ serverProcess.on("error", err => {
74
+ console.error("Server process error:", err);
75
+ });
76
+ serverProcess.on("exit", state => {
77
+ if (state !== null) {
78
+ process.exit(state);
79
+ }
80
+ });
81
+ }export{startServerPlugin};//# sourceMappingURL=plugins.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sources":["../../src/esbuild/plugins.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sources":["../../src/esbuild/plugins.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../../src/esbuild/transpile.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAiB7D"}
1
+ {"version":3,"file":"transpile.d.ts","sourceRoot":"","sources":["../../src/esbuild/transpile.ts"],"names":[],"mappings":"AAKA,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,mBAoB7D"}
@@ -1,18 +1,21 @@
1
- import esbuild from'esbuild';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import {warlockPath,srcPath}from'../utils/paths.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';import'@mongez/fs';import {nativeNodeModulesPlugin}from'./plugins.js';// import nodemon from "nodemon";
1
+ import esbuild from'esbuild';import'@warlock.js/logger';import'../utils/date-output.js';import'../http/middleware/inject-request-context.js';import {warlockPath,srcPath}from'../utils/paths.js';import'@mongez/slug';import'@mongez/supportive-is';import'@mongez/reinforcements';import {nativeNodeModulesPlugin}from'./index.js';// import nodemon from "nodemon";
2
2
  async function transpile(file, exportAs) {
3
3
  const outfile = warlockPath(exportAs);
4
4
  await esbuild.build({
5
5
  platform: "node",
6
6
  entryPoints: [file],
7
- bundle: true,
8
- minify: true,
7
+ bundle: false,
8
+ minify: false,
9
9
  packages: "external",
10
10
  outfile,
11
11
  sourcemap: "linked",
12
12
  sourceRoot: srcPath(),
13
- format: "cjs",
13
+ format: "esm",
14
14
  target: ["esnext"],
15
15
  plugins: [nativeNodeModulesPlugin],
16
+ resolveExtensions: [".ts", ".tsx", ".js", ".jsx", ".json"],
17
+ mainFields: ["module", "main"],
18
+ keepNames: true,
16
19
  });
17
20
  return outfile;
18
21
  }export{transpile};//# sourceMappingURL=transpile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transpile.js","sources":["../../src/esbuild/transpile.ts"],"sourcesContent":[null],"names":[],"mappings":"yVAAA;AAKO,eAAe,SAAS,CAAC,IAAY,EAAE,QAAgB,EAAA;AAC5D,IAAA,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,CAAC,KAAK,CAAC;AAClB,QAAA,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,CAAC,IAAI,CAAC;AACnB,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,MAAM,EAAE,IAAI;AACZ,QAAA,QAAQ,EAAE,UAAU;QACpB,OAAO;AACP,QAAA,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,OAAO,EAAE;AACrB,QAAA,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,uBAAuB,CAAC;AACnC,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACjB"}
1
+ {"version":3,"file":"transpile.js","sources":["../../src/esbuild/transpile.ts"],"sourcesContent":[null],"names":[],"mappings":"oUAAA;AAKO,eAAe,SAAS,CAAC,IAAY,EAAE,QAAgB,EAAA;AAC5D,IAAA,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,OAAO,CAAC,KAAK,CAAC;AAClB,QAAA,QAAQ,EAAE,MAAM;QAChB,WAAW,EAAE,CAAC,IAAI,CAAC;AACnB,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,MAAM,EAAE,KAAK;AACb,QAAA,QAAQ,EAAE,UAAU;QACpB,OAAO;AACP,QAAA,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,OAAO,EAAE;AACrB,QAAA,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,CAAC,QAAQ,CAAC;QAClB,OAAO,EAAE,CAAC,uBAAuB,CAAC;QAClC,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC;AAC1D,QAAA,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC9B,QAAA,SAAS,EAAE,IAAI;AAChB,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,OAAO,CAAC;AACjB"}
@@ -5,12 +5,13 @@
5
5
  import type { Model } from "@warlock.js/cascade";
6
6
  import { type Request } from "../request";
7
7
  import { type Response } from "../response";
8
+ import { type ReturnedResponse } from "./../types";
8
9
  export type Context<User extends Model = Model> = {
9
10
  request: Request<User>;
10
11
  response: Response;
11
12
  user: User;
12
13
  };
13
- export declare function createRequestStore(request: Request<any>, response: Response): Promise<unknown>;
14
+ export declare function createRequestStore(request: Request<any>, response: Response): Promise<ReturnedResponse>;
14
15
  /**
15
16
  * Get Request Context
16
17
  *
@@ -20,7 +21,7 @@ export declare function requestContext<UserType extends Model = Model>(): Contex
20
21
  /**
21
22
  * Get current request object
22
23
  */
23
- export declare function currentRequest(): Request<Model>;
24
+ export declare function currentRequest(): Request | undefined;
24
25
  /**
25
26
  * Get the request store
26
27
  */
@@ -30,5 +31,5 @@ export declare function t(keyword: string, placeholders?: any): any;
30
31
  * Get the value of the given key from the request
31
32
  * If not found, then execute the given callback and store its result in the request then return it
32
33
  */
33
- export declare function fromRequest<T>(key: string, callback: (request: Request) => Promise<T>): Promise<T>;
34
+ export declare function fromRequest<T>(key: string, callback: (request?: Request) => Promise<T>): Promise<T>;
34
35
  //# sourceMappingURL=inject-request-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inject-request-context.d.ts","sourceRoot":"","sources":["../../../src/http/middleware/inject-request-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,OAAO,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IAAI;IAChD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAMF,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,QAAQ,oBAyC3E;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,SAAS,KAAK,GAAG,KAAK,uBAG5D;AAED;;GAEG;AACH,wBAAgB,cAAc,mBAE7B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,KAAK,GAAG,KAAK,uBAG7D;AAED,wBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,OAIpD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,CAAC,CAUZ"}
1
+ {"version":3,"file":"inject-request-context.d.ts","sourceRoot":"","sources":["../../../src/http/middleware/inject-request-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,MAAM,MAAM,OAAO,CAAC,IAAI,SAAS,KAAK,GAAG,KAAK,IAAI;IAChD,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC;AAMF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EACrB,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,gBAAgB,CAAC,CA2C3B;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,QAAQ,SAAS,KAAK,GAAG,KAAK,uBAG5D;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,GAAG,SAAS,CAEpD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,KAAK,GAAG,KAAK,uBAG7D;AAED,wBAAgB,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,GAAG,OAIpD;AAED;;;GAGG;AACH,wBAAsB,WAAW,CAAC,CAAC,EACjC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAC1C,OAAO,CAAC,CAAC,CAAC,CAUZ"}
@@ -24,10 +24,11 @@ function createRequestStore(request, response) {
24
24
  request.trigger("executingAction", request.route);
25
25
  const handler = request.getHandler();
26
26
  request.log("Executing Handler", "info");
27
- await handler(request, response);
27
+ const output = await handler(request, response);
28
28
  request.log("Handler Executed Successfully", "success");
29
29
  // call executedAction event
30
30
  request.trigger("executedAction", request.route);
31
+ resolve(output);
31
32
  }
32
33
  catch (error) {
33
34
  reject(error);
@@ -71,7 +72,7 @@ function t(keyword, placeholders) {
71
72
  async function fromRequest(key, callback) {
72
73
  const request = currentRequest();
73
74
  if (!request)
74
- return await callback(request);
75
+ return await callback();
75
76
  if (request[key])
76
77
  return request[key];
77
78
  request[key] = await callback(request);
@@ -1 +1 @@
1
- {"version":3,"file":"inject-request-context.js","sources":["../../../src/http/middleware/inject-request-context.ts"],"sourcesContent":[null],"names":[],"mappings":"qFAAA;;;AAGG;AAEH;AAaA;AAEA,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAW,CAAC;AAE3C,SAAA,kBAAkB,CAAC,OAAqB,EAAE,QAAkB,EAAA;;IAE1E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAI;QACrC,iBAAiB,CAAC,GAAG,CACnB;YACE,OAAO;YACP,QAAQ;AACR,YAAA,IAAI,IAAI,GAAA;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC;aACrB;SACF,EACD,YAAW;;YAET,IAAI;AACF,gBAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;AAE7C,gBAAA,IAAI,MAAM,EAAE;AACV,oBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACxB,iBAAA;gBAED,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAElD,gBAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;AAErC,gBAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;AAEzC,gBAAA,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEjC,gBAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;;gBAGxD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAClD,aAAA;AAAC,YAAA,OAAO,KAAU,EAAE;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO,QAAQ,CAAC,UAAU,CAAC;oBACzB,KAAK,EAAE,KAAK,CAAC,OAAO;AACrB,iBAAA,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CACF,CAAC;AACJ,KAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;AAIG;SACa,cAAc,GAAA;;IAE5B,QAAQ,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAuB;AACnE,CAAC;AAED;;AAEG;SACa,cAAc,GAAA;AAC5B,IAAA,OAAO,eAAe,EAAE,CAAC,OAAO,CAAC;AACnC,CAAC;AAED;;AAEG;SACa,eAAe,GAAA;;IAE7B,QAAQ,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAuB;AACnE,CAAC;AAEe,SAAA,CAAC,CAAC,OAAe,EAAE,YAAkB,EAAA;AACnD,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;AAEtC,IAAA,OAAO,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED;;;AAGG;AACI,eAAe,WAAW,CAC/B,GAAW,EACX,QAA0C,EAAA;AAE1C,IAAA,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;AAEjC,IAAA,IAAI,CAAC,OAAO;AAAE,QAAA,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEvC,IAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB"}
1
+ {"version":3,"file":"inject-request-context.js","sources":["../../../src/http/middleware/inject-request-context.ts"],"sourcesContent":[null],"names":[],"mappings":"qFAAA;;;AAGG;AAEH;AAcA;AAEA,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAW,CAAC;AAE3C,SAAA,kBAAkB,CAChC,OAAqB,EACrB,QAAkB,EAAA;;IAGlB,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,MAAM,KAAI;QACvD,iBAAiB,CAAC,GAAG,CACnB;YACE,OAAO;YACP,QAAQ;AACR,YAAA,IAAI,IAAI,GAAA;gBACN,OAAO,OAAO,CAAC,IAAI,CAAC;aACrB;SACF,EACD,YAAW;;YAET,IAAI;AACF,gBAAA,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC;AAE7C,gBAAA,IAAI,MAAM,EAAE;AACV,oBAAA,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC;AACxB,iBAAA;gBAED,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;AAElD,gBAAA,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;AAErC,gBAAA,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;gBAEzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;AAEhD,gBAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;;gBAGxD,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;gBAEjD,OAAO,CAAC,MAA0B,CAAC,CAAC;AACrC,aAAA;AAAC,YAAA,OAAO,KAAU,EAAE;gBACnB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO,QAAQ,CAAC,UAAU,CAAC;oBACzB,KAAK,EAAE,KAAK,CAAC,OAAO;AACrB,iBAAA,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CACF,CAAC;AACJ,KAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;AAIG;SACa,cAAc,GAAA;;IAE5B,QAAQ,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAuB;AACnE,CAAC;AAED;;AAEG;SACa,cAAc,GAAA;AAC5B,IAAA,OAAO,eAAe,EAAE,CAAC,OAAO,CAAC;AACnC,CAAC;AAED;;AAEG;SACa,eAAe,GAAA;;IAE7B,QAAQ,iBAAiB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAuB;AACnE,CAAC;AAEe,SAAA,CAAC,CAAC,OAAe,EAAE,YAAkB,EAAA;AACnD,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;AAEtC,IAAA,OAAO,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC;AAED;;;AAGG;AACI,eAAe,WAAW,CAC/B,GAAW,EACX,QAA2C,EAAA;AAE3C,IAAA,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;AAEjC,IAAA,IAAI,CAAC,OAAO;QAAE,OAAO,MAAM,QAAQ,EAAE,CAAC;IAEtC,IAAI,OAAO,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;IAEtC,OAAO,CAAC,GAAG,CAAC,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEvC,IAAA,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;AACtB"}
@@ -0,0 +1,3 @@
1
+ import type { FastifyInstance } from "fastify";
2
+ export declare function registerHttpPlugins(app: FastifyInstance): Promise<void>;
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/plugins/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG/C,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,eAAe,iBAQ7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/http/plugins.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAOhD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,eAAe,iBA8BhE"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/http/plugins.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAOhD,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,eAAe,iBAuChE"}