@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,228 @@
1
+ import events from'@mongez/events';import {unlinkAsync}from'@mongez/fs';import {DEV_SERVER_EVENTS}from'./events.js';import {FileManager}from'./file-manager.js';import {parseImports}from'./parse-imports.js';import {Path}from'./path.js';import {areSetsEqual,warlockCachePath}from'./utils.js';/**
2
+ * FileOperations
3
+ * Handles file lifecycle operations: add, update, delete
4
+ *
5
+ * Responsibilities:
6
+ * - Create/update/delete FileManager instances
7
+ * - Manage cache files
8
+ * - Update dependency graph
9
+ * - Update special files collector
10
+ * - Trigger events
11
+ */
12
+ class FileOperations {
13
+ files;
14
+ dependencyGraph;
15
+ manifest;
16
+ specialFilesCollector;
17
+ constructor(files, dependencyGraph, manifest, specialFilesCollector) {
18
+ this.files = files;
19
+ this.dependencyGraph = dependencyGraph;
20
+ this.manifest = manifest;
21
+ this.specialFilesCollector = specialFilesCollector;
22
+ }
23
+ /**
24
+ * Add a new file to the system
25
+ * @param relativePath - Relative path of the file
26
+ * @returns The created FileManager instance
27
+ */
28
+ async addFile(relativePath) {
29
+ // Check if already tracked
30
+ if (this.files.has(relativePath)) {
31
+ throw new Error(`File already exists: ${relativePath}`);
32
+ }
33
+ const absolutePath = Path.toAbsolute(relativePath);
34
+ const fileManager = new FileManager(absolutePath, this.files, this);
35
+ // Initialize the file (load, transpile, transform imports)
36
+ await fileManager.init();
37
+ // Add to dependency graph
38
+ for (const dependency of fileManager.dependencies) {
39
+ this.dependencyGraph.addDependency(relativePath, dependency);
40
+ }
41
+ // Add to special files collector
42
+ this.specialFilesCollector.addFile(fileManager);
43
+ // Check if any existing files were waiting for this dependency
44
+ // (i.e., they have broken imports that can now be resolved)
45
+ await this.reloadFilesWaitingForDependency(relativePath);
46
+ // Add to tracking
47
+ this.files.set(relativePath, fileManager);
48
+ // Trigger event
49
+ events.trigger(DEV_SERVER_EVENTS.FILE_READY, fileManager);
50
+ return fileManager;
51
+ }
52
+ /**
53
+ * Phase 1: Parse a new file (discover dependencies)
54
+ * Does NOT write cache or register in graph yet
55
+ * Used for batch file processing to determine processing order
56
+ */
57
+ async parseNewFile(relativePath) {
58
+ // Return existing if already tracked
59
+ if (this.files.has(relativePath)) {
60
+ return this.files.get(relativePath);
61
+ }
62
+ const absolutePath = Path.toAbsolute(relativePath);
63
+ const fileManager = new FileManager(absolutePath, this.files, this);
64
+ // Parse only - read source, parse imports, detect type
65
+ await fileManager.parseOnly();
66
+ // Add to files map early so other files can find it during import resolution
67
+ this.files.set(relativePath, fileManager);
68
+ return fileManager;
69
+ }
70
+ /**
71
+ * Phase 2: Finalize a new file (transpile, write cache, register)
72
+ * Called after dependencies are ready
73
+ */
74
+ async finalizeNewFile(fileManager) {
75
+ // Complete processing (transpile, transform imports, write cache)
76
+ await fileManager.finalize();
77
+ // Add to dependency graph
78
+ for (const dependency of fileManager.dependencies) {
79
+ this.dependencyGraph.addDependency(fileManager.relativePath, dependency);
80
+ }
81
+ // Add to special files collector
82
+ this.specialFilesCollector.addFile(fileManager);
83
+ // Check if any existing files were waiting for this dependency
84
+ await this.reloadFilesWaitingForDependency(fileManager.relativePath);
85
+ }
86
+ /**
87
+ * Reload files that might have been waiting for this dependency
88
+ * When a file is added, check if any existing files have imports
89
+ * that could now resolve to this new file
90
+ */
91
+ async reloadFilesWaitingForDependency(newFilePath) {
92
+ const newFileRelativePath = newFilePath;
93
+ const potentialDependents = [];
94
+ // Check all existing files to see if any of their imports could resolve to the new file
95
+ for (const [existingPath, existingFile] of this.files) {
96
+ if (existingPath === newFilePath)
97
+ continue;
98
+ // Re-parse imports from the source to check if any could resolve to the new file
99
+ try {
100
+ const importMap = await parseImports(existingFile.source, existingFile.absolutePath);
101
+ // Check if any import in the map resolves to the new file
102
+ for (const [_importPath, resolvedPath] of importMap) {
103
+ if (resolvedPath && Path.toRelative(resolvedPath) === newFileRelativePath) {
104
+ // This import could now be resolved! Add to dependents
105
+ potentialDependents.push(existingPath);
106
+ break; // Found a match, no need to check other imports
107
+ }
108
+ }
109
+ }
110
+ catch (error) {
111
+ // Skip files that can't be parsed
112
+ continue;
113
+ }
114
+ }
115
+ // Retranspile and reload potential dependents
116
+ if (potentialDependents.length > 0) {
117
+ for (const dependentPath of potentialDependents) {
118
+ const dependentFile = this.files.get(dependentPath);
119
+ if (dependentFile) {
120
+ try {
121
+ // Force reprocess to re-parse imports and resolve to new file (with bundle awareness)
122
+ await dependentFile.forceReprocess();
123
+ // Update dependency graph
124
+ this.dependencyGraph.updateFile(dependentPath, dependentFile.dependencies);
125
+ // Trigger reload event
126
+ events.trigger(DEV_SERVER_EVENTS.FILE_READY, dependentFile);
127
+ }
128
+ catch (error) {
129
+ // Ignore errors - the file might still have broken imports
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ /**
136
+ * Update an existing file
137
+ * @param relativePath - Relative path of the file
138
+ * @returns True if file was changed, false if unchanged
139
+ */
140
+ async updateFile(relativePath) {
141
+ const fileManager = this.files.get(relativePath);
142
+ if (!fileManager) {
143
+ // File not tracked, treat as new file
144
+ await this.addFile(relativePath);
145
+ return true;
146
+ }
147
+ // Store old dependencies
148
+ const oldDependencies = new Set(fileManager.dependencies);
149
+ try {
150
+ // Update the file (with bundle awareness)
151
+ const hasChanged = await fileManager.update();
152
+ if (!hasChanged) {
153
+ return false;
154
+ }
155
+ // Update dependency graph if dependencies changed
156
+ const newDependencies = fileManager.dependencies;
157
+ if (!areSetsEqual(oldDependencies, newDependencies)) {
158
+ this.dependencyGraph.updateFile(relativePath, newDependencies);
159
+ }
160
+ // Update special files collector
161
+ this.specialFilesCollector.updateFile(fileManager);
162
+ // Trigger event
163
+ events.trigger(DEV_SERVER_EVENTS.FILE_READY, fileManager);
164
+ return true;
165
+ }
166
+ catch (error) {
167
+ // Failed to update (likely broken imports)
168
+ // Don't trigger FILE_READY event for broken files
169
+ return false;
170
+ }
171
+ }
172
+ /**
173
+ * Delete a file from the system
174
+ * @param relativePath - Relative path of the file
175
+ */
176
+ async deleteFile(relativePath) {
177
+ const fileManager = this.files.get(relativePath);
178
+ if (!fileManager) {
179
+ return;
180
+ }
181
+ // Get dependents before removing (so we can notify them)
182
+ const dependents = this.dependencyGraph.getDependents(relativePath);
183
+ // Delete cache file
184
+ try {
185
+ const cachePath = warlockCachePath(fileManager.cachePath);
186
+ await unlinkAsync(cachePath);
187
+ }
188
+ catch (error) {
189
+ // Cache file might not exist, ignore
190
+ }
191
+ // Remove from dependency graph
192
+ this.dependencyGraph.removeFile(relativePath);
193
+ // Remove from special files collector
194
+ this.specialFilesCollector.removeFile(relativePath);
195
+ // Remove from tracking
196
+ this.manifest.removeFile(relativePath);
197
+ // Trigger reload of dependents so they see the broken import error
198
+ for (const dependentPath of dependents) {
199
+ const dependentFile = this.files.get(dependentPath);
200
+ if (dependentFile) {
201
+ // Trigger event to reload the dependent (will fail with import error)
202
+ events.trigger(DEV_SERVER_EVENTS.FILE_READY, dependentFile);
203
+ }
204
+ }
205
+ setTimeout(() => {
206
+ // wait some time begore removing it from the files map
207
+ // so that other operations could use the existing file manager there
208
+ this.files.delete(relativePath);
209
+ }, 300);
210
+ }
211
+ /**
212
+ * Update dependents in all FileManager instances from dependency graph
213
+ */
214
+ updateFileDependents() {
215
+ for (const [relativePath, fileManager] of this.files) {
216
+ const dependents = this.dependencyGraph.getDependents(relativePath);
217
+ fileManager.dependents = dependents;
218
+ }
219
+ }
220
+ /**
221
+ * Sync all FileManager instances to manifest
222
+ */
223
+ syncFilesToManifest() {
224
+ for (const [relativePath, fileManager] of this.files) {
225
+ this.manifest.setFile(relativePath, fileManager.toManifest());
226
+ }
227
+ }
228
+ }export{FileOperations};//# sourceMappingURL=file-operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-operations.js","sources":["../../src/dev2-server/file-operations.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,326 @@
1
+ import {colors}from'@mongez/copper';import {unlinkAsync,putFileAsync}from'@mongez/fs';import {init}from'es-module-lexer';import {warlockConfigManager}from'../warlock-config/warlock-config.manager.js';import {DependencyGraph}from'./dependency-graph.js';import {devLogDim,devLogSuccess}from'./dev-logger.js';import {FileEventHandler}from'./file-event-handler.js';import {FileManager}from'./file-manager.js';import {FileOperations}from'./file-operations.js';import {FilesWatcher}from'./files-watcher.js';import {FILE_PROCESSING_BATCH_SIZE}from'./flags.js';import {EslintHealthChecker}from'./health-checker/checkers/eslint-health-checker.js';import {TypescriptHealthChecker}from'./health-checker/checkers/typescript-health-checker.js';import {FilesHealthcareManager}from'./health-checker/files-healthcare.manager.js';import {transformImports}from'./import-transformer.js';import {ManifestManager}from'./manifest-manager.js';import {ModuleLoader}from'./module-loader.js';import {packageJsonManager}from'./package-json-manager.js';import {Path}from'./path.js';import {SpecialFilesCollector}from'./special-files-collector.js';import {tsconfigManager}from'./tsconfig-manager.js';import {getFilesFromDirectory,createFreshWarlockDirectory,warlockCachePath}from'./utils.js';class FilesOrchestrator {
2
+ filesWatcher = new FilesWatcher();
3
+ files = new Map();
4
+ manifest = new ManifestManager(this.files);
5
+ dependencyGraph = new DependencyGraph();
6
+ healthCheckerManager = new FilesHealthcareManager(this.files);
7
+ fileOperations;
8
+ eventHandler;
9
+ specialFilesCollector = new SpecialFilesCollector();
10
+ moduleLoader = new ModuleLoader(this.specialFilesCollector);
11
+ /**
12
+ * Set the special files collector
13
+ * This should be called before starting file watching
14
+ */
15
+ constructor() {
16
+ // Recreate file operations with the collector
17
+ this.fileOperations = new FileOperations(this.files, this.dependencyGraph, this.manifest, this.specialFilesCollector);
18
+ // Recreate event handler with updated file operations
19
+ this.eventHandler = new FileEventHandler(this.fileOperations, this.manifest);
20
+ }
21
+ /**
22
+ * Parse and add the given file to files list
23
+ */
24
+ async add(relativePath) {
25
+ return this.fileOperations.addFile(relativePath);
26
+ }
27
+ /**
28
+ * Add then load the file through the modules load
29
+ */
30
+ async load(relativePath, type = "other") {
31
+ const fileManager = await this.add(relativePath);
32
+ return this.moduleLoader.loadModule(fileManager, fileManager.type || type);
33
+ }
34
+ /**
35
+ * Get the dependency graph
36
+ * Provides read-only access to the dependency graph for external use
37
+ */
38
+ getDependencyGraph() {
39
+ return this.dependencyGraph;
40
+ }
41
+ /**
42
+ * Get invalidation chain for a file
43
+ * Returns all files that need to be reloaded when the given file changes
44
+ */
45
+ getInvalidationChain(file) {
46
+ return this.dependencyGraph.getInvalidationChain(file);
47
+ }
48
+ /**
49
+ * Get all tracked files
50
+ */
51
+ getFiles() {
52
+ return this.files;
53
+ }
54
+ /**
55
+ * Get health checker manager
56
+ */
57
+ getHealthCheckerManager() {
58
+ return this.healthCheckerManager;
59
+ }
60
+ /**
61
+ * Initialize the files orchestrator
62
+ */
63
+ async init() {
64
+ // Initialize es-module-lexer (it's a promise, not a function)
65
+ await init;
66
+ // Initialize configuration managers
67
+ await Promise.all([tsconfigManager.init(), packageJsonManager.init()]);
68
+ }
69
+ /**
70
+ * Initialize other features for developemnt server
71
+ */
72
+ async initiaizeAll() {
73
+ const [filesInFilesystem, manifestExists] = await Promise.all([
74
+ this.getAllFilesFromFilesystem(),
75
+ this.manifest.init(),
76
+ ]);
77
+ // STEP 1: Reconcile filesystem with manifest
78
+ if (!manifestExists) {
79
+ // No manifest = fresh start
80
+ await this.processAllFilesFresh(filesInFilesystem);
81
+ }
82
+ else {
83
+ // Manifest exists = reconcile differences
84
+ await this.reconcileFiles(filesInFilesystem);
85
+ }
86
+ // STEP 2: Build dependency graph from all files
87
+ this.dependencyGraph.build(this.files);
88
+ // STEP 3: Update dependents in FileManager instances
89
+ this.updateFileDependents();
90
+ // STEP 4: Sync all files to manifest
91
+ this.syncFilesToManifest();
92
+ // STEP 5: Transform all imports to use cache paths
93
+ await this.transformAllImports();
94
+ // STEP 6: Save updated manifest
95
+ await this.manifest.save();
96
+ }
97
+ /**
98
+ * Check the health of the given files
99
+ */
100
+ async checkHealth(files) {
101
+ const filesToCheck = files.added
102
+ .concat(files.changed)
103
+ .map((file) => this.files.get(Path.toRelative(file)))
104
+ .filter((file) => !!file);
105
+ const filesToDelete = files.deleted
106
+ .map((file) => this.files.get(Path.toRelative(file)))
107
+ .filter((file) => !!file);
108
+ await this.healthCheckerManager.onFileChanges(filesToCheck);
109
+ this.healthCheckerManager.removeFiles(filesToDelete);
110
+ this.healthCheckerManager.checkFiles(filesToCheck);
111
+ }
112
+ /**
113
+ * Check health state for all files
114
+ */
115
+ async startCheckingHealth() {
116
+ devLogDim("Started File Health Checks in the background.");
117
+ const typescriptHealthChecker = new TypescriptHealthChecker();
118
+ const eslintHealthChecker = new EslintHealthChecker();
119
+ await this.healthCheckerManager
120
+ .setHealthCheckers([typescriptHealthChecker, eslintHealthChecker])
121
+ .initialize(); // Initialize workers
122
+ await this.healthCheckerManager.validateAllFiles();
123
+ }
124
+ /**
125
+ * Get all TypeScript/JavaScript files from the filesystem
126
+ * This always scans the actual filesystem, ignoring any cached data
127
+ * @returns Array of relative file paths
128
+ */
129
+ async getAllFilesFromFilesystem() {
130
+ const absolutePaths = await getFilesFromDirectory();
131
+ // Convert to relative paths for consistency throughout the system
132
+ return absolutePaths.map((absPath) => Path.toRelative(absPath));
133
+ }
134
+ /**
135
+ * Process all files fresh (no manifest exists)
136
+ * This happens on first run or when manifest is deleted
137
+ * @param filePaths Array of relative file paths
138
+ */
139
+ async processAllFilesFresh(filePaths) {
140
+ devLogDim(`processing ${filePaths.length} files...`);
141
+ // Ensure .warlock directory exists
142
+ await createFreshWarlockDirectory();
143
+ // Process files in batches for optimal performance
144
+ const BATCH_SIZE = FILE_PROCESSING_BATCH_SIZE;
145
+ for (let i = 0; i < filePaths.length; i += BATCH_SIZE) {
146
+ const batch = filePaths.slice(i, i + BATCH_SIZE);
147
+ await Promise.all(batch.map(async (relativePath) => {
148
+ // Convert to absolute path for FileManager
149
+ const absolutePath = Path.toAbsolute(relativePath);
150
+ const fileManager = new FileManager(absolutePath, this.files, this.fileOperations);
151
+ // Store in map using relative path as key
152
+ this.files.set(relativePath, fileManager);
153
+ await fileManager.init(); // No manifest data
154
+ }));
155
+ }
156
+ devLogSuccess(`processed ${filePaths.length} files`);
157
+ }
158
+ /**
159
+ * Reconcile filesystem state with manifest data
160
+ * This handles: new files, deleted files, and changed files
161
+ */
162
+ async reconcileFiles(filesInFilesystem) {
163
+ const filesInManifest = new Set(this.manifest.getAllFilePaths());
164
+ const filesInFilesystemSet = new Set(filesInFilesystem);
165
+ // Find new files (in filesystem but not in manifest)
166
+ const newFiles = filesInFilesystem.filter((file) => !filesInManifest.has(file));
167
+ // Find deleted files (in manifest but not in filesystem)
168
+ const deletedFiles = Array.from(filesInManifest).filter((file) => !filesInFilesystemSet.has(file));
169
+ // Find existing files (in both)
170
+ const existingFiles = filesInFilesystem.filter((file) => filesInManifest.has(file));
171
+ if (newFiles.length > 0 || deletedFiles.length > 0) {
172
+ const newText = newFiles.length > 0 ? colors.green(newFiles.length) : 0;
173
+ const deletedText = deletedFiles.length > 0 ? colors.red(deletedFiles.length) : 0;
174
+ const existingText = existingFiles.length > 0 ? colors.blue(existingFiles.length) : 0;
175
+ devLogDim(`reconciling: ${newText} new, ${deletedText} deleted, ${existingText} existing`);
176
+ }
177
+ // Process new files
178
+ await this.processNewFiles(newFiles);
179
+ // Remove deleted files
180
+ await this.processDeletedFiles(deletedFiles);
181
+ // Process existing files (check for changes)
182
+ await this.processExistingFiles(existingFiles);
183
+ }
184
+ /**
185
+ * Process newly discovered files
186
+ * @param filePaths Array of relative file paths
187
+ */
188
+ async processNewFiles(filePaths) {
189
+ if (filePaths.length === 0)
190
+ return;
191
+ const BATCH_SIZE = FILE_PROCESSING_BATCH_SIZE;
192
+ for (let i = 0; i < filePaths.length; i += BATCH_SIZE) {
193
+ const batch = filePaths.slice(i, i + BATCH_SIZE);
194
+ await Promise.all(batch.map(async (relativePath) => {
195
+ // Convert to absolute path for FileManager
196
+ const absolutePath = Path.toAbsolute(relativePath);
197
+ const fileManager = new FileManager(absolutePath, this.files, this.fileOperations);
198
+ // Store in map using relative path as key
199
+ this.files.set(relativePath, fileManager);
200
+ await fileManager.init(); // No manifest data = process fresh
201
+ }));
202
+ }
203
+ }
204
+ /**
205
+ * Remove deleted files from tracking
206
+ * @param filePaths Array of relative file paths
207
+ */
208
+ async processDeletedFiles(filePaths) {
209
+ if (filePaths.length === 0)
210
+ return;
211
+ for (const relativePath of filePaths) {
212
+ // Get file info from manifest before deletion
213
+ const manifestEntry = this.manifest.getFile(relativePath);
214
+ if (manifestEntry) {
215
+ // Delete cache file
216
+ try {
217
+ await unlinkAsync(warlockCachePath(manifestEntry.cachePath));
218
+ }
219
+ catch (error) {
220
+ // Cache file might not exist, ignore
221
+ }
222
+ }
223
+ // Remove from manifest
224
+ this.manifest.removeFile(relativePath);
225
+ // Remove from files map
226
+ this.files.delete(relativePath);
227
+ }
228
+ }
229
+ /**
230
+ * Process existing files (check if they changed since last run)
231
+ * @param filePaths Array of relative file paths
232
+ */
233
+ async processExistingFiles(filePaths) {
234
+ if (filePaths.length === 0)
235
+ return;
236
+ const BATCH_SIZE = FILE_PROCESSING_BATCH_SIZE;
237
+ for (let i = 0; i < filePaths.length; i += BATCH_SIZE) {
238
+ const batch = filePaths.slice(i, i + BATCH_SIZE);
239
+ await Promise.all(batch.map(async (relativePath) => {
240
+ // Get manifest data using relative path
241
+ const manifestData = this.manifest.getFile(relativePath);
242
+ // Convert to absolute path for FileManager
243
+ const absolutePath = Path.toAbsolute(relativePath);
244
+ const fileManager = new FileManager(absolutePath, this.files, this.fileOperations);
245
+ // Store in map using relative path as key
246
+ this.files.set(relativePath, fileManager);
247
+ // Pass manifest data to FileManager for comparison
248
+ await fileManager.init(manifestData);
249
+ }));
250
+ }
251
+ }
252
+ /**
253
+ * Update dependents in all FileManager instances from dependency graph
254
+ */
255
+ updateFileDependents() {
256
+ for (const [relativePath, fileManager] of this.files) {
257
+ const dependents = this.dependencyGraph.getDependents(relativePath);
258
+ fileManager.dependents = dependents;
259
+ }
260
+ }
261
+ /**
262
+ * Sync all FileManager instances to manifest
263
+ * Uses relative paths as keys for portability
264
+ */
265
+ syncFilesToManifest() {
266
+ for (const [relativePath, fileManager] of this.files) {
267
+ this.manifest.setFile(relativePath, fileManager.toManifest());
268
+ }
269
+ }
270
+ /**
271
+ * Start file watcher to detect changes during development
272
+ */
273
+ async watchFiles() {
274
+ devLogSuccess("watching for file changes");
275
+ // Connect file watcher to event handler
276
+ this.filesWatcher.onFileChange((absolutePath) => {
277
+ this.eventHandler.handleFileChange(absolutePath);
278
+ });
279
+ this.filesWatcher.onFileAdd((absolutePath) => {
280
+ this.eventHandler.handleFileAdd(absolutePath);
281
+ });
282
+ this.filesWatcher.onFileDelete((absolutePath) => {
283
+ this.eventHandler.handleFileDelete(absolutePath);
284
+ });
285
+ // Get watch config from warlock.config.ts (if loaded)
286
+ const watchConfig = warlockConfigManager.isLoaded
287
+ ? warlockConfigManager.get("devServer")?.watch
288
+ : undefined;
289
+ await this.filesWatcher.watch(watchConfig);
290
+ }
291
+ /**
292
+ * Transform all imports to use cache paths
293
+ * This is called AFTER all files are processed and transpiled
294
+ * Only transforms files that haven't been transformed yet (freshly transpiled)
295
+ */
296
+ async transformAllImports() {
297
+ let transformedCount = 0;
298
+ for (const [relativePath, fileManager] of this.files) {
299
+ // Skip files that already have transformed imports (loaded from cache)
300
+ if (fileManager.importsTransformed) {
301
+ continue;
302
+ }
303
+ // Only transform files that have dependencies
304
+ if (fileManager.dependencies.size === 0) {
305
+ // Mark as transformed even if no dependencies
306
+ fileManager.importsTransformed = true;
307
+ continue;
308
+ }
309
+ try {
310
+ // Transform imports in transpiled code
311
+ const transformedCode = transformImports(fileManager, this.files);
312
+ // Update the transpiled code
313
+ fileManager.transpiled = transformedCode;
314
+ // Save the transformed code back to cache
315
+ await putFileAsync(warlockCachePath(fileManager.cachePath), transformedCode);
316
+ // Mark as transformed
317
+ fileManager.importsTransformed = true;
318
+ transformedCount++;
319
+ }
320
+ catch (error) {
321
+ console.error(`Error transforming imports for ${relativePath}:`, error);
322
+ }
323
+ }
324
+ }
325
+ }
326
+ const filesOrchestrator = new FilesOrchestrator();export{FilesOrchestrator,filesOrchestrator};//# sourceMappingURL=files-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-orchestrator.js","sources":["../../src/dev2-server/files-orchestrator.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}