wgc 0.64.2 → 0.65.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.
@@ -5,7 +5,7 @@ import logSymbols from 'log-symbols';
5
5
  import pc from 'picocolors';
6
6
  import { config } from './core/config.js';
7
7
  export const handleCheckResult = (resp) => {
8
- var _a, _b, _c, _d, _e, _f, _g;
8
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
9
9
  const changesTable = new Table({
10
10
  head: [pc.bold(pc.white('CHANGE')), pc.bold(pc.white('TYPE')), pc.bold(pc.white('DESCRIPTION'))],
11
11
  wordWrap: true,
@@ -20,6 +20,17 @@ export const handleCheckResult = (resp) => {
20
20
  colAligns: ['left', 'left', 'center'],
21
21
  wordWrap: true,
22
22
  });
23
+ const graphPruningIssuesTable = new Table({
24
+ head: [
25
+ pc.bold(pc.white('RULE')),
26
+ pc.bold(pc.white('FEDERATED_GRAPH_NAME')),
27
+ pc.bold(pc.white('FIELD_PATH')),
28
+ pc.bold(pc.white('MESSAGE')),
29
+ pc.bold(pc.white('LINE NUMBER')),
30
+ ],
31
+ colAligns: ['left', 'left', 'left', 'left', 'center'],
32
+ wordWrap: true,
33
+ });
23
34
  let success = false;
24
35
  let finalStatement = '';
25
36
  let studioCheckDestination = '';
@@ -32,8 +43,10 @@ export const handleCheckResult = (resp) => {
32
43
  resp.breakingChanges.length === 0 &&
33
44
  resp.compositionErrors.length === 0 &&
34
45
  resp.lintErrors.length === 0 &&
35
- resp.lintWarnings.length === 0) {
36
- console.log(`\nDetected no changes.\nDetected no lint issues.\n\n${studioCheckDestination}\n`);
46
+ resp.lintWarnings.length === 0 &&
47
+ resp.graphPruneErrors.length === 0 &&
48
+ resp.graphPruneWarnings.length === 0) {
49
+ console.log(`\nDetected no changes.\nDetected no lint issues.\nDetected no graph pruning issues.\n\n${studioCheckDestination}\n`);
37
50
  success = true;
38
51
  break;
39
52
  }
@@ -43,20 +56,25 @@ export const handleCheckResult = (resp) => {
43
56
  if (resp.operationUsageStats.totalOperations === 0) {
44
57
  // Composition errors are still considered failures, otherwise we can consider this a success
45
58
  // because no operations were affected by the change
46
- success = resp.compositionErrors.length === 0 && resp.lintErrors.length === 0;
59
+ success =
60
+ resp.compositionErrors.length === 0 && resp.lintErrors.length === 0 && resp.graphPruneErrors.length === 0;
47
61
  console.log(`No operations were affected by this schema change.`);
48
62
  finalStatement = `This schema change didn't affect any operations from existing client traffic.`;
49
63
  }
50
64
  else if (resp.operationUsageStats.totalOperations === resp.operationUsageStats.safeOperations) {
51
65
  // This is also a success because changes to these operations were marked as safe
52
- success = resp.compositionErrors.length === 0 && resp.lintErrors.length === 0;
66
+ success =
67
+ resp.compositionErrors.length === 0 && resp.lintErrors.length === 0 && resp.graphPruneErrors.length === 0;
53
68
  console.log(`${resp.operationUsageStats.totalOperations} operations were considered safe due to overrides.`);
54
69
  finalStatement = `This schema change affected operations with safe overrides.`;
55
70
  }
56
71
  else {
57
72
  // Composition and breaking errors are considered failures because operations were affected by the change
58
73
  success =
59
- resp.breakingChanges.length === 0 && resp.compositionErrors.length === 0 && resp.lintErrors.length === 0;
74
+ resp.breakingChanges.length === 0 &&
75
+ resp.compositionErrors.length === 0 &&
76
+ resp.lintErrors.length === 0 &&
77
+ resp.graphPruneErrors.length === 0;
60
78
  console.log(logSymbols.warning +
61
79
  ` Compared ${pc.bold(resp.breakingChanges.length)} breaking change's impacting ${pc.bold(resp.operationUsageStats.totalOperations - resp.operationUsageStats.safeOperations)} operations. ${resp.operationUsageStats.safeOperations > 0
62
80
  ? `Also, ${resp.operationUsageStats.safeOperations} operations marked safe due to overrides.`
@@ -118,6 +136,28 @@ export const handleCheckResult = (resp) => {
118
136
  }
119
137
  console.log(lintIssuesTable.toString());
120
138
  }
139
+ if (resp.graphPruneErrors.length > 0 || resp.graphPruneWarnings.length > 0) {
140
+ console.log('\nDetected graph pruning issues:');
141
+ for (const error of resp.graphPruneErrors) {
142
+ graphPruningIssuesTable.push([
143
+ `${logSymbols.error} ${pc.red(error.graphPruningRuleType)}`,
144
+ error.federatedGraphName,
145
+ error.fieldPath,
146
+ error.message,
147
+ ((_d = error.issueLocation) === null || _d === void 0 ? void 0 : _d.line) || '-',
148
+ ]);
149
+ }
150
+ for (const warning of resp.graphPruneWarnings) {
151
+ graphPruningIssuesTable.push([
152
+ `${logSymbols.warning} ${pc.yellow(warning.graphPruningRuleType)}`,
153
+ warning.federatedGraphName,
154
+ warning.fieldPath,
155
+ warning.message,
156
+ ((_e = warning.issueLocation) === null || _e === void 0 ? void 0 : _e.line) || '-',
157
+ ]);
158
+ }
159
+ console.log(graphPruningIssuesTable.toString());
160
+ }
121
161
  if (success) {
122
162
  console.log('\n' +
123
163
  logSymbols.success +
@@ -136,16 +176,16 @@ export const handleCheckResult = (resp) => {
136
176
  }
137
177
  case EnumStatusCode.ERR_INVALID_SUBGRAPH_SCHEMA: {
138
178
  console.log('\nCheck has failed early because the schema could not be built. Please ensure that the schema is valid GraphQL and try again.');
139
- if ((_d = resp.response) === null || _d === void 0 ? void 0 : _d.details) {
140
- console.log(pc.red(pc.bold((_e = resp.response) === null || _e === void 0 ? void 0 : _e.details)));
179
+ if ((_f = resp.response) === null || _f === void 0 ? void 0 : _f.details) {
180
+ console.log(pc.red(pc.bold((_g = resp.response) === null || _g === void 0 ? void 0 : _g.details)));
141
181
  }
142
182
  program.error(logSymbols.error + pc.red(' Schema check failed.'));
143
183
  break;
144
184
  }
145
185
  default: {
146
186
  console.log('\nFailed to perform the check operation.');
147
- if ((_f = resp.response) === null || _f === void 0 ? void 0 : _f.details) {
148
- console.log(pc.red(pc.bold((_g = resp.response) === null || _g === void 0 ? void 0 : _g.details)));
187
+ if ((_h = resp.response) === null || _h === void 0 ? void 0 : _h.details) {
188
+ console.log(pc.red(pc.bold((_j = resp.response) === null || _j === void 0 ? void 0 : _j.details)));
149
189
  }
150
190
  program.error(logSymbols.error + pc.red(' Schema check failed.'));
151
191
  }
@@ -1 +1 @@
1
- {"version":3,"file":"handle-check-result.js","sourceRoot":"","sources":["../src/handle-check-result.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-check-result.js","sourceRoot":"","sources":["../src/handle-check-result.ts"],"names":[],"mappings":"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"}