@graphql-hive/federation-gateway-audit 0.0.0 → 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. package/.github/workflows/ci.yaml +4 -4
  2. package/.github/workflows/release.yml +3 -3
  3. package/CHANGELOG.md +10 -0
  4. package/dist/index.d.cts.map +1 -1
  5. package/dist/index.d.ts.map +1 -1
  6. package/package.json +8 -4
  7. package/src/cli.ts +700 -0
  8. package/src/env.ts +13 -0
  9. package/src/index.ts +262 -0
  10. package/src/subgraph.ts +113 -0
  11. package/src/summary.ts +237 -0
  12. package/src/supergraph.ts +195 -0
  13. package/src/test-suites/abstract-types/agency.subgraph.ts +43 -0
  14. package/src/test-suites/abstract-types/books.subgraph.ts +47 -0
  15. package/src/test-suites/abstract-types/data.ts +120 -0
  16. package/src/test-suites/abstract-types/index.ts +23 -0
  17. package/src/test-suites/abstract-types/inventory.subgraph.ts +142 -0
  18. package/src/test-suites/abstract-types/magazines.subgraph.ts +47 -0
  19. package/src/test-suites/abstract-types/products.subgraph.ts +204 -0
  20. package/src/test-suites/abstract-types/reviews.subgraph.ts +159 -0
  21. package/src/test-suites/abstract-types/test.ts +1084 -0
  22. package/src/test-suites/abstract-types/users.subgraph.ts +31 -0
  23. package/src/test-suites/child-type-mismatch/a.subgraph.ts +27 -0
  24. package/src/test-suites/child-type-mismatch/b.subgraph.ts +51 -0
  25. package/src/test-suites/child-type-mismatch/data.ts +6 -0
  26. package/src/test-suites/child-type-mismatch/index.ts +6 -0
  27. package/{dist/index-Ca0FeU7u.js → src/test-suites/child-type-mismatch/test.ts} +79 -178
  28. package/src/test-suites/circular-reference-interface/a.subgraph.ts +55 -0
  29. package/src/test-suites/circular-reference-interface/b.subgraph.ts +35 -0
  30. package/src/test-suites/circular-reference-interface/data.ts +17 -0
  31. package/src/test-suites/circular-reference-interface/index.ts +6 -0
  32. package/src/test-suites/circular-reference-interface/test.ts +78 -0
  33. package/src/test-suites/complex-entity-call/data.ts +27 -0
  34. package/src/test-suites/complex-entity-call/index.ts +12 -0
  35. package/src/test-suites/complex-entity-call/link.subgraph.ts +36 -0
  36. package/src/test-suites/complex-entity-call/list.subgraph.ts +44 -0
  37. package/src/test-suites/complex-entity-call/price.subgraph.ts +107 -0
  38. package/src/test-suites/complex-entity-call/products.subgraph.ts +65 -0
  39. package/src/test-suites/complex-entity-call/test.ts +74 -0
  40. package/src/test-suites/corrupted-supergraph-node-id/a.subgraph.ts +112 -0
  41. package/src/test-suites/corrupted-supergraph-node-id/b.subgraph.ts +113 -0
  42. package/src/test-suites/corrupted-supergraph-node-id/data.ts +16 -0
  43. package/src/test-suites/corrupted-supergraph-node-id/index.ts +6 -0
  44. package/src/test-suites/corrupted-supergraph-node-id/test.ts +223 -0
  45. package/src/test-suites/enum-intersection/a.subgraph.ts +46 -0
  46. package/src/test-suites/enum-intersection/b.subgraph.ts +51 -0
  47. package/src/test-suites/enum-intersection/data.ts +10 -0
  48. package/src/test-suites/enum-intersection/index.ts +6 -0
  49. package/src/test-suites/enum-intersection/test.ts +108 -0
  50. package/src/test-suites/fed1-external-extends/a.subgraph.ts +51 -0
  51. package/src/test-suites/fed1-external-extends/b.subgraph.ts +48 -0
  52. package/src/test-suites/fed1-external-extends/data.ts +14 -0
  53. package/src/test-suites/fed1-external-extends/index.ts +6 -0
  54. package/src/test-suites/fed1-external-extends/test.ts +90 -0
  55. package/src/test-suites/fed1-external-extends-resolvable/a.subgraph.ts +40 -0
  56. package/src/test-suites/fed1-external-extends-resolvable/b.subgraph.ts +52 -0
  57. package/src/test-suites/fed1-external-extends-resolvable/data.ts +9 -0
  58. package/src/test-suites/fed1-external-extends-resolvable/index.ts +6 -0
  59. package/src/test-suites/fed1-external-extends-resolvable/test.ts +28 -0
  60. package/src/test-suites/fed1-external-extension/a.subgraph.ts +51 -0
  61. package/src/test-suites/fed1-external-extension/b.subgraph.ts +48 -0
  62. package/src/test-suites/fed1-external-extension/data.ts +14 -0
  63. package/src/test-suites/fed1-external-extension/index.ts +6 -0
  64. package/src/test-suites/fed1-external-extension/test.ts +90 -0
  65. package/src/test-suites/fed2-external-extends/a.subgraph.ts +57 -0
  66. package/src/test-suites/fed2-external-extends/b.subgraph.ts +54 -0
  67. package/src/test-suites/fed2-external-extends/data.ts +14 -0
  68. package/src/test-suites/fed2-external-extends/index.ts +6 -0
  69. package/src/test-suites/fed2-external-extends/test.ts +90 -0
  70. package/src/test-suites/fed2-external-extension/a.subgraph.ts +57 -0
  71. package/src/test-suites/fed2-external-extension/b.subgraph.ts +54 -0
  72. package/src/test-suites/fed2-external-extension/data.ts +14 -0
  73. package/src/test-suites/fed2-external-extension/index.ts +6 -0
  74. package/src/test-suites/fed2-external-extension/test.ts +90 -0
  75. package/src/test-suites/include-skip/a.subgraph.ts +42 -0
  76. package/src/test-suites/include-skip/b.subgraph.ts +47 -0
  77. package/src/test-suites/include-skip/c.subgraph.ts +65 -0
  78. package/src/test-suites/include-skip/data.ts +6 -0
  79. package/src/test-suites/include-skip/index.ts +7 -0
  80. package/src/test-suites/include-skip/test.ts +74 -0
  81. package/src/test-suites/input-object-intersection/a.subgraph.ts +47 -0
  82. package/src/test-suites/input-object-intersection/b.subgraph.ts +51 -0
  83. package/src/test-suites/input-object-intersection/data.ts +10 -0
  84. package/src/test-suites/input-object-intersection/index.ts +6 -0
  85. package/src/test-suites/input-object-intersection/test.ts +49 -0
  86. package/src/test-suites/interface-object-indirect-extension/author.subgraph.ts +39 -0
  87. package/src/test-suites/interface-object-indirect-extension/index.ts +11 -0
  88. package/src/test-suites/interface-object-indirect-extension/media.subgraph.ts +63 -0
  89. package/src/test-suites/interface-object-indirect-extension/playlist.subgraph.ts +48 -0
  90. package/src/test-suites/interface-object-indirect-extension/test.ts +57 -0
  91. package/src/test-suites/interface-object-with-requires/a.subgraph.ts +68 -0
  92. package/src/test-suites/interface-object-with-requires/b.subgraph.ts +61 -0
  93. package/src/test-suites/interface-object-with-requires/data.ts +14 -0
  94. package/src/test-suites/interface-object-with-requires/index.ts +6 -0
  95. package/src/test-suites/interface-object-with-requires/test.ts +206 -0
  96. package/src/test-suites/keys-mashup/a.subgraph.ts +46 -0
  97. package/src/test-suites/keys-mashup/b.subgraph.ts +118 -0
  98. package/src/test-suites/keys-mashup/data.ts +43 -0
  99. package/src/test-suites/keys-mashup/index.ts +6 -0
  100. package/src/test-suites/keys-mashup/test.ts +32 -0
  101. package/src/test-suites/mutations/a.subgraph.ts +136 -0
  102. package/src/test-suites/mutations/b.subgraph.ts +107 -0
  103. package/src/test-suites/mutations/c.subgraph.ts +26 -0
  104. package/src/test-suites/mutations/data.ts +91 -0
  105. package/src/test-suites/mutations/index.ts +7 -0
  106. package/src/test-suites/mutations/test.ts +94 -0
  107. package/src/test-suites/mysterious-external/data.ts +12 -0
  108. package/src/test-suites/mysterious-external/index.ts +6 -0
  109. package/src/test-suites/mysterious-external/price.subgraph.ts +55 -0
  110. package/src/test-suites/mysterious-external/product.subgraph.ts +45 -0
  111. package/src/test-suites/mysterious-external/test.ts +51 -0
  112. package/src/test-suites/nested-provides/all-products.subgraph.ts +37 -0
  113. package/src/test-suites/nested-provides/category.subgraph.ts +104 -0
  114. package/src/test-suites/nested-provides/data.ts +28 -0
  115. package/src/test-suites/nested-provides/index.ts +11 -0
  116. package/src/test-suites/nested-provides/subcategories.subgraph.ts +89 -0
  117. package/src/test-suites/nested-provides/test.ts +122 -0
  118. package/src/test-suites/node/data.ts +23 -0
  119. package/src/test-suites/node/index.ts +7 -0
  120. package/src/test-suites/node/node-two.ts +49 -0
  121. package/src/test-suites/node/node.subgraph.ts +68 -0
  122. package/src/test-suites/node/test.ts +28 -0
  123. package/src/test-suites/node/types.subgraph.ts +58 -0
  124. package/src/test-suites/non-resolvable-interface-object/a.subgraph.ts +40 -0
  125. package/src/test-suites/non-resolvable-interface-object/b.subgraph.ts +55 -0
  126. package/src/test-suites/non-resolvable-interface-object/data.ts +7 -0
  127. package/src/test-suites/non-resolvable-interface-object/index.ts +6 -0
  128. package/src/test-suites/non-resolvable-interface-object/test.ts +113 -0
  129. package/src/test-suites/null-keys/a.subgraph.ts +40 -0
  130. package/src/test-suites/null-keys/b.subgraph.ts +42 -0
  131. package/src/test-suites/null-keys/c.subgraph.ts +48 -0
  132. package/src/test-suites/null-keys/data.ts +32 -0
  133. package/src/test-suites/null-keys/index.ts +7 -0
  134. package/src/test-suites/null-keys/test.ts +46 -0
  135. package/src/test-suites/override-type-interface/a.subgraph.ts +47 -0
  136. package/src/test-suites/override-type-interface/b.subgraph.ts +73 -0
  137. package/src/test-suites/override-type-interface/data.ts +27 -0
  138. package/src/test-suites/override-type-interface/index.ts +6 -0
  139. package/src/test-suites/override-type-interface/test.ts +94 -0
  140. package/src/test-suites/override-with-requires/a.subgraph.ts +55 -0
  141. package/src/test-suites/override-with-requires/b.subgraph.ts +42 -0
  142. package/src/test-suites/override-with-requires/c.subgraph.ts +55 -0
  143. package/src/test-suites/override-with-requires/data.ts +14 -0
  144. package/src/test-suites/override-with-requires/index.ts +7 -0
  145. package/src/test-suites/override-with-requires/test.ts +98 -0
  146. package/src/test-suites/parent-entity-call/a.subgraph.ts +90 -0
  147. package/src/test-suites/parent-entity-call/b.subgraph.ts +68 -0
  148. package/src/test-suites/parent-entity-call/c.subgraph.ts +56 -0
  149. package/src/test-suites/parent-entity-call/data.ts +34 -0
  150. package/src/test-suites/parent-entity-call/index.ts +7 -0
  151. package/src/test-suites/parent-entity-call/test.ts +52 -0
  152. package/src/test-suites/parent-entity-call-complex/a.subgraph.ts +29 -0
  153. package/src/test-suites/parent-entity-call-complex/b.subgraph.ts +32 -0
  154. package/src/test-suites/parent-entity-call-complex/c.subgraph.ts +22 -0
  155. package/src/test-suites/parent-entity-call-complex/d.subgraph.ts +35 -0
  156. package/src/test-suites/parent-entity-call-complex/index.ts +8 -0
  157. package/src/test-suites/parent-entity-call-complex/test.ts +32 -0
  158. package/src/test-suites/provides-on-interface/a.subgraph.ts +95 -0
  159. package/src/test-suites/provides-on-interface/b.subgraph.ts +65 -0
  160. package/src/test-suites/provides-on-interface/c.subgraph.ts +119 -0
  161. package/src/test-suites/provides-on-interface/data.ts +24 -0
  162. package/src/test-suites/provides-on-interface/index.ts +7 -0
  163. package/src/test-suites/provides-on-interface/test.ts +68 -0
  164. package/src/test-suites/provides-on-union/a.subgraph.ts +41 -0
  165. package/src/test-suites/provides-on-union/b.subgraph.ts +47 -0
  166. package/src/test-suites/provides-on-union/c.subgraph.ts +59 -0
  167. package/src/test-suites/provides-on-union/data.ts +12 -0
  168. package/src/test-suites/provides-on-union/index.ts +7 -0
  169. package/src/test-suites/provides-on-union/test.ts +62 -0
  170. package/src/test-suites/requires-circular/a.subgraph.ts +72 -0
  171. package/src/test-suites/requires-circular/b.subgraph.ts +46 -0
  172. package/src/test-suites/requires-circular/data.ts +25 -0
  173. package/src/test-suites/requires-circular/index.ts +6 -0
  174. package/src/test-suites/requires-circular/test.ts +46 -0
  175. package/src/test-suites/requires-interface/a.subgraph.ts +92 -0
  176. package/src/test-suites/requires-interface/b.subgraph.ts +82 -0
  177. package/src/test-suites/requires-interface/data.ts +27 -0
  178. package/src/test-suites/requires-interface/index.ts +6 -0
  179. package/src/test-suites/requires-interface/test.ts +96 -0
  180. package/src/test-suites/requires-requires/a.subgraph.ts +33 -0
  181. package/src/test-suites/requires-requires/b.subgraph.ts +42 -0
  182. package/src/test-suites/requires-requires/c.subgraph.ts +65 -0
  183. package/src/test-suites/requires-requires/d.subgraph.ts +71 -0
  184. package/src/test-suites/requires-requires/data.ts +7 -0
  185. package/src/test-suites/requires-requires/index.ts +8 -0
  186. package/src/test-suites/requires-requires/test.ts +88 -0
  187. package/src/test-suites/requires-with-argument/a.subgraph.ts +68 -0
  188. package/src/test-suites/requires-with-argument/b.subgraph.ts +55 -0
  189. package/src/test-suites/requires-with-argument/c.subgraph.ts +71 -0
  190. package/src/test-suites/requires-with-argument/d.subgraph.ts +97 -0
  191. package/src/test-suites/requires-with-argument/data.ts +81 -0
  192. package/src/test-suites/requires-with-argument/index.ts +8 -0
  193. package/src/test-suites/requires-with-argument/test.ts +192 -0
  194. package/src/test-suites/requires-with-argument-conflict/a.subgraph.ts +79 -0
  195. package/src/test-suites/requires-with-argument-conflict/b.subgraph.ts +60 -0
  196. package/src/test-suites/requires-with-argument-conflict/data.ts +20 -0
  197. package/src/test-suites/requires-with-argument-conflict/index.ts +6 -0
  198. package/src/test-suites/requires-with-argument-conflict/test.ts +37 -0
  199. package/src/test-suites/requires-with-fragments/a.subgraph.ts +81 -0
  200. package/src/test-suites/requires-with-fragments/b.subgraph.ts +151 -0
  201. package/src/test-suites/requires-with-fragments/data.ts +30 -0
  202. package/src/test-suites/requires-with-fragments/index.ts +6 -0
  203. package/src/test-suites/requires-with-fragments/test.ts +138 -0
  204. package/src/test-suites/shared-root/category.subgraph.ts +45 -0
  205. package/src/test-suites/shared-root/data.ts +22 -0
  206. package/src/test-suites/shared-root/index.ts +7 -0
  207. package/src/test-suites/shared-root/name.subgraph.ts +46 -0
  208. package/src/test-suites/shared-root/price.subgraph.ts +46 -0
  209. package/src/test-suites/shared-root/test.ts +94 -0
  210. package/src/test-suites/simple-entity-call/data.ts +12 -0
  211. package/src/test-suites/simple-entity-call/email.subgraph.ts +42 -0
  212. package/src/test-suites/simple-entity-call/index.ts +6 -0
  213. package/src/test-suites/simple-entity-call/nickname.subgraph.ts +32 -0
  214. package/src/test-suites/simple-entity-call/test.ts +23 -0
  215. package/src/test-suites/simple-inaccessible/age.subgraph.ts +45 -0
  216. package/src/test-suites/simple-inaccessible/data.ts +12 -0
  217. package/src/test-suites/simple-inaccessible/friends.subgraph.ts +68 -0
  218. package/src/test-suites/simple-inaccessible/index.ts +6 -0
  219. package/src/test-suites/simple-inaccessible/test.ts +124 -0
  220. package/src/test-suites/simple-interface-object/a.subgraph.ts +163 -0
  221. package/src/test-suites/simple-interface-object/b.subgraph.ts +89 -0
  222. package/src/test-suites/simple-interface-object/c.subgraph.ts +48 -0
  223. package/src/test-suites/simple-interface-object/data.ts +38 -0
  224. package/src/test-suites/simple-interface-object/index.ts +7 -0
  225. package/src/test-suites/simple-interface-object/test.ts +367 -0
  226. package/src/test-suites/simple-override/a.subgraph.ts +49 -0
  227. package/src/test-suites/simple-override/b.subgraph.ts +46 -0
  228. package/src/test-suites/simple-override/data.ts +10 -0
  229. package/src/test-suites/simple-override/index.ts +6 -0
  230. package/src/test-suites/simple-override/test.ts +51 -0
  231. package/src/test-suites/simple-requires-provides/accounts.subgraph.ts +48 -0
  232. package/src/test-suites/simple-requires-provides/data.ts +44 -0
  233. package/src/test-suites/simple-requires-provides/index.ts +12 -0
  234. package/src/test-suites/simple-requires-provides/inventory.subgraph.ts +59 -0
  235. package/src/test-suites/simple-requires-provides/products.subgraph.ts +48 -0
  236. package/src/test-suites/simple-requires-provides/reviews.subgraph.ts +106 -0
  237. package/src/test-suites/simple-requires-provides/test.ts +372 -0
  238. package/src/test-suites/typename/a.subgraph.ts +76 -0
  239. package/src/test-suites/typename/b.subgraph.ts +50 -0
  240. package/src/test-suites/typename/data.ts +14 -0
  241. package/src/test-suites/typename/index.ts +6 -0
  242. package/src/test-suites/typename/test.ts +132 -0
  243. package/src/test-suites/unavailable-override/a.subgraph.ts +46 -0
  244. package/src/test-suites/unavailable-override/b.subgraph.ts +46 -0
  245. package/src/test-suites/unavailable-override/data.ts +10 -0
  246. package/src/test-suites/unavailable-override/index.ts +6 -0
  247. package/src/test-suites/unavailable-override/test.ts +51 -0
  248. package/src/test-suites/union-interface-distributed/a.subgraph.ts +126 -0
  249. package/src/test-suites/union-interface-distributed/b.subgraph.ts +39 -0
  250. package/src/test-suites/union-interface-distributed/data.ts +26 -0
  251. package/src/test-suites/union-interface-distributed/index.ts +6 -0
  252. package/src/test-suites/union-interface-distributed/test.ts +244 -0
  253. package/src/test-suites/union-intersection/README.md +3 -0
  254. package/src/test-suites/union-intersection/a.subgraph.ts +83 -0
  255. package/src/test-suites/union-intersection/b.subgraph.ts +79 -0
  256. package/src/test-suites/union-intersection/data.ts +7 -0
  257. package/src/test-suites/union-intersection/index.ts +6 -0
  258. package/{dist/index-Ytb942t9.js → src/test-suites/union-intersection/test.ts} +74 -260
  259. package/src/test.ts +98 -0
  260. package/src/testkit.ts +31 -0
  261. package/.changeset/@graphql-hive_federation-gateway-audit-293-dependencies.md +0 -5
  262. package/.changeset/funky-times-cry.md +0 -5
  263. package/dist/index--3rcSZqA.js +0 -227
  264. package/dist/index-0MDIXUzP.cjs +0 -589
  265. package/dist/index-2oy7cA9A.js +0 -225
  266. package/dist/index-3BM15w2Y.mjs +0 -234
  267. package/dist/index-3CyAnc7j.js +0 -234
  268. package/dist/index-4swHVe9x.cjs +0 -507
  269. package/dist/index-6qNpP2wc.mjs +0 -238
  270. package/dist/index-A2YbwKzc.mjs +0 -288
  271. package/dist/index-B0coRevy.mjs +0 -337
  272. package/dist/index-B1NAc0TI.cjs +0 -215
  273. package/dist/index-B1WvIzTg.js +0 -371
  274. package/dist/index-B55AdoQy.js +0 -273
  275. package/dist/index-B7cr8XE-.js +0 -194
  276. package/dist/index-B7zN3YzE.cjs +0 -683
  277. package/dist/index-B9T896rB.mjs +0 -163
  278. package/dist/index-BEMScD_X.cjs +0 -173
  279. package/dist/index-BGC0_vWj.cjs +0 -335
  280. package/dist/index-BGUm947D.cjs +0 -229
  281. package/dist/index-BKcwbRZx.cjs +0 -339
  282. package/dist/index-BKpVb_h9.cjs +0 -236
  283. package/dist/index-BPFol6Ww.mjs +0 -129
  284. package/dist/index-BPza8i2Q.mjs +0 -213
  285. package/dist/index-BS7JyQSU.js +0 -250
  286. package/dist/index-BSWSgZCO.cjs +0 -252
  287. package/dist/index-BSwOAvti.js +0 -288
  288. package/dist/index-BWO8QbMB.mjs +0 -587
  289. package/dist/index-B_u5Boud.js +0 -333
  290. package/dist/index-BaH3FI9i.cjs +0 -361
  291. package/dist/index-BaluTf1I.cjs +0 -707
  292. package/dist/index-BcoW0aPo.cjs +0 -165
  293. package/dist/index-BdNZKlDU.js +0 -284
  294. package/dist/index-Bf81cAA1.mjs +0 -444
  295. package/dist/index-Bg3H3fgZ.js +0 -259
  296. package/dist/index-Bgl_1Y6Q.mjs +0 -681
  297. package/dist/index-BgryMCqm.mjs +0 -213
  298. package/dist/index-BiTzMTFn.js +0 -304
  299. package/dist/index-BjbmOyBP.cjs +0 -215
  300. package/dist/index-Bm8hqSRd.cjs +0 -168
  301. package/dist/index-BmQrhPXB.cjs +0 -131
  302. package/dist/index-BndUB2KV.mjs +0 -381
  303. package/dist/index-BpJZCoVH.mjs +0 -250
  304. package/dist/index-Br-Y1qC_.cjs +0 -446
  305. package/dist/index-BrFtcRgi.mjs +0 -194
  306. package/dist/index-Bu8SXnTf.mjs +0 -227
  307. package/dist/index-Bwh8HVkw.cjs +0 -384
  308. package/dist/index-BxK3Y72_.js +0 -227
  309. package/dist/index-BxPUzymh.cjs +0 -208
  310. package/dist/index-ByZa9qm8.mjs +0 -273
  311. package/dist/index-Bz_LTy1A.mjs +0 -222
  312. package/dist/index-C1GgHOiD.js +0 -228
  313. package/dist/index-C4Pk-zTm.mjs +0 -227
  314. package/dist/index-C6nkQ480.js +0 -225
  315. package/dist/index-C8Mu4K9Q.cjs +0 -383
  316. package/dist/index-CAJ9YPxc.js +0 -681
  317. package/dist/index-CD03pVUt.cjs +0 -373
  318. package/dist/index-CD8GiuIg.js +0 -227
  319. package/dist/index-CHB_0VqK.mjs +0 -333
  320. package/dist/index-CNvZCDZa.js +0 -166
  321. package/dist/index-COGhiFjk.mjs +0 -284
  322. package/dist/index-COIlelpZ.mjs +0 -262
  323. package/dist/index-CPu_XkjY.mjs +0 -304
  324. package/dist/index-CUFKuE64.js +0 -550
  325. package/dist/index-CW8h3l6M.js +0 -262
  326. package/dist/index-CWrng7Hd.mjs +0 -550
  327. package/dist/index-CXviN8qZ.cjs +0 -224
  328. package/dist/index-C_qaNb-X.mjs +0 -225
  329. package/dist/index-Cb3ImEjd.cjs +0 -165
  330. package/dist/index-Cc3vrs6_.mjs +0 -228
  331. package/dist/index-CcIXvx40.mjs +0 -171
  332. package/dist/index-CdaeeF3f.cjs +0 -306
  333. package/dist/index-Cj2ocjXI.cjs +0 -227
  334. package/dist/index-CkWEXzTN.js +0 -129
  335. package/dist/index-Ckhb9QAu.cjs +0 -264
  336. package/dist/index-CklJfQlf.cjs +0 -220
  337. package/dist/index-Cn0ZJkAv.mjs +0 -280
  338. package/dist/index-Cuw9ylL-.mjs +0 -371
  339. package/dist/index-CwOULUAt.mjs +0 -382
  340. package/dist/index-D-1dDKiZ.mjs +0 -227
  341. package/dist/index-D1Ip6ro6.js +0 -458
  342. package/dist/index-D5tEp8IU.js +0 -337
  343. package/dist/index-D7WuGKYY.cjs +0 -227
  344. package/dist/index-D8Dp6TnQ.cjs +0 -1837
  345. package/dist/index-D9OKpqgG.js +0 -381
  346. package/dist/index-DBMI2EcB.cjs +0 -170
  347. package/dist/index-DBRUKV0U.mjs +0 -225
  348. package/dist/index-DHRqE92a.cjs +0 -290
  349. package/dist/index-DJ3ndv3i.mjs +0 -705
  350. package/dist/index-DJXP-Gmp.js +0 -218
  351. package/dist/index-DJlXDQOY.cjs +0 -200
  352. package/dist/index-DLW4GEJl.cjs +0 -229
  353. package/dist/index-DM4ddIL6.js +0 -382
  354. package/dist/index-DN-ScBql.mjs +0 -458
  355. package/dist/index-DS86eFsI.mjs +0 -1835
  356. package/dist/index-DZws2w4w.cjs +0 -229
  357. package/dist/index-Dbb-jnWf.js +0 -206
  358. package/dist/index-DdXy_-T9.js +0 -444
  359. package/dist/index-DiDq1sL6.cjs +0 -240
  360. package/dist/index-DiuJQ9Mq.js +0 -198
  361. package/dist/index-Dk0q-ENv.mjs +0 -166
  362. package/dist/index-DlFElztE.mjs +0 -163
  363. package/dist/index-DlkxQ-B5.mjs +0 -359
  364. package/dist/index-Du5MxO_2.mjs +0 -505
  365. package/dist/index-DxHMqS-W.js +0 -117
  366. package/dist/index-DyTApTHI.cjs +0 -282
  367. package/dist/index-DzAewrkw.js +0 -238
  368. package/dist/index-EuKHpnHv.mjs +0 -117
  369. package/dist/index-FP6hvgSw.cjs +0 -552
  370. package/dist/index-GDSrKnPp.mjs +0 -198
  371. package/dist/index-GMCZo-KH.js +0 -222
  372. package/dist/index-IawHHRZX.mjs +0 -206
  373. package/dist/index-Jk7MG7tE.cjs +0 -286
  374. package/dist/index-KAC20a9r.js +0 -359
  375. package/dist/index-Ls2fI7y4.js +0 -163
  376. package/dist/index-NIEZaRYg.cjs +0 -261
  377. package/dist/index-PyaLRKuk.mjs +0 -168
  378. package/dist/index-QXYDkAsQ.cjs +0 -119
  379. package/dist/index-SmEIf5jz.mjs +0 -259
  380. package/dist/index-UVyXzNlG.js +0 -705
  381. package/dist/index-VvuhRvnC.mjs +0 -218
  382. package/dist/index-XZiO6uje.cjs +0 -275
  383. package/dist/index-YOlsBREZ.cjs +0 -230
  384. package/dist/index-_2dg_MWu.cjs +0 -460
  385. package/dist/index-eFEW10em.js +0 -213
  386. package/dist/index-f7FiDQMk.js +0 -171
  387. package/dist/index-fdDnq3vQ.js +0 -163
  388. package/dist/index-l8e8ip4U.js +0 -168
  389. package/dist/index-rn-_7-wp.cjs +0 -196
  390. package/dist/index-s27DHpTG.js +0 -1835
  391. package/dist/index-sbc7nDv3.js +0 -213
  392. package/dist/index-vHngHSlz.js +0 -280
  393. package/dist/testkit-C920qivh.js +0 -281
  394. package/dist/testkit-C920qivh.mjs +0 -281
  395. package/dist/testkit-D0rTQ6MD.cjs +0 -286
@@ -0,0 +1,31 @@
1
+ import { createSubgraph } from "../../subgraph.js";
2
+ import { products, users } from "./data.js";
3
+
4
+ export default createSubgraph("users", {
5
+ typeDefs: /* GraphQL */ `
6
+ type User @key(fields: "email") {
7
+ email: ID!
8
+ name: String
9
+ totalProductsCreated: Int
10
+ }
11
+ `,
12
+ resolvers: {
13
+ User: {
14
+ __resolveReference(key: { email: string }) {
15
+ const user = users.find((user) => user.email === key.email);
16
+
17
+ return user
18
+ ? {
19
+ __typename: "User",
20
+ id: user.id,
21
+ email: user.email,
22
+ name: user.name,
23
+ }
24
+ : null;
25
+ },
26
+ totalProductsCreated(user: { id: string }) {
27
+ return products.filter((p) => p.createdBy === user.id).length;
28
+ },
29
+ },
30
+ },
31
+ });
@@ -0,0 +1,27 @@
1
+ import { createSubgraph } from "../../subgraph.js";
2
+ import { users } from "./data.js";
3
+
4
+ export default createSubgraph("a", {
5
+ typeDefs: /* GraphQL */ `
6
+ extend schema
7
+ @link(
8
+ url: "https://specs.apollo.dev/federation/v2.3"
9
+ import: ["@shareable"]
10
+ )
11
+
12
+ type User {
13
+ id: ID @shareable
14
+ }
15
+
16
+ type Query {
17
+ users: [User!]!
18
+ }
19
+ `,
20
+ resolvers: {
21
+ Query: {
22
+ users() {
23
+ return users.map((u) => ({ __typename: "User", id: u.id }));
24
+ },
25
+ },
26
+ },
27
+ });
@@ -0,0 +1,51 @@
1
+ import { createSubgraph } from "../../subgraph.js";
2
+ import { users } from "./data.js";
3
+
4
+ function accounts() {
5
+ return [
6
+ ...users.map((user) => ({ __typename: "User", ...user })),
7
+ { __typename: "Admin", id: "a1", name: "a1-name" },
8
+ ];
9
+ }
10
+
11
+ export default createSubgraph("b", {
12
+ typeDefs: /* GraphQL */ `
13
+ extend schema
14
+ @link(
15
+ url: "https://specs.apollo.dev/federation/v2.3"
16
+ import: ["@shareable", "@key"]
17
+ )
18
+
19
+ union Account = User | Admin
20
+
21
+ type User @key(fields: "id") {
22
+ id: ID!
23
+ name: String
24
+ similarAccounts: [Account!]!
25
+ }
26
+
27
+ type Admin {
28
+ id: ID
29
+ name: String @shareable
30
+ similarAccounts: [Account!]!
31
+ }
32
+
33
+ type Query {
34
+ accounts: [Account!]!
35
+ }
36
+ `,
37
+ resolvers: {
38
+ Query: {
39
+ accounts,
40
+ },
41
+ User: {
42
+ __resolveReference(key: { id: string }) {
43
+ return users.find((user) => user.id === key.id);
44
+ },
45
+ similarAccounts: accounts,
46
+ },
47
+ Admin: {
48
+ similarAccounts: accounts,
49
+ },
50
+ },
51
+ });
@@ -0,0 +1,6 @@
1
+ export const users = [
2
+ {
3
+ id: "u1",
4
+ name: "u1-name",
5
+ },
6
+ ];
@@ -0,0 +1,6 @@
1
+ import { serve } from "../../supergraph.js";
2
+ import a from "./a.subgraph.js";
3
+ import b from "./b.subgraph.js";
4
+ import test from "./test.js";
5
+
6
+ export default serve("child-type-mismatch", [a, b], test);
@@ -1,100 +1,8 @@
1
- import { c as createSubgraph, a as createTest, s as serve } from './testkit-C920qivh.js';
2
- import '@apollo/composition';
3
- import 'graphql';
4
- import 'fets';
5
- import '@apollo/subgraph';
6
- import 'graphql-yoga';
1
+ import { createTest } from "../../testkit.js";
7
2
 
8
- const users = [
9
- {
10
- id: "u1",
11
- name: "u1-name"
12
- }
13
- ];
14
-
15
- var a = createSubgraph("a", {
16
- typeDefs: (
17
- /* GraphQL */
18
- `
19
- extend schema
20
- @link(
21
- url: "https://specs.apollo.dev/federation/v2.3"
22
- import: ["@shareable"]
23
- )
24
-
25
- type User {
26
- id: ID @shareable
27
- }
28
-
29
- type Query {
30
- users: [User!]!
31
- }
32
- `
33
- ),
34
- resolvers: {
35
- Query: {
36
- users() {
37
- return users.map((u) => ({ __typename: "User", id: u.id }));
38
- }
39
- }
40
- }
41
- });
42
-
43
- function accounts() {
44
- return [
45
- ...users.map((user) => ({ __typename: "User", ...user })),
46
- { __typename: "Admin", id: "a1", name: "a1-name" }
47
- ];
48
- }
49
- var b = createSubgraph("b", {
50
- typeDefs: (
51
- /* GraphQL */
52
- `
53
- extend schema
54
- @link(
55
- url: "https://specs.apollo.dev/federation/v2.3"
56
- import: ["@shareable", "@key"]
57
- )
58
-
59
- union Account = User | Admin
60
-
61
- type User @key(fields: "id") {
62
- id: ID!
63
- name: String
64
- similarAccounts: [Account!]!
65
- }
66
-
67
- type Admin {
68
- id: ID
69
- name: String @shareable
70
- similarAccounts: [Account!]!
71
- }
72
-
73
- type Query {
74
- accounts: [Account!]!
75
- }
76
- `
77
- ),
78
- resolvers: {
79
- Query: {
80
- accounts
81
- },
82
- User: {
83
- __resolveReference(key) {
84
- return users.find((user) => user.id === key.id);
85
- },
86
- similarAccounts: accounts
87
- },
88
- Admin: {
89
- similarAccounts: accounts
90
- }
91
- }
92
- });
93
-
94
- var test = [
3
+ export default [
95
4
  createTest(
96
- /* GraphQL */
97
- `
5
+ /* GraphQL */ `
98
6
  {
99
7
  users {
100
8
  id
@@ -117,25 +25,24 @@ var test = [
117
25
  users: [
118
26
  {
119
27
  id: "u1",
120
- name: "u1-name"
121
- }
28
+ name: "u1-name",
29
+ },
122
30
  ],
123
31
  accounts: [
124
32
  {
125
33
  id: "u1",
126
- name: "u1-name"
34
+ name: "u1-name",
127
35
  },
128
36
  {
129
37
  id: "a1",
130
- name: "a1-name"
131
- }
132
- ]
133
- }
134
- }
38
+ name: "a1-name",
39
+ },
40
+ ],
41
+ },
42
+ },
135
43
  ),
136
44
  createTest(
137
- /* GraphQL */
138
- `
45
+ /* GraphQL */ `
139
46
  query NestedInternalAlias {
140
47
  users {
141
48
  id
@@ -178,8 +85,8 @@ var test = [
178
85
  users: [
179
86
  {
180
87
  id: "u1",
181
- name: "u1-name"
182
- }
88
+ name: "u1-name",
89
+ },
183
90
  ],
184
91
  accounts: [
185
92
  {
@@ -188,13 +95,13 @@ var test = [
188
95
  similarAccounts: [
189
96
  {
190
97
  id: "u1",
191
- name: "u1-name"
98
+ name: "u1-name",
192
99
  },
193
100
  {
194
101
  id: "a1",
195
- name: "a1-name"
196
- }
197
- ]
102
+ name: "a1-name",
103
+ },
104
+ ],
198
105
  },
199
106
  {
200
107
  id: "a1",
@@ -202,21 +109,20 @@ var test = [
202
109
  similarAccounts: [
203
110
  {
204
111
  id: "u1",
205
- name: "u1-name"
112
+ name: "u1-name",
206
113
  },
207
114
  {
208
115
  id: "a1",
209
- name: "a1-name"
210
- }
211
- ]
212
- }
213
- ]
214
- }
215
- }
116
+ name: "a1-name",
117
+ },
118
+ ],
119
+ },
120
+ ],
121
+ },
122
+ },
216
123
  ),
217
124
  createTest(
218
- /* GraphQL */
219
- `
125
+ /* GraphQL */ `
220
126
  query DeeplyNestedInternalAlias {
221
127
  users {
222
128
  id
@@ -299,8 +205,8 @@ var test = [
299
205
  users: [
300
206
  {
301
207
  id: "u1",
302
- name: "u1-name"
303
- }
208
+ name: "u1-name",
209
+ },
304
210
  ],
305
211
  accounts: [
306
212
  {
@@ -313,13 +219,13 @@ var test = [
313
219
  similarAccounts: [
314
220
  {
315
221
  id: "u1",
316
- name: "u1-name"
222
+ name: "u1-name",
317
223
  },
318
224
  {
319
225
  id: "a1",
320
- name: "a1-name"
321
- }
322
- ]
226
+ name: "a1-name",
227
+ },
228
+ ],
323
229
  },
324
230
  {
325
231
  id: "a1",
@@ -327,15 +233,15 @@ var test = [
327
233
  similarAccounts: [
328
234
  {
329
235
  id: "u1",
330
- name: "u1-name"
236
+ name: "u1-name",
331
237
  },
332
238
  {
333
239
  id: "a1",
334
- name: "a1-name"
335
- }
336
- ]
337
- }
338
- ]
240
+ name: "a1-name",
241
+ },
242
+ ],
243
+ },
244
+ ],
339
245
  },
340
246
  {
341
247
  id: "a1",
@@ -347,13 +253,13 @@ var test = [
347
253
  similarAccounts: [
348
254
  {
349
255
  id: "u1",
350
- name: "u1-name"
256
+ name: "u1-name",
351
257
  },
352
258
  {
353
259
  id: "a1",
354
- name: "a1-name"
355
- }
356
- ]
260
+ name: "a1-name",
261
+ },
262
+ ],
357
263
  },
358
264
  {
359
265
  id: "a1",
@@ -361,23 +267,22 @@ var test = [
361
267
  similarAccounts: [
362
268
  {
363
269
  id: "u1",
364
- name: "u1-name"
270
+ name: "u1-name",
365
271
  },
366
272
  {
367
273
  id: "a1",
368
- name: "a1-name"
369
- }
370
- ]
371
- }
372
- ]
373
- }
374
- ]
375
- }
376
- }
274
+ name: "a1-name",
275
+ },
276
+ ],
277
+ },
278
+ ],
279
+ },
280
+ ],
281
+ },
282
+ },
377
283
  ),
378
284
  createTest(
379
- /* GraphQL */
380
- `
285
+ /* GraphQL */ `
381
286
  query DeeplyNested {
382
287
  accounts {
383
288
  ... on User {
@@ -447,25 +352,25 @@ var test = [
447
352
  name: "u1-name",
448
353
  similarAccounts: [
449
354
  {
450
- name: "u1-name"
355
+ name: "u1-name",
451
356
  },
452
357
  {
453
- name: "a1-name"
454
- }
455
- ]
358
+ name: "a1-name",
359
+ },
360
+ ],
456
361
  },
457
362
  {
458
363
  name: "a1-name",
459
364
  similarAccounts: [
460
365
  {
461
- name: "u1-name"
366
+ name: "u1-name",
462
367
  },
463
368
  {
464
- name: "a1-name"
465
- }
466
- ]
467
- }
468
- ]
369
+ name: "a1-name",
370
+ },
371
+ ],
372
+ },
373
+ ],
469
374
  },
470
375
  {
471
376
  name: "a1-name",
@@ -474,32 +379,28 @@ var test = [
474
379
  name: "u1-name",
475
380
  similarAccounts: [
476
381
  {
477
- name: "u1-name"
382
+ name: "u1-name",
478
383
  },
479
384
  {
480
- name: "a1-name"
481
- }
482
- ]
385
+ name: "a1-name",
386
+ },
387
+ ],
483
388
  },
484
389
  {
485
390
  name: "a1-name",
486
391
  similarAccounts: [
487
392
  {
488
- name: "u1-name"
393
+ name: "u1-name",
489
394
  },
490
395
  {
491
- name: "a1-name"
492
- }
493
- ]
494
- }
495
- ]
496
- }
497
- ]
498
- }
499
- }
500
- )
396
+ name: "a1-name",
397
+ },
398
+ ],
399
+ },
400
+ ],
401
+ },
402
+ ],
403
+ },
404
+ },
405
+ ),
501
406
  ];
502
-
503
- var index = serve("child-type-mismatch", [a, b], test);
504
-
505
- export { index as default };
@@ -0,0 +1,55 @@
1
+ import { createSubgraph } from "../../subgraph.js";
2
+ import { books } from "./data.js";
3
+
4
+ export default createSubgraph("a", {
5
+ typeDefs: /* GraphQL */ `
6
+ extend schema
7
+ @link(
8
+ url: "https://specs.apollo.dev/federation/v2.3"
9
+ import: ["@key", "@external", "@provides"]
10
+ )
11
+
12
+ type Query {
13
+ product: Product
14
+ }
15
+
16
+ interface Product {
17
+ samePriceProduct: Product
18
+ }
19
+
20
+ type Book implements Product @key(fields: "id") {
21
+ id: ID!
22
+ samePriceProduct: Book @provides(fields: "price")
23
+ price: Float @external
24
+ }
25
+ `,
26
+ resolvers: {
27
+ Query: {
28
+ product() {
29
+ const book = books[0];
30
+ return {
31
+ __typename: book.__typename,
32
+ id: book.id,
33
+ price: book.price,
34
+ };
35
+ },
36
+ },
37
+ Book: {
38
+ samePriceProduct(book: { id: string; price: number }) {
39
+ const samePriceBook = books.find(
40
+ (b) => b.price === book.price && b.id !== book.id,
41
+ );
42
+
43
+ if (!samePriceBook) {
44
+ return null;
45
+ }
46
+
47
+ return {
48
+ __typename: samePriceBook.__typename,
49
+ id: samePriceBook.id,
50
+ price: samePriceBook.price,
51
+ };
52
+ },
53
+ },
54
+ },
55
+ });
@@ -0,0 +1,35 @@
1
+ import { createSubgraph } from "../../subgraph.js";
2
+ import { books } from "./data.js";
3
+
4
+ export default createSubgraph("b", {
5
+ typeDefs: /* GraphQL */ `
6
+ extend schema
7
+ @link(
8
+ url: "https://specs.apollo.dev/federation/v2.3"
9
+ import: ["@key", "@shareable"]
10
+ )
11
+
12
+ type Book @key(fields: "id") {
13
+ id: ID!
14
+ price: Float @shareable
15
+ }
16
+ `,
17
+
18
+ resolvers: {
19
+ Book: {
20
+ __resolveReference(key: { id: string }) {
21
+ const book = books.find((b) => b.id === key.id);
22
+
23
+ if (!book) {
24
+ return null;
25
+ }
26
+
27
+ return {
28
+ __typename: book.__typename,
29
+ id: book.id,
30
+ price: book.price,
31
+ };
32
+ },
33
+ },
34
+ },
35
+ });
@@ -0,0 +1,17 @@
1
+ export const books = [
2
+ {
3
+ __typename: "Book",
4
+ id: "1",
5
+ price: 10.99,
6
+ },
7
+ {
8
+ __typename: "Book",
9
+ id: "2",
10
+ price: 5.99,
11
+ },
12
+ {
13
+ __typename: "Book",
14
+ id: "3",
15
+ price: 10.99,
16
+ },
17
+ ];
@@ -0,0 +1,6 @@
1
+ import { serve } from "../../supergraph.js";
2
+ import a from "./a.subgraph.js";
3
+ import b from "./b.subgraph.js";
4
+ import test from "./test.js";
5
+
6
+ export default serve("circular-reference-interface", [a, b], test);
@@ -0,0 +1,78 @@
1
+ import { createTest } from "../../testkit.js";
2
+
3
+ export default [
4
+ createTest(
5
+ /* GraphQL */ `
6
+ query {
7
+ product {
8
+ samePriceProduct {
9
+ ... on Product {
10
+ samePriceProduct {
11
+ __typename
12
+ }
13
+ }
14
+ }
15
+ }
16
+ }
17
+ `,
18
+ {
19
+ data: {
20
+ product: {
21
+ samePriceProduct: {
22
+ samePriceProduct: {
23
+ __typename: "Book",
24
+ },
25
+ },
26
+ },
27
+ },
28
+ },
29
+ ),
30
+ createTest(
31
+ /* GraphQL */ `
32
+ query {
33
+ product {
34
+ __typename
35
+ samePriceProduct {
36
+ __typename
37
+ ... on Book {
38
+ id
39
+ }
40
+ samePriceProduct {
41
+ __typename
42
+ ... on Book {
43
+ id
44
+ }
45
+ }
46
+ }
47
+ ... on Book {
48
+ __typename
49
+ id
50
+ price
51
+ samePriceProduct {
52
+ id
53
+ price
54
+ }
55
+ }
56
+ }
57
+ }
58
+ `,
59
+ {
60
+ data: {
61
+ product: {
62
+ __typename: "Book",
63
+ samePriceProduct: {
64
+ __typename: "Book",
65
+ id: "3",
66
+ samePriceProduct: {
67
+ __typename: "Book",
68
+ id: "1",
69
+ },
70
+ price: 10.99,
71
+ },
72
+ id: "1",
73
+ price: 10.99,
74
+ },
75
+ },
76
+ },
77
+ ),
78
+ ];