@depup/apollo__server 5.5.0-depup.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (557) hide show
  1. package/README.md +40 -0
  2. package/changes.json +46 -0
  3. package/dist/cjs/ApolloServer.d.ts +126 -0
  4. package/dist/cjs/ApolloServer.d.ts.map +1 -0
  5. package/dist/cjs/ApolloServer.js +726 -0
  6. package/dist/cjs/ApolloServer.js.map +1 -0
  7. package/dist/cjs/cachePolicy.d.ts +3 -0
  8. package/dist/cjs/cachePolicy.d.ts.map +1 -0
  9. package/dist/cjs/cachePolicy.js +33 -0
  10. package/dist/cjs/cachePolicy.js.map +1 -0
  11. package/dist/cjs/determineApolloConfig.d.ts +4 -0
  12. package/dist/cjs/determineApolloConfig.d.ts.map +1 -0
  13. package/dist/cjs/determineApolloConfig.js +58 -0
  14. package/dist/cjs/determineApolloConfig.js.map +1 -0
  15. package/dist/cjs/errorNormalize.d.ts +12 -0
  16. package/dist/cjs/errorNormalize.d.ts.map +1 -0
  17. package/dist/cjs/errorNormalize.js +71 -0
  18. package/dist/cjs/errorNormalize.js.map +1 -0
  19. package/dist/cjs/errors/index.d.ts +16 -0
  20. package/dist/cjs/errors/index.d.ts.map +1 -0
  21. package/dist/cjs/errors/index.js +28 -0
  22. package/dist/cjs/errors/index.js.map +1 -0
  23. package/dist/cjs/externalTypes/constructor.d.ts +78 -0
  24. package/dist/cjs/externalTypes/constructor.d.ts.map +1 -0
  25. package/dist/cjs/externalTypes/constructor.js +3 -0
  26. package/dist/cjs/externalTypes/constructor.js.map +1 -0
  27. package/dist/cjs/externalTypes/context.d.ts +4 -0
  28. package/dist/cjs/externalTypes/context.d.ts.map +1 -0
  29. package/dist/cjs/externalTypes/context.js +3 -0
  30. package/dist/cjs/externalTypes/context.js.map +1 -0
  31. package/dist/cjs/externalTypes/graphql.d.ts +41 -0
  32. package/dist/cjs/externalTypes/graphql.d.ts.map +1 -0
  33. package/dist/cjs/externalTypes/graphql.js +3 -0
  34. package/dist/cjs/externalTypes/graphql.js.map +1 -0
  35. package/dist/cjs/externalTypes/http.d.ts +22 -0
  36. package/dist/cjs/externalTypes/http.d.ts.map +1 -0
  37. package/dist/cjs/externalTypes/http.js +3 -0
  38. package/dist/cjs/externalTypes/http.js.map +1 -0
  39. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha2.d.ts +28 -0
  40. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha2.d.ts.map +1 -0
  41. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha2.js +3 -0
  42. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha2.js.map +1 -0
  43. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha9.d.ts +43 -0
  44. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha9.d.ts.map +1 -0
  45. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha9.js +3 -0
  46. package/dist/cjs/externalTypes/incrementalDeliveryPolyfillAlpha9.js.map +1 -0
  47. package/dist/cjs/externalTypes/index.d.ts +9 -0
  48. package/dist/cjs/externalTypes/index.d.ts.map +1 -0
  49. package/dist/cjs/externalTypes/index.js +3 -0
  50. package/dist/cjs/externalTypes/index.js.map +1 -0
  51. package/dist/cjs/externalTypes/plugins.d.ts +75 -0
  52. package/dist/cjs/externalTypes/plugins.d.ts.map +1 -0
  53. package/dist/cjs/externalTypes/plugins.js +3 -0
  54. package/dist/cjs/externalTypes/plugins.js.map +1 -0
  55. package/dist/cjs/externalTypes/requestPipeline.d.ts +50 -0
  56. package/dist/cjs/externalTypes/requestPipeline.d.ts.map +1 -0
  57. package/dist/cjs/externalTypes/requestPipeline.js +3 -0
  58. package/dist/cjs/externalTypes/requestPipeline.js.map +1 -0
  59. package/dist/cjs/generated/packageVersion.d.ts +2 -0
  60. package/dist/cjs/generated/packageVersion.d.ts.map +1 -0
  61. package/dist/cjs/generated/packageVersion.js +5 -0
  62. package/dist/cjs/generated/packageVersion.js.map +1 -0
  63. package/dist/cjs/httpBatching.d.ts +4 -0
  64. package/dist/cjs/httpBatching.d.ts.map +1 -0
  65. package/dist/cjs/httpBatching.js +58 -0
  66. package/dist/cjs/httpBatching.js.map +1 -0
  67. package/dist/cjs/incrementalDeliveryPolyfill.d.ts +82 -0
  68. package/dist/cjs/incrementalDeliveryPolyfill.d.ts.map +1 -0
  69. package/dist/cjs/incrementalDeliveryPolyfill.js +74 -0
  70. package/dist/cjs/incrementalDeliveryPolyfill.js.map +1 -0
  71. package/dist/cjs/index.d.ts +4 -0
  72. package/dist/cjs/index.d.ts.map +1 -0
  73. package/dist/cjs/index.js +23 -0
  74. package/dist/cjs/index.js.map +1 -0
  75. package/dist/cjs/internalErrorClasses.d.ts +28 -0
  76. package/dist/cjs/internalErrorClasses.d.ts.map +1 -0
  77. package/dist/cjs/internalErrorClasses.js +91 -0
  78. package/dist/cjs/internalErrorClasses.js.map +1 -0
  79. package/dist/cjs/internalPlugin.d.ts +9 -0
  80. package/dist/cjs/internalPlugin.d.ts.map +1 -0
  81. package/dist/cjs/internalPlugin.js +11 -0
  82. package/dist/cjs/internalPlugin.js.map +1 -0
  83. package/dist/cjs/package.json +1 -0
  84. package/dist/cjs/plugin/cacheControl/index.d.ts +9 -0
  85. package/dist/cjs/plugin/cacheControl/index.d.ts.map +1 -0
  86. package/dist/cjs/plugin/cacheControl/index.js +223 -0
  87. package/dist/cjs/plugin/cacheControl/index.js.map +1 -0
  88. package/dist/cjs/plugin/disableSuggestions/index.d.ts +3 -0
  89. package/dist/cjs/plugin/disableSuggestions/index.d.ts.map +1 -0
  90. package/dist/cjs/plugin/disableSuggestions/index.js +22 -0
  91. package/dist/cjs/plugin/disableSuggestions/index.js.map +1 -0
  92. package/dist/cjs/plugin/disabled/index.d.ts +7 -0
  93. package/dist/cjs/plugin/disabled/index.d.ts.map +1 -0
  94. package/dist/cjs/plugin/disabled/index.js +30 -0
  95. package/dist/cjs/plugin/disabled/index.js.map +1 -0
  96. package/dist/cjs/plugin/drainHttpServer/index.d.ts +8 -0
  97. package/dist/cjs/plugin/drainHttpServer/index.d.ts.map +1 -0
  98. package/dist/cjs/plugin/drainHttpServer/index.js +19 -0
  99. package/dist/cjs/plugin/drainHttpServer/index.js.map +1 -0
  100. package/dist/cjs/plugin/drainHttpServer/stoppable.d.ts +10 -0
  101. package/dist/cjs/plugin/drainHttpServer/stoppable.d.ts.map +1 -0
  102. package/dist/cjs/plugin/drainHttpServer/stoppable.js +54 -0
  103. package/dist/cjs/plugin/drainHttpServer/stoppable.js.map +1 -0
  104. package/dist/cjs/plugin/inlineTrace/index.d.ts +8 -0
  105. package/dist/cjs/plugin/inlineTrace/index.d.ts.map +1 -0
  106. package/dist/cjs/plugin/inlineTrace/index.js +70 -0
  107. package/dist/cjs/plugin/inlineTrace/index.js.map +1 -0
  108. package/dist/cjs/plugin/landingPage/default/getEmbeddedHTML.d.ts +4 -0
  109. package/dist/cjs/plugin/landingPage/default/getEmbeddedHTML.d.ts.map +1 -0
  110. package/dist/cjs/plugin/landingPage/default/getEmbeddedHTML.js +143 -0
  111. package/dist/cjs/plugin/landingPage/default/getEmbeddedHTML.js.map +1 -0
  112. package/dist/cjs/plugin/landingPage/default/index.d.ts +9 -0
  113. package/dist/cjs/plugin/landingPage/default/index.d.ts.map +1 -0
  114. package/dist/cjs/plugin/landingPage/default/index.js +146 -0
  115. package/dist/cjs/plugin/landingPage/default/index.js.map +1 -0
  116. package/dist/cjs/plugin/landingPage/default/types.d.ts +56 -0
  117. package/dist/cjs/plugin/landingPage/default/types.d.ts.map +1 -0
  118. package/dist/cjs/plugin/landingPage/default/types.js +3 -0
  119. package/dist/cjs/plugin/landingPage/default/types.js.map +1 -0
  120. package/dist/cjs/plugin/schemaIsSubgraph.d.ts +3 -0
  121. package/dist/cjs/plugin/schemaIsSubgraph.d.ts.map +1 -0
  122. package/dist/cjs/plugin/schemaIsSubgraph.js +23 -0
  123. package/dist/cjs/plugin/schemaIsSubgraph.js.map +1 -0
  124. package/dist/cjs/plugin/schemaReporting/index.d.ts +10 -0
  125. package/dist/cjs/plugin/schemaReporting/index.d.ts.map +1 -0
  126. package/dist/cjs/plugin/schemaReporting/index.js +104 -0
  127. package/dist/cjs/plugin/schemaReporting/index.js.map +1 -0
  128. package/dist/cjs/plugin/schemaReporting/schemaReporter.d.ts +33 -0
  129. package/dist/cjs/plugin/schemaReporting/schemaReporter.d.ts.map +1 -0
  130. package/dist/cjs/plugin/schemaReporting/schemaReporter.js +147 -0
  131. package/dist/cjs/plugin/schemaReporting/schemaReporter.js.map +1 -0
  132. package/dist/cjs/plugin/subscriptionCallback/index.d.ts +12 -0
  133. package/dist/cjs/plugin/subscriptionCallback/index.d.ts.map +1 -0
  134. package/dist/cjs/plugin/subscriptionCallback/index.js +434 -0
  135. package/dist/cjs/plugin/subscriptionCallback/index.js.map +1 -0
  136. package/dist/cjs/plugin/traceTreeBuilder.d.ts +25 -0
  137. package/dist/cjs/plugin/traceTreeBuilder.d.ts.map +1 -0
  138. package/dist/cjs/plugin/traceTreeBuilder.js +201 -0
  139. package/dist/cjs/plugin/traceTreeBuilder.js.map +1 -0
  140. package/dist/cjs/plugin/usageReporting/defaultSendOperationsAsTrace.d.ts +3 -0
  141. package/dist/cjs/plugin/usageReporting/defaultSendOperationsAsTrace.d.ts.map +1 -0
  142. package/dist/cjs/plugin/usageReporting/defaultSendOperationsAsTrace.js +44 -0
  143. package/dist/cjs/plugin/usageReporting/defaultSendOperationsAsTrace.js.map +1 -0
  144. package/dist/cjs/plugin/usageReporting/durationHistogram.d.ts +16 -0
  145. package/dist/cjs/plugin/usageReporting/durationHistogram.d.ts.map +1 -0
  146. package/dist/cjs/plugin/usageReporting/durationHistogram.js +68 -0
  147. package/dist/cjs/plugin/usageReporting/durationHistogram.js.map +1 -0
  148. package/dist/cjs/plugin/usageReporting/index.d.ts +3 -0
  149. package/dist/cjs/plugin/usageReporting/index.d.ts.map +1 -0
  150. package/dist/cjs/plugin/usageReporting/index.js +6 -0
  151. package/dist/cjs/plugin/usageReporting/index.js.map +1 -0
  152. package/dist/cjs/plugin/usageReporting/iterateOverTrace.d.ts +7 -0
  153. package/dist/cjs/plugin/usageReporting/iterateOverTrace.d.ts.map +1 -0
  154. package/dist/cjs/plugin/usageReporting/iterateOverTrace.js +81 -0
  155. package/dist/cjs/plugin/usageReporting/iterateOverTrace.js.map +1 -0
  156. package/dist/cjs/plugin/usageReporting/operationDerivedDataCache.d.ts +12 -0
  157. package/dist/cjs/plugin/usageReporting/operationDerivedDataCache.d.ts.map +1 -0
  158. package/dist/cjs/plugin/usageReporting/operationDerivedDataCache.js +33 -0
  159. package/dist/cjs/plugin/usageReporting/operationDerivedDataCache.js.map +1 -0
  160. package/dist/cjs/plugin/usageReporting/options.d.ts +60 -0
  161. package/dist/cjs/plugin/usageReporting/options.d.ts.map +1 -0
  162. package/dist/cjs/plugin/usageReporting/options.js +3 -0
  163. package/dist/cjs/plugin/usageReporting/options.js.map +1 -0
  164. package/dist/cjs/plugin/usageReporting/plugin.d.ts +7 -0
  165. package/dist/cjs/plugin/usageReporting/plugin.d.ts.map +1 -0
  166. package/dist/cjs/plugin/usageReporting/plugin.js +494 -0
  167. package/dist/cjs/plugin/usageReporting/plugin.js.map +1 -0
  168. package/dist/cjs/plugin/usageReporting/stats.d.ts +96 -0
  169. package/dist/cjs/plugin/usageReporting/stats.d.ts.map +1 -0
  170. package/dist/cjs/plugin/usageReporting/stats.js +289 -0
  171. package/dist/cjs/plugin/usageReporting/stats.js.map +1 -0
  172. package/dist/cjs/plugin/usageReporting/traceDetails.d.ts +4 -0
  173. package/dist/cjs/plugin/usageReporting/traceDetails.d.ts.map +1 -0
  174. package/dist/cjs/plugin/usageReporting/traceDetails.js +63 -0
  175. package/dist/cjs/plugin/usageReporting/traceDetails.js.map +1 -0
  176. package/dist/cjs/preventCsrf.d.ts +4 -0
  177. package/dist/cjs/preventCsrf.d.ts.map +1 -0
  178. package/dist/cjs/preventCsrf.js +41 -0
  179. package/dist/cjs/preventCsrf.js.map +1 -0
  180. package/dist/cjs/requestPipeline.d.ts +9 -0
  181. package/dist/cjs/requestPipeline.d.ts.map +1 -0
  182. package/dist/cjs/requestPipeline.js +371 -0
  183. package/dist/cjs/requestPipeline.js.map +1 -0
  184. package/dist/cjs/runHttpQuery.d.ts +15 -0
  185. package/dist/cjs/runHttpQuery.d.ts.map +1 -0
  186. package/dist/cjs/runHttpQuery.js +230 -0
  187. package/dist/cjs/runHttpQuery.js.map +1 -0
  188. package/dist/cjs/standalone/index.d.ts +25 -0
  189. package/dist/cjs/standalone/index.d.ts.map +1 -0
  190. package/dist/cjs/standalone/index.js +97 -0
  191. package/dist/cjs/standalone/index.js.map +1 -0
  192. package/dist/cjs/utils/HeaderMap.d.ts +8 -0
  193. package/dist/cjs/utils/HeaderMap.d.ts.map +1 -0
  194. package/dist/cjs/utils/HeaderMap.js +20 -0
  195. package/dist/cjs/utils/HeaderMap.js.map +1 -0
  196. package/dist/cjs/utils/UnreachableCaseError.d.ts +4 -0
  197. package/dist/cjs/utils/UnreachableCaseError.d.ts.map +1 -0
  198. package/dist/cjs/utils/UnreachableCaseError.js +10 -0
  199. package/dist/cjs/utils/UnreachableCaseError.js.map +1 -0
  200. package/dist/cjs/utils/computeCoreSchemaHash.d.ts +2 -0
  201. package/dist/cjs/utils/computeCoreSchemaHash.d.ts.map +1 -0
  202. package/dist/cjs/utils/computeCoreSchemaHash.js +8 -0
  203. package/dist/cjs/utils/computeCoreSchemaHash.js.map +1 -0
  204. package/dist/cjs/utils/invokeHooks.d.ts +7 -0
  205. package/dist/cjs/utils/invokeHooks.d.ts.map +1 -0
  206. package/dist/cjs/utils/invokeHooks.js +36 -0
  207. package/dist/cjs/utils/invokeHooks.js.map +1 -0
  208. package/dist/cjs/utils/isDefined.d.ts +2 -0
  209. package/dist/cjs/utils/isDefined.d.ts.map +1 -0
  210. package/dist/cjs/utils/isDefined.js +7 -0
  211. package/dist/cjs/utils/isDefined.js.map +1 -0
  212. package/dist/cjs/utils/makeGatewayGraphQLRequestContext.d.ts +5 -0
  213. package/dist/cjs/utils/makeGatewayGraphQLRequestContext.d.ts.map +1 -0
  214. package/dist/cjs/utils/makeGatewayGraphQLRequestContext.js +96 -0
  215. package/dist/cjs/utils/makeGatewayGraphQLRequestContext.js.map +1 -0
  216. package/dist/cjs/utils/resolvable.d.ts +7 -0
  217. package/dist/cjs/utils/resolvable.d.ts.map +1 -0
  218. package/dist/cjs/utils/resolvable.js +14 -0
  219. package/dist/cjs/utils/resolvable.js.map +1 -0
  220. package/dist/cjs/utils/schemaInstrumentation.d.ts +16 -0
  221. package/dist/cjs/utils/schemaInstrumentation.d.ts.map +1 -0
  222. package/dist/cjs/utils/schemaInstrumentation.js +75 -0
  223. package/dist/cjs/utils/schemaInstrumentation.js.map +1 -0
  224. package/dist/cjs/utils/schemaManager.d.ts +31 -0
  225. package/dist/cjs/utils/schemaManager.d.ts.map +1 -0
  226. package/dist/cjs/utils/schemaManager.js +103 -0
  227. package/dist/cjs/utils/schemaManager.js.map +1 -0
  228. package/dist/cjs/utils/urlForHttpServer.d.ts +3 -0
  229. package/dist/cjs/utils/urlForHttpServer.d.ts.map +1 -0
  230. package/dist/cjs/utils/urlForHttpServer.js +15 -0
  231. package/dist/cjs/utils/urlForHttpServer.js.map +1 -0
  232. package/dist/cjs/validationRules/NoIntrospection.d.ts +3 -0
  233. package/dist/cjs/validationRules/NoIntrospection.d.ts.map +1 -0
  234. package/dist/cjs/validationRules/NoIntrospection.js +19 -0
  235. package/dist/cjs/validationRules/NoIntrospection.js.map +1 -0
  236. package/dist/cjs/validationRules/RecursiveSelectionsLimit.d.ts +4 -0
  237. package/dist/cjs/validationRules/RecursiveSelectionsLimit.d.ts.map +1 -0
  238. package/dist/cjs/validationRules/RecursiveSelectionsLimit.js +150 -0
  239. package/dist/cjs/validationRules/RecursiveSelectionsLimit.js.map +1 -0
  240. package/dist/cjs/validationRules/index.d.ts +3 -0
  241. package/dist/cjs/validationRules/index.d.ts.map +1 -0
  242. package/dist/cjs/validationRules/index.js +9 -0
  243. package/dist/cjs/validationRules/index.js.map +1 -0
  244. package/dist/esm/ApolloServer.d.ts +126 -0
  245. package/dist/esm/ApolloServer.d.ts.map +1 -0
  246. package/dist/esm/ApolloServer.js +683 -0
  247. package/dist/esm/ApolloServer.js.map +1 -0
  248. package/dist/esm/cachePolicy.d.ts +3 -0
  249. package/dist/esm/cachePolicy.d.ts.map +1 -0
  250. package/dist/esm/cachePolicy.js +30 -0
  251. package/dist/esm/cachePolicy.js.map +1 -0
  252. package/dist/esm/determineApolloConfig.d.ts +4 -0
  253. package/dist/esm/determineApolloConfig.d.ts.map +1 -0
  254. package/dist/esm/determineApolloConfig.js +55 -0
  255. package/dist/esm/determineApolloConfig.js.map +1 -0
  256. package/dist/esm/errorNormalize.d.ts +12 -0
  257. package/dist/esm/errorNormalize.d.ts.map +1 -0
  258. package/dist/esm/errorNormalize.js +66 -0
  259. package/dist/esm/errorNormalize.js.map +1 -0
  260. package/dist/esm/errors/index.d.ts +16 -0
  261. package/dist/esm/errors/index.d.ts.map +1 -0
  262. package/dist/esm/errors/index.js +24 -0
  263. package/dist/esm/errors/index.js.map +1 -0
  264. package/dist/esm/externalTypes/constructor.d.ts +78 -0
  265. package/dist/esm/externalTypes/constructor.d.ts.map +1 -0
  266. package/dist/esm/externalTypes/constructor.js +2 -0
  267. package/dist/esm/externalTypes/constructor.js.map +1 -0
  268. package/dist/esm/externalTypes/context.d.ts +4 -0
  269. package/dist/esm/externalTypes/context.d.ts.map +1 -0
  270. package/dist/esm/externalTypes/context.js +2 -0
  271. package/dist/esm/externalTypes/context.js.map +1 -0
  272. package/dist/esm/externalTypes/graphql.d.ts +41 -0
  273. package/dist/esm/externalTypes/graphql.d.ts.map +1 -0
  274. package/dist/esm/externalTypes/graphql.js +2 -0
  275. package/dist/esm/externalTypes/graphql.js.map +1 -0
  276. package/dist/esm/externalTypes/http.d.ts +22 -0
  277. package/dist/esm/externalTypes/http.d.ts.map +1 -0
  278. package/dist/esm/externalTypes/http.js +2 -0
  279. package/dist/esm/externalTypes/http.js.map +1 -0
  280. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha2.d.ts +28 -0
  281. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha2.d.ts.map +1 -0
  282. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha2.js +2 -0
  283. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha2.js.map +1 -0
  284. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha9.d.ts +43 -0
  285. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha9.d.ts.map +1 -0
  286. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha9.js +2 -0
  287. package/dist/esm/externalTypes/incrementalDeliveryPolyfillAlpha9.js.map +1 -0
  288. package/dist/esm/externalTypes/index.d.ts +9 -0
  289. package/dist/esm/externalTypes/index.d.ts.map +1 -0
  290. package/dist/esm/externalTypes/index.js +2 -0
  291. package/dist/esm/externalTypes/index.js.map +1 -0
  292. package/dist/esm/externalTypes/plugins.d.ts +75 -0
  293. package/dist/esm/externalTypes/plugins.d.ts.map +1 -0
  294. package/dist/esm/externalTypes/plugins.js +2 -0
  295. package/dist/esm/externalTypes/plugins.js.map +1 -0
  296. package/dist/esm/externalTypes/requestPipeline.d.ts +50 -0
  297. package/dist/esm/externalTypes/requestPipeline.d.ts.map +1 -0
  298. package/dist/esm/externalTypes/requestPipeline.js +2 -0
  299. package/dist/esm/externalTypes/requestPipeline.js.map +1 -0
  300. package/dist/esm/generated/packageVersion.d.ts +2 -0
  301. package/dist/esm/generated/packageVersion.d.ts.map +1 -0
  302. package/dist/esm/generated/packageVersion.js +2 -0
  303. package/dist/esm/generated/packageVersion.js.map +1 -0
  304. package/dist/esm/httpBatching.d.ts +4 -0
  305. package/dist/esm/httpBatching.d.ts.map +1 -0
  306. package/dist/esm/httpBatching.js +55 -0
  307. package/dist/esm/httpBatching.js.map +1 -0
  308. package/dist/esm/incrementalDeliveryPolyfill.d.ts +82 -0
  309. package/dist/esm/incrementalDeliveryPolyfill.d.ts.map +1 -0
  310. package/dist/esm/incrementalDeliveryPolyfill.js +38 -0
  311. package/dist/esm/incrementalDeliveryPolyfill.js.map +1 -0
  312. package/dist/esm/index.d.ts +4 -0
  313. package/dist/esm/index.d.ts.map +1 -0
  314. package/dist/esm/index.js +4 -0
  315. package/dist/esm/index.js.map +1 -0
  316. package/dist/esm/internalErrorClasses.d.ts +28 -0
  317. package/dist/esm/internalErrorClasses.d.ts.map +1 -0
  318. package/dist/esm/internalErrorClasses.js +81 -0
  319. package/dist/esm/internalErrorClasses.js.map +1 -0
  320. package/dist/esm/internalPlugin.d.ts +9 -0
  321. package/dist/esm/internalPlugin.d.ts.map +1 -0
  322. package/dist/esm/internalPlugin.js +7 -0
  323. package/dist/esm/internalPlugin.js.map +1 -0
  324. package/dist/esm/package.json +1 -0
  325. package/dist/esm/plugin/cacheControl/index.d.ts +9 -0
  326. package/dist/esm/plugin/cacheControl/index.d.ts.map +1 -0
  327. package/dist/esm/plugin/cacheControl/index.js +220 -0
  328. package/dist/esm/plugin/cacheControl/index.js.map +1 -0
  329. package/dist/esm/plugin/disableSuggestions/index.d.ts +3 -0
  330. package/dist/esm/plugin/disableSuggestions/index.d.ts.map +1 -0
  331. package/dist/esm/plugin/disableSuggestions/index.js +19 -0
  332. package/dist/esm/plugin/disableSuggestions/index.js.map +1 -0
  333. package/dist/esm/plugin/disabled/index.d.ts +7 -0
  334. package/dist/esm/plugin/disabled/index.d.ts.map +1 -0
  335. package/dist/esm/plugin/disabled/index.js +23 -0
  336. package/dist/esm/plugin/disabled/index.js.map +1 -0
  337. package/dist/esm/plugin/drainHttpServer/index.d.ts +8 -0
  338. package/dist/esm/plugin/drainHttpServer/index.d.ts.map +1 -0
  339. package/dist/esm/plugin/drainHttpServer/index.js +16 -0
  340. package/dist/esm/plugin/drainHttpServer/index.js.map +1 -0
  341. package/dist/esm/plugin/drainHttpServer/stoppable.d.ts +10 -0
  342. package/dist/esm/plugin/drainHttpServer/stoppable.d.ts.map +1 -0
  343. package/dist/esm/plugin/drainHttpServer/stoppable.js +47 -0
  344. package/dist/esm/plugin/drainHttpServer/stoppable.js.map +1 -0
  345. package/dist/esm/plugin/inlineTrace/index.d.ts +8 -0
  346. package/dist/esm/plugin/inlineTrace/index.d.ts.map +1 -0
  347. package/dist/esm/plugin/inlineTrace/index.js +67 -0
  348. package/dist/esm/plugin/inlineTrace/index.js.map +1 -0
  349. package/dist/esm/plugin/landingPage/default/getEmbeddedHTML.d.ts +4 -0
  350. package/dist/esm/plugin/landingPage/default/getEmbeddedHTML.d.ts.map +1 -0
  351. package/dist/esm/plugin/landingPage/default/getEmbeddedHTML.js +138 -0
  352. package/dist/esm/plugin/landingPage/default/getEmbeddedHTML.js.map +1 -0
  353. package/dist/esm/plugin/landingPage/default/index.d.ts +9 -0
  354. package/dist/esm/plugin/landingPage/default/index.d.ts.map +1 -0
  355. package/dist/esm/plugin/landingPage/default/index.js +141 -0
  356. package/dist/esm/plugin/landingPage/default/index.js.map +1 -0
  357. package/dist/esm/plugin/landingPage/default/types.d.ts +56 -0
  358. package/dist/esm/plugin/landingPage/default/types.d.ts.map +1 -0
  359. package/dist/esm/plugin/landingPage/default/types.js +2 -0
  360. package/dist/esm/plugin/landingPage/default/types.js.map +1 -0
  361. package/dist/esm/plugin/schemaIsSubgraph.d.ts +3 -0
  362. package/dist/esm/plugin/schemaIsSubgraph.d.ts.map +1 -0
  363. package/dist/esm/plugin/schemaIsSubgraph.js +20 -0
  364. package/dist/esm/plugin/schemaIsSubgraph.js.map +1 -0
  365. package/dist/esm/plugin/schemaReporting/index.d.ts +10 -0
  366. package/dist/esm/plugin/schemaReporting/index.d.ts.map +1 -0
  367. package/dist/esm/plugin/schemaReporting/index.js +98 -0
  368. package/dist/esm/plugin/schemaReporting/index.js.map +1 -0
  369. package/dist/esm/plugin/schemaReporting/schemaReporter.d.ts +33 -0
  370. package/dist/esm/plugin/schemaReporting/schemaReporter.d.ts.map +1 -0
  371. package/dist/esm/plugin/schemaReporting/schemaReporter.js +143 -0
  372. package/dist/esm/plugin/schemaReporting/schemaReporter.js.map +1 -0
  373. package/dist/esm/plugin/subscriptionCallback/index.d.ts +12 -0
  374. package/dist/esm/plugin/subscriptionCallback/index.d.ts.map +1 -0
  375. package/dist/esm/plugin/subscriptionCallback/index.js +428 -0
  376. package/dist/esm/plugin/subscriptionCallback/index.js.map +1 -0
  377. package/dist/esm/plugin/traceTreeBuilder.d.ts +25 -0
  378. package/dist/esm/plugin/traceTreeBuilder.d.ts.map +1 -0
  379. package/dist/esm/plugin/traceTreeBuilder.js +196 -0
  380. package/dist/esm/plugin/traceTreeBuilder.js.map +1 -0
  381. package/dist/esm/plugin/usageReporting/defaultSendOperationsAsTrace.d.ts +3 -0
  382. package/dist/esm/plugin/usageReporting/defaultSendOperationsAsTrace.d.ts.map +1 -0
  383. package/dist/esm/plugin/usageReporting/defaultSendOperationsAsTrace.js +41 -0
  384. package/dist/esm/plugin/usageReporting/defaultSendOperationsAsTrace.js.map +1 -0
  385. package/dist/esm/plugin/usageReporting/durationHistogram.d.ts +16 -0
  386. package/dist/esm/plugin/usageReporting/durationHistogram.d.ts.map +1 -0
  387. package/dist/esm/plugin/usageReporting/durationHistogram.js +64 -0
  388. package/dist/esm/plugin/usageReporting/durationHistogram.js.map +1 -0
  389. package/dist/esm/plugin/usageReporting/index.d.ts +3 -0
  390. package/dist/esm/plugin/usageReporting/index.d.ts.map +1 -0
  391. package/dist/esm/plugin/usageReporting/index.js +2 -0
  392. package/dist/esm/plugin/usageReporting/index.js.map +1 -0
  393. package/dist/esm/plugin/usageReporting/iterateOverTrace.d.ts +7 -0
  394. package/dist/esm/plugin/usageReporting/iterateOverTrace.d.ts.map +1 -0
  395. package/dist/esm/plugin/usageReporting/iterateOverTrace.js +78 -0
  396. package/dist/esm/plugin/usageReporting/iterateOverTrace.js.map +1 -0
  397. package/dist/esm/plugin/usageReporting/operationDerivedDataCache.d.ts +12 -0
  398. package/dist/esm/plugin/usageReporting/operationDerivedDataCache.d.ts.map +1 -0
  399. package/dist/esm/plugin/usageReporting/operationDerivedDataCache.js +29 -0
  400. package/dist/esm/plugin/usageReporting/operationDerivedDataCache.js.map +1 -0
  401. package/dist/esm/plugin/usageReporting/options.d.ts +60 -0
  402. package/dist/esm/plugin/usageReporting/options.d.ts.map +1 -0
  403. package/dist/esm/plugin/usageReporting/options.js +2 -0
  404. package/dist/esm/plugin/usageReporting/options.js.map +1 -0
  405. package/dist/esm/plugin/usageReporting/plugin.d.ts +7 -0
  406. package/dist/esm/plugin/usageReporting/plugin.d.ts.map +1 -0
  407. package/dist/esm/plugin/usageReporting/plugin.js +487 -0
  408. package/dist/esm/plugin/usageReporting/plugin.js.map +1 -0
  409. package/dist/esm/plugin/usageReporting/stats.d.ts +96 -0
  410. package/dist/esm/plugin/usageReporting/stats.d.ts.map +1 -0
  411. package/dist/esm/plugin/usageReporting/stats.js +283 -0
  412. package/dist/esm/plugin/usageReporting/stats.js.map +1 -0
  413. package/dist/esm/plugin/usageReporting/traceDetails.d.ts +4 -0
  414. package/dist/esm/plugin/usageReporting/traceDetails.d.ts.map +1 -0
  415. package/dist/esm/plugin/usageReporting/traceDetails.js +60 -0
  416. package/dist/esm/plugin/usageReporting/traceDetails.js.map +1 -0
  417. package/dist/esm/preventCsrf.d.ts +4 -0
  418. package/dist/esm/preventCsrf.d.ts.map +1 -0
  419. package/dist/esm/preventCsrf.js +34 -0
  420. package/dist/esm/preventCsrf.js.map +1 -0
  421. package/dist/esm/requestPipeline.d.ts +9 -0
  422. package/dist/esm/requestPipeline.d.ts.map +1 -0
  423. package/dist/esm/requestPipeline.js +364 -0
  424. package/dist/esm/requestPipeline.js.map +1 -0
  425. package/dist/esm/runHttpQuery.d.ts +15 -0
  426. package/dist/esm/runHttpQuery.d.ts.map +1 -0
  427. package/dist/esm/runHttpQuery.js +221 -0
  428. package/dist/esm/runHttpQuery.js.map +1 -0
  429. package/dist/esm/standalone/index.d.ts +25 -0
  430. package/dist/esm/standalone/index.d.ts.map +1 -0
  431. package/dist/esm/standalone/index.js +91 -0
  432. package/dist/esm/standalone/index.js.map +1 -0
  433. package/dist/esm/utils/HeaderMap.d.ts +8 -0
  434. package/dist/esm/utils/HeaderMap.d.ts.map +1 -0
  435. package/dist/esm/utils/HeaderMap.js +16 -0
  436. package/dist/esm/utils/HeaderMap.js.map +1 -0
  437. package/dist/esm/utils/UnreachableCaseError.d.ts +4 -0
  438. package/dist/esm/utils/UnreachableCaseError.d.ts.map +1 -0
  439. package/dist/esm/utils/UnreachableCaseError.js +6 -0
  440. package/dist/esm/utils/UnreachableCaseError.js.map +1 -0
  441. package/dist/esm/utils/computeCoreSchemaHash.d.ts +2 -0
  442. package/dist/esm/utils/computeCoreSchemaHash.d.ts.map +1 -0
  443. package/dist/esm/utils/computeCoreSchemaHash.js +5 -0
  444. package/dist/esm/utils/computeCoreSchemaHash.js.map +1 -0
  445. package/dist/esm/utils/invokeHooks.d.ts +7 -0
  446. package/dist/esm/utils/invokeHooks.d.ts.map +1 -0
  447. package/dist/esm/utils/invokeHooks.js +31 -0
  448. package/dist/esm/utils/invokeHooks.js.map +1 -0
  449. package/dist/esm/utils/isDefined.d.ts +2 -0
  450. package/dist/esm/utils/isDefined.d.ts.map +1 -0
  451. package/dist/esm/utils/isDefined.js +4 -0
  452. package/dist/esm/utils/isDefined.js.map +1 -0
  453. package/dist/esm/utils/makeGatewayGraphQLRequestContext.d.ts +5 -0
  454. package/dist/esm/utils/makeGatewayGraphQLRequestContext.d.ts.map +1 -0
  455. package/dist/esm/utils/makeGatewayGraphQLRequestContext.js +93 -0
  456. package/dist/esm/utils/makeGatewayGraphQLRequestContext.js.map +1 -0
  457. package/dist/esm/utils/resolvable.d.ts +7 -0
  458. package/dist/esm/utils/resolvable.d.ts.map +1 -0
  459. package/dist/esm/utils/resolvable.js +12 -0
  460. package/dist/esm/utils/resolvable.js.map +1 -0
  461. package/dist/esm/utils/schemaInstrumentation.d.ts +16 -0
  462. package/dist/esm/utils/schemaInstrumentation.d.ts.map +1 -0
  463. package/dist/esm/utils/schemaInstrumentation.js +69 -0
  464. package/dist/esm/utils/schemaInstrumentation.js.map +1 -0
  465. package/dist/esm/utils/schemaManager.d.ts +31 -0
  466. package/dist/esm/utils/schemaManager.d.ts.map +1 -0
  467. package/dist/esm/utils/schemaManager.js +99 -0
  468. package/dist/esm/utils/schemaManager.js.map +1 -0
  469. package/dist/esm/utils/urlForHttpServer.d.ts +3 -0
  470. package/dist/esm/utils/urlForHttpServer.d.ts.map +1 -0
  471. package/dist/esm/utils/urlForHttpServer.js +12 -0
  472. package/dist/esm/utils/urlForHttpServer.js.map +1 -0
  473. package/dist/esm/validationRules/NoIntrospection.d.ts +3 -0
  474. package/dist/esm/validationRules/NoIntrospection.d.ts.map +1 -0
  475. package/dist/esm/validationRules/NoIntrospection.js +15 -0
  476. package/dist/esm/validationRules/NoIntrospection.js.map +1 -0
  477. package/dist/esm/validationRules/RecursiveSelectionsLimit.d.ts +4 -0
  478. package/dist/esm/validationRules/RecursiveSelectionsLimit.d.ts.map +1 -0
  479. package/dist/esm/validationRules/RecursiveSelectionsLimit.js +146 -0
  480. package/dist/esm/validationRules/RecursiveSelectionsLimit.js.map +1 -0
  481. package/dist/esm/validationRules/index.d.ts +3 -0
  482. package/dist/esm/validationRules/index.d.ts.map +1 -0
  483. package/dist/esm/validationRules/index.js +3 -0
  484. package/dist/esm/validationRules/index.js.map +1 -0
  485. package/errors/package.json +8 -0
  486. package/package.json +208 -0
  487. package/plugin/cacheControl/package.json +8 -0
  488. package/plugin/disableSuggestions/package.json +8 -0
  489. package/plugin/disabled/package.json +8 -0
  490. package/plugin/drainHttpServer/package.json +8 -0
  491. package/plugin/inlineTrace/package.json +8 -0
  492. package/plugin/landingPage/default/package.json +8 -0
  493. package/plugin/schemaReporting/package.json +8 -0
  494. package/plugin/subscriptionCallback/package.json +8 -0
  495. package/plugin/usageReporting/package.json +8 -0
  496. package/src/ApolloServer.ts +1456 -0
  497. package/src/cachePolicy.ts +33 -0
  498. package/src/determineApolloConfig.ts +95 -0
  499. package/src/errorNormalize.ts +114 -0
  500. package/src/errors/index.ts +33 -0
  501. package/src/externalTypes/constructor.ts +174 -0
  502. package/src/externalTypes/context.ts +18 -0
  503. package/src/externalTypes/graphql.ts +81 -0
  504. package/src/externalTypes/http.ts +44 -0
  505. package/src/externalTypes/incrementalDeliveryPolyfillAlpha2.ts +63 -0
  506. package/src/externalTypes/incrementalDeliveryPolyfillAlpha9.ts +82 -0
  507. package/src/externalTypes/index.ts +73 -0
  508. package/src/externalTypes/plugins.ts +222 -0
  509. package/src/externalTypes/requestPipeline.ts +123 -0
  510. package/src/generated/packageVersion.ts +1 -0
  511. package/src/httpBatching.ts +105 -0
  512. package/src/incrementalDeliveryPolyfill.ts +253 -0
  513. package/src/index.ts +4 -0
  514. package/src/internalErrorClasses.ts +123 -0
  515. package/src/internalPlugin.ts +42 -0
  516. package/src/plugin/cacheControl/index.ts +453 -0
  517. package/src/plugin/disableSuggestions/index.ts +23 -0
  518. package/src/plugin/disabled/index.ts +41 -0
  519. package/src/plugin/drainHttpServer/index.ts +42 -0
  520. package/src/plugin/drainHttpServer/stoppable.ts +109 -0
  521. package/src/plugin/inlineTrace/index.ts +156 -0
  522. package/src/plugin/landingPage/default/getEmbeddedHTML.ts +204 -0
  523. package/src/plugin/landingPage/default/index.ts +219 -0
  524. package/src/plugin/landingPage/default/types.ts +198 -0
  525. package/src/plugin/schemaIsSubgraph.ts +41 -0
  526. package/src/plugin/schemaReporting/generated/operations.d.ts +18359 -0
  527. package/src/plugin/schemaReporting/index.ts +198 -0
  528. package/src/plugin/schemaReporting/schemaReporter.ts +207 -0
  529. package/src/plugin/subscriptionCallback/index.ts +724 -0
  530. package/src/plugin/traceTreeBuilder.ts +356 -0
  531. package/src/plugin/usageReporting/defaultSendOperationsAsTrace.ts +74 -0
  532. package/src/plugin/usageReporting/durationHistogram.ts +87 -0
  533. package/src/plugin/usageReporting/index.ts +9 -0
  534. package/src/plugin/usageReporting/iterateOverTrace.ts +140 -0
  535. package/src/plugin/usageReporting/operationDerivedDataCache.ts +61 -0
  536. package/src/plugin/usageReporting/options.ts +414 -0
  537. package/src/plugin/usageReporting/plugin.ts +871 -0
  538. package/src/plugin/usageReporting/stats.ts +492 -0
  539. package/src/plugin/usageReporting/traceDetails.ts +96 -0
  540. package/src/preventCsrf.ts +99 -0
  541. package/src/requestPipeline.ts +821 -0
  542. package/src/runHttpQuery.ts +408 -0
  543. package/src/standalone/index.ts +155 -0
  544. package/src/utils/HeaderMap.ts +22 -0
  545. package/src/utils/UnreachableCaseError.ts +10 -0
  546. package/src/utils/computeCoreSchemaHash.ts +9 -0
  547. package/src/utils/invokeHooks.ts +53 -0
  548. package/src/utils/isDefined.ts +3 -0
  549. package/src/utils/makeGatewayGraphQLRequestContext.ts +197 -0
  550. package/src/utils/resolvable.ts +30 -0
  551. package/src/utils/schemaInstrumentation.ts +132 -0
  552. package/src/utils/schemaManager.ts +212 -0
  553. package/src/utils/urlForHttpServer.ts +21 -0
  554. package/src/validationRules/NoIntrospection.ts +27 -0
  555. package/src/validationRules/RecursiveSelectionsLimit.ts +198 -0
  556. package/src/validationRules/index.ts +5 -0
  557. package/standalone/package.json +8 -0
@@ -0,0 +1,82 @@
1
+ import type { FormattedExecutionResult, GraphQLFormattedError } from 'graphql';
2
+
3
+ // This file defines types used in our public interface that will be imported
4
+ // from `graphql-js` once graphql 17 is released. It is possible that these
5
+ // types will change slightly before the final v17 is released, in which case
6
+ // the relevant parts of our API may change incompatibly in a minor version of
7
+ // AS5; this should not affect any users who aren't explicitly installing
8
+ // pre-releases of graphql 17.
9
+
10
+ interface ObjMap<T> {
11
+ [key: string]: T;
12
+ }
13
+
14
+ export interface GraphQLExperimentalFormattedInitialIncrementalExecutionResultAlpha9<
15
+ TData = ObjMap<unknown>,
16
+ TExtensions = ObjMap<unknown>,
17
+ > extends FormattedExecutionResult<TData, TExtensions> {
18
+ data: TData;
19
+ pending: ReadonlyArray<GraphQLExperimentalPendingResultAlpha9>;
20
+ hasNext: boolean;
21
+ extensions?: TExtensions;
22
+ }
23
+
24
+ export interface GraphQLExperimentalFormattedSubsequentIncrementalExecutionResultAlpha9<
25
+ TData = ObjMap<unknown>,
26
+ TExtensions = ObjMap<unknown>,
27
+ > {
28
+ hasNext: boolean;
29
+ pending?: ReadonlyArray<GraphQLExperimentalPendingResultAlpha9>;
30
+ incremental?: ReadonlyArray<
31
+ GraphQLExperimentalFormattedIncrementalResultAlpha9<TData, TExtensions>
32
+ >;
33
+ completed?: ReadonlyArray<GraphQLExperimentalFormattedCompletedResultAlpha9>;
34
+ extensions?: TExtensions;
35
+ }
36
+
37
+ export type GraphQLExperimentalFormattedIncrementalResultAlpha9<
38
+ TData = ObjMap<unknown>,
39
+ TExtensions = ObjMap<unknown>,
40
+ > =
41
+ | GraphQLExperimentalFormattedIncrementalDeferResultAlpha9<TData, TExtensions>
42
+ | GraphQLExperimentalFormattedIncrementalStreamResultAlpha9<
43
+ TData,
44
+ TExtensions
45
+ >;
46
+
47
+ export interface GraphQLExperimentalFormattedIncrementalDeferResultAlpha9<
48
+ TData = ObjMap<unknown>,
49
+ TExtensions = ObjMap<unknown>,
50
+ > {
51
+ errors?: ReadonlyArray<GraphQLFormattedError>;
52
+ data: TData;
53
+ id: string;
54
+ subPath?: ReadonlyArray<string | number>;
55
+ extensions?: TExtensions;
56
+ }
57
+
58
+ export interface GraphQLExperimentalFormattedIncrementalStreamResultAlpha9<
59
+ TData = Array<unknown>,
60
+ TExtensions = ObjMap<unknown>,
61
+ > {
62
+ errors?: ReadonlyArray<GraphQLFormattedError>;
63
+ items: TData;
64
+ id: string;
65
+ subPath?: ReadonlyArray<string | number>;
66
+ extensions?: TExtensions;
67
+ }
68
+
69
+ export interface GraphQLExperimentalPendingResultAlpha9 {
70
+ id: string;
71
+ path: ReadonlyArray<string | number>;
72
+ label?: string;
73
+ }
74
+
75
+ // Deviation. The type implemented in alpha.9 is wrong. The type below is the
76
+ // correct type implementation. We may or may not need to provide a patch.
77
+ //
78
+ // This has been fixed by https://github.com/graphql/graphql-js/pull/4481
79
+ export interface GraphQLExperimentalFormattedCompletedResultAlpha9 {
80
+ id: string;
81
+ errors?: ReadonlyArray<GraphQLFormattedError>;
82
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * This file represents the external type definitions needed by end users,
3
+ * integration implementors, and plugin implementors. Everything from this file
4
+ * is re-exported by the root (via * export), so add exports to this file with
5
+ * intention (it's public API).
6
+ */
7
+ export type { BaseContext, ContextFunction, ContextThunk } from './context.js';
8
+ export type {
9
+ GraphQLRequest,
10
+ GraphQLResponse,
11
+ LegacyExperimentalExecuteIncrementally,
12
+ } from './graphql.js';
13
+ export type {
14
+ HTTPGraphQLRequest,
15
+ HTTPGraphQLResponse,
16
+ HTTPGraphQLHead,
17
+ } from './http.js';
18
+ export type {
19
+ ApolloServerPlugin,
20
+ GraphQLFieldResolverParams,
21
+ GraphQLRequestExecutionListener,
22
+ GraphQLRequestListener,
23
+ GraphQLRequestListenerDidResolveField,
24
+ GraphQLRequestListenerExecutionDidEnd,
25
+ GraphQLRequestListenerParsingDidEnd,
26
+ GraphQLRequestListenerValidationDidEnd,
27
+ GraphQLSchemaContext,
28
+ GraphQLServerListener,
29
+ GraphQLServerContext,
30
+ LandingPage,
31
+ } from './plugins.js';
32
+ export type {
33
+ GraphQLRequestContext,
34
+ GraphQLRequestMetrics,
35
+ GraphQLRequestContextDidEncounterErrors,
36
+ GraphQLRequestContextDidResolveOperation,
37
+ GraphQLRequestContextDidResolveSource,
38
+ GraphQLRequestContextExecutionDidStart,
39
+ GraphQLRequestContextParsingDidStart,
40
+ GraphQLRequestContextResponseForOperation,
41
+ GraphQLRequestContextValidationDidStart,
42
+ GraphQLRequestContextWillSendResponse,
43
+ } from './requestPipeline.js';
44
+ export type {
45
+ DocumentStore,
46
+ ApolloConfigInput,
47
+ ApolloConfig,
48
+ PersistedQueryOptions,
49
+ CSRFPreventionOptions,
50
+ ApolloServerOptionsWithSchema,
51
+ ApolloServerOptionsWithTypeDefs,
52
+ ApolloServerOptionsWithStaticSchema,
53
+ ApolloServerOptionsWithGateway,
54
+ ApolloServerOptions,
55
+ } from './constructor.js';
56
+
57
+ export type {
58
+ GraphQLExperimentalFormattedInitialIncrementalExecutionResultAlpha2,
59
+ GraphQLExperimentalFormattedSubsequentIncrementalExecutionResultAlpha2,
60
+ GraphQLExperimentalFormattedIncrementalResultAlpha2,
61
+ GraphQLExperimentalFormattedIncrementalDeferResultAlpha2,
62
+ GraphQLExperimentalFormattedIncrementalStreamResultAlpha2,
63
+ } from './incrementalDeliveryPolyfillAlpha2.js';
64
+
65
+ export type {
66
+ GraphQLExperimentalFormattedInitialIncrementalExecutionResultAlpha9,
67
+ GraphQLExperimentalFormattedSubsequentIncrementalExecutionResultAlpha9,
68
+ GraphQLExperimentalFormattedIncrementalStreamResultAlpha9,
69
+ GraphQLExperimentalFormattedIncrementalDeferResultAlpha9,
70
+ GraphQLExperimentalFormattedCompletedResultAlpha9,
71
+ GraphQLExperimentalFormattedIncrementalResultAlpha9,
72
+ GraphQLExperimentalPendingResultAlpha9,
73
+ } from './incrementalDeliveryPolyfillAlpha9.js';
@@ -0,0 +1,222 @@
1
+ /**
2
+ * The types defined in this file are useful to plugin authors. In particular,
3
+ * defining a plugin as an `ApolloServerPlugin` will provide typings for all of
4
+ * the hooks that are available to a plugin.
5
+ */
6
+ import type { KeyValueCache } from '@apollo/utils.keyvaluecache';
7
+ import type { Logger } from '@apollo/utils.logger';
8
+ import type { GraphQLError, GraphQLResolveInfo, GraphQLSchema } from 'graphql';
9
+ import type { ApolloConfig } from './constructor.js';
10
+ import type { BaseContext } from './context.js';
11
+ import type { GraphQLResponse } from './graphql.js';
12
+ import type { GraphQLExperimentalFormattedSubsequentIncrementalExecutionResultAlpha2 } from './incrementalDeliveryPolyfillAlpha2.js';
13
+ import type {
14
+ GraphQLRequestContext,
15
+ GraphQLRequestContextDidEncounterErrors,
16
+ GraphQLRequestContextDidEncounterSubsequentErrors,
17
+ GraphQLRequestContextDidResolveOperation,
18
+ GraphQLRequestContextDidResolveSource,
19
+ GraphQLRequestContextExecutionDidStart,
20
+ GraphQLRequestContextParsingDidStart,
21
+ GraphQLRequestContextResponseForOperation,
22
+ GraphQLRequestContextValidationDidStart,
23
+ GraphQLRequestContextWillSendResponse,
24
+ GraphQLRequestContextWillSendSubsequentPayload,
25
+ } from './requestPipeline.js';
26
+ import type { GraphQLExperimentalFormattedSubsequentIncrementalExecutionResultAlpha9 } from './incrementalDeliveryPolyfillAlpha9.js';
27
+
28
+ export interface GraphQLServerContext {
29
+ readonly logger: Logger;
30
+ readonly cache: KeyValueCache<string>;
31
+
32
+ schema: GraphQLSchema;
33
+ apollo: ApolloConfig;
34
+ startedInBackground: boolean;
35
+ }
36
+
37
+ export interface GraphQLSchemaContext {
38
+ apiSchema: GraphQLSchema;
39
+ coreSupergraphSdl?: string;
40
+ }
41
+
42
+ export interface ApolloServerPlugin<
43
+ in TContext extends BaseContext = BaseContext,
44
+ > {
45
+ // Called once on server startup, after the schema has been loaded.
46
+ serverWillStart?(
47
+ service: GraphQLServerContext,
48
+ ): Promise<GraphQLServerListener | void>;
49
+
50
+ // Called once per request, before parsing or validation of the request has
51
+ // occurred. This hook can return an object of more fine-grained hooks (see
52
+ // `GraphQLRequestListener`) which pertain to the lifecycle of the request.
53
+ requestDidStart?(
54
+ requestContext: GraphQLRequestContext<TContext>,
55
+ ): Promise<GraphQLRequestListener<TContext> | void>;
56
+
57
+ /**
58
+ * "Unexpected" errors do not include more common errors like validation,
59
+ * parsing, or graphql execution errors. Rather, an unexpected error might
60
+ * occur when a plugin hook throws unexpectedly or a bug in Apollo Server is
61
+ * encountered. Notably, when errors like this occur, the error is masked to
62
+ * the client.
63
+ */
64
+ unexpectedErrorProcessingRequest?({
65
+ requestContext,
66
+ error,
67
+ }: {
68
+ requestContext: GraphQLRequestContext<TContext>;
69
+ error: Error;
70
+ }): Promise<void>;
71
+ // Called specifically when the user-provided `context` function throws an
72
+ // error.
73
+ contextCreationDidFail?({ error }: { error: Error }): Promise<void>;
74
+ /**
75
+ * This hook is called any time a "Bad Request" error is thrown during request
76
+ * execution. This includes CSRF prevention and malformed requests (e.g.
77
+ * incorrect headers, invalid JSON body, or invalid search params for GET),
78
+ * but does not include malformed GraphQL.
79
+ */
80
+ invalidRequestWasReceived?({ error }: { error: Error }): Promise<void>;
81
+ // Called on startup fail. This can occur if the schema fails to load or if a
82
+ // `serverWillStart` or `renderLandingPage` hook throws.
83
+ startupDidFail?({ error }: { error: Error }): Promise<void>;
84
+ }
85
+
86
+ export interface GraphQLServerListener {
87
+ // Called on server startup after a successful schema load and on successful
88
+ // schema updates when running in `gateway` mode.
89
+ schemaDidLoadOrUpdate?(schemaContext: GraphQLSchemaContext): void;
90
+
91
+ // When your server is stopped (by calling `stop()` or via the
92
+ // `SIGINT`/`SIGTERM` handlers), Apollo Server first awaits all `drainServer`
93
+ // hooks in parallel. GraphQL operations can still execute while `drainServer`
94
+ // is in progress. A typical use is to stop listening for new connections and
95
+ // wait until all current connections are idle. The built-in
96
+ // ApolloServerPluginDrainHttpServer implements this method.
97
+ drainServer?(): Promise<void>;
98
+
99
+ // When your server is stopped (by calling `stop()` or via the
100
+ // `SIGINT`/`SIGTERM` handlers) then (after the `drainServer` phase finishes)
101
+ // Apollo Server transitions into a state where no new operations will run and
102
+ // then awaits all `drainServer` hooks in parallel. A typical use is to flush
103
+ // outstanding observability data.
104
+ serverWillStop?(): Promise<void>;
105
+
106
+ // At most one plugin's serverWillStart may return a GraphQLServerListener
107
+ // with this method. If one does, it is called once on server startup and the
108
+ // page it returns is served to clients with `accept: text/html` headers. This
109
+ // is an intentionally simple API; if you want to do something fancy to serve
110
+ // a landing page, you probably should just define a handler in your web
111
+ // framework.
112
+ renderLandingPage?(): Promise<LandingPage>;
113
+ }
114
+
115
+ // The page served to clients with `accept: text/html` headers.
116
+ export interface LandingPage {
117
+ html: string | (() => Promise<string>);
118
+ }
119
+
120
+ export type GraphQLRequestListenerParsingDidEnd = (
121
+ err?: Error,
122
+ ) => Promise<void>;
123
+ export type GraphQLRequestListenerValidationDidEnd = (
124
+ err?: ReadonlyArray<Error>,
125
+ ) => Promise<void>;
126
+ export type GraphQLRequestListenerExecutionDidEnd = (
127
+ err?: Error,
128
+ ) => Promise<void>;
129
+ export type GraphQLRequestListenerDidResolveField = (
130
+ error: Error | null,
131
+ result?: any,
132
+ ) => void;
133
+
134
+ export interface GraphQLRequestListener<TContext extends BaseContext> {
135
+ didResolveSource?(
136
+ requestContext: GraphQLRequestContextDidResolveSource<TContext>,
137
+ ): Promise<void>;
138
+
139
+ parsingDidStart?(
140
+ requestContext: GraphQLRequestContextParsingDidStart<TContext>,
141
+ ): Promise<GraphQLRequestListenerParsingDidEnd | void>;
142
+
143
+ validationDidStart?(
144
+ requestContext: GraphQLRequestContextValidationDidStart<TContext>,
145
+ ): Promise<GraphQLRequestListenerValidationDidEnd | void>;
146
+
147
+ didResolveOperation?(
148
+ requestContext: GraphQLRequestContextDidResolveOperation<TContext>,
149
+ ): Promise<void>;
150
+
151
+ didEncounterErrors?(
152
+ requestContext: GraphQLRequestContextDidEncounterErrors<TContext>,
153
+ ): Promise<void>;
154
+
155
+ // If this hook is defined, it is invoked immediately before GraphQL execution
156
+ // would take place. If its return value resolves to a non-null
157
+ // GraphQLResponse, that result is used instead of executing the query.
158
+ // Hooks from different plugins are invoked in series and the first non-null
159
+ // response is used.
160
+ responseForOperation?(
161
+ requestContext: GraphQLRequestContextResponseForOperation<TContext>,
162
+ ): Promise<GraphQLResponse | null>;
163
+
164
+ // Note that in the case of incremental delivery, the end hook gets called
165
+ // when the initial response is ready to go: further execution can still occur.
166
+ executionDidStart?(
167
+ requestContext: GraphQLRequestContextExecutionDidStart<TContext>,
168
+ ): Promise<GraphQLRequestExecutionListener<TContext> | void>;
169
+
170
+ // Note that in the case of incremental delivery, this is called when the
171
+ // initial response is ready to go.
172
+ willSendResponse?(
173
+ requestContext: GraphQLRequestContextWillSendResponse<TContext>,
174
+ ): Promise<void>;
175
+
176
+ didEncounterSubsequentErrors?(
177
+ requestContext: GraphQLRequestContextDidEncounterSubsequentErrors<TContext>,
178
+ errors: ReadonlyArray<GraphQLError>,
179
+ ): Promise<void>;
180
+
181
+ // You can use hasNext to tell if this is the end or not.
182
+ willSendSubsequentPayload?(
183
+ requestContext: GraphQLRequestContextWillSendSubsequentPayload<TContext>,
184
+ payload:
185
+ | GraphQLExperimentalFormattedSubsequentIncrementalExecutionResultAlpha2
186
+ | GraphQLExperimentalFormattedSubsequentIncrementalExecutionResultAlpha9,
187
+ ): Promise<void>;
188
+ }
189
+
190
+ /**
191
+ * This is an object form of the parameters received by typical
192
+ * `graphql-js` resolvers. The function type is `GraphQLFieldResolver`
193
+ * and normally uses positional parameters. In order to facilitate better
194
+ * ergonomics in the Apollo Server plugin API, these have been converted to
195
+ * named properties on the object using their names from the upstream
196
+ * `GraphQLFieldResolver` type signature. Ergonomic wins, in this case,
197
+ * include not needing to have three unused variables in scope just because
198
+ * there was a need to access the `info` property in a wrapped plugin.
199
+ */
200
+ export type GraphQLFieldResolverParams<
201
+ TSource,
202
+ TContext,
203
+ TArgs = { [argName: string]: any },
204
+ > = {
205
+ source: TSource;
206
+ args: TArgs;
207
+ contextValue: TContext;
208
+ info: GraphQLResolveInfo;
209
+ };
210
+
211
+ export interface GraphQLRequestExecutionListener<TContext extends BaseContext> {
212
+ executionDidEnd?: GraphQLRequestListenerExecutionDidEnd;
213
+ // willResolveField is not async because we've observed that it already has
214
+ // quite a performance impact on execution even without involving the Promise
215
+ // queue. If we can come up with ways to alleviate the burden (eg having an
216
+ // uninstrumented schema and an instrumented schema and only using the
217
+ // instrumented schema for a subset of operations that need detailed
218
+ // performance traces) we could be happier supporting async willResolveField.
219
+ willResolveField?(
220
+ fieldResolverParams: GraphQLFieldResolverParams<any, TContext>,
221
+ ): GraphQLRequestListenerDidResolveField | void;
222
+ }
@@ -0,0 +1,123 @@
1
+ // This file defines the GraphQLRequestContext type which is an argument to most
2
+ // plugin hooks, as well as a variety of variants on it which assert that
3
+ // particular sub-fields are set by a particular point in the request pipeline.
4
+
5
+ import type { WithRequired } from '@apollo/utils.withrequired';
6
+ import type { Trace } from '@apollo/usage-reporting-protobuf';
7
+ import type { BaseContext } from './context.js';
8
+ import type {
9
+ GraphQLInProgressResponse,
10
+ GraphQLRequest,
11
+ GraphQLResponse,
12
+ } from './graphql.js';
13
+ import type { Logger } from '@apollo/utils.logger';
14
+ import type { KeyValueCache } from '@apollo/utils.keyvaluecache';
15
+ import type {
16
+ DocumentNode,
17
+ GraphQLError,
18
+ GraphQLSchema,
19
+ OperationDefinitionNode,
20
+ } from 'graphql';
21
+ import type { CachePolicy } from '@apollo/cache-control-types';
22
+ import type { NonFtv1ErrorPath } from '@apollo/server-gateway-interface';
23
+
24
+ export interface GraphQLRequestMetrics {
25
+ // It would be more accurate to call this fieldLevelInstrumentation (it is
26
+ // true if the hook of that name returns truthy) but for backwards
27
+ // compatibility we keep this name (this field is read by `@apollo/gateway` to
28
+ // decide whether or not to send the apollo-federation-include-trace header).
29
+ captureTraces?: boolean;
30
+ persistedQueryHit?: boolean;
31
+ persistedQueryRegister?: boolean;
32
+ responseCacheHit?: boolean;
33
+ forbiddenOperation?: boolean;
34
+ registeredOperation?: boolean;
35
+ startHrTime?: [number, number];
36
+ queryPlanTrace?: Trace.QueryPlanNode;
37
+ nonFtv1ErrorPaths?: NonFtv1ErrorPath[];
38
+ }
39
+
40
+ export interface GraphQLRequestContext<TContext extends BaseContext> {
41
+ readonly logger: Logger;
42
+ readonly cache: KeyValueCache<string>;
43
+
44
+ readonly request: GraphQLRequest;
45
+ readonly response: GraphQLInProgressResponse;
46
+
47
+ readonly schema: GraphQLSchema;
48
+
49
+ readonly contextValue: TContext;
50
+
51
+ readonly queryHash?: string;
52
+
53
+ readonly document?: DocumentNode;
54
+ readonly source?: string;
55
+
56
+ // `operationName` is set based on the operation AST, so it is defined even if
57
+ // no `request.operationName` was passed in. It will be set to `null` for an
58
+ // anonymous operation, or if `requestName.operationName` was passed in but
59
+ // doesn't resolve to an operation in the document.
60
+ readonly operationName?: string | null;
61
+ readonly operation?: OperationDefinitionNode;
62
+
63
+ /**
64
+ * Unformatted errors which have occurred during the request. Note that these
65
+ * are present earlier in the request pipeline and differ from **formatted**
66
+ * errors which are the result of running the user-configurable `formatError`
67
+ * transformation function over specific errors; these can eventually be found
68
+ * in `response.result.errors`.
69
+ */
70
+ readonly errors?: ReadonlyArray<GraphQLError>;
71
+
72
+ readonly metrics: GraphQLRequestMetrics;
73
+
74
+ readonly overallCachePolicy: CachePolicy;
75
+
76
+ /**
77
+ * True if this request is part of a potentially multi-operation batch. Note
78
+ * that if this is true, `response.http` will be shared with the other
79
+ * operations in the batch.
80
+ */
81
+ readonly requestIsBatched: boolean;
82
+ }
83
+
84
+ export type GraphQLRequestContextDidResolveSource<
85
+ TContext extends BaseContext,
86
+ > = WithRequired<GraphQLRequestContext<TContext>, 'source' | 'queryHash'>;
87
+ export type GraphQLRequestContextParsingDidStart<TContext extends BaseContext> =
88
+ GraphQLRequestContextDidResolveSource<TContext>;
89
+ export type GraphQLRequestContextValidationDidStart<
90
+ TContext extends BaseContext,
91
+ > = GraphQLRequestContextParsingDidStart<TContext> &
92
+ WithRequired<GraphQLRequestContext<TContext>, 'document'>;
93
+ export type GraphQLRequestContextDidResolveOperation<
94
+ TContext extends BaseContext,
95
+ > = GraphQLRequestContextValidationDidStart<TContext> &
96
+ WithRequired<GraphQLRequestContext<TContext>, 'operationName'>;
97
+ export type GraphQLRequestContextDidEncounterErrors<
98
+ TContext extends BaseContext,
99
+ > = WithRequired<GraphQLRequestContext<TContext>, 'errors'>;
100
+ export type GraphQLRequestContextResponseForOperation<
101
+ TContext extends BaseContext,
102
+ > = WithRequired<
103
+ GraphQLRequestContext<TContext>,
104
+ 'source' | 'document' | 'operation' | 'operationName'
105
+ >;
106
+ export type GraphQLRequestContextExecutionDidStart<
107
+ TContext extends BaseContext,
108
+ > = GraphQLRequestContextParsingDidStart<TContext> &
109
+ WithRequired<
110
+ GraphQLRequestContext<TContext>,
111
+ 'document' | 'operation' | 'operationName'
112
+ >;
113
+ export type GraphQLRequestContextWillSendResponse<
114
+ TContext extends BaseContext,
115
+ > = GraphQLRequestContextDidResolveSource<TContext> & {
116
+ readonly response: GraphQLResponse;
117
+ };
118
+ export type GraphQLRequestContextDidEncounterSubsequentErrors<
119
+ TContext extends BaseContext,
120
+ > = GraphQLRequestContextWillSendResponse<TContext>;
121
+ export type GraphQLRequestContextWillSendSubsequentPayload<
122
+ TContext extends BaseContext,
123
+ > = GraphQLRequestContextWillSendResponse<TContext>;
@@ -0,0 +1 @@
1
+ export const packageVersion = "5.5.0";
@@ -0,0 +1,105 @@
1
+ import type {
2
+ BaseContext,
3
+ HTTPGraphQLRequest,
4
+ HTTPGraphQLResponse,
5
+ } from './externalTypes/index.js';
6
+ import type {
7
+ ApolloServer,
8
+ ApolloServerInternals,
9
+ SchemaDerivedData,
10
+ } from './ApolloServer';
11
+ import { newHTTPGraphQLHead, runHttpQuery } from './runHttpQuery.js';
12
+ import { BadRequestError } from './internalErrorClasses.js';
13
+
14
+ async function runBatchedHttpQuery<TContext extends BaseContext>({
15
+ server,
16
+ batchRequest,
17
+ body,
18
+ contextValue,
19
+ schemaDerivedData,
20
+ internals,
21
+ }: {
22
+ server: ApolloServer<TContext>;
23
+ batchRequest: HTTPGraphQLRequest;
24
+ body: unknown[];
25
+ contextValue: TContext;
26
+ schemaDerivedData: SchemaDerivedData;
27
+ internals: ApolloServerInternals<TContext>;
28
+ }): Promise<HTTPGraphQLResponse> {
29
+ if (body.length === 0) {
30
+ throw new BadRequestError('No operations found in request.');
31
+ }
32
+
33
+ // This single HTTPGraphQLHead is shared across all the operations in the
34
+ // batch. This means that any changes to response headers or status code from
35
+ // one operation can be immediately seen by other operations. Plugins that set
36
+ // response headers or status code can then choose to combine the data they
37
+ // are setting with data that may already be there from another operation as
38
+ // they choose.
39
+ const sharedResponseHTTPGraphQLHead = newHTTPGraphQLHead();
40
+ const responseBodies = await Promise.all(
41
+ body.map(async (bodyPiece: unknown) => {
42
+ const singleRequest: HTTPGraphQLRequest = {
43
+ ...batchRequest,
44
+ body: bodyPiece,
45
+ };
46
+
47
+ const response = await runHttpQuery({
48
+ server,
49
+ httpRequest: singleRequest,
50
+ contextValue,
51
+ schemaDerivedData,
52
+ internals,
53
+ sharedResponseHTTPGraphQLHead,
54
+ });
55
+
56
+ if (response.body.kind === 'chunked') {
57
+ throw Error(
58
+ 'Incremental delivery is not implemented for batch requests',
59
+ );
60
+ }
61
+ return response.body.string;
62
+ }),
63
+ );
64
+ return {
65
+ ...sharedResponseHTTPGraphQLHead,
66
+ body: { kind: 'complete', string: `[${responseBodies.join(',')}]` },
67
+ };
68
+ }
69
+
70
+ export async function runPotentiallyBatchedHttpQuery<
71
+ TContext extends BaseContext,
72
+ >(
73
+ server: ApolloServer<TContext>,
74
+ httpGraphQLRequest: HTTPGraphQLRequest,
75
+ contextValue: TContext,
76
+ schemaDerivedData: SchemaDerivedData,
77
+ internals: ApolloServerInternals<TContext>,
78
+ ): Promise<HTTPGraphQLResponse> {
79
+ if (
80
+ !(
81
+ httpGraphQLRequest.method === 'POST' &&
82
+ Array.isArray(httpGraphQLRequest.body)
83
+ )
84
+ ) {
85
+ return await runHttpQuery({
86
+ server,
87
+ httpRequest: httpGraphQLRequest,
88
+ contextValue,
89
+ schemaDerivedData,
90
+ internals,
91
+ sharedResponseHTTPGraphQLHead: null,
92
+ });
93
+ }
94
+ if (internals.allowBatchedHttpRequests) {
95
+ return await runBatchedHttpQuery({
96
+ server,
97
+ batchRequest: httpGraphQLRequest,
98
+ body: httpGraphQLRequest.body as unknown[],
99
+ contextValue,
100
+ schemaDerivedData,
101
+ internals,
102
+ });
103
+ }
104
+ throw new BadRequestError('Operation batching disabled.');
105
+ }