@warlock.js/core 4.0.10 → 4.0.15

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 (699) hide show
  1. package/esm/cli/cli-commands.manager.js +344 -0
  2. package/esm/cli/cli-commands.manager.js.map +1 -0
  3. package/esm/cli/cli-commands.utils.js +182 -0
  4. package/esm/cli/cli-commands.utils.js.map +1 -0
  5. package/esm/cli/commands/build.command.js +8 -0
  6. package/esm/cli/commands/build.command.js.map +1 -0
  7. package/esm/cli/commands/dev-server.command.js +17 -0
  8. package/esm/cli/commands/dev-server.command.js.map +1 -0
  9. package/esm/cli/commands/start-production.command.js +65 -0
  10. package/esm/cli/commands/start-production.command.js.map +1 -0
  11. package/esm/cli/commands/typings-generator.command.js +40 -0
  12. package/esm/cli/commands/typings-generator.command.js.map +1 -0
  13. package/esm/cli/commands-loader.js +45 -0
  14. package/esm/cli/commands-loader.js.map +1 -0
  15. package/esm/cli/framework-cli-commands.js +6 -0
  16. package/esm/cli/framework-cli-commands.js.map +1 -0
  17. package/esm/cli/parse-cli-args.js +82 -0
  18. package/esm/cli/parse-cli-args.js.map +1 -0
  19. package/esm/cli/start.js +2 -0
  20. package/esm/cli/start.js.map +1 -0
  21. package/esm/cli/string-similarity.js +57 -0
  22. package/esm/cli/string-similarity.js.map +1 -0
  23. package/esm/config/config-loader.js +82 -0
  24. package/esm/config/config-loader.js.map +1 -0
  25. package/esm/config/config-manager.js +25 -0
  26. package/esm/config/config-manager.js.map +1 -0
  27. package/esm/config/load-config-files.js +19 -0
  28. package/esm/config/load-config-files.js.map +1 -0
  29. package/esm/dev2-server/create-worker.js +37 -0
  30. package/esm/dev2-server/create-worker.js.map +1 -0
  31. package/esm/dev2-server/dependency-graph.js +266 -0
  32. package/esm/dev2-server/dependency-graph.js.map +1 -0
  33. package/esm/dev2-server/dev-logger.js +63 -1
  34. package/esm/dev2-server/dev-logger.js.map +1 -1
  35. package/esm/dev2-server/development-server.js +138 -0
  36. package/esm/dev2-server/development-server.js.map +1 -0
  37. package/esm/dev2-server/events.js +4 -0
  38. package/esm/dev2-server/events.js.map +1 -0
  39. package/esm/dev2-server/file-event-handler.js +186 -0
  40. package/esm/dev2-server/file-event-handler.js.map +1 -0
  41. package/esm/dev2-server/file-manager.js +374 -0
  42. package/esm/dev2-server/file-manager.js.map +1 -0
  43. package/esm/dev2-server/file-operations.js +228 -0
  44. package/esm/dev2-server/file-operations.js.map +1 -0
  45. package/esm/dev2-server/files-orchestrator.js +326 -0
  46. package/esm/dev2-server/files-orchestrator.js.map +1 -0
  47. package/esm/dev2-server/files-watcher.js +95 -0
  48. package/esm/dev2-server/files-watcher.js.map +1 -0
  49. package/esm/dev2-server/flags.js +9 -0
  50. package/esm/dev2-server/flags.js.map +1 -0
  51. package/esm/dev2-server/health-checker/checkers/base-health-checker.js +71 -0
  52. package/esm/dev2-server/health-checker/checkers/base-health-checker.js.map +1 -0
  53. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js +217 -0
  54. package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js.map +1 -0
  55. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js +279 -0
  56. package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js.map +1 -0
  57. package/esm/dev2-server/health-checker/file-health-result.js +40 -0
  58. package/esm/dev2-server/health-checker/file-health-result.js.map +1 -0
  59. package/esm/dev2-server/health-checker/files-healthcare.manager.js +422 -0
  60. package/esm/dev2-server/health-checker/files-healthcare.manager.js.map +1 -0
  61. package/esm/dev2-server/import-transformer.js +248 -0
  62. package/esm/dev2-server/import-transformer.js.map +1 -0
  63. package/esm/dev2-server/layer-executor.js +309 -0
  64. package/esm/dev2-server/layer-executor.js.map +1 -0
  65. package/esm/dev2-server/manifest-manager.js +107 -0
  66. package/esm/dev2-server/manifest-manager.js.map +1 -0
  67. package/esm/dev2-server/module-loader.js +251 -0
  68. package/esm/dev2-server/module-loader.js.map +1 -0
  69. package/esm/dev2-server/package-json-manager.js +20 -0
  70. package/esm/dev2-server/package-json-manager.js.map +1 -0
  71. package/esm/dev2-server/parse-imports.js +328 -0
  72. package/esm/dev2-server/parse-imports.js.map +1 -0
  73. package/esm/dev2-server/runtime-import-helper.js +150 -0
  74. package/esm/dev2-server/runtime-import-helper.js.map +1 -0
  75. package/esm/dev2-server/special-files-collector.js +212 -0
  76. package/esm/dev2-server/special-files-collector.js.map +1 -0
  77. package/esm/dev2-server/transpile-file.js +12 -2
  78. package/esm/dev2-server/transpile-file.js.map +1 -1
  79. package/esm/dev2-server/type-generator.js +557 -0
  80. package/esm/dev2-server/type-generator.js.map +1 -0
  81. package/esm/dev2-server/utils.js +40 -0
  82. package/esm/dev2-server/utils.js.map +1 -0
  83. package/esm/manifest/manifest-manager.js +88 -0
  84. package/esm/manifest/manifest-manager.js.map +1 -0
  85. package/esm/production/build-app-production.js +8 -0
  86. package/esm/production/build-app-production.js.map +1 -0
  87. package/esm/production/esbuild-plugins.js +23 -0
  88. package/esm/production/esbuild-plugins.js.map +1 -0
  89. package/esm/production/production-builder.js +245 -0
  90. package/esm/production/production-builder.js.map +1 -0
  91. package/package.json +1 -1
  92. package/cjs/application.d.ts +0 -27
  93. package/cjs/application.d.ts.map +0 -1
  94. package/cjs/bootstrap/setup.d.ts +0 -7
  95. package/cjs/bootstrap/setup.d.ts.map +0 -1
  96. package/cjs/bootstrap/setup.js +0 -38
  97. package/cjs/bootstrap/setup.js.map +0 -1
  98. package/cjs/bootstrap.d.ts +0 -2
  99. package/cjs/bootstrap.d.ts.map +0 -1
  100. package/cjs/bootstrap.js +0 -5
  101. package/cjs/bootstrap.js.map +0 -1
  102. package/cjs/cache/database-cache-driver.d.ts +0 -56
  103. package/cjs/cache/database-cache-driver.d.ts.map +0 -1
  104. package/cjs/cache/database-cache-driver.js +0 -96
  105. package/cjs/cache/database-cache-driver.js.map +0 -1
  106. package/cjs/cache/index.d.ts +0 -3
  107. package/cjs/cache/index.d.ts.map +0 -1
  108. package/cjs/cache/index.js +0 -1
  109. package/cjs/cache/index.js.map +0 -1
  110. package/cjs/cli/cli-command.d.ts +0 -115
  111. package/cjs/cli/cli-command.d.ts.map +0 -1
  112. package/cjs/cli/cli-command.js +0 -224
  113. package/cjs/cli/cli-command.js.map +0 -1
  114. package/cjs/cli/cli-commands.manager.d.ts +0 -71
  115. package/cjs/cli/cli-commands.manager.d.ts.map +0 -1
  116. package/cjs/cli/cli-commands.utils.d.ts +0 -68
  117. package/cjs/cli/cli-commands.utils.d.ts.map +0 -1
  118. package/cjs/cli/commands/build.command.d.ts +0 -2
  119. package/cjs/cli/commands/build.command.d.ts.map +0 -1
  120. package/cjs/cli/commands/dev-server.command.d.ts +0 -2
  121. package/cjs/cli/commands/dev-server.command.d.ts.map +0 -1
  122. package/cjs/cli/commands/start-production.command.d.ts +0 -2
  123. package/cjs/cli/commands/start-production.command.d.ts.map +0 -1
  124. package/cjs/cli/commands/typings-generator.command.d.ts +0 -2
  125. package/cjs/cli/commands/typings-generator.command.d.ts.map +0 -1
  126. package/cjs/cli/commands-loader.d.ts +0 -18
  127. package/cjs/cli/commands-loader.d.ts.map +0 -1
  128. package/cjs/cli/framework-cli-commands.d.ts +0 -2
  129. package/cjs/cli/framework-cli-commands.d.ts.map +0 -1
  130. package/cjs/cli/index.d.ts +0 -3
  131. package/cjs/cli/index.d.ts.map +0 -1
  132. package/cjs/cli/index.js +0 -1
  133. package/cjs/cli/index.js.map +0 -1
  134. package/cjs/cli/parse-cli-args.d.ts +0 -18
  135. package/cjs/cli/parse-cli-args.d.ts.map +0 -1
  136. package/cjs/cli/start.d.ts +0 -2
  137. package/cjs/cli/start.d.ts.map +0 -1
  138. package/cjs/cli/string-similarity.d.ts +0 -44
  139. package/cjs/cli/string-similarity.d.ts.map +0 -1
  140. package/cjs/cli/types.d.ts +0 -201
  141. package/cjs/cli/types.d.ts.map +0 -1
  142. package/cjs/config/config-getter.d.ts +0 -35
  143. package/cjs/config/config-getter.d.ts.map +0 -1
  144. package/cjs/config/config-getter.js +0 -21
  145. package/cjs/config/config-getter.js.map +0 -1
  146. package/cjs/config/config-handlers.d.ts +0 -19
  147. package/cjs/config/config-handlers.d.ts.map +0 -1
  148. package/cjs/config/config-handlers.js +0 -47
  149. package/cjs/config/config-handlers.js.map +0 -1
  150. package/cjs/config/config-loader.d.ts +0 -37
  151. package/cjs/config/config-loader.d.ts.map +0 -1
  152. package/cjs/config/config-manager.d.ts +0 -22
  153. package/cjs/config/config-manager.d.ts.map +0 -1
  154. package/cjs/config/config-special-handlers.d.ts +0 -17
  155. package/cjs/config/config-special-handlers.d.ts.map +0 -1
  156. package/cjs/config/config-special-handlers.js +0 -23
  157. package/cjs/config/config-special-handlers.js.map +0 -1
  158. package/cjs/config/index.d.ts +0 -5
  159. package/cjs/config/index.d.ts.map +0 -1
  160. package/cjs/config/load-config-files.d.ts +0 -6
  161. package/cjs/config/load-config-files.d.ts.map +0 -1
  162. package/cjs/config/types.d.ts +0 -52
  163. package/cjs/config/types.d.ts.map +0 -1
  164. package/cjs/database/decorators/index.d.ts +0 -2
  165. package/cjs/database/decorators/index.d.ts.map +0 -1
  166. package/cjs/database/decorators/sluggable.d.ts +0 -2
  167. package/cjs/database/decorators/sluggable.d.ts.map +0 -1
  168. package/cjs/database/decorators/sluggable.js +0 -8
  169. package/cjs/database/decorators/sluggable.js.map +0 -1
  170. package/cjs/database/index.d.ts +0 -3
  171. package/cjs/database/index.d.ts.map +0 -1
  172. package/cjs/database/models/database-log/database-log.d.ts +0 -13
  173. package/cjs/database/models/database-log/database-log.d.ts.map +0 -1
  174. package/cjs/database/models/database-log/database-log.js +0 -16
  175. package/cjs/database/models/database-log/database-log.js.map +0 -1
  176. package/cjs/database/models/database-log/index.d.ts +0 -2
  177. package/cjs/database/models/database-log/index.d.ts.map +0 -1
  178. package/cjs/dev2-server/config-handlers.d.ts +0 -8
  179. package/cjs/dev2-server/config-handlers.d.ts.map +0 -1
  180. package/cjs/dev2-server/config-loader.d.ts +0 -61
  181. package/cjs/dev2-server/config-loader.d.ts.map +0 -1
  182. package/cjs/dev2-server/connectors/base-connector.d.ts +0 -49
  183. package/cjs/dev2-server/connectors/base-connector.d.ts.map +0 -1
  184. package/cjs/dev2-server/connectors/base-connector.js +0 -48
  185. package/cjs/dev2-server/connectors/base-connector.js.map +0 -1
  186. package/cjs/dev2-server/connectors/cache-connector.d.ts +0 -23
  187. package/cjs/dev2-server/connectors/cache-connector.d.ts.map +0 -1
  188. package/cjs/dev2-server/connectors/cache-connector.js +0 -35
  189. package/cjs/dev2-server/connectors/cache-connector.js.map +0 -1
  190. package/cjs/dev2-server/connectors/connectors-manager.d.ts +0 -38
  191. package/cjs/dev2-server/connectors/connectors-manager.d.ts.map +0 -1
  192. package/cjs/dev2-server/connectors/connectors-manager.js +0 -80
  193. package/cjs/dev2-server/connectors/connectors-manager.js.map +0 -1
  194. package/cjs/dev2-server/connectors/database-connector.d.ts +0 -23
  195. package/cjs/dev2-server/connectors/database-connector.d.ts.map +0 -1
  196. package/cjs/dev2-server/connectors/database-connector.js +0 -42
  197. package/cjs/dev2-server/connectors/database-connector.js.map +0 -1
  198. package/cjs/dev2-server/connectors/http-connector.d.ts +0 -29
  199. package/cjs/dev2-server/connectors/http-connector.d.ts.map +0 -1
  200. package/cjs/dev2-server/connectors/http-connector.js +0 -69
  201. package/cjs/dev2-server/connectors/http-connector.js.map +0 -1
  202. package/cjs/dev2-server/connectors/index.d.ts +0 -11
  203. package/cjs/dev2-server/connectors/index.d.ts.map +0 -1
  204. package/cjs/dev2-server/connectors/types.d.ts +0 -49
  205. package/cjs/dev2-server/connectors/types.d.ts.map +0 -1
  206. package/cjs/dev2-server/connectors/types.js +0 -9
  207. package/cjs/dev2-server/connectors/types.js.map +0 -1
  208. package/cjs/dev2-server/create-worker.d.ts +0 -34
  209. package/cjs/dev2-server/create-worker.d.ts.map +0 -1
  210. package/cjs/dev2-server/dependency-graph.d.ts +0 -93
  211. package/cjs/dev2-server/dependency-graph.d.ts.map +0 -1
  212. package/cjs/dev2-server/dev-logger.d.ts +0 -14
  213. package/cjs/dev2-server/dev-logger.d.ts.map +0 -1
  214. package/cjs/dev2-server/dev-logger.js +0 -68
  215. package/cjs/dev2-server/dev-logger.js.map +0 -1
  216. package/cjs/dev2-server/development-server.d.ts +0 -47
  217. package/cjs/dev2-server/development-server.d.ts.map +0 -1
  218. package/cjs/dev2-server/events.d.ts +0 -5
  219. package/cjs/dev2-server/events.d.ts.map +0 -1
  220. package/cjs/dev2-server/file-event-handler.d.ts +0 -59
  221. package/cjs/dev2-server/file-event-handler.d.ts.map +0 -1
  222. package/cjs/dev2-server/file-manager.d.ts +0 -136
  223. package/cjs/dev2-server/file-manager.d.ts.map +0 -1
  224. package/cjs/dev2-server/file-operations.d.ts +0 -65
  225. package/cjs/dev2-server/file-operations.d.ts.map +0 -1
  226. package/cjs/dev2-server/files-orchestrator.d.ts +0 -122
  227. package/cjs/dev2-server/files-orchestrator.d.ts.map +0 -1
  228. package/cjs/dev2-server/files-watcher.d.ts +0 -67
  229. package/cjs/dev2-server/files-watcher.d.ts.map +0 -1
  230. package/cjs/dev2-server/flags.d.ts +0 -10
  231. package/cjs/dev2-server/flags.d.ts.map +0 -1
  232. package/cjs/dev2-server/health-checker/checkers/base-health-checker.d.ts +0 -52
  233. package/cjs/dev2-server/health-checker/checkers/base-health-checker.d.ts.map +0 -1
  234. package/cjs/dev2-server/health-checker/checkers/eslint-health-checker.d.ts +0 -40
  235. package/cjs/dev2-server/health-checker/checkers/eslint-health-checker.d.ts.map +0 -1
  236. package/cjs/dev2-server/health-checker/checkers/typescript-health-checker.d.ts +0 -56
  237. package/cjs/dev2-server/health-checker/checkers/typescript-health-checker.d.ts.map +0 -1
  238. package/cjs/dev2-server/health-checker/file-health-checker.contract.d.ts +0 -59
  239. package/cjs/dev2-server/health-checker/file-health-checker.contract.d.ts.map +0 -1
  240. package/cjs/dev2-server/health-checker/file-health-result.d.ts +0 -68
  241. package/cjs/dev2-server/health-checker/file-health-result.d.ts.map +0 -1
  242. package/cjs/dev2-server/health-checker/files-healthcare.manager.d.ts +0 -115
  243. package/cjs/dev2-server/health-checker/files-healthcare.manager.d.ts.map +0 -1
  244. package/cjs/dev2-server/health-checker/workers/eslint-health.worker.d.ts +0 -2
  245. package/cjs/dev2-server/health-checker/workers/eslint-health.worker.d.ts.map +0 -1
  246. package/cjs/dev2-server/health-checker/workers/ts-health.worker.d.ts +0 -2
  247. package/cjs/dev2-server/health-checker/workers/ts-health.worker.d.ts.map +0 -1
  248. package/cjs/dev2-server/import-transformer.d.ts +0 -16
  249. package/cjs/dev2-server/import-transformer.d.ts.map +0 -1
  250. package/cjs/dev2-server/index.d.ts +0 -1
  251. package/cjs/dev2-server/index.d.ts.map +0 -1
  252. package/cjs/dev2-server/layer-executor.d.ts +0 -60
  253. package/cjs/dev2-server/layer-executor.d.ts.map +0 -1
  254. package/cjs/dev2-server/manifest-manager.d.ts +0 -80
  255. package/cjs/dev2-server/manifest-manager.d.ts.map +0 -1
  256. package/cjs/dev2-server/module-loader.d.ts +0 -104
  257. package/cjs/dev2-server/module-loader.d.ts.map +0 -1
  258. package/cjs/dev2-server/package-json-manager.d.ts +0 -16
  259. package/cjs/dev2-server/package-json-manager.d.ts.map +0 -1
  260. package/cjs/dev2-server/parse-imports.d.ts +0 -13
  261. package/cjs/dev2-server/parse-imports.d.ts.map +0 -1
  262. package/cjs/dev2-server/path.d.ts +0 -39
  263. package/cjs/dev2-server/path.d.ts.map +0 -1
  264. package/cjs/dev2-server/path.js +0 -56
  265. package/cjs/dev2-server/path.js.map +0 -1
  266. package/cjs/dev2-server/runtime-import-helper.d.ts +0 -9
  267. package/cjs/dev2-server/runtime-import-helper.d.ts.map +0 -1
  268. package/cjs/dev2-server/special-files-collector.d.ts +0 -114
  269. package/cjs/dev2-server/special-files-collector.d.ts.map +0 -1
  270. package/cjs/dev2-server/start-development-server.d.ts +0 -7
  271. package/cjs/dev2-server/start-development-server.d.ts.map +0 -1
  272. package/cjs/dev2-server/transpile-file.d.ts +0 -11
  273. package/cjs/dev2-server/transpile-file.d.ts.map +0 -1
  274. package/cjs/dev2-server/transpile-file.js +0 -11
  275. package/cjs/dev2-server/transpile-file.js.map +0 -1
  276. package/cjs/dev2-server/tsconfig-manager.d.ts +0 -45
  277. package/cjs/dev2-server/tsconfig-manager.d.ts.map +0 -1
  278. package/cjs/dev2-server/tsconfig-manager.js +0 -102
  279. package/cjs/dev2-server/tsconfig-manager.js.map +0 -1
  280. package/cjs/dev2-server/type-generator.d.ts +0 -111
  281. package/cjs/dev2-server/type-generator.d.ts.map +0 -1
  282. package/cjs/dev2-server/types.d.ts +0 -16
  283. package/cjs/dev2-server/types.d.ts.map +0 -1
  284. package/cjs/dev2-server/utils.d.ts +0 -15
  285. package/cjs/dev2-server/utils.d.ts.map +0 -1
  286. package/cjs/http/config.d.ts +0 -10
  287. package/cjs/http/config.d.ts.map +0 -1
  288. package/cjs/http/config.js +0 -22
  289. package/cjs/http/config.js.map +0 -1
  290. package/cjs/http/createHttpApplication.d.ts +0 -3
  291. package/cjs/http/createHttpApplication.d.ts.map +0 -1
  292. package/cjs/http/createHttpApplication.js +0 -28
  293. package/cjs/http/createHttpApplication.js.map +0 -1
  294. package/cjs/http/database/RequestLog.d.ts +0 -13
  295. package/cjs/http/database/RequestLog.d.ts.map +0 -1
  296. package/cjs/http/database/RequestLog.js +0 -25
  297. package/cjs/http/database/RequestLog.js.map +0 -1
  298. package/cjs/http/errors/index.d.ts +0 -2
  299. package/cjs/http/errors/index.d.ts.map +0 -1
  300. package/cjs/http/errors/resource-not-found.error.d.ts +0 -17
  301. package/cjs/http/errors/resource-not-found.error.d.ts.map +0 -1
  302. package/cjs/http/errors/resource-not-found.error.js +0 -32
  303. package/cjs/http/errors/resource-not-found.error.js.map +0 -1
  304. package/cjs/http/events.d.ts +0 -4
  305. package/cjs/http/events.d.ts.map +0 -1
  306. package/cjs/http/events.js +0 -26
  307. package/cjs/http/events.js.map +0 -1
  308. package/cjs/http/index.d.ts +0 -16
  309. package/cjs/http/index.d.ts.map +0 -1
  310. package/cjs/http/middleware/cache-response-middleware.d.ts +0 -34
  311. package/cjs/http/middleware/cache-response-middleware.d.ts.map +0 -1
  312. package/cjs/http/middleware/cache-response-middleware.js +0 -45
  313. package/cjs/http/middleware/cache-response-middleware.js.map +0 -1
  314. package/cjs/http/middleware/index.d.ts +0 -3
  315. package/cjs/http/middleware/index.d.ts.map +0 -1
  316. package/cjs/http/middleware/inject-request-context.d.ts +0 -35
  317. package/cjs/http/middleware/inject-request-context.d.ts.map +0 -1
  318. package/cjs/http/middleware/inject-request-context.js +0 -104
  319. package/cjs/http/middleware/inject-request-context.js.map +0 -1
  320. package/cjs/http/plugins/index.d.ts +0 -3
  321. package/cjs/http/plugins/index.d.ts.map +0 -1
  322. package/cjs/http/plugins.d.ts +0 -3
  323. package/cjs/http/plugins.d.ts.map +0 -1
  324. package/cjs/http/plugins.js +0 -39
  325. package/cjs/http/plugins.js.map +0 -1
  326. package/cjs/http/request-controller.d.ts +0 -11
  327. package/cjs/http/request-controller.d.ts.map +0 -1
  328. package/cjs/http/request-controller.js +0 -9
  329. package/cjs/http/request-controller.js.map +0 -1
  330. package/cjs/http/request.d.ts +0 -376
  331. package/cjs/http/request.d.ts.map +0 -1
  332. package/cjs/http/request.js +0 -729
  333. package/cjs/http/request.js.map +0 -1
  334. package/cjs/http/response.d.ts +0 -271
  335. package/cjs/http/response.d.ts.map +0 -1
  336. package/cjs/http/response.js +0 -574
  337. package/cjs/http/response.js.map +0 -1
  338. package/cjs/http/server.d.ts +0 -8
  339. package/cjs/http/server.d.ts.map +0 -1
  340. package/cjs/http/server.js +0 -15
  341. package/cjs/http/server.js.map +0 -1
  342. package/cjs/http/types.d.ts +0 -174
  343. package/cjs/http/types.d.ts.map +0 -1
  344. package/cjs/http/uploaded-file.d.ts +0 -445
  345. package/cjs/http/uploaded-file.d.ts.map +0 -1
  346. package/cjs/http/uploaded-file.js +0 -694
  347. package/cjs/http/uploaded-file.js.map +0 -1
  348. package/cjs/http/uploads-config.d.ts +0 -26
  349. package/cjs/http/uploads-config.d.ts.map +0 -1
  350. package/cjs/http/uploads-config.js +0 -35
  351. package/cjs/http/uploads-config.js.map +0 -1
  352. package/cjs/http/uploads-types.d.ts +0 -236
  353. package/cjs/http/uploads-types.d.ts.map +0 -1
  354. package/cjs/image/image.d.ts +0 -382
  355. package/cjs/image/image.d.ts.map +0 -1
  356. package/cjs/image/image.js +0 -552
  357. package/cjs/image/image.js.map +0 -1
  358. package/cjs/image/index.d.ts +0 -2
  359. package/cjs/image/index.d.ts.map +0 -1
  360. package/cjs/index.d.ts +0 -27
  361. package/cjs/index.d.ts.map +0 -1
  362. package/cjs/index.js +0 -1
  363. package/cjs/index.js.map +0 -1
  364. package/cjs/logger/index.d.ts +0 -3
  365. package/cjs/logger/index.d.ts.map +0 -1
  366. package/cjs/logger/logger.d.ts +0 -3
  367. package/cjs/logger/logger.d.ts.map +0 -1
  368. package/cjs/logger/logger.js +0 -16
  369. package/cjs/logger/logger.js.map +0 -1
  370. package/cjs/logger/types.d.ts +0 -39
  371. package/cjs/logger/types.d.ts.map +0 -1
  372. package/cjs/mail/config.d.ts +0 -83
  373. package/cjs/mail/config.d.ts.map +0 -1
  374. package/cjs/mail/config.js +0 -152
  375. package/cjs/mail/config.js.map +0 -1
  376. package/cjs/mail/events.d.ts +0 -96
  377. package/cjs/mail/events.d.ts.map +0 -1
  378. package/cjs/mail/events.js +0 -123
  379. package/cjs/mail/events.js.map +0 -1
  380. package/cjs/mail/index.d.ts +0 -10
  381. package/cjs/mail/index.d.ts.map +0 -1
  382. package/cjs/mail/mail.d.ts +0 -175
  383. package/cjs/mail/mail.d.ts.map +0 -1
  384. package/cjs/mail/mail.js +0 -286
  385. package/cjs/mail/mail.js.map +0 -1
  386. package/cjs/mail/mailer-pool.d.ts +0 -26
  387. package/cjs/mail/mailer-pool.d.ts.map +0 -1
  388. package/cjs/mail/mailer-pool.js +0 -95
  389. package/cjs/mail/mailer-pool.js.map +0 -1
  390. package/cjs/mail/react-mail.d.ts +0 -6
  391. package/cjs/mail/react-mail.d.ts.map +0 -1
  392. package/cjs/mail/react-mail.js +0 -25
  393. package/cjs/mail/react-mail.js.map +0 -1
  394. package/cjs/mail/send-mail.d.ts +0 -33
  395. package/cjs/mail/send-mail.d.ts.map +0 -1
  396. package/cjs/mail/send-mail.js +0 -309
  397. package/cjs/mail/send-mail.js.map +0 -1
  398. package/cjs/mail/test-mailbox.d.ts +0 -110
  399. package/cjs/mail/test-mailbox.d.ts.map +0 -1
  400. package/cjs/mail/test-mailbox.js +0 -143
  401. package/cjs/mail/test-mailbox.js.map +0 -1
  402. package/cjs/mail/types.d.ts +0 -245
  403. package/cjs/mail/types.d.ts.map +0 -1
  404. package/cjs/mail/types.js +0 -13
  405. package/cjs/mail/types.js.map +0 -1
  406. package/cjs/manifest/manifest-manager.d.ts +0 -74
  407. package/cjs/manifest/manifest-manager.d.ts.map +0 -1
  408. package/cjs/output/index.d.ts +0 -3
  409. package/cjs/output/index.d.ts.map +0 -1
  410. package/cjs/output/output.d.ts +0 -193
  411. package/cjs/output/output.d.ts.map +0 -1
  412. package/cjs/output/output.js +0 -599
  413. package/cjs/output/output.js.map +0 -1
  414. package/cjs/output/types.d.ts +0 -23
  415. package/cjs/output/types.d.ts.map +0 -1
  416. package/cjs/production/build-app-production.d.ts +0 -6
  417. package/cjs/production/build-app-production.d.ts.map +0 -1
  418. package/cjs/production/esbuild-plugins.d.ts +0 -5
  419. package/cjs/production/esbuild-plugins.d.ts.map +0 -1
  420. package/cjs/production/production-builder.d.ts +0 -76
  421. package/cjs/production/production-builder.d.ts.map +0 -1
  422. package/cjs/react/index.d.ts +0 -3
  423. package/cjs/react/index.d.ts.map +0 -1
  424. package/cjs/react/index.js +0 -7
  425. package/cjs/react/index.js.map +0 -1
  426. package/cjs/repositories/base-repository-manager.d.ts +0 -47
  427. package/cjs/repositories/base-repository-manager.d.ts.map +0 -1
  428. package/cjs/repositories/base-repository-manager.js +0 -63
  429. package/cjs/repositories/base-repository-manager.js.map +0 -1
  430. package/cjs/repositories/index.d.ts +0 -8
  431. package/cjs/repositories/index.d.ts.map +0 -1
  432. package/cjs/repositories/repository-destroyer-manager.d.ts +0 -21
  433. package/cjs/repositories/repository-destroyer-manager.d.ts.map +0 -1
  434. package/cjs/repositories/repository-destroyer-manager.js +0 -38
  435. package/cjs/repositories/repository-destroyer-manager.js.map +0 -1
  436. package/cjs/repositories/repository-filler-manager.d.ts +0 -60
  437. package/cjs/repositories/repository-filler-manager.d.ts.map +0 -1
  438. package/cjs/repositories/repository-filler-manager.js +0 -102
  439. package/cjs/repositories/repository-filler-manager.js.map +0 -1
  440. package/cjs/repositories/repository-filler.d.ts +0 -26
  441. package/cjs/repositories/repository-filler.d.ts.map +0 -1
  442. package/cjs/repositories/repository-filler.js +0 -63
  443. package/cjs/repositories/repository-filler.js.map +0 -1
  444. package/cjs/repositories/repository-list-manager.d.ts +0 -385
  445. package/cjs/repositories/repository-list-manager.d.ts.map +0 -1
  446. package/cjs/repositories/repository-list-manager.js +0 -812
  447. package/cjs/repositories/repository-list-manager.js.map +0 -1
  448. package/cjs/repositories/repository-listing.d.ts +0 -82
  449. package/cjs/repositories/repository-listing.d.ts.map +0 -1
  450. package/cjs/repositories/repository-listing.js +0 -177
  451. package/cjs/repositories/repository-listing.js.map +0 -1
  452. package/cjs/repositories/repository-manager.d.ts +0 -5
  453. package/cjs/repositories/repository-manager.d.ts.map +0 -1
  454. package/cjs/repositories/repository-manager.js +0 -2
  455. package/cjs/repositories/repository-manager.js.map +0 -1
  456. package/cjs/repositories/types.d.ts +0 -114
  457. package/cjs/repositories/types.d.ts.map +0 -1
  458. package/cjs/repositories/utils.d.ts +0 -3
  459. package/cjs/repositories/utils.d.ts.map +0 -1
  460. package/cjs/repositories/utils.js +0 -7
  461. package/cjs/repositories/utils.js.map +0 -1
  462. package/cjs/restful/index.d.ts +0 -2
  463. package/cjs/restful/index.d.ts.map +0 -1
  464. package/cjs/restful/restful.d.ts +0 -110
  465. package/cjs/restful/restful.d.ts.map +0 -1
  466. package/cjs/restful/restful.js +0 -317
  467. package/cjs/restful/restful.js.map +0 -1
  468. package/cjs/router/index.d.ts +0 -4
  469. package/cjs/router/index.d.ts.map +0 -1
  470. package/cjs/router/route-registry.d.ts +0 -30
  471. package/cjs/router/route-registry.d.ts.map +0 -1
  472. package/cjs/router/route-registry.js +0 -67
  473. package/cjs/router/route-registry.js.map +0 -1
  474. package/cjs/router/route.d.ts +0 -34
  475. package/cjs/router/route.d.ts.map +0 -1
  476. package/cjs/router/router.d.ts +0 -169
  477. package/cjs/router/router.d.ts.map +0 -1
  478. package/cjs/router/router.js +0 -564
  479. package/cjs/router/router.js.map +0 -1
  480. package/cjs/router/types.d.ts +0 -258
  481. package/cjs/router/types.d.ts.map +0 -1
  482. package/cjs/router/utils.d.ts +0 -5
  483. package/cjs/router/utils.d.ts.map +0 -1
  484. package/cjs/router/utils.js +0 -6
  485. package/cjs/router/utils.js.map +0 -1
  486. package/cjs/storage/config.d.ts +0 -8
  487. package/cjs/storage/config.d.ts.map +0 -1
  488. package/cjs/storage/config.js +0 -6
  489. package/cjs/storage/config.js.map +0 -1
  490. package/cjs/storage/drivers/cloud-driver.d.ts +0 -127
  491. package/cjs/storage/drivers/cloud-driver.d.ts.map +0 -1
  492. package/cjs/storage/drivers/cloud-driver.js +0 -406
  493. package/cjs/storage/drivers/cloud-driver.js.map +0 -1
  494. package/cjs/storage/drivers/do-spaces-driver.d.ts +0 -47
  495. package/cjs/storage/drivers/do-spaces-driver.d.ts.map +0 -1
  496. package/cjs/storage/drivers/do-spaces-driver.js +0 -52
  497. package/cjs/storage/drivers/do-spaces-driver.js.map +0 -1
  498. package/cjs/storage/drivers/local-driver.d.ts +0 -136
  499. package/cjs/storage/drivers/local-driver.d.ts.map +0 -1
  500. package/cjs/storage/drivers/local-driver.js +0 -409
  501. package/cjs/storage/drivers/local-driver.js.map +0 -1
  502. package/cjs/storage/drivers/r2-driver.d.ts +0 -50
  503. package/cjs/storage/drivers/r2-driver.d.ts.map +0 -1
  504. package/cjs/storage/drivers/r2-driver.js +0 -59
  505. package/cjs/storage/drivers/r2-driver.js.map +0 -1
  506. package/cjs/storage/drivers/s3-driver.d.ts +0 -32
  507. package/cjs/storage/drivers/s3-driver.d.ts.map +0 -1
  508. package/cjs/storage/drivers/s3-driver.js +0 -34
  509. package/cjs/storage/drivers/s3-driver.js.map +0 -1
  510. package/cjs/storage/index.d.ts +0 -12
  511. package/cjs/storage/index.d.ts.map +0 -1
  512. package/cjs/storage/scoped-storage.d.ts +0 -402
  513. package/cjs/storage/scoped-storage.d.ts.map +0 -1
  514. package/cjs/storage/scoped-storage.js +0 -488
  515. package/cjs/storage/scoped-storage.js.map +0 -1
  516. package/cjs/storage/storage-file.d.ts +0 -216
  517. package/cjs/storage/storage-file.d.ts.map +0 -1
  518. package/cjs/storage/storage-file.js +0 -358
  519. package/cjs/storage/storage-file.js.map +0 -1
  520. package/cjs/storage/storage.d.ts +0 -582
  521. package/cjs/storage/storage.d.ts.map +0 -1
  522. package/cjs/storage/storage.js +0 -941
  523. package/cjs/storage/storage.js.map +0 -1
  524. package/cjs/storage/types.d.ts +0 -728
  525. package/cjs/storage/types.d.ts.map +0 -1
  526. package/cjs/storage/utils/mime.d.ts +0 -33
  527. package/cjs/storage/utils/mime.d.ts.map +0 -1
  528. package/cjs/storage/utils/mime.js +0 -45
  529. package/cjs/storage/utils/mime.js.map +0 -1
  530. package/cjs/store/index.d.ts +0 -25
  531. package/cjs/store/index.d.ts.map +0 -1
  532. package/cjs/store/index.js +0 -52
  533. package/cjs/store/index.js.map +0 -1
  534. package/cjs/tests/boot-testing.d.ts +0 -7
  535. package/cjs/tests/boot-testing.d.ts.map +0 -1
  536. package/cjs/tests/boot-testing.js +0 -23
  537. package/cjs/tests/boot-testing.js.map +0 -1
  538. package/cjs/tests/create-http-test-application.d.ts +0 -25
  539. package/cjs/tests/create-http-test-application.d.ts.map +0 -1
  540. package/cjs/tests/create-http-test-application.js +0 -76
  541. package/cjs/tests/create-http-test-application.js.map +0 -1
  542. package/cjs/tests/http-response-output-test.d.ts +0 -42
  543. package/cjs/tests/http-response-output-test.d.ts.map +0 -1
  544. package/cjs/tests/http-response-output-test.js +0 -53
  545. package/cjs/tests/http-response-output-test.js.map +0 -1
  546. package/cjs/tests/http-test-response.d.ts +0 -75
  547. package/cjs/tests/http-test-response.d.ts.map +0 -1
  548. package/cjs/tests/index.d.ts +0 -4
  549. package/cjs/tests/index.d.ts.map +0 -1
  550. package/cjs/tests/init-testing.d.ts +0 -7
  551. package/cjs/tests/init-testing.d.ts.map +0 -1
  552. package/cjs/tests/types.d.ts +0 -10
  553. package/cjs/tests/types.d.ts.map +0 -1
  554. package/cjs/utils/app-log.d.ts +0 -8
  555. package/cjs/utils/app-log.d.ts.map +0 -1
  556. package/cjs/utils/app-log.js +0 -7
  557. package/cjs/utils/app-log.js.map +0 -1
  558. package/cjs/utils/cleanup-temp-files.d.ts +0 -5
  559. package/cjs/utils/cleanup-temp-files.d.ts.map +0 -1
  560. package/cjs/utils/database-log.d.ts +0 -25
  561. package/cjs/utils/database-log.d.ts.map +0 -1
  562. package/cjs/utils/database-log.js +0 -44
  563. package/cjs/utils/database-log.js.map +0 -1
  564. package/cjs/utils/date-output.d.ts +0 -69
  565. package/cjs/utils/date-output.d.ts.map +0 -1
  566. package/cjs/utils/date-output.js +0 -62
  567. package/cjs/utils/date-output.js.map +0 -1
  568. package/cjs/utils/date-output.test.d.ts +0 -2
  569. package/cjs/utils/date-output.test.d.ts.map +0 -1
  570. package/cjs/utils/download-file.d.ts +0 -3
  571. package/cjs/utils/download-file.d.ts.map +0 -1
  572. package/cjs/utils/environment.d.ts +0 -4
  573. package/cjs/utils/environment.d.ts.map +0 -1
  574. package/cjs/utils/environment.js +0 -6
  575. package/cjs/utils/environment.js.map +0 -1
  576. package/cjs/utils/get-localized.d.ts +0 -10
  577. package/cjs/utils/get-localized.d.ts.map +0 -1
  578. package/cjs/utils/get-localized.js +0 -15
  579. package/cjs/utils/get-localized.js.map +0 -1
  580. package/cjs/utils/get-localized.test.d.ts +0 -2
  581. package/cjs/utils/get-localized.test.d.ts.map +0 -1
  582. package/cjs/utils/index.d.ts +0 -13
  583. package/cjs/utils/index.d.ts.map +0 -1
  584. package/cjs/utils/internal.d.ts +0 -4
  585. package/cjs/utils/internal.d.ts.map +0 -1
  586. package/cjs/utils/paths.d.ts +0 -55
  587. package/cjs/utils/paths.d.ts.map +0 -1
  588. package/cjs/utils/paths.js +0 -89
  589. package/cjs/utils/paths.js.map +0 -1
  590. package/cjs/utils/promise-all-object.d.ts +0 -8
  591. package/cjs/utils/promise-all-object.d.ts.map +0 -1
  592. package/cjs/utils/promise-all-object.js +0 -12
  593. package/cjs/utils/promise-all-object.js.map +0 -1
  594. package/cjs/utils/queue.d.ts +0 -49
  595. package/cjs/utils/queue.d.ts.map +0 -1
  596. package/cjs/utils/queue.js +0 -89
  597. package/cjs/utils/queue.js.map +0 -1
  598. package/cjs/utils/sleep.d.ts +0 -2
  599. package/cjs/utils/sleep.d.ts.map +0 -1
  600. package/cjs/utils/sleep.js +0 -3
  601. package/cjs/utils/sleep.js.map +0 -1
  602. package/cjs/utils/sluggable.d.ts +0 -5
  603. package/cjs/utils/sluggable.d.ts.map +0 -1
  604. package/cjs/utils/sluggable.js +0 -15
  605. package/cjs/utils/sluggable.js.map +0 -1
  606. package/cjs/utils/sluggable.test.d.ts +0 -2
  607. package/cjs/utils/sluggable.test.d.ts.map +0 -1
  608. package/cjs/utils/to-json.d.ts +0 -2
  609. package/cjs/utils/to-json.d.ts.map +0 -1
  610. package/cjs/utils/to-json.js +0 -26
  611. package/cjs/utils/to-json.js.map +0 -1
  612. package/cjs/utils/types.d.ts +0 -22
  613. package/cjs/utils/types.d.ts.map +0 -1
  614. package/cjs/utils/urls.d.ts +0 -21
  615. package/cjs/utils/urls.d.ts.map +0 -1
  616. package/cjs/utils/urls.js +0 -31
  617. package/cjs/utils/urls.js.map +0 -1
  618. package/cjs/validation/database/exists-except-current-id.d.ts +0 -7
  619. package/cjs/validation/database/exists-except-current-id.d.ts.map +0 -1
  620. package/cjs/validation/database/exists-except-current-id.js +0 -23
  621. package/cjs/validation/database/exists-except-current-id.js.map +0 -1
  622. package/cjs/validation/database/exists-except-current-user.d.ts +0 -7
  623. package/cjs/validation/database/exists-except-current-user.d.ts.map +0 -1
  624. package/cjs/validation/database/exists-except-current-user.js +0 -25
  625. package/cjs/validation/database/exists-except-current-user.js.map +0 -1
  626. package/cjs/validation/database/exists.d.ts +0 -7
  627. package/cjs/validation/database/exists.d.ts.map +0 -1
  628. package/cjs/validation/database/exists.js +0 -21
  629. package/cjs/validation/database/exists.js.map +0 -1
  630. package/cjs/validation/database/index.d.ts +0 -12
  631. package/cjs/validation/database/index.d.ts.map +0 -1
  632. package/cjs/validation/database/types.d.ts +0 -68
  633. package/cjs/validation/database/types.d.ts.map +0 -1
  634. package/cjs/validation/database/unique-except-current-id.d.ts +0 -7
  635. package/cjs/validation/database/unique-except-current-id.d.ts.map +0 -1
  636. package/cjs/validation/database/unique-except-current-id.js +0 -23
  637. package/cjs/validation/database/unique-except-current-id.js.map +0 -1
  638. package/cjs/validation/database/unique-except-current-user.d.ts +0 -7
  639. package/cjs/validation/database/unique-except-current-user.d.ts.map +0 -1
  640. package/cjs/validation/database/unique-except-current-user.js +0 -25
  641. package/cjs/validation/database/unique-except-current-user.js.map +0 -1
  642. package/cjs/validation/database/unique.d.ts +0 -7
  643. package/cjs/validation/database/unique.d.ts.map +0 -1
  644. package/cjs/validation/database/unique.js +0 -30
  645. package/cjs/validation/database/unique.js.map +0 -1
  646. package/cjs/validation/file/file.d.ts +0 -22
  647. package/cjs/validation/file/file.d.ts.map +0 -1
  648. package/cjs/validation/file/file.js +0 -60
  649. package/cjs/validation/file/file.js.map +0 -1
  650. package/cjs/validation/file/index.d.ts +0 -6
  651. package/cjs/validation/file/index.d.ts.map +0 -1
  652. package/cjs/validation/index.d.ts +0 -16
  653. package/cjs/validation/index.d.ts.map +0 -1
  654. package/cjs/validation/init.d.ts +0 -7
  655. package/cjs/validation/init.d.ts.map +0 -1
  656. package/cjs/validation/init.js +0 -34
  657. package/cjs/validation/init.js.map +0 -1
  658. package/cjs/validation/plugins/database-plugin.d.ts +0 -14
  659. package/cjs/validation/plugins/database-plugin.d.ts.map +0 -1
  660. package/cjs/validation/plugins/database-plugin.js +0 -95
  661. package/cjs/validation/plugins/database-plugin.js.map +0 -1
  662. package/cjs/validation/plugins/file-plugin.d.ts +0 -11
  663. package/cjs/validation/plugins/file-plugin.d.ts.map +0 -1
  664. package/cjs/validation/plugins/file-plugin.js +0 -17
  665. package/cjs/validation/plugins/file-plugin.js.map +0 -1
  666. package/cjs/validation/plugins/index.d.ts +0 -9
  667. package/cjs/validation/plugins/index.d.ts.map +0 -1
  668. package/cjs/validation/plugins/localized-plugin.d.ts +0 -11
  669. package/cjs/validation/plugins/localized-plugin.d.ts.map +0 -1
  670. package/cjs/validation/plugins/localized-plugin.js +0 -19
  671. package/cjs/validation/plugins/localized-plugin.js.map +0 -1
  672. package/cjs/validation/types.d.ts +0 -87
  673. package/cjs/validation/types.d.ts.map +0 -1
  674. package/cjs/validation/validateAll.d.ts +0 -7
  675. package/cjs/validation/validateAll.d.ts.map +0 -1
  676. package/cjs/validation/validateAll.js +0 -39
  677. package/cjs/validation/validateAll.js.map +0 -1
  678. package/cjs/validation/validators/file-validator.d.ts +0 -40
  679. package/cjs/validation/validators/file-validator.d.ts.map +0 -1
  680. package/cjs/validation/validators/file-validator.js +0 -94
  681. package/cjs/validation/validators/file-validator.js.map +0 -1
  682. package/cjs/validation/validators/index.d.ts +0 -7
  683. package/cjs/validation/validators/index.d.ts.map +0 -1
  684. package/cjs/warlock-config/default-configurations.d.ts +0 -3
  685. package/cjs/warlock-config/default-configurations.d.ts.map +0 -1
  686. package/cjs/warlock-config/default-configurations.js +0 -8
  687. package/cjs/warlock-config/default-configurations.js.map +0 -1
  688. package/cjs/warlock-config/define-config.d.ts +0 -3
  689. package/cjs/warlock-config/define-config.d.ts.map +0 -1
  690. package/cjs/warlock-config/define-config.js +0 -3
  691. package/cjs/warlock-config/define-config.js.map +0 -1
  692. package/cjs/warlock-config/index.d.ts +0 -4
  693. package/cjs/warlock-config/index.d.ts.map +0 -1
  694. package/cjs/warlock-config/types.d.ts +0 -79
  695. package/cjs/warlock-config/types.d.ts.map +0 -1
  696. package/cjs/warlock-config/warlock-config.manager.d.ts +0 -83
  697. package/cjs/warlock-config/warlock-config.manager.d.ts.map +0 -1
  698. package/cjs/warlock-config/warlock-config.manager.js +0 -141
  699. package/cjs/warlock-config/warlock-config.manager.js.map +0 -1
@@ -1,564 +0,0 @@
1
- 'use strict';var proxy=require('@fastify/http-proxy'),fastifyStatic=require('@fastify/static'),concatRoute=require('@mongez/concat-route'),reinforcements=require('@mongez/reinforcements'),supportiveIs=require('@mongez/supportive-is'),logger=require('@warlock.js/logger'),request=require('../http/request.js'),response=require('../http/response.js'),routeRegistry=require('./route-registry.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var proxy__default=/*#__PURE__*/_interopDefault(proxy);var fastifyStatic__default=/*#__PURE__*/_interopDefault(fastifyStatic);var concatRoute__default=/*#__PURE__*/_interopDefault(concatRoute);class Router {
2
- /**
3
- * Routes list
4
- */
5
- routes = [];
6
- /**
7
- * Router Instance
8
- */
9
- static instance;
10
- /**
11
- * Static paths
12
- */
13
- staticDirectories = [];
14
- /**
15
- * Event listeners
16
- */
17
- eventListeners = {};
18
- /**
19
- * Stacks
20
- * Stacks will be used for grouping routes to add prefix, name or middleware
21
- */
22
- stacks = {
23
- prefix: [],
24
- name: [],
25
- middleware: [],
26
- };
27
- /**
28
- * Get router instance
29
- */
30
- static getInstance() {
31
- if (!Router.instance) {
32
- Router.instance = new Router();
33
- }
34
- return Router.instance;
35
- }
36
- constructor() {
37
- //
38
- }
39
- /**
40
- * Listen to router before scan
41
- */
42
- beforeScanning(callback) {
43
- this.eventListeners.beforeScan = [...(this.eventListeners.beforeScan || []), callback];
44
- return this;
45
- }
46
- /**
47
- * Listen to router after scanning
48
- */
49
- afterScanning(callback) {
50
- this.eventListeners.afterScanning = [...(this.eventListeners.afterScanning || []), callback];
51
- return this;
52
- }
53
- /**
54
- * Redirect path to another path
55
- */
56
- redirect(from, to, redirectMode = "temporary") {
57
- return this.get(from, (_request, response) => {
58
- response.redirect(to, redirectMode === "temporary" ? 302 : 301);
59
- });
60
- }
61
- /**
62
- * Server static folder
63
- */
64
- directory(options) {
65
- this.staticDirectories.push(options);
66
- return this;
67
- }
68
- /**
69
- * Serve file
70
- */
71
- file(path, location, cacheTime) {
72
- return this.get(path, (_request, response) => {
73
- response.sendFile(location, cacheTime);
74
- });
75
- }
76
- /**
77
- * Serve cached file, it will cache the file to 1 year by default
78
- */
79
- cachedFile(path, location, cacheTime) {
80
- return this.get(path, (_request, response) => {
81
- response.sendCachedFile(location, cacheTime);
82
- });
83
- }
84
- /**
85
- * Serve list of files
86
- */
87
- files(files, cacheTime) {
88
- for (const [path, location] of Object.entries(files)) {
89
- this.get(path, (_request, response) => {
90
- response.sendFile(location, cacheTime);
91
- });
92
- }
93
- }
94
- /**
95
- * Serve list of cached files, it will cache the file to 1 year by default
96
- */
97
- cachedFiles(files, cacheTime) {
98
- for (const [path, location] of Object.entries(files)) {
99
- this.get(path, (_request, response) => {
100
- response.sendCachedFile(location, cacheTime);
101
- });
102
- }
103
- }
104
- /**
105
- * Add proxy route
106
- */
107
- proxy(options) {
108
- this.beforeScanning((_router, server) => {
109
- server.register(proxy__default.default, options);
110
- });
111
- return this;
112
- }
113
- /**
114
- * Add route to routes list
115
- */
116
- add(method, path, handler, options = {}) {
117
- if (Array.isArray(path)) {
118
- path.forEach((p) => this.add(method, p, handler, options));
119
- return this;
120
- }
121
- const prefix = this.stacks.prefix.reduce((path, prefix) => {
122
- return concatRoute__default.default(path, prefix);
123
- }, "");
124
- const name = this.stacks.name.reduceRight((name, prefixName) => {
125
- return reinforcements.trim(prefixName + "." + name, ".");
126
- }, options.name || reinforcements.trim(path.replace(/\//g, "."), "."));
127
- path = concatRoute__default.default(prefix, path);
128
- const middlewarePrecedence = options.middlewarePrecedence || "after";
129
- if (middlewarePrecedence === "before") {
130
- options.middleware = [...(options.middleware || []), ...this.stacks.middleware];
131
- }
132
- else {
133
- options.middleware = [...this.stacks.middleware, ...(options.middleware || [])];
134
- }
135
- if (Array.isArray(handler)) {
136
- const [controller, action] = handler;
137
- if (typeof controller[action] !== "function") {
138
- throw new Error(`Invalid controller action "${action}" for controller "${controller.constructor.name}"`);
139
- }
140
- handler = controller[action].bind(controller);
141
- if (!handler.validation) {
142
- handler.validation = {};
143
- if (controller[`${action}ValidationSchema`]) {
144
- handler.validation.schema = controller[`${action}ValidationSchema`]();
145
- }
146
- if (controller[`${action}Validate`]) {
147
- handler.validation.validate = controller[`${action}Validate`];
148
- }
149
- }
150
- }
151
- const routeData = {
152
- method,
153
- path,
154
- handler,
155
- ...options,
156
- name,
157
- $prefix: prefix || "/",
158
- // it must be a new array to avoid modifying the original array
159
- $prefixStack: [...this.stacks.prefix],
160
- // Inject source file from stacks if set
161
- sourceFile: this.stacks.sourceFile || "",
162
- };
163
- if (routeData.name) {
164
- // check if the name exists
165
- const route = this.routes.find((route) => route.name === routeData.name);
166
- if (route) {
167
- // check again if the route name exists with the same method
168
- if (route.method === routeData.method) {
169
- throw new Error(`Route name "${routeData.name}" already exists`);
170
- }
171
- else {
172
- routeData.name += `.${routeData.method.toLowerCase()}`;
173
- }
174
- }
175
- }
176
- this.routes.push(routeData);
177
- return this;
178
- }
179
- /**
180
- * Add a request that accepts all methods
181
- */
182
- any(path, handler, options = {}) {
183
- return this.add("all", path, handler, options);
184
- }
185
- /**
186
- * Add get request method
187
- */
188
- get(path, handler, options = {}) {
189
- return this.add("GET", path, handler, options);
190
- }
191
- /**
192
- * Add post request method
193
- */
194
- post(path, handler, options = {}) {
195
- return this.add("POST", path, handler, options);
196
- }
197
- /**
198
- * Add put request method
199
- */
200
- put(path, handler, options = {}) {
201
- return this.add("PUT", path, handler, options);
202
- }
203
- /**
204
- * Add delete request method
205
- */
206
- delete(path, handler, options = {}) {
207
- return this.add("DELETE", path, handler, options);
208
- }
209
- /**
210
- * Add patch request method
211
- */
212
- patch(path, handler, options = {}) {
213
- return this.add("PATCH", path, handler, options);
214
- }
215
- /**
216
- * Add head request method
217
- */
218
- head(path, handler, options = {}) {
219
- return this.add("HEAD", path, handler, options);
220
- }
221
- /**
222
- * Add options request method
223
- */
224
- options(path, handler, options = {}) {
225
- return this.add("OPTIONS", path, handler, options);
226
- }
227
- /**
228
- * Add full restful resource routes
229
- * This method will generate the following routes:
230
- * 1. GET /path: list all resources
231
- * 2. GET /path/:id: get a single resource
232
- * 3. POST /path: create a new resource
233
- * 4. PUT /path/:id: update a resource
234
- * 5. DELETE /path/:id: delete a resource
235
- * 6. PATCH /path/:id: update a resource partially
236
- */
237
- restfulResource(path, resource, options = {}) {
238
- return this.prefix(path, () => {
239
- path = "";
240
- // get base resource name
241
- const baseResourceName = options.name || reinforcements.toCamelCase(reinforcements.ltrim(path, "/"));
242
- // clone the resource so we don't mess up with it
243
- const routeResource = resource;
244
- const isAcceptableResource = (type) => {
245
- return Boolean(
246
- // check if the route is not excluded
247
- (!options.except || !options.except.includes(type)) &&
248
- // check if the only option is set and the route is included
249
- (!options.only || options.only.includes(type)));
250
- };
251
- if (routeResource.list && isAcceptableResource("list")) {
252
- const resourceName = baseResourceName + ".list";
253
- this.get(path, options.replace?.list || routeResource.list.bind(routeResource), {
254
- ...options,
255
- name: resourceName,
256
- restful: true,
257
- });
258
- }
259
- if (routeResource.get && isAcceptableResource("get")) {
260
- const resourceName = baseResourceName + ".single";
261
- this.get(path + "/:id", options.replace?.get || routeResource.get.bind(routeResource), {
262
- ...options,
263
- name: resourceName,
264
- restful: true,
265
- });
266
- }
267
- if (routeResource.create && isAcceptableResource("create")) {
268
- const resourceName = baseResourceName + ".create";
269
- const handler = options.replace?.create || this.manageValidation(routeResource, "create");
270
- this.post(path, handler, {
271
- ...options,
272
- name: resourceName,
273
- restful: true,
274
- });
275
- }
276
- if (routeResource.update && isAcceptableResource("update")) {
277
- const resourceName = baseResourceName + ".update";
278
- const handler = options.replace?.update || this.manageValidation(routeResource, "update");
279
- this.put(path + "/:id", handler, {
280
- ...options,
281
- name: resourceName,
282
- restful: true,
283
- });
284
- }
285
- if (routeResource.patch && isAcceptableResource("patch")) {
286
- const resourceName = baseResourceName + ".patch";
287
- const handler = options.replace?.patch || this.manageValidation(routeResource, "patch");
288
- this.patch(path + "/:id", handler, {
289
- ...options,
290
- name: resourceName,
291
- restful: true,
292
- });
293
- }
294
- if (routeResource.delete && isAcceptableResource("delete")) {
295
- const resourceName = baseResourceName + ".delete";
296
- this.delete(path + "/:id", options.replace?.delete || routeResource.delete.bind(routeResource), {
297
- ...options,
298
- name: resourceName,
299
- restful: true,
300
- });
301
- }
302
- if (routeResource.bulkDelete && isAcceptableResource("delete")) {
303
- const resourceName = baseResourceName + ".bulkDelete";
304
- this.delete(path, options.replace?.bulkDelete || routeResource.bulkDelete.bind(routeResource), {
305
- ...options,
306
- name: resourceName,
307
- restful: true,
308
- });
309
- }
310
- return this;
311
- });
312
- }
313
- /**
314
- * Group routes with options
315
- */
316
- group(options, callback) {
317
- const { prefix,
318
- // name must always be defined because
319
- // if there are multiple groups without name
320
- // they might generate the same route name
321
- // thus causing an error
322
- // in this case we need always to make sure that
323
- // the name is always defined.
324
- name = prefix ? reinforcements.trim(prefix.replace(/\//g, "."), ".") : undefined, middleware, } = options;
325
- if (prefix) {
326
- this.stacks.prefix.push(prefix);
327
- }
328
- if (name) {
329
- this.stacks.name.push(name);
330
- }
331
- if (middleware) {
332
- this.stacks.middleware.push(...middleware);
333
- }
334
- callback();
335
- if (prefix) {
336
- this.stacks.prefix.pop();
337
- }
338
- if (name) {
339
- this.stacks.name.pop();
340
- }
341
- if (middleware) {
342
- this.stacks.middleware.splice(this.stacks.middleware.length - middleware.length, middleware.length);
343
- }
344
- return this;
345
- }
346
- /**
347
- * Add prefix to all routes in the given callback
348
- */
349
- prefix(prefix, callback) {
350
- return this.group({ prefix }, callback);
351
- }
352
- /**
353
- * Wrap route additions with a source file path
354
- * Used for tracking which routes come from which file (for HMR)
355
- * @param sourceFile Relative path to the source file (e.g., "src/app/users/routes.ts")
356
- * @param callback Function that adds routes (will have sourceFile injected)
357
- */
358
- async withSourceFile(sourceFile, callback) {
359
- // Set source file in stacks
360
- this.stacks.sourceFile = sourceFile;
361
- try {
362
- // Execute callback (routes added here will have sourceFile injected)
363
- return await callback();
364
- }
365
- catch (error) {
366
- console.log("Error in withSourceFile", error);
367
- }
368
- finally {
369
- // Always clear source file from stacks
370
- delete this.stacks.sourceFile;
371
- }
372
- }
373
- /**
374
- * Remove all routes that belong to a specific source file
375
- * Used when reloading routes files via HMR
376
- * @param sourceFile Relative path to the source file
377
- */
378
- removeRoutesBySourceFile(sourceFile) {
379
- this.routes = this.routes.filter((route) => route.sourceFile !== sourceFile);
380
- }
381
- /**
382
- * Manage validation system for the given resource
383
- */
384
- manageValidation(resource, method) {
385
- const handler = resource[method]?.bind(resource);
386
- const methodValidation = resource?.validation?.[method];
387
- if (method === "patch") {
388
- handler.validation = methodValidation;
389
- if (handler.validation?.validate) {
390
- handler.validation.validate = handler.validation.validate.bind(resource);
391
- }
392
- if (resource.validation?.patch) {
393
- handler.validation = reinforcements.merge(resource.validation.patch, handler.validation);
394
- }
395
- return handler;
396
- }
397
- if (!resource.validation || (!methodValidation && !resource.validation.all))
398
- return handler;
399
- if (resource.validation.all) {
400
- const validationMethods = {
401
- all: resource?.validation?.all?.validate,
402
- [method]: methodValidation?.validate,
403
- };
404
- const validation = {};
405
- if (resource.validation.all.schema || methodValidation?.schema) {
406
- if (!methodValidation?.schema && resource.validation.all.schema) {
407
- // Case 2: Only all.schema exists - clone it for this method
408
- validation.schema = resource.validation.all.schema;
409
- }
410
- else if (methodValidation?.schema && resource.validation.all.schema) {
411
- // Case 3: Both exist - merge them (all is base, method overrides)
412
- validation.schema = resource.validation.all.schema.merge(methodValidation.schema);
413
- }
414
- else if (methodValidation?.schema && !resource.validation.all.schema) {
415
- // Case 1: Only method schema exists - use it directly
416
- validation.schema = methodValidation.schema;
417
- }
418
- // Case 4: Neither exists - handled by outer if being false
419
- }
420
- if (validationMethods.all || validationMethods[method]) {
421
- validation.validate = async (request, response) => {
422
- if (validationMethods.all) {
423
- const output = await validationMethods.all.call(resource, request, response);
424
- if (output)
425
- return output;
426
- }
427
- if (validationMethods[method]) {
428
- return await validationMethods[method]?.call(resource, request, response);
429
- }
430
- return;
431
- };
432
- }
433
- if (!supportiveIs.isEmpty(validation)) {
434
- handler.validation = validation;
435
- }
436
- }
437
- else {
438
- handler.validation = resource.validation[method];
439
- if (handler.validation?.validate) {
440
- handler.validation.validate = handler.validation.validate.bind(resource);
441
- }
442
- }
443
- return handler;
444
- }
445
- /**
446
- * Get all routes list
447
- */
448
- list() {
449
- return this.routes;
450
- }
451
- /**
452
- * Register routes to the server
453
- */
454
- scan(server) {
455
- this.eventListeners.beforeScan?.forEach((callback) => callback(this, server));
456
- this.routes.forEach((route) => {
457
- const requestMethod = route.method.toLowerCase();
458
- const requestMethodFunction = server[requestMethod].bind(server);
459
- requestMethodFunction(route.path, route.serverOptions || {}, async (baseRequest, reply) => {
460
- const { output, response } = await this.handleRoute(route)(baseRequest, reply);
461
- return output || response.baseResponse;
462
- });
463
- });
464
- for (const directoryOptions of this.staticDirectories) {
465
- server.register(fastifyStatic__default.default, {
466
- ...directoryOptions,
467
- decorateReply: false,
468
- });
469
- }
470
- this.eventListeners.afterScanning?.forEach((callback) => callback(this, server));
471
- }
472
- /**
473
- * Scan routes for the development server
474
- * Uses wildcard routing with find-my-way for HMR support
475
- */
476
- scanDevServer(server) {
477
- this.eventListeners.beforeScan?.forEach((callback) => callback(this, server));
478
- // Shared handler for wildcard routing
479
- const wildcardHandler = async (fastifyRequest, fastifyReply) => {
480
- // Initialize route registry once (will be rebuilt on HMR via rebuildRouteRegistry)
481
- const routeRegistry$1 = new routeRegistry.RouteRegistry();
482
- routeRegistry$1.register(this.routes);
483
- // Find matching route using find-my-way
484
- const match = routeRegistry$1.find(fastifyRequest.method, fastifyRequest.url);
485
- // No match found - return 404
486
- if (!match) {
487
- return fastifyReply.code(404).send({
488
- error: "Route not found",
489
- path: fastifyRequest.url,
490
- method: fastifyRequest.method,
491
- });
492
- }
493
- // Inject extracted params into the request
494
- fastifyRequest.params = match.params;
495
- // Call the matched route handler
496
- const { output, response } = await this.handleRoute(match.route)(fastifyRequest, fastifyReply);
497
- return output || response.baseResponse;
498
- };
499
- // Register wildcard route for all methods EXCEPT OPTIONS (to avoid conflict with CORS)
500
- // OPTIONS is handled by @fastify/cors plugin for preflight requests
501
- const methods = ["GET", "POST", "PUT", "DELETE", "PATCH"];
502
- for (const method of methods) {
503
- server.route({
504
- method,
505
- url: "*",
506
- handler: wildcardHandler,
507
- });
508
- }
509
- // Register static directories
510
- for (const directoryOptions of this.staticDirectories) {
511
- server.register(fastifyStatic__default.default, {
512
- ...directoryOptions,
513
- decorateReply: false,
514
- });
515
- }
516
- this.eventListeners.afterScanning?.forEach((callback) => callback(this, server));
517
- }
518
- /**
519
- * Get the route path for the given route name
520
- */
521
- route(name, params = {}) {
522
- const route = this.routes.find((route) => route.name === name);
523
- if (!route) {
524
- throw new Error(`Route name "${name}" not found`);
525
- }
526
- let path = route.path;
527
- if (route.path.includes(":")) {
528
- Object.keys(params).forEach((key) => {
529
- path = path.replace(":" + key, params[key]);
530
- });
531
- }
532
- return path;
533
- }
534
- /**
535
- * Handle the given route
536
- */
537
- handleRoute(route) {
538
- return async (fastifyRequest, fastifyResponse) => {
539
- const request$1 = new request.Request();
540
- const response$1 = new response.Response();
541
- response$1.setResponse(fastifyResponse);
542
- request$1.response = response$1;
543
- response$1.request = request$1;
544
- request$1.setRequest(fastifyRequest).setRoute(route);
545
- request.Request.current = request$1;
546
- logger.log.info({
547
- module: "route",
548
- action: route.method + " " + route.path.replace("/*", ""),
549
- message: `Starting Request: ${request$1.id}`,
550
- context: {
551
- request: request$1,
552
- response: response$1,
553
- },
554
- });
555
- const result = await request$1.execute();
556
- return {
557
- output: result,
558
- response: response$1,
559
- request: request$1,
560
- };
561
- };
562
- }
563
- }
564
- const router = Router.getInstance();exports.Router=Router;exports.router=router;//# sourceMappingURL=router.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"router.js","sources":["../../src/router/router.ts"],"sourcesContent":[null],"names":["proxy","concatRoute","trim","toCamelCase","ltrim","merge","isEmpty","fastifyStatic","routeRegistry","RouteRegistry","request","Request","response","Response","log"],"mappings":"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"}