@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,186 @@
1
+ import events from'@mongez/events';import {debounce}from'@mongez/reinforcements';import {devLogSuccess}from'./dev-logger.js';import {FILE_PROCESSING_BATCH_SIZE}from'./flags.js';import {clearFileExistsCache}from'./parse-imports.js';import {Path}from'./path.js';/**
2
+ * File Event Handler
3
+ * Handles runtime file system events (change, add, delete)
4
+ * Collects events and processes them in batches for optimal performance
5
+ */
6
+ class FileEventHandler {
7
+ fileOperations;
8
+ manifest;
9
+ /**
10
+ * Pending events to process in batch
11
+ */
12
+ pendingChanges = new Set();
13
+ pendingAdds = new Set();
14
+ pendingDeletes = new Set();
15
+ /**
16
+ * Debounced batch processor
17
+ * Waits for events to settle, then processes all at once
18
+ */
19
+ processPendingEvents = debounce(async () => {
20
+ await this.processBatch();
21
+ }, 150); // Wait 250ms after last event
22
+ /**
23
+ * Constructor
24
+ */
25
+ constructor(fileOperations, manifest) {
26
+ this.fileOperations = fileOperations;
27
+ this.manifest = manifest;
28
+ }
29
+ /**
30
+ * Handle file change event
31
+ * Collects events for batch processing
32
+ */
33
+ handleFileChange(absolutePath) {
34
+ const relativePath = Path.toRelative(absolutePath);
35
+ // Add to pending changes
36
+ this.pendingChanges.add(relativePath);
37
+ // Trigger debounced batch processor
38
+ this.processPendingEvents();
39
+ }
40
+ /**
41
+ * Handle new file added
42
+ * Collects events for batch processing
43
+ */
44
+ handleFileAdd(absolutePath) {
45
+ const relativePath = Path.toRelative(absolutePath);
46
+ // Add to pending adds
47
+ this.pendingAdds.add(relativePath);
48
+ // Trigger debounced batch processor
49
+ this.processPendingEvents();
50
+ }
51
+ /**
52
+ * Handle file deleted
53
+ * Collects events for batch processing
54
+ */
55
+ handleFileDelete(absolutePath) {
56
+ const relativePath = Path.toRelative(absolutePath);
57
+ // Add to pending deletes
58
+ this.pendingDeletes.add(relativePath);
59
+ // Trigger debounced batch processor
60
+ this.processPendingEvents();
61
+ }
62
+ /**
63
+ * Process all pending events in batch
64
+ */
65
+ async processBatch() {
66
+ // Get snapshots of pending events
67
+ const changes = Array.from(this.pendingChanges);
68
+ const adds = Array.from(this.pendingAdds);
69
+ const deletes = Array.from(this.pendingDeletes);
70
+ // Clear pending sets
71
+ this.pendingChanges.clear();
72
+ this.pendingAdds.clear();
73
+ this.pendingDeletes.clear();
74
+ // Skip if nothing to process
75
+ if (changes.length === 0 && adds.length === 0 && deletes.length === 0) {
76
+ return;
77
+ }
78
+ // For batch operations (multiple files), add extra delay to let filesystem settle
79
+ const totalFiles = adds.length + changes.length;
80
+ if (totalFiles > 1) {
81
+ // Wait 500ms for filesystem to fully write all files
82
+ await new Promise((resolve) => setTimeout(resolve, 500));
83
+ // Clear file exists cache so we get fresh lookups
84
+ clearFileExistsCache();
85
+ }
86
+ // Silent batch processing
87
+ // Process in order: adds first (so new files are available for import transformation),
88
+ // then changes (can reference newly added files), then deletes
89
+ await this.processBatchAdds(adds);
90
+ // TODO: If changed files are just saves, then skip triggering the batch completion event
91
+ await this.processBatchChanges(changes);
92
+ await this.processBatchDeletes(deletes);
93
+ // Update dependency graph and manifest once
94
+ this.fileOperations.updateFileDependents();
95
+ this.fileOperations.syncFilesToManifest();
96
+ await this.manifest.save();
97
+ // Trigger batch completion event (for reload execution)
98
+ events.trigger("dev-server:batch-complete", {
99
+ added: adds,
100
+ changed: changes,
101
+ deleted: deletes,
102
+ });
103
+ }
104
+ /**
105
+ * Process batch of changed files
106
+ */
107
+ async processBatchChanges(relativePaths) {
108
+ if (relativePaths.length === 0)
109
+ return;
110
+ const BATCH_SIZE = FILE_PROCESSING_BATCH_SIZE;
111
+ for (let i = 0; i < relativePaths.length; i += BATCH_SIZE) {
112
+ const batch = relativePaths.slice(i, i + BATCH_SIZE);
113
+ await Promise.all(batch.map(async (relativePath) => {
114
+ await this.fileOperations.updateFile(relativePath);
115
+ }));
116
+ }
117
+ }
118
+ /**
119
+ * Process batch of added files
120
+ * Uses push-to-end strategy: files that depend on other batch files are processed last
121
+ */
122
+ async processBatchAdds(relativePaths) {
123
+ if (relativePaths.length === 0)
124
+ return;
125
+ const batchSet = new Set(relativePaths);
126
+ // PHASE 1: Parse all files in parallel to discover dependencies
127
+ const parsedFiles = await Promise.all(relativePaths.map(async (relativePath) => {
128
+ try {
129
+ const fileManager = await this.fileOperations.parseNewFile(relativePath);
130
+ return fileManager;
131
+ }
132
+ catch (error) {
133
+ return null; // Skip files that can't be parsed
134
+ }
135
+ }));
136
+ // Filter out nulls
137
+ const validFiles = parsedFiles.filter((f) => f !== null);
138
+ // PHASE 2: Reorder - push files with batch dependencies to the end
139
+ const noDeps = [];
140
+ const hasDeps = [];
141
+ for (const file of validFiles) {
142
+ const dependsOnBatch = [...file.dependencies].some((dep) => batchSet.has(dep));
143
+ if (dependsOnBatch) {
144
+ hasDeps.push(file);
145
+ }
146
+ else {
147
+ noDeps.push(file);
148
+ }
149
+ }
150
+ // Combine: no-deps first, has-deps last
151
+ const orderedFiles = [...noDeps, ...hasDeps];
152
+ // PHASE 3: Process sequentially with retry for failures
153
+ const failed = [];
154
+ for (const file of orderedFiles) {
155
+ try {
156
+ await this.fileOperations.finalizeNewFile(file);
157
+ devLogSuccess(`Added file: ${file.relativePath}`);
158
+ }
159
+ catch (error) {
160
+ failed.push(file);
161
+ }
162
+ }
163
+ // Retry failed files once (their dependencies might be ready now)
164
+ for (const file of failed) {
165
+ try {
166
+ await this.fileOperations.finalizeNewFile(file);
167
+ devLogSuccess(`Added file: ${file.relativePath}`);
168
+ }
169
+ catch (error) {
170
+ // Log error but continue - file may have other issues
171
+ console.error(`Failed to add file ${file.relativePath}:`, error);
172
+ }
173
+ }
174
+ }
175
+ /**
176
+ * Process batch of deleted files
177
+ */
178
+ async processBatchDeletes(relativePaths) {
179
+ if (relativePaths.length === 0)
180
+ return;
181
+ for (const relativePath of relativePaths) {
182
+ await this.fileOperations.deleteFile(relativePath);
183
+ devLogSuccess(`Deleted file: ${relativePath}`);
184
+ }
185
+ }
186
+ }export{FileEventHandler};//# sourceMappingURL=file-event-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-event-handler.js","sources":["../../src/dev2-server/file-event-handler.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,374 @@
1
+ import events from'@mongez/events';import {getFileAsync,lastModifiedAsync,putFileAsync}from'@mongez/fs';import crypto from'crypto';import {pathToFileURL}from'url';import {DEV_SERVER_EVENTS}from'./events.js';import {transformImports}from'./import-transformer.js';import {parseImports}from'./parse-imports.js';import {Path}from'./path.js';import {transpileFile}from'./transpile-file.js';import {warlockCachePath}from'./utils.js';class FileManager {
2
+ absolutePath;
3
+ files;
4
+ fileOperations;
5
+ /**
6
+ * Relative path to root directory
7
+ */
8
+ relativePath = "";
9
+ /**
10
+ * Last modified timestamp
11
+ */
12
+ lastModified = 0;
13
+ /**
14
+ * Hash of the file content
15
+ */
16
+ hash = "";
17
+ /**
18
+ * Source code of the file
19
+ */
20
+ source = "";
21
+ /**
22
+ * Transpiled code of the file
23
+ */
24
+ transpiled = "";
25
+ /**
26
+ * Dependencies of the file (relative paths)
27
+ */
28
+ dependencies = new Set();
29
+ /**
30
+ * Import map: original import path -> resolved absolute path
31
+ * Used for import transformation
32
+ */
33
+ importMap = new Map();
34
+ /**
35
+ * Dependents of the file
36
+ */
37
+ dependents = new Set();
38
+ /**
39
+ * Version of the file
40
+ */
41
+ version = 0;
42
+ /**
43
+ * Type of the file
44
+ */
45
+ type;
46
+ /**
47
+ * Layer of the file
48
+ */
49
+ layer;
50
+ /**
51
+ * Cache path of the file
52
+ */
53
+ cachePath = "";
54
+ /**
55
+ * File cleanup function
56
+ */
57
+ cleanup;
58
+ /**
59
+ * Whether imports have been transformed to cache paths
60
+ */
61
+ importsTransformed = false;
62
+ /**
63
+ * Whether this file contains only type definitions (no runtime code)
64
+ * Used to exclude from circular dependency detection
65
+ */
66
+ isTypeOnlyFile = false;
67
+ /**
68
+ * File state
69
+ */
70
+ state = "idle";
71
+ /**
72
+ * Constructor
73
+ */
74
+ constructor(absolutePath, files, fileOperations) {
75
+ this.absolutePath = absolutePath;
76
+ this.files = files;
77
+ this.fileOperations = fileOperations;
78
+ }
79
+ /**
80
+ * Initialize the file manager
81
+ * @param fileManifest Optional manifest data from previous build
82
+ * @param filesMap Optional map of all FileManager instances (for import transformation)
83
+ */
84
+ async init(fileManifest) {
85
+ this.state = "loading";
86
+ // No manifest = fresh file, load from disk
87
+ if (!fileManifest) {
88
+ await this.loadFromDisk();
89
+ // Import transformation will happen later in FilesOrchestrator.transformAllImports()
90
+ // after all files are processed and available in the files map
91
+ return;
92
+ }
93
+ // Manifest exists = check if file changed since last build
94
+ await this.loadFromManifest(fileManifest);
95
+ // Import transformation will happen later in FilesOrchestrator.transformAllImports()
96
+ // for files that were reprocessed (importsTransformed = false)
97
+ }
98
+ /**
99
+ * Get cached file path ready for dynamic import
100
+ */
101
+ get cachePathUrl() {
102
+ if (!this.cachePath)
103
+ return "";
104
+ return pathToFileURL(warlockCachePath(this.cachePath)).href;
105
+ }
106
+ /**
107
+ * Load file with manifest data (check if changed)
108
+ */
109
+ async loadFromManifest(fileManifest) {
110
+ // Set basic properties from manifest
111
+ this.relativePath = fileManifest.relativePath || Path.toRelative(this.absolutePath);
112
+ this.version = fileManifest.version || 0;
113
+ this.type = fileManifest.type;
114
+ this.layer = fileManifest.layer;
115
+ this.cachePath =
116
+ fileManifest.cachePath || this.relativePath.replace(/\//g, "-").replace(/\.(ts|tsx)$/, ".js");
117
+ // Check if file still exists
118
+ try {
119
+ this.source = await getFileAsync(this.absolutePath);
120
+ }
121
+ catch (error) {
122
+ this.state = "deleted";
123
+ return;
124
+ }
125
+ // Calculate current hash
126
+ const currentHash = crypto.createHash("sha256").update(this.source).digest("hex");
127
+ const currentLastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
128
+ // Compare with manifest data
129
+ const hasChanged = currentHash !== fileManifest.hash;
130
+ if (hasChanged) {
131
+ // File changed - reprocess it
132
+ this.hash = currentHash;
133
+ this.lastModified = currentLastModified;
134
+ this.version++;
135
+ await this.processFile();
136
+ }
137
+ else {
138
+ // File unchanged - load from cache
139
+ this.hash = fileManifest.hash;
140
+ this.lastModified = fileManifest.lastModified;
141
+ this.dependencies = new Set(fileManifest.dependencies || []);
142
+ this.dependents = new Set(fileManifest.dependents || []);
143
+ // Load cached transpiled code
144
+ try {
145
+ this.transpiled = await getFileAsync(warlockCachePath(this.cachePath));
146
+ // Cached files already have transformed imports
147
+ this.importsTransformed = true;
148
+ }
149
+ catch (error) {
150
+ // Cache missing - retranspile
151
+ await this.processFile();
152
+ // Will need import transformation
153
+ this.importsTransformed = false;
154
+ }
155
+ }
156
+ this.state = "ready";
157
+ events.trigger(DEV_SERVER_EVENTS.FILE_READY, this);
158
+ }
159
+ /**
160
+ * Load file from disk (fresh, no manifest)
161
+ */
162
+ async loadFromDisk() {
163
+ this.source = await getFileAsync(this.absolutePath);
164
+ this.hash = crypto.createHash("sha256").update(this.source).digest("hex");
165
+ this.relativePath = Path.toRelative(this.absolutePath);
166
+ this.lastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
167
+ this.version = 0;
168
+ this.detectFileTypeAndLayer();
169
+ // Generate cache path (replace / with - and change extension to .js)
170
+ this.cachePath = this.relativePath.replace(/\//g, "-").replace(/\.(ts|tsx)$/, ".js");
171
+ await this.processFile();
172
+ this.state = "ready";
173
+ events.trigger(DEV_SERVER_EVENTS.FILE_READY, this);
174
+ }
175
+ /**
176
+ * Process file: parse imports first, then transpile
177
+ */
178
+ async processFile() {
179
+ // STEP 1: Parse imports from source (must be first to get dependencies)
180
+ const importMap = await parseImports(this.source, this.absolutePath);
181
+ // Store dependencies as relative paths
182
+ const importsRelativePaths = Array.from(importMap.values()).map((absPath) => Path.toRelative(absPath));
183
+ this.dependencies = new Set(importsRelativePaths);
184
+ // Store import map for later use in import transformation
185
+ this.importMap = importMap;
186
+ const missingImports = Array.from(this.dependencies.values()).filter((relativePath) => !this.files.has(relativePath));
187
+ if (missingImports.length > 0) {
188
+ // if missing, try to find them first in their locations
189
+ await Promise.all(missingImports.map((relativePath) => this.fileOperations.addFile(relativePath)));
190
+ }
191
+ // STEP 2: Transpile source code
192
+ this.transpiled = await transpileFile(this);
193
+ // STEP 3: Save transpiled code to cache
194
+ await putFileAsync(warlockCachePath(this.cachePath), this.transpiled);
195
+ }
196
+ /**
197
+ * Phase 1: Parse the file to discover dependencies
198
+ * Does NOT write cache yet - used for batch file processing
199
+ * to determine processing order
200
+ */
201
+ async parseOnly() {
202
+ this.state = "loading";
203
+ // Load source
204
+ this.source = await getFileAsync(this.absolutePath);
205
+ this.hash = crypto.createHash("sha256").update(this.source).digest("hex");
206
+ this.relativePath = Path.toRelative(this.absolutePath);
207
+ this.lastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
208
+ this.version = 0;
209
+ // Detect type and layer
210
+ this.detectFileTypeAndLayer();
211
+ this.cachePath = this.relativePath.replace(/\//g, "-").replace(/\.(ts|tsx)$/, ".js");
212
+ // Parse imports to discover dependencies
213
+ const importMap = await parseImports(this.source, this.absolutePath);
214
+ this.dependencies = new Set(Array.from(importMap.values()).map((absPath) => Path.toRelative(absPath)));
215
+ this.importMap = importMap;
216
+ this.state = "parsed";
217
+ }
218
+ /**
219
+ * Phase 2: Complete processing (transpile, transform, write cache)
220
+ * Called after dependencies are ready
221
+ */
222
+ async finalize() {
223
+ // Re-parse imports to ensure importMap is populated correctly
224
+ // (During parseOnly(), some batch files may not have existed on disk yet)
225
+ const importMap = await parseImports(this.source, this.absolutePath);
226
+ this.dependencies = new Set(Array.from(importMap.values()).map((absPath) => Path.toRelative(absPath)));
227
+ this.importMap = importMap;
228
+ // Check and add any missing dependencies first
229
+ const missingImports = Array.from(this.dependencies.values()).filter((relativePath) => !this.files.has(relativePath));
230
+ if (missingImports.length > 0) {
231
+ await Promise.all(missingImports.map((relativePath) => this.fileOperations.addFile(relativePath)));
232
+ }
233
+ // Transpile
234
+ this.transpiled = await transpileFile(this);
235
+ this.importsTransformed = false;
236
+ // Transform imports to cache paths
237
+ await this.transformImports();
238
+ this.state = "ready";
239
+ events.trigger(DEV_SERVER_EVENTS.FILE_READY, this);
240
+ }
241
+ /**
242
+ * Detect file type and layer based on path
243
+ */
244
+ detectFileTypeAndLayer() {
245
+ // Main entry files
246
+ if (this.relativePath.includes("main.ts") || this.relativePath.includes("main.tsx")) {
247
+ this.type = "main";
248
+ this.layer = "HMR";
249
+ return;
250
+ }
251
+ // Config files - FSR but handled specially (reload config + restart affected connectors)
252
+ if (this.relativePath.startsWith("src/config/")) {
253
+ this.type = "config";
254
+ this.layer = "HMR";
255
+ return;
256
+ }
257
+ // Routes files
258
+ if (this.relativePath.endsWith("routes.ts") || this.relativePath.endsWith("routes.tsx")) {
259
+ this.type = "route";
260
+ this.layer = "HMR"; // For now FSR, will be HMR with wildcard routing
261
+ return;
262
+ }
263
+ // Event files
264
+ if (this.relativePath.includes("/events/")) {
265
+ this.type = "event";
266
+ this.layer = "HMR";
267
+ return;
268
+ }
269
+ // Controllers
270
+ if (this.relativePath.includes("controller")) {
271
+ this.type = "controller";
272
+ this.layer = "HMR";
273
+ return;
274
+ }
275
+ // Services
276
+ if (this.relativePath.includes("service")) {
277
+ this.type = "service";
278
+ this.layer = "HMR";
279
+ return;
280
+ }
281
+ // Models
282
+ if (this.relativePath.includes("model")) {
283
+ this.type = "model";
284
+ this.layer = "HMR";
285
+ return;
286
+ }
287
+ // Default: other files use HMR
288
+ this.type = "other";
289
+ this.layer = "HMR";
290
+ }
291
+ /**
292
+ * Update file when changed during development
293
+ */
294
+ async update() {
295
+ const newSource = await getFileAsync(this.absolutePath);
296
+ // No change in content
297
+ if (newSource.trim() === this.source.trim()) {
298
+ return false;
299
+ }
300
+ this.state = "updating";
301
+ this.source = newSource;
302
+ this.version++;
303
+ // Update hash and last modified
304
+ this.hash = crypto.createHash("sha256").update(this.source).digest("hex");
305
+ this.lastModified = (await lastModifiedAsync(this.absolutePath)).getTime();
306
+ // Reprocess file
307
+ await this.processFile();
308
+ // Transform imports
309
+ if (this.dependencies.size > 0) {
310
+ this.importsTransformed = false;
311
+ await this.transformImports();
312
+ }
313
+ this.state = "ready";
314
+ return true;
315
+ }
316
+ /**
317
+ * Force reprocess file even if source hasn't changed
318
+ * Useful when dependencies become available (e.g., missing file is added back)
319
+ */
320
+ async forceReprocess() {
321
+ this.state = "updating";
322
+ this.version++;
323
+ // Reprocess file (re-parse imports, retranspile, transform imports)
324
+ await this.processFile();
325
+ // Transform imports
326
+ if (this.dependencies.size > 0) {
327
+ this.importsTransformed = false;
328
+ await this.transformImports();
329
+ }
330
+ this.state = "ready";
331
+ }
332
+ /**
333
+ * Transform imports in transpiled code to use cache paths
334
+ */
335
+ async transformImports() {
336
+ if (this.importsTransformed) {
337
+ return; // Already transformed
338
+ }
339
+ try {
340
+ // Transform imports in transpiled code
341
+ const transformedCode = transformImports(this, this.files);
342
+ // Update the transpiled code
343
+ this.transpiled = transformedCode;
344
+ // Save the transformed code back to cache
345
+ await putFileAsync(warlockCachePath(this.cachePath), transformedCode);
346
+ // Mark as transformed
347
+ this.importsTransformed = true;
348
+ }
349
+ catch (error) {
350
+ throw error;
351
+ }
352
+ }
353
+ /**
354
+ * Export file data as manifest entry
355
+ * Note: source and transpiled code are NOT stored in manifest
356
+ * - Source code is in the original file
357
+ * - Transpiled code is in .warlock/cache/
358
+ * - Hash is used to detect changes
359
+ */
360
+ toManifest() {
361
+ return {
362
+ absolutePath: this.absolutePath,
363
+ relativePath: this.relativePath,
364
+ lastModified: this.lastModified,
365
+ hash: this.hash,
366
+ dependencies: Array.from(this.dependencies),
367
+ dependents: Array.from(this.dependents),
368
+ version: this.version,
369
+ type: this.type,
370
+ layer: this.layer,
371
+ cachePath: this.cachePath,
372
+ };
373
+ }
374
+ }export{FileManager};//# sourceMappingURL=file-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-manager.js","sources":["../../src/dev2-server/file-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}