@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,80 @@
1
+ import { FileManager } from "./file-manager";
2
+ import type { FileManifest } from "./types";
3
+ /**
4
+ * Manifest structure with metadata and files
5
+ */
6
+ export type Manifest = {
7
+ version: string;
8
+ lastBuildTime: number;
9
+ projectHash?: string;
10
+ stats: {
11
+ totalFiles: number;
12
+ totalDependencies: number;
13
+ };
14
+ files: Record<string, FileManifest>;
15
+ };
16
+ export declare class ManifestManager {
17
+ private readonly files;
18
+ /**
19
+ * Manifest data with metadata
20
+ */
21
+ private manifest;
22
+ /**
23
+ * Constructor
24
+ */
25
+ constructor(files: Map<string, FileManager>);
26
+ /**
27
+ * Initialize manifest manager
28
+ * @returns true if manifest exists, false otherwise
29
+ */
30
+ init(): Promise<boolean>;
31
+ /**
32
+ * Save manifest to disk
33
+ */
34
+ save(): Promise<void>;
35
+ /**
36
+ * Get file manifest data
37
+ */
38
+ getFile(filePath: string): FileManifest | undefined;
39
+ /**
40
+ * Check if file exists in manifest
41
+ */
42
+ hasFile(filePath: string): boolean;
43
+ /**
44
+ * Set file manifest data
45
+ */
46
+ setFile(filePath: string, fileManifest: FileManifest): void;
47
+ /**
48
+ * Remove file from manifest
49
+ */
50
+ removeFile(filePath: string): void;
51
+ /**
52
+ * Get all file paths in manifest
53
+ */
54
+ getAllFilePaths(): string[];
55
+ /**
56
+ * Get all file manifests
57
+ */
58
+ getAllFiles(): Record<string, FileManifest>;
59
+ /**
60
+ * Get manifest metadata
61
+ */
62
+ getMetadata(): {
63
+ version: string;
64
+ lastBuildTime: number;
65
+ projectHash: string;
66
+ stats: {
67
+ totalFiles: number;
68
+ totalDependencies: number;
69
+ };
70
+ };
71
+ /**
72
+ * Calculate total dependencies across all files
73
+ */
74
+ private calculateTotalDependencies;
75
+ /**
76
+ * Clear all files from manifest
77
+ */
78
+ clear(): void;
79
+ }
80
+ //# sourceMappingURL=manifest-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-manager.d.ts","sourceRoot":"","sources":["../../src/dev2-server/manifest-manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrC,CAAC;AAEF,qBAAa,eAAe;IAiBP,OAAO,CAAC,QAAQ,CAAC,KAAK;IAhBzC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAQd;IAEF;;OAEG;gBACiC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC;IAEnE;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IASrC;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IASlC;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAI1D;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAIzC;;OAEG;IACI,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,IAAI;IAIlE;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACI,eAAe,IAAI,MAAM,EAAE;IAIlC;;OAEG;IACI,WAAW,IAAI,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC;IAIlD;;OAEG;IACI,WAAW;;;;;;;;;IASlB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAOlC;;OAEG;IACI,KAAK,IAAI,IAAI;CAOrB"}
@@ -0,0 +1,107 @@
1
+ import {fileExistsAsync,getJsonFileAsync,putFileAsync}from'@mongez/fs';import {MANIFEST_PATH}from'./flags.js';class ManifestManager {
2
+ files;
3
+ /**
4
+ * Manifest data with metadata
5
+ */
6
+ manifest = {
7
+ version: "1.0.0",
8
+ lastBuildTime: Date.now(),
9
+ stats: {
10
+ totalFiles: 0,
11
+ totalDependencies: 0,
12
+ },
13
+ files: {},
14
+ };
15
+ /**
16
+ * Constructor
17
+ */
18
+ constructor(files) {
19
+ this.files = files;
20
+ }
21
+ /**
22
+ * Initialize manifest manager
23
+ * @returns true if manifest exists, false otherwise
24
+ */
25
+ async init() {
26
+ if (await fileExistsAsync(MANIFEST_PATH)) {
27
+ this.manifest = await getJsonFileAsync(MANIFEST_PATH);
28
+ return true;
29
+ }
30
+ else {
31
+ return false;
32
+ }
33
+ }
34
+ /**
35
+ * Save manifest to disk
36
+ */
37
+ async save() {
38
+ // Update stats before saving
39
+ this.manifest.stats.totalFiles = Object.keys(this.manifest.files).length;
40
+ this.manifest.stats.totalDependencies = this.calculateTotalDependencies();
41
+ this.manifest.lastBuildTime = Date.now();
42
+ await putFileAsync(MANIFEST_PATH, JSON.stringify(this.manifest, null, 2));
43
+ }
44
+ /**
45
+ * Get file manifest data
46
+ */
47
+ getFile(filePath) {
48
+ return this.manifest.files[filePath];
49
+ }
50
+ /**
51
+ * Check if file exists in manifest
52
+ */
53
+ hasFile(filePath) {
54
+ return filePath in this.manifest.files;
55
+ }
56
+ /**
57
+ * Set file manifest data
58
+ */
59
+ setFile(filePath, fileManifest) {
60
+ this.manifest.files[filePath] = fileManifest;
61
+ }
62
+ /**
63
+ * Remove file from manifest
64
+ */
65
+ removeFile(filePath) {
66
+ delete this.manifest.files[filePath];
67
+ }
68
+ /**
69
+ * Get all file paths in manifest
70
+ */
71
+ getAllFilePaths() {
72
+ return Object.keys(this.manifest.files);
73
+ }
74
+ /**
75
+ * Get all file manifests
76
+ */
77
+ getAllFiles() {
78
+ return this.manifest.files;
79
+ }
80
+ /**
81
+ * Get manifest metadata
82
+ */
83
+ getMetadata() {
84
+ return {
85
+ version: this.manifest.version,
86
+ lastBuildTime: this.manifest.lastBuildTime,
87
+ projectHash: this.manifest.projectHash,
88
+ stats: this.manifest.stats,
89
+ };
90
+ }
91
+ /**
92
+ * Calculate total dependencies across all files
93
+ */
94
+ calculateTotalDependencies() {
95
+ return Object.values(this.manifest.files).reduce((total, file) => total + (file.dependencies?.length || 0), 0);
96
+ }
97
+ /**
98
+ * Clear all files from manifest
99
+ */
100
+ clear() {
101
+ this.manifest.files = {};
102
+ this.manifest.stats = {
103
+ totalFiles: 0,
104
+ totalDependencies: 0,
105
+ };
106
+ }
107
+ }export{ManifestManager};//# sourceMappingURL=manifest-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest-manager.js","sources":["../../src/dev2-server/manifest-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import type { FileManager } from "./file-manager";
2
+ import type { SpecialFilesCollector } from "./special-files-collector";
3
+ /**
4
+ * Module Loader
5
+ * Dynamically loads and manages application modules (main, routes, events, locales)
6
+ * Handles module cache invalidation for HMR
7
+ */
8
+ export declare class ModuleLoader {
9
+ private readonly specialFilesCollector;
10
+ /**
11
+ * Loaded modules cache
12
+ * Maps absolute path to loaded module
13
+ */
14
+ private readonly loadedModules;
15
+ /**
16
+ * Constructor
17
+ */
18
+ constructor(specialFilesCollector: SpecialFilesCollector);
19
+ /**
20
+ * Load all special files in correct order
21
+ */
22
+ loadAll(): Promise<void>;
23
+ /**
24
+ * Load all main.ts files
25
+ * Main files are module entry points that run initialization code
26
+ * Loaded in parallel as they should be independent
27
+ */
28
+ loadMainFiles(): Promise<void>;
29
+ /**
30
+ * Load all locale files
31
+ * Locale files register translations
32
+ * Loaded in parallel as they are independent
33
+ */
34
+ loadLocaleFiles(): Promise<void>;
35
+ /**
36
+ * Load all event files
37
+ * Event files register event handlers
38
+ * Loaded in parallel as they are independent
39
+ */
40
+ loadEventFiles(): Promise<void>;
41
+ /**
42
+ * Load all route files
43
+ * Route files register HTTP routes
44
+ * Loaded sequentially as order might matter
45
+ */
46
+ loadRouteFiles(): Promise<void>;
47
+ /**
48
+ * Load a single module
49
+ * @param file FileManager instance
50
+ * @param type Module type for logging
51
+ * @param bustCache Whether to add timestamp for cache busting (for HMR)
52
+ */
53
+ private loadModule;
54
+ /**
55
+ * Reload a single module (for HMR)
56
+ * @param file FileManager instance
57
+ */
58
+ reloadModule(file: FileManager): Promise<void>;
59
+ /**
60
+ * Clear module cache for a specific file
61
+ * This forces Node.js to re-import the module
62
+ * @param absolutePath Absolute path to the module
63
+ */
64
+ clearModuleCache(absolutePath: string): void;
65
+ /**
66
+ * Clear module cache for multiple files
67
+ * @param absolutePaths Array of absolute paths
68
+ */
69
+ clearModuleCacheMultiple(absolutePaths: string[]): void;
70
+ /**
71
+ * Clear all application module cache
72
+ * Used for full server restart
73
+ */
74
+ clearAllModuleCache(): void;
75
+ /**
76
+ * Get loaded module by path
77
+ * @param absolutePath Absolute path to the module
78
+ */
79
+ getLoadedModule(absolutePath: string): any | undefined;
80
+ /**
81
+ * Check if a module is loaded
82
+ * @param absolutePath Absolute path to the module
83
+ */
84
+ isModuleLoaded(absolutePath: string): boolean;
85
+ /**
86
+ * Get all loaded module paths
87
+ */
88
+ getLoadedModulePaths(): string[];
89
+ /**
90
+ * Get statistics about loaded modules
91
+ */
92
+ getStats(): {
93
+ totalLoaded: number;
94
+ mainFiles: number;
95
+ routeFiles: number;
96
+ eventFiles: number;
97
+ localeFiles: number;
98
+ };
99
+ }
100
+ //# sourceMappingURL=module-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-loader.d.ts","sourceRoot":"","sources":["../../src/dev2-server/module-loader.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAGvE;;;;GAIG;AACH,qBAAa,YAAY;IAUX,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IATlD;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA0B;IAExD;;OAEG;gBAC0B,qBAAqB,EAAE,qBAAqB;IAEzE;;OAEG;IACU,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAUrC;;;;OAIG;IACU,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAe3C;;;;OAIG;IACU,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAe7C;;;;OAIG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAe5C;;;;OAIG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB5C;;;;;OAKG;YACW,UAAU;IA8CxB;;;OAGG;IACU,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC3D;;;;OAIG;IACI,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI;IAKnD;;;OAGG;IACI,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,IAAI;IAM9D;;;OAGG;IACI,mBAAmB,IAAI,IAAI;IAOlC;;;OAGG;IACI,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;IAI7D;;;OAGG;IACI,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAIpD;;OAEG;IACI,oBAAoB,IAAI,MAAM,EAAE;IAIvC;;OAEG;IACI,QAAQ,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;KACrB;CASF"}
@@ -0,0 +1,229 @@
1
+ import {pathToFileURL}from'node:url';import {router}from'../router/router.js';import {devLogError,formatModuleNotFoundError}from'./dev-logger.js';import {warlockCachePath}from'./utils.js';/**
2
+ * Module Loader
3
+ * Dynamically loads and manages application modules (main, routes, events, locales)
4
+ * Handles module cache invalidation for HMR
5
+ */
6
+ class ModuleLoader {
7
+ specialFilesCollector;
8
+ /**
9
+ * Loaded modules cache
10
+ * Maps absolute path to loaded module
11
+ */
12
+ loadedModules = new Map();
13
+ /**
14
+ * Constructor
15
+ */
16
+ constructor(specialFilesCollector) {
17
+ this.specialFilesCollector = specialFilesCollector;
18
+ }
19
+ /**
20
+ * Load all special files in correct order
21
+ */
22
+ async loadAll() {
23
+ // Load in specific order
24
+ await Promise.all([
25
+ this.loadLocaleFiles(),
26
+ this.loadEventFiles(),
27
+ this.loadMainFiles(),
28
+ this.loadRouteFiles(),
29
+ ]);
30
+ }
31
+ /**
32
+ * Load all main.ts files
33
+ * Main files are module entry points that run initialization code
34
+ * Loaded in parallel as they should be independent
35
+ */
36
+ async loadMainFiles() {
37
+ const mainFiles = this.specialFilesCollector.getMainFiles();
38
+ if (mainFiles.length === 0) {
39
+ return;
40
+ }
41
+ // Load all main files in parallel
42
+ await Promise.all(mainFiles.map(async (file) => {
43
+ await this.loadModule(file, "main");
44
+ }));
45
+ }
46
+ /**
47
+ * Load all locale files
48
+ * Locale files register translations
49
+ * Loaded in parallel as they are independent
50
+ */
51
+ async loadLocaleFiles() {
52
+ const localeFiles = this.specialFilesCollector.getLocaleFiles();
53
+ if (localeFiles.length === 0) {
54
+ return;
55
+ }
56
+ // Load all locale files in parallel
57
+ await Promise.all(localeFiles.map(async (file) => {
58
+ await this.loadModule(file, "locale");
59
+ }));
60
+ }
61
+ /**
62
+ * Load all event files
63
+ * Event files register event handlers
64
+ * Loaded in parallel as they are independent
65
+ */
66
+ async loadEventFiles() {
67
+ const eventFiles = this.specialFilesCollector.getEventFiles();
68
+ if (eventFiles.length === 0) {
69
+ return;
70
+ }
71
+ // Load all event files in parallel
72
+ await Promise.all(eventFiles.map(async (file) => {
73
+ await this.loadModule(file, "event");
74
+ }));
75
+ }
76
+ /**
77
+ * Load all route files
78
+ * Route files register HTTP routes
79
+ * Loaded sequentially as order might matter
80
+ */
81
+ async loadRouteFiles() {
82
+ const routeFiles = this.specialFilesCollector.getRouteFiles();
83
+ console.log("Loading route files", routeFiles.map(file => file.relativePath));
84
+ if (routeFiles.length === 0) {
85
+ return;
86
+ }
87
+ // Load route files sequentially
88
+ for (const file of routeFiles) {
89
+ await this.loadModule(file, "route");
90
+ }
91
+ }
92
+ /**
93
+ * Load a single module
94
+ * @param file FileManager instance
95
+ * @param type Module type for logging
96
+ * @param bustCache Whether to add timestamp for cache busting (for HMR)
97
+ */
98
+ async loadModule(file, type, bustCache = false) {
99
+ // Get the cached transpiled file path
100
+ const cachedFilePath = warlockCachePath(file.cachePath);
101
+ // Convert to file:// URL for cross-platform compatibility
102
+ let fileUrl = pathToFileURL(cachedFilePath).href;
103
+ try {
104
+ // Add timestamp for cache busting (forces re-import for HMR)
105
+ if (bustCache) {
106
+ const timestamp = Date.now();
107
+ fileUrl += `?t=${timestamp}`;
108
+ }
109
+ // For route files, wrap the import with source file tracking
110
+ if (type === "route") {
111
+ await router.withSourceFile(file.relativePath, async () => {
112
+ console.log("Loading route file", file.relativePath);
113
+ // Dynamic import the module (routes will be registered with sourceFile)
114
+ const module = await import(fileUrl);
115
+ // Store in cache (use source path as key for consistency)
116
+ this.loadedModules.set(file.absolutePath, module);
117
+ console.log("Loaded route file", file.relativePath);
118
+ });
119
+ }
120
+ else {
121
+ // Dynamic import the module
122
+ const module = await import(fileUrl);
123
+ // Store in cache (use source path as key for consistency)
124
+ this.loadedModules.set(file.absolutePath, module);
125
+ }
126
+ }
127
+ catch (error) {
128
+ // Format error message (especially for MODULE_NOT_FOUND)
129
+ if (error.code === "ERR_MODULE_NOT_FOUND") {
130
+ devLogError(formatModuleNotFoundError(error));
131
+ }
132
+ else {
133
+ console.log("Failed to load module", fileUrl);
134
+ devLogError(`Failed to load ${type}: ${file.relativePath} - ${error.message || error}`);
135
+ }
136
+ }
137
+ }
138
+ /**
139
+ * Reload a single module (for HMR)
140
+ * @param file FileManager instance
141
+ */
142
+ async reloadModule(file) {
143
+ const moduleType = this.specialFilesCollector.getFileType(file.relativePath);
144
+ if (!moduleType) {
145
+ // Not a special file, no need to reload
146
+ return;
147
+ }
148
+ try {
149
+ // For route files, remove old routes before reloading
150
+ if (moduleType === "route") {
151
+ router.removeRoutesBySourceFile(file.relativePath);
152
+ }
153
+ // Clear module cache
154
+ this.clearModuleCache(file.absolutePath);
155
+ // Reload the module with cache busting
156
+ await this.loadModule(file, moduleType, true);
157
+ }
158
+ catch (error) {
159
+ // Format error message (especially for MODULE_NOT_FOUND)
160
+ if (error.code === "ERR_MODULE_NOT_FOUND") {
161
+ devLogError(formatModuleNotFoundError(error));
162
+ }
163
+ else {
164
+ devLogError(`Failed to reload module: ${error.message || error}`);
165
+ }
166
+ throw error;
167
+ }
168
+ }
169
+ /**
170
+ * Clear module cache for a specific file
171
+ * This forces Node.js to re-import the module
172
+ * @param absolutePath Absolute path to the module
173
+ */
174
+ clearModuleCache(absolutePath) {
175
+ // Remove from our cache
176
+ this.loadedModules.delete(absolutePath);
177
+ }
178
+ /**
179
+ * Clear module cache for multiple files
180
+ * @param absolutePaths Array of absolute paths
181
+ */
182
+ clearModuleCacheMultiple(absolutePaths) {
183
+ for (const path of absolutePaths) {
184
+ this.clearModuleCache(path);
185
+ }
186
+ }
187
+ /**
188
+ * Clear all application module cache
189
+ * Used for full server restart
190
+ */
191
+ clearAllModuleCache() {
192
+ // Clear all loaded modules
193
+ for (const absolutePath of this.loadedModules.keys()) {
194
+ this.clearModuleCache(absolutePath);
195
+ }
196
+ }
197
+ /**
198
+ * Get loaded module by path
199
+ * @param absolutePath Absolute path to the module
200
+ */
201
+ getLoadedModule(absolutePath) {
202
+ return this.loadedModules.get(absolutePath);
203
+ }
204
+ /**
205
+ * Check if a module is loaded
206
+ * @param absolutePath Absolute path to the module
207
+ */
208
+ isModuleLoaded(absolutePath) {
209
+ return this.loadedModules.has(absolutePath);
210
+ }
211
+ /**
212
+ * Get all loaded module paths
213
+ */
214
+ getLoadedModulePaths() {
215
+ return Array.from(this.loadedModules.keys());
216
+ }
217
+ /**
218
+ * Get statistics about loaded modules
219
+ */
220
+ getStats() {
221
+ return {
222
+ totalLoaded: this.loadedModules.size,
223
+ mainFiles: this.specialFilesCollector.getMainFiles().length,
224
+ routeFiles: this.specialFilesCollector.getRouteFiles().length,
225
+ eventFiles: this.specialFilesCollector.getEventFiles().length,
226
+ localeFiles: this.specialFilesCollector.getLocaleFiles().length,
227
+ };
228
+ }
229
+ }export{ModuleLoader};//# sourceMappingURL=module-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-loader.js","sources":["../../src/dev2-server/module-loader.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export declare class PackageJsonManager {
2
+ /**
3
+ * Package.json data
4
+ */
5
+ packageJson: any;
6
+ /**
7
+ * Initialize the package.json manager
8
+ */
9
+ init(): Promise<void>;
10
+ /**
11
+ * Check if the given path is a package path
12
+ */
13
+ isPathPackage(path: string): boolean;
14
+ }
15
+ export declare const packageJsonManager: PackageJsonManager;
16
+ //# sourceMappingURL=package-json-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-json-manager.d.ts","sourceRoot":"","sources":["../../src/dev2-server/package-json-manager.ts"],"names":[],"mappings":"AAGA,qBAAa,kBAAkB;IAC7B;;OAEG;IACI,WAAW,EAAE,GAAG,CAAM;IAE7B;;OAEG;IACU,IAAI;IAIjB;;OAEG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM;CAOlC;AAED,eAAO,MAAM,kBAAkB,oBAA2B,CAAC"}
@@ -0,0 +1,20 @@
1
+ import {getJsonFileAsync}from'@mongez/fs';import {Path}from'./path.js';class PackageJsonManager {
2
+ /**
3
+ * Package.json data
4
+ */
5
+ packageJson = {};
6
+ /**
7
+ * Initialize the package.json manager
8
+ */
9
+ async init() {
10
+ this.packageJson = await getJsonFileAsync(Path.toAbsolute("package.json"));
11
+ }
12
+ /**
13
+ * Check if the given path is a package path
14
+ */
15
+ isPathPackage(path) {
16
+ const allPackages = Object.keys(this.packageJson.dependencies || {}).concat(Object.keys(this.packageJson.devDependencies || {}));
17
+ return allPackages.some((packageName) => path.startsWith(packageName));
18
+ }
19
+ }
20
+ const packageJsonManager = new PackageJsonManager();export{PackageJsonManager,packageJsonManager};//# sourceMappingURL=package-json-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-json-manager.js","sources":["../../src/dev2-server/package-json-manager.ts"],"sourcesContent":[null],"names":[],"mappings":"6EAGa,kBAAkB,CAAA;AAC7B;;AAEG;IACI,WAAW,GAAQ,EAAE,CAAC;AAE7B;;AAEG;AACI,IAAA,MAAM,IAAI,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;KAC5E;AAED;;AAEG;AACI,IAAA,aAAa,CAAC,IAAY,EAAA;AAC/B,QAAA,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,MAAM,CACzE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC,CACpD,CAAC;AAEF,QAAA,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;KACxE;AACF,CAAA;AAEY,MAAA,kBAAkB,GAAG,IAAI,kBAAkB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This function will transpile the given ts/tsx code to js code
3
+ * // also it will return the dependencies of the file
4
+ *
5
+ * @returns Map of originalImportPath -> resolvedAbsolutePath
6
+ */
7
+ export declare function parseImports(source: string, filePath: string): Promise<Map<string, string>>;
8
+ //# sourceMappingURL=parse-imports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-imports.d.ts","sourceRoot":"","sources":["../../src/dev2-server/parse-imports.ts"],"names":[],"mappings":"AAgGA;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,gCAqDlE"}