@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,166 +1,357 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.fieldArgumentRemoved = exports.fieldArgumentAdded = exports.fieldTypeChanged = exports.fieldDeprecationReasonRemoved = exports.fieldDeprecationReasonAdded = exports.fieldDeprecationReasonChanged = exports.fieldDeprecationRemoved = exports.fieldDeprecationAdded = exports.fieldDescriptionRemoved = exports.fieldDescriptionAdded = exports.fieldDescriptionChanged = exports.fieldAdded = exports.fieldRemoved = void 0;
|
|
3
|
+
exports.fieldArgumentRemoved = exports.fieldArgumentRemovedFromMeta = exports.fieldArgumentAdded = exports.fieldArgumentAddedFromMeta = exports.fieldTypeChanged = exports.fieldTypeChangedFromMeta = exports.fieldDeprecationReasonRemoved = exports.fieldDeprecationReasonRemovedFromMeta = exports.fieldDeprecationReasonAdded = exports.fieldDeprecationReasonAddedFromMeta = exports.fieldDeprecationReasonChanged = exports.fieldDeprecationReasonChangedFromMeta = exports.fieldDeprecationRemoved = exports.fieldDeprecationRemovedFromMeta = exports.fieldDeprecationAdded = exports.fieldDeprecationAddedFromMeta = exports.fieldDescriptionRemoved = exports.fieldDescriptionRemovedFromMeta = exports.fieldDescriptionAdded = exports.fieldDescriptionAddedFromMeta = exports.fieldDescriptionChanged = exports.fieldDescriptionChangedFromMeta = exports.fieldAdded = exports.fieldAddedFromMeta = exports.fieldRemoved = exports.fieldRemovedFromMeta = void 0;
|
|
4
4
|
const graphql_1 = require("graphql");
|
|
5
5
|
const graphql_js_1 = require("../../utils/graphql.js");
|
|
6
|
-
const is_deprecated_js_1 = require("../../utils/is-deprecated.js");
|
|
7
6
|
const change_js_1 = require("./change.js");
|
|
8
|
-
function
|
|
9
|
-
|
|
7
|
+
function buildFieldRemovedMessage(args) {
|
|
8
|
+
return `Field '${args.removedFieldName}' ${args.isRemovedFieldDeprecated ? '(deprecated) ' : ''}was removed from ${args.typeType} '${args.typeName}'`;
|
|
9
|
+
}
|
|
10
|
+
function fieldRemovedFromMeta(args) {
|
|
10
11
|
return {
|
|
12
|
+
type: change_js_1.ChangeType.FieldRemoved,
|
|
11
13
|
criticality: {
|
|
12
14
|
level: change_js_1.CriticalityLevel.Breaking,
|
|
13
|
-
reason:
|
|
15
|
+
reason: args.meta.isRemovedFieldDeprecated
|
|
14
16
|
? `Removing a deprecated field is a breaking change. Before removing it, you may want to look at the field's usage to see the impact of removing the field.`
|
|
15
17
|
: `Removing a field is a breaking change. It is preferable to deprecate the field before removing it.`,
|
|
16
18
|
},
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
path: [
|
|
19
|
+
message: buildFieldRemovedMessage(args.meta),
|
|
20
|
+
meta: args.meta,
|
|
21
|
+
path: [args.meta.typeName, args.meta.removedFieldName].join('.'),
|
|
20
22
|
};
|
|
21
23
|
}
|
|
22
|
-
exports.
|
|
23
|
-
function
|
|
24
|
+
exports.fieldRemovedFromMeta = fieldRemovedFromMeta;
|
|
25
|
+
function fieldRemoved(type, field) {
|
|
24
26
|
const entity = (0, graphql_1.isInterfaceType)(type) ? 'interface' : 'object type';
|
|
27
|
+
return fieldRemovedFromMeta({
|
|
28
|
+
type: change_js_1.ChangeType.FieldRemoved,
|
|
29
|
+
meta: {
|
|
30
|
+
typeName: type.name,
|
|
31
|
+
removedFieldName: field.name,
|
|
32
|
+
isRemovedFieldDeprecated: field.deprecationReason != null,
|
|
33
|
+
typeType: entity,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
exports.fieldRemoved = fieldRemoved;
|
|
38
|
+
function buildFieldAddedMessage(args) {
|
|
39
|
+
return `Field '${args.addedFieldName}' was added to ${args.typeType} '${args.typeName}'`;
|
|
40
|
+
}
|
|
41
|
+
function fieldAddedFromMeta(args) {
|
|
25
42
|
return {
|
|
43
|
+
type: change_js_1.ChangeType.FieldAdded,
|
|
26
44
|
criticality: {
|
|
27
45
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
28
46
|
},
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
path: [
|
|
47
|
+
message: buildFieldAddedMessage(args.meta),
|
|
48
|
+
meta: args.meta,
|
|
49
|
+
path: [args.meta.typeName, args.meta.addedFieldName].join('.'),
|
|
32
50
|
};
|
|
33
51
|
}
|
|
52
|
+
exports.fieldAddedFromMeta = fieldAddedFromMeta;
|
|
53
|
+
function fieldAdded(type, field) {
|
|
54
|
+
const entity = (0, graphql_1.isInterfaceType)(type) ? 'interface' : 'object type';
|
|
55
|
+
return fieldAddedFromMeta({
|
|
56
|
+
type: change_js_1.ChangeType.FieldAdded,
|
|
57
|
+
meta: {
|
|
58
|
+
typeName: type.name,
|
|
59
|
+
addedFieldName: field.name,
|
|
60
|
+
typeType: entity,
|
|
61
|
+
},
|
|
62
|
+
});
|
|
63
|
+
}
|
|
34
64
|
exports.fieldAdded = fieldAdded;
|
|
35
|
-
function
|
|
65
|
+
function buildFieldDescriptionChangedMessage(args) {
|
|
66
|
+
return `Field '${args.typeName}.${args.fieldName}' description changed from '${args.oldDescription}' to '${args.newDescription}'`;
|
|
67
|
+
}
|
|
68
|
+
function fieldDescriptionChangedFromMeta(args) {
|
|
36
69
|
return {
|
|
70
|
+
type: change_js_1.ChangeType.FieldDescriptionChanged,
|
|
37
71
|
criticality: {
|
|
38
72
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
39
73
|
},
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
path: [
|
|
74
|
+
message: buildFieldDescriptionChangedMessage(args.meta),
|
|
75
|
+
meta: args.meta,
|
|
76
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
43
77
|
};
|
|
44
78
|
}
|
|
79
|
+
exports.fieldDescriptionChangedFromMeta = fieldDescriptionChangedFromMeta;
|
|
80
|
+
function fieldDescriptionChanged(type, oldField, newField) {
|
|
81
|
+
var _a, _b;
|
|
82
|
+
return fieldDescriptionChangedFromMeta({
|
|
83
|
+
type: change_js_1.ChangeType.FieldDescriptionChanged,
|
|
84
|
+
meta: {
|
|
85
|
+
fieldName: oldField.name,
|
|
86
|
+
typeName: type.name,
|
|
87
|
+
oldDescription: (_a = oldField.description) !== null && _a !== void 0 ? _a : '',
|
|
88
|
+
newDescription: (_b = newField.description) !== null && _b !== void 0 ? _b : '',
|
|
89
|
+
},
|
|
90
|
+
});
|
|
91
|
+
}
|
|
45
92
|
exports.fieldDescriptionChanged = fieldDescriptionChanged;
|
|
46
|
-
function
|
|
93
|
+
function buildFieldDescriptionAddedMessage(args) {
|
|
94
|
+
return `Field '${args.typeName}.${args.fieldName}' has description '${args.addedDescription}'`;
|
|
95
|
+
}
|
|
96
|
+
function fieldDescriptionAddedFromMeta(args) {
|
|
47
97
|
return {
|
|
98
|
+
type: change_js_1.ChangeType.FieldDescriptionAdded,
|
|
48
99
|
criticality: {
|
|
49
100
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
50
101
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
path: [
|
|
102
|
+
message: buildFieldDescriptionAddedMessage(args.meta),
|
|
103
|
+
meta: args.meta,
|
|
104
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
54
105
|
};
|
|
55
106
|
}
|
|
107
|
+
exports.fieldDescriptionAddedFromMeta = fieldDescriptionAddedFromMeta;
|
|
108
|
+
function fieldDescriptionAdded(type, field) {
|
|
109
|
+
var _a;
|
|
110
|
+
return fieldDescriptionAddedFromMeta({
|
|
111
|
+
type: change_js_1.ChangeType.FieldDescriptionAdded,
|
|
112
|
+
meta: {
|
|
113
|
+
typeName: type.name,
|
|
114
|
+
fieldName: field.name,
|
|
115
|
+
addedDescription: (_a = field.description) !== null && _a !== void 0 ? _a : '',
|
|
116
|
+
},
|
|
117
|
+
});
|
|
118
|
+
}
|
|
56
119
|
exports.fieldDescriptionAdded = fieldDescriptionAdded;
|
|
57
|
-
function
|
|
120
|
+
function buildFieldDescriptionRemovedMessage(args) {
|
|
121
|
+
return `Description was removed from field '${args.typeName}.${args.fieldName}'`;
|
|
122
|
+
}
|
|
123
|
+
function fieldDescriptionRemovedFromMeta(args) {
|
|
58
124
|
return {
|
|
125
|
+
type: change_js_1.ChangeType.FieldDescriptionRemoved,
|
|
59
126
|
criticality: {
|
|
60
127
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
61
128
|
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
path: [
|
|
129
|
+
message: buildFieldDescriptionRemovedMessage(args.meta),
|
|
130
|
+
meta: args.meta,
|
|
131
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
65
132
|
};
|
|
66
133
|
}
|
|
134
|
+
exports.fieldDescriptionRemovedFromMeta = fieldDescriptionRemovedFromMeta;
|
|
135
|
+
function fieldDescriptionRemoved(type, field) {
|
|
136
|
+
return fieldDescriptionRemovedFromMeta({
|
|
137
|
+
type: change_js_1.ChangeType.FieldDescriptionRemoved,
|
|
138
|
+
meta: {
|
|
139
|
+
typeName: type.name,
|
|
140
|
+
fieldName: field.name,
|
|
141
|
+
},
|
|
142
|
+
});
|
|
143
|
+
}
|
|
67
144
|
exports.fieldDescriptionRemoved = fieldDescriptionRemoved;
|
|
68
|
-
function
|
|
145
|
+
function buildFieldDeprecatedAddedMessage(args) {
|
|
146
|
+
return `Field '${args.typeName}.${args.fieldName}' is deprecated`;
|
|
147
|
+
}
|
|
148
|
+
function fieldDeprecationAddedFromMeta(args) {
|
|
69
149
|
return {
|
|
150
|
+
type: change_js_1.ChangeType.FieldDeprecationAdded,
|
|
70
151
|
criticality: {
|
|
71
152
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
72
153
|
},
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
path: [
|
|
154
|
+
message: buildFieldDeprecatedAddedMessage(args.meta),
|
|
155
|
+
meta: args.meta,
|
|
156
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
76
157
|
};
|
|
77
158
|
}
|
|
159
|
+
exports.fieldDeprecationAddedFromMeta = fieldDeprecationAddedFromMeta;
|
|
160
|
+
function fieldDeprecationAdded(type, field) {
|
|
161
|
+
return fieldDeprecationAddedFromMeta({
|
|
162
|
+
type: change_js_1.ChangeType.FieldDeprecationAdded,
|
|
163
|
+
meta: {
|
|
164
|
+
typeName: type.name,
|
|
165
|
+
fieldName: field.name,
|
|
166
|
+
},
|
|
167
|
+
});
|
|
168
|
+
}
|
|
78
169
|
exports.fieldDeprecationAdded = fieldDeprecationAdded;
|
|
79
|
-
function
|
|
170
|
+
function fieldDeprecationRemovedFromMeta(args) {
|
|
80
171
|
return {
|
|
172
|
+
type: change_js_1.ChangeType.FieldDeprecationRemoved,
|
|
81
173
|
criticality: {
|
|
82
174
|
level: change_js_1.CriticalityLevel.Dangerous,
|
|
83
175
|
},
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
path: [
|
|
176
|
+
message: `Field '${args.meta.typeName}.${args.meta.fieldName}' is no longer deprecated`,
|
|
177
|
+
meta: args.meta,
|
|
178
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
87
179
|
};
|
|
88
180
|
}
|
|
181
|
+
exports.fieldDeprecationRemovedFromMeta = fieldDeprecationRemovedFromMeta;
|
|
182
|
+
function fieldDeprecationRemoved(type, field) {
|
|
183
|
+
return fieldDeprecationRemovedFromMeta({
|
|
184
|
+
type: change_js_1.ChangeType.FieldDeprecationRemoved,
|
|
185
|
+
meta: {
|
|
186
|
+
fieldName: field.name,
|
|
187
|
+
typeName: type.name,
|
|
188
|
+
},
|
|
189
|
+
});
|
|
190
|
+
}
|
|
89
191
|
exports.fieldDeprecationRemoved = fieldDeprecationRemoved;
|
|
90
|
-
function
|
|
192
|
+
function buildFieldDeprecationReasonChangedMessage(args) {
|
|
193
|
+
return `Deprecation reason on field '${args.typeName}.${args.fieldName}' has changed from '${args.oldDeprecationReason}' to '${args.newDeprecationReason}'`;
|
|
194
|
+
}
|
|
195
|
+
function fieldDeprecationReasonChangedFromMeta(args) {
|
|
91
196
|
return {
|
|
197
|
+
type: change_js_1.ChangeType.FieldDeprecationReasonChanged,
|
|
92
198
|
criticality: {
|
|
93
199
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
94
200
|
},
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
path: [
|
|
201
|
+
message: buildFieldDeprecationReasonChangedMessage(args.meta),
|
|
202
|
+
meta: args.meta,
|
|
203
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
98
204
|
};
|
|
99
205
|
}
|
|
206
|
+
exports.fieldDeprecationReasonChangedFromMeta = fieldDeprecationReasonChangedFromMeta;
|
|
207
|
+
function fieldDeprecationReasonChanged(type, oldField, newField) {
|
|
208
|
+
var _a, _b;
|
|
209
|
+
return fieldDeprecationReasonChangedFromMeta({
|
|
210
|
+
type: change_js_1.ChangeType.FieldDeprecationReasonChanged,
|
|
211
|
+
meta: {
|
|
212
|
+
fieldName: newField.name,
|
|
213
|
+
typeName: type.name,
|
|
214
|
+
newDeprecationReason: (_a = newField.deprecationReason) !== null && _a !== void 0 ? _a : '',
|
|
215
|
+
oldDeprecationReason: (_b = oldField.deprecationReason) !== null && _b !== void 0 ? _b : '',
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
}
|
|
100
219
|
exports.fieldDeprecationReasonChanged = fieldDeprecationReasonChanged;
|
|
101
|
-
function
|
|
220
|
+
function buildFieldDeprecationReasonAddedMessage(args) {
|
|
221
|
+
return `Field '${args.typeName}.${args.fieldName}' has deprecation reason '${args.addedDeprecationReason}'`;
|
|
222
|
+
}
|
|
223
|
+
function fieldDeprecationReasonAddedFromMeta(args) {
|
|
102
224
|
return {
|
|
225
|
+
type: change_js_1.ChangeType.FieldDeprecationReasonAdded,
|
|
103
226
|
criticality: {
|
|
104
227
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
105
228
|
},
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
path: [
|
|
229
|
+
message: buildFieldDeprecationReasonAddedMessage(args.meta),
|
|
230
|
+
meta: args.meta,
|
|
231
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
109
232
|
};
|
|
110
233
|
}
|
|
234
|
+
exports.fieldDeprecationReasonAddedFromMeta = fieldDeprecationReasonAddedFromMeta;
|
|
235
|
+
function fieldDeprecationReasonAdded(type, field) {
|
|
236
|
+
var _a;
|
|
237
|
+
return fieldDeprecationReasonAddedFromMeta({
|
|
238
|
+
type: change_js_1.ChangeType.FieldDeprecationReasonAdded,
|
|
239
|
+
meta: {
|
|
240
|
+
typeName: type.name,
|
|
241
|
+
fieldName: field.name,
|
|
242
|
+
addedDeprecationReason: (_a = field.deprecationReason) !== null && _a !== void 0 ? _a : '',
|
|
243
|
+
},
|
|
244
|
+
});
|
|
245
|
+
}
|
|
111
246
|
exports.fieldDeprecationReasonAdded = fieldDeprecationReasonAdded;
|
|
112
|
-
function
|
|
247
|
+
function fieldDeprecationReasonRemovedFromMeta(args) {
|
|
113
248
|
return {
|
|
249
|
+
type: change_js_1.ChangeType.FieldDeprecationReasonRemoved,
|
|
114
250
|
criticality: {
|
|
115
251
|
level: change_js_1.CriticalityLevel.NonBreaking,
|
|
116
252
|
},
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
path: [
|
|
253
|
+
message: `Deprecation reason was removed from field '${args.meta.typeName}.${args.meta.fieldName}'`,
|
|
254
|
+
meta: args.meta,
|
|
255
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
120
256
|
};
|
|
121
257
|
}
|
|
258
|
+
exports.fieldDeprecationReasonRemovedFromMeta = fieldDeprecationReasonRemovedFromMeta;
|
|
259
|
+
function fieldDeprecationReasonRemoved(type, field) {
|
|
260
|
+
return fieldDeprecationReasonRemovedFromMeta({
|
|
261
|
+
type: change_js_1.ChangeType.FieldDeprecationReasonRemoved,
|
|
262
|
+
meta: {
|
|
263
|
+
typeName: type.name,
|
|
264
|
+
fieldName: field.name,
|
|
265
|
+
},
|
|
266
|
+
});
|
|
267
|
+
}
|
|
122
268
|
exports.fieldDeprecationReasonRemoved = fieldDeprecationReasonRemoved;
|
|
123
|
-
function
|
|
269
|
+
function buildFieldTypeChangedMessage(args) {
|
|
270
|
+
return `Field '${args.meta.typeName}.${args.meta.fieldName}' changed type from '${args.meta.oldFieldType}' to '${args.meta.newFieldType}'`;
|
|
271
|
+
}
|
|
272
|
+
function fieldTypeChangedFromMeta(args) {
|
|
124
273
|
return {
|
|
274
|
+
type: change_js_1.ChangeType.FieldTypeChanged,
|
|
125
275
|
criticality: {
|
|
126
|
-
level:
|
|
276
|
+
level: args.meta.isSafeFieldTypeChange
|
|
127
277
|
? change_js_1.CriticalityLevel.NonBreaking
|
|
128
278
|
: change_js_1.CriticalityLevel.Breaking,
|
|
129
279
|
},
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
path: [
|
|
280
|
+
message: buildFieldTypeChangedMessage(args),
|
|
281
|
+
meta: args.meta,
|
|
282
|
+
path: [args.meta.typeName, args.meta.fieldName].join('.'),
|
|
133
283
|
};
|
|
134
284
|
}
|
|
285
|
+
exports.fieldTypeChangedFromMeta = fieldTypeChangedFromMeta;
|
|
286
|
+
function fieldTypeChanged(type, oldField, newField) {
|
|
287
|
+
return fieldTypeChangedFromMeta({
|
|
288
|
+
type: change_js_1.ChangeType.FieldTypeChanged,
|
|
289
|
+
meta: {
|
|
290
|
+
typeName: type.name,
|
|
291
|
+
fieldName: oldField.name,
|
|
292
|
+
oldFieldType: oldField.type.toString(),
|
|
293
|
+
newFieldType: newField.type.toString(),
|
|
294
|
+
isSafeFieldTypeChange: (0, graphql_js_1.safeChangeForField)(oldField.type, newField.type),
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
}
|
|
135
298
|
exports.fieldTypeChanged = fieldTypeChanged;
|
|
136
|
-
function
|
|
137
|
-
|
|
138
|
-
|
|
299
|
+
function buildFieldArgumentAddedMessage(args) {
|
|
300
|
+
return `Argument '${args.addedArgumentName}: ${args.addedArgumentType}'${args.hasDefaultValue ? ' (with default value) ' : ' '}added to field '${args.typeName}.${args.fieldName}'`;
|
|
301
|
+
}
|
|
302
|
+
function fieldArgumentAddedFromMeta(args) {
|
|
139
303
|
return {
|
|
140
|
-
criticality: isBreaking
|
|
141
|
-
? {
|
|
142
|
-
level: change_js_1.CriticalityLevel.Breaking,
|
|
143
|
-
reason: `Adding a required argument to an existing field is a breaking change because it will cause existing uses of this field to error.`,
|
|
144
|
-
}
|
|
145
|
-
: {
|
|
146
|
-
level: change_js_1.CriticalityLevel.Dangerous,
|
|
147
|
-
reason: `Adding a new argument to an existing field may involve a change in resolve function logic that potentially may cause some side effects.`,
|
|
148
|
-
},
|
|
149
304
|
type: change_js_1.ChangeType.FieldArgumentAdded,
|
|
150
|
-
|
|
151
|
-
|
|
305
|
+
criticality: {
|
|
306
|
+
level: args.meta.isAddedFieldArgumentBreaking
|
|
307
|
+
? change_js_1.CriticalityLevel.Breaking
|
|
308
|
+
: change_js_1.CriticalityLevel.Dangerous,
|
|
309
|
+
},
|
|
310
|
+
message: buildFieldArgumentAddedMessage(args.meta),
|
|
311
|
+
meta: args.meta,
|
|
312
|
+
path: [args.meta.typeName, args.meta.fieldName, args.meta.addedArgumentName].join('.'),
|
|
152
313
|
};
|
|
153
314
|
}
|
|
315
|
+
exports.fieldArgumentAddedFromMeta = fieldArgumentAddedFromMeta;
|
|
316
|
+
function fieldArgumentAdded(type, field, arg) {
|
|
317
|
+
const isBreaking = (0, graphql_1.isNonNullType)(arg.type) && typeof arg.defaultValue === 'undefined';
|
|
318
|
+
return fieldArgumentAddedFromMeta({
|
|
319
|
+
type: change_js_1.ChangeType.FieldArgumentAdded,
|
|
320
|
+
meta: {
|
|
321
|
+
typeName: type.name,
|
|
322
|
+
fieldName: field.name,
|
|
323
|
+
addedArgumentName: arg.name,
|
|
324
|
+
addedArgumentType: arg.type.toString(),
|
|
325
|
+
hasDefaultValue: arg.defaultValue != null,
|
|
326
|
+
isAddedFieldArgumentBreaking: isBreaking,
|
|
327
|
+
},
|
|
328
|
+
});
|
|
329
|
+
}
|
|
154
330
|
exports.fieldArgumentAdded = fieldArgumentAdded;
|
|
155
|
-
function
|
|
331
|
+
function buildFieldArgumentRemovedMessage(args) {
|
|
332
|
+
return `Argument '${args.meta.removedFieldArgumentName}: ${args.meta.removedFieldType}' was removed from field '${args.meta.typeName}.${args.meta.fieldName}'`;
|
|
333
|
+
}
|
|
334
|
+
function fieldArgumentRemovedFromMeta(args) {
|
|
156
335
|
return {
|
|
336
|
+
type: change_js_1.ChangeType.FieldArgumentRemoved,
|
|
157
337
|
criticality: {
|
|
158
338
|
level: change_js_1.CriticalityLevel.Breaking,
|
|
159
|
-
reason: `Removing a field argument is a breaking change because it will cause existing queries that use this argument to error.`,
|
|
160
339
|
},
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
path: [
|
|
340
|
+
message: buildFieldArgumentRemovedMessage(args),
|
|
341
|
+
meta: args.meta,
|
|
342
|
+
path: [args.meta.typeName, args.meta.fieldName, args.meta.removedFieldArgumentName].join('.'),
|
|
164
343
|
};
|
|
165
344
|
}
|
|
345
|
+
exports.fieldArgumentRemovedFromMeta = fieldArgumentRemovedFromMeta;
|
|
346
|
+
function fieldArgumentRemoved(type, field, arg) {
|
|
347
|
+
return fieldArgumentRemovedFromMeta({
|
|
348
|
+
type: change_js_1.ChangeType.FieldArgumentRemoved,
|
|
349
|
+
meta: {
|
|
350
|
+
typeName: type.name,
|
|
351
|
+
fieldName: field.name,
|
|
352
|
+
removedFieldArgumentName: arg.name,
|
|
353
|
+
removedFieldType: arg.type.toString(),
|
|
354
|
+
},
|
|
355
|
+
});
|
|
356
|
+
}
|
|
166
357
|
exports.fieldArgumentRemoved = fieldArgumentRemoved;
|