@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
@@ -0,0 +1,248 @@
1
+ import {devLogError}from'./dev-logger.js';import {Path}from'./path.js';import {tsconfigManager}from'./tsconfig-manager.js';/**
2
+ * Transform imports in transpiled code to use cache paths
3
+ * This is called AFTER all files are transpiled
4
+ *
5
+ * Strategy:
6
+ * - All cached files are in the same directory (.warlock/cache/)
7
+ * - So all imports become: "./${cachePath}"
8
+ * - We use fileManager.dependencies (already resolved by parseImports)
9
+ *
10
+ * @param fileManager FileManager with transpiled code and dependencies
11
+ * @param filesMap Map of all FileManager instances
12
+ * @returns Transformed code with cache-relative imports
13
+ */
14
+ function transformImports(fileManager, filesMap) {
15
+ const code = fileManager.transpiled;
16
+ // Pattern to match ES6 import statements
17
+ // Matches: import ... from "..."
18
+ // Handles:
19
+ // - import { a, b } from "module" (named imports, can span multiple lines)
20
+ // - import * as Foo from "module" (namespace imports)
21
+ // - import Foo from "module" (default imports)
22
+ // - import Foo, { a, b } from "module" (mixed imports)
23
+ const importRegex = /import\s+(\{[\s\S]*?\}|\*\s+as\s+\w+|\w+(?:\s*,\s*\{[\s\S]*?\})?)\s+from\s+["']([^"']+)["'];?/gm;
24
+ // Pattern to match side-effect imports: import "module";
25
+ const sideEffectImportRegex = /import\s+["']([^"']+)["'];?/g;
26
+ // Pattern to match ES6 export statements
27
+ // Matches: export * from "..." and export { ... } from "..."
28
+ const exportRegex = /export\s+((?:\*|\{[^}]*\}))\s+from\s+["']([^"']+)["'];?/g;
29
+ let transformedCode = code;
30
+ const unresolvedImports = [];
31
+ // Process imports first
32
+ const importMatches = Array.from(code.matchAll(importRegex));
33
+ for (let i = importMatches.length - 1; i >= 0; i--) {
34
+ const match = importMatches[i];
35
+ const fullImport = match[0];
36
+ const importSpecifier = match[1]; // What's being imported (e.g., "{ foo }", "* as bar", "default")
37
+ const importPath = match[2]; // The module path
38
+ // Only transform relative imports and alias imports
39
+ // Skip external packages (node_modules, node built-ins)
40
+ const isRelativeImport = importPath.startsWith(".") || importPath.startsWith("/");
41
+ const isAliasImport = tsconfigManager.isAlias(importPath);
42
+ if (!isRelativeImport && !isAliasImport) {
43
+ // This is an external package - keep as-is
44
+ continue;
45
+ }
46
+ // Check if this import was resolved by parseImports (exists in importMap)
47
+ // If not in importMap, it means parseImports skipped it (external package), so we skip it too
48
+ if (!fileManager.importMap.has(importPath)) {
49
+ // Not in importMap = external package, skip transformation
50
+ continue;
51
+ }
52
+ // Find the cache path for this import from dependencies
53
+ const cachePath = findCachePathForImport(importPath, fileManager, filesMap);
54
+ if (!cachePath) {
55
+ // Could not resolve - track it (this is a local file that should exist but doesn't)
56
+ unresolvedImports.push(importPath);
57
+ continue;
58
+ }
59
+ // Build the correct replacement depending on the import shape
60
+ const newImport = buildImportReplacement(importSpecifier, cachePath);
61
+ // Replace in code
62
+ const startIndex = match.index;
63
+ const endIndex = startIndex + fullImport.length;
64
+ transformedCode =
65
+ transformedCode.slice(0, startIndex) +
66
+ newImport +
67
+ transformedCode.slice(endIndex);
68
+ }
69
+ // Process side-effect imports: import "module";
70
+ const sideEffectMatches = Array.from(transformedCode.matchAll(sideEffectImportRegex));
71
+ for (let i = sideEffectMatches.length - 1; i >= 0; i--) {
72
+ const match = sideEffectMatches[i];
73
+ const fullImport = match[0];
74
+ const importPath = match[1];
75
+ // Only transform relative imports and alias imports
76
+ // Skip external packages (node_modules, node built-ins)
77
+ const isRelativeImport = importPath.startsWith(".") || importPath.startsWith("/");
78
+ const isAliasImport = tsconfigManager.isAlias(importPath);
79
+ if (!isRelativeImport && !isAliasImport) {
80
+ continue;
81
+ }
82
+ if (!fileManager.importMap.has(importPath)) {
83
+ continue;
84
+ }
85
+ const cachePath = findCachePathForImport(importPath, fileManager, filesMap);
86
+ if (!cachePath) {
87
+ unresolvedImports.push(importPath);
88
+ continue;
89
+ }
90
+ // FROM: import "./themes";
91
+ // TO: await __import("./src-app-mail-themes.js");
92
+ const newImport = `await __import("./${cachePath}")`;
93
+ const startIndex = match.index;
94
+ const endIndex = startIndex + fullImport.length;
95
+ transformedCode =
96
+ transformedCode.slice(0, startIndex) +
97
+ newImport +
98
+ transformedCode.slice(endIndex);
99
+ }
100
+ // Process exports (need to re-process after imports to get updated string positions)
101
+ const exportMatches = Array.from(transformedCode.matchAll(exportRegex));
102
+ for (let i = exportMatches.length - 1; i >= 0; i--) {
103
+ const match = exportMatches[i];
104
+ const fullExport = match[0];
105
+ const exportSpecifier = match[1]; // "*" or "{ foo, bar }"
106
+ const importPath = match[2]; // The module path
107
+ // Only transform relative imports and alias imports
108
+ // Skip external packages (node_modules, node built-ins)
109
+ const isRelativeImport = importPath.startsWith(".") || importPath.startsWith("/");
110
+ const isAliasImport = tsconfigManager.isAlias(importPath);
111
+ if (!isRelativeImport && !isAliasImport) {
112
+ // This is an external package - keep as-is
113
+ continue;
114
+ }
115
+ // Check if this import was resolved by parseImports (exists in importMap)
116
+ // If not in importMap, it means parseImports skipped it (external package), so we skip it too
117
+ if (!fileManager.importMap.has(importPath)) {
118
+ // Not in importMap = external package, skip transformation
119
+ continue;
120
+ }
121
+ // Find the cache path for this import from dependencies
122
+ const cachePath = findCachePathForImport(importPath, fileManager, filesMap);
123
+ if (!cachePath) {
124
+ console.log("Could not resolve import", importPath);
125
+ // Could not resolve - track it (this is a local file that should exist but doesn't)
126
+ unresolvedImports.push(importPath);
127
+ continue;
128
+ }
129
+ // Transform export to use cache path
130
+ // Note: export * from requires a static string literal in ES modules
131
+ // So we can't use __import with timestamps. We rely on module loader cache clearing.
132
+ // For export { ... }, we can use __import and individual exports
133
+ if (exportSpecifier === "*") {
134
+ // export * from "./module"
135
+ // Keep as static export but use cache path
136
+ // Cache busting is handled by module loader clearing cache
137
+ const newExport = `export * from "./${cachePath}"`;
138
+ // Replace in code
139
+ const startIndex = match.index;
140
+ const endIndex = startIndex + fullExport.length;
141
+ transformedCode =
142
+ transformedCode.slice(0, startIndex) +
143
+ newExport +
144
+ transformedCode.slice(endIndex);
145
+ }
146
+ else {
147
+ // export { foo, bar } from "./module"
148
+ // Transform to individual exports using __import
149
+ const moduleVar = `__module_${i}`;
150
+ const namedExports = exportSpecifier; // e.g., "{ foo, bar }"
151
+ // Extract export names from the specifier
152
+ const exportNames = namedExports
153
+ .match(/\{([^}]+)\}/)?.[1]
154
+ ?.split(",")
155
+ .map(s => s.trim()) || [];
156
+ const exportStatements = exportNames
157
+ .map(name => `export const ${name} = ${moduleVar}.${name};`)
158
+ .join("\n");
159
+ const newExport = `const ${moduleVar} = await __import("./${cachePath}");\n${exportStatements}`;
160
+ // Replace in code
161
+ const startIndex = match.index;
162
+ const endIndex = startIndex + fullExport.length;
163
+ transformedCode =
164
+ transformedCode.slice(0, startIndex) +
165
+ newExport +
166
+ transformedCode.slice(endIndex);
167
+ }
168
+ }
169
+ // If there are unresolved imports, throw an error
170
+ if (unresolvedImports.length > 0) {
171
+ devLogError(`Failed to transform imports in ${fileManager.relativePath}:\n` +
172
+ `Unresolved imports: ${unresolvedImports.join(", ")}\n` +
173
+ `These files may not exist or are not being tracked.`);
174
+ return "";
175
+ }
176
+ return transformedCode;
177
+ }
178
+ /**
179
+ * Build a replacement statement for different import syntaxes
180
+ * @param importSpecifier The import specifier (e.g., "Foo", "{ a, b }", "Foo, { a, b }", "* as Bar")
181
+ * @param cachePath The path to the cached file
182
+ */
183
+ function buildImportReplacement(importSpecifier, cachePath) {
184
+ const trimmed = importSpecifier.trim();
185
+ // Namespace import: import * as Foo from "module";
186
+ if (trimmed.startsWith("* as ")) {
187
+ const identifier = trimmed.replace("* as ", "").trim();
188
+ return `const ${identifier} = await __import("./${cachePath}")`;
189
+ }
190
+ // Mixed import: import Foo, { a, b } from "module";
191
+ // Transform to: const __module = await __import(...); const Foo = __module?.default ?? __module; const { a, b } = __module;
192
+ // Handle multiline: import Foo, {\n a,\n b\n} from "module";
193
+ if (trimmed.match(/^(\w+)\s*,\s*\{/)) {
194
+ const match = trimmed.match(/^(\w+)\s*,\s*(\{[\s\S]*?\})/);
195
+ if (match) {
196
+ const defaultImport = match[1];
197
+ let namedImports = match[2];
198
+ const moduleVar = `__module_${Math.random().toString(36).slice(2, 8)}`;
199
+ // Clean up whitespace and normalize
200
+ namedImports = namedImports.replace(/\s+/g, " ").trim();
201
+ // Normalize `{ default as X }` to `{ default: X }` for valid destructuring
202
+ const normalized = namedImports.replace(/default\s+as\s+/g, "default: ");
203
+ // Generate correct syntax with proper separators
204
+ return `const ${moduleVar} = await __import("./${cachePath}");
205
+ const ${defaultImport} = ${moduleVar}?.default ?? ${moduleVar};
206
+ const ${normalized} = ${moduleVar};`;
207
+ }
208
+ }
209
+ // Destructured / named imports (including default alias): import { a, default as X } from "module";
210
+ if (trimmed.startsWith("{")) {
211
+ // Clean up multiline formatting
212
+ let cleanedImports = trimmed.replace(/\s+/g, " ").trim();
213
+ // Normalize `{ default as X }` to `{ default: X }` for valid destructuring
214
+ const normalized = cleanedImports.replace(/default\s+as\s+/g, "default: ");
215
+ return `const ${normalized} = await __import("./${cachePath}")`;
216
+ }
217
+ // Default import: import Foo from "module";
218
+ // Use default with fallback to module object
219
+ const moduleVar = `__module_${Math.random().toString(36).slice(2, 8)}`;
220
+ return `const ${moduleVar} = await __import("./${cachePath}");\nconst ${trimmed} = ${moduleVar}?.default ?? ${moduleVar};`;
221
+ }
222
+ /**
223
+ * Find the cache path for an import
224
+ * Uses the fileManager's importMap which maps original imports to resolved paths
225
+ *
226
+ * @param importPath The import path from the import statement
227
+ * @param fileManager The file that contains this import
228
+ * @param filesMap Map of all FileManager instances
229
+ * @returns The cache path string, or null if not found
230
+ */
231
+ function findCachePathForImport(importPath, fileManager, filesMap) {
232
+ // Look up the resolved absolute path from the import map
233
+ const resolvedAbsPath = fileManager.importMap.get(importPath);
234
+ if (!resolvedAbsPath) {
235
+ return null;
236
+ }
237
+ // Convert to relative path
238
+ const relativePath = Path.toRelative(resolvedAbsPath);
239
+ // Find the FileManager for this dependency
240
+ const depFileManager = filesMap.get(relativePath);
241
+ if (!depFileManager) {
242
+ return null;
243
+ }
244
+ if (depFileManager && depFileManager.cachePath) {
245
+ return depFileManager.cachePath;
246
+ }
247
+ return null;
248
+ }export{transformImports};//# sourceMappingURL=import-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-transformer.js","sources":["../../src/dev2-server/import-transformer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,309 @@
1
+ import {loadEnv}from'@mongez/dotenv';import {configManager}from'../config/config-manager.js';import {connectorsManager}from'./connectors/connectors-manager.js';import {devLogHMR}from'./dev-logger.js';/**
2
+ * LayerExecutor handles the execution of file reloads based on their layer type
3
+ *
4
+ * Strategy:
5
+ * 1. Determine reload type (FSR or HMR) based on invalidation chain
6
+ * 2. For FSR: Restart connectors if needed, reload special files
7
+ * 3. For HMR: Clear module cache, reload affected modules
8
+ */
9
+ class LayerExecutor {
10
+ dependencyGraph;
11
+ specialFilesCollector;
12
+ moduleLoader;
13
+ constructor(dependencyGraph, specialFilesCollector, moduleLoader) {
14
+ this.dependencyGraph = dependencyGraph;
15
+ this.specialFilesCollector = specialFilesCollector;
16
+ this.moduleLoader = moduleLoader;
17
+ }
18
+ /**
19
+ * Execute batch reload for multiple changed files
20
+ * @param changedPaths Array of relative paths that changed
21
+ * @param filesMap Map of all FileManager instances
22
+ */
23
+ async executeBatchReload(changedPaths, filesMap, deletedFiles) {
24
+ if (changedPaths.length === 0) {
25
+ if (deletedFiles.length > 0) {
26
+ deletedFiles.forEach((file) => {
27
+ const fileSystem = filesMap.get(file);
28
+ if (fileSystem) {
29
+ this.moduleLoader.cleanupDeletedModule(fileSystem);
30
+ }
31
+ });
32
+ }
33
+ return;
34
+ }
35
+ // Build combined invalidation chain for all changed files
36
+ const allInvalidatedFiles = new Set();
37
+ const fsrFiles = [];
38
+ const hmrFiles = [];
39
+ for (const relativePath of changedPaths) {
40
+ const fileManager = filesMap.get(relativePath);
41
+ if (!fileManager)
42
+ continue;
43
+ // Get invalidation chain for this file
44
+ const invalidationChain = this.dependencyGraph.getInvalidationChain(relativePath);
45
+ // Add to combined set
46
+ invalidationChain.forEach((file) => allInvalidatedFiles.add(file));
47
+ // Determine strategy for this file
48
+ const strategy = this.determineReloadStrategy(invalidationChain, filesMap);
49
+ if (strategy === "FSR") {
50
+ fsrFiles.push(relativePath);
51
+ }
52
+ else {
53
+ hmrFiles.push(relativePath);
54
+ }
55
+ }
56
+ try {
57
+ hmrFiles.forEach((file) => {
58
+ const dependentCount = this.dependencyGraph.getInvalidationChain(file).length - 1;
59
+ const fileSystem = filesMap.get(file);
60
+ if (fileSystem) {
61
+ this.moduleLoader.clearModuleCache(fileSystem.absolutePath);
62
+ __clearModuleVersion(fileSystem.cachePath);
63
+ }
64
+ devLogHMR(file, dependentCount > 0 ? dependentCount : undefined);
65
+ });
66
+ }
67
+ catch (error) {
68
+ console.log("ERRor in devLogHMR: ", error);
69
+ }
70
+ try {
71
+ // Execute reload once for all files
72
+ const invalidationChain = Array.from(allInvalidatedFiles);
73
+ if (fsrFiles.length > 0) {
74
+ // If any file requires FSR, do FSR for all
75
+ const firstFsrFile = filesMap.get(fsrFiles[0]);
76
+ await this.executeFullServerRestart(firstFsrFile, invalidationChain, filesMap);
77
+ }
78
+ else {
79
+ // All files are HMR
80
+ const firstHmrFile = filesMap.get(hmrFiles[0]);
81
+ await this.executeHotModuleReplacement(firstHmrFile, invalidationChain, filesMap, hmrFiles);
82
+ }
83
+ }
84
+ catch (error) {
85
+ console.log("ERRor in executeFullServerRestart: ", error);
86
+ }
87
+ try {
88
+ deletedFiles.forEach((file) => {
89
+ const fileSystem = filesMap.get(file);
90
+ if (fileSystem) {
91
+ this.moduleLoader.cleanupDeletedModule(fileSystem);
92
+ }
93
+ });
94
+ }
95
+ catch (error) {
96
+ console.log("ERRor in deleteFiles: ", error);
97
+ }
98
+ }
99
+ /**
100
+ * Determine if we need FSR or HMR
101
+ * FSR is needed if ANY file in the invalidation chain is FSR layer
102
+ */
103
+ determineReloadStrategy(invalidationChain, filesMap) {
104
+ for (const relativePath of invalidationChain) {
105
+ const file = filesMap.get(relativePath);
106
+ if (file && file.layer === "FSR") {
107
+ return "FSR";
108
+ }
109
+ }
110
+ return "HMR";
111
+ }
112
+ /**
113
+ * Execute Full Server Restart
114
+ * This happens when config, routes, or other FSR layer files change
115
+ */
116
+ async executeFullServerRestart(changedFile, invalidationChain, filesMap) {
117
+ // Step 1: Handle config files specially
118
+ const configFiles = invalidationChain
119
+ .map((path) => filesMap.get(path))
120
+ .filter((file) => file !== undefined && file.type === "config");
121
+ if (configFiles.length > 0) {
122
+ // Reload config files first
123
+ for (const configFile of configFiles) {
124
+ await configManager.reload(configFile);
125
+ }
126
+ // Restart only affected connectors
127
+ await this.restartAffectedConnectors(invalidationChain);
128
+ // Clear module cache for invalidation chain
129
+ this.clearModuleCacheForChain(invalidationChain, filesMap);
130
+ // Reload special files if affected
131
+ await this.reloadAffectedSpecialFiles(invalidationChain);
132
+ return;
133
+ }
134
+ // Step 2: For non-config FSR (routes, etc.), restart all connectors
135
+ await this.restartAffectedConnectors(invalidationChain);
136
+ // Step 3: Clear module cache for invalidation chain
137
+ this.clearModuleCacheForChain(invalidationChain, filesMap);
138
+ // Step 4: Reload special files if affected
139
+ await this.reloadAffectedSpecialFiles(invalidationChain);
140
+ }
141
+ /**
142
+ * Execute Hot Module Replacement
143
+ * This happens when only HMR layer files (controllers, services, etc.) change
144
+ */
145
+ async executeHotModuleReplacement(changedFile, invalidationChain, filesMap, hmrFiles) {
146
+ // Step 1: Clear module cache for invalidation chain
147
+ this.clearModuleCacheForChain(invalidationChain, filesMap);
148
+ // Step 2: Reload affected modules
149
+ await this.reloadAffectedModules(invalidationChain, filesMap);
150
+ await this.restartAffectedConnectors(hmrFiles);
151
+ }
152
+ /**
153
+ * Restart connectors that are affected by the changed files
154
+ */
155
+ async restartAffectedConnectors(affectedFiles) {
156
+ const connectorsToRestart = connectorsManager
157
+ .list()
158
+ .filter((connector) => connector.shouldRestart(affectedFiles));
159
+ if (connectorsToRestart.length === 0) {
160
+ return;
161
+ }
162
+ // Restart in priority order
163
+ for (const connector of connectorsToRestart) {
164
+ connector.restart();
165
+ }
166
+ }
167
+ /**
168
+ * Clear Node.js module cache for the invalidation chain
169
+ */
170
+ clearModuleCacheForChain(invalidationChain, filesMap) {
171
+ for (const relativePath of invalidationChain) {
172
+ const file = filesMap.get(relativePath);
173
+ if (file) {
174
+ this.moduleLoader.clearModuleCache(file.absolutePath);
175
+ // Update module version for HMR cache busting
176
+ __clearModuleVersion(`./${file.cachePath}`);
177
+ }
178
+ }
179
+ }
180
+ /**
181
+ * Reload special files that are affected by the change
182
+ * This includes main, routes, events, locales
183
+ * Special files are reloaded if they are in the invalidation chain OR if they depend on files in the chain
184
+ */
185
+ async reloadAffectedSpecialFiles(invalidationChain) {
186
+ // Helper to check if a file is affected (either in chain or depends on chain)
187
+ const isAffected = (file) => {
188
+ // Direct match: file itself is in the chain
189
+ if (invalidationChain.includes(file.relativePath)) {
190
+ return true;
191
+ }
192
+ // Indirect match: file depends on something in the chain
193
+ for (const dep of file.dependencies) {
194
+ if (invalidationChain.includes(dep)) {
195
+ return true;
196
+ }
197
+ }
198
+ return false;
199
+ };
200
+ // Check which special files are affected
201
+ const affectedMainFiles = this.specialFilesCollector.getMainFiles().filter(isAffected);
202
+ const affectedRouteFiles = this.specialFilesCollector.getRouteFiles().filter(isAffected);
203
+ const affectedEventFiles = this.specialFilesCollector.getEventFiles().filter(isAffected);
204
+ const affectedLocaleFiles = this.specialFilesCollector.getLocaleFiles().filter(isAffected);
205
+ // Reload affected special files
206
+ if (affectedMainFiles.length > 0) {
207
+ for (const file of affectedMainFiles) {
208
+ await this.moduleLoader.reloadModule(file);
209
+ }
210
+ }
211
+ if (affectedLocaleFiles.length > 0) {
212
+ for (const file of affectedLocaleFiles) {
213
+ await this.moduleLoader.reloadModule(file);
214
+ }
215
+ }
216
+ if (affectedEventFiles.length > 0) {
217
+ for (const file of affectedEventFiles) {
218
+ await this.moduleLoader.reloadModule(file);
219
+ }
220
+ }
221
+ if (affectedRouteFiles.length > 0) {
222
+ for (const file of affectedRouteFiles) {
223
+ await this.moduleLoader.reloadModule(file);
224
+ }
225
+ }
226
+ }
227
+ /**
228
+ * Reload affected modules (for HMR)
229
+ * Special files (main, routes, events, locales) need to be actively reloaded
230
+ * Other files will be loaded on next import
231
+ */
232
+ async reloadAffectedModules(invalidationChain, filesMap) {
233
+ // Helper to check if a file is affected (either in chain or depends on chain)
234
+ const isAffected = (file) => {
235
+ // Direct match: file itself is in the chain
236
+ if (invalidationChain.includes(file.relativePath)) {
237
+ return true;
238
+ }
239
+ // Indirect match: file depends on something in the chain
240
+ for (const dep of file.dependencies) {
241
+ if (invalidationChain.includes(dep)) {
242
+ return true;
243
+ }
244
+ }
245
+ return false;
246
+ };
247
+ const isEnvFileAffected = invalidationChain.some((path) => path.endsWith(".env"));
248
+ if (isEnvFileAffected) {
249
+ await loadEnv();
250
+ }
251
+ // Check which special files are affected
252
+ const affectedMainFiles = this.specialFilesCollector.getMainFiles().filter(isAffected);
253
+ const affectedConfigFiles = this.specialFilesCollector
254
+ .getConfigFiles()
255
+ .filter((file) => (isEnvFileAffected ? true : isAffected(file)));
256
+ const affectedRouteFiles = this.specialFilesCollector.getRouteFiles().filter(isAffected);
257
+ const affectedEventFiles = this.specialFilesCollector.getEventFiles().filter(isAffected);
258
+ const affectedLocaleFiles = this.specialFilesCollector.getLocaleFiles().filter(isAffected);
259
+ const hasSpecialFiles = affectedMainFiles.length > 0 ||
260
+ affectedRouteFiles.length > 0 ||
261
+ affectedEventFiles.length > 0 ||
262
+ affectedLocaleFiles.length > 0 ||
263
+ affectedConfigFiles.length > 0;
264
+ // For future me:
265
+ // why we are only allowing special files?
266
+ // because they act as entry points
267
+ // so for example of a service file is changed
268
+ // but not called within a controller that's called
269
+ // within a router, then it's useless to reload it
270
+ // since it will not be executed.
271
+ if (!hasSpecialFiles) {
272
+ // however, we could just reload the last file in the chain
273
+ // since it's the main dependent file instead of reloading all of them.
274
+ const lastFileInChain = invalidationChain[invalidationChain.length - 1];
275
+ const file = filesMap.get(lastFileInChain);
276
+ if (!file) {
277
+ return;
278
+ }
279
+ await this.moduleLoader.reloadModule(file);
280
+ return;
281
+ }
282
+ if (affectedConfigFiles.length > 0) {
283
+ for (const file of affectedConfigFiles) {
284
+ await configManager.reload(file);
285
+ }
286
+ }
287
+ // Reload special files
288
+ if (affectedMainFiles.length > 0) {
289
+ for (const file of affectedMainFiles) {
290
+ await this.moduleLoader.reloadModule(file);
291
+ }
292
+ }
293
+ if (affectedLocaleFiles.length > 0) {
294
+ for (const file of affectedLocaleFiles) {
295
+ await this.moduleLoader.reloadModule(file);
296
+ }
297
+ }
298
+ if (affectedEventFiles.length > 0) {
299
+ for (const file of affectedEventFiles) {
300
+ await this.moduleLoader.reloadModule(file);
301
+ }
302
+ }
303
+ if (affectedRouteFiles.length > 0) {
304
+ for (const file of affectedRouteFiles) {
305
+ await this.moduleLoader.reloadModule(file);
306
+ }
307
+ }
308
+ }
309
+ }export{LayerExecutor};//# sourceMappingURL=layer-executor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layer-executor.js","sources":["../../src/dev2-server/layer-executor.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}