@warlock.js/core 3.0.40 → 4.0.2

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 (351) hide show
  1. package/cjs/code-quality/config.js +1 -7
  2. package/cjs/code-quality/config.js.map +1 -1
  3. package/cjs/code-quality/issue-tracker.js +1 -119
  4. package/cjs/code-quality/issue-tracker.js.map +1 -1
  5. package/cjs/dev2-server/config-handlers.d.ts +8 -0
  6. package/cjs/dev2-server/config-handlers.d.ts.map +1 -0
  7. package/cjs/dev2-server/config-handlers.js +56 -0
  8. package/cjs/dev2-server/config-handlers.js.map +1 -0
  9. package/cjs/dev2-server/config-loader.d.ts +61 -0
  10. package/cjs/dev2-server/config-loader.d.ts.map +1 -0
  11. package/cjs/dev2-server/config-loader.js +122 -0
  12. package/cjs/dev2-server/config-loader.js.map +1 -0
  13. package/cjs/dev2-server/connectors/base-connector.d.ts +49 -0
  14. package/cjs/dev2-server/connectors/base-connector.d.ts.map +1 -0
  15. package/cjs/dev2-server/connectors/base-connector.js +48 -0
  16. package/cjs/dev2-server/connectors/base-connector.js.map +1 -0
  17. package/cjs/dev2-server/connectors/cache-connector.d.ts +23 -0
  18. package/cjs/dev2-server/connectors/cache-connector.d.ts.map +1 -0
  19. package/cjs/dev2-server/connectors/cache-connector.js +35 -0
  20. package/cjs/dev2-server/connectors/cache-connector.js.map +1 -0
  21. package/cjs/dev2-server/connectors/database-connector.d.ts +23 -0
  22. package/cjs/dev2-server/connectors/database-connector.d.ts.map +1 -0
  23. package/cjs/dev2-server/connectors/database-connector.js +46 -0
  24. package/cjs/dev2-server/connectors/database-connector.js.map +1 -0
  25. package/cjs/dev2-server/connectors/http-connector.d.ts +29 -0
  26. package/cjs/dev2-server/connectors/http-connector.d.ts.map +1 -0
  27. package/cjs/dev2-server/connectors/http-connector.js +71 -0
  28. package/cjs/dev2-server/connectors/http-connector.js.map +1 -0
  29. package/cjs/dev2-server/connectors/index.d.ts +10 -0
  30. package/cjs/dev2-server/connectors/index.d.ts.map +1 -0
  31. package/cjs/dev2-server/connectors/types.d.ts +49 -0
  32. package/cjs/dev2-server/connectors/types.d.ts.map +1 -0
  33. package/cjs/dev2-server/connectors/types.js +9 -0
  34. package/cjs/dev2-server/connectors/types.js.map +1 -0
  35. package/cjs/dev2-server/dependency-graph.d.ts +93 -0
  36. package/cjs/dev2-server/dependency-graph.d.ts.map +1 -0
  37. package/cjs/dev2-server/dependency-graph.js +266 -0
  38. package/cjs/dev2-server/dependency-graph.js.map +1 -0
  39. package/cjs/dev2-server/dev-logger.d.ts +14 -0
  40. package/cjs/dev2-server/dev-logger.d.ts.map +1 -0
  41. package/cjs/dev2-server/dev-logger.js +105 -0
  42. package/cjs/dev2-server/dev-logger.js.map +1 -0
  43. package/cjs/dev2-server/development-server.d.ts +97 -0
  44. package/cjs/dev2-server/development-server.d.ts.map +1 -0
  45. package/cjs/dev2-server/development-server.js +224 -0
  46. package/cjs/dev2-server/development-server.js.map +1 -0
  47. package/cjs/dev2-server/events.d.ts +5 -0
  48. package/cjs/dev2-server/events.d.ts.map +1 -0
  49. package/cjs/dev2-server/events.js +4 -0
  50. package/cjs/dev2-server/events.js.map +1 -0
  51. package/cjs/dev2-server/file-event-handler.d.ts +58 -0
  52. package/cjs/dev2-server/file-event-handler.d.ts.map +1 -0
  53. package/cjs/dev2-server/file-event-handler.js +140 -0
  54. package/cjs/dev2-server/file-event-handler.js.map +1 -0
  55. package/cjs/dev2-server/file-manager.d.ts +115 -0
  56. package/cjs/dev2-server/file-manager.d.ts.map +1 -0
  57. package/cjs/dev2-server/file-manager.js +319 -0
  58. package/cjs/dev2-server/file-manager.js.map +1 -0
  59. package/cjs/dev2-server/file-operations.d.ts +54 -0
  60. package/cjs/dev2-server/file-operations.d.ts.map +1 -0
  61. package/cjs/dev2-server/file-operations.js +191 -0
  62. package/cjs/dev2-server/file-operations.js.map +1 -0
  63. package/cjs/dev2-server/files-orchestrator.d.ts +88 -0
  64. package/cjs/dev2-server/files-orchestrator.d.ts.map +1 -0
  65. package/cjs/dev2-server/files-orchestrator.js +273 -0
  66. package/cjs/dev2-server/files-orchestrator.js.map +1 -0
  67. package/cjs/dev2-server/files-watcher.d.ts +53 -0
  68. package/cjs/dev2-server/files-watcher.d.ts.map +1 -0
  69. package/cjs/dev2-server/files-watcher.js +88 -0
  70. package/cjs/dev2-server/files-watcher.js.map +1 -0
  71. package/cjs/dev2-server/flags.d.ts +10 -0
  72. package/cjs/dev2-server/flags.d.ts.map +1 -0
  73. package/cjs/dev2-server/flags.js +9 -0
  74. package/cjs/dev2-server/flags.js.map +1 -0
  75. package/cjs/dev2-server/health-checker.d.ts +3 -0
  76. package/cjs/dev2-server/health-checker.d.ts.map +1 -0
  77. package/cjs/dev2-server/health-checker.js +2 -0
  78. package/cjs/dev2-server/health-checker.js.map +1 -0
  79. package/cjs/dev2-server/import-transformer.d.ts +16 -0
  80. package/cjs/dev2-server/import-transformer.d.ts.map +1 -0
  81. package/cjs/dev2-server/import-transformer.js +248 -0
  82. package/cjs/dev2-server/import-transformer.js.map +1 -0
  83. package/cjs/dev2-server/index.d.ts +1 -0
  84. package/cjs/dev2-server/index.d.ts.map +1 -0
  85. package/cjs/dev2-server/layer-executor.d.ts +64 -0
  86. package/cjs/dev2-server/layer-executor.d.ts.map +1 -0
  87. package/cjs/dev2-server/layer-executor.js +292 -0
  88. package/cjs/dev2-server/layer-executor.js.map +1 -0
  89. package/cjs/dev2-server/manifest-manager.d.ts +80 -0
  90. package/cjs/dev2-server/manifest-manager.d.ts.map +1 -0
  91. package/cjs/dev2-server/manifest-manager.js +107 -0
  92. package/cjs/dev2-server/manifest-manager.js.map +1 -0
  93. package/cjs/dev2-server/module-loader.d.ts +100 -0
  94. package/cjs/dev2-server/module-loader.d.ts.map +1 -0
  95. package/cjs/dev2-server/module-loader.js +228 -0
  96. package/cjs/dev2-server/module-loader.js.map +1 -0
  97. package/cjs/dev2-server/package-json-manager.d.ts +16 -0
  98. package/cjs/dev2-server/package-json-manager.d.ts.map +1 -0
  99. package/cjs/dev2-server/package-json-manager.js +20 -0
  100. package/cjs/dev2-server/package-json-manager.js.map +1 -0
  101. package/cjs/dev2-server/parse-imports.d.ts +8 -0
  102. package/cjs/dev2-server/parse-imports.d.ts.map +1 -0
  103. package/cjs/dev2-server/parse-imports.js +322 -0
  104. package/cjs/dev2-server/parse-imports.js.map +1 -0
  105. package/cjs/dev2-server/path.d.ts +39 -0
  106. package/cjs/dev2-server/path.d.ts.map +1 -0
  107. package/cjs/dev2-server/path.js +56 -0
  108. package/cjs/dev2-server/path.js.map +1 -0
  109. package/cjs/dev2-server/runtime-import-helper.d.ts +9 -0
  110. package/cjs/dev2-server/runtime-import-helper.d.ts.map +1 -0
  111. package/cjs/dev2-server/runtime-import-helper.js +157 -0
  112. package/cjs/dev2-server/runtime-import-helper.js.map +1 -0
  113. package/cjs/dev2-server/special-files-collector.d.ts +114 -0
  114. package/cjs/dev2-server/special-files-collector.d.ts.map +1 -0
  115. package/cjs/dev2-server/special-files-collector.js +212 -0
  116. package/cjs/dev2-server/special-files-collector.js.map +1 -0
  117. package/cjs/dev2-server/start-development-server.d.ts +7 -0
  118. package/cjs/dev2-server/start-development-server.d.ts.map +1 -0
  119. package/cjs/dev2-server/start-development-server.js +21 -0
  120. package/cjs/dev2-server/start-development-server.js.map +1 -0
  121. package/cjs/dev2-server/transpile-file.d.ts +10 -0
  122. package/cjs/dev2-server/transpile-file.d.ts.map +1 -0
  123. package/cjs/dev2-server/transpile-file.js +31 -0
  124. package/cjs/dev2-server/transpile-file.js.map +1 -0
  125. package/cjs/dev2-server/tsconfig-manager.d.ts +45 -0
  126. package/cjs/dev2-server/tsconfig-manager.d.ts.map +1 -0
  127. package/cjs/dev2-server/tsconfig-manager.js +105 -0
  128. package/cjs/dev2-server/tsconfig-manager.js.map +1 -0
  129. package/cjs/dev2-server/types.d.ts +16 -0
  130. package/cjs/dev2-server/types.d.ts.map +1 -0
  131. package/cjs/dev2-server/utils.d.ts +8 -0
  132. package/cjs/dev2-server/utils.d.ts.map +1 -0
  133. package/cjs/dev2-server/utils.js +28 -0
  134. package/cjs/dev2-server/utils.js.map +1 -0
  135. package/cjs/router/route-registry.d.ts +4 -0
  136. package/cjs/router/route-registry.d.ts.map +1 -1
  137. package/cjs/router/route-registry.js +26 -7
  138. package/cjs/router/route-registry.js.map +1 -1
  139. package/cjs/router/router.d.ts +13 -8
  140. package/cjs/router/router.d.ts.map +1 -1
  141. package/cjs/router/router.js +73 -35
  142. package/cjs/router/router.js.map +1 -1
  143. package/cjs/router/types.d.ts +10 -2
  144. package/cjs/router/types.d.ts.map +1 -1
  145. package/cjs/starters/start-cli-server.js +1 -1
  146. package/cjs/starters/start-cli-server.js.map +1 -1
  147. package/cjs/starters/start-http-server.d.ts.map +1 -1
  148. package/cjs/starters/start-http-server.js +4 -99
  149. package/cjs/starters/start-http-server.js.map +1 -1
  150. package/esm/code-quality/config.js +1 -7
  151. package/esm/code-quality/config.js.map +1 -1
  152. package/esm/code-quality/issue-tracker.js +1 -119
  153. package/esm/code-quality/issue-tracker.js.map +1 -1
  154. package/esm/dev2-server/config-handlers.d.ts +8 -0
  155. package/esm/dev2-server/config-handlers.d.ts.map +1 -0
  156. package/esm/dev2-server/config-handlers.js +56 -0
  157. package/esm/dev2-server/config-handlers.js.map +1 -0
  158. package/esm/dev2-server/config-loader.d.ts +61 -0
  159. package/esm/dev2-server/config-loader.d.ts.map +1 -0
  160. package/esm/dev2-server/config-loader.js +122 -0
  161. package/esm/dev2-server/config-loader.js.map +1 -0
  162. package/esm/dev2-server/connectors/base-connector.d.ts +49 -0
  163. package/esm/dev2-server/connectors/base-connector.d.ts.map +1 -0
  164. package/esm/dev2-server/connectors/base-connector.js +48 -0
  165. package/esm/dev2-server/connectors/base-connector.js.map +1 -0
  166. package/esm/dev2-server/connectors/cache-connector.d.ts +23 -0
  167. package/esm/dev2-server/connectors/cache-connector.d.ts.map +1 -0
  168. package/esm/dev2-server/connectors/cache-connector.js +35 -0
  169. package/esm/dev2-server/connectors/cache-connector.js.map +1 -0
  170. package/esm/dev2-server/connectors/database-connector.d.ts +23 -0
  171. package/esm/dev2-server/connectors/database-connector.d.ts.map +1 -0
  172. package/esm/dev2-server/connectors/database-connector.js +46 -0
  173. package/esm/dev2-server/connectors/database-connector.js.map +1 -0
  174. package/esm/dev2-server/connectors/http-connector.d.ts +29 -0
  175. package/esm/dev2-server/connectors/http-connector.d.ts.map +1 -0
  176. package/esm/dev2-server/connectors/http-connector.js +71 -0
  177. package/esm/dev2-server/connectors/http-connector.js.map +1 -0
  178. package/esm/dev2-server/connectors/index.d.ts +10 -0
  179. package/esm/dev2-server/connectors/index.d.ts.map +1 -0
  180. package/esm/dev2-server/connectors/types.d.ts +49 -0
  181. package/esm/dev2-server/connectors/types.d.ts.map +1 -0
  182. package/esm/dev2-server/connectors/types.js +9 -0
  183. package/esm/dev2-server/connectors/types.js.map +1 -0
  184. package/esm/dev2-server/dependency-graph.d.ts +93 -0
  185. package/esm/dev2-server/dependency-graph.d.ts.map +1 -0
  186. package/esm/dev2-server/dependency-graph.js +266 -0
  187. package/esm/dev2-server/dependency-graph.js.map +1 -0
  188. package/esm/dev2-server/dev-logger.d.ts +14 -0
  189. package/esm/dev2-server/dev-logger.d.ts.map +1 -0
  190. package/esm/dev2-server/dev-logger.js +105 -0
  191. package/esm/dev2-server/dev-logger.js.map +1 -0
  192. package/esm/dev2-server/development-server.d.ts +97 -0
  193. package/esm/dev2-server/development-server.d.ts.map +1 -0
  194. package/esm/dev2-server/development-server.js +224 -0
  195. package/esm/dev2-server/development-server.js.map +1 -0
  196. package/esm/dev2-server/events.d.ts +5 -0
  197. package/esm/dev2-server/events.d.ts.map +1 -0
  198. package/esm/dev2-server/events.js +4 -0
  199. package/esm/dev2-server/events.js.map +1 -0
  200. package/esm/dev2-server/file-event-handler.d.ts +58 -0
  201. package/esm/dev2-server/file-event-handler.d.ts.map +1 -0
  202. package/esm/dev2-server/file-event-handler.js +140 -0
  203. package/esm/dev2-server/file-event-handler.js.map +1 -0
  204. package/esm/dev2-server/file-manager.d.ts +115 -0
  205. package/esm/dev2-server/file-manager.d.ts.map +1 -0
  206. package/esm/dev2-server/file-manager.js +319 -0
  207. package/esm/dev2-server/file-manager.js.map +1 -0
  208. package/esm/dev2-server/file-operations.d.ts +54 -0
  209. package/esm/dev2-server/file-operations.d.ts.map +1 -0
  210. package/esm/dev2-server/file-operations.js +191 -0
  211. package/esm/dev2-server/file-operations.js.map +1 -0
  212. package/esm/dev2-server/files-orchestrator.d.ts +88 -0
  213. package/esm/dev2-server/files-orchestrator.d.ts.map +1 -0
  214. package/esm/dev2-server/files-orchestrator.js +273 -0
  215. package/esm/dev2-server/files-orchestrator.js.map +1 -0
  216. package/esm/dev2-server/files-watcher.d.ts +53 -0
  217. package/esm/dev2-server/files-watcher.d.ts.map +1 -0
  218. package/esm/dev2-server/files-watcher.js +88 -0
  219. package/esm/dev2-server/files-watcher.js.map +1 -0
  220. package/esm/dev2-server/flags.d.ts +10 -0
  221. package/esm/dev2-server/flags.d.ts.map +1 -0
  222. package/esm/dev2-server/flags.js +9 -0
  223. package/esm/dev2-server/flags.js.map +1 -0
  224. package/esm/dev2-server/health-checker.d.ts +3 -0
  225. package/esm/dev2-server/health-checker.d.ts.map +1 -0
  226. package/esm/dev2-server/health-checker.js +2 -0
  227. package/esm/dev2-server/health-checker.js.map +1 -0
  228. package/esm/dev2-server/import-transformer.d.ts +16 -0
  229. package/esm/dev2-server/import-transformer.d.ts.map +1 -0
  230. package/esm/dev2-server/import-transformer.js +248 -0
  231. package/esm/dev2-server/import-transformer.js.map +1 -0
  232. package/esm/dev2-server/index.d.ts +1 -0
  233. package/esm/dev2-server/index.d.ts.map +1 -0
  234. package/esm/dev2-server/layer-executor.d.ts +64 -0
  235. package/esm/dev2-server/layer-executor.d.ts.map +1 -0
  236. package/esm/dev2-server/layer-executor.js +292 -0
  237. package/esm/dev2-server/layer-executor.js.map +1 -0
  238. package/esm/dev2-server/manifest-manager.d.ts +80 -0
  239. package/esm/dev2-server/manifest-manager.d.ts.map +1 -0
  240. package/esm/dev2-server/manifest-manager.js +107 -0
  241. package/esm/dev2-server/manifest-manager.js.map +1 -0
  242. package/esm/dev2-server/module-loader.d.ts +100 -0
  243. package/esm/dev2-server/module-loader.d.ts.map +1 -0
  244. package/esm/dev2-server/module-loader.js +228 -0
  245. package/esm/dev2-server/module-loader.js.map +1 -0
  246. package/esm/dev2-server/package-json-manager.d.ts +16 -0
  247. package/esm/dev2-server/package-json-manager.d.ts.map +1 -0
  248. package/esm/dev2-server/package-json-manager.js +20 -0
  249. package/esm/dev2-server/package-json-manager.js.map +1 -0
  250. package/esm/dev2-server/parse-imports.d.ts +8 -0
  251. package/esm/dev2-server/parse-imports.d.ts.map +1 -0
  252. package/esm/dev2-server/parse-imports.js +322 -0
  253. package/esm/dev2-server/parse-imports.js.map +1 -0
  254. package/esm/dev2-server/path.d.ts +39 -0
  255. package/esm/dev2-server/path.d.ts.map +1 -0
  256. package/esm/dev2-server/path.js +56 -0
  257. package/esm/dev2-server/path.js.map +1 -0
  258. package/esm/dev2-server/runtime-import-helper.d.ts +9 -0
  259. package/esm/dev2-server/runtime-import-helper.d.ts.map +1 -0
  260. package/esm/dev2-server/runtime-import-helper.js +157 -0
  261. package/esm/dev2-server/runtime-import-helper.js.map +1 -0
  262. package/esm/dev2-server/special-files-collector.d.ts +114 -0
  263. package/esm/dev2-server/special-files-collector.d.ts.map +1 -0
  264. package/esm/dev2-server/special-files-collector.js +212 -0
  265. package/esm/dev2-server/special-files-collector.js.map +1 -0
  266. package/esm/dev2-server/start-development-server.d.ts +7 -0
  267. package/esm/dev2-server/start-development-server.d.ts.map +1 -0
  268. package/esm/dev2-server/start-development-server.js +21 -0
  269. package/esm/dev2-server/start-development-server.js.map +1 -0
  270. package/esm/dev2-server/transpile-file.d.ts +10 -0
  271. package/esm/dev2-server/transpile-file.d.ts.map +1 -0
  272. package/esm/dev2-server/transpile-file.js +31 -0
  273. package/esm/dev2-server/transpile-file.js.map +1 -0
  274. package/esm/dev2-server/tsconfig-manager.d.ts +45 -0
  275. package/esm/dev2-server/tsconfig-manager.d.ts.map +1 -0
  276. package/esm/dev2-server/tsconfig-manager.js +105 -0
  277. package/esm/dev2-server/tsconfig-manager.js.map +1 -0
  278. package/esm/dev2-server/types.d.ts +16 -0
  279. package/esm/dev2-server/types.d.ts.map +1 -0
  280. package/esm/dev2-server/utils.d.ts +8 -0
  281. package/esm/dev2-server/utils.d.ts.map +1 -0
  282. package/esm/dev2-server/utils.js +28 -0
  283. package/esm/dev2-server/utils.js.map +1 -0
  284. package/esm/router/route-registry.d.ts +4 -0
  285. package/esm/router/route-registry.d.ts.map +1 -1
  286. package/esm/router/route-registry.js +26 -7
  287. package/esm/router/route-registry.js.map +1 -1
  288. package/esm/router/router.d.ts +13 -8
  289. package/esm/router/router.d.ts.map +1 -1
  290. package/esm/router/router.js +73 -35
  291. package/esm/router/router.js.map +1 -1
  292. package/esm/router/types.d.ts +10 -2
  293. package/esm/router/types.d.ts.map +1 -1
  294. package/esm/starters/start-cli-server.js +1 -1
  295. package/esm/starters/start-cli-server.js.map +1 -1
  296. package/esm/starters/start-http-server.d.ts.map +1 -1
  297. package/esm/starters/start-http-server.js +4 -99
  298. package/esm/starters/start-http-server.js.map +1 -1
  299. package/package.json +3 -3
  300. package/cjs/code-quality/checkers/eslint-checker.js +0 -39
  301. package/cjs/code-quality/checkers/eslint-checker.js.map +0 -1
  302. package/cjs/code-quality/checkers/typescript-checker.js +0 -76
  303. package/cjs/code-quality/checkers/typescript-checker.js.map +0 -1
  304. package/cjs/code-quality/formatters/eslint-formatter.js +0 -56
  305. package/cjs/code-quality/formatters/eslint-formatter.js.map +0 -1
  306. package/cjs/code-quality/formatters/summary-formatter.js +0 -102
  307. package/cjs/code-quality/formatters/summary-formatter.js.map +0 -1
  308. package/cjs/code-quality/formatters/typescript-formatter.js +0 -64
  309. package/cjs/code-quality/formatters/typescript-formatter.js.map +0 -1
  310. package/cjs/code-quality/project-scanner.js +0 -78
  311. package/cjs/code-quality/project-scanner.js.map +0 -1
  312. package/cjs/code-quality/single-file-checker.js +0 -153
  313. package/cjs/code-quality/single-file-checker.js.map +0 -1
  314. package/cjs/dev-server/file-health.d.ts +0 -9
  315. package/cjs/dev-server/file-health.d.ts.map +0 -1
  316. package/cjs/dev-server/file-manager.d.ts +0 -39
  317. package/cjs/dev-server/file-manager.d.ts.map +0 -1
  318. package/cjs/dev-server/files-orchestrator.d.ts +0 -1
  319. package/cjs/dev-server/files-orchestrator.d.ts.map +0 -1
  320. package/cjs/dev-server/types.d.ts +0 -2
  321. package/cjs/dev-server/types.d.ts.map +0 -1
  322. package/cjs/starters/http-server-starter.js +0 -34
  323. package/cjs/starters/http-server-starter.js.map +0 -1
  324. package/cjs/utils/internal.js +0 -3
  325. package/cjs/utils/internal.js.map +0 -1
  326. package/esm/code-quality/checkers/eslint-checker.js +0 -39
  327. package/esm/code-quality/checkers/eslint-checker.js.map +0 -1
  328. package/esm/code-quality/checkers/typescript-checker.js +0 -76
  329. package/esm/code-quality/checkers/typescript-checker.js.map +0 -1
  330. package/esm/code-quality/formatters/eslint-formatter.js +0 -56
  331. package/esm/code-quality/formatters/eslint-formatter.js.map +0 -1
  332. package/esm/code-quality/formatters/summary-formatter.js +0 -102
  333. package/esm/code-quality/formatters/summary-formatter.js.map +0 -1
  334. package/esm/code-quality/formatters/typescript-formatter.js +0 -64
  335. package/esm/code-quality/formatters/typescript-formatter.js.map +0 -1
  336. package/esm/code-quality/project-scanner.js +0 -78
  337. package/esm/code-quality/project-scanner.js.map +0 -1
  338. package/esm/code-quality/single-file-checker.js +0 -153
  339. package/esm/code-quality/single-file-checker.js.map +0 -1
  340. package/esm/dev-server/file-health.d.ts +0 -9
  341. package/esm/dev-server/file-health.d.ts.map +0 -1
  342. package/esm/dev-server/file-manager.d.ts +0 -39
  343. package/esm/dev-server/file-manager.d.ts.map +0 -1
  344. package/esm/dev-server/files-orchestrator.d.ts +0 -1
  345. package/esm/dev-server/files-orchestrator.d.ts.map +0 -1
  346. package/esm/dev-server/types.d.ts +0 -2
  347. package/esm/dev-server/types.d.ts.map +0 -1
  348. package/esm/starters/http-server-starter.js +0 -34
  349. package/esm/starters/http-server-starter.js.map +0 -1
  350. package/esm/utils/internal.js +0 -3
  351. package/esm/utils/internal.js.map +0 -1
@@ -0,0 +1,191 @@
1
+ 'use strict';var events=require('@mongez/events'),fs=require('@mongez/fs'),events$1=require('./events.js'),fileManager=require('./file-manager.js'),path=require('./path.js'),utils=require('./utils.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var events__default=/*#__PURE__*/_interopDefault(events);/**
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.Path.toAbsolute(relativePath);
34
+ const fileManager$1 = new fileManager.FileManager(absolutePath, this.files);
35
+ // Add to tracking
36
+ this.files.set(relativePath, fileManager$1);
37
+ // Initialize the file (load, transpile, transform imports)
38
+ await fileManager$1.init();
39
+ // Add to dependency graph
40
+ for (const dependency of fileManager$1.dependencies) {
41
+ this.dependencyGraph.addDependency(relativePath, dependency);
42
+ }
43
+ // Add to special files collector
44
+ this.specialFilesCollector?.addFile(fileManager$1);
45
+ // Check if any existing files were waiting for this dependency
46
+ // (i.e., they have broken imports that can now be resolved)
47
+ await this.reloadFilesWaitingForDependency(relativePath);
48
+ // Trigger event
49
+ events__default.default.trigger(events$1.DEV_SERVER_EVENTS.FILE_READY, fileManager$1);
50
+ return fileManager$1;
51
+ }
52
+ /**
53
+ * Reload files that might have been waiting for this dependency
54
+ * When a file is added, check if any existing files have imports
55
+ * that could now resolve to this new file
56
+ */
57
+ async reloadFilesWaitingForDependency(newFilePath) {
58
+ const { parseImports } = await Promise.resolve().then(function(){return require('./parse-imports.js')});
59
+ const newFileRelativePath = newFilePath;
60
+ const potentialDependents = [];
61
+ // Check all existing files to see if any of their imports could resolve to the new file
62
+ for (const [existingPath, existingFile] of this.files) {
63
+ if (existingPath === newFilePath)
64
+ continue;
65
+ // Re-parse imports from the source to check if any could resolve to the new file
66
+ try {
67
+ const importMap = await parseImports(existingFile.source, existingFile.absolutePath);
68
+ // Check if any import in the map resolves to the new file
69
+ for (const [importPath, resolvedPath] of importMap) {
70
+ if (resolvedPath && path.Path.toRelative(resolvedPath) === newFileRelativePath) {
71
+ // This import could now be resolved! Add to dependents
72
+ potentialDependents.push(existingPath);
73
+ break; // Found a match, no need to check other imports
74
+ }
75
+ }
76
+ }
77
+ catch (error) {
78
+ // Skip files that can't be parsed
79
+ continue;
80
+ }
81
+ }
82
+ // Retranspile and reload potential dependents
83
+ if (potentialDependents.length > 0) {
84
+ for (const dependentPath of potentialDependents) {
85
+ const dependentFile = this.files.get(dependentPath);
86
+ if (dependentFile) {
87
+ try {
88
+ // Force reprocess to re-parse imports and resolve to new file (with bundle awareness)
89
+ await dependentFile.forceReprocess(this.bundler);
90
+ // Update dependency graph
91
+ this.dependencyGraph.updateFile(dependentPath, dependentFile.dependencies);
92
+ // Trigger reload event
93
+ events__default.default.trigger(events$1.DEV_SERVER_EVENTS.FILE_READY, dependentFile);
94
+ }
95
+ catch (error) {
96
+ // Ignore errors - the file might still have broken imports
97
+ }
98
+ }
99
+ }
100
+ }
101
+ }
102
+ /**
103
+ * Update an existing file
104
+ * @param relativePath - Relative path of the file
105
+ * @returns True if file was changed, false if unchanged
106
+ */
107
+ async updateFile(relativePath) {
108
+ const fileManager = this.files.get(relativePath);
109
+ if (!fileManager) {
110
+ // File not tracked, treat as new file
111
+ await this.addFile(relativePath);
112
+ return true;
113
+ }
114
+ // Store old dependencies
115
+ const oldDependencies = new Set(fileManager.dependencies);
116
+ try {
117
+ // Update the file (with bundle awareness)
118
+ const hasChanged = await fileManager.update(this.bundler);
119
+ if (!hasChanged) {
120
+ return false;
121
+ }
122
+ // Update dependency graph if dependencies changed
123
+ const newDependencies = fileManager.dependencies;
124
+ if (!utils.areSetsEqual(oldDependencies, newDependencies)) {
125
+ this.dependencyGraph.updateFile(relativePath, newDependencies);
126
+ }
127
+ // Update special files collector
128
+ this.specialFilesCollector.updateFile(fileManager);
129
+ // Trigger event
130
+ events__default.default.trigger(events$1.DEV_SERVER_EVENTS.FILE_READY, fileManager);
131
+ return true;
132
+ }
133
+ catch (error) {
134
+ // Failed to update (likely broken imports)
135
+ // Don't trigger FILE_READY event for broken files
136
+ return false;
137
+ }
138
+ }
139
+ /**
140
+ * Delete a file from the system
141
+ * @param relativePath - Relative path of the file
142
+ */
143
+ async deleteFile(relativePath) {
144
+ const fileManager = this.files.get(relativePath);
145
+ if (!fileManager) {
146
+ return;
147
+ }
148
+ // Get dependents before removing (so we can notify them)
149
+ const dependents = this.dependencyGraph.getDependents(relativePath);
150
+ // Delete cache file
151
+ try {
152
+ const cachePath = utils.warlockCachePath(fileManager.cachePath);
153
+ await fs.unlinkAsync(cachePath);
154
+ }
155
+ catch (error) {
156
+ // Cache file might not exist, ignore
157
+ }
158
+ // Remove from dependency graph
159
+ this.dependencyGraph.removeFile(relativePath);
160
+ // Remove from special files collector
161
+ this.specialFilesCollector.removeFile(relativePath);
162
+ // Remove from tracking
163
+ this.files.delete(relativePath);
164
+ this.manifest.removeFile(relativePath);
165
+ // Trigger reload of dependents so they see the broken import error
166
+ for (const dependentPath of dependents) {
167
+ const dependentFile = this.files.get(dependentPath);
168
+ if (dependentFile) {
169
+ // Trigger event to reload the dependent (will fail with import error)
170
+ events__default.default.trigger(events$1.DEV_SERVER_EVENTS.FILE_READY, dependentFile);
171
+ }
172
+ }
173
+ }
174
+ /**
175
+ * Update dependents in all FileManager instances from dependency graph
176
+ */
177
+ updateFileDependents() {
178
+ for (const [relativePath, fileManager] of this.files) {
179
+ const dependents = this.dependencyGraph.getDependents(relativePath);
180
+ fileManager.dependents = dependents;
181
+ }
182
+ }
183
+ /**
184
+ * Sync all FileManager instances to manifest
185
+ */
186
+ syncFilesToManifest() {
187
+ for (const [relativePath, fileManager] of this.files) {
188
+ this.manifest.setFile(relativePath, fileManager.toManifest());
189
+ }
190
+ }
191
+ }exports.FileOperations=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":["Path","fileManager","FileManager","events","DEV_SERVER_EVENTS","areSetsEqual","warlockCachePath","unlinkAsync"],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { DependencyGraph } from "./dependency-graph";
2
+ import { FileManager } from "./file-manager";
3
+ import type { SpecialFilesCollector } from "./special-files-collector";
4
+ export declare class FilesOrchestrator {
5
+ private readonly files;
6
+ private readonly manifest;
7
+ private readonly dependencyGraph;
8
+ private readonly healthChecker;
9
+ private readonly filesWatcher;
10
+ private readonly fileOperations;
11
+ private readonly eventHandler;
12
+ private readonly specialFilesCollector;
13
+ /**
14
+ * Set the special files collector
15
+ * This should be called before starting file watching
16
+ */
17
+ constructor(collector: SpecialFilesCollector);
18
+ /**
19
+ * Get the dependency graph
20
+ * Provides read-only access to the dependency graph for external use
21
+ */
22
+ getDependencyGraph(): DependencyGraph;
23
+ /**
24
+ * Get invalidation chain for a file
25
+ * Returns all files that need to be reloaded when the given file changes
26
+ */
27
+ getInvalidationChain(file: string): string[];
28
+ /**
29
+ * Get all tracked files
30
+ */
31
+ getFiles(): Map<string, FileManager>;
32
+ /**
33
+ * Initialize the files orchestrator
34
+ */
35
+ init(): Promise<void>;
36
+ /**
37
+ * Get all TypeScript/JavaScript files from the filesystem
38
+ * This always scans the actual filesystem, ignoring any cached data
39
+ * @returns Array of relative file paths
40
+ */
41
+ private getAllFilesFromFilesystem;
42
+ /**
43
+ * Process all files fresh (no manifest exists)
44
+ * This happens on first run or when manifest is deleted
45
+ * @param filePaths Array of relative file paths
46
+ */
47
+ private processAllFilesFresh;
48
+ /**
49
+ * Reconcile filesystem state with manifest data
50
+ * This handles: new files, deleted files, and changed files
51
+ */
52
+ private reconcileFiles;
53
+ /**
54
+ * Process newly discovered files
55
+ * @param filePaths Array of relative file paths
56
+ */
57
+ private processNewFiles;
58
+ /**
59
+ * Remove deleted files from tracking
60
+ * @param filePaths Array of relative file paths
61
+ */
62
+ private processDeletedFiles;
63
+ /**
64
+ * Process existing files (check if they changed since last run)
65
+ * @param filePaths Array of relative file paths
66
+ */
67
+ private processExistingFiles;
68
+ /**
69
+ * Update dependents in all FileManager instances from dependency graph
70
+ */
71
+ private updateFileDependents;
72
+ /**
73
+ * Sync all FileManager instances to manifest
74
+ * Uses relative paths as keys for portability
75
+ */
76
+ private syncFilesToManifest;
77
+ /**
78
+ * Start file watcher to detect changes during development
79
+ */
80
+ private startFileWatcher;
81
+ /**
82
+ * Transform all imports to use cache paths
83
+ * This is called AFTER all files are processed and transpiled
84
+ * Only transforms files that haven't been transformed yet (freshly transpiled)
85
+ */
86
+ private transformAllImports;
87
+ }
88
+ //# sourceMappingURL=files-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-orchestrator.d.ts","sourceRoot":"","sources":["../../src/dev2-server/files-orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAS7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAQvE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAuB;IACrD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;IAE9D;;;OAGG;gBACgB,SAAS,EAAE,qBAAqB;IAkBnD;;;OAGG;IACI,kBAAkB,IAAI,eAAe;IAK5C;;;OAGG;IACI,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAInD;;OAEG;IACI,QAAQ,IAAI,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAI3C;;OAEG;IACU,IAAI;IAyCjB;;;;OAIG;YACW,yBAAyB;IAMvC;;;;OAIG;YACW,oBAAoB;IA2BlC;;;OAGG;YACW,cAAc;IAwC5B;;;OAGG;YACW,eAAe;IAqB7B;;;OAGG;YACW,mBAAmB;IAwBjC;;;OAGG;YACW,oBAAoB;IAyBlC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAM3B;;OAEG;YACW,gBAAgB;IAmB9B;;;;OAIG;YACW,mBAAmB;CAyClC"}
@@ -0,0 +1,273 @@
1
+ 'use strict';var copper=require('@mongez/copper'),fs=require('@mongez/fs'),esModuleLexer=require('es-module-lexer'),dependencyGraph=require('./dependency-graph.js'),devLogger=require('./dev-logger.js'),fileEventHandler=require('./file-event-handler.js'),fileManager=require('./file-manager.js'),fileOperations=require('./file-operations.js'),filesWatcher=require('./files-watcher.js'),flags=require('./flags.js'),healthChecker=require('./health-checker.js'),importTransformer=require('./import-transformer.js'),manifestManager=require('./manifest-manager.js'),packageJsonManager=require('./package-json-manager.js'),path=require('./path.js'),tsconfigManager=require('./tsconfig-manager.js'),utils=require('./utils.js');class FilesOrchestrator {
2
+ files = new Map();
3
+ manifest = new manifestManager.ManifestManager(this.files);
4
+ dependencyGraph = new dependencyGraph.DependencyGraph();
5
+ healthChecker = new healthChecker.HealthChecker();
6
+ filesWatcher = new filesWatcher.FilesWatcher();
7
+ fileOperations;
8
+ eventHandler;
9
+ specialFilesCollector;
10
+ /**
11
+ * Set the special files collector
12
+ * This should be called before starting file watching
13
+ */
14
+ constructor(collector) {
15
+ this.specialFilesCollector = collector;
16
+ // Recreate file operations with the collector
17
+ this.fileOperations = new fileOperations.FileOperations(this.files, this.dependencyGraph, this.manifest, collector);
18
+ // Recreate event handler with updated file operations
19
+ this.eventHandler = new fileEventHandler.FileEventHandler(this.fileOperations, this.manifest);
20
+ }
21
+ /**
22
+ * Get the dependency graph
23
+ * Provides read-only access to the dependency graph for external use
24
+ */
25
+ getDependencyGraph() {
26
+ return this.dependencyGraph;
27
+ }
28
+ /**
29
+ * Get invalidation chain for a file
30
+ * Returns all files that need to be reloaded when the given file changes
31
+ */
32
+ getInvalidationChain(file) {
33
+ return this.dependencyGraph.getInvalidationChain(file);
34
+ }
35
+ /**
36
+ * Get all tracked files
37
+ */
38
+ getFiles() {
39
+ return this.files;
40
+ }
41
+ /**
42
+ * Initialize the files orchestrator
43
+ */
44
+ async init() {
45
+ // Initialize es-module-lexer (it's a promise, not a function)
46
+ await esModuleLexer.init;
47
+ // Initialize configuration managers
48
+ await Promise.all([tsconfigManager.tsconfigManager.init(), packageJsonManager.packageJsonManager.init()]);
49
+ // STEP 1: Parallel - Get filesystem state + Load manifest
50
+ const [filesInFilesystem, manifestExists] = await Promise.all([
51
+ this.getAllFilesFromFilesystem(),
52
+ this.manifest.init(),
53
+ ]);
54
+ // STEP 2: Reconcile filesystem with manifest
55
+ if (!manifestExists) {
56
+ // No manifest = fresh start
57
+ await this.processAllFilesFresh(filesInFilesystem);
58
+ }
59
+ else {
60
+ // Manifest exists = reconcile differences
61
+ await this.reconcileFiles(filesInFilesystem);
62
+ }
63
+ // STEP 3: Build dependency graph from all files
64
+ this.dependencyGraph.build(this.files);
65
+ // STEP 4: Update dependents in FileManager instances
66
+ this.updateFileDependents();
67
+ // STEP 5: Sync all files to manifest
68
+ this.syncFilesToManifest();
69
+ // STEP 6: Transform all imports to use cache paths
70
+ await this.transformAllImports();
71
+ // STEP 7: Save updated manifest
72
+ await this.manifest.save();
73
+ // STEP 8: Start file watcher
74
+ await this.startFileWatcher();
75
+ }
76
+ /**
77
+ * Get all TypeScript/JavaScript files from the filesystem
78
+ * This always scans the actual filesystem, ignoring any cached data
79
+ * @returns Array of relative file paths
80
+ */
81
+ async getAllFilesFromFilesystem() {
82
+ const absolutePaths = await utils.getFilesFromDirectory();
83
+ // Convert to relative paths for consistency throughout the system
84
+ return absolutePaths.map(absPath => path.Path.toRelative(absPath));
85
+ }
86
+ /**
87
+ * Process all files fresh (no manifest exists)
88
+ * This happens on first run or when manifest is deleted
89
+ * @param filePaths Array of relative file paths
90
+ */
91
+ async processAllFilesFresh(filePaths) {
92
+ devLogger.devLogDim(`processing ${filePaths.length} files...`);
93
+ // Ensure .warlock directory exists
94
+ await utils.createFreshWarlockDirectory();
95
+ // Process files in batches for optimal performance
96
+ const BATCH_SIZE = flags.FILE_PROCESSING_BATCH_SIZE;
97
+ for (let i = 0; i < filePaths.length; i += BATCH_SIZE) {
98
+ const batch = filePaths.slice(i, i + BATCH_SIZE);
99
+ await Promise.all(batch.map(async (relativePath) => {
100
+ // Convert to absolute path for FileManager
101
+ const absolutePath = path.Path.toAbsolute(relativePath);
102
+ const fileManager$1 = new fileManager.FileManager(absolutePath, this.files);
103
+ // Store in map using relative path as key
104
+ this.files.set(relativePath, fileManager$1);
105
+ await fileManager$1.init(); // No manifest data
106
+ }));
107
+ }
108
+ devLogger.devLogSuccess(`processed ${filePaths.length} files`);
109
+ }
110
+ /**
111
+ * Reconcile filesystem state with manifest data
112
+ * This handles: new files, deleted files, and changed files
113
+ */
114
+ async reconcileFiles(filesInFilesystem) {
115
+ const filesInManifest = new Set(this.manifest.getAllFilePaths());
116
+ const filesInFilesystemSet = new Set(filesInFilesystem);
117
+ // Find new files (in filesystem but not in manifest)
118
+ const newFiles = filesInFilesystem.filter(file => !filesInManifest.has(file));
119
+ // Find deleted files (in manifest but not in filesystem)
120
+ const deletedFiles = Array.from(filesInManifest).filter(file => !filesInFilesystemSet.has(file));
121
+ // Find existing files (in both)
122
+ const existingFiles = filesInFilesystem.filter(file => filesInManifest.has(file));
123
+ if (newFiles.length > 0 || deletedFiles.length > 0) {
124
+ const newText = newFiles.length > 0 ? copper.colors.green(newFiles.length) : 0;
125
+ const deletedText = deletedFiles.length > 0 ? copper.colors.red(deletedFiles.length) : 0;
126
+ const existingText = existingFiles.length > 0 ? copper.colors.blue(existingFiles.length) : 0;
127
+ devLogger.devLogDim(`reconciling: ${newText} new, ${deletedText} deleted, ${existingText} existing`);
128
+ }
129
+ // Process new files
130
+ await this.processNewFiles(newFiles);
131
+ // Remove deleted files
132
+ await this.processDeletedFiles(deletedFiles);
133
+ // Process existing files (check for changes)
134
+ await this.processExistingFiles(existingFiles);
135
+ }
136
+ /**
137
+ * Process newly discovered files
138
+ * @param filePaths Array of relative file paths
139
+ */
140
+ async processNewFiles(filePaths) {
141
+ if (filePaths.length === 0)
142
+ return;
143
+ const BATCH_SIZE = flags.FILE_PROCESSING_BATCH_SIZE;
144
+ for (let i = 0; i < filePaths.length; i += BATCH_SIZE) {
145
+ const batch = filePaths.slice(i, i + BATCH_SIZE);
146
+ await Promise.all(batch.map(async (relativePath) => {
147
+ // Convert to absolute path for FileManager
148
+ const absolutePath = path.Path.toAbsolute(relativePath);
149
+ const fileManager$1 = new fileManager.FileManager(absolutePath, this.files);
150
+ // Store in map using relative path as key
151
+ this.files.set(relativePath, fileManager$1);
152
+ await fileManager$1.init(); // No manifest data = process fresh
153
+ }));
154
+ }
155
+ }
156
+ /**
157
+ * Remove deleted files from tracking
158
+ * @param filePaths Array of relative file paths
159
+ */
160
+ async processDeletedFiles(filePaths) {
161
+ if (filePaths.length === 0)
162
+ return;
163
+ for (const relativePath of filePaths) {
164
+ // Get file info from manifest before deletion
165
+ const manifestEntry = this.manifest.getFile(relativePath);
166
+ if (manifestEntry) {
167
+ // Delete cache file
168
+ try {
169
+ await fs.unlinkAsync(utils.warlockCachePath(manifestEntry.cachePath));
170
+ }
171
+ catch (error) {
172
+ // Cache file might not exist, ignore
173
+ }
174
+ }
175
+ // Remove from manifest
176
+ this.manifest.removeFile(relativePath);
177
+ // Remove from files map
178
+ this.files.delete(relativePath);
179
+ }
180
+ }
181
+ /**
182
+ * Process existing files (check if they changed since last run)
183
+ * @param filePaths Array of relative file paths
184
+ */
185
+ async processExistingFiles(filePaths) {
186
+ if (filePaths.length === 0)
187
+ return;
188
+ const BATCH_SIZE = flags.FILE_PROCESSING_BATCH_SIZE;
189
+ for (let i = 0; i < filePaths.length; i += BATCH_SIZE) {
190
+ const batch = filePaths.slice(i, i + BATCH_SIZE);
191
+ await Promise.all(batch.map(async (relativePath) => {
192
+ // Get manifest data using relative path
193
+ const manifestData = this.manifest.getFile(relativePath);
194
+ // Convert to absolute path for FileManager
195
+ const absolutePath = path.Path.toAbsolute(relativePath);
196
+ const fileManager$1 = new fileManager.FileManager(absolutePath, this.files);
197
+ // Store in map using relative path as key
198
+ this.files.set(relativePath, fileManager$1);
199
+ // Pass manifest data to FileManager for comparison
200
+ await fileManager$1.init(manifestData);
201
+ }));
202
+ }
203
+ }
204
+ /**
205
+ * Update dependents in all FileManager instances from dependency graph
206
+ */
207
+ updateFileDependents() {
208
+ for (const [relativePath, fileManager] of this.files) {
209
+ const dependents = this.dependencyGraph.getDependents(relativePath);
210
+ fileManager.dependents = dependents;
211
+ }
212
+ }
213
+ /**
214
+ * Sync all FileManager instances to manifest
215
+ * Uses relative paths as keys for portability
216
+ */
217
+ syncFilesToManifest() {
218
+ for (const [relativePath, fileManager] of this.files) {
219
+ this.manifest.setFile(relativePath, fileManager.toManifest());
220
+ }
221
+ }
222
+ /**
223
+ * Start file watcher to detect changes during development
224
+ */
225
+ async startFileWatcher() {
226
+ devLogger.devLogSuccess("watching for file changes");
227
+ // Connect file watcher to event handler
228
+ this.filesWatcher.onFileChange(absolutePath => {
229
+ this.eventHandler.handleFileChange(absolutePath);
230
+ });
231
+ this.filesWatcher.onFileAdd(absolutePath => {
232
+ this.eventHandler.handleFileAdd(absolutePath);
233
+ });
234
+ this.filesWatcher.onFileDelete(absolutePath => {
235
+ this.eventHandler.handleFileDelete(absolutePath);
236
+ });
237
+ await this.filesWatcher.watch();
238
+ }
239
+ /**
240
+ * Transform all imports to use cache paths
241
+ * This is called AFTER all files are processed and transpiled
242
+ * Only transforms files that haven't been transformed yet (freshly transpiled)
243
+ */
244
+ async transformAllImports() {
245
+ let transformedCount = 0;
246
+ for (const [relativePath, fileManager] of this.files) {
247
+ // Skip files that already have transformed imports (loaded from cache)
248
+ if (fileManager.importsTransformed) {
249
+ continue;
250
+ }
251
+ // Only transform files that have dependencies
252
+ if (fileManager.dependencies.size === 0) {
253
+ // Mark as transformed even if no dependencies
254
+ fileManager.importsTransformed = true;
255
+ continue;
256
+ }
257
+ try {
258
+ // Transform imports in transpiled code
259
+ const transformedCode = importTransformer.transformImports(fileManager, this.files);
260
+ // Update the transpiled code
261
+ fileManager.transpiled = transformedCode;
262
+ // Save the transformed code back to cache
263
+ await fs.putFileAsync(utils.warlockCachePath(fileManager.cachePath), transformedCode);
264
+ // Mark as transformed
265
+ fileManager.importsTransformed = true;
266
+ transformedCount++;
267
+ }
268
+ catch (error) {
269
+ console.error(`Error transforming imports for ${relativePath}:`, error);
270
+ }
271
+ }
272
+ }
273
+ }exports.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":["ManifestManager","DependencyGraph","HealthChecker","FilesWatcher","FileOperations","FileEventHandler","init","tsconfigManager","packageJsonManager","getFilesFromDirectory","Path","devLogDim","createFreshWarlockDirectory","FILE_PROCESSING_BATCH_SIZE","fileManager","FileManager","devLogSuccess","colors","unlinkAsync","warlockCachePath","transformImports","putFileAsync"],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ type FileWatcherEvent = "change" | "delete" | "add" | "error" | "addDir" | "unlinkDir";
2
+ type FileChangeCallback = (filePath: string) => void;
3
+ type FileDeleteCallback = (filePath: string) => void;
4
+ type FileAddCallback = (filePath: string) => void;
5
+ type FileErrorCallback = (filePath: string, error: Error) => void;
6
+ type FileAddDirCallback = (filePath: string) => void;
7
+ type FileUnlinkDirCallback = (filePath: string) => void;
8
+ type OnFileEventCallback = FileChangeCallback | FileDeleteCallback | FileAddCallback | FileErrorCallback | FileAddDirCallback | FileUnlinkDirCallback;
9
+ export declare class FilesWatcher {
10
+ /**
11
+ * File watcher id
12
+ */
13
+ private id;
14
+ /**
15
+ * Watch for files changes
16
+ */
17
+ watch(): Promise<void>;
18
+ /**
19
+ * Trigger event immediately (no debouncing here)
20
+ * Debouncing is handled at the orchestrator level for batch processing
21
+ */
22
+ private triggerEvent;
23
+ /**
24
+ * On file change event
25
+ */
26
+ onFileChange(callback: FileChangeCallback): import("@mongez/events").EventSubscription;
27
+ /**
28
+ * On file delete event
29
+ */
30
+ onFileDelete(callback: FileDeleteCallback): import("@mongez/events").EventSubscription;
31
+ /**
32
+ * On file add event
33
+ */
34
+ onFileAdd(callback: FileAddCallback): import("@mongez/events").EventSubscription;
35
+ /**
36
+ * On file error event
37
+ */
38
+ onFileError(callback: FileErrorCallback): import("@mongez/events").EventSubscription;
39
+ /**
40
+ * On file add dir event
41
+ */
42
+ onDirectoryAdd(callback: FileAddDirCallback): import("@mongez/events").EventSubscription;
43
+ /**
44
+ * On file unlink dir event
45
+ */
46
+ onDirectoryRemove(callback: FileUnlinkDirCallback): import("@mongez/events").EventSubscription;
47
+ /**
48
+ * On file event
49
+ */
50
+ on(event: FileWatcherEvent, callback: OnFileEventCallback): import("@mongez/events").EventSubscription;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=files-watcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"files-watcher.d.ts","sourceRoot":"","sources":["../../src/dev2-server/files-watcher.ts"],"names":[],"mappings":"AAMA,KAAK,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,WAAW,CAAC;AAEvF,KAAK,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AACrD,KAAK,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AACrD,KAAK,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AAClD,KAAK,iBAAiB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAClE,KAAK,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AACrD,KAAK,qBAAqB,GAAG,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;AACxD,KAAK,mBAAmB,GACpB,kBAAkB,GAClB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,kBAAkB,GAClB,qBAAqB,CAAC;AAE1B,qBAAa,YAAY;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE,CAAmB;IAE7B;;OAEG;IACU,KAAK;IAkClB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,kBAAkB;IAIhD;;OAEG;IACI,YAAY,CAAC,QAAQ,EAAE,kBAAkB;IAIhD;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,eAAe;IAI1C;;OAEG;IACI,WAAW,CAAC,QAAQ,EAAE,iBAAiB;IAI9C;;OAEG;IACI,cAAc,CAAC,QAAQ,EAAE,kBAAkB;IAIlD;;OAEG;IACI,iBAAiB,CAAC,QAAQ,EAAE,qBAAqB;IAIxD;;OAEG;IACI,EAAE,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,mBAAmB;CAGjE"}