@warlock.js/core 3.0.40 → 4.0.1

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 (327) 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 +117 -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 +42 -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 +86 -0
  36. package/cjs/dev2-server/dependency-graph.d.ts.map +1 -0
  37. package/cjs/dev2-server/dependency-graph.js +225 -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 +117 -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 +212 -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 +110 -0
  56. package/cjs/dev2-server/file-manager.d.ts.map +1 -0
  57. package/cjs/dev2-server/file-manager.js +314 -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 +271 -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 +219 -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 +287 -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 +229 -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 +268 -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 +79 -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 +6 -0
  122. package/cjs/dev2-server/transpile-file.d.ts.map +1 -0
  123. package/cjs/dev2-server/transpile-file.js +14 -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 +104 -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/router.d.ts +14 -8
  136. package/cjs/router/router.d.ts.map +1 -1
  137. package/cjs/router/router.js +77 -35
  138. package/cjs/router/router.js.map +1 -1
  139. package/cjs/router/types.d.ts +8 -0
  140. package/cjs/router/types.d.ts.map +1 -1
  141. package/cjs/starters/start-cli-server.js +1 -1
  142. package/cjs/starters/start-cli-server.js.map +1 -1
  143. package/cjs/starters/start-http-server.d.ts.map +1 -1
  144. package/cjs/starters/start-http-server.js +4 -99
  145. package/cjs/starters/start-http-server.js.map +1 -1
  146. package/esm/code-quality/config.js +1 -7
  147. package/esm/code-quality/config.js.map +1 -1
  148. package/esm/code-quality/issue-tracker.js +1 -119
  149. package/esm/code-quality/issue-tracker.js.map +1 -1
  150. package/esm/dev2-server/config-handlers.d.ts +8 -0
  151. package/esm/dev2-server/config-handlers.d.ts.map +1 -0
  152. package/esm/dev2-server/config-handlers.js +56 -0
  153. package/esm/dev2-server/config-handlers.js.map +1 -0
  154. package/esm/dev2-server/config-loader.d.ts +61 -0
  155. package/esm/dev2-server/config-loader.d.ts.map +1 -0
  156. package/esm/dev2-server/config-loader.js +117 -0
  157. package/esm/dev2-server/config-loader.js.map +1 -0
  158. package/esm/dev2-server/connectors/base-connector.d.ts +49 -0
  159. package/esm/dev2-server/connectors/base-connector.d.ts.map +1 -0
  160. package/esm/dev2-server/connectors/base-connector.js +48 -0
  161. package/esm/dev2-server/connectors/base-connector.js.map +1 -0
  162. package/esm/dev2-server/connectors/cache-connector.d.ts +23 -0
  163. package/esm/dev2-server/connectors/cache-connector.d.ts.map +1 -0
  164. package/esm/dev2-server/connectors/cache-connector.js +35 -0
  165. package/esm/dev2-server/connectors/cache-connector.js.map +1 -0
  166. package/esm/dev2-server/connectors/database-connector.d.ts +23 -0
  167. package/esm/dev2-server/connectors/database-connector.d.ts.map +1 -0
  168. package/esm/dev2-server/connectors/database-connector.js +42 -0
  169. package/esm/dev2-server/connectors/database-connector.js.map +1 -0
  170. package/esm/dev2-server/connectors/http-connector.d.ts +29 -0
  171. package/esm/dev2-server/connectors/http-connector.d.ts.map +1 -0
  172. package/esm/dev2-server/connectors/http-connector.js +71 -0
  173. package/esm/dev2-server/connectors/http-connector.js.map +1 -0
  174. package/esm/dev2-server/connectors/index.d.ts +10 -0
  175. package/esm/dev2-server/connectors/index.d.ts.map +1 -0
  176. package/esm/dev2-server/connectors/types.d.ts +49 -0
  177. package/esm/dev2-server/connectors/types.d.ts.map +1 -0
  178. package/esm/dev2-server/connectors/types.js +9 -0
  179. package/esm/dev2-server/connectors/types.js.map +1 -0
  180. package/esm/dev2-server/dependency-graph.d.ts +86 -0
  181. package/esm/dev2-server/dependency-graph.d.ts.map +1 -0
  182. package/esm/dev2-server/dependency-graph.js +225 -0
  183. package/esm/dev2-server/dependency-graph.js.map +1 -0
  184. package/esm/dev2-server/dev-logger.d.ts +14 -0
  185. package/esm/dev2-server/dev-logger.d.ts.map +1 -0
  186. package/esm/dev2-server/dev-logger.js +117 -0
  187. package/esm/dev2-server/dev-logger.js.map +1 -0
  188. package/esm/dev2-server/development-server.d.ts +97 -0
  189. package/esm/dev2-server/development-server.d.ts.map +1 -0
  190. package/esm/dev2-server/development-server.js +212 -0
  191. package/esm/dev2-server/development-server.js.map +1 -0
  192. package/esm/dev2-server/events.d.ts +5 -0
  193. package/esm/dev2-server/events.d.ts.map +1 -0
  194. package/esm/dev2-server/events.js +4 -0
  195. package/esm/dev2-server/events.js.map +1 -0
  196. package/esm/dev2-server/file-event-handler.d.ts +58 -0
  197. package/esm/dev2-server/file-event-handler.d.ts.map +1 -0
  198. package/esm/dev2-server/file-event-handler.js +140 -0
  199. package/esm/dev2-server/file-event-handler.js.map +1 -0
  200. package/esm/dev2-server/file-manager.d.ts +110 -0
  201. package/esm/dev2-server/file-manager.d.ts.map +1 -0
  202. package/esm/dev2-server/file-manager.js +314 -0
  203. package/esm/dev2-server/file-manager.js.map +1 -0
  204. package/esm/dev2-server/file-operations.d.ts +54 -0
  205. package/esm/dev2-server/file-operations.d.ts.map +1 -0
  206. package/esm/dev2-server/file-operations.js +191 -0
  207. package/esm/dev2-server/file-operations.js.map +1 -0
  208. package/esm/dev2-server/files-orchestrator.d.ts +88 -0
  209. package/esm/dev2-server/files-orchestrator.d.ts.map +1 -0
  210. package/esm/dev2-server/files-orchestrator.js +271 -0
  211. package/esm/dev2-server/files-orchestrator.js.map +1 -0
  212. package/esm/dev2-server/files-watcher.d.ts +53 -0
  213. package/esm/dev2-server/files-watcher.d.ts.map +1 -0
  214. package/esm/dev2-server/files-watcher.js +88 -0
  215. package/esm/dev2-server/files-watcher.js.map +1 -0
  216. package/esm/dev2-server/flags.d.ts +10 -0
  217. package/esm/dev2-server/flags.d.ts.map +1 -0
  218. package/esm/dev2-server/flags.js +9 -0
  219. package/esm/dev2-server/flags.js.map +1 -0
  220. package/esm/dev2-server/health-checker.d.ts +3 -0
  221. package/esm/dev2-server/health-checker.d.ts.map +1 -0
  222. package/esm/dev2-server/health-checker.js +2 -0
  223. package/esm/dev2-server/health-checker.js.map +1 -0
  224. package/esm/dev2-server/import-transformer.d.ts +16 -0
  225. package/esm/dev2-server/import-transformer.d.ts.map +1 -0
  226. package/esm/dev2-server/import-transformer.js +219 -0
  227. package/esm/dev2-server/import-transformer.js.map +1 -0
  228. package/esm/dev2-server/index.d.ts +1 -0
  229. package/esm/dev2-server/index.d.ts.map +1 -0
  230. package/esm/dev2-server/layer-executor.d.ts +64 -0
  231. package/esm/dev2-server/layer-executor.d.ts.map +1 -0
  232. package/esm/dev2-server/layer-executor.js +287 -0
  233. package/esm/dev2-server/layer-executor.js.map +1 -0
  234. package/esm/dev2-server/manifest-manager.d.ts +80 -0
  235. package/esm/dev2-server/manifest-manager.d.ts.map +1 -0
  236. package/esm/dev2-server/manifest-manager.js +107 -0
  237. package/esm/dev2-server/manifest-manager.js.map +1 -0
  238. package/esm/dev2-server/module-loader.d.ts +100 -0
  239. package/esm/dev2-server/module-loader.d.ts.map +1 -0
  240. package/esm/dev2-server/module-loader.js +229 -0
  241. package/esm/dev2-server/module-loader.js.map +1 -0
  242. package/esm/dev2-server/package-json-manager.d.ts +16 -0
  243. package/esm/dev2-server/package-json-manager.d.ts.map +1 -0
  244. package/esm/dev2-server/package-json-manager.js +20 -0
  245. package/esm/dev2-server/package-json-manager.js.map +1 -0
  246. package/esm/dev2-server/parse-imports.d.ts +8 -0
  247. package/esm/dev2-server/parse-imports.d.ts.map +1 -0
  248. package/esm/dev2-server/parse-imports.js +268 -0
  249. package/esm/dev2-server/parse-imports.js.map +1 -0
  250. package/esm/dev2-server/path.d.ts +39 -0
  251. package/esm/dev2-server/path.d.ts.map +1 -0
  252. package/esm/dev2-server/path.js +56 -0
  253. package/esm/dev2-server/path.js.map +1 -0
  254. package/esm/dev2-server/runtime-import-helper.d.ts +9 -0
  255. package/esm/dev2-server/runtime-import-helper.d.ts.map +1 -0
  256. package/esm/dev2-server/runtime-import-helper.js +79 -0
  257. package/esm/dev2-server/runtime-import-helper.js.map +1 -0
  258. package/esm/dev2-server/special-files-collector.d.ts +114 -0
  259. package/esm/dev2-server/special-files-collector.d.ts.map +1 -0
  260. package/esm/dev2-server/special-files-collector.js +212 -0
  261. package/esm/dev2-server/special-files-collector.js.map +1 -0
  262. package/esm/dev2-server/start-development-server.d.ts +7 -0
  263. package/esm/dev2-server/start-development-server.d.ts.map +1 -0
  264. package/esm/dev2-server/start-development-server.js +21 -0
  265. package/esm/dev2-server/start-development-server.js.map +1 -0
  266. package/esm/dev2-server/transpile-file.d.ts +6 -0
  267. package/esm/dev2-server/transpile-file.d.ts.map +1 -0
  268. package/esm/dev2-server/transpile-file.js +14 -0
  269. package/esm/dev2-server/transpile-file.js.map +1 -0
  270. package/esm/dev2-server/tsconfig-manager.d.ts +45 -0
  271. package/esm/dev2-server/tsconfig-manager.d.ts.map +1 -0
  272. package/esm/dev2-server/tsconfig-manager.js +104 -0
  273. package/esm/dev2-server/tsconfig-manager.js.map +1 -0
  274. package/esm/dev2-server/types.d.ts +16 -0
  275. package/esm/dev2-server/types.d.ts.map +1 -0
  276. package/esm/dev2-server/utils.d.ts +8 -0
  277. package/esm/dev2-server/utils.d.ts.map +1 -0
  278. package/esm/dev2-server/utils.js +28 -0
  279. package/esm/dev2-server/utils.js.map +1 -0
  280. package/esm/router/router.d.ts +14 -8
  281. package/esm/router/router.d.ts.map +1 -1
  282. package/esm/router/router.js +78 -36
  283. package/esm/router/router.js.map +1 -1
  284. package/esm/router/types.d.ts +8 -0
  285. package/esm/router/types.d.ts.map +1 -1
  286. package/esm/starters/start-cli-server.js +1 -1
  287. package/esm/starters/start-cli-server.js.map +1 -1
  288. package/esm/starters/start-http-server.d.ts.map +1 -1
  289. package/esm/starters/start-http-server.js +4 -99
  290. package/esm/starters/start-http-server.js.map +1 -1
  291. package/package.json +3 -3
  292. package/cjs/code-quality/checkers/eslint-checker.js +0 -39
  293. package/cjs/code-quality/checkers/eslint-checker.js.map +0 -1
  294. package/cjs/code-quality/checkers/typescript-checker.js +0 -76
  295. package/cjs/code-quality/checkers/typescript-checker.js.map +0 -1
  296. package/cjs/code-quality/formatters/eslint-formatter.js +0 -56
  297. package/cjs/code-quality/formatters/eslint-formatter.js.map +0 -1
  298. package/cjs/code-quality/formatters/summary-formatter.js +0 -102
  299. package/cjs/code-quality/formatters/summary-formatter.js.map +0 -1
  300. package/cjs/code-quality/formatters/typescript-formatter.js +0 -64
  301. package/cjs/code-quality/formatters/typescript-formatter.js.map +0 -1
  302. package/cjs/code-quality/project-scanner.js +0 -78
  303. package/cjs/code-quality/project-scanner.js.map +0 -1
  304. package/cjs/code-quality/single-file-checker.js +0 -153
  305. package/cjs/code-quality/single-file-checker.js.map +0 -1
  306. package/cjs/starters/http-server-starter.js +0 -34
  307. package/cjs/starters/http-server-starter.js.map +0 -1
  308. package/cjs/utils/internal.js +0 -3
  309. package/cjs/utils/internal.js.map +0 -1
  310. package/esm/code-quality/checkers/eslint-checker.js +0 -39
  311. package/esm/code-quality/checkers/eslint-checker.js.map +0 -1
  312. package/esm/code-quality/checkers/typescript-checker.js +0 -76
  313. package/esm/code-quality/checkers/typescript-checker.js.map +0 -1
  314. package/esm/code-quality/formatters/eslint-formatter.js +0 -56
  315. package/esm/code-quality/formatters/eslint-formatter.js.map +0 -1
  316. package/esm/code-quality/formatters/summary-formatter.js +0 -102
  317. package/esm/code-quality/formatters/summary-formatter.js.map +0 -1
  318. package/esm/code-quality/formatters/typescript-formatter.js +0 -64
  319. package/esm/code-quality/formatters/typescript-formatter.js.map +0 -1
  320. package/esm/code-quality/project-scanner.js +0 -78
  321. package/esm/code-quality/project-scanner.js.map +0 -1
  322. package/esm/code-quality/single-file-checker.js +0 -153
  323. package/esm/code-quality/single-file-checker.js.map +0 -1
  324. package/esm/starters/http-server-starter.js +0 -34
  325. package/esm/starters/http-server-starter.js.map +0 -1
  326. package/esm/utils/internal.js +0 -3
  327. package/esm/utils/internal.js.map +0 -1
@@ -0,0 +1,140 @@
1
+ 'use strict';var events=require('@mongez/events'),reinforcements=require('@mongez/reinforcements'),devLogger=require('./dev-logger.js'),flags=require('./flags.js'),path=require('./path.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var events__default=/*#__PURE__*/_interopDefault(events);/**
2
+ * File Event Handler
3
+ * Handles runtime file system events (change, add, delete)
4
+ * Collects events and processes them in batches for optimal performance
5
+ */
6
+ class FileEventHandler {
7
+ fileOperations;
8
+ manifest;
9
+ /**
10
+ * Pending events to process in batch
11
+ */
12
+ pendingChanges = new Set();
13
+ pendingAdds = new Set();
14
+ pendingDeletes = new Set();
15
+ /**
16
+ * Debounced batch processor
17
+ * Waits for events to settle, then processes all at once
18
+ */
19
+ processPendingEvents = reinforcements.debounce(async () => {
20
+ await this.processBatch();
21
+ }, 150); // Wait 250ms after last event
22
+ /**
23
+ * Constructor
24
+ */
25
+ constructor(fileOperations, manifest) {
26
+ this.fileOperations = fileOperations;
27
+ this.manifest = manifest;
28
+ }
29
+ /**
30
+ * Handle file change event
31
+ * Collects events for batch processing
32
+ */
33
+ handleFileChange(absolutePath) {
34
+ const relativePath = path.Path.toRelative(absolutePath);
35
+ // Add to pending changes
36
+ this.pendingChanges.add(relativePath);
37
+ // Trigger debounced batch processor
38
+ this.processPendingEvents();
39
+ }
40
+ /**
41
+ * Handle new file added
42
+ * Collects events for batch processing
43
+ */
44
+ handleFileAdd(absolutePath) {
45
+ const relativePath = path.Path.toRelative(absolutePath);
46
+ // Add to pending adds
47
+ this.pendingAdds.add(relativePath);
48
+ // Trigger debounced batch processor
49
+ this.processPendingEvents();
50
+ }
51
+ /**
52
+ * Handle file deleted
53
+ * Collects events for batch processing
54
+ */
55
+ handleFileDelete(absolutePath) {
56
+ const relativePath = path.Path.toRelative(absolutePath);
57
+ // Add to pending deletes
58
+ this.pendingDeletes.add(relativePath);
59
+ // Trigger debounced batch processor
60
+ this.processPendingEvents();
61
+ }
62
+ /**
63
+ * Process all pending events in batch
64
+ */
65
+ async processBatch() {
66
+ // Get snapshots of pending events
67
+ const changes = Array.from(this.pendingChanges);
68
+ const adds = Array.from(this.pendingAdds);
69
+ const deletes = Array.from(this.pendingDeletes);
70
+ // Clear pending sets
71
+ this.pendingChanges.clear();
72
+ this.pendingAdds.clear();
73
+ this.pendingDeletes.clear();
74
+ // Skip if nothing to process
75
+ if (changes.length === 0 && adds.length === 0 && deletes.length === 0) {
76
+ return;
77
+ }
78
+ // Silent batch processing
79
+ // Process in order: adds first (so new files are available for import transformation),
80
+ // then changes (can reference newly added files), then deletes
81
+ await this.processBatchAdds(adds);
82
+ await this.processBatchChanges(changes);
83
+ await this.processBatchDeletes(deletes);
84
+ // Update dependency graph and manifest once
85
+ this.fileOperations.updateFileDependents();
86
+ this.fileOperations.syncFilesToManifest();
87
+ await this.manifest.save();
88
+ // Trigger batch completion event (for reload execution)
89
+ events__default.default.trigger("dev-server:batch-complete", {
90
+ added: adds,
91
+ changed: changes,
92
+ deleted: deletes,
93
+ });
94
+ }
95
+ /**
96
+ * Process batch of changed files
97
+ */
98
+ async processBatchChanges(relativePaths) {
99
+ if (relativePaths.length === 0)
100
+ return;
101
+ const BATCH_SIZE = flags.FILE_PROCESSING_BATCH_SIZE;
102
+ for (let i = 0; i < relativePaths.length; i += BATCH_SIZE) {
103
+ const batch = relativePaths.slice(i, i + BATCH_SIZE);
104
+ await Promise.all(batch.map(async (relativePath) => {
105
+ await this.fileOperations.updateFile(relativePath);
106
+ }));
107
+ }
108
+ }
109
+ /**
110
+ * Process batch of added files
111
+ */
112
+ async processBatchAdds(relativePaths) {
113
+ if (relativePaths.length === 0)
114
+ return;
115
+ const BATCH_SIZE = flags.FILE_PROCESSING_BATCH_SIZE;
116
+ for (let i = 0; i < relativePaths.length; i += BATCH_SIZE) {
117
+ const batch = relativePaths.slice(i, i + BATCH_SIZE);
118
+ await Promise.all(batch.map(async (relativePath) => {
119
+ try {
120
+ await this.fileOperations.addFile(relativePath);
121
+ devLogger.devLogSuccess(`Added file: ${relativePath}`);
122
+ }
123
+ catch (error) {
124
+ // File might already exist, ignore
125
+ }
126
+ }));
127
+ }
128
+ }
129
+ /**
130
+ * Process batch of deleted files
131
+ */
132
+ async processBatchDeletes(relativePaths) {
133
+ if (relativePaths.length === 0)
134
+ return;
135
+ for (const relativePath of relativePaths) {
136
+ await this.fileOperations.deleteFile(relativePath);
137
+ devLogger.devLogSuccess(`Deleted file: ${relativePath}`);
138
+ }
139
+ }
140
+ }exports.FileEventHandler=FileEventHandler;//# sourceMappingURL=file-event-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-event-handler.js","sources":["../../src/dev2-server/file-event-handler.ts"],"sourcesContent":[null],"names":["debounce","Path","events","FILE_PROCESSING_BATCH_SIZE","devLogSuccess"],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ import type { FileManifest, FileState, FileType, LayerType } from "./types";
2
+ export declare class FileManager {
3
+ readonly absolutePath: string;
4
+ files: Map<string, FileManager>;
5
+ /**
6
+ * Relative path to root directory
7
+ */
8
+ relativePath: string;
9
+ /**
10
+ * Last modified timestamp
11
+ */
12
+ lastModified: number;
13
+ /**
14
+ * Hash of the file content
15
+ */
16
+ hash: string;
17
+ /**
18
+ * Source code of the file
19
+ */
20
+ source: string;
21
+ /**
22
+ * Transpiled code of the file
23
+ */
24
+ transpiled: string;
25
+ /**
26
+ * Dependencies of the file (relative paths)
27
+ */
28
+ dependencies: Set<string>;
29
+ /**
30
+ * Import map: original import path -> resolved absolute path
31
+ * Used for import transformation
32
+ */
33
+ importMap: Map<string, string>;
34
+ /**
35
+ * Dependents of the file
36
+ */
37
+ dependents: Set<string>;
38
+ /**
39
+ * Version of the file
40
+ */
41
+ version: number;
42
+ /**
43
+ * Type of the file
44
+ */
45
+ type: FileType | undefined;
46
+ /**
47
+ * Layer of the file
48
+ */
49
+ layer: LayerType | undefined;
50
+ /**
51
+ * Cache path of the file
52
+ */
53
+ cachePath: string;
54
+ /**
55
+ * Whether imports have been transformed to cache paths
56
+ */
57
+ importsTransformed: boolean;
58
+ /**
59
+ * File state
60
+ */
61
+ state: FileState;
62
+ /**
63
+ * Constructor
64
+ */
65
+ constructor(absolutePath: string, files: Map<string, FileManager>);
66
+ /**
67
+ * Initialize the file manager
68
+ * @param fileManifest Optional manifest data from previous build
69
+ * @param filesMap Optional map of all FileManager instances (for import transformation)
70
+ */
71
+ init(fileManifest?: Partial<FileManifest>): Promise<void>;
72
+ /**
73
+ * Load file with manifest data (check if changed)
74
+ */
75
+ protected loadFromManifest(fileManifest: Partial<FileManifest>): Promise<void>;
76
+ /**
77
+ * Load file from disk (fresh, no manifest)
78
+ */
79
+ protected loadFromDisk(): Promise<void>;
80
+ /**
81
+ * Process file: parse imports first, then transpile
82
+ */
83
+ protected processFile(): Promise<void>;
84
+ /**
85
+ * Detect file type and layer based on path
86
+ */
87
+ protected detectFileTypeAndLayer(): void;
88
+ /**
89
+ * Update file when changed during development
90
+ */
91
+ update(): Promise<boolean>;
92
+ /**
93
+ * Force reprocess file even if source hasn't changed
94
+ * Useful when dependencies become available (e.g., missing file is added back)
95
+ */
96
+ forceReprocess(): Promise<void>;
97
+ /**
98
+ * Transform imports in transpiled code to use cache paths
99
+ */
100
+ private transformImports;
101
+ /**
102
+ * Export file data as manifest entry
103
+ * Note: source and transpiled code are NOT stored in manifest
104
+ * - Source code is in the original file
105
+ * - Transpiled code is in .warlock/cache/
106
+ * - Hash is used to detect changes
107
+ */
108
+ toManifest(): FileManifest;
109
+ }
110
+ //# sourceMappingURL=file-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-manager.d.ts","sourceRoot":"","sources":["../../src/dev2-server/file-manager.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAG5E,qBAAa,WAAW;aAgEJ,YAAY,EAAE,MAAM;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAhExC;;OAEG;IACI,YAAY,SAAM;IACzB;;OAEG;IACI,YAAY,SAAK;IACxB;;OAEG;IACI,IAAI,SAAM;IACjB;;OAEG;IACI,MAAM,SAAM;IACnB;;OAEG;IACI,UAAU,SAAM;IACvB;;OAEG;IACI,YAAY,cAAqB;IACxC;;;OAGG;IACI,SAAS,sBAA6B;IAC7C;;OAEG;IACI,UAAU,cAAqB;IACtC;;OAEG;IACI,OAAO,SAAK;IACnB;;OAEG;IACI,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC;;OAEG;IACI,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC;;OAEG;IACI,SAAS,SAAM;IACtB;;OAEG;IACI,kBAAkB,UAAS;IAElC;;OAEG;IACI,KAAK,EAAE,SAAS,CAAU;IAEjC;;OAEG;gBAEe,YAAY,EAAE,MAAM,EAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAGxC;;;;OAIG;IACU,IAAI,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAiBtD;;OAEG;cACa,gBAAgB,CAAC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;IA6DpE;;OAEG;cACa,YAAY;IAoB5B;;OAEG;cACa,WAAW;IAmB3B;;OAEG;IACH,SAAS,CAAC,sBAAsB;IA6DhC;;OAEG;IACU,MAAM;IA+BnB;;;OAGG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAgB5C;;OAEG;YACW,gBAAgB;IAsB9B;;;;;;OAMG;IACI,UAAU,IAAI,YAAY;CAclC"}
@@ -0,0 +1,314 @@
1
+ 'use strict';var events=require('@mongez/events'),fs=require('@mongez/fs'),crypto=require('crypto'),events$1=require('./events.js'),importTransformer=require('./import-transformer.js'),parseImports=require('./parse-imports.js'),path=require('./path.js'),transpileFile=require('./transpile-file.js'),utils=require('./utils.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var events__default=/*#__PURE__*/_interopDefault(events);var crypto__default=/*#__PURE__*/_interopDefault(crypto);class FileManager {
2
+ absolutePath;
3
+ files;
4
+ /**
5
+ * Relative path to root directory
6
+ */
7
+ relativePath = "";
8
+ /**
9
+ * Last modified timestamp
10
+ */
11
+ lastModified = 0;
12
+ /**
13
+ * Hash of the file content
14
+ */
15
+ hash = "";
16
+ /**
17
+ * Source code of the file
18
+ */
19
+ source = "";
20
+ /**
21
+ * Transpiled code of the file
22
+ */
23
+ transpiled = "";
24
+ /**
25
+ * Dependencies of the file (relative paths)
26
+ */
27
+ dependencies = new Set();
28
+ /**
29
+ * Import map: original import path -> resolved absolute path
30
+ * Used for import transformation
31
+ */
32
+ importMap = new Map();
33
+ /**
34
+ * Dependents of the file
35
+ */
36
+ dependents = new Set();
37
+ /**
38
+ * Version of the file
39
+ */
40
+ version = 0;
41
+ /**
42
+ * Type of the file
43
+ */
44
+ type;
45
+ /**
46
+ * Layer of the file
47
+ */
48
+ layer;
49
+ /**
50
+ * Cache path of the file
51
+ */
52
+ cachePath = "";
53
+ /**
54
+ * Whether imports have been transformed to cache paths
55
+ */
56
+ importsTransformed = false;
57
+ /**
58
+ * File state
59
+ */
60
+ state = "idle";
61
+ /**
62
+ * Constructor
63
+ */
64
+ constructor(absolutePath, files) {
65
+ this.absolutePath = absolutePath;
66
+ this.files = files;
67
+ }
68
+ /**
69
+ * Initialize the file manager
70
+ * @param fileManifest Optional manifest data from previous build
71
+ * @param filesMap Optional map of all FileManager instances (for import transformation)
72
+ */
73
+ async init(fileManifest) {
74
+ this.state = "loading";
75
+ // No manifest = fresh file, load from disk
76
+ if (!fileManifest) {
77
+ await this.loadFromDisk();
78
+ // Import transformation will happen later in FilesOrchestrator.transformAllImports()
79
+ // after all files are processed and available in the files map
80
+ return;
81
+ }
82
+ // Manifest exists = check if file changed since last build
83
+ await this.loadFromManifest(fileManifest);
84
+ // Import transformation will happen later in FilesOrchestrator.transformAllImports()
85
+ // for files that were reprocessed (importsTransformed = false)
86
+ }
87
+ /**
88
+ * Load file with manifest data (check if changed)
89
+ */
90
+ async loadFromManifest(fileManifest) {
91
+ // Set basic properties from manifest
92
+ this.relativePath =
93
+ fileManifest.relativePath || path.Path.toRelative(this.absolutePath);
94
+ this.version = fileManifest.version || 0;
95
+ this.type = fileManifest.type;
96
+ this.layer = fileManifest.layer;
97
+ this.cachePath =
98
+ fileManifest.cachePath ||
99
+ this.relativePath.replace(/\//g, "-").replace(/\.(ts|tsx)$/, ".js");
100
+ // Check if file still exists
101
+ try {
102
+ this.source = await fs.getFileAsync(this.absolutePath);
103
+ }
104
+ catch (error) {
105
+ this.state = "deleted";
106
+ return;
107
+ }
108
+ // Calculate current hash
109
+ const currentHash = crypto__default.default
110
+ .createHash("sha256")
111
+ .update(this.source)
112
+ .digest("hex");
113
+ const currentLastModified = (await fs.lastModifiedAsync(this.absolutePath)).getTime();
114
+ // Compare with manifest data
115
+ const hasChanged = currentHash !== fileManifest.hash;
116
+ if (hasChanged) {
117
+ // File changed - reprocess it
118
+ this.hash = currentHash;
119
+ this.lastModified = currentLastModified;
120
+ this.version++;
121
+ await this.processFile();
122
+ }
123
+ else {
124
+ // File unchanged - load from cache
125
+ this.hash = fileManifest.hash;
126
+ this.lastModified = fileManifest.lastModified;
127
+ this.dependencies = new Set(fileManifest.dependencies || []);
128
+ this.dependents = new Set(fileManifest.dependents || []);
129
+ // Load cached transpiled code
130
+ try {
131
+ this.transpiled = await fs.getFileAsync(utils.warlockCachePath(this.cachePath));
132
+ // Cached files already have transformed imports
133
+ this.importsTransformed = true;
134
+ }
135
+ catch (error) {
136
+ // Cache missing - retranspile
137
+ await this.processFile();
138
+ // Will need import transformation
139
+ this.importsTransformed = false;
140
+ }
141
+ }
142
+ this.state = "ready";
143
+ events__default.default.trigger(events$1.DEV_SERVER_EVENTS.FILE_READY, this);
144
+ }
145
+ /**
146
+ * Load file from disk (fresh, no manifest)
147
+ */
148
+ async loadFromDisk() {
149
+ this.source = await fs.getFileAsync(this.absolutePath);
150
+ this.hash = crypto__default.default.createHash("sha256").update(this.source).digest("hex");
151
+ this.relativePath = path.Path.toRelative(this.absolutePath);
152
+ this.lastModified = (await fs.lastModifiedAsync(this.absolutePath)).getTime();
153
+ this.version = 0;
154
+ this.detectFileTypeAndLayer();
155
+ // Generate cache path (replace / with - and change extension to .js)
156
+ this.cachePath = this.relativePath
157
+ .replace(/\//g, "-")
158
+ .replace(/\.(ts|tsx)$/, ".js");
159
+ await this.processFile();
160
+ this.state = "ready";
161
+ events__default.default.trigger(events$1.DEV_SERVER_EVENTS.FILE_READY, this);
162
+ }
163
+ /**
164
+ * Process file: parse imports first, then transpile
165
+ */
166
+ async processFile() {
167
+ // STEP 1: Parse imports from source (must be first to get dependencies)
168
+ const importMap = await parseImports.parseImports(this.source, this.absolutePath);
169
+ // Store dependencies as relative paths
170
+ this.dependencies = new Set(Array.from(importMap.values()).map(absPath => path.Path.toRelative(absPath)));
171
+ // Store import map for later use in import transformation
172
+ this.importMap = importMap;
173
+ // STEP 2: Transpile source code
174
+ this.transpiled = await transpileFile.transpile(this);
175
+ // STEP 3: Save transpiled code to cache
176
+ await fs.putFileAsync(utils.warlockCachePath(this.cachePath), this.transpiled);
177
+ }
178
+ /**
179
+ * Detect file type and layer based on path
180
+ */
181
+ detectFileTypeAndLayer() {
182
+ // Main entry files
183
+ if (this.relativePath.includes("main.ts") ||
184
+ this.relativePath.includes("main.tsx")) {
185
+ this.type = "main";
186
+ this.layer = "HMR";
187
+ return;
188
+ }
189
+ // Config files - FSR but handled specially (reload config + restart affected connectors)
190
+ if (this.relativePath.startsWith("src/config/")) {
191
+ this.type = "config";
192
+ this.layer = "HMR";
193
+ return;
194
+ }
195
+ // Routes files
196
+ if (this.relativePath.endsWith("routes.ts") ||
197
+ this.relativePath.endsWith("routes.tsx")) {
198
+ this.type = "route";
199
+ this.layer = "HMR"; // For now FSR, will be HMR with wildcard routing
200
+ return;
201
+ }
202
+ // Event files
203
+ if (this.relativePath.includes("/events/")) {
204
+ this.type = "event";
205
+ this.layer = "HMR";
206
+ return;
207
+ }
208
+ // Controllers
209
+ if (this.relativePath.includes("controller")) {
210
+ this.type = "controller";
211
+ this.layer = "HMR";
212
+ return;
213
+ }
214
+ // Services
215
+ if (this.relativePath.includes("service")) {
216
+ this.type = "service";
217
+ this.layer = "HMR";
218
+ return;
219
+ }
220
+ // Models
221
+ if (this.relativePath.includes("model")) {
222
+ this.type = "model";
223
+ this.layer = "HMR";
224
+ return;
225
+ }
226
+ // Default: other files use HMR
227
+ this.type = "other";
228
+ this.layer = "HMR";
229
+ }
230
+ /**
231
+ * Update file when changed during development
232
+ */
233
+ async update() {
234
+ performance.now();
235
+ const newSource = await fs.getFileAsync(this.absolutePath);
236
+ // No change in content
237
+ if (newSource.trim() === this.source.trim()) {
238
+ return false;
239
+ }
240
+ this.state = "updating";
241
+ this.source = newSource;
242
+ this.version++;
243
+ // Update hash and last modified
244
+ this.hash = crypto__default.default.createHash("sha256").update(this.source).digest("hex");
245
+ this.lastModified = (await fs.lastModifiedAsync(this.absolutePath)).getTime();
246
+ // Reprocess file
247
+ await this.processFile();
248
+ // Transform imports if filesMap is provided
249
+ if (this.dependencies.size > 0) {
250
+ this.importsTransformed = false;
251
+ await this.transformImports();
252
+ }
253
+ this.state = "ready";
254
+ return true;
255
+ }
256
+ /**
257
+ * Force reprocess file even if source hasn't changed
258
+ * Useful when dependencies become available (e.g., missing file is added back)
259
+ */
260
+ async forceReprocess() {
261
+ this.state = "updating";
262
+ this.version++;
263
+ // Reprocess file (re-parse imports, retranspile, transform imports)
264
+ await this.processFile();
265
+ // Transform imports
266
+ if (this.dependencies.size > 0) {
267
+ this.importsTransformed = false;
268
+ await this.transformImports();
269
+ }
270
+ this.state = "ready";
271
+ }
272
+ /**
273
+ * Transform imports in transpiled code to use cache paths
274
+ */
275
+ async transformImports() {
276
+ if (this.importsTransformed) {
277
+ return; // Already transformed
278
+ }
279
+ try {
280
+ // Transform imports in transpiled code
281
+ const transformedCode = importTransformer.transformImports(this, this.files);
282
+ // Update the transpiled code
283
+ this.transpiled = transformedCode;
284
+ // Save the transformed code back to cache
285
+ await fs.putFileAsync(utils.warlockCachePath(this.cachePath), transformedCode);
286
+ // Mark as transformed
287
+ this.importsTransformed = true;
288
+ }
289
+ catch (error) {
290
+ throw error;
291
+ }
292
+ }
293
+ /**
294
+ * Export file data as manifest entry
295
+ * Note: source and transpiled code are NOT stored in manifest
296
+ * - Source code is in the original file
297
+ * - Transpiled code is in .warlock/cache/
298
+ * - Hash is used to detect changes
299
+ */
300
+ toManifest() {
301
+ return {
302
+ absolutePath: this.absolutePath,
303
+ relativePath: this.relativePath,
304
+ lastModified: this.lastModified,
305
+ hash: this.hash,
306
+ dependencies: Array.from(this.dependencies),
307
+ dependents: Array.from(this.dependents),
308
+ version: this.version,
309
+ type: this.type,
310
+ layer: this.layer,
311
+ cachePath: this.cachePath,
312
+ };
313
+ }
314
+ }exports.FileManager=FileManager;//# sourceMappingURL=file-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-manager.js","sources":["../../src/dev2-server/file-manager.ts"],"sourcesContent":[null],"names":["Path","getFileAsync","crypto","lastModifiedAsync","warlockCachePath","events","DEV_SERVER_EVENTS","parseImports","transpile","putFileAsync","transformImports"],"mappings":"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"}
@@ -0,0 +1,54 @@
1
+ import type { DependencyGraph } from "./dependency-graph";
2
+ import { FileManager } from "./file-manager";
3
+ import type { ManifestManager } from "./manifest-manager";
4
+ import type { SpecialFilesCollector } from "./special-files-collector";
5
+ /**
6
+ * FileOperations
7
+ * Handles file lifecycle operations: add, update, delete
8
+ *
9
+ * Responsibilities:
10
+ * - Create/update/delete FileManager instances
11
+ * - Manage cache files
12
+ * - Update dependency graph
13
+ * - Update special files collector
14
+ * - Trigger events
15
+ */
16
+ export declare class FileOperations {
17
+ private readonly files;
18
+ private readonly dependencyGraph;
19
+ private readonly manifest;
20
+ private readonly specialFilesCollector;
21
+ constructor(files: Map<string, FileManager>, dependencyGraph: DependencyGraph, manifest: ManifestManager, specialFilesCollector: SpecialFilesCollector);
22
+ /**
23
+ * Add a new file to the system
24
+ * @param relativePath - Relative path of the file
25
+ * @returns The created FileManager instance
26
+ */
27
+ addFile(relativePath: string): Promise<FileManager>;
28
+ /**
29
+ * Reload files that might have been waiting for this dependency
30
+ * When a file is added, check if any existing files have imports
31
+ * that could now resolve to this new file
32
+ */
33
+ private reloadFilesWaitingForDependency;
34
+ /**
35
+ * Update an existing file
36
+ * @param relativePath - Relative path of the file
37
+ * @returns True if file was changed, false if unchanged
38
+ */
39
+ updateFile(relativePath: string): Promise<boolean>;
40
+ /**
41
+ * Delete a file from the system
42
+ * @param relativePath - Relative path of the file
43
+ */
44
+ deleteFile(relativePath: string): Promise<void>;
45
+ /**
46
+ * Update dependents in all FileManager instances from dependency graph
47
+ */
48
+ updateFileDependents(): void;
49
+ /**
50
+ * Sync all FileManager instances to manifest
51
+ */
52
+ syncFilesToManifest(): void;
53
+ }
54
+ //# sourceMappingURL=file-operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-operations.d.ts","sourceRoot":"","sources":["../../src/dev2-server/file-operations.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE;;;;;;;;;;GAUG;AACH,qBAAa,cAAc;IAEvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,eAAe;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,qBAAqB;gBAHrB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAC/B,eAAe,EAAE,eAAe,EAChC,QAAQ,EAAE,eAAe,EACzB,qBAAqB,EAAE,qBAAqB;IAG/D;;;;OAIG;IACU,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiChE;;;;OAIG;YACW,+BAA+B;IAiD7C;;;;OAIG;IACU,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwC/D;;;OAGG;IACU,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC5D;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAOnC;;OAEG;IACI,mBAAmB,IAAI,IAAI;CAKnC"}