@antelopejs/core 0.3.2 → 1.0.0

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 (364) hide show
  1. package/dist/core/build/build-artifact.d.ts +59 -0
  2. package/dist/core/build/build-artifact.js +72 -0
  3. package/dist/core/build/build-artifact.js.map +1 -0
  4. package/dist/{utils → core/cli}/cli-ui.d.ts +4 -14
  5. package/dist/core/cli/cli-ui.js +154 -0
  6. package/dist/core/cli/cli-ui.js.map +1 -0
  7. package/dist/{utils → core/cli}/command.d.ts +1 -1
  8. package/dist/core/cli/command.js +25 -0
  9. package/dist/core/cli/command.js.map +1 -0
  10. package/dist/{cli → core/cli/commands}/config/get.d.ts +1 -1
  11. package/dist/{cli → core/cli/commands}/config/get.js +11 -10
  12. package/dist/core/cli/commands/config/get.js.map +1 -0
  13. package/dist/{cli → core/cli/commands}/config/index.d.ts +1 -1
  14. package/dist/{cli → core/cli/commands}/config/index.js +5 -4
  15. package/dist/core/cli/commands/config/index.js.map +1 -0
  16. package/dist/{cli → core/cli/commands}/config/reset.d.ts +1 -1
  17. package/dist/{cli → core/cli/commands}/config/reset.js +17 -16
  18. package/dist/core/cli/commands/config/reset.js.map +1 -0
  19. package/dist/{cli/module/exports → core/cli/commands/config}/set.d.ts +1 -1
  20. package/dist/{cli → core/cli/commands}/config/set.js +15 -11
  21. package/dist/core/cli/commands/config/set.js.map +1 -0
  22. package/dist/{cli → core/cli/commands}/config/show.d.ts +1 -1
  23. package/dist/{cli → core/cli/commands}/config/show.js +13 -11
  24. package/dist/core/cli/commands/config/show.js.map +1 -0
  25. package/dist/{cli/module/exports → core/cli/commands/module}/index.d.ts +1 -1
  26. package/dist/{cli → core/cli/commands}/module/index.js +3 -7
  27. package/dist/core/cli/commands/module/index.js.map +1 -0
  28. package/dist/{cli → core/cli/commands}/module/init.d.ts +1 -1
  29. package/dist/core/cli/commands/module/init.js +176 -0
  30. package/dist/core/cli/commands/module/init.js.map +1 -0
  31. package/dist/{cli → core/cli/commands}/module/test.d.ts +1 -1
  32. package/dist/{cli → core/cli/commands}/module/test.js +13 -15
  33. package/dist/core/cli/commands/module/test.js.map +1 -0
  34. package/dist/{cli/config/set.d.ts → core/cli/commands/project/build.d.ts} +1 -1
  35. package/dist/core/cli/commands/project/build.js +71 -0
  36. package/dist/core/cli/commands/project/build.js.map +1 -0
  37. package/dist/core/cli/commands/project/dev.d.ts +20 -0
  38. package/dist/core/cli/commands/project/dev.js +262 -0
  39. package/dist/core/cli/commands/project/dev.js.map +1 -0
  40. package/dist/{cli/module/imports → core/cli/commands/project}/index.d.ts +1 -1
  41. package/dist/{cli → core/cli/commands}/project/index.js +10 -3
  42. package/dist/core/cli/commands/project/index.js.map +1 -0
  43. package/dist/{cli → core/cli/commands}/project/init.d.ts +1 -1
  44. package/dist/core/cli/commands/project/init.js +118 -0
  45. package/dist/core/cli/commands/project/init.js.map +1 -0
  46. package/dist/{cli/module → core/cli/commands/project/logging}/index.d.ts +1 -1
  47. package/dist/{cli → core/cli/commands}/project/logging/index.js +4 -3
  48. package/dist/core/cli/commands/project/logging/index.js.map +1 -0
  49. package/dist/{cli → core/cli/commands}/project/logging/set.d.ts +1 -1
  50. package/dist/{cli → core/cli/commands}/project/logging/set.js +99 -89
  51. package/dist/core/cli/commands/project/logging/set.js.map +1 -0
  52. package/dist/{cli → core/cli/commands}/project/logging/show.d.ts +1 -1
  53. package/dist/{cli → core/cli/commands}/project/logging/show.js +37 -34
  54. package/dist/core/cli/commands/project/logging/show.js.map +1 -0
  55. package/dist/{cli → core/cli/commands}/project/modules/add.d.ts +3 -3
  56. package/dist/core/cli/commands/project/modules/add.js +237 -0
  57. package/dist/core/cli/commands/project/modules/add.js.map +1 -0
  58. package/dist/core/cli/commands/project/modules/index.d.ts +2 -0
  59. package/dist/{cli → core/cli/commands}/project/modules/index.js +5 -4
  60. package/dist/core/cli/commands/project/modules/index.js.map +1 -0
  61. package/dist/{cli/module/imports → core/cli/commands/project/modules}/install.d.ts +1 -1
  62. package/dist/{cli → core/cli/commands}/project/modules/install.js +83 -84
  63. package/dist/core/cli/commands/project/modules/install.js.map +1 -0
  64. package/dist/{cli/module/imports → core/cli/commands/project/modules}/list.d.ts +1 -1
  65. package/dist/core/cli/commands/project/modules/list.js +123 -0
  66. package/dist/core/cli/commands/project/modules/list.js.map +1 -0
  67. package/dist/{cli → core/cli/commands}/project/modules/remove.d.ts +1 -1
  68. package/dist/{cli → core/cli/commands}/project/modules/remove.js +31 -28
  69. package/dist/core/cli/commands/project/modules/remove.js.map +1 -0
  70. package/dist/{cli/module/imports → core/cli/commands/project/modules}/update.d.ts +1 -1
  71. package/dist/{cli → core/cli/commands}/project/modules/update.js +26 -22
  72. package/dist/core/cli/commands/project/modules/update.js.map +1 -0
  73. package/dist/core/cli/commands/project/run.d.ts +1 -0
  74. package/dist/core/cli/commands/project/run.js +12 -0
  75. package/dist/core/cli/commands/project/run.js.map +1 -0
  76. package/dist/core/cli/commands/project/start.d.ts +2 -0
  77. package/dist/core/cli/commands/project/start.js +57 -0
  78. package/dist/core/cli/commands/project/start.js.map +1 -0
  79. package/dist/core/cli/commands/shared/project-command.d.ts +8 -0
  80. package/dist/core/cli/commands/shared/project-command.js +32 -0
  81. package/dist/core/cli/commands/shared/project-command.js.map +1 -0
  82. package/dist/core/cli/common.d.ts +23 -0
  83. package/dist/core/cli/common.js +203 -0
  84. package/dist/core/cli/common.js.map +1 -0
  85. package/dist/{cli/git.d.ts → core/cli/git-operations.d.ts} +1 -20
  86. package/dist/core/cli/git-operations.js +159 -0
  87. package/dist/core/cli/git-operations.js.map +1 -0
  88. package/dist/core/cli/index.d.ts +4 -0
  89. package/dist/core/cli/index.js +81 -0
  90. package/dist/core/cli/index.js.map +1 -0
  91. package/dist/core/cli/logging-utils.d.ts +17 -0
  92. package/dist/{logging/utils.js → core/cli/logging-utils.js} +49 -43
  93. package/dist/core/cli/logging-utils.js.map +1 -0
  94. package/dist/{utils → core/cli}/package-manager.d.ts +4 -3
  95. package/dist/core/cli/package-manager.js +106 -0
  96. package/dist/core/cli/package-manager.js.map +1 -0
  97. package/dist/{logging → core/cli}/terminal-display.d.ts +1 -3
  98. package/dist/{logging → core/cli}/terminal-display.js +6 -7
  99. package/dist/core/cli/terminal-display.js.map +1 -0
  100. package/dist/core/cli/version-check.d.ts +2 -0
  101. package/dist/{cli → core/cli}/version-check.js +9 -5
  102. package/dist/core/cli/version-check.js.map +1 -0
  103. package/dist/core/config/config-loader.d.ts +20 -0
  104. package/dist/core/config/config-loader.js +98 -0
  105. package/dist/core/config/config-loader.js.map +1 -0
  106. package/dist/core/config/config-parser.d.ts +16 -0
  107. package/dist/core/config/config-parser.js +134 -0
  108. package/dist/core/config/config-parser.js.map +1 -0
  109. package/dist/core/config/config-paths.d.ts +7 -0
  110. package/dist/core/config/config-paths.js +32 -0
  111. package/dist/core/config/config-paths.js.map +1 -0
  112. package/dist/core/config/index.d.ts +3 -0
  113. package/dist/core/config/index.js +20 -0
  114. package/dist/core/config/index.js.map +1 -0
  115. package/dist/core/downloaders/git.d.ts +8 -0
  116. package/dist/core/downloaders/git.js +96 -0
  117. package/dist/core/downloaders/git.js.map +1 -0
  118. package/dist/core/downloaders/local-folder.d.ts +8 -0
  119. package/dist/core/downloaders/local-folder.js +70 -0
  120. package/dist/core/downloaders/local-folder.js.map +1 -0
  121. package/dist/core/downloaders/local.d.ts +8 -0
  122. package/dist/core/downloaders/local.js +59 -0
  123. package/dist/core/downloaders/local.js.map +1 -0
  124. package/dist/core/downloaders/package.d.ts +11 -0
  125. package/dist/core/downloaders/package.js +99 -0
  126. package/dist/core/downloaders/package.js.map +1 -0
  127. package/dist/core/downloaders/registry.d.ts +11 -0
  128. package/dist/core/downloaders/registry.js +85 -0
  129. package/dist/core/downloaders/registry.js.map +1 -0
  130. package/dist/core/downloaders/types.d.ts +11 -0
  131. package/dist/core/downloaders/types.js +3 -0
  132. package/dist/core/downloaders/types.js.map +1 -0
  133. package/dist/core/downloaders/utils.d.ts +5 -0
  134. package/dist/core/downloaders/utils.js +77 -0
  135. package/dist/core/downloaders/utils.js.map +1 -0
  136. package/dist/core/filesystem.d.ts +20 -0
  137. package/dist/core/filesystem.js +80 -0
  138. package/dist/core/filesystem.js.map +1 -0
  139. package/dist/core/interface-registry.d.ts +7 -0
  140. package/dist/core/interface-registry.js +23 -0
  141. package/dist/core/interface-registry.js.map +1 -0
  142. package/dist/{common/cache.d.ts → core/module-cache.d.ts} +8 -4
  143. package/dist/{common/cache.js → core/module-cache.js} +52 -32
  144. package/dist/core/module-cache.js.map +1 -0
  145. package/dist/core/module-lifecycle.d.ts +13 -0
  146. package/dist/core/module-lifecycle.js +62 -0
  147. package/dist/core/module-lifecycle.js.map +1 -0
  148. package/dist/core/module-manager.d.ts +65 -0
  149. package/dist/core/module-manager.js +340 -0
  150. package/dist/core/module-manager.js.map +1 -0
  151. package/dist/core/module-manifest.d.ts +45 -0
  152. package/dist/core/module-manifest.js +180 -0
  153. package/dist/core/module-manifest.js.map +1 -0
  154. package/dist/core/module-registry.d.ts +7 -0
  155. package/dist/core/module-registry.js +17 -0
  156. package/dist/core/module-registry.js.map +1 -0
  157. package/dist/core/module-tracker.d.ts +8 -0
  158. package/dist/core/module-tracker.js +14 -0
  159. package/dist/core/module-tracker.js.map +1 -0
  160. package/dist/core/module.d.ts +19 -0
  161. package/dist/core/module.js +106 -0
  162. package/dist/core/module.js.map +1 -0
  163. package/dist/core/repl/repl-session.d.ts +10 -0
  164. package/dist/core/repl/repl-session.js +26 -0
  165. package/dist/core/repl/repl-session.js.map +1 -0
  166. package/dist/core/resolution/path-mapper.d.ts +7 -0
  167. package/dist/core/resolution/path-mapper.js +79 -0
  168. package/dist/core/resolution/path-mapper.js.map +1 -0
  169. package/dist/core/resolution/resolver-detour.d.ts +8 -0
  170. package/dist/core/resolution/resolver-detour.js +42 -0
  171. package/dist/core/resolution/resolver-detour.js.map +1 -0
  172. package/dist/core/resolution/resolver.d.ts +23 -0
  173. package/dist/core/resolution/resolver.js +55 -0
  174. package/dist/core/resolution/resolver.js.map +1 -0
  175. package/dist/core/runtime/build-runtime.d.ts +8 -0
  176. package/dist/core/runtime/build-runtime.js +129 -0
  177. package/dist/core/runtime/build-runtime.js.map +1 -0
  178. package/dist/core/runtime/module-loading.d.ts +16 -0
  179. package/dist/core/runtime/module-loading.js +310 -0
  180. package/dist/core/runtime/module-loading.js.map +1 -0
  181. package/dist/core/runtime/runtime-bootstrap.d.ts +9 -0
  182. package/dist/core/runtime/runtime-bootstrap.js +92 -0
  183. package/dist/core/runtime/runtime-bootstrap.js.map +1 -0
  184. package/dist/core/runtime/runtime-types.d.ts +34 -0
  185. package/dist/core/runtime/runtime-types.js +3 -0
  186. package/dist/core/runtime/runtime-types.js.map +1 -0
  187. package/dist/core/shutdown/index.d.ts +1 -0
  188. package/dist/core/shutdown/index.js +18 -0
  189. package/dist/core/shutdown/index.js.map +1 -0
  190. package/dist/core/shutdown/shutdown-manager.d.ts +23 -0
  191. package/dist/core/shutdown/shutdown-manager.js +108 -0
  192. package/dist/core/shutdown/shutdown-manager.js.map +1 -0
  193. package/dist/core/test/stub-interface.d.ts +3 -0
  194. package/dist/core/test/stub-interface.js +40 -0
  195. package/dist/core/test/stub-interface.js.map +1 -0
  196. package/dist/core/test/test-context.d.ts +18 -0
  197. package/dist/core/test/test-context.js +34 -0
  198. package/dist/core/test/test-context.js.map +1 -0
  199. package/dist/core/test/test-module.d.ts +15 -0
  200. package/dist/core/test/test-module.js +234 -0
  201. package/dist/core/test/test-module.js.map +1 -0
  202. package/dist/core/test/test-runner.d.ts +8 -0
  203. package/dist/core/test/test-runner.js +33 -0
  204. package/dist/core/test/test-runner.js.map +1 -0
  205. package/dist/core/watch/file-hasher.d.ts +6 -0
  206. package/dist/core/watch/file-hasher.js +16 -0
  207. package/dist/core/watch/file-hasher.js.map +1 -0
  208. package/dist/core/watch/file-watcher.d.ts +24 -0
  209. package/dist/core/watch/file-watcher.js +179 -0
  210. package/dist/core/watch/file-watcher.js.map +1 -0
  211. package/dist/core/watch/hot-reload.d.ts +10 -0
  212. package/dist/core/watch/hot-reload.js +36 -0
  213. package/dist/core/watch/hot-reload.js.map +1 -0
  214. package/dist/index.d.ts +17 -8
  215. package/dist/index.js +142 -150
  216. package/dist/index.js.map +1 -1
  217. package/dist/logging/index.d.ts +13 -3
  218. package/dist/logging/index.js +213 -9
  219. package/dist/logging/index.js.map +1 -1
  220. package/dist/logging/log-filter.d.ts +16 -0
  221. package/dist/logging/log-filter.js +68 -0
  222. package/dist/logging/log-filter.js.map +1 -0
  223. package/dist/logging/log-formatter.d.ts +24 -0
  224. package/dist/logging/log-formatter.js +76 -0
  225. package/dist/logging/log-formatter.js.map +1 -0
  226. package/dist/logging/logger.d.ts +36 -6
  227. package/dist/logging/logger.js +87 -113
  228. package/dist/logging/logger.js.map +1 -1
  229. package/dist/types/config.types.d.ts +7 -0
  230. package/dist/types/config.types.js +3 -0
  231. package/dist/types/config.types.js.map +1 -0
  232. package/dist/types/filesystem.types.d.ts +19 -0
  233. package/dist/types/filesystem.types.js +3 -0
  234. package/dist/types/filesystem.types.js.map +1 -0
  235. package/dist/types/index.d.ts +3 -0
  236. package/dist/types/index.js +20 -0
  237. package/dist/types/index.js.map +1 -0
  238. package/dist/types/module.types.d.ts +11 -0
  239. package/dist/types/module.types.js +10 -0
  240. package/dist/types/module.types.js.map +1 -0
  241. package/dist/utils/index.d.ts +3 -0
  242. package/dist/utils/index.js +20 -0
  243. package/dist/utils/index.js.map +1 -0
  244. package/dist/utils/lock.js +15 -10
  245. package/dist/utils/lock.js.map +1 -1
  246. package/dist/utils/object.d.ts +3 -2
  247. package/dist/utils/object.js +28 -13
  248. package/dist/utils/object.js.map +1 -1
  249. package/dist/utils/promise.d.ts +5 -3
  250. package/dist/utils/promise.js +15 -15
  251. package/dist/utils/promise.js.map +1 -1
  252. package/package.json +44 -32
  253. package/dist/cli/common.d.ts +0 -22
  254. package/dist/cli/common.js +0 -105
  255. package/dist/cli/common.js.map +0 -1
  256. package/dist/cli/config/get.js.map +0 -1
  257. package/dist/cli/config/index.js.map +0 -1
  258. package/dist/cli/config/reset.js.map +0 -1
  259. package/dist/cli/config/set.js.map +0 -1
  260. package/dist/cli/config/show.js.map +0 -1
  261. package/dist/cli/git.js +0 -349
  262. package/dist/cli/git.js.map +0 -1
  263. package/dist/cli/index.d.ts +0 -2
  264. package/dist/cli/index.js +0 -68
  265. package/dist/cli/index.js.map +0 -1
  266. package/dist/cli/module/exports/generate.d.ts +0 -2
  267. package/dist/cli/module/exports/generate.js +0 -153
  268. package/dist/cli/module/exports/generate.js.map +0 -1
  269. package/dist/cli/module/exports/index.js +0 -16
  270. package/dist/cli/module/exports/index.js.map +0 -1
  271. package/dist/cli/module/exports/set.js +0 -47
  272. package/dist/cli/module/exports/set.js.map +0 -1
  273. package/dist/cli/module/imports/add.d.ts +0 -10
  274. package/dist/cli/module/imports/add.js +0 -175
  275. package/dist/cli/module/imports/add.js.map +0 -1
  276. package/dist/cli/module/imports/index.js +0 -22
  277. package/dist/cli/module/imports/index.js.map +0 -1
  278. package/dist/cli/module/imports/install.js +0 -132
  279. package/dist/cli/module/imports/install.js.map +0 -1
  280. package/dist/cli/module/imports/list.js +0 -93
  281. package/dist/cli/module/imports/list.js.map +0 -1
  282. package/dist/cli/module/imports/remove.d.ts +0 -2
  283. package/dist/cli/module/imports/remove.js +0 -100
  284. package/dist/cli/module/imports/remove.js.map +0 -1
  285. package/dist/cli/module/imports/update.js +0 -161
  286. package/dist/cli/module/imports/update.js.map +0 -1
  287. package/dist/cli/module/index.js.map +0 -1
  288. package/dist/cli/module/init.js +0 -194
  289. package/dist/cli/module/init.js.map +0 -1
  290. package/dist/cli/module/test.js.map +0 -1
  291. package/dist/cli/project/index.d.ts +0 -2
  292. package/dist/cli/project/index.js.map +0 -1
  293. package/dist/cli/project/init.js +0 -120
  294. package/dist/cli/project/init.js.map +0 -1
  295. package/dist/cli/project/logging/index.d.ts +0 -2
  296. package/dist/cli/project/logging/index.js.map +0 -1
  297. package/dist/cli/project/logging/set.js.map +0 -1
  298. package/dist/cli/project/logging/show.js.map +0 -1
  299. package/dist/cli/project/modules/add.js +0 -239
  300. package/dist/cli/project/modules/add.js.map +0 -1
  301. package/dist/cli/project/modules/index.d.ts +0 -2
  302. package/dist/cli/project/modules/index.js.map +0 -1
  303. package/dist/cli/project/modules/install.d.ts +0 -2
  304. package/dist/cli/project/modules/install.js.map +0 -1
  305. package/dist/cli/project/modules/list.d.ts +0 -2
  306. package/dist/cli/project/modules/list.js +0 -92
  307. package/dist/cli/project/modules/list.js.map +0 -1
  308. package/dist/cli/project/modules/remove.js.map +0 -1
  309. package/dist/cli/project/modules/update.d.ts +0 -2
  310. package/dist/cli/project/modules/update.js.map +0 -1
  311. package/dist/cli/project/run.d.ts +0 -2
  312. package/dist/cli/project/run.js +0 -147
  313. package/dist/cli/project/run.js.map +0 -1
  314. package/dist/cli/version-check.d.ts +0 -1
  315. package/dist/cli/version-check.js.map +0 -1
  316. package/dist/common/cache.js.map +0 -1
  317. package/dist/common/config.d.ts +0 -55
  318. package/dist/common/config.js +0 -168
  319. package/dist/common/config.js.map +0 -1
  320. package/dist/common/downloader/git.d.ts +0 -8
  321. package/dist/common/downloader/git.js +0 -97
  322. package/dist/common/downloader/git.js.map +0 -1
  323. package/dist/common/downloader/index.d.ts +0 -13
  324. package/dist/common/downloader/index.js +0 -58
  325. package/dist/common/downloader/index.js.map +0 -1
  326. package/dist/common/downloader/local.d.ts +0 -12
  327. package/dist/common/downloader/local.js +0 -70
  328. package/dist/common/downloader/local.js.map +0 -1
  329. package/dist/common/downloader/package.d.ts +0 -6
  330. package/dist/common/downloader/package.js +0 -58
  331. package/dist/common/downloader/package.js.map +0 -1
  332. package/dist/common/manifest.d.ts +0 -48
  333. package/dist/common/manifest.js +0 -126
  334. package/dist/common/manifest.js.map +0 -1
  335. package/dist/interfaces/core/beta/decorators.d.ts +0 -29
  336. package/dist/interfaces/core/beta/decorators.js +0 -72
  337. package/dist/interfaces/core/beta/decorators.js.map +0 -1
  338. package/dist/interfaces/core/beta/index.d.ts +0 -58
  339. package/dist/interfaces/core/beta/index.js +0 -266
  340. package/dist/interfaces/core/beta/index.js.map +0 -1
  341. package/dist/interfaces/core/beta/modules.d.ts +0 -26
  342. package/dist/interfaces/core/beta/modules.js +0 -31
  343. package/dist/interfaces/core/beta/modules.js.map +0 -1
  344. package/dist/interfaces/logging/beta/index.d.ts +0 -27
  345. package/dist/interfaces/logging/beta/index.js +0 -61
  346. package/dist/interfaces/logging/beta/index.js.map +0 -1
  347. package/dist/interfaces/logging/beta/listener.d.ts +0 -9
  348. package/dist/interfaces/logging/beta/listener.js +0 -5
  349. package/dist/interfaces/logging/beta/listener.js.map +0 -1
  350. package/dist/loader/index.d.ts +0 -45
  351. package/dist/loader/index.js +0 -490
  352. package/dist/loader/index.js.map +0 -1
  353. package/dist/loader/module.d.ts +0 -29
  354. package/dist/loader/module.js +0 -142
  355. package/dist/loader/module.js.map +0 -1
  356. package/dist/logging/terminal-display.js.map +0 -1
  357. package/dist/logging/utils.d.ts +0 -21
  358. package/dist/logging/utils.js.map +0 -1
  359. package/dist/utils/cli-ui.js +0 -245
  360. package/dist/utils/cli-ui.js.map +0 -1
  361. package/dist/utils/command.js +0 -23
  362. package/dist/utils/command.js.map +0 -1
  363. package/dist/utils/package-manager.js +0 -99
  364. package/dist/utils/package-manager.js.map +0 -1
@@ -1,490 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.ModuleManager = void 0;
40
- const cache_1 = require("../common/cache");
41
- const module_1 = require("./module");
42
- const coreInterfaceBeta = __importStar(require("../interfaces/core/beta"));
43
- const moduleInterfaceBeta = __importStar(require("../interfaces/core/beta/modules"));
44
- const downloader_1 = __importDefault(require("../common/downloader"));
45
- require("../common/downloader/local");
46
- require("../common/downloader/package");
47
- require("../common/downloader/git");
48
- const path_1 = __importDefault(require("path"));
49
- const promises_1 = require("fs/promises");
50
- const fs_1 = require("fs");
51
- const crypto_1 = require("crypto");
52
- const assert_1 = __importDefault(require("assert"));
53
- const manifest_1 = require("../common/manifest");
54
- const beta_1 = require("../interfaces/logging/beta");
55
- const events_1 = __importDefault(require("events"));
56
- const terminal_display_1 = require("../logging/terminal-display");
57
- const Logger = new beta_1.Logging.Channel('loader');
58
- class ModuleResolverDetour {
59
- modulesRef;
60
- oldResolver;
61
- _M;
62
- moduleByFolder = new Map();
63
- moduleAssociations = new Map();
64
- constructor(modulesRef) {
65
- this.modulesRef = modulesRef;
66
- this._M = module.constructor.length > 1 ? module.constructor : require('module');
67
- }
68
- attach() {
69
- if (!this.oldResolver) {
70
- this.oldResolver = this._M._resolveFilename;
71
- this._M._resolveFilename = (request, parent, isMain, options) => {
72
- const newRequest = this.resolve(request, parent) ?? request;
73
- return this.oldResolver(newRequest, parent, isMain, options);
74
- };
75
- }
76
- }
77
- detach() {
78
- this._M._resolveFilename = this.oldResolver;
79
- this.oldResolver = undefined;
80
- }
81
- static exists(path) {
82
- try {
83
- (0, fs_1.accessSync)(path, fs_1.constants.R_OK);
84
- return true;
85
- }
86
- catch {
87
- return false;
88
- }
89
- }
90
- resolve(request, parent) {
91
- let matchingFolder = '';
92
- let matchingLength = 0;
93
- if (parent && parent.filename) {
94
- for (const folder of this.moduleByFolder.keys()) {
95
- if (parent.filename.startsWith(folder) && matchingLength < folder.length) {
96
- matchingFolder = folder;
97
- matchingLength = folder.length;
98
- }
99
- }
100
- }
101
- if (matchingLength > 0) {
102
- const module = this.moduleByFolder.get(matchingFolder);
103
- if (request.startsWith('@ajs.local/')) {
104
- return path_1.default.join(module.manifest.exportsPath, request.substring(11));
105
- }
106
- else if (request.startsWith('@ajs/')) {
107
- const ifMatch = request.match(/^@ajs\/([^\/]+)\/([^\/]+)/);
108
- if (ifMatch) {
109
- const [, name, version] = ifMatch;
110
- const target = this.moduleAssociations.get(module.id).get(`${name}@${version}`);
111
- (0, assert_1.default)(target, `Module ${module.id} tried to use un-imported interface ${name}@${version}`);
112
- return path_1.default.join(target.manifest.exportsPath, request.substring(5));
113
- }
114
- }
115
- else if (module.manifest.srcAliases) {
116
- for (const { alias, replace } of module.manifest.srcAliases) {
117
- if (request.startsWith(alias)) {
118
- return request.length > alias.length ? path_1.default.join(replace, request.substring(alias.length)) : replace;
119
- }
120
- }
121
- }
122
- else {
123
- for (const entry of module.manifest.paths) {
124
- if (request.startsWith(entry.key)) {
125
- const part = request.substring(entry.key.length);
126
- for (const testPathPart of entry.values) {
127
- const testPath = path_1.default.join(testPathPart, part);
128
- if (ModuleResolverDetour.exists(testPath + '.js') ||
129
- ModuleResolverDetour.exists(testPath + '/index.js')) {
130
- return testPath;
131
- }
132
- }
133
- }
134
- }
135
- }
136
- }
137
- if (request.startsWith('@ajs.raw/')) {
138
- const ifMatch = request.match(/^@ajs.raw\/([^\/]+)\/([^@]+)@([^\/]+)(.*)/);
139
- if (ifMatch) {
140
- const [, id, name, version, file] = ifMatch;
141
- const target = this.modulesRef.get(id).ref;
142
- return path_1.default.join(target.manifest.exportsPath, name, version, file);
143
- }
144
- }
145
- }
146
- }
147
- class ModuleManager {
148
- projectFolder;
149
- cache;
150
- interfaceSources = new Map();
151
- loadedModules = new Map();
152
- resolverDetour = new ModuleResolverDetour(this.loadedModules);
153
- core;
154
- concurrency;
155
- constructor(projectFolder, antelopeFolder, cacheFolder, concurrency = events_1.default.defaultMaxListeners) {
156
- this.projectFolder = projectFolder;
157
- this.cache = new cache_1.ModuleCache(cacheFolder);
158
- this.core = {
159
- ref: new module_1.Module(new manifest_1.ModuleManifest(antelopeFolder, { id: 'antelopejs', type: 'none' }, 'antelopejs')),
160
- config: { disabledExports: new Set(), importOverrides: new Map(), config: undefined },
161
- };
162
- this.loadedModules.set('antelopejs', this.core);
163
- this.concurrency = concurrency;
164
- }
165
- updateConnectionList(ref, connections) {
166
- const connectionIDs = {};
167
- for (const [interfaceName, modules] of connections) {
168
- connectionIDs[interfaceName] = modules.map(({ id, module }) => ({
169
- path: `@ajs.raw/${module}/${interfaceName}`,
170
- id,
171
- }));
172
- }
173
- coreInterfaceBeta.internal.interfaceConnections[ref.id] = connectionIDs;
174
- }
175
- createAssociations(ref, config) {
176
- const associations = new Map();
177
- const connections = new Map();
178
- for (const iface of ref.manifest.imports) {
179
- if (this.interfaceSources.has(iface)) {
180
- associations.set(iface, this.interfaceSources.get(iface).ref);
181
- connections.set(iface, [{ module: this.interfaceSources.get(iface).ref.id }]);
182
- }
183
- }
184
- if (config.importOverrides) {
185
- for (const [iface, overrides] of config.importOverrides) {
186
- const useable = overrides.filter(({ module }) => this.loadedModules.has(module));
187
- connections.set(iface, useable);
188
- if (useable.length > 0) {
189
- associations.set(iface, this.loadedModules.get(useable[0].module).ref);
190
- }
191
- }
192
- }
193
- this.updateConnectionList(ref, connections);
194
- return associations;
195
- }
196
- rebuildInterfaceSources(moduleList) {
197
- this.resolverDetour.moduleByFolder.clear();
198
- coreInterfaceBeta.internal.moduleByFolder.splice(0, coreInterfaceBeta.internal.moduleByFolder.length);
199
- this.interfaceSources.clear();
200
- for (const module of moduleList) {
201
- const { ref, config } = module;
202
- this.resolverDetour.moduleByFolder.set(ref.manifest.folder, ref);
203
- coreInterfaceBeta.internal.moduleByFolder.push({
204
- dir: ref.manifest.folder,
205
- id: ref.id,
206
- interfaceDir: ref.manifest.exportsPath,
207
- });
208
- for (const [nameVersion] of Object.entries(ref.manifest.exports)) {
209
- if (!config.disabledExports?.has(nameVersion)) {
210
- this.interfaceSources.set(nameVersion, module);
211
- }
212
- }
213
- }
214
- for (const [nameVersion] of Object.entries(this.core.ref.manifest.exports)) {
215
- this.interfaceSources.set(nameVersion, this.core);
216
- }
217
- }
218
- rebuildModuleAssociations(moduleList) {
219
- this.resolverDetour.moduleAssociations.clear();
220
- for (const { ref: info, config } of moduleList) {
221
- this.resolverDetour.moduleAssociations.set(info.id, this.createAssociations(info, config));
222
- }
223
- }
224
- async init(manifest) {
225
- await this.cache.load();
226
- coreInterfaceBeta.ImplementInterface(moduleInterfaceBeta, {
227
- ListModules: async () => [...this.loadedModules.keys()],
228
- GetModuleInfo: async (module) => {
229
- const loaded = this.loadedModules.get(module);
230
- (0, assert_1.default)(loaded);
231
- const importOverrides = {};
232
- for (const [intf, connections] of loaded.config.importOverrides.entries()) {
233
- importOverrides[intf] = connections.map((c) => c.module);
234
- }
235
- return {
236
- source: loaded.ref.manifest.source,
237
- config: loaded.config.config,
238
- disabledExports: [...loaded.config.disabledExports],
239
- importOverrides,
240
- localPath: loaded.ref.manifest.folder,
241
- status: loaded.ref.stateStr,
242
- };
243
- },
244
- LoadModule: async (moduleId, declaration, autostart = false) => {
245
- const moduleManifests = await (0, downloader_1.default)(this.projectFolder, this.cache, {
246
- ...declaration.source,
247
- id: moduleId,
248
- });
249
- manifest.configs[moduleId] = {
250
- config: declaration.config,
251
- disabledExports: new Set(declaration.disabledExports),
252
- importOverrides: new Map(Object.entries(declaration.importOverrides || {}).map(([key, vals]) => {
253
- return [key, vals.map((module) => ({ module }))];
254
- })),
255
- };
256
- const modules = moduleManifests.map((moduleManifest) => {
257
- const module = new module_1.Module(moduleManifest);
258
- manifest.configs[module.id] = manifest.configs[moduleId];
259
- const entry = { ref: module, config: manifest.configs[module.id] || {} };
260
- entry.ref.manifest.loadExports();
261
- this.loadedModules.set(entry.ref.id, entry);
262
- return entry;
263
- });
264
- this.rebuildInterfaceSources([...this.loadedModules.values()]);
265
- for (const entry of modules) {
266
- this.resolverDetour.moduleAssociations.set(module.id, this.createAssociations(entry.ref, entry.config));
267
- }
268
- for (const entry of modules) {
269
- await entry.ref.construct(entry.config);
270
- }
271
- if (autostart) {
272
- for (const entry of modules) {
273
- entry.ref.start();
274
- }
275
- }
276
- return modules.map((entry) => entry.ref.id);
277
- },
278
- StartModule: async (moduleId) => {
279
- this.loadedModules.get(moduleId)?.ref.start();
280
- },
281
- StopModule: async (moduleId) => {
282
- this.loadedModules.get(moduleId)?.ref.stop();
283
- },
284
- DestroyModule: async (moduleId) => {
285
- await this.loadedModules.get(moduleId)?.ref.destroy();
286
- },
287
- ReloadModule: async (moduleId) => {
288
- await this.reloadModule(moduleId);
289
- },
290
- });
291
- events_1.default.defaultMaxListeners = this.concurrency;
292
- await terminal_display_1.terminalDisplay.startSpinner(`Loading modules`);
293
- const modulePromises = manifest.sources.map(async (source) => {
294
- Logger.Debug(`Loading module ${source.id}`);
295
- try {
296
- Logger.Trace(`Starting LoadModule for ${source.id}`);
297
- const createdModules = await (0, downloader_1.default)(this.projectFolder, this.cache, source)
298
- .then((modulesManifest) => {
299
- Logger.Trace(`Module manifest loaded for ${source.id}`);
300
- return modulesManifest.map((moduleManifest) => new module_1.Module(moduleManifest));
301
- })
302
- .then((modules) => {
303
- Logger.Trace(`Modules created for ${source.id}`);
304
- for (const module of modules) {
305
- manifest.configs[module.id] = manifest.configs[source.id];
306
- }
307
- return modules;
308
- })
309
- .catch(async (err) => {
310
- await terminal_display_1.terminalDisplay.failSpinner(`Failed to load module ${source.id}`);
311
- await terminal_display_1.terminalDisplay.cleanSpinner();
312
- Logger.Error(err);
313
- process.exit(1);
314
- });
315
- return createdModules.map((ref) => ({ ref, config: manifest.configs[ref.id] || {} }));
316
- }
317
- catch (err) {
318
- Logger.Error(`Unexpected error while loading module ${source.id}:`);
319
- Logger.Error(err);
320
- throw err;
321
- }
322
- });
323
- const moduleResults = await Promise.all(modulePromises);
324
- const moduleList = moduleResults.flat();
325
- await terminal_display_1.terminalDisplay.stopSpinner(`Modules loaded`);
326
- await terminal_display_1.terminalDisplay.startSpinner(`Loading exports`);
327
- Logger.Trace(`Loading exports`);
328
- await this.core.ref.manifest.loadExports();
329
- await Promise.all(moduleList.map((module) => module.ref.manifest.loadExports()));
330
- moduleList.reduce((map, entry) => {
331
- if (map.has(entry.ref.id)) {
332
- Logger.Error(`Detected module id collision (name in package.json): ${entry.ref.id}`);
333
- }
334
- return map.set(entry.ref.id, entry);
335
- }, this.loadedModules);
336
- await terminal_display_1.terminalDisplay.stopSpinner(`Exports loaded`);
337
- events_1.default.defaultMaxListeners = 10;
338
- this.rebuildInterfaceSources(moduleList);
339
- this.rebuildModuleAssociations(moduleList);
340
- await terminal_display_1.terminalDisplay.startSpinner(`Constructing modules`);
341
- Logger.Trace(`Constructing modules`);
342
- this.resolverDetour.attach();
343
- await Promise.all(moduleList.map(({ ref, config }) => ref.construct(config.config).catch((err) => {
344
- Logger.Error(`Failed to construct module:`);
345
- Logger.Error(` - ID: ${ref.id}`);
346
- Logger.Error(` - Version: ${ref.version}`);
347
- Logger.Error(` - Error: ${err.message}`);
348
- throw err;
349
- })));
350
- await terminal_display_1.terminalDisplay.stopSpinner(`Done loading`);
351
- }
352
- startModules() {
353
- for (const module of this.loadedModules.values()) {
354
- module.ref.start();
355
- }
356
- }
357
- async shutdown() {
358
- await Promise.all([...this.loadedModules.values()].map(({ ref }) => ref.destroy()));
359
- this.resolverDetour.detach();
360
- this.resolverDetour.moduleAssociations.clear();
361
- this.resolverDetour.moduleByFolder.clear();
362
- this.loadedModules.clear();
363
- this.interfaceSources.clear();
364
- }
365
- unrequireModuleFiles(module) {
366
- const moduleFolder = module.ref.manifest.folder;
367
- const avoidedFolders = [module.ref.manifest.exportsPath];
368
- for (const otherModule of this.loadedModules.values()) {
369
- if (otherModule !== module && otherModule.ref.manifest.folder.startsWith(moduleFolder)) {
370
- avoidedFolders.push(otherModule.ref.manifest.folder);
371
- }
372
- }
373
- for (const filePath of Object.keys(require.cache)) {
374
- if (filePath.startsWith(moduleFolder)) {
375
- let deleteCache = true;
376
- for (const folder of avoidedFolders) {
377
- if (filePath.startsWith(folder)) {
378
- deleteCache = false;
379
- break;
380
- }
381
- }
382
- if (deleteCache) {
383
- delete require.cache[filePath];
384
- }
385
- }
386
- }
387
- }
388
- async reloadModule(id, config) {
389
- const module = this.loadedModules.get(id);
390
- if (!module) {
391
- return;
392
- }
393
- await module.ref.destroy();
394
- this.unrequireModuleFiles(module);
395
- module.ref = new module_1.Module((await (0, downloader_1.default)(this.projectFolder, this.cache, module.ref.manifest.source))[0]);
396
- if (config) {
397
- module.config = config;
398
- this.rebuildInterfaceSources([...this.loadedModules.values()]);
399
- this.resolverDetour.moduleAssociations.set(id, this.createAssociations(module.ref, module.config));
400
- }
401
- await module.ref.construct(module.config.config);
402
- module.ref.start();
403
- }
404
- async startWatcher() {
405
- async function getFileHash(path) {
406
- return (0, crypto_1.createHash)('sha256')
407
- .update(await (0, promises_1.readFile)(path))
408
- .digest('hex');
409
- }
410
- const filesHash = new Map();
411
- const watchedDirs = [];
412
- const excludedDirs = new Set(['.git', 'node_modules']);
413
- async function exploreDir(id, dirPath) {
414
- watchedDirs.push(dirPath);
415
- const files = await (0, promises_1.readdir)(dirPath);
416
- for (const file of files) {
417
- const filePath = path_1.default.join(dirPath, file);
418
- if ((await (0, promises_1.stat)(filePath)).isDirectory()) {
419
- if (excludedDirs.has(file)) {
420
- continue;
421
- }
422
- await exploreDir(id, filePath);
423
- }
424
- else {
425
- filesHash.set(filePath, [id, await getFileHash(filePath)]);
426
- }
427
- }
428
- }
429
- let timer;
430
- const toRefresh = new Set();
431
- const fileChange = async (filePath) => {
432
- try {
433
- (0, fs_1.accessSync)(filePath);
434
- }
435
- catch {
436
- return;
437
- }
438
- if ((await (0, promises_1.stat)(filePath)).isDirectory())
439
- return;
440
- const newHash = await getFileHash(filePath);
441
- const [module, prevHash] = filesHash.get(filePath);
442
- if (newHash === prevHash)
443
- return;
444
- filesHash.set(filePath, [module, newHash]);
445
- if (!timer) {
446
- timer = setTimeout(async () => {
447
- if (toRefresh.size === 0)
448
- return;
449
- try {
450
- for (const id of toRefresh) {
451
- await this.reloadModule(id);
452
- }
453
- }
454
- catch (err) {
455
- Logger.Error(err);
456
- }
457
- timer = undefined;
458
- toRefresh.clear();
459
- }, 500);
460
- }
461
- toRefresh.add(module);
462
- };
463
- for (const module of this.loadedModules.values()) {
464
- if (module.ref.manifest.source.type === 'local') {
465
- const source = module.ref.manifest.source;
466
- let watchDirs = [''];
467
- if (source.watchDir) {
468
- if (Array.isArray(source.watchDir)) {
469
- watchDirs = source.watchDir;
470
- }
471
- else {
472
- watchDirs = [source.watchDir];
473
- }
474
- }
475
- for (const dir of watchDirs) {
476
- const filePath = path_1.default.join(module.ref.manifest.folder, dir);
477
- await exploreDir(module.ref.id, filePath);
478
- }
479
- }
480
- }
481
- for (const filePath of watchedDirs) {
482
- (0, fs_1.watch)(filePath, (eventType, filename) => {
483
- if (eventType === 'change' && filename)
484
- fileChange(path_1.default.join(filePath, filename)).catch((err) => Logger.Error(err));
485
- });
486
- }
487
- }
488
- }
489
- exports.ModuleManager = ModuleManager;
490
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/loader/index.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- import { AsyncProxy } from '../interfaces/core/beta';
2
- import { ModuleManifest } from '../common/manifest';
3
- export interface ModuleCallbacks {
4
- construct?: (config: any) => Promise<void> | void;
5
- destroy?: () => Promise<void> | void;
6
- start?: () => void;
7
- stop?: () => void;
8
- }
9
- export declare enum ModuleState {
10
- loaded = 0,
11
- constructed = 1,
12
- active = 2
13
- }
14
- export declare class Module {
15
- readonly manifest: ModuleManifest;
16
- readonly id: string;
17
- version: string;
18
- private state;
19
- private object?;
20
- private proxies;
21
- get stateStr(): "loaded" | "constructed" | "active" | "unknown";
22
- constructor(manifest: ModuleManifest);
23
- attachProxy(proxy: AsyncProxy): void;
24
- reload(): Promise<void>;
25
- construct(config: any): Promise<void>;
26
- start(): void;
27
- stop(): void;
28
- destroy(): Promise<void>;
29
- }