@powerhousedao/reactor-api 6.0.0-dev.22 → 6.0.0-dev.221

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 (326) hide show
  1. package/README.md +6 -0
  2. package/dist/index.d.mts +3037 -0
  3. package/dist/index.d.mts.map +1 -0
  4. package/dist/index.mjs +6687 -0
  5. package/dist/index.mjs.map +1 -0
  6. package/dist/src/packages/https-hooks.d.mts +39 -0
  7. package/dist/src/packages/https-hooks.d.mts.map +1 -0
  8. package/dist/src/packages/https-hooks.mjs +79 -0
  9. package/dist/src/packages/https-hooks.mjs.map +1 -0
  10. package/dist/src/packages/vite-loader.d.mts +29 -0
  11. package/dist/src/packages/vite-loader.d.mts.map +1 -0
  12. package/dist/src/packages/vite-loader.mjs +142 -0
  13. package/dist/src/packages/vite-loader.mjs.map +1 -0
  14. package/dist/types-Do4QTfT3.d.mts +37 -0
  15. package/dist/types-Do4QTfT3.d.mts.map +1 -0
  16. package/dist/utils-CVrD_vPF.mjs +287 -0
  17. package/dist/utils-CVrD_vPF.mjs.map +1 -0
  18. package/package.json +71 -63
  19. package/dist/codegen.d.ts +0 -4
  20. package/dist/codegen.d.ts.map +0 -1
  21. package/dist/codegen.js +0 -38
  22. package/dist/codegen.js.map +0 -1
  23. package/dist/index.d.ts +0 -14
  24. package/dist/index.d.ts.map +0 -1
  25. package/dist/index.js +0 -14
  26. package/dist/index.js.map +0 -1
  27. package/dist/src/config.d.ts +0 -7
  28. package/dist/src/config.d.ts.map +0 -1
  29. package/dist/src/config.js +0 -10
  30. package/dist/src/config.js.map +0 -1
  31. package/dist/src/graphql/analytics-subgraph.d.ts +0 -14
  32. package/dist/src/graphql/analytics-subgraph.d.ts.map +0 -1
  33. package/dist/src/graphql/analytics-subgraph.js +0 -26
  34. package/dist/src/graphql/analytics-subgraph.js.map +0 -1
  35. package/dist/src/graphql/auth/index.d.ts +0 -2
  36. package/dist/src/graphql/auth/index.d.ts.map +0 -1
  37. package/dist/src/graphql/auth/index.js +0 -2
  38. package/dist/src/graphql/auth/index.js.map +0 -1
  39. package/dist/src/graphql/auth/resolvers.d.ts +0 -149
  40. package/dist/src/graphql/auth/resolvers.d.ts.map +0 -1
  41. package/dist/src/graphql/auth/resolvers.js +0 -173
  42. package/dist/src/graphql/auth/resolvers.js.map +0 -1
  43. package/dist/src/graphql/auth/schema.graphql +0 -173
  44. package/dist/src/graphql/auth/subgraph.d.ts +0 -177
  45. package/dist/src/graphql/auth/subgraph.d.ts.map +0 -1
  46. package/dist/src/graphql/auth/subgraph.js +0 -340
  47. package/dist/src/graphql/auth/subgraph.js.map +0 -1
  48. package/dist/src/graphql/base-subgraph.d.ts +0 -20
  49. package/dist/src/graphql/base-subgraph.d.ts.map +0 -1
  50. package/dist/src/graphql/base-subgraph.js +0 -34
  51. package/dist/src/graphql/base-subgraph.js.map +0 -1
  52. package/dist/src/graphql/document-model-subgraph.d.ts +0 -51
  53. package/dist/src/graphql/document-model-subgraph.d.ts.map +0 -1
  54. package/dist/src/graphql/document-model-subgraph.js +0 -104
  55. package/dist/src/graphql/document-model-subgraph.js.map +0 -1
  56. package/dist/src/graphql/drive-subgraph.d.ts +0 -25
  57. package/dist/src/graphql/drive-subgraph.d.ts.map +0 -1
  58. package/dist/src/graphql/drive-subgraph.js +0 -487
  59. package/dist/src/graphql/drive-subgraph.js.map +0 -1
  60. package/dist/src/graphql/graphql-manager.d.ts +0 -47
  61. package/dist/src/graphql/graphql-manager.d.ts.map +0 -1
  62. package/dist/src/graphql/graphql-manager.js +0 -433
  63. package/dist/src/graphql/graphql-manager.js.map +0 -1
  64. package/dist/src/graphql/index.d.ts +0 -9
  65. package/dist/src/graphql/index.d.ts.map +0 -1
  66. package/dist/src/graphql/index.js +0 -9
  67. package/dist/src/graphql/index.js.map +0 -1
  68. package/dist/src/graphql/playground.d.ts +0 -2
  69. package/dist/src/graphql/playground.d.ts.map +0 -1
  70. package/dist/src/graphql/playground.js +0 -74
  71. package/dist/src/graphql/playground.js.map +0 -1
  72. package/dist/src/graphql/reactor/adapters.d.ts +0 -62
  73. package/dist/src/graphql/reactor/adapters.d.ts.map +0 -1
  74. package/dist/src/graphql/reactor/adapters.js +0 -270
  75. package/dist/src/graphql/reactor/adapters.js.map +0 -1
  76. package/dist/src/graphql/reactor/factory.d.ts +0 -84
  77. package/dist/src/graphql/reactor/factory.d.ts.map +0 -1
  78. package/dist/src/graphql/reactor/factory.js +0 -7
  79. package/dist/src/graphql/reactor/factory.js.map +0 -1
  80. package/dist/src/graphql/reactor/gen/graphql.d.ts +0 -1242
  81. package/dist/src/graphql/reactor/gen/graphql.d.ts.map +0 -1
  82. package/dist/src/graphql/reactor/gen/graphql.js +0 -496
  83. package/dist/src/graphql/reactor/gen/graphql.js.map +0 -1
  84. package/dist/src/graphql/reactor/index.d.ts +0 -4
  85. package/dist/src/graphql/reactor/index.d.ts.map +0 -1
  86. package/dist/src/graphql/reactor/index.js +0 -4
  87. package/dist/src/graphql/reactor/index.js.map +0 -1
  88. package/dist/src/graphql/reactor/operations.graphql +0 -253
  89. package/dist/src/graphql/reactor/pubsub.d.ts +0 -27
  90. package/dist/src/graphql/reactor/pubsub.d.ts.map +0 -1
  91. package/dist/src/graphql/reactor/pubsub.js +0 -93
  92. package/dist/src/graphql/reactor/pubsub.js.map +0 -1
  93. package/dist/src/graphql/reactor/requester.d.ts +0 -4
  94. package/dist/src/graphql/reactor/requester.d.ts.map +0 -1
  95. package/dist/src/graphql/reactor/requester.js +0 -22
  96. package/dist/src/graphql/reactor/requester.js.map +0 -1
  97. package/dist/src/graphql/reactor/requester.with-zod.d.ts +0 -4
  98. package/dist/src/graphql/reactor/requester.with-zod.d.ts.map +0 -1
  99. package/dist/src/graphql/reactor/requester.with-zod.js +0 -53
  100. package/dist/src/graphql/reactor/requester.with-zod.js.map +0 -1
  101. package/dist/src/graphql/reactor/resolvers.d.ts +0 -175
  102. package/dist/src/graphql/reactor/resolvers.d.ts.map +0 -1
  103. package/dist/src/graphql/reactor/resolvers.js +0 -526
  104. package/dist/src/graphql/reactor/resolvers.js.map +0 -1
  105. package/dist/src/graphql/reactor/schema.graphql +0 -432
  106. package/dist/src/graphql/reactor/subgraph.d.ts +0 -47
  107. package/dist/src/graphql/reactor/subgraph.d.ts.map +0 -1
  108. package/dist/src/graphql/reactor/subgraph.js +0 -555
  109. package/dist/src/graphql/reactor/subgraph.js.map +0 -1
  110. package/dist/src/graphql/reactor/validation.d.ts +0 -102
  111. package/dist/src/graphql/reactor/validation.d.ts.map +0 -1
  112. package/dist/src/graphql/reactor/validation.js +0 -73
  113. package/dist/src/graphql/reactor/validation.js.map +0 -1
  114. package/dist/src/graphql/system/env/getters.d.ts +0 -2
  115. package/dist/src/graphql/system/env/getters.d.ts.map +0 -1
  116. package/dist/src/graphql/system/env/getters.js +0 -4
  117. package/dist/src/graphql/system/env/getters.js.map +0 -1
  118. package/dist/src/graphql/system/env/index.d.ts +0 -2
  119. package/dist/src/graphql/system/env/index.d.ts.map +0 -1
  120. package/dist/src/graphql/system/env/index.js +0 -5
  121. package/dist/src/graphql/system/env/index.js.map +0 -1
  122. package/dist/src/graphql/system/index.d.ts +0 -3
  123. package/dist/src/graphql/system/index.d.ts.map +0 -1
  124. package/dist/src/graphql/system/index.js +0 -3
  125. package/dist/src/graphql/system/index.js.map +0 -1
  126. package/dist/src/graphql/system/system-subgraph.d.ts +0 -49
  127. package/dist/src/graphql/system/system-subgraph.d.ts.map +0 -1
  128. package/dist/src/graphql/system/system-subgraph.js +0 -130
  129. package/dist/src/graphql/system/system-subgraph.js.map +0 -1
  130. package/dist/src/graphql/system/types.d.ts +0 -2
  131. package/dist/src/graphql/system/types.d.ts.map +0 -1
  132. package/dist/src/graphql/system/types.js +0 -2
  133. package/dist/src/graphql/system/types.js.map +0 -1
  134. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts +0 -57
  135. package/dist/src/graphql/temp-hack-rwa-type-defs.d.ts.map +0 -1
  136. package/dist/src/graphql/temp-hack-rwa-type-defs.js +0 -2
  137. package/dist/src/graphql/temp-hack-rwa-type-defs.js.map +0 -1
  138. package/dist/src/graphql/types.d.ts +0 -103
  139. package/dist/src/graphql/types.d.ts.map +0 -1
  140. package/dist/src/graphql/types.js +0 -2
  141. package/dist/src/graphql/types.js.map +0 -1
  142. package/dist/src/graphql/utils.d.ts +0 -26
  143. package/dist/src/graphql/utils.d.ts.map +0 -1
  144. package/dist/src/graphql/utils.js +0 -100
  145. package/dist/src/graphql/utils.js.map +0 -1
  146. package/dist/src/graphql/websocket.d.ts +0 -3
  147. package/dist/src/graphql/websocket.d.ts.map +0 -1
  148. package/dist/src/graphql/websocket.js +0 -15
  149. package/dist/src/graphql/websocket.js.map +0 -1
  150. package/dist/src/migrations/001_create_document_permissions.d.ts +0 -4
  151. package/dist/src/migrations/001_create_document_permissions.d.ts.map +0 -1
  152. package/dist/src/migrations/001_create_document_permissions.js +0 -91
  153. package/dist/src/migrations/001_create_document_permissions.js.map +0 -1
  154. package/dist/src/migrations/index.d.ts +0 -10
  155. package/dist/src/migrations/index.d.ts.map +0 -1
  156. package/dist/src/migrations/index.js +0 -56
  157. package/dist/src/migrations/index.js.map +0 -1
  158. package/dist/src/packages/import-loader.d.ts +0 -16
  159. package/dist/src/packages/import-loader.d.ts.map +0 -1
  160. package/dist/src/packages/import-loader.js +0 -61
  161. package/dist/src/packages/import-loader.js.map +0 -1
  162. package/dist/src/packages/import-resolver.d.ts +0 -5
  163. package/dist/src/packages/import-resolver.d.ts.map +0 -1
  164. package/dist/src/packages/import-resolver.js +0 -127
  165. package/dist/src/packages/import-resolver.js.map +0 -1
  166. package/dist/src/packages/package-manager.d.ts +0 -34
  167. package/dist/src/packages/package-manager.d.ts.map +0 -1
  168. package/dist/src/packages/package-manager.js +0 -213
  169. package/dist/src/packages/package-manager.js.map +0 -1
  170. package/dist/src/packages/types.d.ts +0 -39
  171. package/dist/src/packages/types.d.ts.map +0 -1
  172. package/dist/src/packages/types.js +0 -2
  173. package/dist/src/packages/types.js.map +0 -1
  174. package/dist/src/packages/util.d.ts +0 -27
  175. package/dist/src/packages/util.d.ts.map +0 -1
  176. package/dist/src/packages/util.js +0 -97
  177. package/dist/src/packages/util.js.map +0 -1
  178. package/dist/src/packages/vite-loader.d.ts +0 -24
  179. package/dist/src/packages/vite-loader.d.ts.map +0 -1
  180. package/dist/src/packages/vite-loader.js +0 -172
  181. package/dist/src/packages/vite-loader.js.map +0 -1
  182. package/dist/src/server.d.ts +0 -73
  183. package/dist/src/server.d.ts.map +0 -1
  184. package/dist/src/server.js +0 -431
  185. package/dist/src/server.js.map +0 -1
  186. package/dist/src/services/auth.service.d.ts +0 -68
  187. package/dist/src/services/auth.service.d.ts.map +0 -1
  188. package/dist/src/services/auth.service.js +0 -199
  189. package/dist/src/services/auth.service.js.map +0 -1
  190. package/dist/src/services/document-permission.service.d.ts +0 -201
  191. package/dist/src/services/document-permission.service.d.ts.map +0 -1
  192. package/dist/src/services/document-permission.service.js +0 -636
  193. package/dist/src/services/document-permission.service.js.map +0 -1
  194. package/dist/src/sync/types.d.ts +0 -10
  195. package/dist/src/sync/types.d.ts.map +0 -1
  196. package/dist/src/sync/types.js +0 -2
  197. package/dist/src/sync/types.js.map +0 -1
  198. package/dist/src/sync/utils.d.ts +0 -7
  199. package/dist/src/sync/utils.d.ts.map +0 -1
  200. package/dist/src/sync/utils.js +0 -78
  201. package/dist/src/sync/utils.js.map +0 -1
  202. package/dist/src/tracing.d.ts +0 -4
  203. package/dist/src/tracing.d.ts.map +0 -1
  204. package/dist/src/tracing.js +0 -122
  205. package/dist/src/tracing.js.map +0 -1
  206. package/dist/src/types.d.ts +0 -18
  207. package/dist/src/types.d.ts.map +0 -1
  208. package/dist/src/types.js +0 -2
  209. package/dist/src/types.js.map +0 -1
  210. package/dist/src/utils/auth.d.ts +0 -3
  211. package/dist/src/utils/auth.d.ts.map +0 -1
  212. package/dist/src/utils/auth.js +0 -19
  213. package/dist/src/utils/auth.js.map +0 -1
  214. package/dist/src/utils/create-schema.d.ts +0 -11
  215. package/dist/src/utils/create-schema.d.ts.map +0 -1
  216. package/dist/src/utils/create-schema.js +0 -322
  217. package/dist/src/utils/create-schema.js.map +0 -1
  218. package/dist/src/utils/db.d.ts +0 -74
  219. package/dist/src/utils/db.d.ts.map +0 -1
  220. package/dist/src/utils/db.js +0 -101
  221. package/dist/src/utils/db.js.map +0 -1
  222. package/dist/src/utils/drive-url.d.ts +0 -2
  223. package/dist/src/utils/drive-url.d.ts.map +0 -1
  224. package/dist/src/utils/drive-url.js +0 -3
  225. package/dist/src/utils/drive-url.js.map +0 -1
  226. package/dist/src/utils/index.d.ts +0 -4
  227. package/dist/src/utils/index.d.ts.map +0 -1
  228. package/dist/src/utils/index.js +0 -4
  229. package/dist/src/utils/index.js.map +0 -1
  230. package/dist/test/benchmarks/load.bench.d.ts +0 -2
  231. package/dist/test/benchmarks/load.bench.d.ts.map +0 -1
  232. package/dist/test/benchmarks/load.bench.js +0 -73
  233. package/dist/test/benchmarks/load.bench.js.map +0 -1
  234. package/dist/test/benchmarks/sync.bench.d.ts +0 -2
  235. package/dist/test/benchmarks/sync.bench.d.ts.map +0 -1
  236. package/dist/test/benchmarks/sync.bench.js +0 -119
  237. package/dist/test/benchmarks/sync.bench.js.map +0 -1
  238. package/dist/test/document-permission.service.test.d.ts +0 -2
  239. package/dist/test/document-permission.service.test.d.ts.map +0 -1
  240. package/dist/test/document-permission.service.test.js +0 -480
  241. package/dist/test/document-permission.service.test.js.map +0 -1
  242. package/dist/test/drive-handlers.d.ts +0 -4
  243. package/dist/test/drive-handlers.d.ts.map +0 -1
  244. package/dist/test/drive-handlers.js +0 -39
  245. package/dist/test/drive-handlers.js.map +0 -1
  246. package/dist/test/drive-subgraph-permissions.test.d.ts +0 -2
  247. package/dist/test/drive-subgraph-permissions.test.d.ts.map +0 -1
  248. package/dist/test/drive-subgraph-permissions.test.js +0 -195
  249. package/dist/test/drive-subgraph-permissions.test.js.map +0 -1
  250. package/dist/test/drive.test.d.ts +0 -2
  251. package/dist/test/drive.test.d.ts.map +0 -1
  252. package/dist/test/drive.test.js +0 -142
  253. package/dist/test/drive.test.js.map +0 -1
  254. package/dist/test/identity-integration.test.d.ts +0 -2
  255. package/dist/test/identity-integration.test.d.ts.map +0 -1
  256. package/dist/test/identity-integration.test.js +0 -349
  257. package/dist/test/identity-integration.test.js.map +0 -1
  258. package/dist/test/index.d.ts +0 -3
  259. package/dist/test/index.d.ts.map +0 -1
  260. package/dist/test/index.js +0 -3
  261. package/dist/test/index.js.map +0 -1
  262. package/dist/test/permissions-integration.test.d.ts +0 -2
  263. package/dist/test/permissions-integration.test.d.ts.map +0 -1
  264. package/dist/test/permissions-integration.test.js +0 -421
  265. package/dist/test/permissions-integration.test.js.map +0 -1
  266. package/dist/test/pull-responder-transmitter.test.d.ts +0 -2
  267. package/dist/test/pull-responder-transmitter.test.d.ts.map +0 -1
  268. package/dist/test/pull-responder-transmitter.test.js +0 -220
  269. package/dist/test/pull-responder-transmitter.test.js.map +0 -1
  270. package/dist/test/push-transmitter.test.d.ts +0 -2
  271. package/dist/test/push-transmitter.test.d.ts.map +0 -1
  272. package/dist/test/push-transmitter.test.js +0 -179
  273. package/dist/test/push-transmitter.test.js.map +0 -1
  274. package/dist/test/reactor-adapters.test.d.ts +0 -2
  275. package/dist/test/reactor-adapters.test.d.ts.map +0 -1
  276. package/dist/test/reactor-adapters.test.js +0 -379
  277. package/dist/test/reactor-adapters.test.js.map +0 -1
  278. package/dist/test/reactor-client.test.d.ts +0 -2
  279. package/dist/test/reactor-client.test.d.ts.map +0 -1
  280. package/dist/test/reactor-client.test.js +0 -212
  281. package/dist/test/reactor-client.test.js.map +0 -1
  282. package/dist/test/reactor-resolvers.test.d.ts +0 -2
  283. package/dist/test/reactor-resolvers.test.d.ts.map +0 -1
  284. package/dist/test/reactor-resolvers.test.js +0 -261
  285. package/dist/test/reactor-resolvers.test.js.map +0 -1
  286. package/dist/test/reactor-subgraph-permissions.test.d.ts +0 -2
  287. package/dist/test/reactor-subgraph-permissions.test.d.ts.map +0 -1
  288. package/dist/test/reactor-subgraph-permissions.test.js +0 -400
  289. package/dist/test/reactor-subgraph-permissions.test.js.map +0 -1
  290. package/dist/test/router.test.d.ts +0 -2
  291. package/dist/test/router.test.d.ts.map +0 -1
  292. package/dist/test/router.test.js +0 -38
  293. package/dist/test/router.test.js.map +0 -1
  294. package/dist/test/subscriptions.test.d.ts +0 -2
  295. package/dist/test/subscriptions.test.d.ts.map +0 -1
  296. package/dist/test/subscriptions.test.js +0 -246
  297. package/dist/test/subscriptions.test.js.map +0 -1
  298. package/dist/test/system.test.d.ts +0 -2
  299. package/dist/test/system.test.d.ts.map +0 -1
  300. package/dist/test/system.test.js +0 -211
  301. package/dist/test/system.test.js.map +0 -1
  302. package/dist/test/three-reactor-gql-sync.test.d.ts +0 -2
  303. package/dist/test/three-reactor-gql-sync.test.d.ts.map +0 -1
  304. package/dist/test/three-reactor-gql-sync.test.js +0 -368
  305. package/dist/test/three-reactor-gql-sync.test.js.map +0 -1
  306. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts +0 -2
  307. package/dist/test/two-reactor-gql-catchup-duplicate.test.d.ts.map +0 -1
  308. package/dist/test/two-reactor-gql-catchup-duplicate.test.js +0 -264
  309. package/dist/test/two-reactor-gql-catchup-duplicate.test.js.map +0 -1
  310. package/dist/test/two-reactor-gql-sync.test.d.ts +0 -2
  311. package/dist/test/two-reactor-gql-sync.test.d.ts.map +0 -1
  312. package/dist/test/two-reactor-gql-sync.test.js +0 -348
  313. package/dist/test/two-reactor-gql-sync.test.js.map +0 -1
  314. package/dist/test/utils/gql-resolver-bridge.d.ts +0 -12
  315. package/dist/test/utils/gql-resolver-bridge.d.ts.map +0 -1
  316. package/dist/test/utils/gql-resolver-bridge.js +0 -60
  317. package/dist/test/utils/gql-resolver-bridge.js.map +0 -1
  318. package/dist/test/utils.d.ts +0 -10
  319. package/dist/test/utils.d.ts.map +0 -1
  320. package/dist/test/utils.js +0 -23
  321. package/dist/test/utils.js.map +0 -1
  322. package/dist/tsconfig.tsbuildinfo +0 -1
  323. package/dist/vitest.config.d.ts +0 -3
  324. package/dist/vitest.config.d.ts.map +0 -1
  325. package/dist/vitest.config.js +0 -38
  326. package/dist/vitest.config.js.map +0 -1
@@ -1,213 +0,0 @@
1
- import { getConfig } from "@powerhousedao/config/node";
2
- import { childLogger, driveDocumentModelModule } from "document-drive";
3
- import { documentModelDocumentModelModule } from "document-model";
4
- import EventEmitter from "node:events";
5
- import { watchFile } from "node:fs";
6
- import { debounce } from "./util.js";
7
- export function getUniqueDocumentModels(...documentModels) {
8
- const uniqueModels = new Map();
9
- for (const models of documentModels) {
10
- for (const model of models) {
11
- uniqueModels.set(model.documentModel.global.id, model);
12
- }
13
- }
14
- return Array.from(uniqueModels.values());
15
- }
16
- export class PackageManager {
17
- options;
18
- logger = childLogger(["reactor-api", "package-manager"]);
19
- loaders;
20
- docModelsMap = new Map();
21
- subgraphsMap = new Map();
22
- processorMap = new Map();
23
- configWatcher;
24
- debouncedUpdateCallbacks = new Map();
25
- eventEmitter = new EventEmitter();
26
- constructor(loaders, options) {
27
- this.options = options;
28
- this.loaders = loaders;
29
- this.eventEmitter.setMaxListeners(0);
30
- }
31
- async init() {
32
- if (this.options.configFile) {
33
- this.initConfigFileWatcher(this.options.configFile);
34
- }
35
- return await this.loadPackages(this.getAllPackageNames());
36
- }
37
- async loadPackages(packages) {
38
- this.logger.info(`Loading packages: ${packages.join(", ")}`);
39
- const documentModelsMap = await this.loadDocumentModels(packages);
40
- const subgraphsMap = await this.loadSubgraphs(packages);
41
- const processorsMap = await this.loadProcessors(packages);
42
- this.updatePackagesMap(documentModelsMap);
43
- this.updateSubgraphsMap(subgraphsMap);
44
- this.updateProcessorsMap(processorsMap);
45
- try {
46
- this.subscribePackages(packages);
47
- }
48
- catch (error) {
49
- this.logger.error("Failed to subscribe to packages", error);
50
- }
51
- return {
52
- documentModels: getUniqueDocumentModels(...Array.from(documentModelsMap.values())),
53
- subgraphs: subgraphsMap,
54
- processors: processorsMap,
55
- };
56
- }
57
- async loadDocumentModels(packages) {
58
- this.logger.debug(`Loading document models from packages: ${packages.join(", ")}`);
59
- const documentModelModuleMap = new Map();
60
- // static prereqs
61
- documentModelModuleMap.set("document-drive", [
62
- driveDocumentModelModule,
63
- ]);
64
- documentModelModuleMap.set("document-model", [
65
- documentModelDocumentModelModule,
66
- ]);
67
- for (const pkg of packages) {
68
- const allDocumentModels = [];
69
- for (const loader of this.loaders) {
70
- try {
71
- const documentModels = await loader.loadDocumentModels(pkg);
72
- allDocumentModels.push(...documentModels);
73
- this.logger.debug(`Loaded document models from package ${pkg}`, documentModels.map((dm) => dm.documentModel.global.id));
74
- }
75
- catch (error) {
76
- this.logger.debug(`Failed to load document models from package ${pkg}`, error);
77
- }
78
- }
79
- documentModelModuleMap.set(pkg, allDocumentModels);
80
- }
81
- return documentModelModuleMap;
82
- }
83
- async loadSubgraphs(packages) {
84
- this.logger.debug(`Loading subgraphs from packages: ${packages.join(", ")}`);
85
- const subgraphsMap = new Map();
86
- for (const pkg of packages) {
87
- const allSubgraphs = [];
88
- for (const loader of this.loaders) {
89
- try {
90
- const subgraphs = await loader.loadSubgraphs(pkg);
91
- allSubgraphs.push(...subgraphs);
92
- }
93
- catch (error) {
94
- this.logger.debug(`Failed to load subgraphs from package ${pkg}`, error);
95
- }
96
- }
97
- subgraphsMap.set(pkg, allSubgraphs);
98
- }
99
- return subgraphsMap;
100
- }
101
- async loadProcessors(packages) {
102
- this.logger.debug(`Loading processors from packages: ${packages.join(", ")}`);
103
- const processorsMap = new Map();
104
- for (const pkg of packages) {
105
- const allProcessors = [];
106
- for (const loader of this.loaders) {
107
- try {
108
- const processors = await loader.loadProcessors(pkg);
109
- if (processors) {
110
- allProcessors.push(processors);
111
- }
112
- }
113
- catch (error) {
114
- this.logger.debug(`Failed to load processors from package ${pkg}`, error);
115
- }
116
- }
117
- processorsMap.set(pkg, allProcessors);
118
- }
119
- this.updateProcessorsMap(processorsMap);
120
- return processorsMap;
121
- }
122
- async updateDocumentModelsForPackage(pkg) {
123
- this.logger.debug(`Updating document models for package: ${pkg}`);
124
- const documentModels = await this.loadDocumentModels([pkg]);
125
- const documentModelsMap = new Map(this.docModelsMap);
126
- documentModelsMap.set(pkg, documentModels.get(pkg) ?? []);
127
- this.updatePackagesMap(documentModelsMap);
128
- }
129
- subscribePackages(packages) {
130
- const unsubs = [];
131
- for (const pkg of packages) {
132
- if (!this.debouncedUpdateCallbacks.has(pkg)) {
133
- this.debouncedUpdateCallbacks.set(pkg, debounce(() => this.updateDocumentModelsForPackage(pkg), 1000));
134
- }
135
- const debouncedCallback = this.debouncedUpdateCallbacks.get(pkg);
136
- for (const loader of this.loaders) {
137
- if (loader.onDocumentModelsChange) {
138
- const unsub = loader.onDocumentModelsChange(pkg, debouncedCallback);
139
- unsubs.push(unsub);
140
- }
141
- }
142
- }
143
- return () => {
144
- for (const unsub of unsubs) {
145
- unsub();
146
- }
147
- };
148
- }
149
- getAllPackageNames() {
150
- const packageNames = this.options.packages ?? [];
151
- if (this.options.configFile) {
152
- packageNames.push(...this.getPackageNamesFromConfigFile(this.options.configFile));
153
- }
154
- return packageNames;
155
- }
156
- getPackageNamesFromConfigFile(configFile) {
157
- const loadedConfig = getConfig(configFile);
158
- return loadedConfig.packages?.map((pkg) => pkg.packageName) ?? [];
159
- }
160
- initConfigFileWatcher(configFile) {
161
- if (!this.configWatcher) {
162
- this.configWatcher = watchFile(configFile, { interval: 100 }, (curr, prev) => {
163
- if (curr.mtime === prev.mtime) {
164
- return;
165
- }
166
- void this.loadPackages(this.getAllPackageNames());
167
- });
168
- }
169
- }
170
- updatePackagesMap(packagesMap) {
171
- const oldPackages = Array.from(this.docModelsMap.keys());
172
- const newPackages = Array.from(packagesMap.keys());
173
- oldPackages
174
- .filter((pkg) => !newPackages.includes(pkg))
175
- .forEach((pkg) => {
176
- this.logger.info(`Removed package: ${pkg}`);
177
- });
178
- this.docModelsMap = packagesMap;
179
- this.eventEmitter.emit("documentModelsChange", Object.fromEntries(packagesMap));
180
- }
181
- updateSubgraphsMap(subgraphsMap) {
182
- const oldPackages = Array.from(this.subgraphsMap.keys());
183
- const newPackages = Array.from(subgraphsMap.keys());
184
- oldPackages
185
- .filter((pkg) => !newPackages.includes(pkg))
186
- .forEach((pkg) => {
187
- this.logger.info(`Removed Subgraphs from: ${pkg}`);
188
- });
189
- this.subgraphsMap = subgraphsMap;
190
- this.eventEmitter.emit("subgraphsChange", subgraphsMap);
191
- }
192
- updateProcessorsMap(processorsMap) {
193
- const oldPackages = Array.from(this.processorMap.keys());
194
- const newPackages = Array.from(processorsMap.keys());
195
- oldPackages
196
- .filter((pkg) => !newPackages.includes(pkg))
197
- .forEach((pkg) => {
198
- this.logger.info(`Removed Processor Factories from: ${pkg}`);
199
- });
200
- this.processorMap = processorsMap;
201
- this.eventEmitter.emit("processorsChange", processorsMap);
202
- }
203
- onDocumentModelsChange(handler) {
204
- this.eventEmitter.on("documentModelsChange", handler);
205
- }
206
- onSubgraphsChange(handler) {
207
- this.eventEmitter.on("subgraphsChange", handler);
208
- }
209
- onProcessorsChange(handler) {
210
- this.eventEmitter.on("processorsChange", handler);
211
- }
212
- }
213
- //# sourceMappingURL=package-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-manager.js","sourceRoot":"","sources":["../../../src/packages/package-manager.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import type { SubgraphClass } from "@powerhousedao/reactor-api";
2
- import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
3
- import type { DocumentModelModule } from "document-model";
4
- export interface IPackageLoader {
5
- loadDocumentModels(identifier: string, immediate?: boolean): Promise<DocumentModelModule[]>;
6
- loadSubgraphs(identifier: string, immediate?: boolean): Promise<SubgraphClass[]>;
7
- loadProcessors(identifier: string, immediate?: boolean): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
8
- }
9
- export interface ISubscriptionOptions {
10
- debounce?: number;
11
- }
12
- export interface ISubscribablePackageLoader extends IPackageLoader {
13
- onDocumentModelsChange?(identifier: string, handler: (documentModels: DocumentModelModule[]) => void, options?: ISubscriptionOptions): () => void;
14
- onSubgraphsChange?(identifier: string, handler: (subgraphs: SubgraphClass[]) => void, options?: ISubscriptionOptions): () => void;
15
- onProcessorsChange?(identifier: string, handler: (processors: ((module: IProcessorHostModule) => ProcessorFactory) | null) => void, options?: ISubscriptionOptions): () => void;
16
- }
17
- export interface IPackageManager {
18
- onDocumentModelsChange(handler: (documentModels: Record<string, DocumentModelModule[]>) => void): void;
19
- }
20
- export type IPackageLoaderOptions = {
21
- legacyReactor?: boolean;
22
- };
23
- export type IPackageManagerOptions = {
24
- packages?: string[];
25
- configFile?: string;
26
- legacyReactor?: boolean;
27
- };
28
- export interface PackageConfig {
29
- packageName: string;
30
- }
31
- export interface PowerhouseConfig {
32
- packages?: PackageConfig[];
33
- }
34
- export type PackageManagerResult = {
35
- documentModels: DocumentModelModule[];
36
- subgraphs: Map<string, SubgraphClass[]>;
37
- processors: Map<string, ((module: IProcessorHostModule) => ProcessorFactory)[]>;
38
- };
39
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC7B,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAClC,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5B,cAAc,CACZ,UAAU,EAAE,MAAM,EAClB,SAAS,CAAC,EAAE,OAAO,GAClB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC,CAAC;CACzE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA2B,SAAQ,cAAc;IAChE,sBAAsB,CAAC,CACrB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,iBAAiB,CAAC,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;IACd,kBAAkB,CAAC,CACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,KACpE,IAAI,EACT,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI,CAAC;CACf;AAED,MAAM,WAAW,eAAe;IAC9B,sBAAsB,CACpB,OAAO,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,KAAK,IAAI,GACvE,IAAI,CAAC;CACT;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,mBAAmB,EAAE,CAAC;IACtC,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,GAAG,CACb,MAAM,EACN,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,EAAE,CACvD,CAAC;CACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/packages/types.ts"],"names":[],"mappings":""}
@@ -1,27 +0,0 @@
1
- import type { SubgraphClass } from "@powerhousedao/reactor-api";
2
- import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
3
- import type { DocumentModelModule } from "document-model";
4
- type DocumentModelsExport = Record<string, DocumentModelModule>;
5
- type SubgraphsExport = Record<string, Record<string, SubgraphClass>>;
6
- type ProcessorsExport = {
7
- processorFactory?: (module: IProcessorHostModule) => ProcessorFactory;
8
- processorFactoryLegacy?: (module: IProcessorHostModule) => ProcessorFactory;
9
- };
10
- export declare const installPackages: (packages: string[]) => Promise<void>;
11
- export declare const readManifest: () => string;
12
- /**
13
- * Tries to import document models from a package. This function cannot throw.
14
- */
15
- export declare function loadDocumentModels(packageName: string): Promise<DocumentModelsExport | null>;
16
- /**
17
- * Tries to import subgraphs from a package. This function cannot throw.
18
- */
19
- export declare function loadSubgraphs(packageName: string): Promise<SubgraphsExport | null>;
20
- /**
21
- * Tries to import processors from a package. This function cannot throw.
22
- */
23
- export declare function loadProcessors(packageName: string): Promise<ProcessorsExport | null>;
24
- export declare function debounce<T extends unknown[], R>(func: (...args: T) => Promise<R>, delay?: number): (immediate?: boolean, ...args: T) => Promise<R>;
25
- export declare function isSubpath(parent: string, dir: string): boolean | "";
26
- export {};
27
- //# sourceMappingURL=util.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAO1D,KAAK,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAChE,KAAK,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;AACrE,KAAK,gBAAgB,GAAG;IACtB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;IACtE,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC;CAC7E,CAAC;AAIF,eAAO,MAAM,eAAe,GAAU,UAAU,MAAM,EAAE,kBAIvD,CAAC;AAEF,eAAO,MAAM,YAAY,cAGxB,CAAC;AAEF;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,CAEtC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAEjC;AAED;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAElC;AAmDD,wBAAgB,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EAC7C,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,KAAK,SAAM,IAGH,mBAAiB,EAAE,GAAG,MAAM,CAAC,gBAkBtC;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,gBAGpD"}
@@ -1,97 +0,0 @@
1
- import { childLogger } from "document-drive";
2
- import { execSync } from "node:child_process";
3
- import path from "node:path";
4
- import { cwd } from "node:process";
5
- import { resolveLinkedPackage } from "./import-resolver.js";
6
- const logger = childLogger(["reactor-api", "packages/util"]);
7
- export const installPackages = async (packages) => {
8
- for (const packageName of packages) {
9
- execSync(`ph install ${packageName}`);
10
- }
11
- };
12
- export const readManifest = () => {
13
- const manifest = execSync(`ph manifest`).toString();
14
- return manifest;
15
- };
16
- /**
17
- * Tries to import document models from a package. This function cannot throw.
18
- */
19
- export async function loadDocumentModels(packageName) {
20
- return loadDependency(packageName, "document-models");
21
- }
22
- /**
23
- * Tries to import subgraphs from a package. This function cannot throw.
24
- */
25
- export async function loadSubgraphs(packageName) {
26
- return loadDependency(packageName, "subgraphs");
27
- }
28
- /**
29
- * Tries to import processors from a package. This function cannot throw.
30
- */
31
- export async function loadProcessors(packageName) {
32
- return loadDependency(packageName, "processors");
33
- }
34
- /**
35
- * Generic dependency loader - tries to import a dependency from a package. This function cannot throw.
36
- * Returns null if the dependency cannot be loaded.
37
- */
38
- async function loadDependency(packageName, subPath) {
39
- const fullPath = `${packageName}/${subPath}`;
40
- // Try the standard import first
41
- try {
42
- // vite does not support this, but that's okay as we have provided the
43
- // vite-loader for this purpose
44
- const module = (await import(/* @vite-ignore */ fullPath));
45
- return module;
46
- }
47
- catch (e) {
48
- // Handle module not found errors with fallback resolution
49
- if (e instanceof Error &&
50
- "code" in e &&
51
- (e.code === "ERR_MODULE_NOT_FOUND" ||
52
- e.code === "ERR_UNSUPPORTED_DIR_IMPORT")) {
53
- const result = await resolveLinkedPackage(packageName, subPath);
54
- if (result)
55
- return result;
56
- // Only log when ALL attempts have failed
57
- logger.warn(`Unable to load dependency ${fullPath}.${packageName === cwd() ? " Did you build your project?" : ""}`);
58
- logger.debug(e);
59
- }
60
- else if (e instanceof Error &&
61
- "code" in e &&
62
- ["ERR_PACKAGE_PATH_NOT_EXPORTED", "ERR_MODULE_NOT_FOUND"].includes(e.code)) {
63
- return null;
64
- }
65
- else {
66
- logger.error(`Unexpected error loading ${fullPath}:`, e);
67
- }
68
- return null;
69
- }
70
- }
71
- export function debounce(func, delay = 250) {
72
- let timer;
73
- return (immediate = false, ...args) => {
74
- if (timer) {
75
- clearTimeout(timer);
76
- }
77
- return new Promise((resolve, reject) => {
78
- if (immediate) {
79
- func(...args)
80
- .then(resolve)
81
- .catch(reject);
82
- }
83
- else {
84
- timer = setTimeout(() => {
85
- func(...args)
86
- .then(resolve)
87
- .catch(reject);
88
- }, delay);
89
- }
90
- });
91
- };
92
- }
93
- export function isSubpath(parent, dir) {
94
- const relative = path.relative(parent, dir);
95
- return relative && !relative.startsWith("..") && !path.isAbsolute(relative);
96
- }
97
- //# sourceMappingURL=util.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../src/packages/util.ts"],"names":[],"mappings":"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"}
@@ -1,24 +0,0 @@
1
- import type { SubgraphClass } from "@powerhousedao/reactor-api";
2
- import type { IProcessorHostModule, ProcessorFactory } from "document-drive";
3
- import type { DocumentModelModule } from "document-model";
4
- import type { ViteDevServer } from "vite";
5
- import type { IPackageLoaderOptions, ISubscribablePackageLoader, ISubscriptionOptions } from "./types.js";
6
- export declare class VitePackageLoader implements ISubscribablePackageLoader {
7
- #private;
8
- private readonly logger;
9
- private readonly legacyReactor;
10
- private readonly vite;
11
- static build(vite: ViteDevServer, options?: IPackageLoaderOptions): VitePackageLoader;
12
- constructor(vite: ViteDevServer, options?: IPackageLoaderOptions);
13
- private getDocumentModelsPath;
14
- private getSubgraphsPath;
15
- private getProcessorsPath;
16
- loadDocumentModels(identifier: string, immediate?: boolean): Promise<DocumentModelModule[]>;
17
- loadSubgraphs(identifier: string): Promise<SubgraphClass[]>;
18
- loadProcessors(identifier: string): Promise<((module: IProcessorHostModule) => ProcessorFactory) | null>;
19
- onDocumentModelsChange(identifier: string, handler: (documentModels: DocumentModelModule[]) => void, options?: ISubscriptionOptions): () => void;
20
- onSubgraphsChange(identifier: string, handler: (subgraphs: SubgraphClass[]) => void, options?: ISubscriptionOptions): () => void;
21
- onProcessorsChange(identifier: string, handler: (processors: ((module: IProcessorHostModule) => ProcessorFactory) | null) => void, options?: ISubscriptionOptions): () => void;
22
- }
23
- export declare function startViteServer(root: string): Promise<ViteDevServer>;
24
- //# sourceMappingURL=vite-loader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite-loader.d.ts","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,MAAM,CAAC;AAG1C,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,oBAAoB,EACrB,MAAM,YAAY,CAAC;AAGpB,qBAAa,iBAAkB,YAAW,0BAA0B;;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+C;IACtE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAU;IAExC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgB;IAErC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB;gBAIrD,IAAI,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE,qBAAqB;IAKhE,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAIlB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,UAAQ;IA2CzD,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4B3D,cAAc,CAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAoDvE,sBAAsB,CACpB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,cAAc,EAAE,mBAAmB,EAAE,KAAK,IAAI,EACxD,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;IAgBb,iBAAiB,CACf,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,KAAK,IAAI,EAC7C,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;IAeb,kBAAkB,CAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,CACP,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,oBAAoB,KAAK,gBAAgB,CAAC,GAAG,IAAI,KACpE,IAAI,EACT,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,IAAI;CAcd;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,0BA8BjD"}
@@ -1,172 +0,0 @@
1
- import { viteCommonjs } from "@originjs/vite-plugin-commonjs";
2
- import { childLogger } from "document-drive";
3
- import path from "node:path";
4
- import { readPackage } from "read-pkg";
5
- import { createServer } from "vite";
6
- import { isSubgraphClass } from "../graphql/utils.js";
7
- import { debounce, isSubpath } from "./util.js";
8
- export class VitePackageLoader {
9
- logger = childLogger(["reactor-api", "vite-loader"]);
10
- legacyReactor;
11
- vite;
12
- static build(vite, options) {
13
- return new VitePackageLoader(vite, options);
14
- }
15
- constructor(vite, options) {
16
- this.vite = vite;
17
- this.legacyReactor = options?.legacyReactor ?? false;
18
- }
19
- getDocumentModelsPath(identifier) {
20
- return path.join(identifier, "./document-models");
21
- }
22
- getSubgraphsPath(identifier) {
23
- return path.join(identifier, "./subgraphs");
24
- }
25
- getProcessorsPath(identifier) {
26
- return path.join(identifier, "./processors");
27
- }
28
- loadDocumentModels(identifier, immediate = false) {
29
- return this.#loadDocumentModelsWithDebounce(immediate, identifier);
30
- }
31
- #loadDocumentModelsWithDebounce = debounce(this.#loadDocumentModels.bind(this), 500);
32
- async #loadDocumentModels(identifier) {
33
- const fullPath = this.getDocumentModelsPath(identifier);
34
- this.logger.debug("Loading document models from", fullPath);
35
- try {
36
- const localDMs = (await this.vite.ssrLoadModule(fullPath));
37
- const exports = Object.values(localDMs);
38
- // duck type
39
- const documentModels = [];
40
- for (const dm of exports) {
41
- if (dm.documentModel) {
42
- documentModels.push(dm);
43
- }
44
- }
45
- this.logger.verbose(` ➜ Loaded ${documentModels.length} Document Models from: ${identifier}`);
46
- return documentModels;
47
- }
48
- catch (e) {
49
- this.logger.debug(` ➜ No Document Models found for: ${identifier}`, e);
50
- }
51
- return [];
52
- }
53
- async loadSubgraphs(identifier) {
54
- const fullPath = this.getSubgraphsPath(identifier);
55
- this.logger.verbose("Loading subgraphs from", fullPath);
56
- let localSubgraphs = {};
57
- try {
58
- localSubgraphs = await this.vite.ssrLoadModule(fullPath);
59
- }
60
- catch (e) {
61
- this.logger.debug(` ➜ No Subgraphs found for: ${identifier}`, e);
62
- return [];
63
- }
64
- const subgraphs = [];
65
- for (const [name, subgraph] of Object.entries(localSubgraphs)) {
66
- const SubgraphClass = subgraph[name];
67
- if (isSubgraphClass(SubgraphClass)) {
68
- subgraphs.push(SubgraphClass);
69
- }
70
- }
71
- this.logger.debug(` ➜ Loaded ${subgraphs.length} Subgraphs from: ${identifier}`);
72
- return subgraphs;
73
- }
74
- async loadProcessors(identifier) {
75
- const fullPath = this.getProcessorsPath(identifier);
76
- this.logger.verbose("Loading processors from", fullPath);
77
- try {
78
- const pkgModule = await this.vite.ssrLoadModule(fullPath);
79
- // Choose factory based on constructor option
80
- const factoryName = this.legacyReactor
81
- ? "processorFactoryLegacy"
82
- : "processorFactory";
83
- const factory = pkgModule?.[factoryName];
84
- if (factory && typeof factory === "function") {
85
- this.logger.verbose(` ➜ Loaded Processor Factory (${factoryName}) from: ${identifier}`);
86
- return factory;
87
- }
88
- // Fallback: if legacy requested but not found, try default (backwards compat)
89
- if (this.legacyReactor &&
90
- pkgModule?.processorFactory &&
91
- typeof pkgModule.processorFactory === "function") {
92
- this.logger.verbose(` ➜ Loaded Processor Factory (fallback to processorFactory) from: ${identifier}`);
93
- return pkgModule.processorFactory;
94
- }
95
- }
96
- catch (e) {
97
- this.logger.debug(` ➜ No Processor Factory found for: ${identifier}`, e);
98
- }
99
- this.logger.verbose(` ➜ No Processor Factory found for: ${identifier}`);
100
- // return empty processor factory
101
- return null;
102
- }
103
- onDocumentModelsChange(identifier, handler, options) {
104
- const listener = async (changedPath) => {
105
- const documentModelsPath = this.getDocumentModelsPath(identifier);
106
- if (isSubpath(documentModelsPath, changedPath)) {
107
- const documentModels = await this.loadDocumentModels(identifier);
108
- handler(documentModels);
109
- }
110
- };
111
- this.vite.watcher.on("change", listener);
112
- return () => {
113
- this.vite.watcher.off("change", listener);
114
- };
115
- }
116
- onSubgraphsChange(identifier, handler, options) {
117
- const subgraphsPath = this.getSubgraphsPath(identifier);
118
- const listener = debounce(async (changedPath) => {
119
- if (isSubpath(subgraphsPath, changedPath)) {
120
- const subgraphs = await this.loadSubgraphs(identifier);
121
- handler(subgraphs);
122
- }
123
- }, options?.debounce ?? 100);
124
- this.vite.watcher.on("change", listener);
125
- return () => {
126
- this.vite.watcher.off("change", listener);
127
- };
128
- }
129
- onProcessorsChange(identifier, handler, options) {
130
- const processorsPath = this.getProcessorsPath(identifier);
131
- const listener = async (changedPath) => {
132
- if (isSubpath(processorsPath, changedPath)) {
133
- const processors = await this.loadProcessors(identifier);
134
- handler(processors);
135
- }
136
- };
137
- this.vite.watcher.on("change", listener);
138
- return () => {
139
- this.vite.watcher.off("change", listener);
140
- };
141
- }
142
- }
143
- export async function startViteServer(root) {
144
- const packageJson = await readPackage({ cwd: root });
145
- const vite = await createServer({
146
- root,
147
- configFile: false,
148
- server: { middlewareMode: true, watch: { ignored: ["**/.ph/**"] } },
149
- appType: "custom",
150
- build: {
151
- rollupOptions: {
152
- input: [],
153
- },
154
- },
155
- resolve: {
156
- alias: {
157
- [packageJson.name]: root,
158
- },
159
- },
160
- plugins: [
161
- viteCommonjs(),
162
- {
163
- name: "suppress-hmr",
164
- handleHotUpdate() {
165
- return []; // return empty array to suppress server refresh
166
- },
167
- },
168
- ],
169
- });
170
- return vite;
171
- }
172
- //# sourceMappingURL=vite-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vite-loader.js","sourceRoot":"","sources":["../../../src/packages/vite-loader.ts"],"names":[],"mappings":"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"}