@apollo/gateway 2.0.5 → 2.1.0-alpha.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 (51) hide show
  1. package/dist/config.d.ts.map +1 -1
  2. package/dist/config.js +2 -0
  3. package/dist/config.js.map +1 -1
  4. package/dist/index.d.ts +7 -8
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +21 -46
  7. package/dist/index.js.map +1 -1
  8. package/dist/logger.d.ts +3 -0
  9. package/dist/logger.d.ts.map +1 -0
  10. package/dist/logger.js +15 -0
  11. package/dist/logger.js.map +1 -0
  12. package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts +61 -0
  13. package/dist/supergraphManagers/UplinkSupergraphManager/index.d.ts.map +1 -0
  14. package/dist/supergraphManagers/UplinkSupergraphManager/index.js +213 -0
  15. package/dist/supergraphManagers/UplinkSupergraphManager/index.js.map +1 -0
  16. package/dist/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/loadSupergraphSdlFromStorage.d.ts +7 -4
  17. package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.d.ts.map +1 -0
  18. package/dist/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/loadSupergraphSdlFromStorage.js +5 -2
  19. package/dist/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.js.map +1 -0
  20. package/dist/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/outOfBandReporter.d.ts +0 -0
  21. package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.d.ts.map +1 -0
  22. package/dist/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/outOfBandReporter.js +0 -0
  23. package/dist/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.js.map +1 -0
  24. package/dist/supergraphManagers/index.d.ts +2 -2
  25. package/dist/supergraphManagers/index.d.ts.map +1 -1
  26. package/dist/supergraphManagers/index.js +17 -4
  27. package/dist/supergraphManagers/index.js.map +1 -1
  28. package/package.json +8 -8
  29. package/src/__tests__/integration/configuration.test.ts +0 -43
  30. package/src/__tests__/integration/managed.test.ts +289 -0
  31. package/src/__tests__/integration/networkRequests.test.ts +4 -31
  32. package/src/__tests__/integration/nockMocks.ts +7 -6
  33. package/src/config.ts +2 -0
  34. package/src/index.ts +26 -67
  35. package/src/logger.ts +11 -0
  36. package/src/supergraphManagers/UplinkSupergraphManager/__tests__/UplinkSupergraphManager.test.ts +67 -0
  37. package/src/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/__tests__/loadSupergraphSdlFromStorage.test.ts +0 -0
  38. package/src/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/__tests__/tsconfig.json +0 -0
  39. package/src/supergraphManagers/UplinkSupergraphManager/index.ts +306 -0
  40. package/src/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/loadSupergraphSdlFromStorage.ts +11 -3
  41. package/src/supergraphManagers/{UplinkFetcher → UplinkSupergraphManager}/outOfBandReporter.ts +0 -0
  42. package/src/supergraphManagers/index.ts +2 -2
  43. package/dist/supergraphManagers/UplinkFetcher/index.d.ts +0 -35
  44. package/dist/supergraphManagers/UplinkFetcher/index.d.ts.map +0 -1
  45. package/dist/supergraphManagers/UplinkFetcher/index.js +0 -114
  46. package/dist/supergraphManagers/UplinkFetcher/index.js.map +0 -1
  47. package/dist/supergraphManagers/UplinkFetcher/loadSupergraphSdlFromStorage.d.ts.map +0 -1
  48. package/dist/supergraphManagers/UplinkFetcher/loadSupergraphSdlFromStorage.js.map +0 -1
  49. package/dist/supergraphManagers/UplinkFetcher/outOfBandReporter.d.ts.map +0 -1
  50. package/dist/supergraphManagers/UplinkFetcher/outOfBandReporter.js.map +0 -1
  51. package/src/supergraphManagers/UplinkFetcher/index.ts +0 -149
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/config.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isStaticConfig = exports.isManagedConfig = exports.isManuallyManagedConfig = exports.isSupergraphManagerConfig = exports.isSupergraphSdlHookConfig = exports.isStaticSupergraphSdlConfig = exports.isServiceListConfig = exports.isLocalConfig = exports.isManuallyManagedSupergraphSdlGatewayConfig = exports.isServiceDefinitionUpdate = exports.isSupergraphSdlUpdate = void 0;
4
+ const supergraphManagers_1 = require("./supergraphManagers");
4
5
  function isSupergraphSdlUpdate(update) {
5
6
  return 'supergraphSdl' in update;
6
7
  }
@@ -46,6 +47,7 @@ function isManagedConfig(config) {
46
47
  return ('schemaConfigDeliveryEndpoint' in config ||
47
48
  'uplinkEndpoints' in config ||
48
49
  'fallbackPollIntervalInMs' in config ||
50
+ (isSupergraphManagerConfig(config) && config.supergraphSdl instanceof supergraphManagers_1.UplinkSupergraphManager) ||
49
51
  (!isLocalConfig(config) &&
50
52
  !isStaticSupergraphSdlConfig(config) &&
51
53
  !isManuallyManagedConfig(config)));
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAoFA,SAAgB,qBAAqB,CACnC,MAAyB;IAEzB,OAAO,eAAe,IAAI,MAAM,CAAC;AACnC,CAAC;AAJD,sDAIC;AAED,SAAgB,yBAAyB,CACvC,MAAyB;IAEzB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,8DAIC;AAiGD,SAAgB,2CAA2C,CACzD,MAAqB;IAErB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAChF,CAAC;AAJD,kGAIC;AAyED,SAAgB,aAAa,CAC3B,MAAqB;IAErB,OAAO,kBAAkB,IAAI,MAAM,CAAC;AACtC,CAAC;AAJD,sCAIC;AAGD,SAAgB,mBAAmB,CACjC,MAAqB;IAErB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,kDAIC;AAED,SAAgB,2BAA2B,CACzC,MAAqB;IAErB,OAAO,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAJD,kEAIC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,CACxE,CAAC;AACJ,CAAC;AAND,8DAMC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM;QACzB,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,YAAY,IAAI,MAAM,CAAC,aAAa,CACrC,CAAC;AACJ,CAAC;AARD,8DAQC;AAID,SAAgB,uBAAuB,CACrC,MAAqB;IAErB,OAAO,CACL,2CAA2C,CAAC,MAAM,CAAC;QACnD,uCAAuC,IAAI,MAAM;QACjD,kCAAkC,IAAI,MAAM;QAE5C,mBAAmB,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC;AAVD,0DAUC;AAGD,SAAgB,eAAe,CAC7B,MAAqB;IAErB,OAAO,CACL,8BAA8B,IAAI,MAAM;QACxC,iBAAiB,IAAI,MAAM;QAC3B,0BAA0B,IAAI,MAAM;QACpC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;YACrB,CAAC,2BAA2B,CAAC,MAAM,CAAC;YACpC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAXD,0CAWC;AAGD,SAAgB,cAAc,CAC5B,MAAqB;IAErB,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAJD,wCAIC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;AAUA,6DAA+D;AA2E/D,SAAgB,qBAAqB,CACnC,MAAyB;IAEzB,OAAO,eAAe,IAAI,MAAM,CAAC;AACnC,CAAC;AAJD,sDAIC;AAED,SAAgB,yBAAyB,CACvC,MAAyB;IAEzB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,8DAIC;AAiGD,SAAgB,2CAA2C,CACzD,MAAqB;IAErB,OAAO,yBAAyB,CAAC,MAAM,CAAC,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;AAChF,CAAC;AAJD,kGAIC;AAyED,SAAgB,aAAa,CAC3B,MAAqB;IAErB,OAAO,kBAAkB,IAAI,MAAM,CAAC;AACtC,CAAC;AAJD,sCAIC;AAGD,SAAgB,mBAAmB,CACjC,MAAqB;IAErB,OAAO,aAAa,IAAI,MAAM,CAAC;AACjC,CAAC;AAJD,kDAIC;AAED,SAAgB,2BAA2B,CACzC,MAAqB;IAErB,OAAO,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAJD,kEAIC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,CACxE,CAAC;AACJ,CAAC;AAND,8DAMC;AAED,SAAgB,yBAAyB,CACvC,MAAqB;IAErB,OAAO,CACL,eAAe,IAAI,MAAM;QACzB,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,YAAY,IAAI,MAAM,CAAC,aAAa,CACrC,CAAC;AACJ,CAAC;AARD,8DAQC;AAID,SAAgB,uBAAuB,CACrC,MAAqB;IAErB,OAAO,CACL,2CAA2C,CAAC,MAAM,CAAC;QACnD,uCAAuC,IAAI,MAAM;QACjD,kCAAkC,IAAI,MAAM;QAE5C,mBAAmB,CAAC,MAAM,CAAC,CAC5B,CAAC;AACJ,CAAC;AAVD,0DAUC;AAGD,SAAgB,eAAe,CAC7B,MAAqB;IAErB,OAAO,CACL,8BAA8B,IAAI,MAAM;QACxC,iBAAiB,IAAI,MAAM;QAC3B,0BAA0B,IAAI,MAAM;QACpC,CAAC,yBAAyB,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,aAAa,YAAY,4CAAuB,CAAC;QAC9F,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC;YACrB,CAAC,2BAA2B,CAAC,MAAM,CAAC;YACpC,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC,CACpC,CAAC;AACJ,CAAC;AAZD,0CAYC;AAGD,SAAgB,cAAc,CAC5B,MAAqB;IAErB,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,2BAA2B,CAAC,MAAM,CAAC,CAAC;AACtE,CAAC;AAJD,wCAIC"}
package/dist/index.d.ts CHANGED
@@ -4,8 +4,8 @@ import { GraphQLSchema } from 'graphql';
4
4
  import { buildOperationContext } from './operationContext';
5
5
  import { executeQueryPlan, ServiceMap } from './executeQueryPlan';
6
6
  import { GraphQLDataSource } from './datasources/types';
7
- import { ServiceEndpointDefinition, Experimental_DidFailCompositionCallback, Experimental_DidResolveQueryPlanCallback, Experimental_DidUpdateSupergraphCallback, Experimental_UpdateComposition, CompositionInfo, GatewayConfig } from './config';
8
- import { IntrospectAndCompose, LocalCompose } from './supergraphManagers';
7
+ import { ServiceEndpointDefinition, Experimental_DidFailCompositionCallback, Experimental_DidResolveQueryPlanCallback, Experimental_DidUpdateSupergraphCallback, Experimental_UpdateComposition, CompositionInfo, GatewayConfig, SupergraphManager } from './config';
8
+ import { IntrospectAndCompose, UplinkSupergraphManager, LocalCompose } from './supergraphManagers';
9
9
  import { ServiceDefinition } from '@apollo/federation-internals';
10
10
  declare type DataSourceMap = {
11
11
  [serviceName: string]: {
@@ -54,15 +54,15 @@ export declare class ApolloGateway implements GraphQLService {
54
54
  private warnedStates;
55
55
  private queryPlanner?;
56
56
  private supergraphSdl?;
57
- private fetcher;
58
57
  private compositionId?;
59
58
  private state;
59
+ private _supergraphManager?;
60
60
  private experimental_didResolveQueryPlan?;
61
61
  private experimental_didUpdateSupergraph?;
62
62
  private pollIntervalInMs?;
63
63
  private toDispose;
64
64
  constructor(config?: GatewayConfig);
65
- private initLogger;
65
+ get supergraphManager(): SupergraphManager | undefined;
66
66
  private initQueryPlanStore;
67
67
  private issueConfigurationWarningsIfApplicable;
68
68
  load(options?: {
@@ -72,7 +72,6 @@ export declare class ApolloGateway implements GraphQLService {
72
72
  schema: GraphQLSchema;
73
73
  executor: <TContext>(requestContext: GraphQLRequestContextExecutionDidStart<TContext>) => Promise<GraphQLExecutionResult>;
74
74
  }>;
75
- private getUplinkEndpoints;
76
75
  private getIdForSupergraphSdl;
77
76
  private initializeSupergraphManager;
78
77
  private externalSupergraphUpdateCallback;
@@ -105,8 +104,8 @@ export declare class ApolloGateway implements GraphQLService {
105
104
  supergraphSdl: string | undefined;
106
105
  };
107
106
  }
108
- export { executeQueryPlan, buildOperationContext, ServiceMap, Experimental_DidFailCompositionCallback, Experimental_DidResolveQueryPlanCallback, Experimental_DidUpdateSupergraphCallback, Experimental_UpdateComposition, GatewayConfig, ServiceEndpointDefinition, ServiceDefinition, CompositionInfo, IntrospectAndCompose, LocalCompose, };
107
+ export { executeQueryPlan, buildOperationContext, ServiceMap, Experimental_DidFailCompositionCallback, Experimental_DidResolveQueryPlanCallback, Experimental_DidUpdateSupergraphCallback, Experimental_UpdateComposition, GatewayConfig, ServiceEndpointDefinition, ServiceDefinition, CompositionInfo, IntrospectAndCompose, LocalCompose, UplinkSupergraphManager, };
109
108
  export * from './datasources';
110
- export { SupergraphSdlUpdateFunction, SubgraphHealthCheckFunction, GetDataSourceFunction, SupergraphSdlHook, SupergraphManager } from './config';
111
- export { UplinkFetcherError } from "./supergraphManagers";
109
+ export { SupergraphSdlUpdateFunction, SubgraphHealthCheckFunction, GetDataSourceFunction, SupergraphSdlHook, SupergraphManager, } from './config';
110
+ export { UplinkFetcherError, FailureToFetchSupergraphSdlAfterInit, FailureToFetchSupergraphSdlDuringInit, FailureToFetchSupergraphSdlFunctionParams, DEFAULT_UPLINK_ENDPOINTS, } from './supergraphManagers';
112
111
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,16 +13,12 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
13
13
  var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
- var __importDefault = (this && this.__importDefault) || function (mod) {
17
- return (mod && mod.__esModule) ? mod : { "default": mod };
18
- };
19
16
  Object.defineProperty(exports, "__esModule", { value: true });
20
- exports.UplinkFetcherError = exports.LocalCompose = exports.IntrospectAndCompose = exports.buildOperationContext = exports.executeQueryPlan = exports.ApolloGateway = exports.SERVICE_DEFINITION_QUERY = exports.HEALTH_CHECK_QUERY = void 0;
17
+ exports.DEFAULT_UPLINK_ENDPOINTS = exports.UplinkFetcherError = exports.UplinkSupergraphManager = exports.LocalCompose = exports.IntrospectAndCompose = exports.buildOperationContext = exports.executeQueryPlan = exports.ApolloGateway = exports.SERVICE_DEFINITION_QUERY = exports.HEALTH_CHECK_QUERY = void 0;
21
18
  const util_1 = require("util");
22
19
  const utils_createhash_1 = require("@apollo/utils.createhash");
23
20
  const apollo_server_caching_1 = require("apollo-server-caching");
24
21
  const graphql_1 = require("graphql");
25
- const loglevel_1 = __importDefault(require("loglevel"));
26
22
  const operationContext_1 = require("./operationContext");
27
23
  Object.defineProperty(exports, "buildOperationContext", { enumerable: true, get: function () { return operationContext_1.buildOperationContext; } });
28
24
  const executeQueryPlan_1 = require("./executeQueryPlan");
@@ -30,7 +26,6 @@ Object.defineProperty(exports, "executeQueryPlan", { enumerable: true, get: func
30
26
  const types_1 = require("./datasources/types");
31
27
  const RemoteGraphQLDataSource_1 = require("./datasources/RemoteGraphQLDataSource");
32
28
  const values_1 = require("graphql/execution/values");
33
- const make_fetch_happen_1 = __importDefault(require("make-fetch-happen"));
34
29
  const query_planner_1 = require("@apollo/query-planner");
35
30
  const config_1 = require("./config");
36
31
  const api_1 = require("@opentelemetry/api");
@@ -38,13 +33,15 @@ const opentelemetry_1 = require("./utilities/opentelemetry");
38
33
  const addExtensions_1 = require("./schema-helper/addExtensions");
39
34
  const supergraphManagers_1 = require("./supergraphManagers");
40
35
  Object.defineProperty(exports, "IntrospectAndCompose", { enumerable: true, get: function () { return supergraphManagers_1.IntrospectAndCompose; } });
36
+ Object.defineProperty(exports, "UplinkSupergraphManager", { enumerable: true, get: function () { return supergraphManagers_1.UplinkSupergraphManager; } });
41
37
  Object.defineProperty(exports, "LocalCompose", { enumerable: true, get: function () { return supergraphManagers_1.LocalCompose; } });
42
38
  const federation_internals_1 = require("@apollo/federation-internals");
39
+ const logger_1 = require("./logger");
43
40
  exports.HEALTH_CHECK_QUERY = 'query __ApolloServiceHealthCheck__ { __typename }';
44
41
  exports.SERVICE_DEFINITION_QUERY = 'query __ApolloGetServiceDefinition__ { _service { sdl } }';
45
42
  class ApolloGateway {
46
43
  constructor(config) {
47
- var _a, _b;
44
+ var _a, _b, _c;
48
45
  this.serviceMap = Object.create(null);
49
46
  this.onSchemaChangeListeners = new Set();
50
47
  this.onSchemaLoadOrUpdateListeners = new Set();
@@ -137,36 +134,25 @@ class ApolloGateway {
137
134
  __exposeQueryPlanExperimental: process.env.NODE_ENV !== 'production',
138
135
  ...config,
139
136
  };
140
- this.logger = this.initLogger();
137
+ this.logger = (_a = this.config.logger) !== null && _a !== void 0 ? _a : (0, logger_1.getDefaultLogger)(this.config.debug);
141
138
  this.queryPlanStore = this.initQueryPlanStore(config === null || config === void 0 ? void 0 : config.experimental_approximateQueryPlanStoreMiB);
142
- this.fetcher = (config === null || config === void 0 ? void 0 : config.fetcher) || make_fetch_happen_1.default;
143
139
  this.experimental_didResolveQueryPlan =
144
140
  config === null || config === void 0 ? void 0 : config.experimental_didResolveQueryPlan;
145
141
  this.experimental_didUpdateSupergraph =
146
142
  config === null || config === void 0 ? void 0 : config.experimental_didUpdateSupergraph;
147
143
  if ((0, config_1.isManagedConfig)(this.config)) {
148
144
  this.pollIntervalInMs =
149
- (_a = this.config.fallbackPollIntervalInMs) !== null && _a !== void 0 ? _a : this.config.pollIntervalInMs;
145
+ (_b = this.config.fallbackPollIntervalInMs) !== null && _b !== void 0 ? _b : this.config.pollIntervalInMs;
150
146
  }
151
147
  else if ((0, config_1.isServiceListConfig)(this.config)) {
152
- this.pollIntervalInMs = (_b = this.config) === null || _b === void 0 ? void 0 : _b.pollIntervalInMs;
148
+ this.pollIntervalInMs = (_c = this.config) === null || _c === void 0 ? void 0 : _c.pollIntervalInMs;
153
149
  }
154
150
  this.issueConfigurationWarningsIfApplicable();
155
151
  this.logger.debug('Gateway successfully initialized (but not yet loaded)');
156
152
  this.state = { phase: 'initialized' };
157
153
  }
158
- initLogger() {
159
- if (this.config.logger) {
160
- return this.config.logger;
161
- }
162
- const loglevelLogger = loglevel_1.default.getLogger(`apollo-gateway`);
163
- if (this.config.debug === true) {
164
- loglevelLogger.setLevel(loglevelLogger.levels.DEBUG);
165
- }
166
- else {
167
- loglevelLogger.setLevel(loglevelLogger.levels.WARN);
168
- }
169
- return loglevelLogger;
154
+ get supergraphManager() {
155
+ return this._supergraphManager;
170
156
  }
171
157
  initQueryPlanStore(approximateQueryPlanStoreMiB) {
172
158
  return new apollo_server_caching_1.InMemoryLRUCache({
@@ -208,7 +194,7 @@ class ApolloGateway {
208
194
  }
209
195
  }
210
196
  async load(options) {
211
- var _a, _b, _c, _d;
197
+ var _a, _b, _c;
212
198
  this.logger.debug('Loading gateway...');
213
199
  if (this.state.phase !== 'initialized') {
214
200
  throw Error(`ApolloGateway.load called in surprising state ${this.state.phase}`);
@@ -284,16 +270,18 @@ class ApolloGateway {
284
270
  'for more information. Manual configuration options include: ' +
285
271
  '`serviceList`, `supergraphSdl`, and `experimental_updateServiceDefinitions`.');
286
272
  }
287
- const uplinkEndpoints = this.getUplinkEndpoints(this.config);
288
- await this.initializeSupergraphManager(new supergraphManagers_1.UplinkFetcher({
273
+ const schemaDeliveryEndpoints = this.config
274
+ .schemaConfigDeliveryEndpoint
275
+ ? [this.config.schemaConfigDeliveryEndpoint]
276
+ : undefined;
277
+ await this.initializeSupergraphManager(new supergraphManagers_1.UplinkSupergraphManager({
289
278
  graphRef: this.apolloConfig.graphRef,
290
279
  apiKey: this.apolloConfig.key,
291
- uplinkEndpoints,
292
- maxRetries: (_c = this.config.uplinkMaxRetries) !== null && _c !== void 0 ? _c : uplinkEndpoints.length * 3 - 1,
293
- subgraphHealthCheck: this.config.serviceHealthCheck,
294
- fetcher: this.fetcher,
280
+ shouldRunSubgraphHealthcheck: this.config.serviceHealthCheck,
281
+ uplinkEndpoints: (_c = this.config.uplinkEndpoints) !== null && _c !== void 0 ? _c : schemaDeliveryEndpoints,
282
+ maxRetries: this.config.uplinkMaxRetries,
295
283
  logger: this.logger,
296
- fallbackPollIntervalInMs: (_d = this.pollIntervalInMs) !== null && _d !== void 0 ? _d : 10000,
284
+ fallbackPollIntervalInMs: this.pollIntervalInMs,
297
285
  }));
298
286
  }
299
287
  const mode = (0, config_1.isManagedConfig)(this.config) ? 'managed' : 'unmanaged';
@@ -306,17 +294,6 @@ class ApolloGateway {
306
294
  executor: this.executor,
307
295
  };
308
296
  }
309
- getUplinkEndpoints(config) {
310
- var _a, _b, _c, _d;
311
- const rawEndpointsString = process.env.APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT;
312
- const envEndpoints = (_a = rawEndpointsString === null || rawEndpointsString === void 0 ? void 0 : rawEndpointsString.split(',')) !== null && _a !== void 0 ? _a : null;
313
- return ((_d = (_c = (_b = config.uplinkEndpoints) !== null && _b !== void 0 ? _b : (config.schemaConfigDeliveryEndpoint
314
- ? [config.schemaConfigDeliveryEndpoint]
315
- : null)) !== null && _c !== void 0 ? _c : envEndpoints) !== null && _d !== void 0 ? _d : [
316
- 'https://uplink.api.apollographql.com/',
317
- 'https://aws.uplink.api.apollographql.com/',
318
- ]);
319
- }
320
297
  getIdForSupergraphSdl(supergraphSdl) {
321
298
  return (0, utils_createhash_1.createHash)('sha256').update(supergraphSdl).digest('hex');
322
299
  }
@@ -327,9 +304,6 @@ class ApolloGateway {
327
304
  healthCheck: this.externalSubgraphHealthCheckCallback.bind(this),
328
305
  getDataSource: this.externalGetDataSourceCallback.bind(this),
329
306
  });
330
- if (!(result === null || result === void 0 ? void 0 : result.supergraphSdl)) {
331
- throw new Error('Provided `supergraphSdl` function did not return an object containing a `supergraphSdl` property');
332
- }
333
307
  if (result === null || result === void 0 ? void 0 : result.cleanup) {
334
308
  if (typeof result.cleanup === 'function') {
335
309
  this.toDispose.push(result.cleanup);
@@ -345,6 +319,7 @@ class ApolloGateway {
345
319
  await this.performCleanupAndLogErrors();
346
320
  throw e;
347
321
  }
322
+ this._supergraphManager = supergraphManager;
348
323
  this.state = { phase: 'loaded' };
349
324
  }
350
325
  externalSupergraphUpdateCallback(supergraphSdl) {
@@ -569,7 +544,6 @@ class ApolloGateway {
569
544
  switch (this.state.phase) {
570
545
  case 'initialized':
571
546
  case 'failed to load':
572
- throw Error('ApolloGateway.stop does not need to be called before ApolloGateway.load is called successfully');
573
547
  case 'stopped':
574
548
  return;
575
549
  case 'stopping':
@@ -629,4 +603,5 @@ class UnreachableCaseError extends Error {
629
603
  __exportStar(require("./datasources"), exports);
630
604
  var supergraphManagers_2 = require("./supergraphManagers");
631
605
  Object.defineProperty(exports, "UplinkFetcherError", { enumerable: true, get: function () { return supergraphManagers_2.UplinkFetcherError; } });
606
+ Object.defineProperty(exports, "DEFAULT_UPLINK_ENDPOINTS", { enumerable: true, get: function () { return supergraphManagers_2.DEFAULT_UPLINK_ENDPOINTS; } });
632
607
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Logger } from '@apollo/utils.logger';
2
+ export declare function getDefaultLogger(debug?: boolean): Logger;
3
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,wBAAgB,gBAAgB,CAAC,KAAK,GAAE,OAAc,GAAG,MAAM,CAO9D"}
package/dist/logger.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getDefaultLogger = void 0;
7
+ const loglevel_1 = __importDefault(require("loglevel"));
8
+ function getDefaultLogger(debug = true) {
9
+ const logger = loglevel_1.default.getLogger('apollo-gateway');
10
+ const level = debug === true ? loglevel_1.default.levels.DEBUG : loglevel_1.default.levels.WARN;
11
+ logger.setLevel(level);
12
+ return logger;
13
+ }
14
+ exports.getDefaultLogger = getDefaultLogger;
15
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,wDAAgC;AAGhC,SAAgB,gBAAgB,CAAC,QAAiB,IAAI;IACpD,MAAM,MAAM,GAAG,kBAAQ,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAEpD,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,kBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5E,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEvB,OAAO,MAAM,CAAC;AAChB,CAAC;AAPD,4CAOC"}
@@ -0,0 +1,61 @@
1
+ import type { Logger } from '@apollo/utils.logger';
2
+ import { SupergraphManager, SupergraphSdlHookOptions } from '../../config';
3
+ import { Fetcher } from '@apollo/utils.fetcher';
4
+ export declare const DEFAULT_UPLINK_ENDPOINTS: string[];
5
+ export declare type FailureToFetchSupergraphSdlFunctionParams = {
6
+ error: Error;
7
+ graphRef: string;
8
+ logger: Logger;
9
+ fetchCount: number;
10
+ };
11
+ export declare type FailureToFetchSupergraphSdlDuringInit = ({ error, graphRef, logger, fetchCount, }: FailureToFetchSupergraphSdlFunctionParams) => Promise<string>;
12
+ export declare type FailureToFetchSupergraphSdlAfterInit = ({ error, graphRef, logger, fetchCount, mostRecentSuccessfulFetchAt, }: FailureToFetchSupergraphSdlFunctionParams & {
13
+ mostRecentSuccessfulFetchAt?: Date;
14
+ }) => Promise<string | null>;
15
+ export declare class UplinkSupergraphManager implements SupergraphManager {
16
+ readonly uplinkEndpoints: string[];
17
+ private apiKey;
18
+ private graphRef;
19
+ private fetcher;
20
+ private maxRetries;
21
+ private initialMaxRetries;
22
+ private fallbackPollIntervalMs;
23
+ private logger;
24
+ private update?;
25
+ private shouldRunSubgraphHealthcheck;
26
+ private healthCheck?;
27
+ private onFailureToFetchSupergraphSdlDuringInit?;
28
+ private onFailureToFetchSupergraphSdlAfterInit?;
29
+ private timerRef;
30
+ private state;
31
+ private errorReportingEndpoint;
32
+ private compositionId?;
33
+ private fetchCount;
34
+ private minDelayMs;
35
+ private earliestFetchTime;
36
+ private mostRecentSuccessfulFetchAt?;
37
+ constructor({ apiKey, graphRef, debug, logger, fetcher, uplinkEndpoints, fallbackPollIntervalInMs, maxRetries, initialMaxRetries, shouldRunSubgraphHealthcheck, onFailureToFetchSupergraphSdlDuringInit, onFailureToFetchSupergraphSdlAfterInit, }: {
38
+ apiKey: string;
39
+ graphRef: string;
40
+ debug?: boolean;
41
+ logger?: Logger;
42
+ fetcher?: Fetcher;
43
+ uplinkEndpoints?: string[];
44
+ fallbackPollIntervalInMs?: number;
45
+ maxRetries?: number;
46
+ initialMaxRetries?: number;
47
+ shouldRunSubgraphHealthcheck?: boolean;
48
+ onFailureToFetchSupergraphSdlDuringInit?: FailureToFetchSupergraphSdlDuringInit;
49
+ onFailureToFetchSupergraphSdlAfterInit?: FailureToFetchSupergraphSdlAfterInit;
50
+ });
51
+ initialize({ update, healthCheck }: SupergraphSdlHookOptions): Promise<{
52
+ supergraphSdl: string;
53
+ cleanup: () => Promise<void>;
54
+ }>;
55
+ nextFetch(): Promise<void | null>;
56
+ private updateSupergraphSdl;
57
+ private beginPolling;
58
+ private poll;
59
+ private logUpdateFailure;
60
+ }
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAO3E,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,eAAO,MAAM,wBAAwB,UAGpC,CAAC;AAaF,oBAAY,yCAAyC,GAAG;IACtD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oBAAY,qCAAqC,GAAG,CAAC,EACnD,KAAK,EACL,QAAQ,EACR,MAAM,EACN,UAAU,GACX,EAAE,yCAAyC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAEjE,oBAAY,oCAAoC,GAAG,CAAC,EAClD,KAAK,EACL,QAAQ,EACR,MAAM,EACN,UAAU,EACV,2BAA2B,GAC5B,EACG,yCAAyC,GACzC;IAAE,2BAA2B,CAAC,EAAE,IAAI,CAAA;CAAE,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAYtE,qBAAa,uBAAwB,YAAW,iBAAiB;IAC/D,SAAgB,eAAe,EAAE,MAAM,EAAE,CAAwB;IACjE,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,sBAAsB,CAAkB;IAChD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,MAAM,CAAC,CAA8B;IAC7C,OAAO,CAAC,4BAA4B,CAAkB;IACtD,OAAO,CAAC,WAAW,CAAC,CAA8B;IAClD,OAAO,CAAC,uCAAuC,CAAC,CAAwC;IACxF,OAAO,CAAC,sCAAsC,CAAC,CAAuC;IACtF,OAAO,CAAC,QAAQ,CAA+B;IAC/C,OAAO,CAAC,KAAK,CAAQ;IACrB,OAAO,CAAC,sBAAsB,CACkC;IAChE,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,UAAU,CAAa;IAC/B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,iBAAiB,CAAqB;IAC9C,OAAO,CAAC,2BAA2B,CAAC,CAAO;gBAE/B,EACV,MAAM,EACN,QAAQ,EACR,KAAK,EACL,MAAM,EACN,OAAO,EACP,eAAe,EACf,wBAAwB,EACxB,UAAU,EACV,iBAAiB,EACjB,4BAA4B,EAC5B,uCAAuC,EACvC,sCAAsC,GACvC,EAAE;QACD,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,4BAA4B,CAAC,EAAE,OAAO,CAAC;QACvC,uCAAuC,CAAC,EAAE,qCAAqC,CAAC;QAChF,sCAAsC,CAAC,EAAE,oCAAoC,CAAC;KAC/E;IAyBY,UAAU,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,wBAAwB;;;;IA6C5D,SAAS,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YAOhC,mBAAmB;IAsEjC,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,IAAI;IAmCZ,OAAO,CAAC,gBAAgB;CAMzB"}