diff --git a/packages/integration-testsuite/src/apolloServerTests.ts b/packages/integration-testsuite/src/apolloServerTests.ts index fd7fcfb3c41..796f46ef0e2 100644 --- a/packages/integration-testsuite/src/apolloServerTests.ts +++ b/packages/integration-testsuite/src/apolloServerTests.ts @@ -2154,6 +2154,8 @@ export function defineIntegrationTestSuiteApolloServerTests( }); describe('usage reporting', () => { + // FIXME ensure deferred fields get usage-reported + async function makeFakeUsageReportingServer({ status, waitWriteResponse = false, diff --git a/packages/server/src/externalTypes/incrementalDeliveryPolyfill.ts b/packages/server/src/externalTypes/incrementalDeliveryPolyfill.ts index 8aeac2f1a61..7052408c0fc 100644 --- a/packages/server/src/externalTypes/incrementalDeliveryPolyfill.ts +++ b/packages/server/src/externalTypes/incrementalDeliveryPolyfill.ts @@ -1,6 +1,11 @@ import type { FormattedExecutionResult, GraphQLFormattedError } from 'graphql'; -// FIXME explain this file +// This file defines types used in our public interface that will be imported +// from `graphql-js` once graphql 17 is released. It is possible that these +// types will change slightly before the final v17 is released, in which case +// the relevant parts of our API may change incompatibly in a minor version of +// AS4; this should not affect any users who aren't explicitly installing +// pre-releases of graphql 17. interface ObjMap { [key: string]: T; diff --git a/packages/server/src/incrementalDeliveryPolyfill.ts b/packages/server/src/incrementalDeliveryPolyfill.ts index 6fc0351f50a..4c8b7afcc47 100644 --- a/packages/server/src/incrementalDeliveryPolyfill.ts +++ b/packages/server/src/incrementalDeliveryPolyfill.ts @@ -1,6 +1,9 @@ import { execute, ExecutionArgs, ExecutionResult, GraphQLError } from 'graphql'; -// FIXME explain this file +// This file "polyfills" graphql@17's experimentalExecuteIncrementally (by +// returning a function that does not understand incremental directives if +// you're using graphql@16). The types defined in this file are largely copied +// from graphql-js. interface ObjMap { [key: string]: T; @@ -70,7 +73,10 @@ export interface GraphQLExperimentalIncrementalExecutionResults< type PromiseOrValue = Promise | T; -// FIXME doc the tristate +// This starts as undefined and is set to a function or null by running +// tryToLoadGraphQL17(). If graphql-js 17 is installed, it is set to the +// experimentalExecuteIncrementally function from that package; otherwise it is +// set to null. let graphqlExperimentalExecuteIncrementally: | (( args: ExecutionArgs, diff --git a/smoke-test/smoke-test.sh b/smoke-test/smoke-test.sh index 174065c0a62..73ede55bf1c 100755 --- a/smoke-test/smoke-test.sh +++ b/smoke-test/smoke-test.sh @@ -37,4 +37,3 @@ tsc --build tsconfig.{esm,cjs}.json node generated/tsc/smoke-test.cjs node generated/tsc/smoke-test.mjs -# FIXME if INCREMENTAL_DELIVERY_TESTS_ENABLED is set, run an incremental delivery test.