@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
@@ -1,168 +0,0 @@
1
- 'use strict';
2
-
3
- var testkit = require('./testkit-D0rTQ6MD.cjs');
4
- require('@apollo/composition');
5
- require('graphql');
6
- require('fets');
7
- require('@apollo/subgraph');
8
- require('graphql-yoga');
9
-
10
- const posts = [
11
- {
12
- id: "p1",
13
- createdAt: "p1-createdAt"
14
- },
15
- {
16
- id: "p2",
17
- createdAt: "p2-createdAt"
18
- }
19
- ];
20
-
21
- var a = testkit.createSubgraph("a", {
22
- typeDefs: (
23
- /* GraphQL */
24
- `
25
- extend schema
26
- @link(
27
- url: "https://specs.apollo.dev/federation/v2.3"
28
- import: ["@key", "@shareable"]
29
- )
30
-
31
- type Post @key(fields: "id") {
32
- id: ID!
33
- createdAt: String! @shareable
34
- }
35
-
36
- type Query {
37
- feed: [Post] @shareable
38
- aFeed: [Post]
39
- }
40
- `
41
- ),
42
- resolvers: {
43
- Query: {
44
- feed() {
45
- return posts;
46
- },
47
- aFeed() {
48
- return [posts[1]];
49
- }
50
- },
51
- Post: {
52
- __resolveReference(key) {
53
- const post = posts.find((p) => p.id === key.id);
54
- if (!post) {
55
- return null;
56
- }
57
- return {
58
- id: post.id,
59
- createdAt: post.createdAt
60
- };
61
- },
62
- createdAt() {
63
- return "NEVER";
64
- }
65
- }
66
- }
67
- });
68
-
69
- var b = testkit.createSubgraph("b", {
70
- typeDefs: (
71
- /* GraphQL */
72
- `
73
- extend schema
74
- @link(
75
- url: "https://specs.apollo.dev/federation/v2.3"
76
- import: ["@key", "@override", "@shareable"]
77
- )
78
-
79
- type Post @key(fields: "id") {
80
- id: ID!
81
- createdAt: String! @override(from: "a") @shareable
82
- }
83
-
84
- type Query {
85
- feed: [Post] @shareable
86
- bFeed: [Post]
87
- }
88
- `
89
- ),
90
- resolvers: {
91
- Query: {
92
- feed() {
93
- return posts;
94
- },
95
- bFeed() {
96
- return [posts[0]];
97
- }
98
- },
99
- Post: {
100
- __resolveReference(key) {
101
- const post = posts.find((p) => p.id === key.id);
102
- if (!post) {
103
- return null;
104
- }
105
- return {
106
- id: post.id,
107
- createdAt: post.createdAt
108
- };
109
- }
110
- }
111
- }
112
- });
113
-
114
- var test = [
115
- testkit.createTest(
116
- /* GraphQL */
117
- `
118
- query {
119
- feed {
120
- createdAt
121
- }
122
- }
123
- `,
124
- {
125
- data: {
126
- feed: [
127
- {
128
- createdAt: "p1-createdAt"
129
- },
130
- {
131
- createdAt: "p2-createdAt"
132
- }
133
- ]
134
- }
135
- }
136
- ),
137
- testkit.createTest(
138
- /* GraphQL */
139
- `
140
- query {
141
- aFeed {
142
- createdAt
143
- }
144
- bFeed {
145
- createdAt
146
- }
147
- }
148
- `,
149
- {
150
- data: {
151
- aFeed: [
152
- {
153
- createdAt: "p2-createdAt"
154
- }
155
- ],
156
- bFeed: [
157
- {
158
- createdAt: "p1-createdAt"
159
- }
160
- ]
161
- }
162
- }
163
- )
164
- ];
165
-
166
- var index = testkit.serve("simple-override", [a, b], test);
167
-
168
- exports.default = index;
@@ -1,131 +0,0 @@
1
- 'use strict';
2
-
3
- var testkit = require('./testkit-D0rTQ6MD.cjs');
4
- require('@apollo/composition');
5
- require('graphql');
6
- require('fets');
7
- require('@apollo/subgraph');
8
- require('graphql-yoga');
9
-
10
- const products = [
11
- {
12
- id: "p1",
13
- pid: "p1-pid",
14
- price: 12.3,
15
- upc: "upc1",
16
- name: "p1-name"
17
- }
18
- ];
19
-
20
- var a = testkit.createSubgraph("a", {
21
- typeDefs: (
22
- /* GraphQL */
23
- `
24
- type Query {
25
- productInA: Product
26
- }
27
-
28
- type Product @key(fields: "id") {
29
- id: ID!
30
- name: String
31
- pid: ID
32
- }
33
- `
34
- ),
35
- resolvers: {
36
- Query: {
37
- productInA() {
38
- return {
39
- id: products[0].id,
40
- name: products[0].name,
41
- pid: products[0].pid
42
- };
43
- }
44
- },
45
- Product: {
46
- __resolveReference(key) {
47
- if (products[0].id !== key.id) {
48
- return null;
49
- }
50
- return {
51
- id: products[0].id,
52
- name: products[0].name,
53
- pid: products[0].pid
54
- };
55
- }
56
- }
57
- }
58
- });
59
-
60
- var b = testkit.createSubgraph("b", {
61
- typeDefs: (
62
- /* GraphQL */
63
- `
64
- type Query {
65
- productInB: Product
66
- }
67
-
68
- extend type Product @key(fields: "id name") @key(fields: "upc") {
69
- id: ID @external
70
- name: String @external
71
- upc: String @external
72
- price: Float!
73
- }
74
- `
75
- ),
76
- resolvers: {
77
- Query: {
78
- productInB: () => {
79
- return {
80
- id: products[0].id,
81
- name: products[0].name,
82
- upc: products[0].upc,
83
- price: products[0].price
84
- };
85
- }
86
- },
87
- Product: {
88
- __resolveReference: (key) => {
89
- const product = "id" in key ? products.find((p) => p.id === key.id && p.name === key.name) : products.find((p) => p.upc === key.upc);
90
- return product ? {
91
- id: product.id,
92
- name: product.name,
93
- upc: product.upc,
94
- price: product.price
95
- } : null;
96
- }
97
- }
98
- }
99
- });
100
-
101
- var tests = [
102
- testkit.createTest(
103
- /* GraphQL */
104
- `
105
- query {
106
- productInA {
107
- id
108
- pid
109
- price
110
- upc
111
- name
112
- }
113
- }
114
- `,
115
- {
116
- data: {
117
- productInA: {
118
- id: "p1",
119
- pid: "p1-pid",
120
- price: 12.3,
121
- upc: "upc1",
122
- name: "p1-name"
123
- }
124
- }
125
- }
126
- )
127
- ];
128
-
129
- var index = testkit.serve("fed1-external-extends-resolvable", [a, b], tests);
130
-
131
- exports.default = index;
@@ -1,381 +0,0 @@
1
- import { c as createSubgraph, a as createTest, s as serve } from './testkit-C920qivh.mjs';
2
- import '@apollo/composition';
3
- import 'graphql';
4
- import 'fets';
5
- import '@apollo/subgraph';
6
- import 'graphql-yoga';
7
-
8
- let products = [];
9
- let categories = [];
10
- const numbers = {};
11
- async function getProducts() {
12
- return products;
13
- }
14
- function getCategories() {
15
- return categories;
16
- }
17
- async function addProduct(name, price) {
18
- const newProduct = {
19
- id: "p-added-" + products.length,
20
- name,
21
- price
22
- };
23
- products.push(newProduct);
24
- return newProduct;
25
- }
26
- async function addCategory(name, requestId) {
27
- if (categories.some((c) => c.id === "c-added-" + requestId)) {
28
- throw new Error("Category with this requestId was already added");
29
- }
30
- const newCategory = {
31
- id: "c-added-" + requestId,
32
- name
33
- };
34
- categories.push(newCategory);
35
- return newCategory;
36
- }
37
- async function deleteProduct(id) {
38
- const after = products.filter((p) => p.id !== id);
39
- products = after;
40
- }
41
- function initProducts() {
42
- const product = {
43
- id: "p1",
44
- name: "p1-name",
45
- price: 9.99
46
- };
47
- if (products.some((p) => p.id === product.id)) {
48
- return;
49
- }
50
- products.push(product);
51
- }
52
- function getNumber(requestId) {
53
- const num = numbers[requestId];
54
- return num ?? 0;
55
- }
56
- function addNumber(num, requestId) {
57
- const existingNumber = getNumber(requestId);
58
- const sum = existingNumber + num;
59
- numbers[requestId] = sum;
60
- return sum;
61
- }
62
- function multiplyNumber(by, requestId) {
63
- const existingNumber = getNumber(requestId);
64
- const result = existingNumber * by;
65
- numbers[requestId] = result;
66
- return result;
67
- }
68
- function deleteNumber(requestId) {
69
- const num = getNumber(requestId);
70
- if (typeof numbers[requestId] === "number") {
71
- delete numbers[requestId];
72
- }
73
- return num;
74
- }
75
-
76
- var a = createSubgraph("a", {
77
- typeDefs: (
78
- /* GraphQL */
79
- `
80
- extend schema
81
- @link(
82
- url: "https://specs.apollo.dev/federation/v2.3"
83
- import: ["@key", "@shareable"]
84
- )
85
-
86
- type Mutation {
87
- addProduct(input: AddProductInput!): Product!
88
- addCategory(name: String!, requestId: String!): Category! @shareable
89
- multiply(by: Int!, requestId: String!): Int!
90
- }
91
-
92
- type Query {
93
- product(id: ID!): Product!
94
- products: [Product!]!
95
- }
96
-
97
- input AddProductInput {
98
- name: String!
99
- price: Float!
100
- }
101
-
102
- type Product @key(fields: "id") {
103
- id: ID!
104
- name: String!
105
- price: Float!
106
- }
107
-
108
- type Category @key(fields: "id") {
109
- id: ID!
110
- }
111
- `
112
- ),
113
- resolvers: {
114
- Query: {
115
- async product(_, { id }) {
116
- initProducts();
117
- const product = (await getProducts()).find((p) => p.id === id);
118
- if (!product) {
119
- return null;
120
- }
121
- return {
122
- id: product.id,
123
- name: product.name,
124
- price: product.price
125
- };
126
- },
127
- async products() {
128
- initProducts();
129
- return getProducts();
130
- }
131
- },
132
- Mutation: {
133
- async multiply(_, args) {
134
- return multiplyNumber(args.by, args.requestId);
135
- },
136
- async addProduct(_, {
137
- input
138
- }) {
139
- return addProduct(input.name, input.price);
140
- },
141
- async addCategory(_, {
142
- name,
143
- requestId
144
- }) {
145
- return addCategory(name, requestId);
146
- }
147
- },
148
- Product: {
149
- async __resolveReference(key) {
150
- const products = await getProducts();
151
- const product = products.find((p) => p.id === key.id);
152
- if (!product) {
153
- return null;
154
- }
155
- await deleteProduct(product.id);
156
- return {
157
- id: product.id,
158
- name: product.name,
159
- price: product.price
160
- };
161
- }
162
- },
163
- Category: {
164
- __resolveReference(key) {
165
- const categories = getCategories();
166
- const category = categories.find((p) => p.id === key.id);
167
- if (!category) {
168
- return null;
169
- }
170
- return {
171
- id: category.id
172
- };
173
- }
174
- }
175
- }
176
- });
177
-
178
- var b = createSubgraph("b", {
179
- typeDefs: (
180
- /* GraphQL */
181
- `
182
- extend schema
183
- @link(
184
- url: "https://specs.apollo.dev/federation/v2.3"
185
- import: ["@key", "@external", "@requires", "@shareable"]
186
- )
187
-
188
- type Product @key(fields: "id") {
189
- id: ID!
190
- price: Float! @external
191
- isExpensive: Boolean! @requires(fields: "price")
192
- isAvailable: Boolean!
193
- }
194
-
195
- type Mutation {
196
- delete(requestId: String!): Int!
197
- addCategory(name: String!, requestId: String!): Category! @shareable
198
- }
199
-
200
- type Category @key(fields: "id") {
201
- id: ID!
202
- name: String!
203
- }
204
- `
205
- ),
206
- resolvers: {
207
- Mutation: {
208
- delete(_, args) {
209
- return deleteNumber(args.requestId);
210
- },
211
- async addCategory(_, {
212
- name,
213
- requestId
214
- }) {
215
- return addCategory(name, requestId);
216
- }
217
- },
218
- Product: {
219
- async __resolveReference(key) {
220
- const product = (await getProducts()).find(
221
- (product2) => product2.id === key.id
222
- );
223
- if (!product) {
224
- return null;
225
- }
226
- await deleteProduct(product.id);
227
- if (typeof product.price === "number") {
228
- return {
229
- id: product.id,
230
- isAvailable: true,
231
- price: product.price
232
- };
233
- }
234
- return {
235
- id: product.id,
236
- isAvailable: false
237
- };
238
- },
239
- isExpensive(product) {
240
- if (typeof product.price !== "number") {
241
- throw new Error("Price is not available");
242
- }
243
- return product.price > 100;
244
- }
245
- },
246
- Category: {
247
- __resolveReference(key) {
248
- const categories = getCategories();
249
- const category = categories.find((p) => p.id === key.id);
250
- if (!category) {
251
- return null;
252
- }
253
- return {
254
- id: category.id,
255
- name: category.name
256
- };
257
- }
258
- }
259
- }
260
- });
261
-
262
- var c = createSubgraph("c", {
263
- typeDefs: (
264
- /* GraphQL */
265
- `
266
- extend schema
267
- @link(url: "https://specs.apollo.dev/federation/v2.3", import: ["@key"])
268
-
269
- type Mutation {
270
- add(num: Int!, requestId: String!): Int!
271
- }
272
- `
273
- ),
274
- resolvers: {
275
- Mutation: {
276
- add(_, args) {
277
- return addNumber(args.num, args.requestId);
278
- }
279
- }
280
- }
281
- });
282
-
283
- var test = () => {
284
- const randomId = Math.random().toString(16).substr(2);
285
- return [
286
- createTest(
287
- /* GraphQL */
288
- `
289
- mutation {
290
- addProduct(input: { name: "new", price: 599.99 }) {
291
- name
292
- price
293
- isExpensive
294
- isAvailable
295
- }
296
- }
297
- `,
298
- {
299
- data: {
300
- addProduct: {
301
- name: "new",
302
- price: 599.99,
303
- isExpensive: true,
304
- isAvailable: true
305
- }
306
- }
307
- }
308
- ),
309
- createTest(
310
- /* GraphQL */
311
- `
312
- query {
313
- product(id: "p1") {
314
- id
315
- name
316
- price
317
- isExpensive
318
- isAvailable
319
- }
320
- }
321
- `,
322
- {
323
- data: {
324
- product: {
325
- id: "p1",
326
- name: "p1-name",
327
- price: 9.99,
328
- isExpensive: false,
329
- isAvailable: true
330
- }
331
- }
332
- }
333
- ),
334
- // Test correct order of execution
335
- // It obviously does not solve a problem with shared state and race conditions,
336
- // but at least it reduces the risk a bit
337
- createTest(
338
- /* GraphQL */
339
- `
340
- mutation {
341
- five: add(num: 5, requestId: "${randomId}")
342
- ten: multiply(by: 2, requestId: "${randomId}")
343
- twelve: add(num: 2, requestId: "${randomId}")
344
- final: delete(requestId: "${randomId}")
345
- }
346
- `,
347
- {
348
- data: {
349
- five: 5,
350
- ten: 10,
351
- twelve: 12,
352
- final: 12
353
- }
354
- }
355
- ),
356
- // shared-root (mutation)
357
- createTest(
358
- /* GraphQL */
359
- `
360
- mutation {
361
- addCategory(name: "new", requestId: "${randomId}") {
362
- id
363
- name
364
- }
365
- }
366
- `,
367
- {
368
- data: {
369
- addCategory: {
370
- id: "c-added-" + randomId,
371
- name: "new"
372
- }
373
- }
374
- }
375
- )
376
- ];
377
- };
378
-
379
- var index = serve("mutations", [a, b, c], test);
380
-
381
- export { index as default };