wgc 0.126.2 → 0.127.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 (52) hide show
  1. package/dist/e2e/smoke.test.js +2 -2
  2. package/dist/e2e/smoke.test.js.map +1 -1
  3. package/dist/package.json +1 -1
  4. package/dist/src/commands/auth/utils.d.ts +2 -0
  5. package/dist/src/commands/auth/utils.js.map +1 -1
  6. package/dist/src/commands/graph/federated-graph/commands/fetch.js +50 -14
  7. package/dist/src/commands/graph/federated-graph/commands/fetch.js.map +1 -1
  8. package/dist/src/commands/graph/federated-graph/utils.d.ts +0 -5
  9. package/dist/src/commands/graph/federated-graph/utils.js +1 -37
  10. package/dist/src/commands/graph/federated-graph/utils.js.map +1 -1
  11. package/dist/src/commands/mcp/tools/federated-graph-tools.js +4 -3
  12. package/dist/src/commands/mcp/tools/federated-graph-tools.js.map +1 -1
  13. package/dist/src/commands/router/commands/compose.d.ts +1 -1
  14. package/dist/src/commands/router/commands/compose.js +92 -36
  15. package/dist/src/commands/router/commands/compose.js.map +1 -1
  16. package/dist/src/commands/router/commands/fetch.d.ts +0 -1
  17. package/dist/src/commands/router/commands/fetch.js +70 -67
  18. package/dist/src/commands/router/commands/fetch.js.map +1 -1
  19. package/dist/src/commands/router/commands/types/params.d.ts +9 -0
  20. package/dist/src/commands/router/commands/types/params.js +2 -0
  21. package/dist/src/commands/router/commands/types/params.js.map +1 -0
  22. package/dist/src/commands/router/commands/types/types.d.ts +73 -0
  23. package/dist/src/commands/router/commands/types/types.js +2 -0
  24. package/dist/src/commands/router/commands/types/types.js.map +1 -0
  25. package/dist/src/commands/router/types/params.d.ts +7 -0
  26. package/dist/src/commands/router/types/params.js +2 -0
  27. package/dist/src/commands/router/types/params.js.map +1 -0
  28. package/dist/src/commands/router/types/types.d.ts +6 -0
  29. package/dist/src/commands/router/types/types.js +2 -0
  30. package/dist/src/commands/router/types/types.js.map +1 -0
  31. package/dist/src/commands/router/utils.d.ts +9 -0
  32. package/dist/src/commands/router/utils.js +121 -0
  33. package/dist/src/commands/router/utils.js.map +1 -0
  34. package/dist/test/graph/federated-graph/fetch.test.d.ts +1 -0
  35. package/dist/test/graph/federated-graph/fetch.test.js +107 -0
  36. package/dist/test/graph/federated-graph/fetch.test.js.map +1 -0
  37. package/dist/test/graph/federated-graph/recompose.test.js +1 -1
  38. package/dist/test/graph/federated-graph/recompose.test.js.map +1 -1
  39. package/dist/test/router/compose.test.d.ts +1 -0
  40. package/dist/test/router/compose.test.js +58 -0
  41. package/dist/test/router/compose.test.js.map +1 -0
  42. package/dist/test/router/fetch.test.d.ts +1 -0
  43. package/dist/test/router/fetch.test.js +101 -0
  44. package/dist/test/router/fetch.test.js.map +1 -0
  45. package/dist/test/router/utils.d.ts +7 -0
  46. package/dist/test/router/utils.js +62 -0
  47. package/dist/test/router/utils.js.map +1 -0
  48. package/dist/test/router/utils.test.d.ts +1 -0
  49. package/dist/test/router/utils.test.js +28 -0
  50. package/dist/test/router/utils.test.js.map +1 -0
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +2 -2
@@ -16,7 +16,7 @@ describe('Bun CLI', () => {
16
16
  test('bun cli should compose a router execution config', async () => {
17
17
  const { stdout, stderr, exitCode } = await $ `${binPath} router compose -i ../demo/graph-no-edg.yaml -o e2e/config.json`.quiet();
18
18
  expect(exitCode, `exited with non-zero:\nstdout:\n${stdout.toString()}\n\nstderr:\n${stderr.toString()}`).toBe(0);
19
- expect(stdout.toString()).toContain('Router config successfully written');
19
+ expect(stdout.toString()).toContain('Router execution config successfully written to');
20
20
  });
21
21
  });
22
22
  describe('Node CLI', () => {
@@ -32,7 +32,7 @@ describe('Node CLI', () => {
32
32
  test('node cli should compose a router execution config', async () => {
33
33
  const { stdout, stderr, exitCode } = await $ `node ${binPath} router compose -i ../demo/graph-no-edg.yaml -o e2e/config.json`.quiet();
34
34
  expect(exitCode, `exited with non-zero:\nstdout:\n${stdout.toString()}\n\nstderr:\n${stderr.toString()}`).toBe(0);
35
- expect(stdout.toString()).toContain('Router config successfully written');
35
+ expect(stdout.toString()).toContain('Router execution config successfully written to');
36
36
  });
37
37
  });
38
38
  //# sourceMappingURL=smoke.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"smoke.test.js","sourceRoot":"","sources":["../../e2e/smoke.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"smoke.test.js","sourceRoot":"","sources":["../../e2e/smoke.test.ts"],"names":[],"mappings":"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"}
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wgc",
3
- "version": "0.126.2",
3
+ "version": "0.127.0",
4
4
  "description": "The official CLI tool to manage the GraphQL Federation Platform Cosmo",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -16,11 +16,13 @@ export interface KeycloakTokenResponse {
16
16
  expires_in: number;
17
17
  refresh_expires_in: number;
18
18
  }
19
+ export type GraphTokenFeature = 'split-config-loading';
19
20
  export interface GraphToken {
20
21
  iss?: string;
21
22
  iat?: number;
22
23
  federated_graph_id: string;
23
24
  organization_id: string;
25
+ features?: GraphTokenFeature[];
24
26
  }
25
27
  export interface DecodedAccessToken {
26
28
  iss?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/commands/auth/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/commands/auth/utils.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,19 @@
1
- import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
1
+ import { existsSync } from 'node:fs';
2
+ import { mkdir, readdir, writeFile } from 'node:fs/promises';
2
3
  import { Command } from 'commander';
3
4
  import yaml from 'js-yaml';
4
5
  import { join, resolve } from 'pathe';
5
6
  import pc from 'picocolors';
6
- import { fetchRouterConfig, getFederatedGraphSchemas, getSubgraphSDL, getSubgraphsOfFedGraph } from '../utils.js';
7
+ import { getFederatedGraphSchemas, getSubgraphSDL, getSubgraphsOfFedGraph } from '../utils.js';
8
+ import { featureFlagsDir, fetchRouterConfig, writeFeatureFlagConfigToFile } from '../../../router/utils.js';
9
+ const cosmoConfigFile = 'cosmoConfig.json';
10
+ const cosmoMapperFile = 'cosmo-mapper.json';
11
+ const cosmoSchemaFile = 'cosmoSchema.graphql';
12
+ const cosmoClientSchemaFile = 'cosmoClientSchema.graphql';
13
+ const cosmoCompositionFile = 'cosmo-composition.yaml';
14
+ const roverCompositionFile = 'rover-composition.yaml';
15
+ const apolloSchemaFile = 'apolloSchema.graphql';
16
+ const apolloScriptFile = 'apollo.sh';
7
17
  export default (opts) => {
8
18
  const cmd = new Command('fetch');
9
19
  cmd.description('Fetches the schemas of the federated graph, all of its subgraphs and the router config.');
@@ -13,34 +23,59 @@ export default (opts) => {
13
23
  cmd.option('-a, --apollo-compatibility', 'Enable apollo compatibility to generate the composition configs and script to generate schema using rover.');
14
24
  cmd.option('-v, --federation-version [string]', 'The version of federation to be used by rover in the format "1", "2", or "2.x.y". Default is 2.5.0.');
15
25
  cmd.action(async (name, options) => {
26
+ var _a;
16
27
  try {
17
28
  const fedGraphSchemas = await getFederatedGraphSchemas({
18
29
  client: opts.client,
19
30
  name,
20
31
  namespace: options.namespace,
21
32
  });
22
- const basePath = resolve(options.out, `${name}${options.namespace ? `-${options.namespace}` : ''}`);
33
+ let basePath = options.out ? resolve(options.out) : resolve();
34
+ basePath = join(basePath, `${name}-${options.namespace || 'default'}`);
35
+ if (!existsSync(basePath)) {
36
+ await mkdir(basePath, { recursive: true });
37
+ }
38
+ const entries = await readdir(basePath);
39
+ if (entries.length > 0) {
40
+ console.log(pc.red(`Output directory "${basePath}" is not empty. Please provide an empty directory path.`));
41
+ process.exitCode = 1;
42
+ return;
43
+ }
23
44
  const superGraphPath = join(basePath, '/supergraph/');
24
45
  const subgraphPath = join(basePath, '/subgraphs/');
25
46
  const scriptsPath = join(basePath, '/scripts/');
26
47
  if (!existsSync(superGraphPath)) {
27
- mkdirSync(superGraphPath, { recursive: true });
48
+ await mkdir(superGraphPath, { recursive: true });
28
49
  }
29
50
  if (!existsSync(subgraphPath)) {
30
- mkdirSync(subgraphPath, { recursive: true });
51
+ await mkdir(subgraphPath, { recursive: true });
31
52
  }
32
53
  if (!existsSync(scriptsPath) && options.apolloCompatibility) {
33
- mkdirSync(scriptsPath, { recursive: true });
54
+ await mkdir(scriptsPath, { recursive: true });
34
55
  }
35
56
  const routerConfig = await fetchRouterConfig({
36
57
  client: opts.client,
37
58
  name,
38
59
  namespace: options.namespace,
39
60
  });
40
- writeFileSync(join(superGraphPath, `cosmoConfig.json`), routerConfig);
41
- writeFileSync(join(superGraphPath, `cosmoSchema.graphql`), fedGraphSchemas.sdl);
61
+ await writeFile(join(superGraphPath, cosmoConfigFile), routerConfig.routerConfig);
62
+ if (routerConfig.mapper) {
63
+ // The mapper file is only available when `split-config-loading` is enabled
64
+ await writeFile(join(basePath, cosmoMapperFile), JSON.stringify(routerConfig.mapper));
65
+ }
66
+ if ((_a = routerConfig.featureFlags) === null || _a === void 0 ? void 0 : _a.size) {
67
+ // Same as the mapper, feature flags are only available when `split-config-loading` is enabled
68
+ const featureFlagsPath = join(basePath, featureFlagsDir);
69
+ if (!existsSync(featureFlagsPath)) {
70
+ await mkdir(featureFlagsPath);
71
+ }
72
+ for (const [featureFlagName, featureFlagConfig] of routerConfig.featureFlags) {
73
+ await writeFeatureFlagConfigToFile(featureFlagsPath, featureFlagName, featureFlagConfig);
74
+ }
75
+ }
76
+ await writeFile(join(superGraphPath, cosmoSchemaFile), fedGraphSchemas.sdl);
42
77
  if (fedGraphSchemas.clientSchema) {
43
- writeFileSync(join(superGraphPath, `cosmoClientSchema.graphql`), fedGraphSchemas.clientSchema);
78
+ await writeFile(join(superGraphPath, cosmoClientSchemaFile), fedGraphSchemas.clientSchema);
44
79
  }
45
80
  const subgraphs = await getSubgraphsOfFedGraph({ client: opts.client, name, namespace: options.namespace });
46
81
  const cosmoSubgraphsConfig = [];
@@ -86,13 +121,13 @@ export default (opts) => {
86
121
  };
87
122
  }
88
123
  }
89
- writeFileSync(filePath, subgraphSDL);
124
+ await writeFile(filePath, subgraphSDL);
90
125
  }
91
126
  const cosmoCompositionConfig = yaml.dump({
92
127
  version: 1,
93
128
  subgraphs: cosmoSubgraphsConfig,
94
129
  });
95
- writeFileSync(join(basePath, `cosmo-composition.yaml`), cosmoCompositionConfig);
130
+ await writeFile(join(basePath, cosmoCompositionFile), cosmoCompositionConfig);
96
131
  if (options.apolloCompatibility) {
97
132
  const roverCompositionConfig = yaml.dump({
98
133
  federation_version: `${options.federationVersion &&
@@ -112,11 +147,12 @@ export default (opts) => {
112
147
  },
113
148
  },
114
149
  });
115
- writeFileSync(join(basePath, `rover-composition.yaml`), roverCompositionConfig);
150
+ const absRoverCompositionFile = join(basePath, roverCompositionFile);
151
+ await writeFile(absRoverCompositionFile, roverCompositionConfig);
116
152
  const apolloScript = `npm install -g @apollo/rover
117
- rover supergraph compose --config '${join(basePath, `rover-composition.yaml`)}' --output '${join(superGraphPath, 'apolloSchema.graphql')}'
153
+ rover supergraph compose --config '${absRoverCompositionFile}' --output '${join(superGraphPath, apolloSchemaFile)}'
118
154
  `;
119
- writeFileSync(join(scriptsPath, `apollo.sh`), apolloScript);
155
+ await writeFile(join(scriptsPath, apolloScriptFile), apolloScript);
120
156
  }
121
157
  console.log(pc.green(`Successfully fetched the schemas of the federated graph, all its subgraphs and the router config of the federated graph ${pc.bold(name)}.`));
122
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/commands/graph/federated-graph/commands/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/commands/graph/federated-graph/commands/fetch.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,4 @@
1
1
  import { Client } from '../../../core/client/client.js';
2
- export declare const fetchRouterConfig: ({ client, name, namespace, }: {
3
- client: Client;
4
- name: string;
5
- namespace?: string;
6
- }) => Promise<string>;
7
2
  export interface Subgraph {
8
3
  name: string;
9
4
  routingURL: string;
@@ -1,42 +1,6 @@
1
1
  import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
2
- import { program } from 'commander';
3
- import jwtDecode from 'jwt-decode';
4
2
  import pc from 'picocolors';
5
- import { config, getBaseHeaders } from '../../../core/config.js';
6
- export const fetchRouterConfig = async ({ client, name, namespace, }) => {
7
- var _a, _b;
8
- const resp = await client.platform.generateRouterToken({
9
- fedGraphName: name,
10
- namespace,
11
- }, {
12
- headers: getBaseHeaders(),
13
- });
14
- if (((_a = resp.response) === null || _a === void 0 ? void 0 : _a.code) !== EnumStatusCode.OK) {
15
- throw new Error(`${pc.red(`Could not fetch the router config for the graph ${pc.bold(name)}`)} \n${pc.red(pc.bold(((_b = resp.response) === null || _b === void 0 ? void 0 : _b.details) || ''))}`);
16
- }
17
- let decoded;
18
- try {
19
- decoded = jwtDecode(resp.token);
20
- }
21
- catch {
22
- program.error('Could not fetch the router config. Please try again');
23
- }
24
- const requestBody = JSON.stringify({
25
- Version: '',
26
- });
27
- const headers = new Headers();
28
- headers.append('Content-Type', 'application/json; charset=UTF-8');
29
- headers.append('Authorization', 'Bearer ' + resp.token);
30
- headers.append('Accept-Encoding', 'gzip');
31
- const url = new URL(`/${decoded.organization_id}/${decoded.federated_graph_id}/routerconfigs/latest.json`, config.cdnURL);
32
- const response = await fetch(url, {
33
- method: 'POST',
34
- headers,
35
- body: requestBody,
36
- });
37
- const routerConfig = await response.text();
38
- return routerConfig;
39
- };
3
+ import { getBaseHeaders } from '../../../core/config.js';
40
4
  export const getSubgraphsOfFedGraph = async ({ client, name, namespace, }) => {
41
5
  var _a, _b;
42
6
  const resp = await client.platform.getFederatedGraphByName({
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/commands/graph/federated-graph/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/commands/graph/federated-graph/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
2
2
  import { z } from 'zod';
3
3
  import { getBaseHeaders } from '../../../core/config.js';
4
- import { fetchRouterConfig, getFederatedGraphSchemas, getSubgraphsOfFedGraph, } from '../../graph/federated-graph/utils.js';
4
+ import { getFederatedGraphSchemas, getSubgraphsOfFedGraph } from '../../graph/federated-graph/utils.js';
5
+ import { fetchRouterConfig } from '../../router/utils.js';
5
6
  export const registerFederatedGraphTools = ({ server, opts }) => {
6
7
  // List federated graphs tool
7
8
  server.registerTool('list_supergraphs', {
@@ -94,13 +95,13 @@ export const registerFederatedGraphTools = ({ server, opts }) => {
94
95
  },
95
96
  }, async ({ name, namespace }) => {
96
97
  try {
97
- const routerConfig = await fetchRouterConfig({
98
+ const result = await fetchRouterConfig({
98
99
  client: opts.client,
99
100
  name,
100
101
  namespace,
101
102
  });
102
103
  return {
103
- content: [{ type: 'text', text: routerConfig }],
104
+ content: [{ type: 'text', text: result.routerConfig }],
104
105
  };
105
106
  }
106
107
  catch (e) {
@@ -1 +1 @@
1
- {"version":3,"file":"federated-graph-tools.js","sourceRoot":"","sources":["../../../../../src/commands/mcp/tools/federated-graph-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"federated-graph-tools.js","sourceRoot":"","sources":["../../../../../src/commands/mcp/tools/federated-graph-tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kDAAkD,CAAC;AAClF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,EAAE,MAAM,EAAE,IAAI,EAAe,EAAE,EAAE;IAC3E,6BAA6B;IAC7B,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,yCAAyC;QACtD,WAAW,EAAE;YACX,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACzF;KACF,EACD,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;;QACtB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CACxD;gBACE,cAAc,EAAE,KAAK;gBACrB,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,CAAC;gBACT,SAAS;gBACT,kBAAkB,EAAE,IAAI;aACzB,EACD;gBACE,OAAO,EAAE,cAAc,EAAE;aAC1B,CACF,CAAC;YAEF,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,cAAc,CAAC,EAAE,IAAI,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,IAAI,MAAK,cAAc,CAAC,iBAAiB,EAAE,CAAC;gBAC1G,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAA,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,KAAI,EAAE,EAAE,CAAC,CAAC;YACvF,CAAC;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,QAAQ;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;oBACtB,CAAC,CAAC;wBACE,sBAAsB,EAAE,KAAK,CAAC,QAAQ,CAAC,sBAAsB;wBAC7D,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;wBACvC,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,WAAW;qBACxC;oBACH,CAAC,CAAC,SAAS;aACd,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAChE,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,KAAK,EAAE,kBAAkB;QACzB,WAAW,EAAE,uEAAuE;QACpF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,wBAAwB,CAAC;gBACrD,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAClB;4BACE,IAAI;4BACJ,SAAS;4BACT,OAAO,EAAE;gCACP,GAAG,EAAE,eAAe,CAAC,GAAG;gCACxB,YAAY,EAAE,eAAe,CAAC,YAAY;6BAC3C;yBACF,EACD,IAAI,EACJ,CAAC,CACF;qBACF;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CACF,CAAC;IAEF,2BAA2B;IAC3B,MAAM,CAAC,YAAY,CACjB,gCAAgC,EAChC;QACE,KAAK,EAAE,gCAAgC;QACvC,WAAW,EAAE,mEAAmE;QAChF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;gBACrC,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;aACvD,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;IACH,CAAC,CACF,CAAC;IAEF,uBAAuB;IACvB,MAAM,CAAC,YAAY,CACjB,4BAA4B,EAC5B;QACE,KAAK,EAAE,4BAA4B;QACnC,WAAW,EAAE,0EAA0E;QACvF,WAAW,EAAE;YACX,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;YACrE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sCAAsC,CAAC;SAClF;KACF,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE;QAC5B,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC;gBAC7C,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,IAAI;gBACJ,SAAS;aACV,CAAC,CAAC;YAEH,MAAM,eAAe,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACnD,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,aAAa,EAAE,QAAQ,CAAC,kBAAkB;gBAC1C,eAAe,EAAE,QAAQ,CAAC,eAAe;gBACzC,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;aACpD,CAAC,CAAC,CAAC;YAEJ,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;aAC5E,CAAC;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Command } from 'commander';
2
2
  import { BaseCommandOptions } from '../../../core/types/types.js';
3
- declare const _default: (opts: BaseCommandOptions) => Command;
3
+ declare const _default: (_: BaseCommandOptions) => Command;
4
4
  export default _default;
@@ -1,17 +1,19 @@
1
1
  import { existsSync } from 'node:fs';
2
- import { readFile, writeFile } from 'node:fs/promises';
2
+ import { mkdir, readdir, readFile, writeFile } from 'node:fs/promises';
3
+ import { createHash } from 'node:crypto';
3
4
  import { buildRouterConfig, normalizeURL, SubgraphKind, } from '@wundergraph/cosmo-shared';
4
5
  import semver from 'semver';
5
6
  import { Command, program } from 'commander';
6
7
  import { parse, printSchema } from 'graphql';
7
8
  import * as yaml from 'js-yaml';
8
- import { basename, dirname, resolve } from 'pathe';
9
+ import { basename, dirname, resolve, join } from 'pathe';
9
10
  import pc from 'picocolors';
10
11
  import { printSchemaWithDirectives } from '@graphql-tools/utils';
11
- import { FeatureFlagRouterExecutionConfig, FeatureFlagRouterExecutionConfigs, GRPCMapping, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
12
+ import { FeatureFlagRouterExecutionConfig, FeatureFlagRouterExecutionConfigs, GRPCMapping, RouterConfig, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
12
13
  import Table from 'cli-table3';
13
14
  import { ROUTER_COMPATIBILITY_VERSION_ONE } from '@wundergraph/composition';
14
15
  import { composeSubgraphs, introspectSubgraph } from '../../../utils.js';
16
+ import { mapperFile, routerConfigFile, featureFlagsDir, getRouterConfigOutputFile, writeFeatureFlagConfigToFile, } from '../utils.js';
15
17
  const STATIC_SCHEMA_VERSION_ID = '00000000-0000-0000-0000-000000000000';
16
18
  function constructRouterSubgraph(result, s, index) {
17
19
  const subgraphConfig = result.subgraphConfigBySubgraphName.get(s.name);
@@ -19,7 +21,7 @@ function constructRouterSubgraph(result, s, index) {
19
21
  const configurationDataByTypeName = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.configurationDataByTypeName;
20
22
  const costs = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.costs;
21
23
  if (s.kind === SubgraphKind.Standard) {
22
- const composedSubgraph = {
24
+ return {
23
25
  kind: SubgraphKind.Standard,
24
26
  id: `${index}`,
25
27
  name: s.name,
@@ -32,10 +34,9 @@ function constructRouterSubgraph(result, s, index) {
32
34
  configurationDataByTypeName,
33
35
  costs,
34
36
  };
35
- return composedSubgraph;
36
37
  }
37
38
  if (s.kind === SubgraphKind.Plugin) {
38
- const composedSubgraphPlugin = {
39
+ return {
39
40
  kind: SubgraphKind.Plugin,
40
41
  id: `${index}`,
41
42
  name: s.name,
@@ -48,9 +49,8 @@ function constructRouterSubgraph(result, s, index) {
48
49
  configurationDataByTypeName,
49
50
  costs,
50
51
  };
51
- return composedSubgraphPlugin;
52
52
  }
53
- const composedSubgraphGRPC = {
53
+ return {
54
54
  kind: SubgraphKind.GRPC,
55
55
  id: `${index}`,
56
56
  name: s.name,
@@ -62,9 +62,68 @@ function constructRouterSubgraph(result, s, index) {
62
62
  configurationDataByTypeName,
63
63
  costs,
64
64
  };
65
- return composedSubgraphGRPC;
66
65
  }
67
- export default (opts) => {
66
+ async function handleSplitRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs, }) {
67
+ let outputDir = options.out ? resolve(options.out) : options.out;
68
+ if (!outputDir) {
69
+ outputDir = resolve('router-compose-output');
70
+ }
71
+ if (!existsSync(outputDir)) {
72
+ await mkdir(outputDir);
73
+ }
74
+ const entries = await readdir(outputDir);
75
+ if (entries.length > 0) {
76
+ console.log(pc.red(`Split-config flag enabled; output directory "${outputDir}" is not empty. Please provide an empty directory path.`));
77
+ process.exitCode = 1;
78
+ return;
79
+ }
80
+ const routerConfigJSON = routerConfig.toJsonString();
81
+ const mapper = new Map();
82
+ mapper.set('', createHash('sha256').update(routerConfigJSON).digest('hex'));
83
+ await writeFile(join(outputDir, routerConfigFile), routerConfigJSON);
84
+ if (!config.feature_flags || config.feature_flags.length === 0) {
85
+ await writeFile(join(outputDir, mapperFile), JSON.stringify(Object.fromEntries(mapper)));
86
+ return;
87
+ }
88
+ const ffConfigs = await buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options);
89
+ const ffDir = join(outputDir, featureFlagsDir);
90
+ try {
91
+ await mkdir(ffDir);
92
+ }
93
+ catch {
94
+ console.log(pc.red(`Split-config flag enabled; output directory "${ffDir}" already exists. Please provide an empty root directory path.`));
95
+ process.exitCode = 1;
96
+ return;
97
+ }
98
+ for (const [featureFlagName, featureFlagConfig] of Object.entries(ffConfigs.configByFeatureFlagName)) {
99
+ const ffRouterConfig = new RouterConfig({
100
+ engineConfig: featureFlagConfig.engineConfig,
101
+ version: featureFlagConfig.version,
102
+ subgraphs: featureFlagConfig.subgraphs,
103
+ compatibilityVersion: routerConfig.compatibilityVersion,
104
+ });
105
+ const routerConfigJson = ffRouterConfig.toJsonString();
106
+ await writeFeatureFlagConfigToFile(ffDir, featureFlagName, routerConfigJson);
107
+ mapper.set(featureFlagName, createHash('sha256').update(routerConfigJson).digest('hex'));
108
+ }
109
+ await writeFile(join(outputDir, mapperFile), JSON.stringify(Object.fromEntries(mapper)));
110
+ console.log(pc.green(`Router execution manifest successfully written to "${pc.bold(outputDir)}".`));
111
+ }
112
+ async function handleEmbeddedRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs, }) {
113
+ if (!config.feature_flags || config.feature_flags.length > 0) {
114
+ routerConfig.featureFlagConfigs = await buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options);
115
+ }
116
+ const routerConfigJson = routerConfig.toJsonString();
117
+ if (options.out) {
118
+ const output = await getRouterConfigOutputFile(options.out);
119
+ await writeFile(output, routerConfigJson);
120
+ console.log(pc.green(`Router execution config successfully written to "${pc.bold(options.out)}".`));
121
+ }
122
+ else {
123
+ console.log(routerConfigJson);
124
+ }
125
+ }
126
+ export default (_) => {
68
127
  const command = new Command('compose');
69
128
  command.description('Generates a router config from a local composition file. This makes it easy to test your router without a control-plane connection. For production, please use the "router fetch" command');
70
129
  command.requiredOption('-i, --input <path-to-input>', 'The yaml file with data about graph and subgraphs.');
@@ -72,12 +131,19 @@ export default (opts) => {
72
131
  command.option('--suppress-warnings', 'This flag suppresses any warnings produced by composition.');
73
132
  command.option('--disable-resolvability-validation', 'This flag will disable the validation for whether all nodes of the federated graph are resolvable. Do NOT use unless troubleshooting.');
74
133
  command.option('--ignore-external-keys', 'This flag ignores errors related to true external entity keys.');
134
+ command.option('--split-configs-enabled', 'This flag enables splitting the router config into multiple files. Router version 0.315.0 or higher is required.');
75
135
  command.action(async (options) => {
76
136
  const inputFile = resolve(options.input);
77
137
  const inputFileLocation = dirname(inputFile);
78
138
  if (!existsSync(inputFile)) {
79
139
  program.error(pc.red(pc.bold(`The input file '${pc.bold(inputFile)}' does not exist. Please check the path and try again.`)));
80
140
  }
141
+ if (options.out) {
142
+ options.out = resolve(options.out);
143
+ if (options.splitConfigsEnabled) {
144
+ await mkdir(options.out, { recursive: true });
145
+ }
146
+ }
81
147
  const fileContent = (await readFile(inputFile)).toString();
82
148
  const config = yaml.load(fileContent);
83
149
  const subgraphs = [];
@@ -141,17 +207,9 @@ export default (opts) => {
141
207
  schemaVersionId: STATIC_SCHEMA_VERSION_ID,
142
208
  subgraphs: subgraphs.map((s, index) => constructRouterSubgraph(result, s, index)),
143
209
  });
144
- if (config.feature_flags && config.feature_flags.length > 0) {
145
- const ffConfigs = await buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options);
146
- routerConfig.featureFlagConfigs = ffConfigs;
147
- }
148
- if (options.out) {
149
- await writeFile(options.out, routerConfig.toJsonString());
150
- console.log(pc.green(`Router config successfully written to ${pc.bold(options.out)}`));
151
- }
152
- else {
153
- console.log(routerConfig.toJsonString());
154
- }
210
+ await (options.splitConfigsEnabled
211
+ ? handleSplitRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs })
212
+ : handleEmbeddedRouterConfig({ config, inputFileLocation, options, routerConfig, subgraphs }));
155
213
  });
156
214
  return command;
157
215
  };
@@ -216,8 +274,7 @@ async function toSubgraphMetadataStandard(inputFileLocation, index, s, subgraphs
216
274
  // The GraphQL schema is provided in the input file
217
275
  if ((_c = s.schema) === null || _c === void 0 ? void 0 : _c.file) {
218
276
  const schemaFile = resolve(inputFileLocation, s.schema.file);
219
- const sdl = (await readFile(schemaFile)).toString();
220
- schemaSDL = sdl;
277
+ schemaSDL = (await readFile(schemaFile)).toString();
221
278
  }
222
279
  else {
223
280
  // The GraphQL schema is not provided in the input file, so we need to introspect it
@@ -291,11 +348,11 @@ function validateSubgraphPlugin(inputFileLocation, s) {
291
348
  }
292
349
  }
293
350
  async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, options) {
294
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
351
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
295
352
  const ffConfigs = new FeatureFlagRouterExecutionConfigs();
296
353
  // @TODO This logic should exist only once in the shared package and reused across
297
354
  // control-plane and cli
298
- for (const ff of config.feature_flags) {
355
+ for (const ff of (_a = config.feature_flags) !== null && _a !== void 0 ? _a : []) {
299
356
  const featureSubgraphs = [];
300
357
  const standardSubgraphs = config.subgraphs.filter((ss) => !('plugin' in ss) && !('grpc' in ss));
301
358
  // Process each subgraph for this feature flag
@@ -304,9 +361,9 @@ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, opt
304
361
  const featureSubgraph = ff.feature_graphs.find((ffs) => ffs.subgraph_name === s.name);
305
362
  if (featureSubgraph) {
306
363
  // This subgraph is overridden by a feature graph
307
- const url = (_b = (_a = featureSubgraph.introspection) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : featureSubgraph.routing_url;
364
+ const url = (_c = (_b = featureSubgraph.introspection) === null || _b === void 0 ? void 0 : _b.url) !== null && _c !== void 0 ? _c : featureSubgraph.routing_url;
308
365
  let schemaSDL = '';
309
- if ((_c = featureSubgraph.schema) === null || _c === void 0 ? void 0 : _c.file) {
366
+ if ((_d = featureSubgraph.schema) === null || _d === void 0 ? void 0 : _d.file) {
310
367
  const schemaFile = resolve(inputFileLocation, featureSubgraph.schema.file);
311
368
  schemaSDL = await readFile(schemaFile, 'utf8');
312
369
  }
@@ -314,14 +371,14 @@ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, opt
314
371
  try {
315
372
  const result = await introspectSubgraph({
316
373
  subgraphURL: url,
317
- additionalHeaders: Object.entries((_e = (_d = featureSubgraph.introspection) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : {}).map(([key, value]) => ({
374
+ additionalHeaders: Object.entries((_f = (_e = featureSubgraph.introspection) === null || _e === void 0 ? void 0 : _e.headers) !== null && _f !== void 0 ? _f : {}).map(([key, value]) => ({
318
375
  key,
319
376
  value,
320
377
  })),
321
- rawIntrospection: (_f = featureSubgraph.introspection) === null || _f === void 0 ? void 0 : _f.raw,
378
+ rawIntrospection: (_g = featureSubgraph.introspection) === null || _g === void 0 ? void 0 : _g.raw,
322
379
  });
323
380
  if (!result.success) {
324
- program.error(`Could not introspect feature-graph subgraph ${featureSubgraph.name}, URL: ${url}: ${(_g = result.errorMessage) !== null && _g !== void 0 ? _g : 'failed'}`);
381
+ program.error(`Could not introspect feature-graph subgraph ${featureSubgraph.name}, URL: ${url}: ${(_h = result.errorMessage) !== null && _h !== void 0 ? _h : 'failed'}`);
325
382
  }
326
383
  schemaSDL = result.sdl;
327
384
  }
@@ -334,10 +391,10 @@ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, opt
334
391
  name: featureSubgraph.name,
335
392
  sdl: schemaSDL,
336
393
  routingUrl: featureSubgraph.routing_url,
337
- subscriptionUrl: ((_h = featureSubgraph.subscription) === null || _h === void 0 ? void 0 : _h.url) || featureSubgraph.routing_url,
338
- subscriptionProtocol: ((_j = featureSubgraph.subscription) === null || _j === void 0 ? void 0 : _j.protocol) || 'ws',
339
- websocketSubprotocol: ((_k = featureSubgraph.subscription) === null || _k === void 0 ? void 0 : _k.protocol) === 'ws'
340
- ? ((_l = featureSubgraph.subscription) === null || _l === void 0 ? void 0 : _l.websocketSubprotocol) || 'auto'
394
+ subscriptionUrl: ((_j = featureSubgraph.subscription) === null || _j === void 0 ? void 0 : _j.url) || featureSubgraph.routing_url,
395
+ subscriptionProtocol: ((_k = featureSubgraph.subscription) === null || _k === void 0 ? void 0 : _k.protocol) || 'ws',
396
+ websocketSubprotocol: ((_l = featureSubgraph.subscription) === null || _l === void 0 ? void 0 : _l.protocol) === 'ws'
397
+ ? ((_m = featureSubgraph.subscription) === null || _m === void 0 ? void 0 : _m.websocketSubprotocol) || 'auto'
341
398
  : 'auto',
342
399
  });
343
400
  }
@@ -398,7 +455,7 @@ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, opt
398
455
  const schema = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.schema;
399
456
  const configurationDataByTypeName = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.configurationDataByTypeName;
400
457
  const costs = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.costs;
401
- const composedSubgraph = {
458
+ return {
402
459
  kind: SubgraphKind.Standard,
403
460
  id: `${index}`,
404
461
  name: s.name,
@@ -411,7 +468,6 @@ async function buildFeatureFlagsConfig(config, inputFileLocation, subgraphs, opt
411
468
  configurationDataByTypeName,
412
469
  costs,
413
470
  };
414
- return composedSubgraph;
415
471
  }),
416
472
  });
417
473
  ffConfigs.configByFeatureFlagName[ff.name] = new FeatureFlagRouterExecutionConfig({