@bleedingdev/modern-js-plugin-bff 3.8.2-ultramodern.9 → 3.8.3-ultramodern.2

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 (348) hide show
  1. package/dist/cjs/cli/generator.js +45 -53
  2. package/dist/cjs/cli/serverGlobalVars.js +1 -1
  3. package/dist/cjs/cli.js +1 -0
  4. package/dist/cjs/loader.js +7 -18
  5. package/dist/cjs/runtime/data-platform/index.js +32 -94
  6. package/dist/cjs/runtime/effect/edge-dispatcher.js +5 -91
  7. package/dist/cjs/runtime/effect/edge.js +11 -45
  8. package/dist/cjs/runtime/effect/index.js +173 -55
  9. package/dist/cjs/runtime/effect-client/index.js +32 -166
  10. package/dist/cjs/runtime/effect-client/runtime.js +32 -70
  11. package/dist/cjs/runtime/hono/adapter.js +13 -54
  12. package/dist/cjs/server.js +2 -2
  13. package/dist/cjs/utils/client-generator/generate.js +11 -8
  14. package/dist/cjs/utils/client-generator/index.js +0 -3
  15. package/dist/cjs/utils/client-generator/type-facade.js +16 -10
  16. package/dist/cjs/utils/crossProjectApiPlugin.js +5 -1
  17. package/dist/cjs/utils/pluginGenerator.js +4 -4
  18. package/dist/cjs/utils/runtimeGenerator.js +4 -16
  19. package/dist/esm/cli/generator.mjs +45 -53
  20. package/dist/esm/cli/serverGlobalVars.mjs +1 -1
  21. package/dist/esm/cli.mjs +1 -0
  22. package/dist/esm/loader.mjs +5 -16
  23. package/dist/esm/runtime/data-platform/index.mjs +1 -7
  24. package/dist/esm/runtime/effect/edge-dispatcher.mjs +1 -38
  25. package/dist/esm/runtime/effect/edge.mjs +2 -2
  26. package/dist/esm/runtime/effect/index.mjs +16 -8
  27. package/dist/esm/runtime/effect-client/index.mjs +1 -98
  28. package/dist/esm/runtime/effect-client/runtime.mjs +1 -62
  29. package/dist/esm/runtime/hono/adapter.mjs +13 -54
  30. package/dist/esm/server.mjs +2 -2
  31. package/dist/esm/utils/client-generator/generate.mjs +11 -8
  32. package/dist/esm/utils/client-generator/index.mjs +1 -1
  33. package/dist/esm/utils/client-generator/type-facade.mjs +9 -6
  34. package/dist/esm/utils/crossProjectApiPlugin.mjs +3 -2
  35. package/dist/esm/utils/pluginGenerator.mjs +5 -5
  36. package/dist/esm/utils/runtimeGenerator.mjs +4 -16
  37. package/dist/esm-node/cli/generator.mjs +45 -53
  38. package/dist/esm-node/cli/serverGlobalVars.mjs +1 -1
  39. package/dist/esm-node/cli.mjs +1 -0
  40. package/dist/esm-node/loader.mjs +5 -16
  41. package/dist/esm-node/runtime/data-platform/index.mjs +1 -7
  42. package/dist/esm-node/runtime/effect/edge-dispatcher.mjs +1 -38
  43. package/dist/esm-node/runtime/effect/edge.mjs +2 -2
  44. package/dist/esm-node/runtime/effect/index.mjs +16 -8
  45. package/dist/esm-node/runtime/effect-client/index.mjs +1 -98
  46. package/dist/esm-node/runtime/effect-client/runtime.mjs +1 -62
  47. package/dist/esm-node/runtime/hono/adapter.mjs +13 -54
  48. package/dist/esm-node/server.mjs +2 -2
  49. package/dist/esm-node/utils/client-generator/generate.mjs +11 -8
  50. package/dist/esm-node/utils/client-generator/index.mjs +1 -1
  51. package/dist/esm-node/utils/client-generator/type-facade.mjs +9 -6
  52. package/dist/esm-node/utils/crossProjectApiPlugin.mjs +3 -2
  53. package/dist/esm-node/utils/pluginGenerator.mjs +5 -5
  54. package/dist/esm-node/utils/runtimeGenerator.mjs +4 -16
  55. package/dist/types/loader.d.ts +1 -0
  56. package/dist/types/runtime/data-platform/index.d.ts +1 -8
  57. package/dist/types/runtime/effect/edge-dispatcher.d.ts +1 -26
  58. package/dist/types/runtime/effect/edge.d.ts +2 -2
  59. package/dist/types/runtime/effect/index.d.ts +15 -7
  60. package/dist/types/runtime/effect-client/index.d.ts +1 -58
  61. package/dist/types/runtime/effect-client/runtime.d.ts +1 -5
  62. package/dist/types/runtime/hono/adapter.d.ts +1 -11
  63. package/dist/types/utils/client-generator/generate.d.ts +2 -1
  64. package/dist/types/utils/client-generator/index.d.ts +1 -1
  65. package/dist/types/utils/client-generator/type-facade.d.ts +2 -12
  66. package/dist/types/utils/crossProjectApiPlugin.d.ts +1 -0
  67. package/dist/types/utils/pluginGenerator.d.ts +2 -1
  68. package/package.json +34 -33
  69. package/dist/cjs/runtime/data-platform/batch/queue.js +0 -284
  70. package/dist/cjs/runtime/data-platform/batch/request.js +0 -98
  71. package/dist/cjs/runtime/data-platform/batch/response.js +0 -64
  72. package/dist/cjs/runtime/data-platform/batch/telemetry.js +0 -67
  73. package/dist/cjs/runtime/data-platform/batch/url.js +0 -69
  74. package/dist/cjs/runtime/data-platform/batch-transport.js +0 -59
  75. package/dist/cjs/runtime/data-platform/codec.js +0 -155
  76. package/dist/cjs/runtime/data-platform/invalidation.js +0 -61
  77. package/dist/cjs/runtime/data-platform/trace.js +0 -73
  78. package/dist/cjs/runtime/data-platform/types.js +0 -48
  79. package/dist/cjs/runtime/data-platform/validation.js +0 -178
  80. package/dist/cjs/runtime/effect/adapter/constants.js +0 -44
  81. package/dist/cjs/runtime/effect/adapter/cross-project-policy.js +0 -66
  82. package/dist/cjs/runtime/effect/adapter/entry.js +0 -100
  83. package/dist/cjs/runtime/effect/adapter/error-response.js +0 -81
  84. package/dist/cjs/runtime/effect/adapter/handler.js +0 -53
  85. package/dist/cjs/runtime/effect/adapter.js +0 -155
  86. package/dist/cjs/runtime/effect/backend-federation/entry.js +0 -99
  87. package/dist/cjs/runtime/effect/backend-federation/identity.js +0 -82
  88. package/dist/cjs/runtime/effect/backend-federation/load.js +0 -75
  89. package/dist/cjs/runtime/effect/backend-federation/plugin.js +0 -63
  90. package/dist/cjs/runtime/effect/backend-federation/remotes.js +0 -51
  91. package/dist/cjs/runtime/effect/backend-federation/runtime.js +0 -128
  92. package/dist/cjs/runtime/effect/backend-federation/types.js +0 -18
  93. package/dist/cjs/runtime/effect/backend-federation/utils.js +0 -48
  94. package/dist/cjs/runtime/effect/backend-federation-manifest/errors.js +0 -83
  95. package/dist/cjs/runtime/effect/backend-federation-manifest/index.js +0 -55
  96. package/dist/cjs/runtime/effect/backend-federation-manifest/load.js +0 -94
  97. package/dist/cjs/runtime/effect/backend-federation-manifest/metadata.js +0 -101
  98. package/dist/cjs/runtime/effect/backend-federation-manifest/reference.js +0 -120
  99. package/dist/cjs/runtime/effect/backend-federation-manifest/remote.js +0 -68
  100. package/dist/cjs/runtime/effect/backend-federation-manifest/types.js +0 -18
  101. package/dist/cjs/runtime/effect/backend-federation-manifest/validation.js +0 -109
  102. package/dist/cjs/runtime/effect/backend-federation-manifest.js +0 -62
  103. package/dist/cjs/runtime/effect/backend-federation.js +0 -65
  104. package/dist/cjs/runtime/effect/context.js +0 -60
  105. package/dist/cjs/runtime/effect/dispatch.js +0 -101
  106. package/dist/cjs/runtime/effect/edge-context.js +0 -81
  107. package/dist/cjs/runtime/effect/endpoint-contracts.js +0 -121
  108. package/dist/cjs/runtime/effect/entry-shape.js +0 -84
  109. package/dist/cjs/runtime/effect/handler/batch-handler.js +0 -161
  110. package/dist/cjs/runtime/effect/handler/batch.js +0 -159
  111. package/dist/cjs/runtime/effect/handler/definition.js +0 -102
  112. package/dist/cjs/runtime/effect/handler/envelope.js +0 -104
  113. package/dist/cjs/runtime/effect/handler/http.js +0 -107
  114. package/dist/cjs/runtime/effect/handler/openapi.js +0 -57
  115. package/dist/cjs/runtime/effect/handler/routing.js +0 -100
  116. package/dist/cjs/runtime/effect/handler/rpc.js +0 -63
  117. package/dist/cjs/runtime/effect/handler/types.js +0 -43
  118. package/dist/cjs/runtime/effect/handler.js +0 -189
  119. package/dist/cjs/runtime/effect/module.js +0 -113
  120. package/dist/cjs/runtime/effect/operation-context.js +0 -103
  121. package/dist/cjs/runtime/effect/rpcSerialization.js +0 -54
  122. package/dist/cjs/runtime/effect-client/batch.js +0 -73
  123. package/dist/cjs/runtime/effect-client/envelope.js +0 -145
  124. package/dist/cjs/runtime/effect-client/guards.js +0 -44
  125. package/dist/cjs/runtime/effect-client/request-context.js +0 -64
  126. package/dist/cjs/runtime/effect-client/request.js +0 -66
  127. package/dist/cjs/runtime/effect-client/types.js +0 -18
  128. package/dist/cjs/runtime/safe-failure.js +0 -84
  129. package/dist/cjs/utils/crossProjectServerPolicy.js +0 -98
  130. package/dist/cjs/utils/effect-client-generator/generator.js +0 -69
  131. package/dist/cjs/utils/effect-client-generator/index.js +0 -51
  132. package/dist/cjs/utils/effect-client-generator/paths.js +0 -62
  133. package/dist/cjs/utils/effect-client-generator/rendering.js +0 -220
  134. package/dist/cjs/utils/effect-client-generator/runtime.js +0 -68
  135. package/dist/cjs/utils/effect-client-generator/types.js +0 -18
  136. package/dist/cjs/utils/effectClientGenerator.js +0 -49
  137. package/dist/cjs/utils/effectSourceLoader.js +0 -312
  138. package/dist/cjs/utils/headers.js +0 -46
  139. package/dist/esm/runtime/data-platform/batch/queue.mjs +0 -246
  140. package/dist/esm/runtime/data-platform/batch/request.mjs +0 -45
  141. package/dist/esm/runtime/data-platform/batch/response.mjs +0 -23
  142. package/dist/esm/runtime/data-platform/batch/telemetry.mjs +0 -23
  143. package/dist/esm/runtime/data-platform/batch/url.mjs +0 -25
  144. package/dist/esm/runtime/data-platform/batch-transport.mjs +0 -12
  145. package/dist/esm/runtime/data-platform/codec.mjs +0 -90
  146. package/dist/esm/runtime/data-platform/invalidation.mjs +0 -20
  147. package/dist/esm/runtime/data-platform/trace.mjs +0 -29
  148. package/dist/esm/runtime/data-platform/types.mjs +0 -4
  149. package/dist/esm/runtime/data-platform/validation.mjs +0 -128
  150. package/dist/esm/runtime/effect/adapter/constants.mjs +0 -6
  151. package/dist/esm/runtime/effect/adapter/cross-project-policy.mjs +0 -28
  152. package/dist/esm/runtime/effect/adapter/entry.mjs +0 -52
  153. package/dist/esm/runtime/effect/adapter/error-response.mjs +0 -43
  154. package/dist/esm/runtime/effect/adapter/handler.mjs +0 -15
  155. package/dist/esm/runtime/effect/adapter.mjs +0 -107
  156. package/dist/esm/runtime/effect/backend-federation/entry.mjs +0 -61
  157. package/dist/esm/runtime/effect/backend-federation/identity.mjs +0 -41
  158. package/dist/esm/runtime/effect/backend-federation/load.mjs +0 -37
  159. package/dist/esm/runtime/effect/backend-federation/plugin.mjs +0 -25
  160. package/dist/esm/runtime/effect/backend-federation/remotes.mjs +0 -13
  161. package/dist/esm/runtime/effect/backend-federation/runtime.mjs +0 -90
  162. package/dist/esm/runtime/effect/backend-federation/types.mjs +0 -0
  163. package/dist/esm/runtime/effect/backend-federation/utils.mjs +0 -7
  164. package/dist/esm/runtime/effect/backend-federation-manifest/errors.mjs +0 -32
  165. package/dist/esm/runtime/effect/backend-federation-manifest/index.mjs +0 -4
  166. package/dist/esm/runtime/effect/backend-federation-manifest/load.mjs +0 -56
  167. package/dist/esm/runtime/effect/backend-federation-manifest/metadata.mjs +0 -42
  168. package/dist/esm/runtime/effect/backend-federation-manifest/reference.mjs +0 -76
  169. package/dist/esm/runtime/effect/backend-federation-manifest/remote.mjs +0 -30
  170. package/dist/esm/runtime/effect/backend-federation-manifest/types.mjs +0 -0
  171. package/dist/esm/runtime/effect/backend-federation-manifest/validation.mjs +0 -65
  172. package/dist/esm/runtime/effect/backend-federation-manifest.mjs +0 -1
  173. package/dist/esm/runtime/effect/backend-federation.mjs +0 -5
  174. package/dist/esm/runtime/effect/context.mjs +0 -13
  175. package/dist/esm/runtime/effect/dispatch.mjs +0 -63
  176. package/dist/esm/runtime/effect/edge-context.mjs +0 -34
  177. package/dist/esm/runtime/effect/endpoint-contracts.mjs +0 -68
  178. package/dist/esm/runtime/effect/entry-shape.mjs +0 -36
  179. package/dist/esm/runtime/effect/handler/batch-handler.mjs +0 -123
  180. package/dist/esm/runtime/effect/handler/batch.mjs +0 -97
  181. package/dist/esm/runtime/effect/handler/definition.mjs +0 -61
  182. package/dist/esm/runtime/effect/handler/envelope.mjs +0 -63
  183. package/dist/esm/runtime/effect/handler/http.mjs +0 -69
  184. package/dist/esm/runtime/effect/handler/openapi.mjs +0 -19
  185. package/dist/esm/runtime/effect/handler/routing.mjs +0 -50
  186. package/dist/esm/runtime/effect/handler/rpc.mjs +0 -22
  187. package/dist/esm/runtime/effect/handler/types.mjs +0 -5
  188. package/dist/esm/runtime/effect/handler.mjs +0 -14
  189. package/dist/esm/runtime/effect/module.mjs +0 -75
  190. package/dist/esm/runtime/effect/operation-context.mjs +0 -65
  191. package/dist/esm/runtime/effect/rpcSerialization.mjs +0 -16
  192. package/dist/esm/runtime/effect-client/batch.mjs +0 -35
  193. package/dist/esm/runtime/effect-client/envelope.mjs +0 -104
  194. package/dist/esm/runtime/effect-client/guards.mjs +0 -3
  195. package/dist/esm/runtime/effect-client/request-context.mjs +0 -23
  196. package/dist/esm/runtime/effect-client/request.mjs +0 -28
  197. package/dist/esm/runtime/effect-client/types.mjs +0 -0
  198. package/dist/esm/runtime/safe-failure.mjs +0 -46
  199. package/dist/esm/utils/crossProjectServerPolicy.mjs +0 -44
  200. package/dist/esm/utils/effect-client-generator/generator.mjs +0 -28
  201. package/dist/esm/utils/effect-client-generator/index.mjs +0 -3
  202. package/dist/esm/utils/effect-client-generator/paths.mjs +0 -24
  203. package/dist/esm/utils/effect-client-generator/rendering.mjs +0 -179
  204. package/dist/esm/utils/effect-client-generator/runtime.mjs +0 -27
  205. package/dist/esm/utils/effect-client-generator/types.mjs +0 -0
  206. package/dist/esm/utils/effectClientGenerator.mjs +0 -1
  207. package/dist/esm/utils/effectSourceLoader.mjs +0 -256
  208. package/dist/esm/utils/headers.mjs +0 -8
  209. package/dist/esm-node/runtime/data-platform/batch/queue.mjs +0 -247
  210. package/dist/esm-node/runtime/data-platform/batch/request.mjs +0 -46
  211. package/dist/esm-node/runtime/data-platform/batch/response.mjs +0 -24
  212. package/dist/esm-node/runtime/data-platform/batch/telemetry.mjs +0 -24
  213. package/dist/esm-node/runtime/data-platform/batch/url.mjs +0 -26
  214. package/dist/esm-node/runtime/data-platform/batch-transport.mjs +0 -13
  215. package/dist/esm-node/runtime/data-platform/codec.mjs +0 -91
  216. package/dist/esm-node/runtime/data-platform/invalidation.mjs +0 -21
  217. package/dist/esm-node/runtime/data-platform/trace.mjs +0 -30
  218. package/dist/esm-node/runtime/data-platform/types.mjs +0 -5
  219. package/dist/esm-node/runtime/data-platform/validation.mjs +0 -129
  220. package/dist/esm-node/runtime/effect/adapter/constants.mjs +0 -7
  221. package/dist/esm-node/runtime/effect/adapter/cross-project-policy.mjs +0 -29
  222. package/dist/esm-node/runtime/effect/adapter/entry.mjs +0 -53
  223. package/dist/esm-node/runtime/effect/adapter/error-response.mjs +0 -44
  224. package/dist/esm-node/runtime/effect/adapter/handler.mjs +0 -16
  225. package/dist/esm-node/runtime/effect/adapter.mjs +0 -108
  226. package/dist/esm-node/runtime/effect/backend-federation/entry.mjs +0 -62
  227. package/dist/esm-node/runtime/effect/backend-federation/identity.mjs +0 -42
  228. package/dist/esm-node/runtime/effect/backend-federation/load.mjs +0 -38
  229. package/dist/esm-node/runtime/effect/backend-federation/plugin.mjs +0 -26
  230. package/dist/esm-node/runtime/effect/backend-federation/remotes.mjs +0 -14
  231. package/dist/esm-node/runtime/effect/backend-federation/runtime.mjs +0 -91
  232. package/dist/esm-node/runtime/effect/backend-federation/types.mjs +0 -1
  233. package/dist/esm-node/runtime/effect/backend-federation/utils.mjs +0 -8
  234. package/dist/esm-node/runtime/effect/backend-federation-manifest/errors.mjs +0 -33
  235. package/dist/esm-node/runtime/effect/backend-federation-manifest/index.mjs +0 -5
  236. package/dist/esm-node/runtime/effect/backend-federation-manifest/load.mjs +0 -57
  237. package/dist/esm-node/runtime/effect/backend-federation-manifest/metadata.mjs +0 -43
  238. package/dist/esm-node/runtime/effect/backend-federation-manifest/reference.mjs +0 -77
  239. package/dist/esm-node/runtime/effect/backend-federation-manifest/remote.mjs +0 -31
  240. package/dist/esm-node/runtime/effect/backend-federation-manifest/types.mjs +0 -1
  241. package/dist/esm-node/runtime/effect/backend-federation-manifest/validation.mjs +0 -66
  242. package/dist/esm-node/runtime/effect/backend-federation-manifest.mjs +0 -2
  243. package/dist/esm-node/runtime/effect/backend-federation.mjs +0 -6
  244. package/dist/esm-node/runtime/effect/context.mjs +0 -14
  245. package/dist/esm-node/runtime/effect/dispatch.mjs +0 -64
  246. package/dist/esm-node/runtime/effect/edge-context.mjs +0 -35
  247. package/dist/esm-node/runtime/effect/endpoint-contracts.mjs +0 -69
  248. package/dist/esm-node/runtime/effect/entry-shape.mjs +0 -37
  249. package/dist/esm-node/runtime/effect/handler/batch-handler.mjs +0 -124
  250. package/dist/esm-node/runtime/effect/handler/batch.mjs +0 -98
  251. package/dist/esm-node/runtime/effect/handler/definition.mjs +0 -62
  252. package/dist/esm-node/runtime/effect/handler/envelope.mjs +0 -64
  253. package/dist/esm-node/runtime/effect/handler/http.mjs +0 -70
  254. package/dist/esm-node/runtime/effect/handler/openapi.mjs +0 -20
  255. package/dist/esm-node/runtime/effect/handler/routing.mjs +0 -51
  256. package/dist/esm-node/runtime/effect/handler/rpc.mjs +0 -23
  257. package/dist/esm-node/runtime/effect/handler/types.mjs +0 -6
  258. package/dist/esm-node/runtime/effect/handler.mjs +0 -15
  259. package/dist/esm-node/runtime/effect/module.mjs +0 -76
  260. package/dist/esm-node/runtime/effect/operation-context.mjs +0 -66
  261. package/dist/esm-node/runtime/effect/rpcSerialization.mjs +0 -17
  262. package/dist/esm-node/runtime/effect-client/batch.mjs +0 -36
  263. package/dist/esm-node/runtime/effect-client/envelope.mjs +0 -105
  264. package/dist/esm-node/runtime/effect-client/guards.mjs +0 -4
  265. package/dist/esm-node/runtime/effect-client/request-context.mjs +0 -24
  266. package/dist/esm-node/runtime/effect-client/request.mjs +0 -29
  267. package/dist/esm-node/runtime/effect-client/types.mjs +0 -1
  268. package/dist/esm-node/runtime/safe-failure.mjs +0 -47
  269. package/dist/esm-node/utils/crossProjectServerPolicy.mjs +0 -46
  270. package/dist/esm-node/utils/effect-client-generator/generator.mjs +0 -29
  271. package/dist/esm-node/utils/effect-client-generator/index.mjs +0 -4
  272. package/dist/esm-node/utils/effect-client-generator/paths.mjs +0 -25
  273. package/dist/esm-node/utils/effect-client-generator/rendering.mjs +0 -180
  274. package/dist/esm-node/utils/effect-client-generator/runtime.mjs +0 -29
  275. package/dist/esm-node/utils/effect-client-generator/types.mjs +0 -1
  276. package/dist/esm-node/utils/effectClientGenerator.mjs +0 -2
  277. package/dist/esm-node/utils/effectSourceLoader.mjs +0 -257
  278. package/dist/esm-node/utils/headers.mjs +0 -9
  279. package/dist/types/runtime/data-platform/batch/queue.d.ts +0 -8
  280. package/dist/types/runtime/data-platform/batch/request.d.ts +0 -13
  281. package/dist/types/runtime/data-platform/batch/response.d.ts +0 -3
  282. package/dist/types/runtime/data-platform/batch/telemetry.d.ts +0 -4
  283. package/dist/types/runtime/data-platform/batch/url.d.ts +0 -4
  284. package/dist/types/runtime/data-platform/batch-transport.d.ts +0 -3
  285. package/dist/types/runtime/data-platform/codec.d.ts +0 -17
  286. package/dist/types/runtime/data-platform/invalidation.d.ts +0 -8
  287. package/dist/types/runtime/data-platform/trace.d.ts +0 -4
  288. package/dist/types/runtime/data-platform/types.d.ts +0 -146
  289. package/dist/types/runtime/data-platform/validation.d.ts +0 -29
  290. package/dist/types/runtime/effect/adapter/constants.d.ts +0 -1
  291. package/dist/types/runtime/effect/adapter/cross-project-policy.d.ts +0 -4
  292. package/dist/types/runtime/effect/adapter/entry.d.ts +0 -2
  293. package/dist/types/runtime/effect/adapter/error-response.d.ts +0 -2
  294. package/dist/types/runtime/effect/adapter/handler.d.ts +0 -7
  295. package/dist/types/runtime/effect/adapter.d.ts +0 -22
  296. package/dist/types/runtime/effect/backend-federation/entry.d.ts +0 -2
  297. package/dist/types/runtime/effect/backend-federation/identity.d.ts +0 -30
  298. package/dist/types/runtime/effect/backend-federation/load.d.ts +0 -13
  299. package/dist/types/runtime/effect/backend-federation/plugin.d.ts +0 -3
  300. package/dist/types/runtime/effect/backend-federation/remotes.d.ts +0 -2
  301. package/dist/types/runtime/effect/backend-federation/runtime.d.ts +0 -3
  302. package/dist/types/runtime/effect/backend-federation/types.d.ts +0 -73
  303. package/dist/types/runtime/effect/backend-federation/utils.d.ts +0 -2
  304. package/dist/types/runtime/effect/backend-federation-manifest/errors.d.ts +0 -11
  305. package/dist/types/runtime/effect/backend-federation-manifest/index.d.ts +0 -6
  306. package/dist/types/runtime/effect/backend-federation-manifest/load.d.ts +0 -3
  307. package/dist/types/runtime/effect/backend-federation-manifest/metadata.d.ts +0 -18
  308. package/dist/types/runtime/effect/backend-federation-manifest/reference.d.ts +0 -4
  309. package/dist/types/runtime/effect/backend-federation-manifest/remote.d.ts +0 -3
  310. package/dist/types/runtime/effect/backend-federation-manifest/types.d.ts +0 -51
  311. package/dist/types/runtime/effect/backend-federation-manifest/validation.d.ts +0 -5
  312. package/dist/types/runtime/effect/backend-federation-manifest.d.ts +0 -1
  313. package/dist/types/runtime/effect/backend-federation.d.ts +0 -7
  314. package/dist/types/runtime/effect/context.d.ts +0 -5
  315. package/dist/types/runtime/effect/dispatch.d.ts +0 -13
  316. package/dist/types/runtime/effect/edge-context.d.ts +0 -5
  317. package/dist/types/runtime/effect/endpoint-contracts.d.ts +0 -66
  318. package/dist/types/runtime/effect/entry-shape.d.ts +0 -31
  319. package/dist/types/runtime/effect/handler/batch-handler.d.ts +0 -11
  320. package/dist/types/runtime/effect/handler/batch.d.ts +0 -13
  321. package/dist/types/runtime/effect/handler/definition.d.ts +0 -7
  322. package/dist/types/runtime/effect/handler/envelope.d.ts +0 -13
  323. package/dist/types/runtime/effect/handler/http.d.ts +0 -15
  324. package/dist/types/runtime/effect/handler/openapi.d.ts +0 -4
  325. package/dist/types/runtime/effect/handler/routing.d.ts +0 -5
  326. package/dist/types/runtime/effect/handler/rpc.d.ts +0 -7
  327. package/dist/types/runtime/effect/handler/types.d.ts +0 -153
  328. package/dist/types/runtime/effect/handler.d.ts +0 -14
  329. package/dist/types/runtime/effect/module.d.ts +0 -36
  330. package/dist/types/runtime/effect/operation-context.d.ts +0 -10
  331. package/dist/types/runtime/effect/rpcSerialization.d.ts +0 -3
  332. package/dist/types/runtime/effect-client/batch.d.ts +0 -2
  333. package/dist/types/runtime/effect-client/envelope.d.ts +0 -15
  334. package/dist/types/runtime/effect-client/guards.d.ts +0 -2
  335. package/dist/types/runtime/effect-client/request-context.d.ts +0 -3
  336. package/dist/types/runtime/effect-client/request.d.ts +0 -1
  337. package/dist/types/runtime/effect-client/types.d.ts +0 -68
  338. package/dist/types/runtime/safe-failure.d.ts +0 -1
  339. package/dist/types/utils/crossProjectServerPolicy.d.ts +0 -36
  340. package/dist/types/utils/effect-client-generator/generator.d.ts +0 -10
  341. package/dist/types/utils/effect-client-generator/index.d.ts +0 -4
  342. package/dist/types/utils/effect-client-generator/paths.d.ts +0 -5
  343. package/dist/types/utils/effect-client-generator/rendering.d.ts +0 -4
  344. package/dist/types/utils/effect-client-generator/runtime.d.ts +0 -12
  345. package/dist/types/utils/effect-client-generator/types.d.ts +0 -27
  346. package/dist/types/utils/effectClientGenerator.d.ts +0 -2
  347. package/dist/types/utils/effectSourceLoader.d.ts +0 -25
  348. package/dist/types/utils/headers.d.ts +0 -1
@@ -1,76 +0,0 @@
1
- import "node:module";
2
- import { HttpApi } from "effect/unstable/httpapi";
3
- import { classifyEffectBffEntryModule, isValidatorAwareHandlerFactory, strictEffectApproachMessage } from "./entry-shape.mjs";
4
- import { createHttpApiHandler } from "./handler.mjs";
5
- import * as __rspack_external_effect_Context_b3520bd3 from "effect/Context";
6
- function isRequestHandler(value) {
7
- return 'function' == typeof value;
8
- }
9
- function isEffectServiceContext(context) {
10
- return 'object' == typeof context && null !== context && 'mapUnsafe' in context;
11
- }
12
- const emptyEffectServiceContext = __rspack_external_effect_Context_b3520bd3.empty();
13
- function rejectLegacyEffectModuleShape(options, shape) {
14
- options.onWarning?.(`${strictEffectApproachMessage} Rejected ${shape}.`);
15
- return true;
16
- }
17
- function callEffectBffRequestHandler(handler, request, context) {
18
- return void 0 === context ? handler(request) : handler(request, context);
19
- }
20
- function createLoadedHandler(webHandler) {
21
- return {
22
- handler: (request, context)=>callEffectBffRequestHandler(webHandler.handler, request, context),
23
- dispose: webHandler.dispose
24
- };
25
- }
26
- function createLoadedHttpApiHandler(webHandler) {
27
- return {
28
- handler: (request, context)=>{
29
- const effectContext = isEffectServiceContext(context) ? context : emptyEffectServiceContext;
30
- return webHandler.handler(request, effectContext);
31
- },
32
- dispose: webHandler.dispose
33
- };
34
- }
35
- function classifyEffectBffRuntimeEntryShape(module) {
36
- return classifyEffectBffEntryModule(module, {
37
- isRequestHandler: isRequestHandler,
38
- isValidatorAwareHandlerFactory: isValidatorAwareHandlerFactory,
39
- isHttpApi: HttpApi.isHttpApi
40
- });
41
- }
42
- function resolveClassifiedEffectBffModuleHandler(facts, options = {}) {
43
- if (!facts) return null;
44
- if (facts.legacyShape) {
45
- if (rejectLegacyEffectModuleShape(options, facts.legacyShape)) return null;
46
- }
47
- if ('function' == typeof facts.createHandler) {
48
- if (!facts.createHandlerValidatorAware && rejectLegacyEffectModuleShape(options, 'unbranded `createHandler` export')) return null;
49
- const factory = facts.createHandler;
50
- const webHandler = factory({
51
- openapi: options.openapi,
52
- dataPlatform: options.dataPlatform,
53
- validateRequest: options.validateRequest
54
- });
55
- return createLoadedHandler(webHandler);
56
- }
57
- if (void 0 !== facts.api && facts.hasRuntimeLayer) {
58
- options.onWarning?.('[BFF][Effect] Detected { api, layer } export without createHandler. Prefer `defineEffectBff(...)` from @modern-js/plugin-bff/server to avoid module instance mismatch.');
59
- const webHandler = createHttpApiHandler({
60
- api: facts.api,
61
- layer: facts.layer,
62
- openapi: options.openapi,
63
- dataPlatform: options.dataPlatform,
64
- validateRequest: options.validateRequest
65
- });
66
- return createLoadedHttpApiHandler(webHandler);
67
- }
68
- return null;
69
- }
70
- function resolveNormalizedEffectBffModuleHandler(normalizedModule, options = {}) {
71
- return resolveClassifiedEffectBffModuleHandler(classifyEffectBffRuntimeEntryShape(normalizedModule), options);
72
- }
73
- function resolveEffectBffModuleHandler(mod, options = {}) {
74
- return Promise.resolve(resolveNormalizedEffectBffModuleHandler(mod, options));
75
- }
76
- export { resolveEffectBffModuleHandler };
@@ -1,66 +0,0 @@
1
- import "node:module";
2
- import { BFF_LOCALE_HEADER, BFF_OPERATION_CONTEXT_DETAIL_HEADER, BFF_OPERATION_CONTEXT_HEADER, BFF_TRACEPARENT_HEADER, parseTraceparent } from "@modern-js/create-request";
3
- const readHeader = (headers, header)=>{
4
- const value = headers.get(header);
5
- return value && value.length > 0 ? value : void 0;
6
- };
7
- const copyStringField = (target, details, key)=>{
8
- const value = details[key];
9
- if ('string' == typeof value && value.length > 0) target[key] = value;
10
- };
11
- const readOperationContextDetails = (request)=>{
12
- const rawDetails = readHeader(request.headers, BFF_OPERATION_CONTEXT_DETAIL_HEADER);
13
- if (!rawDetails) return {};
14
- try {
15
- const parsed = JSON.parse(rawDetails);
16
- if (!parsed || 'object' != typeof parsed || Array.isArray(parsed)) return {};
17
- const details = parsed;
18
- const safeDetails = {};
19
- copyStringField(safeDetails, details, 'requestId');
20
- copyStringField(safeDetails, details, 'operationId');
21
- copyStringField(safeDetails, details, 'schemaHash');
22
- copyStringField(safeDetails, details, 'traceparent');
23
- copyStringField(safeDetails, details, 'traceId');
24
- copyStringField(safeDetails, details, 'spanId');
25
- if ('number' == typeof details.operationVersion) safeDetails.operationVersion = details.operationVersion;
26
- return safeDetails;
27
- } catch {
28
- return {};
29
- }
30
- };
31
- const createEffectOperationContext = ({ request, path, method })=>{
32
- const details = readOperationContextDetails(request);
33
- const servicePath = new URL(request.url).pathname;
34
- const traceparent = readHeader(request.headers, BFF_TRACEPARENT_HEADER) || details.traceparent;
35
- const parsedTraceparent = details.traceId && details.spanId ? {
36
- traceId: details.traceId,
37
- spanId: details.spanId
38
- } : parseTraceparent(traceparent);
39
- const locale = readHeader(request.headers, BFF_LOCALE_HEADER);
40
- const headerOperationId = readHeader(request.headers, BFF_OPERATION_CONTEXT_HEADER);
41
- return {
42
- ...details,
43
- ...headerOperationId || details.operationId ? {
44
- operationId: headerOperationId || details.operationId
45
- } : {},
46
- routePath: servicePath,
47
- method: (method || request.method || 'GET').toUpperCase(),
48
- source: 'effect-adapter',
49
- ...path && path !== servicePath ? {
50
- attributes: {
51
- mountedPath: path
52
- }
53
- } : {},
54
- ...locale ? {
55
- locale
56
- } : {},
57
- ...traceparent ? {
58
- traceparent
59
- } : {},
60
- ...parsedTraceparent ? {
61
- traceId: parsedTraceparent.traceId,
62
- spanId: parsedTraceparent.spanId
63
- } : {}
64
- };
65
- };
66
- export { createEffectOperationContext };
@@ -1,17 +0,0 @@
1
- import "node:module";
2
- import { RpcSerialization } from "effect/unstable/rpc";
3
- function getRpcSerializationLayer(serialization) {
4
- switch(serialization){
5
- case 'ndjson':
6
- return RpcSerialization.layerNdjson;
7
- case 'jsonRpc':
8
- return RpcSerialization.layerJsonRpc();
9
- case 'ndJsonRpc':
10
- return RpcSerialization.layerNdJsonRpc();
11
- case 'msgPack':
12
- return RpcSerialization.layerMsgPack;
13
- default:
14
- return RpcSerialization.layerJsonRpc();
15
- }
16
- }
17
- export { getRpcSerializationLayer };
@@ -1,36 +0,0 @@
1
- import "node:module";
2
- import { createDataBatchTransport } from "../data-platform/index.mjs";
3
- import { resolveOrigin } from "./envelope.mjs";
4
- const resolveRuntimeFetch = ()=>'function' == typeof fetch ? fetch.bind(globalThis) : void 0;
5
- const configureGeneratedEffectClientRuntime = (config, configureRequest)=>{
6
- const defaultOrigin = config.defaultOrigin;
7
- if (config.requestId && configureRequest) {
8
- const configurePayload = {
9
- requestId: config.requestId,
10
- requireEnvelope: true,
11
- identityBinding: {
12
- enabled: true,
13
- strict: true
14
- },
15
- operationContract: {
16
- enabled: true,
17
- strict: true,
18
- requireSchemaHash: true,
19
- requireOperationVersion: true
20
- },
21
- setDomain: ()=>resolveOrigin(defaultOrigin)
22
- };
23
- const runtimeFetch = resolveRuntimeFetch();
24
- if (false !== config.batch.enabled && runtimeFetch) configurePayload.request = createDataBatchTransport({
25
- fetch: runtimeFetch,
26
- endpoint: config.batch.endpoint,
27
- flushIntervalMs: config.batch.flushIntervalMs,
28
- maxBatchSize: config.batch.maxBatchSize,
29
- maxBatchBytes: config.batch.maxBatchBytes,
30
- requestTimeoutMs: config.batch.requestTimeoutMs,
31
- allowedMethods: config.batch.allowedMethods
32
- });
33
- configureRequest(configurePayload);
34
- }
35
- };
36
- export { configureGeneratedEffectClientRuntime };
@@ -1,105 +0,0 @@
1
- import "node:module";
2
- import { DEFAULT_DATA_BATCH_HEADER, DEFAULT_DATA_ENVELOPE_HEADER, createRequestEnvelope, encodeRequestEnvelopeHeader } from "../data-platform/index.mjs";
3
- import { isRecord, stringOrUndefined } from "./guards.mjs";
4
- import { normalizeRequest } from "./request.mjs";
5
- import { applyRequestContext } from "./request-context.mjs";
6
- const DATA_REQUEST_MODES = new Set([
7
- 'cache-first',
8
- 'stale-while-revalidate',
9
- 'network-only'
10
- ]);
11
- const DATA_MUTATION_MODES = new Set([
12
- 'optimistic',
13
- 'pessimistic',
14
- 'fire-and-forget'
15
- ]);
16
- const isDataRequestMode = (value)=>'string' == typeof value && DATA_REQUEST_MODES.has(value);
17
- const isDataMutationMode = (value)=>'string' == typeof value && DATA_MUTATION_MODES.has(value);
18
- const normalizeOrigin = (value)=>{
19
- if ('string' != typeof value || 0 === value.length) return;
20
- try {
21
- return new URL(value).origin;
22
- } catch {
23
- return;
24
- }
25
- };
26
- const resolveOrigin = (defaultOrigin)=>{
27
- if ("u" > typeof window && window.location && 'string' == typeof window.location.origin && window.location.origin) return window.location.origin;
28
- const globalLocation = globalThis?.location;
29
- if (globalLocation && 'string' == typeof globalLocation.origin && globalLocation.origin) return globalLocation.origin;
30
- return defaultOrigin;
31
- };
32
- const resolveTargetOrigin = (dataPlatform, defaultOrigin)=>{
33
- const explicitTargetOrigin = stringOrUndefined(dataPlatform.targetOrigin) || stringOrUndefined(dataPlatform.endpointOrigin);
34
- if (explicitTargetOrigin) return explicitTargetOrigin;
35
- return defaultOrigin;
36
- };
37
- const shouldAttachEnvelopeHeader = (dataPlatform, defaultOrigin)=>{
38
- if (true === dataPlatform.allowCrossOriginEnvelope) return true;
39
- const currentOrigin = normalizeOrigin(resolveOrigin(defaultOrigin));
40
- const targetOrigin = normalizeOrigin(resolveTargetOrigin(dataPlatform, defaultOrigin));
41
- if (!currentOrigin || !targetOrigin) return true;
42
- return currentOrigin === targetOrigin;
43
- };
44
- const toEnvelopeInput = (normalizedRequest)=>{
45
- const payload = {};
46
- if (isRecord(normalizedRequest.params)) payload.path = normalizedRequest.params;
47
- if (isRecord(normalizedRequest.query)) payload.query = normalizedRequest.query;
48
- if ('data' in normalizedRequest && void 0 !== normalizedRequest.data) payload.data = normalizedRequest.data;
49
- if ('body' in normalizedRequest && void 0 !== normalizedRequest.body) payload.body = normalizedRequest.body;
50
- if ("u" > typeof FormData && normalizedRequest.formData instanceof FormData) payload.formData = Array.from(normalizedRequest.formData.entries()).map(([key, value])=>[
51
- key,
52
- String(value)
53
- ]);
54
- if ("u" > typeof URLSearchParams && normalizedRequest.formUrlencoded instanceof URLSearchParams) payload.formUrlencoded = normalizedRequest.formUrlencoded.toString();
55
- return payload;
56
- };
57
- const prepareEffectRequest = (options)=>{
58
- const { endpoint, operation, request, config, createEffectRequestContext } = options;
59
- const defaultOrigin = config.defaultOrigin;
60
- const normalizedRequest = applyRequestContext(normalizeRequest(endpoint.method, request), request, createEffectRequestContext);
61
- const dataPlatform = isRecord(request) && isRecord(request.dataPlatform) ? request.dataPlatform : {};
62
- const strictEnvelope = true === dataPlatform.requireEnvelope || true === dataPlatform.strict;
63
- if (!strictEnvelope && !shouldAttachEnvelopeHeader(dataPlatform, defaultOrigin)) return normalizedRequest;
64
- try {
65
- const namespace = stringOrUndefined(dataPlatform.appNamespace) || config.appNamespace;
66
- const origin = stringOrUndefined(dataPlatform.origin) || resolveOrigin(defaultOrigin);
67
- const envelope = createRequestEnvelope({
68
- operation: {
69
- ...operation,
70
- appNamespace: namespace
71
- },
72
- scope: {
73
- appNamespace: namespace,
74
- origin,
75
- tenantId: stringOrUndefined(dataPlatform.tenantId),
76
- userId: stringOrUndefined(dataPlatform.userId),
77
- sessionId: stringOrUndefined(dataPlatform.sessionId)
78
- },
79
- requestInput: {
80
- method: endpoint.method,
81
- routePath: endpoint.routePath,
82
- payload: toEnvelopeInput(normalizedRequest)
83
- },
84
- requestMode: isDataRequestMode(dataPlatform.requestMode) ? dataPlatform.requestMode : void 0,
85
- mutationMode: isDataMutationMode(dataPlatform.mutationMode) ? dataPlatform.mutationMode : void 0,
86
- selectionPlan: isRecord(dataPlatform.selectionPlan) ? dataPlatform.selectionPlan : void 0,
87
- traceContext: isRecord(dataPlatform.traceContext) ? dataPlatform.traceContext : void 0,
88
- requireTraceContext: true === dataPlatform.requireTraceContext
89
- });
90
- const headerName = stringOrUndefined(dataPlatform.envelopeHeader) || DEFAULT_DATA_ENVELOPE_HEADER;
91
- const headers = isRecord(normalizedRequest.headers) ? {
92
- ...normalizedRequest.headers
93
- } : {};
94
- if (false === dataPlatform.batch) headers[DEFAULT_DATA_BATCH_HEADER] = 'off';
95
- headers[headerName] = encodeRequestEnvelopeHeader(envelope);
96
- return {
97
- ...normalizedRequest,
98
- headers
99
- };
100
- } catch (error) {
101
- if (strictEnvelope) throw error;
102
- return normalizedRequest;
103
- }
104
- };
105
- export { prepareEffectRequest, resolveOrigin };
@@ -1,4 +0,0 @@
1
- import "node:module";
2
- const isRecord = (value)=>'object' == typeof value && null !== value;
3
- const stringOrUndefined = (value)=>'string' == typeof value && value.length > 0 ? value : void 0;
4
- export { isRecord, stringOrUndefined };
@@ -1,24 +0,0 @@
1
- import "node:module";
2
- import { isRecord } from "./guards.mjs";
3
- const createEffectRequestContext = (createRequestContextHeaders, requestContext)=>{
4
- if (!isRecord(requestContext)) return {};
5
- const headers = createRequestContextHeaders ? createRequestContextHeaders(requestContext) : {};
6
- return {
7
- ...requestContext,
8
- headers
9
- };
10
- };
11
- const applyRequestContext = (normalizedRequest, request, createRequestContext)=>{
12
- if (!isRecord(request) || !isRecord(request.requestContext)) return normalizedRequest;
13
- const requestContext = createRequestContext(request.requestContext);
14
- const requestHeaders = isRecord(requestContext.headers) ? requestContext.headers : {};
15
- if (0 === Object.keys(requestHeaders).length) return normalizedRequest;
16
- return {
17
- ...normalizedRequest,
18
- headers: {
19
- ...isRecord(normalizedRequest.headers) ? normalizedRequest.headers : {},
20
- ...requestHeaders
21
- }
22
- };
23
- };
24
- export { applyRequestContext, createEffectRequestContext };
@@ -1,29 +0,0 @@
1
- import "node:module";
2
- import { isRecord } from "./guards.mjs";
3
- const METHODS_WITHOUT_BODY = new Set([
4
- 'GET',
5
- 'DELETE',
6
- 'HEAD',
7
- 'OPTIONS'
8
- ]);
9
- const normalizeRequest = (method, request)=>{
10
- if (!isRecord(request)) return {};
11
- const payload = {
12
- ...request
13
- };
14
- if (isRecord(request.path) && !isRecord(payload.params)) payload.params = request.path;
15
- if (isRecord(request.urlParams) && !isRecord(payload.query)) payload.query = request.urlParams;
16
- if (isRecord(request.headers) && !isRecord(payload.headers)) payload.headers = request.headers;
17
- if ('payload' in request && void 0 !== request.payload) if ("u" > typeof FormData && request.payload instanceof FormData && !('formData' in payload)) payload.formData = request.payload;
18
- else if (METHODS_WITHOUT_BODY.has(method)) {
19
- if (isRecord(request.payload)) payload.query = isRecord(payload.query) ? {
20
- ...payload.query,
21
- ...request.payload
22
- } : request.payload;
23
- else if (!('body' in payload)) payload.body = request.payload;
24
- } else if (!isRecord(request.payload) || 'data' in payload) {
25
- if (!('body' in payload)) payload.body = request.payload;
26
- } else payload.data = request.payload;
27
- return payload;
28
- };
29
- export { normalizeRequest };
@@ -1 +0,0 @@
1
- import "node:module";
@@ -1,47 +0,0 @@
1
- import "node:module";
2
- const SAFE_FAILURE_MESSAGES = {
3
- 500: 'Internal Server Error',
4
- 503: 'Service Unavailable'
5
- };
6
- const SAFE_FAILURE_CODES = {
7
- 500: 'INTERNAL_SERVER_ERROR',
8
- 503: 'SERVICE_UNAVAILABLE'
9
- };
10
- const INVALID_HTTP_HEADER_VALUE = /[\0-\x08\x0a-\x1f\x7f]/u;
11
- const readErrorProperty = (error, key)=>{
12
- if ('object' != typeof error || null === error || !(key in error)) return;
13
- return error[key];
14
- };
15
- const normalizeFailureStatus = (value)=>{
16
- if ('number' != typeof value || !Number.isInteger(value)) return;
17
- return value >= 400 && value <= 599 ? value : void 0;
18
- };
19
- const normalizeRetryAfter = (value)=>{
20
- if ('number' == typeof value && Number.isFinite(value) && value >= 0) return String(Math.ceil(value));
21
- if ('string' == typeof value) {
22
- const trimmed = value.trim();
23
- return trimmed.length > 0 && !INVALID_HTTP_HEADER_VALUE.test(trimmed) ? trimmed : void 0;
24
- }
25
- if (value instanceof Date) return value.toUTCString();
26
- };
27
- const createSafeFailureResponse = (error)=>{
28
- const status = normalizeFailureStatus(readErrorProperty(error, 'status')) ?? normalizeFailureStatus(readErrorProperty(error, 'statusCode')) ?? 500;
29
- const retryAfter = 503 === status ? normalizeRetryAfter(readErrorProperty(error, 'retryAfter')) ?? normalizeRetryAfter(readErrorProperty(error, 'retryAfterSeconds')) ?? normalizeRetryAfter('number' == typeof readErrorProperty(error, 'retryAfterMs') ? readErrorProperty(error, 'retryAfterMs') / 1000 : void 0) : void 0;
30
- const body = {
31
- success: false,
32
- error: {
33
- code: SAFE_FAILURE_CODES[status] ?? 'REQUEST_FAILED',
34
- message: SAFE_FAILURE_MESSAGES[status] ?? 'Request failed',
35
- status
36
- }
37
- };
38
- const headers = {
39
- 'content-type': 'application/json; charset=utf-8'
40
- };
41
- if (void 0 !== retryAfter) headers['Retry-After'] = retryAfter;
42
- return new Response(JSON.stringify(body), {
43
- status,
44
- headers
45
- });
46
- };
47
- export { createSafeFailureResponse };
@@ -1,46 +0,0 @@
1
- import __rslib_shim_module__ from "node:module";
2
- const require = /*#__PURE__*/ __rslib_shim_module__.createRequire(/*#__PURE__*/ (()=>import.meta.url)());
3
- import { checkCrossProjectPolicy, deriveOperationVersion, resolveCrossProjectPolicy } from "@modern-js/bff-core";
4
- import path from "path";
5
- import { toHeaderRecord } from "./headers.mjs";
6
- const readNearestPackageVersion = (startDir)=>{
7
- if (!startDir) return;
8
- let current = path.resolve(startDir);
9
- for(let depth = 0; depth < 10; depth += 1){
10
- try {
11
- const packageJson = require(path.join(current, 'package.json'));
12
- if ('string' == typeof packageJson.version) return packageJson.version;
13
- } catch {}
14
- const parent = path.dirname(current);
15
- if (parent === current) break;
16
- current = parent;
17
- }
18
- };
19
- const resolveAdapterCrossProjectPolicy = (api, handlers)=>{
20
- const bff = api.getServerConfig()?.bff;
21
- const { apiDirectory, appDirectory } = api.getServerContext();
22
- return resolveCrossProjectPolicy({
23
- crossProjectPolicy: bff?.crossProjectPolicy,
24
- handlers,
25
- requestId: bff?.requestId,
26
- isCrossProjectServer: bff?.isCrossProjectServer,
27
- operationVersion: deriveOperationVersion(readNearestPackageVersion(apiDirectory) ?? readNearestPackageVersion(appDirectory))
28
- });
29
- };
30
- const DENIAL_HEADERS = {
31
- 'content-type': 'application/json; charset=utf-8'
32
- };
33
- const checkCrossProjectPolicyResponse = (headers, policy)=>{
34
- if (!policy?.enabled) return null;
35
- const denial = checkCrossProjectPolicy(headers, policy);
36
- if (!denial) return null;
37
- return new Response(JSON.stringify(denial.body), {
38
- status: denial.status,
39
- headers: DENIAL_HEADERS
40
- });
41
- };
42
- const checkCrossProjectPolicyForRequest = (request, policy)=>{
43
- if (!policy?.enabled) return null;
44
- return checkCrossProjectPolicyResponse(toHeaderRecord(request.headers), policy);
45
- };
46
- export { checkCrossProjectPolicyForRequest, checkCrossProjectPolicyResponse, resolveAdapterCrossProjectPolicy };
@@ -1,29 +0,0 @@
1
- import "node:module";
2
- import { logger } from "@modern-js/utils";
3
- import { collectEffectEndpoints } from "../../runtime/effect/endpoint-contracts.mjs";
4
- import { renderEffectClientCode, renderEffectClientDeclaration } from "./rendering.mjs";
5
- import { getHttpApiRuntime, loadEffectApi } from "./runtime.mjs";
6
- function generateEffectClient(options) {
7
- return loadEffectApi({
8
- appDir: options.appDir,
9
- resourcePath: options.resourcePath,
10
- onDependency: options.onDependency
11
- }).then((api)=>{
12
- if (null === api) {
13
- logger.warn(`[BFF][Effect] Failed to generate client for ${options.resourcePath}: unable to resolve exported HttpApi.`);
14
- return null;
15
- }
16
- return getHttpApiRuntime().then((httpApiRuntime)=>{
17
- const endpoints = collectEffectEndpoints(httpApiRuntime.reflect, api, options.prefix);
18
- return {
19
- code: renderEffectClientCode(endpoints, options),
20
- declaration: renderEffectClientDeclaration(endpoints),
21
- endpoints
22
- };
23
- });
24
- });
25
- }
26
- function generateEffectClientCode(options) {
27
- return generateEffectClient(options).then((artifacts)=>null === artifacts ? null : artifacts.code);
28
- }
29
- export { generateEffectClient, generateEffectClientCode };
@@ -1,4 +0,0 @@
1
- import "node:module";
2
- export { generateEffectClient, generateEffectClientCode } from "./generator.mjs";
3
- export { resolveEffectEntryFile } from "./paths.mjs";
4
- export { renderEffectClientDeclaration } from "./rendering.mjs";
@@ -1,25 +0,0 @@
1
- import "node:module";
2
- import { findExists, fs, upath } from "@modern-js/utils";
3
- const JS_OR_TS_EXTS = [
4
- '.js',
5
- '.jsx',
6
- '.ts',
7
- '.tsx',
8
- '.mjs',
9
- '.mts',
10
- '.cjs',
11
- '.cts'
12
- ];
13
- function resolveEffectEntryFile(options) {
14
- const { appDir, apiDir, effectEntry } = options;
15
- const resolveEntry = (entryWithoutExt)=>{
16
- if ('' !== upath.extname(entryWithoutExt)) return fs.existsSync(entryWithoutExt) ? entryWithoutExt : void 0;
17
- return findExists(JS_OR_TS_EXTS.map((ext)=>`${entryWithoutExt}${ext}`));
18
- };
19
- if (void 0 !== effectEntry && '' !== effectEntry) {
20
- const entryWithoutExt = upath.isAbsolute(effectEntry) ? effectEntry : upath.resolve(appDir, effectEntry);
21
- return resolveEntry(entryWithoutExt);
22
- }
23
- return resolveEntry(upath.resolve(apiDir, 'index'));
24
- }
25
- export { resolveEffectEntryFile };