@graphql-inspector/cli 3.4.13-alpha-20230417141810-fd2d33e7 → 3.4.13
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/README.md +3 -3
- package/cjs/action/src/run.js +1 -1
- package/cjs/commands/commands/src/index.js +7 -8
- package/cjs/commands/diff/src/index.js +6 -6
- package/cjs/commands/docs/src/index.js +1 -3
- package/cjs/commands/serve/src/fake.js +4 -4
- package/cjs/commands/serve/src/index.js +8 -7
- package/cjs/commands/similar/src/index.js +2 -2
- package/cjs/commands/validate/src/index.js +4 -4
- package/cjs/core/src/ast/document.js +2 -2
- package/cjs/core/src/coverage/index.js +7 -7
- package/cjs/core/src/diff/changes/argument.js +80 -19
- package/cjs/core/src/diff/changes/directive.js +208 -39
- package/cjs/core/src/diff/changes/enum.js +123 -25
- package/cjs/core/src/diff/changes/field.js +260 -69
- package/cjs/core/src/diff/changes/input.js +153 -34
- package/cjs/core/src/diff/changes/object.js +37 -9
- package/cjs/core/src/diff/changes/schema.js +55 -13
- package/cjs/core/src/diff/changes/type.js +106 -19
- package/cjs/core/src/diff/changes/union.js +35 -7
- package/cjs/core/src/diff/directive.js +2 -4
- package/cjs/core/src/diff/rules/consider-usage.js +3 -3
- package/cjs/core/src/index.js +63 -1
- package/cjs/core/src/similar/index.js +2 -2
- package/cjs/core/src/utils/compare.js +3 -9
- package/cjs/core/src/utils/is-deprecated.js +1 -1
- package/cjs/core/src/utils/string.js +5 -2
- package/cjs/core/src/validate/complexity.js +1 -1
- package/cjs/core/src/validate/directive-count.js +1 -1
- package/cjs/core/src/validate/index.js +12 -11
- package/cjs/core/src/validate/query-depth.js +1 -1
- package/cjs/github/src/helpers/config.js +6 -2
- package/cjs/github/src/helpers/utils.js +1 -1
- package/cjs/loaders/loaders/src/index.js +1 -2
- package/esm/action/src/run.js +1 -1
- package/esm/commands/commands/src/index.js +7 -8
- package/esm/commands/diff/src/index.js +6 -6
- package/esm/commands/docs/src/index.js +1 -4
- package/esm/commands/serve/src/fake.js +4 -4
- package/esm/commands/serve/src/index.js +8 -7
- package/esm/commands/similar/src/index.js +2 -2
- package/esm/commands/validate/src/index.js +4 -4
- package/esm/core/src/ast/document.js +2 -2
- package/esm/core/src/coverage/index.js +7 -7
- package/esm/core/src/diff/changes/argument.js +77 -19
- package/esm/core/src/diff/changes/directive.js +198 -39
- package/esm/core/src/diff/changes/enum.js +117 -25
- package/esm/core/src/diff/changes/field.js +240 -62
- package/esm/core/src/diff/changes/input.js +145 -34
- package/esm/core/src/diff/changes/object.js +35 -9
- package/esm/core/src/diff/changes/schema.js +50 -11
- package/esm/core/src/diff/changes/type.js +100 -19
- package/esm/core/src/diff/changes/union.js +33 -7
- package/esm/core/src/diff/directive.js +2 -4
- package/esm/core/src/diff/rules/consider-usage.js +3 -3
- package/esm/core/src/index.js +9 -0
- package/esm/core/src/similar/index.js +2 -2
- package/esm/core/src/utils/compare.js +3 -9
- package/esm/core/src/utils/is-deprecated.js +1 -1
- package/esm/core/src/utils/string.js +5 -2
- package/esm/core/src/validate/complexity.js +1 -1
- package/esm/core/src/validate/directive-count.js +1 -1
- package/esm/core/src/validate/index.js +12 -11
- package/esm/core/src/validate/query-depth.js +1 -1
- package/esm/github/src/helpers/config.js +6 -2
- package/esm/github/src/helpers/utils.js +1 -1
- package/esm/loaders/loaders/src/index.js +1 -2
- package/package.json +20 -20
- package/typings/core/src/diff/changes/argument.d.cts +52 -4
- package/typings/core/src/diff/changes/argument.d.ts +52 -4
- package/typings/core/src/diff/changes/change.d.cts +500 -2
- package/typings/core/src/diff/changes/change.d.ts +500 -2
- package/typings/core/src/diff/changes/directive.d.cts +147 -11
- package/typings/core/src/diff/changes/directive.d.ts +147 -11
- package/typings/core/src/diff/changes/enum.d.cts +75 -7
- package/typings/core/src/diff/changes/enum.d.ts +75 -7
- package/typings/core/src/diff/changes/field.d.cts +189 -14
- package/typings/core/src/diff/changes/field.d.ts +189 -14
- package/typings/core/src/diff/changes/input.d.cts +112 -8
- package/typings/core/src/diff/changes/input.d.ts +112 -8
- package/typings/core/src/diff/changes/object.d.cts +29 -3
- package/typings/core/src/diff/changes/object.d.ts +29 -3
- package/typings/core/src/diff/changes/schema.d.cts +37 -4
- package/typings/core/src/diff/changes/schema.d.ts +37 -4
- package/typings/core/src/diff/changes/type.d.cts +80 -7
- package/typings/core/src/diff/changes/type.d.ts +80 -7
- package/typings/core/src/diff/changes/union.d.cts +29 -3
- package/typings/core/src/diff/changes/union.d.ts +29 -3
- package/typings/core/src/index.d.cts +10 -0
- package/typings/core/src/index.d.ts +10 -0
- package/typings/core/src/utils/is-deprecated.d.cts +1 -1
- package/typings/core/src/utils/is-deprecated.d.ts +1 -1
- package/typings/core/src/utils/string.d.cts +1 -1
- package/typings/core/src/utils/string.d.ts +1 -1
- package/typings/core/utils/testing.d.cts +2 -2
- package/typings/core/utils/testing.d.ts +2 -2
- package/typings/github/src/helpers/utils.d.cts +1 -1
- package/typings/github/src/helpers/utils.d.ts +1 -1
|
@@ -1,124 +1,293 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.directiveArgumentTypeChanged = exports.directiveArgumentDefaultValueChanged = exports.directiveArgumentDescriptionChanged = exports.directiveArgumentRemoved = exports.directiveArgumentAdded = exports.directiveLocationRemoved = exports.directiveLocationAdded = exports.directiveDescriptionChanged = exports.directiveAdded = exports.directiveRemoved = void 0;
|
|
3
|
+
exports.directiveArgumentTypeChanged = exports.directiveArgumentTypeChangedFromMeta = exports.directiveArgumentDefaultValueChanged = exports.directiveArgumentDefaultValueChangedFromMeta = exports.directiveArgumentDescriptionChanged = exports.directiveArgumentDescriptionChangedFromMeta = exports.directiveArgumentRemoved = exports.directiveArgumentRemovedFromMeta = exports.directiveArgumentAdded = exports.directiveArgumentAddedFromMeta = exports.directiveLocationRemoved = exports.directiveLocationRemovedFromMeta = exports.directiveLocationAdded = exports.directiveLocationAddedFromMeta = exports.directiveDescriptionChanged = exports.directiveDescriptionChangedFromMeta = exports.directiveAdded = exports.directiveAddedFromMeta = exports.directiveRemoved = exports.directiveRemovedFromMeta = void 0;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
const graphql_js_1 = require("../../utils/graphql.js");
|
|
6
|
+
const string_js_1 = require("../../utils/string.js");
|
|
6
7
|
const change_js_1 = require("./change.js");
|
|
7
|
-
function
|
|
8
|
+
function buildDirectiveRemovedMessage(args) {
|
|
9
|
+
return `Directive '${args.removedDirectiveName}' was removed`;
|
|
10
|
+
}
|
|
11
|
+
const directiveRemovedCriticalityBreakingReason = `A directive could be in use of a client application. Removing it could break the client application.`;
|
|
12
|
+
function directiveRemovedFromMeta(args) {
|
|
8
13
|
return {
|
|
9
14
|
criticality: {
|
|
10
15
|
level: change_js_1.CriticalityLevel.Breaking,
|
|
16
|
+
reason: directiveRemovedCriticalityBreakingReason,
|
|
11
17
|
},
|
|
12
18
|
type: change_js_1.ChangeType.DirectiveRemoved,
|
|
13
|
-
message:
|
|
14
|
-
path: `@${
|
|
19
|
+
message: buildDirectiveRemovedMessage(args.meta),
|
|
20
|
+
path: `@${args.meta.removedDirectiveName}`,
|
|
21
|
+
meta: args.meta,
|
|
15
22
|
};
|
|
16
23
|
}
|
|
24
|
+
exports.directiveRemovedFromMeta = directiveRemovedFromMeta;
|
|
25
|
+
function directiveRemoved(directive) {
|
|
26
|
+
return directiveRemovedFromMeta({
|
|
27
|
+
type: change_js_1.ChangeType.DirectiveRemoved,
|
|
28
|
+
meta: {
|
|
29
|
+
removedDirectiveName: directive.name,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
17
33
|
exports.directiveRemoved = directiveRemoved;
|
|
18
|
-
function
|
|
34
|
+
function buildDirectiveAddedMessage(args) {
|
|
35
|
+
return `Directive '${args.addedDirectiveName}' was added`;
|
|
36
|
+
}
|
|
37
|
+
function directiveAddedFromMeta(args) {
|
|
19
38
|
return {
|
|
20
39
|
criticality: {
|
|
21
40
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
22
41
|
},
|
|
23
42
|
type: change_js_1.ChangeType.DirectiveAdded,
|
|
24
|
-
message:
|
|
25
|
-
path: `@${
|
|
43
|
+
message: buildDirectiveAddedMessage(args.meta),
|
|
44
|
+
path: `@${args.meta.addedDirectiveName}`,
|
|
45
|
+
meta: args.meta,
|
|
26
46
|
};
|
|
27
47
|
}
|
|
48
|
+
exports.directiveAddedFromMeta = directiveAddedFromMeta;
|
|
49
|
+
function directiveAdded(directive) {
|
|
50
|
+
return directiveAddedFromMeta({
|
|
51
|
+
type: change_js_1.ChangeType.DirectiveAdded,
|
|
52
|
+
meta: {
|
|
53
|
+
addedDirectiveName: directive.name,
|
|
54
|
+
},
|
|
55
|
+
});
|
|
56
|
+
}
|
|
28
57
|
exports.directiveAdded = directiveAdded;
|
|
29
|
-
function
|
|
58
|
+
function buildDirectiveDescriptionChangedMessage(args) {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
return `Directive '${args.directiveName}' description changed from '${(_a = args.oldDirectiveDescription) !== null && _a !== void 0 ? _a : 'undefined'}' to '${(_b = args.newDirectiveDescription) !== null && _b !== void 0 ? _b : 'undefined'}'`;
|
|
61
|
+
}
|
|
62
|
+
function directiveDescriptionChangedFromMeta(args) {
|
|
30
63
|
return {
|
|
31
64
|
criticality: {
|
|
32
65
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
33
66
|
},
|
|
34
67
|
type: change_js_1.ChangeType.DirectiveDescriptionChanged,
|
|
35
|
-
message:
|
|
36
|
-
path: `@${
|
|
68
|
+
message: buildDirectiveDescriptionChangedMessage(args.meta),
|
|
69
|
+
path: `@${args.meta.directiveName}`,
|
|
70
|
+
meta: args.meta,
|
|
37
71
|
};
|
|
38
72
|
}
|
|
73
|
+
exports.directiveDescriptionChangedFromMeta = directiveDescriptionChangedFromMeta;
|
|
74
|
+
function directiveDescriptionChanged(oldDirective, newDirective) {
|
|
75
|
+
var _a, _b;
|
|
76
|
+
return directiveDescriptionChangedFromMeta({
|
|
77
|
+
type: change_js_1.ChangeType.DirectiveDescriptionChanged,
|
|
78
|
+
meta: {
|
|
79
|
+
directiveName: oldDirective.name,
|
|
80
|
+
oldDirectiveDescription: (_a = oldDirective.description) !== null && _a !== void 0 ? _a : null,
|
|
81
|
+
newDirectiveDescription: (_b = newDirective.description) !== null && _b !== void 0 ? _b : null,
|
|
82
|
+
},
|
|
83
|
+
});
|
|
84
|
+
}
|
|
39
85
|
exports.directiveDescriptionChanged = directiveDescriptionChanged;
|
|
40
|
-
function
|
|
86
|
+
function buildDirectiveLocationAddedMessage(args) {
|
|
87
|
+
return `Location '${args.addedDirectiveLocation}' was added to directive '${args.directiveName}'`;
|
|
88
|
+
}
|
|
89
|
+
function directiveLocationAddedFromMeta(args) {
|
|
41
90
|
return {
|
|
42
91
|
criticality: {
|
|
43
92
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
44
93
|
},
|
|
45
94
|
type: change_js_1.ChangeType.DirectiveLocationAdded,
|
|
46
|
-
message:
|
|
47
|
-
path: `@${
|
|
95
|
+
message: buildDirectiveLocationAddedMessage(args.meta),
|
|
96
|
+
path: `@${args.meta.directiveName}`,
|
|
97
|
+
meta: args.meta,
|
|
48
98
|
};
|
|
49
99
|
}
|
|
100
|
+
exports.directiveLocationAddedFromMeta = directiveLocationAddedFromMeta;
|
|
101
|
+
function directiveLocationAdded(directive, location) {
|
|
102
|
+
return directiveLocationAddedFromMeta({
|
|
103
|
+
type: change_js_1.ChangeType.DirectiveLocationAdded,
|
|
104
|
+
meta: {
|
|
105
|
+
directiveName: directive.name,
|
|
106
|
+
addedDirectiveLocation: location.toString(),
|
|
107
|
+
},
|
|
108
|
+
});
|
|
109
|
+
}
|
|
50
110
|
exports.directiveLocationAdded = directiveLocationAdded;
|
|
51
|
-
function
|
|
111
|
+
function buildDirectiveLocationRemovedMessage(args) {
|
|
112
|
+
return `Location '${args.removedDirectiveLocation}' was removed from directive '${args.directiveName}'`;
|
|
113
|
+
}
|
|
114
|
+
const directiveLocationRemovedBreakingReason = `A directive could be in use of a client application. Removing it could break the client application.`;
|
|
115
|
+
function directiveLocationRemovedFromMeta(args) {
|
|
52
116
|
return {
|
|
53
117
|
criticality: {
|
|
54
118
|
level: change_js_1.CriticalityLevel.Breaking,
|
|
119
|
+
reason: directiveLocationRemovedBreakingReason,
|
|
55
120
|
},
|
|
56
121
|
type: change_js_1.ChangeType.DirectiveLocationRemoved,
|
|
57
|
-
message:
|
|
58
|
-
path: `@${
|
|
122
|
+
message: buildDirectiveLocationRemovedMessage(args.meta),
|
|
123
|
+
path: `@${args.meta.directiveName}`,
|
|
124
|
+
meta: args.meta,
|
|
59
125
|
};
|
|
60
126
|
}
|
|
127
|
+
exports.directiveLocationRemovedFromMeta = directiveLocationRemovedFromMeta;
|
|
128
|
+
function directiveLocationRemoved(directive, location) {
|
|
129
|
+
return directiveLocationRemovedFromMeta({
|
|
130
|
+
type: change_js_1.ChangeType.DirectiveLocationRemoved,
|
|
131
|
+
meta: {
|
|
132
|
+
directiveName: directive.name,
|
|
133
|
+
removedDirectiveLocation: location.toString(),
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
}
|
|
61
137
|
exports.directiveLocationRemoved = directiveLocationRemoved;
|
|
62
|
-
|
|
138
|
+
const directiveArgumentAddedBreakingReason = `A directive could be in use of a client application. Adding a non-nullable argument will break those clients.`;
|
|
139
|
+
const directiveArgumentNonBreakingReason = `A directive could be in use of a client application. Adding a non-nullable argument will break those clients.`;
|
|
140
|
+
function directiveArgumentAddedFromMeta(args) {
|
|
63
141
|
return {
|
|
64
|
-
criticality:
|
|
65
|
-
|
|
66
|
-
|
|
142
|
+
criticality: args.meta.addedDirectiveArgumentTypeIsNonNull
|
|
143
|
+
? {
|
|
144
|
+
level: change_js_1.CriticalityLevel.Breaking,
|
|
145
|
+
reason: directiveArgumentAddedBreakingReason,
|
|
146
|
+
}
|
|
147
|
+
: {
|
|
148
|
+
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
149
|
+
reason: directiveArgumentNonBreakingReason,
|
|
150
|
+
},
|
|
67
151
|
type: change_js_1.ChangeType.DirectiveArgumentAdded,
|
|
68
|
-
message: `Argument '${
|
|
69
|
-
path: `@${
|
|
152
|
+
message: `Argument '${args.meta.addedDirectiveArgumentName}' was added to directive '${args.meta.directiveName}'`,
|
|
153
|
+
path: `@${args.meta.directiveName}`,
|
|
154
|
+
meta: args.meta,
|
|
70
155
|
};
|
|
71
156
|
}
|
|
157
|
+
exports.directiveArgumentAddedFromMeta = directiveArgumentAddedFromMeta;
|
|
158
|
+
function directiveArgumentAdded(directive, arg) {
|
|
159
|
+
return directiveArgumentAddedFromMeta({
|
|
160
|
+
type: change_js_1.ChangeType.DirectiveArgumentAdded,
|
|
161
|
+
meta: {
|
|
162
|
+
directiveName: directive.name,
|
|
163
|
+
addedDirectiveArgumentName: arg.name,
|
|
164
|
+
addedDirectiveArgumentTypeIsNonNull: (0, graphql_1.isNonNullType)(arg.type),
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
}
|
|
72
168
|
exports.directiveArgumentAdded = directiveArgumentAdded;
|
|
73
|
-
function
|
|
169
|
+
function buildDirectiveArgumentRemovedMessage(args) {
|
|
170
|
+
return `Argument '${args.removedDirectiveArgumentName}' was removed from directive '${args.directiveName}'`;
|
|
171
|
+
}
|
|
172
|
+
const directiveArgumentRemovedBreakingReason = `A directive argument could be in use of a client application. Removing the argument can break client applications.`;
|
|
173
|
+
function directiveArgumentRemovedFromMeta(args) {
|
|
74
174
|
return {
|
|
75
175
|
criticality: {
|
|
76
176
|
level: change_js_1.CriticalityLevel.Breaking,
|
|
177
|
+
reason: directiveArgumentRemovedBreakingReason,
|
|
77
178
|
},
|
|
78
179
|
type: change_js_1.ChangeType.DirectiveArgumentRemoved,
|
|
79
|
-
message:
|
|
80
|
-
path: `@${
|
|
180
|
+
message: buildDirectiveArgumentRemovedMessage(args.meta),
|
|
181
|
+
path: `@${args.meta.directiveName}.${args.meta.removedDirectiveArgumentName}`,
|
|
182
|
+
meta: args.meta,
|
|
81
183
|
};
|
|
82
184
|
}
|
|
185
|
+
exports.directiveArgumentRemovedFromMeta = directiveArgumentRemovedFromMeta;
|
|
186
|
+
function directiveArgumentRemoved(directive, arg) {
|
|
187
|
+
return directiveArgumentRemovedFromMeta({
|
|
188
|
+
type: change_js_1.ChangeType.DirectiveArgumentRemoved,
|
|
189
|
+
meta: {
|
|
190
|
+
directiveName: directive.name,
|
|
191
|
+
removedDirectiveArgumentName: arg.name,
|
|
192
|
+
},
|
|
193
|
+
});
|
|
194
|
+
}
|
|
83
195
|
exports.directiveArgumentRemoved = directiveArgumentRemoved;
|
|
84
|
-
function
|
|
196
|
+
function buildDirectiveArgumentDescriptionChangedMessage(args) {
|
|
197
|
+
return `Description for argument '${args.directiveArgumentName}' on directive '${args.directiveName}' changed from '${args.oldDirectiveArgumentDescription}' to '${args.newDirectiveArgumentDescription}'`;
|
|
198
|
+
}
|
|
199
|
+
function directiveArgumentDescriptionChangedFromMeta(args) {
|
|
85
200
|
return {
|
|
86
201
|
criticality: {
|
|
87
202
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
88
203
|
},
|
|
89
204
|
type: change_js_1.ChangeType.DirectiveArgumentDescriptionChanged,
|
|
90
|
-
message:
|
|
91
|
-
path: `@${
|
|
205
|
+
message: buildDirectiveArgumentDescriptionChangedMessage(args.meta),
|
|
206
|
+
path: `@${args.meta.directiveName}.${args.meta.directiveArgumentName}`,
|
|
207
|
+
meta: args.meta,
|
|
92
208
|
};
|
|
93
209
|
}
|
|
210
|
+
exports.directiveArgumentDescriptionChangedFromMeta = directiveArgumentDescriptionChangedFromMeta;
|
|
211
|
+
function directiveArgumentDescriptionChanged(directive, oldArg, newArg) {
|
|
212
|
+
var _a, _b;
|
|
213
|
+
return directiveArgumentDescriptionChangedFromMeta({
|
|
214
|
+
type: change_js_1.ChangeType.DirectiveArgumentDescriptionChanged,
|
|
215
|
+
meta: {
|
|
216
|
+
directiveName: directive.name,
|
|
217
|
+
directiveArgumentName: oldArg.name,
|
|
218
|
+
oldDirectiveArgumentDescription: (_a = oldArg.description) !== null && _a !== void 0 ? _a : null,
|
|
219
|
+
newDirectiveArgumentDescription: (_b = newArg.description) !== null && _b !== void 0 ? _b : null,
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
}
|
|
94
223
|
exports.directiveArgumentDescriptionChanged = directiveArgumentDescriptionChanged;
|
|
95
|
-
function
|
|
224
|
+
function buildDirectiveArgumentDefaultValueChanged(args) {
|
|
225
|
+
return args.oldDirectiveArgumentDefaultValue === undefined
|
|
226
|
+
? `Default value '${args.newDirectiveArgumentDefaultValue}' was added to argument '${args.directiveArgumentName}' on directive '${args.directiveName}'`
|
|
227
|
+
: `Default value for argument '${args.directiveArgumentName}' on directive '${args.directiveName}' changed from '${args.oldDirectiveArgumentDefaultValue}' to '${args.newDirectiveArgumentDefaultValue}'`;
|
|
228
|
+
}
|
|
229
|
+
const directiveArgumentDefaultValueChangedDangerousReason = 'Changing the default value for an argument may change the runtime behaviour of a field if it was never provided.';
|
|
230
|
+
function directiveArgumentDefaultValueChangedFromMeta(args) {
|
|
96
231
|
return {
|
|
97
232
|
criticality: {
|
|
98
233
|
level: change_js_1.CriticalityLevel.Dangerous,
|
|
99
|
-
reason:
|
|
234
|
+
reason: directiveArgumentDefaultValueChangedDangerousReason,
|
|
100
235
|
},
|
|
101
236
|
type: change_js_1.ChangeType.DirectiveArgumentDefaultValueChanged,
|
|
102
|
-
message:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
237
|
+
message: buildDirectiveArgumentDefaultValueChanged(args.meta),
|
|
238
|
+
path: `@${args.meta.directiveName}.${args.meta.directiveArgumentName}`,
|
|
239
|
+
meta: args.meta,
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
exports.directiveArgumentDefaultValueChangedFromMeta = directiveArgumentDefaultValueChangedFromMeta;
|
|
243
|
+
function directiveArgumentDefaultValueChanged(directive, oldArg, newArg) {
|
|
244
|
+
const meta = {
|
|
245
|
+
directiveName: directive.name,
|
|
246
|
+
directiveArgumentName: oldArg.name,
|
|
106
247
|
};
|
|
248
|
+
if (oldArg.defaultValue !== undefined) {
|
|
249
|
+
meta.oldDirectiveArgumentDefaultValue = (0, string_js_1.safeString)(oldArg.defaultValue);
|
|
250
|
+
}
|
|
251
|
+
if (newArg.defaultValue !== undefined) {
|
|
252
|
+
meta.newDirectiveArgumentDefaultValue = (0, string_js_1.safeString)(newArg.defaultValue);
|
|
253
|
+
}
|
|
254
|
+
return directiveArgumentDefaultValueChangedFromMeta({
|
|
255
|
+
type: change_js_1.ChangeType.DirectiveArgumentDefaultValueChanged,
|
|
256
|
+
meta,
|
|
257
|
+
});
|
|
107
258
|
}
|
|
108
259
|
exports.directiveArgumentDefaultValueChanged = directiveArgumentDefaultValueChanged;
|
|
109
|
-
function
|
|
260
|
+
function buildDirectiveArgumentTypeChangedMessage(args) {
|
|
261
|
+
return `Type for argument '${args.meta.directiveArgumentName}' on directive '${args.meta.directiveName}' changed from '${args.meta.oldDirectiveArgumentType}' to '${args.meta.newDirectiveArgumentType}'`;
|
|
262
|
+
}
|
|
263
|
+
const directiveArgumentTypeChangedNonBreakingReason = 'Changing an input field from non-null to null is considered non-breaking.';
|
|
264
|
+
function directiveArgumentTypeChangedFromMeta(args) {
|
|
110
265
|
return {
|
|
111
|
-
criticality:
|
|
266
|
+
criticality: args.meta.isSafeDirectiveArgumentTypeChange
|
|
112
267
|
? {
|
|
113
268
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
114
|
-
reason:
|
|
269
|
+
reason: directiveArgumentTypeChangedNonBreakingReason,
|
|
115
270
|
}
|
|
116
271
|
: {
|
|
117
272
|
level: change_js_1.CriticalityLevel.Breaking,
|
|
118
273
|
},
|
|
119
274
|
type: change_js_1.ChangeType.DirectiveArgumentTypeChanged,
|
|
120
|
-
message:
|
|
121
|
-
path: `@${
|
|
275
|
+
message: buildDirectiveArgumentTypeChangedMessage(args),
|
|
276
|
+
path: `@${args.meta.directiveName}.${args.meta.directiveArgumentName}`,
|
|
277
|
+
meta: args.meta,
|
|
122
278
|
};
|
|
123
279
|
}
|
|
280
|
+
exports.directiveArgumentTypeChangedFromMeta = directiveArgumentTypeChangedFromMeta;
|
|
281
|
+
function directiveArgumentTypeChanged(directive, oldArg, newArg) {
|
|
282
|
+
return directiveArgumentTypeChangedFromMeta({
|
|
283
|
+
type: change_js_1.ChangeType.DirectiveArgumentTypeChanged,
|
|
284
|
+
meta: {
|
|
285
|
+
directiveName: directive.name,
|
|
286
|
+
directiveArgumentName: oldArg.name,
|
|
287
|
+
oldDirectiveArgumentType: oldArg.type.toString(),
|
|
288
|
+
newDirectiveArgumentType: newArg.type.toString(),
|
|
289
|
+
isSafeDirectiveArgumentTypeChange: (0, graphql_js_1.safeChangeForInputValue)(oldArg.type, newArg.type),
|
|
290
|
+
},
|
|
291
|
+
});
|
|
292
|
+
}
|
|
124
293
|
exports.directiveArgumentTypeChanged = directiveArgumentTypeChanged;
|
|
@@ -1,75 +1,173 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.enumValueDeprecationReasonRemoved = exports.enumValueDeprecationReasonAdded = exports.enumValueDeprecationReasonChanged = exports.enumValueDescriptionChanged = exports.enumValueAdded = exports.enumValueRemoved = void 0;
|
|
3
|
+
exports.enumValueDeprecationReasonRemoved = exports.enumValueDeprecationReasonRemovedFromMeta = exports.enumValueDeprecationReasonAdded = exports.enumValueDeprecationReasonAddedFromMeta = exports.enumValueDeprecationReasonChanged = exports.enumValueDeprecationReasonChangedFromMeta = exports.enumValueDescriptionChanged = exports.enumValueDescriptionChangedFromMeta = exports.enumValueAdded = exports.enumValueAddedFromMeta = exports.enumValueRemoved = exports.enumValueRemovedFromMeta = void 0;
|
|
4
4
|
const is_deprecated_js_1 = require("../../utils/is-deprecated.js");
|
|
5
5
|
const change_js_1 = require("./change.js");
|
|
6
|
-
function
|
|
6
|
+
function buildEnumValueRemovedMessage(args) {
|
|
7
|
+
return `Enum value '${args.removedEnumValueName}' ${args.isEnumValueDeprecated ? '(deprecated) ' : ''}was removed from enum '${args.enumName}'`;
|
|
8
|
+
}
|
|
9
|
+
const enumValueRemovedCriticalityBreakingReason = `Removing an enum value will cause existing queries that use this enum value to error.`;
|
|
10
|
+
function enumValueRemovedFromMeta(args) {
|
|
7
11
|
return {
|
|
12
|
+
type: change_js_1.ChangeType.EnumValueRemoved,
|
|
8
13
|
criticality: {
|
|
9
14
|
level: change_js_1.CriticalityLevel.Breaking,
|
|
10
|
-
reason:
|
|
15
|
+
reason: enumValueRemovedCriticalityBreakingReason,
|
|
11
16
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
path: [
|
|
17
|
+
message: buildEnumValueRemovedMessage(args.meta),
|
|
18
|
+
meta: args.meta,
|
|
19
|
+
path: [args.meta.enumName, args.meta.removedEnumValueName].join('.'),
|
|
15
20
|
};
|
|
16
21
|
}
|
|
22
|
+
exports.enumValueRemovedFromMeta = enumValueRemovedFromMeta;
|
|
23
|
+
function enumValueRemoved(oldEnum, value) {
|
|
24
|
+
return enumValueRemovedFromMeta({
|
|
25
|
+
type: change_js_1.ChangeType.EnumValueRemoved,
|
|
26
|
+
meta: {
|
|
27
|
+
enumName: oldEnum.name,
|
|
28
|
+
removedEnumValueName: value.name,
|
|
29
|
+
isEnumValueDeprecated: (0, is_deprecated_js_1.isDeprecated)(value),
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
}
|
|
17
33
|
exports.enumValueRemoved = enumValueRemoved;
|
|
18
|
-
function
|
|
34
|
+
function buildEnumValueAddedMessage(args) {
|
|
35
|
+
return `Enum value '${args.meta.addedEnumValueName}' was added to enum '${args.meta.enumName}'`;
|
|
36
|
+
}
|
|
37
|
+
const enumValueAddedCriticalityDangerousReason = `Adding an enum value may break existing clients that were not programming defensively against an added case when querying an enum.`;
|
|
38
|
+
function enumValueAddedFromMeta(args) {
|
|
19
39
|
return {
|
|
40
|
+
type: change_js_1.ChangeType.EnumValueAdded,
|
|
20
41
|
criticality: {
|
|
21
42
|
level: change_js_1.CriticalityLevel.Dangerous,
|
|
22
|
-
reason:
|
|
43
|
+
reason: enumValueAddedCriticalityDangerousReason,
|
|
23
44
|
},
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
path: [
|
|
45
|
+
message: buildEnumValueAddedMessage(args),
|
|
46
|
+
meta: args.meta,
|
|
47
|
+
path: [args.meta.enumName, args.meta.addedEnumValueName].join('.'),
|
|
27
48
|
};
|
|
28
49
|
}
|
|
50
|
+
exports.enumValueAddedFromMeta = enumValueAddedFromMeta;
|
|
51
|
+
function enumValueAdded(newEnum, value) {
|
|
52
|
+
return enumValueAddedFromMeta({
|
|
53
|
+
type: change_js_1.ChangeType.EnumValueAdded,
|
|
54
|
+
meta: {
|
|
55
|
+
enumName: newEnum.name,
|
|
56
|
+
addedEnumValueName: value.name,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
}
|
|
29
60
|
exports.enumValueAdded = enumValueAdded;
|
|
30
|
-
function
|
|
61
|
+
function buildEnumValueDescriptionChangedMessage(args) {
|
|
62
|
+
var _a, _b, _c;
|
|
63
|
+
return args.oldEnumValueDescription === null
|
|
64
|
+
? `Description '${(_a = args.newEnumValueDescription) !== null && _a !== void 0 ? _a : 'undefined'}' was added to enum value '${args.enumName}.${args.enumValueName}'`
|
|
65
|
+
: `Description for enum value '${args.enumName}.${args.enumValueName}' changed from '${(_b = args.oldEnumValueDescription) !== null && _b !== void 0 ? _b : 'undefined'}' to '${(_c = args.newEnumValueDescription) !== null && _c !== void 0 ? _c : 'undefined'}'`;
|
|
66
|
+
}
|
|
67
|
+
function enumValueDescriptionChangedFromMeta(args) {
|
|
31
68
|
return {
|
|
32
69
|
criticality: {
|
|
33
70
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
34
71
|
},
|
|
35
72
|
type: change_js_1.ChangeType.EnumValueDescriptionChanged,
|
|
36
|
-
message:
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
path: [newEnum.name, oldValue.name].join('.'),
|
|
73
|
+
message: buildEnumValueDescriptionChangedMessage(args.meta),
|
|
74
|
+
path: [args.meta.enumName, args.meta.enumValueName].join('.'),
|
|
75
|
+
meta: args.meta,
|
|
40
76
|
};
|
|
41
77
|
}
|
|
78
|
+
exports.enumValueDescriptionChangedFromMeta = enumValueDescriptionChangedFromMeta;
|
|
79
|
+
function enumValueDescriptionChanged(newEnum, oldValue, newValue) {
|
|
80
|
+
var _a, _b;
|
|
81
|
+
return enumValueDescriptionChangedFromMeta({
|
|
82
|
+
type: change_js_1.ChangeType.EnumValueDescriptionChanged,
|
|
83
|
+
meta: {
|
|
84
|
+
enumName: newEnum.name,
|
|
85
|
+
enumValueName: oldValue.name,
|
|
86
|
+
oldEnumValueDescription: (_a = oldValue.description) !== null && _a !== void 0 ? _a : null,
|
|
87
|
+
newEnumValueDescription: (_b = newValue.description) !== null && _b !== void 0 ? _b : null,
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
}
|
|
42
91
|
exports.enumValueDescriptionChanged = enumValueDescriptionChanged;
|
|
43
|
-
function
|
|
92
|
+
function buildEnumValueDeprecationChangedMessage(args) {
|
|
93
|
+
return `Enum value '${args.enumName}.${args.enumValueName}' deprecation reason changed from '${args.oldEnumValueDeprecationReason}' to '${args.newEnumValueDeprecationReason}'`;
|
|
94
|
+
}
|
|
95
|
+
function enumValueDeprecationReasonChangedFromMeta(args) {
|
|
44
96
|
return {
|
|
45
97
|
criticality: {
|
|
46
98
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
47
99
|
},
|
|
48
100
|
type: change_js_1.ChangeType.EnumValueDeprecationReasonChanged,
|
|
49
|
-
message:
|
|
50
|
-
path: [
|
|
101
|
+
message: buildEnumValueDeprecationChangedMessage(args.meta),
|
|
102
|
+
path: [args.meta.enumName, args.meta.enumValueName].join('.'),
|
|
103
|
+
meta: args.meta,
|
|
51
104
|
};
|
|
52
105
|
}
|
|
106
|
+
exports.enumValueDeprecationReasonChangedFromMeta = enumValueDeprecationReasonChangedFromMeta;
|
|
107
|
+
function enumValueDeprecationReasonChanged(newEnum, oldValue, newValue) {
|
|
108
|
+
var _a, _b;
|
|
109
|
+
return enumValueDeprecationReasonChangedFromMeta({
|
|
110
|
+
type: change_js_1.ChangeType.EnumValueDeprecationReasonChanged,
|
|
111
|
+
meta: {
|
|
112
|
+
enumName: newEnum.name,
|
|
113
|
+
enumValueName: oldValue.name,
|
|
114
|
+
oldEnumValueDeprecationReason: (_a = oldValue.deprecationReason) !== null && _a !== void 0 ? _a : '',
|
|
115
|
+
newEnumValueDeprecationReason: (_b = newValue.deprecationReason) !== null && _b !== void 0 ? _b : '',
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
}
|
|
53
119
|
exports.enumValueDeprecationReasonChanged = enumValueDeprecationReasonChanged;
|
|
54
|
-
function
|
|
120
|
+
function buildEnumValueDeprecationReasonAddedMessage(args) {
|
|
121
|
+
return `Enum value '${args.enumName}.${args.enumValueName}' was deprecated with reason '${args.addedValueDeprecationReason}'`;
|
|
122
|
+
}
|
|
123
|
+
function enumValueDeprecationReasonAddedFromMeta(args) {
|
|
55
124
|
return {
|
|
56
125
|
criticality: {
|
|
57
126
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
58
127
|
},
|
|
59
128
|
type: change_js_1.ChangeType.EnumValueDeprecationReasonAdded,
|
|
60
|
-
message:
|
|
61
|
-
path: [
|
|
129
|
+
message: buildEnumValueDeprecationReasonAddedMessage(args.meta),
|
|
130
|
+
path: [args.meta.enumName, args.meta.enumValueName].join('.'),
|
|
131
|
+
meta: args.meta,
|
|
62
132
|
};
|
|
63
133
|
}
|
|
134
|
+
exports.enumValueDeprecationReasonAddedFromMeta = enumValueDeprecationReasonAddedFromMeta;
|
|
135
|
+
function enumValueDeprecationReasonAdded(newEnum, oldValue, newValue) {
|
|
136
|
+
var _a;
|
|
137
|
+
return enumValueDeprecationReasonAddedFromMeta({
|
|
138
|
+
type: change_js_1.ChangeType.EnumValueDeprecationReasonAdded,
|
|
139
|
+
meta: {
|
|
140
|
+
enumName: newEnum.name,
|
|
141
|
+
enumValueName: oldValue.name,
|
|
142
|
+
addedValueDeprecationReason: (_a = newValue.deprecationReason) !== null && _a !== void 0 ? _a : '',
|
|
143
|
+
},
|
|
144
|
+
});
|
|
145
|
+
}
|
|
64
146
|
exports.enumValueDeprecationReasonAdded = enumValueDeprecationReasonAdded;
|
|
65
|
-
function
|
|
147
|
+
function buildEnumValueDeprecationReasonRemovedMessage(args) {
|
|
148
|
+
return `Deprecation reason was removed from enum value '${args.enumName}.${args.enumValueName}'`;
|
|
149
|
+
}
|
|
150
|
+
function enumValueDeprecationReasonRemovedFromMeta(args) {
|
|
66
151
|
return {
|
|
67
152
|
criticality: {
|
|
68
153
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
69
154
|
},
|
|
70
155
|
type: change_js_1.ChangeType.EnumValueDeprecationReasonRemoved,
|
|
71
|
-
message:
|
|
72
|
-
path: [
|
|
156
|
+
message: buildEnumValueDeprecationReasonRemovedMessage(args.meta),
|
|
157
|
+
path: [args.meta.enumName, args.meta.enumValueName].join('.'),
|
|
158
|
+
meta: args.meta,
|
|
73
159
|
};
|
|
74
160
|
}
|
|
161
|
+
exports.enumValueDeprecationReasonRemovedFromMeta = enumValueDeprecationReasonRemovedFromMeta;
|
|
162
|
+
function enumValueDeprecationReasonRemoved(newEnum, oldValue, _newValue) {
|
|
163
|
+
var _a;
|
|
164
|
+
return enumValueDeprecationReasonRemovedFromMeta({
|
|
165
|
+
type: change_js_1.ChangeType.EnumValueDeprecationReasonRemoved,
|
|
166
|
+
meta: {
|
|
167
|
+
enumName: newEnum.name,
|
|
168
|
+
enumValueName: oldValue.name,
|
|
169
|
+
removedEnumValueDeprecationReason: (_a = oldValue.deprecationReason) !== null && _a !== void 0 ? _a : '',
|
|
170
|
+
},
|
|
171
|
+
});
|
|
172
|
+
}
|
|
75
173
|
exports.enumValueDeprecationReasonRemoved = enumValueDeprecationReasonRemoved;
|