@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,229 @@
1
+ 'use strict';var node_url=require('node:url'),router=require('../router/router.js'),devLogger=require('./dev-logger.js'),utils=require('./utils.js');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}/**
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 = utils.warlockCachePath(file.cachePath);
101
+ // Convert to file:// URL for cross-platform compatibility
102
+ let fileUrl = node_url.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.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 (function(t){return Promise.resolve().then(function(){return /*#__PURE__*/_interopNamespace(require(t))})})(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 (function(t){return Promise.resolve().then(function(){return /*#__PURE__*/_interopNamespace(require(t))})})(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
+ devLogger.devLogError(devLogger.formatModuleNotFoundError(error));
131
+ }
132
+ else {
133
+ console.log("Failed to load module", fileUrl);
134
+ devLogger.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.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
+ devLogger.devLogError(devLogger.formatModuleNotFoundError(error));
162
+ }
163
+ else {
164
+ devLogger.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
+ }exports.ModuleLoader=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":["warlockCachePath","pathToFileURL","router","devLogError","formatModuleNotFoundError"],"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
+ 'use strict';var fs=require('@mongez/fs'),path=require('./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 fs.getJsonFileAsync(path.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();exports.PackageJsonManager=PackageJsonManager;exports.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":["getJsonFileAsync","Path"],"mappings":"0EAGa,kBAAkB,CAAA;AAC7B;;AAEG;IACI,WAAW,GAAQ,EAAE,CAAC;AAE7B;;AAEG;AACI,IAAA,MAAM,IAAI,GAAA;AACf,QAAA,IAAI,CAAC,WAAW,GAAG,MAAMA,mBAAgB,CAACC,SAAI,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"}
@@ -0,0 +1,268 @@
1
+ 'use strict';var fs=require('@mongez/fs'),esModuleLexer=require('es-module-lexer'),path=require('node:path'),path$1=require('./path.js'),tsconfigManager=require('./tsconfig-manager.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var path__default=/*#__PURE__*/_interopDefault(path);/**
2
+ * Extract import paths using regex (more reliable for TypeScript)
3
+ * This is a fallback when es-module-lexer fails
4
+ */
5
+ function extractImportPathsWithRegex(source) {
6
+ const imports = [];
7
+ const seenPaths = new Set();
8
+ // Skip type-only imports
9
+ const skipTypeOnlyImports = (line) => {
10
+ const trimmed = line.trim();
11
+ return (trimmed.startsWith("import type ") ||
12
+ !!trimmed.match(/import\s+type\s+\{/));
13
+ };
14
+ // Pattern 1: Standard ES module imports - look for "from" followed by quoted string
15
+ // Also handle side-effect imports: import "path"
16
+ const lines = source.split("\n");
17
+ for (let i = 0; i < lines.length; i++) {
18
+ const line = lines[i];
19
+ const trimmed = line.trim();
20
+ // Skip type-only imports
21
+ if (skipTypeOnlyImports(trimmed)) {
22
+ continue;
23
+ }
24
+ // Match: ... from "path" or ... from 'path'
25
+ const fromMatch = trimmed.match(/\s+from\s+['"]([^'"]+)['"]/);
26
+ if (fromMatch && trimmed.startsWith("import")) {
27
+ const importPath = fromMatch[1];
28
+ if (importPath && !seenPaths.has(importPath)) {
29
+ seenPaths.add(importPath);
30
+ imports.push({
31
+ path: importPath,
32
+ originalLine: line,
33
+ });
34
+ }
35
+ continue;
36
+ }
37
+ // Match: import "path" (side-effect imports)
38
+ const sideEffectMatch = trimmed.match(/^import\s+['"]([^'"]+)['"]/);
39
+ if (sideEffectMatch) {
40
+ const importPath = sideEffectMatch[1];
41
+ if (importPath && !seenPaths.has(importPath)) {
42
+ seenPaths.add(importPath);
43
+ imports.push({
44
+ path: importPath,
45
+ originalLine: line,
46
+ });
47
+ }
48
+ }
49
+ }
50
+ // Pattern 2: Dynamic imports - import("path")
51
+ const dynamicImportPattern = /import\s*\(\s*['"]([^'"]+)['"]\s*\)/g;
52
+ let match;
53
+ while ((match = dynamicImportPattern.exec(source)) !== null) {
54
+ const importPath = match[1];
55
+ if (importPath && !seenPaths.has(importPath)) {
56
+ seenPaths.add(importPath);
57
+ imports.push({
58
+ path: importPath,
59
+ originalLine: match[0],
60
+ });
61
+ }
62
+ }
63
+ // Pattern 3: Export from - export ... from "path"
64
+ const exportFromPattern = /export\s+(?:\{[^}]*\}|\*|\w+)\s+from\s+['"]([^'"]+)['"]/g;
65
+ while ((match = exportFromPattern.exec(source)) !== null) {
66
+ const importPath = match[1];
67
+ if (importPath && !seenPaths.has(importPath)) {
68
+ seenPaths.add(importPath);
69
+ imports.push({
70
+ path: importPath,
71
+ originalLine: match[0],
72
+ });
73
+ }
74
+ }
75
+ return imports;
76
+ }
77
+ /**
78
+ * This function will transpile the given ts/tsx code to js code
79
+ * // also it will return the dependencies of the file
80
+ *
81
+ * @returns Map of originalImportPath -> resolvedAbsolutePath
82
+ */
83
+ async function parseImports(source, filePath) {
84
+ try {
85
+ // Skip .d.ts files - they're type declarations, not runtime code
86
+ if (filePath.endsWith(".d.ts")) {
87
+ return new Map();
88
+ }
89
+ // Try es-module-lexer first (faster and more accurate for simple cases)
90
+ try {
91
+ const [imports] = await esModuleLexer.parse(source);
92
+ if (imports && imports.length > 0) {
93
+ return await resolveImports(imports, filePath);
94
+ }
95
+ }
96
+ catch (lexerError) {
97
+ // es-module-lexer failed, fall back to regex-based extraction
98
+ // This is common with TypeScript files that have complex syntax
99
+ }
100
+ // Fallback: Use regex-based extraction (more forgiving with TypeScript)
101
+ const regexImports = extractImportPathsWithRegex(source);
102
+ const resolvedImports = new Map();
103
+ for (const { path: importPath } of regexImports) {
104
+ // Skip node built-ins and external packages
105
+ if (isNodeBuiltin(importPath)) {
106
+ continue;
107
+ }
108
+ // Skip external node_modules packages (not starting with . or alias)
109
+ if (!importPath.startsWith(".") && !tsconfigManager.tsconfigManager.isAlias(importPath)) {
110
+ continue;
111
+ }
112
+ let resolvedPath = null;
113
+ // Handle alias imports
114
+ if (tsconfigManager.tsconfigManager.isAlias(importPath)) {
115
+ resolvedPath = await resolveAliasImport(importPath);
116
+ }
117
+ else if (importPath.startsWith(".")) {
118
+ // Handle relative imports
119
+ resolvedPath = await resolveRelativeImport(importPath, filePath);
120
+ }
121
+ if (resolvedPath) {
122
+ resolvedImports.set(importPath, resolvedPath);
123
+ }
124
+ }
125
+ return resolvedImports;
126
+ }
127
+ catch (error) {
128
+ console.error(`Error parsing imports for ${filePath}:`, error);
129
+ return new Map();
130
+ }
131
+ }
132
+ async function resolveImports(imports, filePath) {
133
+ const resolvedImports = new Map();
134
+ for (const imp of imports) {
135
+ const importPath = imp.n;
136
+ if (!importPath)
137
+ continue;
138
+ // Skip node built-ins and external packages
139
+ if (isNodeBuiltin(importPath)) {
140
+ continue;
141
+ }
142
+ // Skip external node_modules packages (not starting with . or alias)
143
+ if (!importPath.startsWith(".") && !tsconfigManager.tsconfigManager.isAlias(importPath)) {
144
+ continue;
145
+ }
146
+ let resolvedPath = null;
147
+ // Handle alias imports (e.g., app/users/services/get-users.service)
148
+ if (tsconfigManager.tsconfigManager.isAlias(importPath)) {
149
+ resolvedPath = await resolveAliasImport(importPath);
150
+ }
151
+ else if (importPath.startsWith(".")) {
152
+ // Handle relative imports (e.g., ./../services/get-user.service)
153
+ resolvedPath = await resolveRelativeImport(importPath, filePath);
154
+ }
155
+ if (resolvedPath) {
156
+ // Store mapping: original import path -> resolved absolute path
157
+ resolvedImports.set(importPath, resolvedPath);
158
+ }
159
+ }
160
+ return resolvedImports;
161
+ }
162
+ /**
163
+ * Resolve alias imports to actual file paths with extensions
164
+ * Example: app/users/services/get-users.service -> /absolute/path/to/src/app/users/services/get-users.service.ts
165
+ */
166
+ async function resolveAliasImport(importPath) {
167
+ // Use tsconfig manager to resolve the alias to an absolute path
168
+ const resolvedBase = tsconfigManager.tsconfigManager.resolveAliasToAbsolute(importPath);
169
+ if (!resolvedBase)
170
+ return null;
171
+ // Try to resolve with extensions
172
+ const resolvedPath = await tryResolveWithExtensions(resolvedBase);
173
+ return resolvedPath;
174
+ }
175
+ /**
176
+ * Resolve relative imports to actual file paths
177
+ * Example: ./../services/get-user.service -> /absolute/path/to/services/get-user.service.ts
178
+ */
179
+ async function resolveRelativeImport(importPath, currentFilePath) {
180
+ const dir = path__default.default.dirname(currentFilePath);
181
+ // Use path.resolve to handle .. and . properly, then normalize to forward slashes
182
+ const resolvedBase = path$1.Path.normalize(path__default.default.resolve(dir, importPath));
183
+ // Try to resolve with extensions
184
+ const resolvedPath = await tryResolveWithExtensions(resolvedBase);
185
+ return resolvedPath;
186
+ }
187
+ /**
188
+ * Try to resolve a file path by checking different extensions
189
+ * TypeScript/JavaScript files can be imported without extensions
190
+ *
191
+ * @TODO: For better performance, we need to check the files in files orchestrator
192
+ * instead of using the file system as we will be fetching all project files anyway.
193
+ */
194
+ async function tryResolveWithExtensions(basePath) {
195
+ // Normalize the base path first (handle Windows paths)
196
+ const normalizedBase = path$1.Path.normalize(basePath);
197
+ // List of extensions to try, in order of preference
198
+ const extensions = [".ts", ".tsx", ".js", ".jsx", ".mjs", ".cjs"];
199
+ const validExtensions = new Set(extensions);
200
+ // If the path already has a VALID code file extension, check if it exists
201
+ const ext = path__default.default.extname(normalizedBase);
202
+ if (ext && validExtensions.has(ext)) {
203
+ if (await fs.fileExistsAsync(normalizedBase)) {
204
+ return normalizedBase;
205
+ }
206
+ // If explicit extension doesn't exist, return null
207
+ return null;
208
+ }
209
+ // Try each extension (even if there's already a non-code extension like .service or .repository)
210
+ for (const extension of extensions) {
211
+ const pathWithExt = normalizedBase + extension;
212
+ if (await fs.fileExistsAsync(pathWithExt)) {
213
+ return pathWithExt;
214
+ }
215
+ }
216
+ // Try index files in directory
217
+ if (await fs.isDirectoryAsync(normalizedBase)) {
218
+ for (const extension of extensions) {
219
+ const indexPath = path$1.Path.join(normalizedBase, `index${extension}`);
220
+ if (await fs.fileExists(indexPath)) {
221
+ return indexPath;
222
+ }
223
+ }
224
+ }
225
+ return null;
226
+ }
227
+ /**
228
+ * Check if import is a Node.js built-in module
229
+ */
230
+ function isNodeBuiltin(importPath) {
231
+ const builtins = [
232
+ "fs",
233
+ "path",
234
+ "http",
235
+ "https",
236
+ "crypto",
237
+ "stream",
238
+ "util",
239
+ "events",
240
+ "buffer",
241
+ "child_process",
242
+ "os",
243
+ "url",
244
+ "querystring",
245
+ "zlib",
246
+ "net",
247
+ "tls",
248
+ "dns",
249
+ "dgram",
250
+ "cluster",
251
+ "worker_threads",
252
+ "perf_hooks",
253
+ "async_hooks",
254
+ "timers",
255
+ "readline",
256
+ "repl",
257
+ "vm",
258
+ "assert",
259
+ "console",
260
+ "process",
261
+ "v8",
262
+ ];
263
+ // Check for node: prefix or direct builtin name
264
+ if (importPath.startsWith("node:"))
265
+ return true;
266
+ const moduleName = importPath.split("/")[0];
267
+ return builtins.includes(moduleName);
268
+ }exports.parseImports=parseImports;//# sourceMappingURL=parse-imports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-imports.js","sources":["../../src/dev2-server/parse-imports.ts"],"sourcesContent":[null],"names":["parse","tsconfigManager","path","Path","fileExistsAsync","isDirectoryAsync","fileExists"],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ export declare class Path {
2
+ /**
3
+ * Convert the given absolute path to a relative path
4
+ */
5
+ static toRelative(absolutePath: string): string;
6
+ /**
7
+ * Get relative path of the given path
8
+ */
9
+ static relative(relativePath: string): string;
10
+ /**
11
+ * Get normalized absolute path of the given path
12
+ */
13
+ static toNormalizedAbsolute(relativePath: string): string;
14
+ /**
15
+ * Get absolute path of the given path
16
+ */
17
+ static toAbsolute(relativePath: string): string;
18
+ /**
19
+ * Normalize the given path (convert backslashes to forward slashes)
20
+ */
21
+ static normalize(filePath: string): string;
22
+ /**
23
+ * Join paths and normalize
24
+ */
25
+ static join(...paths: string[]): string;
26
+ /**
27
+ * Get directory name of a path
28
+ */
29
+ static dirname(filePath: string): string;
30
+ /**
31
+ * Get base name of a path
32
+ */
33
+ static basename(filePath: string, ext?: string): string;
34
+ /**
35
+ * Get extension of a path
36
+ */
37
+ static extname(filePath: string): string;
38
+ }
39
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/dev2-server/path.ts"],"names":[],"mappings":"AAEA,qBAAa,IAAI;IACf;;OAEG;WACW,UAAU,CAAC,YAAY,EAAE,MAAM;IAI7C;;OAEG;WACW,QAAQ,CAAC,YAAY,EAAE,MAAM;IAI3C;;OAEG;WACW,oBAAoB,CAAC,YAAY,EAAE,MAAM;IAIvD;;OAEG;WACW,UAAU,CAAC,YAAY,EAAE,MAAM;IAI7C;;OAEG;WACW,SAAS,CAAC,QAAQ,EAAE,MAAM;IAIxC;;OAEG;WACW,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE;IAIrC;;OAEG;WACW,OAAO,CAAC,QAAQ,EAAE,MAAM;IAItC;;OAEG;WACW,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAIrD;;OAEG;WACW,OAAO,CAAC,QAAQ,EAAE,MAAM;CAGvC"}