@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
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.UplinkSupergraphManager = exports.DEFAULT_UPLINK_ENDPOINTS = void 0;
30
+ const makeFetchHappen = __importStar(require("make-fetch-happen"));
31
+ const resolvable_1 = __importDefault(require("@josephg/resolvable"));
32
+ const logger_1 = require("../../logger");
33
+ const loadSupergraphSdlFromStorage_1 = require("./loadSupergraphSdlFromStorage");
34
+ exports.DEFAULT_UPLINK_ENDPOINTS = [
35
+ 'https://uplink.api.apollographql.com/',
36
+ 'https://aws.uplink.api.apollographql.com/',
37
+ ];
38
+ function getUplinkEndpoints() {
39
+ var _a;
40
+ const envEndpoints = (_a = process.env.APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT) === null || _a === void 0 ? void 0 : _a.split(',');
41
+ return envEndpoints !== null && envEndpoints !== void 0 ? envEndpoints : exports.DEFAULT_UPLINK_ENDPOINTS;
42
+ }
43
+ class UplinkSupergraphManager {
44
+ constructor({ apiKey, graphRef, debug, logger, fetcher, uplinkEndpoints, fallbackPollIntervalInMs, maxRetries, initialMaxRetries, shouldRunSubgraphHealthcheck, onFailureToFetchSupergraphSdlDuringInit, onFailureToFetchSupergraphSdlAfterInit, }) {
45
+ var _a;
46
+ this.uplinkEndpoints = getUplinkEndpoints();
47
+ this.fetcher = makeFetchHappen.defaults();
48
+ this.fallbackPollIntervalMs = 10000;
49
+ this.shouldRunSubgraphHealthcheck = false;
50
+ this.timerRef = null;
51
+ this.errorReportingEndpoint = (_a = process.env.APOLLO_OUT_OF_BAND_REPORTER_ENDPOINT) !== null && _a !== void 0 ? _a : undefined;
52
+ this.fetchCount = 0;
53
+ this.minDelayMs = null;
54
+ this.earliestFetchTime = null;
55
+ this.apiKey = apiKey;
56
+ this.graphRef = graphRef;
57
+ this.logger = logger !== null && logger !== void 0 ? logger : (0, logger_1.getDefaultLogger)(debug);
58
+ this.uplinkEndpoints = uplinkEndpoints !== null && uplinkEndpoints !== void 0 ? uplinkEndpoints : this.uplinkEndpoints;
59
+ this.maxRetries = maxRetries !== null && maxRetries !== void 0 ? maxRetries : this.uplinkEndpoints.length * 3 - 1;
60
+ this.initialMaxRetries = initialMaxRetries !== null && initialMaxRetries !== void 0 ? initialMaxRetries : this.maxRetries;
61
+ this.fetcher = fetcher !== null && fetcher !== void 0 ? fetcher : this.fetcher;
62
+ this.fallbackPollIntervalMs =
63
+ fallbackPollIntervalInMs !== null && fallbackPollIntervalInMs !== void 0 ? fallbackPollIntervalInMs : this.fallbackPollIntervalMs;
64
+ this.shouldRunSubgraphHealthcheck =
65
+ shouldRunSubgraphHealthcheck !== null && shouldRunSubgraphHealthcheck !== void 0 ? shouldRunSubgraphHealthcheck : this.shouldRunSubgraphHealthcheck;
66
+ this.onFailureToFetchSupergraphSdlDuringInit =
67
+ onFailureToFetchSupergraphSdlDuringInit;
68
+ this.onFailureToFetchSupergraphSdlAfterInit =
69
+ onFailureToFetchSupergraphSdlAfterInit;
70
+ this.state = { phase: 'constructed' };
71
+ }
72
+ async initialize({ update, healthCheck }) {
73
+ this.update = update;
74
+ if (this.shouldRunSubgraphHealthcheck) {
75
+ this.healthCheck = healthCheck;
76
+ }
77
+ let initialSupergraphSdl = undefined;
78
+ try {
79
+ const result = await this.updateSupergraphSdl(this.initialMaxRetries);
80
+ if (!result) {
81
+ throw new Error('Invalid supergraph schema supplied during initialization.');
82
+ }
83
+ initialSupergraphSdl = result.supergraphSdl;
84
+ if (result.minDelaySeconds) {
85
+ this.minDelayMs = 1000 * result.minDelaySeconds;
86
+ this.earliestFetchTime = new Date(Date.now() + this.minDelayMs);
87
+ }
88
+ }
89
+ catch (e) {
90
+ this.logUpdateFailure(e);
91
+ throw e;
92
+ }
93
+ this.state = { phase: 'initialized' };
94
+ this.beginPolling();
95
+ return {
96
+ supergraphSdl: initialSupergraphSdl,
97
+ cleanup: async () => {
98
+ if (this.state.phase === 'polling') {
99
+ await this.state.pollingPromise;
100
+ }
101
+ this.state = { phase: 'stopped' };
102
+ if (this.timerRef) {
103
+ clearTimeout(this.timerRef);
104
+ this.timerRef = null;
105
+ }
106
+ },
107
+ };
108
+ }
109
+ async nextFetch() {
110
+ if (this.state.phase !== 'polling') {
111
+ return;
112
+ }
113
+ return this.state.nextFetchPromise;
114
+ }
115
+ async updateSupergraphSdl(maxRetries) {
116
+ var _a, _b;
117
+ let supergraphSdl;
118
+ let minDelaySeconds = this.fallbackPollIntervalMs / 1000;
119
+ try {
120
+ const result = await (0, loadSupergraphSdlFromStorage_1.loadSupergraphSdlFromUplinks)({
121
+ graphRef: this.graphRef,
122
+ apiKey: this.apiKey,
123
+ endpoints: this.uplinkEndpoints,
124
+ errorReportingEndpoint: this.errorReportingEndpoint,
125
+ fetcher: this.fetcher,
126
+ compositionId: (_a = this.compositionId) !== null && _a !== void 0 ? _a : null,
127
+ maxRetries,
128
+ roundRobinSeed: this.fetchCount++,
129
+ earliestFetchTime: this.earliestFetchTime,
130
+ logger: this.logger,
131
+ });
132
+ if (!result) {
133
+ return null;
134
+ }
135
+ this.compositionId = result.id;
136
+ ({ supergraphSdl, minDelaySeconds } = result);
137
+ this.mostRecentSuccessfulFetchAt = new Date();
138
+ }
139
+ catch (e) {
140
+ this.logger.debug(`Error fetching supergraphSdl from Uplink during phase '${this.state.phase}'`);
141
+ if (this.state.phase === 'constructed' &&
142
+ this.onFailureToFetchSupergraphSdlDuringInit) {
143
+ supergraphSdl = await this.onFailureToFetchSupergraphSdlDuringInit({
144
+ error: e,
145
+ graphRef: this.graphRef,
146
+ logger: this.logger,
147
+ fetchCount: this.fetchCount,
148
+ });
149
+ }
150
+ else if (this.state.phase === 'polling' &&
151
+ this.onFailureToFetchSupergraphSdlAfterInit) {
152
+ supergraphSdl = await this.onFailureToFetchSupergraphSdlAfterInit({
153
+ error: e,
154
+ graphRef: this.graphRef,
155
+ logger: this.logger,
156
+ fetchCount: this.fetchCount,
157
+ mostRecentSuccessfulFetchAt: this.mostRecentSuccessfulFetchAt,
158
+ });
159
+ if (!supergraphSdl) {
160
+ return null;
161
+ }
162
+ }
163
+ else {
164
+ throw e;
165
+ }
166
+ }
167
+ await ((_b = this.healthCheck) === null || _b === void 0 ? void 0 : _b.call(this, supergraphSdl));
168
+ return { supergraphSdl, minDelaySeconds };
169
+ }
170
+ beginPolling() {
171
+ this.state = { phase: 'polling' };
172
+ this.poll();
173
+ }
174
+ poll() {
175
+ const delay = this.minDelayMs
176
+ ? Math.max(this.minDelayMs, this.fallbackPollIntervalMs)
177
+ : this.fallbackPollIntervalMs;
178
+ if (this.state.phase !== 'polling') {
179
+ return;
180
+ }
181
+ this.state.nextFetchPromise = (0, resolvable_1.default)();
182
+ this.timerRef = setTimeout(async () => {
183
+ var _a, _b;
184
+ if (this.state.phase === 'polling') {
185
+ const pollingPromise = (0, resolvable_1.default)();
186
+ this.state.pollingPromise = pollingPromise;
187
+ try {
188
+ const result = await this.updateSupergraphSdl(this.maxRetries);
189
+ if (result === null || result === void 0 ? void 0 : result.minDelaySeconds) {
190
+ this.minDelayMs = 1000 * result.minDelaySeconds;
191
+ this.earliestFetchTime = new Date(Date.now() + this.minDelayMs);
192
+ }
193
+ if (result === null || result === void 0 ? void 0 : result.supergraphSdl) {
194
+ (_a = this.update) === null || _a === void 0 ? void 0 : _a.call(this, result.supergraphSdl);
195
+ }
196
+ }
197
+ catch (e) {
198
+ this.logUpdateFailure(e);
199
+ }
200
+ pollingPromise.resolve();
201
+ (_b = this.state.nextFetchPromise) === null || _b === void 0 ? void 0 : _b.resolve();
202
+ }
203
+ this.poll();
204
+ }, delay);
205
+ }
206
+ logUpdateFailure(e) {
207
+ var _a;
208
+ this.logger.error('UplinkSupergraphManager failed to update supergraph with the following error: ' +
209
+ ((_a = e.message) !== null && _a !== void 0 ? _a : e));
210
+ }
211
+ }
212
+ exports.UplinkSupergraphManager = UplinkSupergraphManager;
213
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/index.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { SupergraphSdlUpdate } from '../../config';
2
2
  import type { Fetcher } from '@apollo/utils.fetcher';
3
+ import type { Logger } from '@apollo/utils.logger';
3
4
  export declare const SUPERGRAPH_SDL_QUERY = "#graphql\n query SupergraphSdl($apiKey: String!, $ref: String!, $ifAfterId: ID) {\n routerConfig(ref: $ref, apiKey: $apiKey, ifAfterId: $ifAfterId) {\n __typename\n ... on RouterConfigResult {\n id\n supergraphSdl: supergraphSDL\n minDelaySeconds\n }\n ... on FetchError {\n code\n message\n }\n }\n }\n";
4
5
  export declare class UplinkFetcherError extends Error {
5
6
  constructor(message: string);
6
7
  }
7
- export declare function loadSupergraphSdlFromUplinks({ graphRef, apiKey, endpoints, errorReportingEndpoint, fetcher, compositionId, maxRetries, roundRobinSeed, earliestFetchTime, }: {
8
+ export declare function loadSupergraphSdlFromUplinks({ graphRef, apiKey, endpoints, errorReportingEndpoint, fetcher, compositionId, maxRetries, roundRobinSeed, earliestFetchTime, logger, }: {
8
9
  graphRef: string;
9
10
  apiKey: string;
10
11
  endpoints: string[];
@@ -14,13 +15,15 @@ export declare function loadSupergraphSdlFromUplinks({ graphRef, apiKey, endpoin
14
15
  maxRetries: number;
15
16
  roundRobinSeed: number;
16
17
  earliestFetchTime: Date | null;
17
- }): Promise<SupergraphSdlUpdate | null>;
18
- export declare function loadSupergraphSdlFromStorage({ graphRef, apiKey, endpoint, errorReportingEndpoint, fetcher, compositionId, }: {
18
+ logger?: Logger | undefined;
19
+ }): Promise<Required<SupergraphSdlUpdate> | null>;
20
+ export declare function loadSupergraphSdlFromStorage({ graphRef, apiKey, endpoint, errorReportingEndpoint, fetcher, compositionId, logger, }: {
19
21
  graphRef: string;
20
22
  apiKey: string;
21
23
  endpoint: string;
22
24
  errorReportingEndpoint?: string;
23
25
  fetcher: Fetcher;
24
26
  compositionId: string | null;
25
- }): Promise<SupergraphSdlUpdate | null>;
27
+ logger?: Logger | undefined;
28
+ }): Promise<Required<SupergraphSdlUpdate> | null>;
26
29
  //# sourceMappingURL=loadSupergraphSdlFromStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadSupergraphSdlFromStorage.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,KAAK,EACV,OAAO,EAGR,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,eAAO,MAAM,oBAAoB,wXAehC,CAAC;AAoBF,qBAAa,kBAAmB,SAAQ,KAAK;gBAC/B,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAsB,4BAA4B,CAAC,EACjD,QAAQ,EACR,MAAM,EACN,SAAS,EACT,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,UAAU,EACV,cAAc,EACd,iBAAiB,EACjB,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,IAAI,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAyBjD;AAED,wBAAsB,4BAA4B,CAAC,EACjD,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,sBAAsB,EACtB,OAAO,EACP,aAAa,EACb,MAAM,GACP,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7B,GAAI,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,CA4FjD"}
@@ -31,7 +31,7 @@ class UplinkFetcherError extends Error {
31
31
  }
32
32
  }
33
33
  exports.UplinkFetcherError = UplinkFetcherError;
34
- async function loadSupergraphSdlFromUplinks({ graphRef, apiKey, endpoints, errorReportingEndpoint, fetcher, compositionId, maxRetries, roundRobinSeed, earliestFetchTime, }) {
34
+ async function loadSupergraphSdlFromUplinks({ graphRef, apiKey, endpoints, errorReportingEndpoint, fetcher, compositionId, maxRetries, roundRobinSeed, earliestFetchTime, logger, }) {
35
35
  return (0, async_retry_1.default)(() => loadSupergraphSdlFromStorage({
36
36
  graphRef,
37
37
  apiKey,
@@ -39,17 +39,19 @@ async function loadSupergraphSdlFromUplinks({ graphRef, apiKey, endpoints, error
39
39
  errorReportingEndpoint,
40
40
  fetcher,
41
41
  compositionId,
42
+ logger,
42
43
  }), {
43
44
  retries: maxRetries,
44
45
  onRetry: async () => {
45
46
  const delayMS = earliestFetchTime ? earliestFetchTime.getTime() - Date.now() : 0;
47
+ logger === null || logger === void 0 ? void 0 : logger.debug(`Waiting ${delayMS}ms before retrying (earliest fetch time ${earliestFetchTime})...`);
46
48
  if (delayMS > 0)
47
49
  await new Promise(resolve => setTimeout(resolve, delayMS));
48
50
  }
49
51
  });
50
52
  }
51
53
  exports.loadSupergraphSdlFromUplinks = loadSupergraphSdlFromUplinks;
52
- async function loadSupergraphSdlFromStorage({ graphRef, apiKey, endpoint, errorReportingEndpoint, fetcher, compositionId, }) {
54
+ async function loadSupergraphSdlFromStorage({ graphRef, apiKey, endpoint, errorReportingEndpoint, fetcher, compositionId, logger, }) {
53
55
  var _a, _b;
54
56
  const requestBody = JSON.stringify({
55
57
  query: exports.SUPERGRAPH_SDL_QUERY,
@@ -72,6 +74,7 @@ async function loadSupergraphSdlFromStorage({ graphRef, apiKey, endpoint, errorR
72
74
  const startTime = new Date();
73
75
  let result;
74
76
  try {
77
+ logger === null || logger === void 0 ? void 0 : logger.debug(`🔧 Fetching supergraph schema from ${endpoint}`);
75
78
  result = await fetcher(endpoint, requestDetails);
76
79
  }
77
80
  catch (e) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadSupergraphSdlFromStorage.js","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/loadSupergraphSdlFromStorage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outOfBandReporter.d.ts","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AASjE,eAAO,MAAM,0BAA0B,0GAItC,CAAC;AAiBF,wBAAsB,iCAAiC,CAAC,EACtD,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GACR,EAAE;IACD,KAAK,EAAE,KAAK,CAAC;IACb,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,iBA6EA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outOfBandReporter.js","sourceRoot":"","sources":["../../../src/supergraphManagers/UplinkSupergraphManager/outOfBandReporter.ts"],"names":[],"mappings":";;;AAEA,mEAI0C;AAG7B,QAAA,0BAA0B,GAAgB;;;;CAItD,CAAC;AAEF,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAepD,KAAK,UAAU,iCAAiC,CAAC,EACtD,KAAK,EACL,eAAe,EACf,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,OAAO,EACP,IAAI,EACJ,OAAO,GAWR;;IAEC,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;KACR;IAED,IAAI,SAAoB,CAAC;IACzB,IAAI,CAAC,QAAQ,EAAE;QACb,SAAS,GAAG,wBAAS,CAAC,gBAAgB,CAAC;KACxC;SAAM;QAEL,QAAQ,QAAQ,CAAC,MAAM,EAAE;YACvB,KAAK,GAAG,CAAC;YACT,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,SAAS,GAAG,wBAAS,CAAC,WAAW,CAAC;gBAClC,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,SAAS,GAAG,wBAAS,CAAC,OAAO,CAAC;gBAC9B,MAAM;YACR,KAAK,GAAG,CAAC;YACT,KAAK,GAAG;gBACN,SAAS,GAAG,wBAAS,CAAC,gBAAgB,CAAC;gBACvC,MAAM;YACR;gBACE,SAAS,GAAG,wBAAS,CAAC,KAAK,CAAC;SAC/B;KACF;IAED,MAAM,YAAY,GAAuB,MAAM,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,EAAE,CAAA,CAAC;IAEhE,MAAM,SAAS,GAA+B;QAC5C,KAAK,EAAE;YACL,KAAK,EAAE;gBACL,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;YACD,OAAO,EAAE;gBACP,GAAG,EAAE,eAAe;gBACpB,IAAI,EAAE,WAAW;aAClB;YACD,QAAQ,EAAE,QAAQ;gBAChB,CAAC,CAAC;oBACE,cAAc,EAAE,QAAQ,CAAC,MAAM;oBAC/B,IAAI,EAAE,YAAY;iBACnB;gBACH,CAAC,CAAC,IAAI;YACR,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE;YAClC,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE;YAC9B,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE;YAC1C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,kCAA0B;gBACjC,SAAS;aACV,CAAC;YACF,OAAO,EAAE;gBACP,2BAA2B,EAAE,IAAI;gBACjC,8BAA8B,EAAE,OAAO;gBACvC,YAAY,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE;gBAClC,cAAc,EAAE,kBAAkB;aACnC;SACF,CAAC,CAAC;QACH,MAAM,cAAc,GAA4B,MAAM,WAAW,CAAC,IAAI,EAAE,CAAC;QACzE,IAAI,CAAC,CAAA,MAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,IAAI,0CAAE,WAAW,CAAA,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,uCAAuC,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,CACtF,CAAC;SACH;KACF;IAAC,OAAO,CAAC,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAA,CAAC,CAAC,OAAO,mCAAI,CAAC,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC;AAjGD,8EAiGC"}
@@ -1,6 +1,6 @@
1
1
  export { LocalCompose } from './LocalCompose';
2
2
  export { LegacyFetcher } from './LegacyFetcher';
3
3
  export { IntrospectAndCompose } from './IntrospectAndCompose';
4
- export { UplinkFetcher } from './UplinkFetcher';
5
- export { UplinkFetcherError } from './UplinkFetcher/loadSupergraphSdlFromStorage';
4
+ export * from './UplinkSupergraphManager';
5
+ export { UplinkFetcherError } from './UplinkSupergraphManager/loadSupergraphSdlFromStorage';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/supergraphManagers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8CAA8C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/supergraphManagers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,cAAc,2BAA2B,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wDAAwD,CAAC"}
@@ -1,14 +1,27 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
2
16
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UplinkFetcherError = exports.UplinkFetcher = exports.IntrospectAndCompose = exports.LegacyFetcher = exports.LocalCompose = void 0;
17
+ exports.UplinkFetcherError = exports.IntrospectAndCompose = exports.LegacyFetcher = exports.LocalCompose = void 0;
4
18
  var LocalCompose_1 = require("./LocalCompose");
5
19
  Object.defineProperty(exports, "LocalCompose", { enumerable: true, get: function () { return LocalCompose_1.LocalCompose; } });
6
20
  var LegacyFetcher_1 = require("./LegacyFetcher");
7
21
  Object.defineProperty(exports, "LegacyFetcher", { enumerable: true, get: function () { return LegacyFetcher_1.LegacyFetcher; } });
8
22
  var IntrospectAndCompose_1 = require("./IntrospectAndCompose");
9
23
  Object.defineProperty(exports, "IntrospectAndCompose", { enumerable: true, get: function () { return IntrospectAndCompose_1.IntrospectAndCompose; } });
10
- var UplinkFetcher_1 = require("./UplinkFetcher");
11
- Object.defineProperty(exports, "UplinkFetcher", { enumerable: true, get: function () { return UplinkFetcher_1.UplinkFetcher; } });
12
- var loadSupergraphSdlFromStorage_1 = require("./UplinkFetcher/loadSupergraphSdlFromStorage");
24
+ __exportStar(require("./UplinkSupergraphManager"), exports);
25
+ var loadSupergraphSdlFromStorage_1 = require("./UplinkSupergraphManager/loadSupergraphSdlFromStorage");
13
26
  Object.defineProperty(exports, "UplinkFetcherError", { enumerable: true, get: function () { return loadSupergraphSdlFromStorage_1.UplinkFetcherError; } });
14
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/supergraphManagers/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,6FAAiF;AAAxE,kIAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/supergraphManagers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,+DAA8D;AAArD,4HAAA,oBAAoB,OAAA;AAC7B,4DAA0C;AAC1C,uGAA4F;AAAnF,kIAAA,kBAAkB,OAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apollo/gateway",
3
- "version": "2.0.5",
3
+ "version": "2.1.0-alpha.0",
4
4
  "description": "Apollo Gateway",
5
5
  "author": "Apollo <packages@apollographql.com>",
6
6
  "main": "dist/index.js",
@@ -18,20 +18,20 @@
18
18
  "apollo"
19
19
  ],
20
20
  "engines": {
21
- "node": ">=12.13.0 <18.0"
21
+ "node": ">=12.13.0"
22
22
  },
23
23
  "license": "SEE LICENSE IN ./LICENSE",
24
24
  "publishConfig": {
25
25
  "access": "public"
26
26
  },
27
27
  "dependencies": {
28
- "@apollo/composition": "^2.0.5",
28
+ "@apollo/composition": "^2.1.0-alpha.0",
29
29
  "@apollo/core-schema": "~0.3.0",
30
- "@apollo/federation-internals": "^2.0.5",
31
- "@apollo/query-planner": "^2.0.5",
32
- "@apollo/utils.createhash": "^1.0.0",
30
+ "@apollo/federation-internals": "^2.1.0-alpha.0",
31
+ "@apollo/query-planner": "^2.1.0-alpha.0",
32
+ "@apollo/utils.createhash": "^1.1.0",
33
33
  "@apollo/utils.fetcher": "^1.0.0",
34
- "@apollo/utils.isnodelike": "^1.0.0",
34
+ "@apollo/utils.isnodelike": "^1.1.0",
35
35
  "@apollo/utils.logger": "^1.0.0",
36
36
  "@josephg/resolvable": "^1.0.1",
37
37
  "@opentelemetry/api": "^1.0.1",
@@ -49,5 +49,5 @@
49
49
  "peerDependencies": {
50
50
  "graphql": "^16.0.0"
51
51
  },
52
- "gitHead": "2f4ea16ae208747be00bffd317cfd63850284ea5"
52
+ "gitHead": "721a0143e418d64e538082b301862ca9417e830c"
53
53
  }
@@ -1,6 +1,5 @@
1
1
  import gql from 'graphql-tag';
2
2
  import http from 'http';
3
- import mockedEnv from 'mocked-env';
4
3
  import type { Logger } from '@apollo/utils.logger';
5
4
  import { ApolloGateway } from '../..';
6
5
  import {
@@ -8,8 +7,6 @@ import {
8
7
  mockSupergraphSdlRequestSuccess,
9
8
  mockApolloConfig,
10
9
  mockCloudConfigUrl1,
11
- mockCloudConfigUrl2,
12
- mockCloudConfigUrl3,
13
10
  } from './nockMocks';
14
11
  import { getTestingSupergraphSdl } from '../execution-utils';
15
12
  import { fixtures, Fixture } from 'apollo-federation-integration-testsuite';
@@ -320,46 +317,6 @@ describe('gateway config / env behavior', () => {
320
317
  );
321
318
  });
322
319
  });
323
-
324
- describe('schema config delivery endpoint configuration', () => {
325
- it('A code config overrides the env variable', async () => {
326
- cleanUp = mockedEnv({
327
- APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT: 'env-config',
328
- });
329
-
330
- const config = {
331
- logger,
332
- uplinkEndpoints: [mockCloudConfigUrl1, mockCloudConfigUrl2, mockCloudConfigUrl3],
333
- };
334
- gateway = new ApolloGateway(config);
335
-
336
- expect(gateway['getUplinkEndpoints'](config)).toEqual([
337
- mockCloudConfigUrl1,
338
- mockCloudConfigUrl2,
339
- mockCloudConfigUrl3,
340
- ]);
341
-
342
- gateway = null;
343
- });
344
- });
345
-
346
- describe('deprecated schema config delivery endpoint configuration', () => {
347
- it('A code config overrides the env variable', async () => {
348
- cleanUp = mockedEnv({
349
- APOLLO_SCHEMA_CONFIG_DELIVERY_ENDPOINT: 'env-config',
350
- });
351
-
352
- const config = {
353
- logger,
354
- schemaConfigDeliveryEndpoint: 'code-config',
355
- };
356
- gateway = new ApolloGateway(config);
357
-
358
- expect(gateway['getUplinkEndpoints'](config)).toEqual(['code-config']);
359
-
360
- gateway = null;
361
- });
362
- });
363
320
  });
364
321
 
365
322
  describe('deprecation warnings', () => {