wgc 0.79.5 → 0.80.1
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.
- package/dist/package.json +13 -4
- package/dist/src/commands/router/commands/compose.js +179 -89
- package/dist/src/commands/router/commands/compose.js.map +1 -1
- package/dist/src/commands/router/index.js +5 -1
- package/dist/src/commands/router/index.js.map +1 -1
- package/dist/src/commands/router/plugin/commands/build.d.ts +4 -0
- package/dist/src/commands/router/plugin/commands/build.js +76 -0
- package/dist/src/commands/router/plugin/commands/build.js.map +1 -0
- package/dist/src/commands/router/plugin/commands/init.d.ts +4 -0
- package/dist/src/commands/router/plugin/commands/init.js +98 -0
- package/dist/src/commands/router/plugin/commands/init.js.map +1 -0
- package/dist/src/commands/router/plugin/commands/test.d.ts +4 -0
- package/dist/src/commands/router/plugin/commands/test.js +62 -0
- package/dist/src/commands/router/plugin/commands/test.js.map +1 -0
- package/dist/src/commands/router/plugin/helper.d.ts +10 -0
- package/dist/src/commands/router/plugin/helper.js +47 -0
- package/dist/src/commands/router/plugin/helper.js.map +1 -0
- package/dist/src/commands/router/plugin/index.d.ts +4 -0
- package/dist/src/commands/router/plugin/index.js +13 -0
- package/dist/src/commands/router/plugin/index.js.map +1 -0
- package/dist/src/commands/router/plugin/templates/go-plugin.d.ts +5 -0
- package/dist/src/commands/router/plugin/templates/go-plugin.js +342 -0
- package/dist/src/commands/router/plugin/templates/go-plugin.js.map +1 -0
- package/dist/src/commands/router/plugin/toolchain.d.ts +36 -0
- package/dist/src/commands/router/plugin/toolchain.js +413 -0
- package/dist/src/commands/router/plugin/toolchain.js.map +1 -0
- package/dist/src/core/config.d.ts +1 -0
- package/dist/src/core/config.js +1 -0
- package/dist/src/core/config.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +16 -7
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wgc",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.80.1",
|
|
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",
|
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
},
|
|
21
21
|
"scripts": {
|
|
22
22
|
"build": "del dist && tsc",
|
|
23
|
-
"build:bun": "bun build --compile src/index.ts
|
|
23
|
+
"build:bun": "bun build --compile --production --outfile wgc src/index.ts",
|
|
24
24
|
"wgc": "tsx --env-file .env src/index.ts",
|
|
25
25
|
"test": "pnpm lint && vitest run test/",
|
|
26
26
|
"coverage": "vitest run --coverage",
|
|
@@ -45,6 +45,7 @@
|
|
|
45
45
|
"@wundergraph/composition": "workspace:*",
|
|
46
46
|
"@wundergraph/cosmo-connect": "workspace:*",
|
|
47
47
|
"@wundergraph/cosmo-shared": "workspace:*",
|
|
48
|
+
"@wundergraph/protographic": "workspace:*",
|
|
48
49
|
"ajv": "^8.17.1",
|
|
49
50
|
"axios": "^1.8.4",
|
|
50
51
|
"boxen": "^7.1.1",
|
|
@@ -56,18 +57,23 @@
|
|
|
56
57
|
"dotenv": "^16.3.1",
|
|
57
58
|
"env-ci": "^11.1.0",
|
|
58
59
|
"env-paths": "^3.0.0",
|
|
60
|
+
"execa": "^9.5.2",
|
|
59
61
|
"graphql": "^16.9.0",
|
|
60
62
|
"https-proxy-agent": "^7.0.5",
|
|
61
63
|
"inquirer": "^9.2.7",
|
|
62
64
|
"js-yaml": "^4.1.0",
|
|
63
65
|
"jwt-decode": "^3.1.2",
|
|
66
|
+
"lodash-es": "4.17.21",
|
|
64
67
|
"log-symbols": "^5.1.0",
|
|
65
68
|
"octokit": "^4.1.3",
|
|
66
69
|
"open": "^9.1.0",
|
|
67
|
-
"ora": "^8.0
|
|
70
|
+
"ora": "^8.2.0",
|
|
68
71
|
"pathe": "^1.1.1",
|
|
69
72
|
"picocolors": "^1.0.0",
|
|
70
73
|
"posthog-node": "^4.17.1",
|
|
74
|
+
"prompts": "^2.4.2",
|
|
75
|
+
"pupa": "^3.1.0",
|
|
76
|
+
"semver": "^7.7.1",
|
|
71
77
|
"trieve-ts-sdk": "^0.0.80",
|
|
72
78
|
"undici": "^6.21.1",
|
|
73
79
|
"zod": "^3.22.4"
|
|
@@ -80,13 +86,16 @@
|
|
|
80
86
|
"@types/env-ci": "^3.1.4",
|
|
81
87
|
"@types/inquirer": "^9.0.3",
|
|
82
88
|
"@types/js-yaml": "^4.0.5",
|
|
89
|
+
"@types/lodash-es": "4.17.12",
|
|
83
90
|
"@types/node": "^20.3.1",
|
|
91
|
+
"@types/prompts": "^2.4.9",
|
|
92
|
+
"@types/semver": "^7.7.0",
|
|
84
93
|
"del-cli": "^5.0.0",
|
|
85
94
|
"eslint": "^8.57.1",
|
|
86
95
|
"eslint-config-unjs": "^0.2.1",
|
|
87
96
|
"eslint-plugin-require-extensions": "^0.1.3",
|
|
88
97
|
"prettier": "^3.5.2",
|
|
89
|
-
"tsx": "^4.
|
|
98
|
+
"tsx": "^4.19.4",
|
|
90
99
|
"typescript": "5.5.2",
|
|
91
100
|
"vitest": "^3.1.2"
|
|
92
101
|
},
|
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { readFile, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
|
-
import { buildRouterConfig, normalizeURL } from '@wundergraph/cosmo-shared';
|
|
4
|
+
import { buildRouterConfig, normalizeURL, SubgraphKind, } from '@wundergraph/cosmo-shared';
|
|
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 { dirname, resolve } from 'pathe';
|
|
9
|
+
import { basename, dirname, resolve } from 'pathe';
|
|
9
10
|
import pc from 'picocolors';
|
|
10
11
|
import { printSchemaWithDirectives } from '@graphql-tools/utils';
|
|
11
|
-
import { FeatureFlagRouterExecutionConfig, FeatureFlagRouterExecutionConfigs, } from '@wundergraph/cosmo-connect/dist/node/v1/node_pb';
|
|
12
|
+
import { FeatureFlagRouterExecutionConfig, FeatureFlagRouterExecutionConfigs, GRPCMapping, } 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';
|
|
@@ -19,7 +20,7 @@ export default (opts) => {
|
|
|
19
20
|
command.option('-o, --out [string]', 'Destination file for the router config.');
|
|
20
21
|
command.option('--suppress-warnings', 'This flag suppresses any warnings produced by composition.');
|
|
21
22
|
command.action(async (options) => {
|
|
22
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
23
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x;
|
|
23
24
|
const inputFile = resolve(options.input);
|
|
24
25
|
const inputFileLocation = dirname(inputFile);
|
|
25
26
|
if (!existsSync(inputFile)) {
|
|
@@ -27,40 +28,105 @@ export default (opts) => {
|
|
|
27
28
|
}
|
|
28
29
|
const fileContent = (await readFile(inputFile)).toString();
|
|
29
30
|
const config = yaml.load(fileContent);
|
|
30
|
-
const
|
|
31
|
-
for (const s of config.subgraphs) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
additionalHeaders: Object.entries((_e = (_d = s.introspection) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : {}).map(([key, value]) => ({
|
|
43
|
-
key,
|
|
44
|
-
value,
|
|
45
|
-
})),
|
|
46
|
-
rawIntrospection: (_f = s.introspection) === null || _f === void 0 ? void 0 : _f.raw,
|
|
47
|
-
});
|
|
48
|
-
if (!result.success) {
|
|
49
|
-
program.error(`Could not introspect subgraph ${s.name}, URL: ${url}: ${(_g = result.errorMessage) !== null && _g !== void 0 ? _g : 'failed'}`);
|
|
31
|
+
const subgraphs = [];
|
|
32
|
+
for (const [index, s] of config.subgraphs.entries()) {
|
|
33
|
+
// This is a subgraph plugin
|
|
34
|
+
if ('plugin' in s) {
|
|
35
|
+
if (!s.plugin.path) {
|
|
36
|
+
program.error(pc.red(pc.bold(`The plugin path is missing in the input file. Please check the path and try again.`)));
|
|
37
|
+
}
|
|
38
|
+
if (!existsSync(s.plugin.path)) {
|
|
39
|
+
program.error(pc.red(pc.bold(`The plugin path '${pc.bold(s.plugin.path)}' does not exist. Please check the path and try again.`)));
|
|
40
|
+
}
|
|
41
|
+
if (!s.plugin.version) {
|
|
42
|
+
program.error(pc.red(pc.bold(`The plugin version is missing in the input file. Please check the version and try again.`)));
|
|
50
43
|
}
|
|
51
|
-
|
|
44
|
+
// Check if valid semver
|
|
45
|
+
if (!semver.valid(s.plugin.version)) {
|
|
46
|
+
program.error(pc.red(pc.bold(`The plugin version '${pc.bold(s.plugin.version)}' is not a valid semver. Please check the version and try again.`)));
|
|
47
|
+
}
|
|
48
|
+
const pluginName = basename(s.plugin.path);
|
|
49
|
+
// Check if a plugin with the same name already exists
|
|
50
|
+
if (subgraphs.some((sg) => sg.kind === SubgraphKind.Plugin && sg.name === pluginName)) {
|
|
51
|
+
program.error(pc.red(pc.bold(`A plugin with the name '${pc.bold(pluginName)}' is already registered. Plugin names must be unique.`)));
|
|
52
|
+
}
|
|
53
|
+
const mappingFilePath = resolve(s.plugin.path, 'generated', 'mapping.json');
|
|
54
|
+
const mappingFile = await readFile(mappingFilePath, 'utf8');
|
|
55
|
+
const schemaFilePath = resolve(s.plugin.path, 'src', 'schema.graphql');
|
|
56
|
+
const sdl = await readFile(schemaFilePath, 'utf8');
|
|
57
|
+
const protoSchemaFilePath = resolve(s.plugin.path, 'generated', 'service.proto');
|
|
58
|
+
const protoSchema = await readFile(protoSchemaFilePath, 'utf8');
|
|
59
|
+
subgraphs.push({
|
|
60
|
+
kind: SubgraphKind.Plugin,
|
|
61
|
+
name: pluginName,
|
|
62
|
+
protoSchema,
|
|
63
|
+
version: s.plugin.version,
|
|
64
|
+
sdl,
|
|
65
|
+
mapping: GRPCMapping.fromJsonString(mappingFile),
|
|
66
|
+
});
|
|
52
67
|
}
|
|
53
|
-
|
|
54
|
-
|
|
68
|
+
else {
|
|
69
|
+
// The subgraph name is required
|
|
70
|
+
if (!s.name) {
|
|
71
|
+
program.error(pc.red(pc.bold(`The subgraph name is required for subgraph at index ${index}. Please provide a name and try again.`)));
|
|
72
|
+
}
|
|
73
|
+
const url = (_b = (_a = s.introspection) === null || _a === void 0 ? void 0 : _a.url) !== null && _b !== void 0 ? _b : s.routing_url;
|
|
74
|
+
// Check if a subgraph with the same name already exists
|
|
75
|
+
if (subgraphs.some((sg) => sg.name === s.name)) {
|
|
76
|
+
program.error(pc.red(pc.bold(`A subgraph with the name '${pc.bold(s.name)}' is already registered. Subgraph names must be unique.`)));
|
|
77
|
+
}
|
|
78
|
+
let schemaSDL = '';
|
|
79
|
+
// The GraphQL schema is provided in the input file
|
|
80
|
+
if ((_c = s.schema) === null || _c === void 0 ? void 0 : _c.file) {
|
|
81
|
+
const schemaFile = resolve(inputFileLocation, s.schema.file);
|
|
82
|
+
const sdl = (await readFile(schemaFile)).toString();
|
|
83
|
+
schemaSDL = sdl;
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
// The GraphQL schema is not provided in the input file, so we need to introspect it
|
|
87
|
+
try {
|
|
88
|
+
const result = await introspectSubgraph({
|
|
89
|
+
subgraphURL: url,
|
|
90
|
+
additionalHeaders: Object.entries((_e = (_d = s.introspection) === null || _d === void 0 ? void 0 : _d.headers) !== null && _e !== void 0 ? _e : {}).map(([key, value]) => ({
|
|
91
|
+
key,
|
|
92
|
+
value,
|
|
93
|
+
})),
|
|
94
|
+
rawIntrospection: (_f = s.introspection) === null || _f === void 0 ? void 0 : _f.raw,
|
|
95
|
+
});
|
|
96
|
+
if (!result.success) {
|
|
97
|
+
program.error(`Could not introspect subgraph ${s.name}, URL: ${url}: ${(_g = result.errorMessage) !== null && _g !== void 0 ? _g : 'failed'}`);
|
|
98
|
+
}
|
|
99
|
+
schemaSDL = result.sdl;
|
|
100
|
+
}
|
|
101
|
+
catch (e) {
|
|
102
|
+
program.error(`Could not introspect subgraph ${s.name}, URL: ${url}: ${e.message}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
subgraphs.push({
|
|
106
|
+
kind: SubgraphKind.Standard,
|
|
107
|
+
name: s.name,
|
|
108
|
+
sdl: schemaSDL,
|
|
109
|
+
subscriptionUrl: ((_h = s.subscription) === null || _h === void 0 ? void 0 : _h.url) || s.routing_url,
|
|
110
|
+
subscriptionProtocol: ((_j = s.subscription) === null || _j === void 0 ? void 0 : _j.protocol) || 'ws',
|
|
111
|
+
websocketSubprotocol: ((_k = s.subscription) === null || _k === void 0 ? void 0 : _k.protocol) === 'ws' ? (_l = s.subscription) === null || _l === void 0 ? void 0 : _l.websocketSubprotocol : 'auto',
|
|
112
|
+
routingUrl: normalizeURL(s.routing_url),
|
|
113
|
+
});
|
|
55
114
|
}
|
|
56
115
|
}
|
|
57
|
-
const result = composeSubgraphs(
|
|
116
|
+
const result = composeSubgraphs(subgraphs.map((s, index) => {
|
|
58
117
|
var _a;
|
|
59
|
-
|
|
118
|
+
if (s.kind === SubgraphKind.Plugin) {
|
|
119
|
+
return {
|
|
120
|
+
name: s.name,
|
|
121
|
+
url: `http://localhost:3000/plugin/${index}`,
|
|
122
|
+
definitions: parse((_a = s.sdl) !== null && _a !== void 0 ? _a : ''),
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
60
126
|
name: s.name,
|
|
61
|
-
url:
|
|
62
|
-
definitions: parse(
|
|
63
|
-
}
|
|
127
|
+
url: s.routingUrl,
|
|
128
|
+
definitions: parse(s.sdl),
|
|
129
|
+
};
|
|
64
130
|
}));
|
|
65
131
|
if (!result.success) {
|
|
66
132
|
const compositionErrorsTable = new Table({
|
|
@@ -96,22 +162,38 @@ export default (opts) => {
|
|
|
96
162
|
// @TODO get router compatibility version programmatically
|
|
97
163
|
routerCompatibilityVersion: ROUTER_COMPATIBILITY_VERSION_ONE,
|
|
98
164
|
schemaVersionId: 'static',
|
|
99
|
-
subgraphs:
|
|
100
|
-
var _a, _b, _c, _d, _e;
|
|
165
|
+
subgraphs: subgraphs.map((s, index) => {
|
|
101
166
|
const subgraphConfig = result.subgraphConfigBySubgraphName.get(s.name);
|
|
102
167
|
const schema = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.schema;
|
|
103
168
|
const configurationDataByTypeName = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.configurationDataByTypeName;
|
|
104
|
-
|
|
169
|
+
if (s.kind === SubgraphKind.Standard) {
|
|
170
|
+
const composedSubgraph = {
|
|
171
|
+
kind: SubgraphKind.Standard,
|
|
172
|
+
id: `${index}`,
|
|
173
|
+
name: s.name,
|
|
174
|
+
url: s.routingUrl,
|
|
175
|
+
sdl: s.sdl,
|
|
176
|
+
subscriptionUrl: s.subscriptionUrl,
|
|
177
|
+
subscriptionProtocol: s.subscriptionProtocol,
|
|
178
|
+
websocketSubprotocol: s.websocketSubprotocol,
|
|
179
|
+
schema,
|
|
180
|
+
configurationDataByTypeName,
|
|
181
|
+
};
|
|
182
|
+
return composedSubgraph;
|
|
183
|
+
}
|
|
184
|
+
const composedSubgraphPlugin = {
|
|
185
|
+
kind: SubgraphKind.Plugin,
|
|
105
186
|
id: `${index}`,
|
|
106
187
|
name: s.name,
|
|
107
|
-
url:
|
|
108
|
-
sdl:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
188
|
+
url: `http://localhost:3000/plugin/${index}`,
|
|
189
|
+
sdl: s.sdl,
|
|
190
|
+
mapping: s.mapping,
|
|
191
|
+
protoSchema: s.protoSchema,
|
|
192
|
+
version: s.version,
|
|
112
193
|
schema,
|
|
113
194
|
configurationDataByTypeName,
|
|
114
195
|
};
|
|
196
|
+
return composedSubgraphPlugin;
|
|
115
197
|
}),
|
|
116
198
|
});
|
|
117
199
|
routerConfig.version = randomUUID();
|
|
@@ -120,115 +202,123 @@ export default (opts) => {
|
|
|
120
202
|
// @TODO This logic should exist only once in the shared package and reused across
|
|
121
203
|
// control-plane and cli
|
|
122
204
|
for (const ff of config.feature_flags) {
|
|
123
|
-
const
|
|
124
|
-
|
|
125
|
-
|
|
205
|
+
const featureSubgraphs = [];
|
|
206
|
+
const standardSubgraphs = config.subgraphs.filter((ss) => !('plugin' in ss));
|
|
207
|
+
// Process each subgraph for this feature flag
|
|
208
|
+
for (const s of standardSubgraphs) {
|
|
209
|
+
// Check if this subgraph is overridden by a feature graph
|
|
126
210
|
const featureSubgraph = ff.feature_graphs.find((ffs) => ffs.subgraph_name === s.name);
|
|
127
211
|
if (featureSubgraph) {
|
|
128
|
-
|
|
212
|
+
// This subgraph is overridden by a feature graph
|
|
213
|
+
const url = (_o = (_m = featureSubgraph.introspection) === null || _m === void 0 ? void 0 : _m.url) !== null && _o !== void 0 ? _o : featureSubgraph.routing_url;
|
|
214
|
+
let schemaSDL = '';
|
|
215
|
+
if ((_p = featureSubgraph.schema) === null || _p === void 0 ? void 0 : _p.file) {
|
|
129
216
|
const schemaFile = resolve(inputFileLocation, featureSubgraph.schema.file);
|
|
130
|
-
|
|
131
|
-
// Replace feature subgraph sdl with the base subgraph sdl
|
|
132
|
-
subgraphSDLs.set(featureSubgraph.name, sdl);
|
|
217
|
+
schemaSDL = await readFile(schemaFile, 'utf8');
|
|
133
218
|
}
|
|
134
219
|
else {
|
|
135
|
-
const url = (_k = (_j = featureSubgraph.introspection) === null || _j === void 0 ? void 0 : _j.url) !== null && _k !== void 0 ? _k : featureSubgraph.routing_url;
|
|
136
220
|
try {
|
|
137
221
|
const result = await introspectSubgraph({
|
|
138
222
|
subgraphURL: url,
|
|
139
|
-
additionalHeaders: Object.entries((
|
|
223
|
+
additionalHeaders: Object.entries((_r = (_q = featureSubgraph.introspection) === null || _q === void 0 ? void 0 : _q.headers) !== null && _r !== void 0 ? _r : {}).map(([key, value]) => ({
|
|
140
224
|
key,
|
|
141
225
|
value,
|
|
142
226
|
})),
|
|
143
|
-
rawIntrospection: (
|
|
227
|
+
rawIntrospection: (_s = featureSubgraph.introspection) === null || _s === void 0 ? void 0 : _s.raw,
|
|
144
228
|
});
|
|
145
229
|
if (!result.success) {
|
|
146
|
-
program.error(`Could not introspect feature-graph subgraph ${featureSubgraph.name}, URL: ${url}: ${(
|
|
230
|
+
program.error(`Could not introspect feature-graph subgraph ${featureSubgraph.name}, URL: ${url}: ${(_t = result.errorMessage) !== null && _t !== void 0 ? _t : 'failed'}`);
|
|
147
231
|
}
|
|
148
|
-
|
|
149
|
-
subgraphSDLs.set(s.name, result.sdl);
|
|
232
|
+
schemaSDL = result.sdl;
|
|
150
233
|
}
|
|
151
234
|
catch (e) {
|
|
152
235
|
program.error(`Could not introspect feature-graph subgraph ${featureSubgraph.name}, URL: ${url}: ${e.message}`);
|
|
153
236
|
}
|
|
154
237
|
}
|
|
155
|
-
|
|
238
|
+
featureSubgraphs.push({
|
|
239
|
+
kind: SubgraphKind.Standard,
|
|
156
240
|
name: featureSubgraph.name,
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
subscription: featureSubgraph.
|
|
160
|
-
|
|
241
|
+
sdl: schemaSDL,
|
|
242
|
+
routingUrl: featureSubgraph.routing_url,
|
|
243
|
+
subscriptionUrl: ((_u = featureSubgraph.subscription) === null || _u === void 0 ? void 0 : _u.url) || featureSubgraph.routing_url,
|
|
244
|
+
subscriptionProtocol: ((_v = featureSubgraph.subscription) === null || _v === void 0 ? void 0 : _v.protocol) || 'ws',
|
|
245
|
+
websocketSubprotocol: ((_w = featureSubgraph.subscription) === null || _w === void 0 ? void 0 : _w.protocol) === 'ws'
|
|
246
|
+
? ((_x = featureSubgraph.subscription) === null || _x === void 0 ? void 0 : _x.websocketSubprotocol) || 'auto'
|
|
247
|
+
: 'auto',
|
|
161
248
|
});
|
|
162
249
|
}
|
|
163
250
|
else {
|
|
164
|
-
|
|
251
|
+
// Use the base subgraph as is
|
|
252
|
+
// Find the corresponding metadata in the original subgraphs array
|
|
253
|
+
const originalSubgraph = subgraphs.find((sub) => sub.kind === SubgraphKind.Standard && sub.name === s.name);
|
|
254
|
+
if (originalSubgraph) {
|
|
255
|
+
featureSubgraphs.push(originalSubgraph);
|
|
256
|
+
}
|
|
165
257
|
}
|
|
166
258
|
}
|
|
167
|
-
const
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
});
|
|
174
|
-
}));
|
|
175
|
-
if (!result.success) {
|
|
259
|
+
const featureResult = composeSubgraphs(featureSubgraphs.map((s) => ({
|
|
260
|
+
name: s.name,
|
|
261
|
+
url: normalizeURL(s.routingUrl),
|
|
262
|
+
definitions: parse(s.sdl),
|
|
263
|
+
})));
|
|
264
|
+
if (!featureResult.success) {
|
|
176
265
|
const compositionErrorsTable = new Table({
|
|
177
266
|
head: [pc.bold(pc.white('ERROR_MESSAGE'))],
|
|
178
267
|
colWidths: [120],
|
|
179
268
|
wordWrap: true,
|
|
180
269
|
});
|
|
181
270
|
console.log(pc.red(`We found composition errors, while composing the feature flag ${pc.italic(ff.name)}.\n${pc.bold('Please check the errors below:')}`));
|
|
182
|
-
for (const compositionError of
|
|
271
|
+
for (const compositionError of featureResult.errors) {
|
|
183
272
|
compositionErrorsTable.push([compositionError.message]);
|
|
184
273
|
}
|
|
185
274
|
console.log(compositionErrorsTable.toString());
|
|
186
275
|
continue;
|
|
187
276
|
}
|
|
188
|
-
if (!options.suppressWarnings &&
|
|
277
|
+
if (!options.suppressWarnings && featureResult.warnings.length > 0) {
|
|
189
278
|
const compositionWarningsTable = new Table({
|
|
190
279
|
head: [pc.bold(pc.white('WARNING_MESSAGE'))],
|
|
191
280
|
colWidths: [120],
|
|
192
281
|
wordWrap: true,
|
|
193
282
|
});
|
|
194
283
|
console.log(pc.yellow(`The following warnings were produced while composing the feature flag ${pc.italic(ff.name)}:`));
|
|
195
|
-
for (const warning of
|
|
284
|
+
for (const warning of featureResult.warnings) {
|
|
196
285
|
compositionWarningsTable.push([warning.message]);
|
|
197
286
|
}
|
|
198
287
|
console.log(compositionWarningsTable.toString());
|
|
199
288
|
}
|
|
200
|
-
const
|
|
201
|
-
? printSchema(
|
|
289
|
+
const featureFederatedClientSDL = featureResult.shouldIncludeClientSchema
|
|
290
|
+
? printSchema(featureResult.federatedGraphClientSchema)
|
|
202
291
|
: '';
|
|
203
|
-
const
|
|
204
|
-
federatedClientSDL,
|
|
205
|
-
federatedSDL: printSchemaWithDirectives(
|
|
206
|
-
fieldConfigurations:
|
|
292
|
+
const featureRouterConfig = buildRouterConfig({
|
|
293
|
+
federatedClientSDL: featureFederatedClientSDL,
|
|
294
|
+
federatedSDL: printSchemaWithDirectives(featureResult.federatedGraphSchema),
|
|
295
|
+
fieldConfigurations: featureResult.fieldConfigurations,
|
|
207
296
|
// @TODO get router compatibility version programmatically
|
|
208
297
|
routerCompatibilityVersion: ROUTER_COMPATIBILITY_VERSION_ONE,
|
|
209
298
|
schemaVersionId: `static`,
|
|
210
|
-
subgraphs:
|
|
211
|
-
|
|
212
|
-
const subgraphConfig = result.subgraphConfigBySubgraphName.get(s.name);
|
|
299
|
+
subgraphs: featureSubgraphs.map((s, index) => {
|
|
300
|
+
const subgraphConfig = featureResult.subgraphConfigBySubgraphName.get(s.name);
|
|
213
301
|
const schema = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.schema;
|
|
214
302
|
const configurationDataByTypeName = subgraphConfig === null || subgraphConfig === void 0 ? void 0 : subgraphConfig.configurationDataByTypeName;
|
|
215
|
-
|
|
303
|
+
const composedSubgraph = {
|
|
304
|
+
kind: SubgraphKind.Standard,
|
|
216
305
|
id: `${index}`,
|
|
217
306
|
name: s.name,
|
|
218
|
-
url:
|
|
219
|
-
sdl:
|
|
220
|
-
subscriptionUrl:
|
|
221
|
-
subscriptionProtocol:
|
|
222
|
-
websocketSubprotocol:
|
|
307
|
+
url: s.routingUrl,
|
|
308
|
+
sdl: s.sdl,
|
|
309
|
+
subscriptionUrl: s.subscriptionUrl,
|
|
310
|
+
subscriptionProtocol: s.subscriptionProtocol,
|
|
311
|
+
websocketSubprotocol: s.websocketSubprotocol,
|
|
223
312
|
schema,
|
|
224
313
|
configurationDataByTypeName,
|
|
225
314
|
};
|
|
315
|
+
return composedSubgraph;
|
|
226
316
|
}),
|
|
227
317
|
});
|
|
228
318
|
ffConfigs.configByFeatureFlagName[ff.name] = new FeatureFlagRouterExecutionConfig({
|
|
229
|
-
version:
|
|
230
|
-
subgraphs:
|
|
231
|
-
engineConfig:
|
|
319
|
+
version: featureRouterConfig.version,
|
|
320
|
+
subgraphs: featureRouterConfig.subgraphs,
|
|
321
|
+
engineConfig: featureRouterConfig.engineConfig,
|
|
232
322
|
});
|
|
233
323
|
ffConfigs.configByFeatureFlagName[ff.name].version = randomUUID();
|
|
234
324
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../../src/commands/router/commands/compose.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"compose.js","sourceRoot":"","sources":["../../../../../src/commands/router/commands/compose.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,10 @@ import RouterTokenCommands from './commands/token/index.js';
|
|
|
6
6
|
import DownloadRouterBinaryConfig from './commands/download-binary.js';
|
|
7
7
|
import CompatibilityVersionCommands from './commands/compatibility-version/index.js';
|
|
8
8
|
import RouterCacheCommands from './commands/cache/index.js';
|
|
9
|
+
import PluginCommands from './plugin/index.js';
|
|
9
10
|
export default (opts) => {
|
|
10
11
|
const cmd = new Command('router');
|
|
11
|
-
cmd.description('
|
|
12
|
+
cmd.description('Manages router configurations and deployment - fetch configs, compose locally, manage tokens, download binary, configure plugins');
|
|
12
13
|
cmd.addCommand(FetchRouterConfig(opts));
|
|
13
14
|
cmd.addCommand(ComposeRouterConfig(opts));
|
|
14
15
|
cmd.addCommand(RouterTokenCommands({
|
|
@@ -21,6 +22,9 @@ export default (opts) => {
|
|
|
21
22
|
cmd.addCommand(CompatibilityVersionCommands({
|
|
22
23
|
client: opts.client,
|
|
23
24
|
}));
|
|
25
|
+
cmd.addCommand(PluginCommands({
|
|
26
|
+
client: opts.client,
|
|
27
|
+
}));
|
|
24
28
|
cmd.hook('preAction', async (thisCmd) => {
|
|
25
29
|
if (['compose', 'download-binary', 'compatibility-version'].includes(thisCmd.args[0])) {
|
|
26
30
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,0BAA0B,MAAM,+BAA+B,CAAC;AACvE,OAAO,4BAA4B,MAAM,2CAA2C,CAAC;AACrF,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/commands/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AACpD,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,0BAA0B,MAAM,+BAA+B,CAAC;AACvE,OAAO,4BAA4B,MAAM,2CAA2C,CAAC;AACrF,OAAO,mBAAmB,MAAM,2BAA2B,CAAC;AAC5D,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAE/C,eAAe,CAAC,IAAwB,EAAE,EAAE;IAC1C,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClC,GAAG,CAAC,WAAW,CACb,kIAAkI,CACnI,CAAC;IACF,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,UAAU,CACZ,mBAAmB,CAAC;QAClB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CACH,CAAC;IACF,GAAG,CAAC,UAAU,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,GAAG,CAAC,UAAU,CACZ,mBAAmB,CAAC;QAClB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CACH,CAAC;IACF,GAAG,CAAC,UAAU,CACZ,4BAA4B,CAAC;QAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CACH,CAAC;IACF,GAAG,CAAC,UAAU,CACZ,cAAc,CAAC;QACb,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC,CACH,CAAC;IAEF,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACtC,IAAI,CAAC,SAAS,EAAE,iBAAiB,EAAE,uBAAuB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtF,OAAO;QACT,CAAC;QACD,MAAM,SAAS,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import path from 'node:path';
|
|
2
|
+
import os from 'node:os';
|
|
3
|
+
import { Command, program } from 'commander';
|
|
4
|
+
import { resolve } from 'pathe';
|
|
5
|
+
import Spinner from 'ora';
|
|
6
|
+
import { renderResultTree } from '../helper.js';
|
|
7
|
+
import { buildBinaries, checkAndInstallTools, generateGRPCCode, generateProtoAndMapping, HOST_PLATFORM, installGoDependencies, normalizePlatforms, } from '../toolchain.js';
|
|
8
|
+
export default (opts) => {
|
|
9
|
+
const command = new Command('build');
|
|
10
|
+
command.description('Build a gRPC router plugin');
|
|
11
|
+
command.argument('[directory]', 'Directory of the plugin', '.');
|
|
12
|
+
command.option('--generate-only', 'Generate only the proto and mapping files, do not compile the plugin');
|
|
13
|
+
command.option('--debug', 'Build the binary with debug information', false);
|
|
14
|
+
command.option('--platform [platforms...]', 'Platform-architecture combinations (e.g., darwin-arm64 linux-amd64)', [
|
|
15
|
+
HOST_PLATFORM,
|
|
16
|
+
]);
|
|
17
|
+
command.option('--all-platforms', 'Build for all supported platforms', false);
|
|
18
|
+
command.option('--skip-tools-installation', 'Skip tool installation', false);
|
|
19
|
+
command.option('--force-tools-installation', 'Force tools installation regardless of version check or confirmation', false);
|
|
20
|
+
command.option('--go-module-path <path>', 'Go module path to use for the plugin', 'github.com/wundergraph/cosmo/plugin');
|
|
21
|
+
command.action(async (directory, options) => {
|
|
22
|
+
const startTime = performance.now();
|
|
23
|
+
const pluginDir = resolve(directory);
|
|
24
|
+
const spinner = Spinner();
|
|
25
|
+
const pluginName = path.basename(pluginDir);
|
|
26
|
+
const goModulePath = options.goModulePath;
|
|
27
|
+
let platforms = [];
|
|
28
|
+
try {
|
|
29
|
+
// Check and install tools if needed
|
|
30
|
+
if (!options.skipToolsInstallation) {
|
|
31
|
+
await checkAndInstallTools(options.forceToolsInstallation);
|
|
32
|
+
}
|
|
33
|
+
// Normalize platform list
|
|
34
|
+
platforms = normalizePlatforms(options.platform, options.allPlatforms);
|
|
35
|
+
// Start the main build process
|
|
36
|
+
spinner.start('Building plugin...');
|
|
37
|
+
// Generate proto and mapping files
|
|
38
|
+
await generateProtoAndMapping(pluginDir, goModulePath, spinner);
|
|
39
|
+
// Generate gRPC code
|
|
40
|
+
await generateGRPCCode(pluginDir, spinner);
|
|
41
|
+
if (!options.generateOnly) {
|
|
42
|
+
// Install Go dependencies
|
|
43
|
+
await installGoDependencies(pluginDir, spinner);
|
|
44
|
+
// Build binaries for all platforms
|
|
45
|
+
await buildBinaries(pluginDir, platforms, options.debug, spinner);
|
|
46
|
+
}
|
|
47
|
+
// Calculate and format elapsed time
|
|
48
|
+
const endTime = performance.now();
|
|
49
|
+
const elapsedTimeMs = endTime - startTime;
|
|
50
|
+
const formattedTime = elapsedTimeMs > 1000 ? `${(elapsedTimeMs / 1000).toFixed(2)}s` : `${Math.round(elapsedTimeMs)}ms`;
|
|
51
|
+
renderResultTree(spinner, 'Plugin built successfully!', true, pluginName, {
|
|
52
|
+
output: pluginDir,
|
|
53
|
+
'go module': goModulePath,
|
|
54
|
+
platforms: platforms.join(', '),
|
|
55
|
+
env: `${os.platform()} ${os.arch()}`,
|
|
56
|
+
build: options.debug ? 'debug' : 'release',
|
|
57
|
+
type: options.generateOnly ? 'generate-only' : 'full',
|
|
58
|
+
time: formattedTime,
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
renderResultTree(spinner, 'Plugin build failed!', false, pluginName, {
|
|
63
|
+
output: pluginDir,
|
|
64
|
+
'go module': goModulePath,
|
|
65
|
+
platforms: platforms.join(', '),
|
|
66
|
+
env: `${os.platform()} ${os.arch()}`,
|
|
67
|
+
build: options.debug ? 'debug' : 'release',
|
|
68
|
+
type: options.generateOnly ? 'generate-only' : 'full',
|
|
69
|
+
error: error.message,
|
|
70
|
+
});
|
|
71
|
+
program.error('');
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return command;
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=build.js.map
|