@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,225 @@
1
+ /**
2
+ * Dependency Graph
3
+ * Tracks bidirectional relationships between files:
4
+ * - dependencies: files that this file imports
5
+ * - dependents: files that import this file
6
+ */
7
+ class DependencyGraph {
8
+ /**
9
+ * Map of file -> files it depends on (imports)
10
+ * Key: relative file path
11
+ * Value: Set of relative file paths this file imports
12
+ */
13
+ dependencies = new Map();
14
+ /**
15
+ * Map of file -> files that depend on it (importers)
16
+ * Key: relative file path
17
+ * Value: Set of relative file paths that import this file
18
+ */
19
+ dependents = new Map();
20
+ /**
21
+ * Build dependency graph from FileManager map
22
+ */
23
+ build(files) {
24
+ // Clear existing graph
25
+ this.dependencies.clear();
26
+ this.dependents.clear();
27
+ // Build graph from all files
28
+ for (const [relativePath, fileManager] of files) {
29
+ // Initialize empty sets ONLY if not already present
30
+ // (addDependency may have already created entries for this file)
31
+ if (!this.dependencies.has(relativePath)) {
32
+ this.dependencies.set(relativePath, new Set());
33
+ }
34
+ if (!this.dependents.has(relativePath)) {
35
+ this.dependents.set(relativePath, new Set());
36
+ }
37
+ // Add dependencies
38
+ for (const dependency of fileManager.dependencies) {
39
+ this.addDependency(relativePath, dependency);
40
+ }
41
+ }
42
+ // Detect circular dependencies
43
+ const cycles = this.detectCircularDependencies();
44
+ if (cycles.length > 0) {
45
+ console.warn(`⚠️ Found ${cycles.length} circular dependency chain(s)`);
46
+ for (const cycle of cycles) {
47
+ console.warn(` ${cycle.join(" → ")}`);
48
+ }
49
+ }
50
+ }
51
+ /**
52
+ * Add a dependency relationship
53
+ * @param file The file that has the dependency
54
+ * @param dependency The file being depended upon
55
+ */
56
+ addDependency(file, dependency) {
57
+ // Ensure both files exist in the graph
58
+ if (!this.dependencies.has(file)) {
59
+ this.dependencies.set(file, new Set());
60
+ }
61
+ if (!this.dependents.has(dependency)) {
62
+ this.dependents.set(dependency, new Set());
63
+ }
64
+ // Add bidirectional relationship
65
+ this.dependencies.get(file).add(dependency);
66
+ this.dependents.get(dependency).add(file);
67
+ }
68
+ /**
69
+ * Remove a dependency relationship
70
+ * @param file The file that has the dependency
71
+ * @param dependency The file being depended upon
72
+ */
73
+ removeDependency(file, dependency) {
74
+ this.dependencies.get(file)?.delete(dependency);
75
+ this.dependents.get(dependency)?.delete(file);
76
+ }
77
+ /**
78
+ * Remove all relationships for a file
79
+ * @param file The file to remove
80
+ */
81
+ removeFile(file) {
82
+ // Remove as dependent from all its dependencies
83
+ const deps = this.dependencies.get(file);
84
+ if (deps) {
85
+ for (const dependency of deps) {
86
+ this.dependents.get(dependency)?.delete(file);
87
+ }
88
+ }
89
+ // Remove as dependency from all its dependents
90
+ const dependents = this.dependents.get(file);
91
+ if (dependents) {
92
+ for (const dependent of dependents) {
93
+ this.dependencies.get(dependent)?.delete(file);
94
+ }
95
+ }
96
+ // Remove from maps
97
+ this.dependencies.delete(file);
98
+ this.dependents.delete(file);
99
+ }
100
+ /**
101
+ * Update dependencies for a file
102
+ * @param file The file to update
103
+ * @param newDependencies New set of dependencies
104
+ */
105
+ updateFile(file, newDependencies) {
106
+ // Get old dependencies
107
+ const oldDependencies = this.dependencies.get(file) || new Set();
108
+ // Find removed dependencies
109
+ for (const oldDep of oldDependencies) {
110
+ if (!newDependencies.has(oldDep)) {
111
+ this.removeDependency(file, oldDep);
112
+ }
113
+ }
114
+ // Find added dependencies
115
+ for (const newDep of newDependencies) {
116
+ if (!oldDependencies.has(newDep)) {
117
+ this.addDependency(file, newDep);
118
+ }
119
+ }
120
+ }
121
+ /**
122
+ * Get files that this file depends on (imports)
123
+ * @param file The file to check
124
+ * @returns Set of files this file imports
125
+ */
126
+ getDependencies(file) {
127
+ return this.dependencies.get(file) || new Set();
128
+ }
129
+ /**
130
+ * Get files that depend on this file (importers)
131
+ * @param file The file to check
132
+ * @returns Set of files that import this file
133
+ */
134
+ getDependents(file) {
135
+ return this.dependents.get(file) || new Set();
136
+ }
137
+ /**
138
+ * Get invalidation chain for a file
139
+ * Returns all files that need to be reloaded when this file changes
140
+ * Includes the file itself and all transitive dependents
141
+ * @param file The file that changed
142
+ * @returns Array of files to invalidate (in order)
143
+ */
144
+ getInvalidationChain(file) {
145
+ const chain = [file];
146
+ const visited = new Set([file]);
147
+ const traverse = (current) => {
148
+ const deps = this.getDependents(current);
149
+ for (const dep of deps) {
150
+ if (!visited.has(dep)) {
151
+ visited.add(dep);
152
+ chain.push(dep);
153
+ traverse(dep); // Recursive traversal
154
+ }
155
+ }
156
+ };
157
+ traverse(file);
158
+ return chain;
159
+ }
160
+ /**
161
+ * Detect circular dependencies
162
+ * @returns Array of circular dependency chains
163
+ */
164
+ detectCircularDependencies() {
165
+ const cycles = [];
166
+ const visited = new Set();
167
+ const recursionStack = new Set();
168
+ const dfs = (file, path) => {
169
+ visited.add(file);
170
+ recursionStack.add(file);
171
+ path.push(file);
172
+ const deps = this.getDependencies(file);
173
+ for (const dep of deps) {
174
+ if (!visited.has(dep)) {
175
+ dfs(dep, [...path]);
176
+ }
177
+ else if (recursionStack.has(dep)) {
178
+ // Found a cycle
179
+ const cycleStart = path.indexOf(dep);
180
+ const cycle = [...path.slice(cycleStart), dep];
181
+ cycles.push(cycle);
182
+ }
183
+ }
184
+ recursionStack.delete(file);
185
+ };
186
+ for (const file of this.dependencies.keys()) {
187
+ if (!visited.has(file)) {
188
+ dfs(file, []);
189
+ }
190
+ }
191
+ return cycles;
192
+ }
193
+ /**
194
+ * Get statistics about the dependency graph
195
+ */
196
+ getStats() {
197
+ let totalDependencies = 0;
198
+ let maxDependencies = 0;
199
+ let maxDependents = 0;
200
+ let mostDependedFile = "";
201
+ let mostDependingFile = "";
202
+ for (const [file, deps] of this.dependencies) {
203
+ totalDependencies += deps.size;
204
+ if (deps.size > maxDependencies) {
205
+ maxDependencies = deps.size;
206
+ mostDependingFile = file;
207
+ }
208
+ }
209
+ for (const [file, deps] of this.dependents) {
210
+ if (deps.size > maxDependents) {
211
+ maxDependents = deps.size;
212
+ mostDependedFile = file;
213
+ }
214
+ }
215
+ return {
216
+ totalFiles: this.dependencies.size,
217
+ totalDependencies,
218
+ avgDependenciesPerFile: totalDependencies / this.dependencies.size || 0,
219
+ maxDependencies,
220
+ maxDependents,
221
+ mostDependingFile,
222
+ mostDependedFile,
223
+ };
224
+ }
225
+ }export{DependencyGraph};//# sourceMappingURL=dependency-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency-graph.js","sources":["../../src/dev2-server/dependency-graph.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare function devLog(message: string): void;
2
+ export declare function devLogSuccess(message: string): void;
3
+ export declare function devLogError(message: string, error?: any): void;
4
+ export declare function devLogWarn(message: string): void;
5
+ export declare function devLogInfo(message: string): void;
6
+ export declare function devLogDim(message: string): void;
7
+ export declare function devLogHMR(file: string, dependents?: number): void;
8
+ export declare function devLogFSR(reason: string): void;
9
+ export declare function devLogConfig(file: string, connectors?: string[]): void;
10
+ export declare function devLogReady(message: string): void;
11
+ export declare function devLogSection(title: string): void;
12
+ export declare function formatModuleNotFoundError(error: Error): string;
13
+ export declare function devServeLog(message: string): void;
14
+ //# sourceMappingURL=dev-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-logger.d.ts","sourceRoot":"","sources":["../../src/dev2-server/dev-logger.ts"],"names":[],"mappings":"AAcA,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,QAErC;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,QAE5C;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,QAOvD;AAGD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAGD,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,QAEzC;AAGD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,QAExC;AAGD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,QAK1D;AAGD,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,QAEvC;AAGD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAM/D;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C;AAGD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,QAE1C;AAyCD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CA2B9D;AAGD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,QAE1C"}
@@ -0,0 +1,117 @@
1
+ import {colors}from'@mongez/copper';import dayjs from'dayjs';import {Path}from'./path.js';/**
2
+ * Dev server logger with Vite-like formatting
3
+ */
4
+ // Timestamp formatter
5
+ function timestamp() {
6
+ return colors.dim(`${dayjs().format("HH:mm:ss A")}`);
7
+ }
8
+ // Main log function
9
+ function devLog(message) {
10
+ console.log(`${timestamp()} ${message}`);
11
+ }
12
+ // Success log (green checkmark)
13
+ function devLogSuccess(message) {
14
+ console.log(`${timestamp()} ${colors.green("✓")} ${colors.green(message)}`);
15
+ }
16
+ // Error log (red X)
17
+ function devLogError(message, error) {
18
+ console.log(`${timestamp()} ${colors.red("✗")} ${colors.red(message)}`);
19
+ if (error && error.stack) {
20
+ // Clean up error stack to show relative paths
21
+ const cleanStack = cleanErrorStack(error.stack);
22
+ console.log(colors.dim(cleanStack));
23
+ }
24
+ }
25
+ // Info log (cyan)
26
+ function devLogInfo(message) {
27
+ console.log(`${timestamp()} ${colors.cyan(message)}`);
28
+ }
29
+ // Dim log (for less important info)
30
+ function devLogDim(message) {
31
+ console.log(`${timestamp()} ${colors.dim(message)}`);
32
+ }
33
+ // HMR update log (like Vite)
34
+ function devLogHMR(file, dependents) {
35
+ const relativePath = Path.toRelative(file);
36
+ const depInfo = dependents ? colors.dim(` +${dependents} module${dependents > 1 ? "s" : ""}`) : "";
37
+ // console.log(`${timestamp()} ✨ ${colors.green("hmr update")}✨ ${colors.dim(relativePath)}${depInfo}`);
38
+ console.log(`${timestamp()} 🔥 ${colors.green("hmr update")} ${colors.dim(relativePath)}${depInfo}`);
39
+ }
40
+ // FSR log
41
+ function devLogFSR(reason) {
42
+ console.log(`${timestamp()} ${colors.yellow("full restart")} ${colors.dim(reason)}`);
43
+ }
44
+ // Config reload log
45
+ function devLogConfig(file, connectors) {
46
+ const relativePath = Path.toRelative(file);
47
+ const connectorInfo = connectors && connectors.length > 0
48
+ ? colors.dim(` → restarting ${connectors.join(", ")}`)
49
+ : "";
50
+ console.log(`${timestamp()} ${colors.cyan("config reload")} ${colors.dim(relativePath)}${connectorInfo}`);
51
+ }
52
+ // Ready log (like Vite's ready message)
53
+ function devLogReady(message) {
54
+ console.log(`\n${timestamp()} ${colors.green("➜")} ${colors.bold(message)}`);
55
+ }
56
+ // Section header
57
+ function devLogSection(title) {
58
+ console.log(`\n${timestamp()} ${colors.bold(colors.cyan(title))}`);
59
+ }
60
+ // Clean error stack to show relative paths instead of absolute cache paths
61
+ function cleanErrorStack(stack) {
62
+ const lines = stack.split("\n");
63
+ const cleaned = lines.map((line) => {
64
+ // Replace absolute cache paths with relative source paths
65
+ // Pattern: D:\...\dev-server\.warlock\cache\src-app-users-main.js
66
+ // Replace with: src/app/users/main.ts
67
+ let cleanedLine = line;
68
+ // Remove cache directory references
69
+ cleanedLine = cleanedLine.replace(/\.warlock[\\\/]cache[\\\/]/g, "");
70
+ // Convert cache file names back to source paths
71
+ // src-app-users-main.js → src/app/users/main.ts
72
+ cleanedLine = cleanedLine.replace(/([a-zA-Z0-9_-]+(?:-[a-zA-Z0-9_-]+)+)\.js/g, (match, p1) => {
73
+ const sourcePath = p1.replace(/-/g, "/") + ".ts";
74
+ return sourcePath;
75
+ });
76
+ // Make paths relative
77
+ try {
78
+ const absolutePathMatch = cleanedLine.match(/([A-Z]:\\[^:]+|\/[^:]+)(?=:|\))/);
79
+ if (absolutePathMatch) {
80
+ const absolutePath = absolutePathMatch[1];
81
+ const relativePath = Path.toRelative(absolutePath);
82
+ cleanedLine = cleanedLine.replace(absolutePath, relativePath);
83
+ }
84
+ }
85
+ catch {
86
+ // If path conversion fails, keep original
87
+ }
88
+ return cleanedLine;
89
+ });
90
+ return cleaned.join("\n");
91
+ }
92
+ // Format module not found errors
93
+ function formatModuleNotFoundError(error) {
94
+ const message = error.message;
95
+ // Extract paths from error message
96
+ // Pattern: Cannot find module 'D:\...\cache\src-app-users-utils.js' imported from 'D:\...\main.js'
97
+ const match = message.match(/Cannot find module '([^']+)' imported from '([^']+)'/);
98
+ if (match) {
99
+ const [, modulePath, importerPath] = match;
100
+ // Convert cache paths to source paths
101
+ const cleanModulePath = modulePath
102
+ .replace(/\.warlock[\\\/]cache[\\\/]/, "")
103
+ .replace(/([a-zA-Z0-9_-]+(?:-[a-zA-Z0-9_-]+)+)\.js/, (m, p1) => p1.replace(/-/g, "/") + ".ts");
104
+ const cleanImporterPath = importerPath
105
+ .replace(/\.warlock[\\\/]cache[\\\/]/, "")
106
+ .replace(/([a-zA-Z0-9_-]+(?:-[a-zA-Z0-9_-]+)+)\.js/, (m, p1) => p1.replace(/-/g, "/") + ".ts");
107
+ // Make paths relative
108
+ const relativeModule = Path.toRelative(cleanModulePath);
109
+ const relativeImporter = Path.toRelative(cleanImporterPath);
110
+ return `[MODULE_NOT_FOUND] Cannot find module ${colors.cyan(relativeModule)} imported from ${colors.cyan(relativeImporter)}`;
111
+ }
112
+ return message;
113
+ }
114
+ // Legacy function for backward compatibility
115
+ function devServeLog(message) {
116
+ devLog(message);
117
+ }export{devLog,devLogConfig,devLogDim,devLogError,devLogFSR,devLogHMR,devLogInfo,devLogReady,devLogSection,devLogSuccess,devServeLog,formatModuleNotFoundError};//# sourceMappingURL=dev-logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-logger.js","sources":["../../src/dev2-server/dev-logger.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,97 @@
1
+ import { ConfigLoader } from "./config-loader";
2
+ import type { Connector } from "./connectors";
3
+ import { FilesOrchestrator } from "./files-orchestrator";
4
+ import { ModuleLoader } from "./module-loader";
5
+ import { SpecialFilesCollector } from "./special-files-collector";
6
+ /**
7
+ * Development Server
8
+ * Main coordinator for the dev server
9
+ * Manages file system, connectors, and hot reloading
10
+ */
11
+ export declare class DevelopmentServer {
12
+ /**
13
+ * Special files collector - categorizes and provides access to special files
14
+ */
15
+ private readonly specialFilesCollector;
16
+ /**
17
+ * Files orchestrator - manages file discovery, watching, and dependency graph
18
+ */
19
+ private readonly filesOrchestrator;
20
+ /**
21
+ * Config loader - dynamically loads configuration files
22
+ */
23
+ private readonly configLoader;
24
+ /**
25
+ * Module loader - dynamically loads application modules
26
+ */
27
+ private moduleLoader?;
28
+ /**
29
+ * Layer executor - handles HMR and FSR execution
30
+ */
31
+ private layerExecutor?;
32
+ /**
33
+ * Registered connectors (Database, HTTP, Cache, etc.)
34
+ * Sorted by priority
35
+ */
36
+ private readonly connectors;
37
+ /**
38
+ * Whether the server is currently running
39
+ */
40
+ private running;
41
+ constructor();
42
+ /**
43
+ * Register a connector
44
+ * Connectors are automatically sorted by priority
45
+ */
46
+ registerConnector(connector: Connector): void;
47
+ /**
48
+ * Initialize and start the development server
49
+ */
50
+ start(): Promise<void>;
51
+ /**
52
+ * Initialize all registered connectors in priority order
53
+ */
54
+ private initConnectors;
55
+ /**
56
+ * Setup event listeners for file changes
57
+ */
58
+ private setupEventListeners;
59
+ /**
60
+ * Handle batch completion event
61
+ * Triggered when a batch of files has been processed
62
+ */
63
+ private handleBatchComplete;
64
+ /**
65
+ * @deprecated Use LayerExecutor instead
66
+ */
67
+ private handleFullServerRestart;
68
+ /**
69
+ * Gracefully shutdown the development server
70
+ */
71
+ shutdown(): Promise<void>;
72
+ /**
73
+ * Check if server is running
74
+ */
75
+ isRunning(): boolean;
76
+ /**
77
+ * Get files orchestrator (for advanced usage)
78
+ */
79
+ getFilesOrchestrator(): FilesOrchestrator;
80
+ /**
81
+ * Get special files collector
82
+ */
83
+ getSpecialFilesCollector(): SpecialFilesCollector;
84
+ /**
85
+ * Get config loader
86
+ */
87
+ getConfigLoader(): ConfigLoader;
88
+ /**
89
+ * Get module loader
90
+ */
91
+ getModuleLoader(): ModuleLoader | undefined;
92
+ /**
93
+ * Get registered connectors
94
+ */
95
+ getConnectors(): Connector[];
96
+ }
97
+ //# sourceMappingURL=development-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"development-server.d.ts","sourceRoot":"","sources":["../../src/dev2-server/development-server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAElE;;;;GAIG;AACH,qBAAa,iBAAiB;IAC5B;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA+B;IAErE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAqD;IAEvF;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IAEnD;;OAEG;IACH,OAAO,CAAC,YAAY,CAAC,CAAe;IAEpC;;OAEG;IACH,OAAO,CAAC,aAAa,CAAC,CAAgB;IAEtC;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C;;OAEG;IACH,OAAO,CAAC,OAAO,CAAkB;;IAajC;;;OAGG;IACI,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI;IAMpD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA0DnC;;OAEG;YACW,cAAc;IAS5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;YACW,mBAAmB;IA4BjC;;OAEG;YACW,uBAAuB;IAoBrC;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAuBtC;;OAEG;IACI,SAAS,IAAI,OAAO;IAI3B;;OAEG;IACI,oBAAoB,IAAI,iBAAiB;IAIhD;;OAEG;IACI,wBAAwB,IAAI,qBAAqB;IAIxD;;OAEG;IACI,eAAe,IAAI,YAAY;IAItC;;OAEG;IACI,eAAe,IAAI,YAAY,GAAG,SAAS;IAIlD;;OAEG;IACI,aAAa,IAAI,SAAS,EAAE;CAGpC"}