wgc 0.115.1 → 0.117.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 (45) hide show
  1. package/README.md +1 -1
  2. package/dist/package.json +21 -21
  3. package/dist/src/commands/demo/api.d.ts +78 -0
  4. package/dist/src/commands/demo/api.js +152 -0
  5. package/dist/src/commands/demo/api.js.map +1 -0
  6. package/dist/src/commands/demo/command.d.ts +2 -0
  7. package/dist/src/commands/demo/command.js +425 -0
  8. package/dist/src/commands/demo/command.js.map +1 -0
  9. package/dist/src/commands/demo/index.d.ts +4 -0
  10. package/dist/src/commands/demo/index.js +13 -0
  11. package/dist/src/commands/demo/index.js.map +1 -0
  12. package/dist/src/commands/demo/types.d.ts +2 -0
  13. package/dist/src/commands/demo/types.js +2 -0
  14. package/dist/src/commands/demo/types.js.map +1 -0
  15. package/dist/src/commands/demo/util.d.ts +77 -0
  16. package/dist/src/commands/demo/util.js +482 -0
  17. package/dist/src/commands/demo/util.js.map +1 -0
  18. package/dist/src/commands/index.js +4 -0
  19. package/dist/src/commands/index.js.map +1 -1
  20. package/dist/src/commands/router/commands/plugin/commands/publish.js +37 -157
  21. package/dist/src/commands/router/commands/plugin/commands/publish.js.map +1 -1
  22. package/dist/src/commands/router/commands/token/commands/create.js +17 -23
  23. package/dist/src/commands/router/commands/token/commands/create.js.map +1 -1
  24. package/dist/src/commands/router/commands/token/commands/delete.js +8 -14
  25. package/dist/src/commands/router/commands/token/commands/delete.js.map +1 -1
  26. package/dist/src/core/config.d.ts +14 -0
  27. package/dist/src/core/config.js +14 -0
  28. package/dist/src/core/config.js.map +1 -1
  29. package/dist/src/core/plugin-publish.d.ts +65 -0
  30. package/dist/src/core/plugin-publish.js +192 -0
  31. package/dist/src/core/plugin-publish.js.map +1 -0
  32. package/dist/src/core/router-token.d.ts +30 -0
  33. package/dist/src/core/router-token.js +45 -0
  34. package/dist/src/core/router-token.js.map +1 -0
  35. package/dist/src/utils.d.ts +20 -0
  36. package/dist/src/utils.js +99 -1
  37. package/dist/src/utils.js.map +1 -1
  38. package/dist/test/demo/command.test.d.ts +1 -0
  39. package/dist/test/demo/command.test.js +396 -0
  40. package/dist/test/demo/command.test.js.map +1 -0
  41. package/dist/test/demo/util.test.d.ts +1 -0
  42. package/dist/test/demo/util.test.js +310 -0
  43. package/dist/test/demo/util.test.js.map +1 -0
  44. package/dist/tsconfig.tsbuildinfo +1 -1
  45. package/package.json +19 -19
package/README.md CHANGED
@@ -37,7 +37,7 @@ Whether you're building monolithic or federated GraphQL architectures, `wgc` pro
37
37
 
38
38
  ### Prerequisites
39
39
 
40
- - [Node.js](https://nodejs.org/) v20 LTS or higher
40
+ - [Node.js](https://nodejs.org/) v22+ (>=22.11.0)
41
41
 
42
42
  ### Install via npm
43
43
 
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wgc",
3
- "version": "0.115.1",
3
+ "version": "0.117.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",
@@ -41,10 +41,10 @@
41
41
  ],
42
42
  "license": "Apache-2.0",
43
43
  "dependencies": {
44
- "@bufbuild/protobuf": "1.9.0",
45
- "@connectrpc/connect": "1.4.0",
46
- "@connectrpc/connect-node": "1.4.0",
47
- "@graphql-tools/utils": "11.0.0",
44
+ "@bufbuild/protobuf": "catalog:",
45
+ "@connectrpc/connect": "catalog:",
46
+ "@connectrpc/connect-node": "catalog:",
47
+ "@graphql-tools/utils": "catalog:",
48
48
  "@modelcontextprotocol/sdk": "1.26.0",
49
49
  "@octokit/rest": "22.0.0",
50
50
  "@wundergraph/composition": "workspace:*",
@@ -52,24 +52,24 @@
52
52
  "@wundergraph/cosmo-shared": "workspace:*",
53
53
  "@wundergraph/protographic": "workspace:*",
54
54
  "ajv": "8.18.0",
55
- "axios": "1.13.5",
55
+ "axios": "catalog:",
56
56
  "boxen": "7.1.1",
57
57
  "cli-progress": "3.12.0",
58
58
  "cli-table3": "0.6.3",
59
59
  "commander": "11.1.0",
60
- "date-fns": "3.6.0",
60
+ "date-fns": "catalog:",
61
61
  "decompress": "4.2.1",
62
- "dotenv": "16.6.0",
62
+ "dotenv": "catalog:",
63
63
  "env-ci": "11.1.0",
64
64
  "env-paths": "3.0.0",
65
65
  "execa": "9.5.2",
66
66
  "fs-extra": "11.3.0",
67
- "graphql": "16.9.0",
67
+ "graphql": "catalog:",
68
68
  "https-proxy-agent": "7.0.5",
69
69
  "inquirer": "9.2.7",
70
70
  "js-yaml": "4.1.1",
71
71
  "jwt-decode": "3.1.2",
72
- "lodash-es": "4.18.1",
72
+ "lodash-es": "catalog:",
73
73
  "log-symbols": "5.1.0",
74
74
  "octokit": "4.1.3",
75
75
  "open": "9.1.0",
@@ -83,7 +83,7 @@
83
83
  "tar": "7.5.11",
84
84
  "trieve-ts-sdk": "0.0.80",
85
85
  "undici": "6.24.0",
86
- "zod": "^3.25.0"
86
+ "zod": "catalog:"
87
87
  },
88
88
  "devDependencies": {
89
89
  "@types/bun": "1.2.3",
@@ -94,18 +94,18 @@
94
94
  "@types/fs-extra": "11.0.4",
95
95
  "@types/inquirer": "9.0.3",
96
96
  "@types/js-yaml": "4.0.5",
97
- "@types/lodash-es": "4.17.12",
98
- "@types/node": "20.12.12",
97
+ "@types/lodash-es": "catalog:",
98
+ "@types/node": "catalog:",
99
99
  "@types/prompts": "2.4.9",
100
100
  "@types/semver": "7.7.0",
101
- "@vitest/coverage-v8": "3.2.4",
102
- "del-cli": "5.0.0",
103
- "eslint": "8.57.1",
104
- "eslint-config-unjs": "0.2.1",
105
- "eslint-plugin-require-extensions": "0.1.3",
106
- "tsx": "4.19.4",
107
- "typescript": "5.5.2",
108
- "vitest": "3.2.4"
101
+ "@vitest/coverage-v8": "catalog:",
102
+ "del-cli": "catalog:",
103
+ "eslint": "catalog:",
104
+ "eslint-config-unjs": "catalog:",
105
+ "eslint-plugin-require-extensions": "catalog:",
106
+ "tsx": "catalog:",
107
+ "typescript": "catalog:",
108
+ "vitest": "catalog:"
109
109
  },
110
110
  "gitHead": "c37aed755e1b19ed91d30f9b5f7041e15c56901a"
111
111
  }
@@ -0,0 +1,78 @@
1
+ import type { FederatedGraph, Subgraph } from '@wundergraph/cosmo-connect/dist/platform/v1/platform_pb';
2
+ import type { BaseCommandOptions } from '../../core/types/types.js';
3
+ /**
4
+ * Retrieve user information [email] and [organization name]
5
+ */
6
+ export declare function fetchUserInfo(client: BaseCommandOptions['client']): Promise<{
7
+ userInfo: import("@wundergraph/cosmo-connect/dist/platform/v1/platform_pb").WhoAmIResponse;
8
+ error: null;
9
+ } | {
10
+ userInfo: null;
11
+ error: Error;
12
+ }>;
13
+ /**
14
+ * Retrieve onboarding record. Provides information about allowed [status]:
15
+ * [error] | [not-allowed] | [ok]
16
+ * If record exists, returns [onboarding] metadata.
17
+ */
18
+ export declare function checkExistingOnboarding(client: BaseCommandOptions['client']): Promise<{
19
+ readonly error: Error;
20
+ readonly status: "error";
21
+ readonly onboarding?: undefined;
22
+ } | {
23
+ readonly status: "not-allowed";
24
+ readonly error?: undefined;
25
+ readonly onboarding?: undefined;
26
+ } | {
27
+ readonly onboarding: {
28
+ readonly finishedAt: string | undefined;
29
+ };
30
+ readonly status: "ok";
31
+ readonly error?: undefined;
32
+ }>;
33
+ /**
34
+ * Retrieves federated graph by [name] *demo*. Missing federated graph
35
+ * is a valid state.
36
+ */
37
+ export declare function fetchFederatedGraphByName(client: BaseCommandOptions['client'], { name, namespace }: {
38
+ name: string;
39
+ namespace: string;
40
+ }): Promise<{
41
+ data: {
42
+ graph: FederatedGraph | undefined;
43
+ subgraphs: Subgraph[];
44
+ };
45
+ error: null;
46
+ } | {
47
+ data: null;
48
+ error: null;
49
+ } | {
50
+ data: null;
51
+ error: Error;
52
+ }>;
53
+ /**
54
+ * Cleans up the federated graph by [name] _demo_ and its related
55
+ * subgraphs.
56
+ */
57
+ export declare function cleanUpFederatedGraph(client: BaseCommandOptions['client'], graphData: {
58
+ graph: FederatedGraph;
59
+ subgraphs: Subgraph[];
60
+ }): Promise<{
61
+ error: Error;
62
+ } | {
63
+ error: null;
64
+ }>;
65
+ /**
66
+ * Creates federated graph using default [name] and [namespace], with pre-defined
67
+ * [labelMatcher] which identify the graph as _demo_.
68
+ */
69
+ export declare function createFederatedGraph(client: BaseCommandOptions['client'], options: {
70
+ name: string;
71
+ namespace: string;
72
+ labelMatcher: string;
73
+ routingUrl: URL;
74
+ }): Promise<{
75
+ error: null;
76
+ } | {
77
+ error: Error;
78
+ }>;
@@ -0,0 +1,152 @@
1
+ import { EnumStatusCode } from '@wundergraph/cosmo-connect/dist/common/common_pb';
2
+ import { getBaseHeaders } from '../../core/config.js';
3
+ /**
4
+ * Retrieve user information [email] and [organization name]
5
+ */
6
+ export async function fetchUserInfo(client) {
7
+ var _a, _b, _c;
8
+ try {
9
+ const response = await client.platform.whoAmI({}, {
10
+ headers: getBaseHeaders(),
11
+ });
12
+ switch ((_a = response.response) === null || _a === void 0 ? void 0 : _a.code) {
13
+ case EnumStatusCode.OK: {
14
+ return {
15
+ userInfo: response,
16
+ error: null,
17
+ };
18
+ }
19
+ default: {
20
+ return {
21
+ userInfo: null,
22
+ error: new Error((_c = (_b = response.response) === null || _b === void 0 ? void 0 : _b.details) !== null && _c !== void 0 ? _c : 'An unknown error occurred.'),
23
+ };
24
+ }
25
+ }
26
+ }
27
+ catch (err) {
28
+ return {
29
+ userInfo: null,
30
+ error: err instanceof Error ? err : new Error('An unknown error occurred.'),
31
+ };
32
+ }
33
+ }
34
+ /**
35
+ * Retrieve onboarding record. Provides information about allowed [status]:
36
+ * [error] | [not-allowed] | [ok]
37
+ * If record exists, returns [onboarding] metadata.
38
+ */
39
+ export async function checkExistingOnboarding(client) {
40
+ var _a;
41
+ const { response, finishedAt, enabled } = await client.platform.getOnboarding({}, {
42
+ headers: getBaseHeaders(),
43
+ });
44
+ if ((response === null || response === void 0 ? void 0 : response.code) !== EnumStatusCode.OK) {
45
+ return {
46
+ error: new Error((_a = response === null || response === void 0 ? void 0 : response.details) !== null && _a !== void 0 ? _a : 'Failed to fetch onboarding metadata.'),
47
+ status: 'error',
48
+ };
49
+ }
50
+ if (!enabled) {
51
+ return {
52
+ status: 'not-allowed',
53
+ };
54
+ }
55
+ return {
56
+ onboarding: {
57
+ finishedAt,
58
+ },
59
+ status: 'ok',
60
+ };
61
+ }
62
+ /**
63
+ * Retrieves federated graph by [name] *demo*. Missing federated graph
64
+ * is a valid state.
65
+ */
66
+ export async function fetchFederatedGraphByName(client, { name, namespace }) {
67
+ var _a;
68
+ const { response, graph, subgraphs } = await client.platform.getFederatedGraphByName({
69
+ name,
70
+ namespace,
71
+ }, {
72
+ headers: getBaseHeaders(),
73
+ });
74
+ switch (response === null || response === void 0 ? void 0 : response.code) {
75
+ case EnumStatusCode.OK: {
76
+ return { data: { graph, subgraphs }, error: null };
77
+ }
78
+ case EnumStatusCode.ERR_NOT_FOUND: {
79
+ return { data: null, error: null };
80
+ }
81
+ default: {
82
+ return {
83
+ data: null,
84
+ error: new Error((_a = response === null || response === void 0 ? void 0 : response.details) !== null && _a !== void 0 ? _a : 'An unknown error occured'),
85
+ };
86
+ }
87
+ }
88
+ }
89
+ /**
90
+ * Cleans up the federated graph by [name] _demo_ and its related
91
+ * subgraphs.
92
+ */
93
+ export async function cleanUpFederatedGraph(client, graphData) {
94
+ var _a, _b, _c;
95
+ const subgraphDeleteResponses = await Promise.all(graphData.subgraphs.map(({ name, namespace }) => client.platform.deleteFederatedSubgraph({
96
+ namespace,
97
+ subgraphName: name,
98
+ disableResolvabilityValidation: false,
99
+ }, {
100
+ headers: getBaseHeaders(),
101
+ })));
102
+ const failedSubgraphDeleteResponses = subgraphDeleteResponses.filter(({ response }) => (response === null || response === void 0 ? void 0 : response.code) !== EnumStatusCode.OK);
103
+ if (failedSubgraphDeleteResponses.length > 0) {
104
+ return {
105
+ error: new Error(failedSubgraphDeleteResponses.map(({ response }) => { var _a; return (_a = response === null || response === void 0 ? void 0 : response.details) !== null && _a !== void 0 ? _a : 'Unknown error occurred.'; }).join('. ')),
106
+ };
107
+ }
108
+ const federatedGraphDeleteResponse = await client.platform.deleteFederatedGraph({
109
+ name: graphData.graph.name,
110
+ namespace: graphData.graph.namespace,
111
+ }, {
112
+ headers: getBaseHeaders(),
113
+ });
114
+ switch ((_a = federatedGraphDeleteResponse.response) === null || _a === void 0 ? void 0 : _a.code) {
115
+ case EnumStatusCode.OK: {
116
+ return {
117
+ error: null,
118
+ };
119
+ }
120
+ default: {
121
+ return {
122
+ error: new Error((_c = (_b = federatedGraphDeleteResponse.response) === null || _b === void 0 ? void 0 : _b.details) !== null && _c !== void 0 ? _c : 'Unknown error occurred.'),
123
+ };
124
+ }
125
+ }
126
+ }
127
+ /**
128
+ * Creates federated graph using default [name] and [namespace], with pre-defined
129
+ * [labelMatcher] which identify the graph as _demo_.
130
+ */
131
+ export async function createFederatedGraph(client, options) {
132
+ var _a, _b, _c;
133
+ const createFedGraphResponse = await client.platform.createFederatedGraph({
134
+ name: options.name,
135
+ namespace: options.namespace,
136
+ routingUrl: options.routingUrl.toString(),
137
+ labelMatchers: [options.labelMatcher],
138
+ }, {
139
+ headers: getBaseHeaders(),
140
+ });
141
+ switch ((_a = createFedGraphResponse.response) === null || _a === void 0 ? void 0 : _a.code) {
142
+ case EnumStatusCode.OK: {
143
+ return { error: null };
144
+ }
145
+ default: {
146
+ return {
147
+ error: new Error((_c = (_b = createFedGraphResponse.response) === null || _b === void 0 ? void 0 : _b.details) !== null && _c !== void 0 ? _c : 'An unknown error occured'),
148
+ };
149
+ }
150
+ }
151
+ }
152
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../../src/commands/demo/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { BaseCommandOptions } from '../../core/types/types.js';
2
+ export default function (opts: BaseCommandOptions): () => Promise<void>;