graphql 15.1.0 → 15.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +10 -12
  3. package/error/GraphQLError.js +5 -5
  4. package/error/GraphQLError.js.flow +5 -5
  5. package/error/GraphQLError.mjs +1 -1
  6. package/error/formatError.js +1 -1
  7. package/error/formatError.js.flow +2 -3
  8. package/error/index.js +4 -4
  9. package/error/index.js.flow +0 -1
  10. package/error/locatedError.d.ts +2 -2
  11. package/error/locatedError.js +10 -5
  12. package/error/locatedError.js.flow +11 -5
  13. package/error/locatedError.mjs +6 -4
  14. package/error/syntaxError.js +1 -1
  15. package/error/syntaxError.js.flow +1 -2
  16. package/execution/execute.d.ts +24 -16
  17. package/execution/execute.js +123 -105
  18. package/execution/execute.js.flow +169 -153
  19. package/execution/execute.mjs +101 -82
  20. package/execution/index.d.ts +2 -0
  21. package/execution/index.js +9 -3
  22. package/execution/index.js.flow +12 -3
  23. package/execution/index.mjs +1 -1
  24. package/execution/values.js +11 -11
  25. package/execution/values.js.flow +10 -14
  26. package/graphql.js +5 -5
  27. package/graphql.js.flow +9 -9
  28. package/index.d.ts +19 -1
  29. package/index.js +27 -9
  30. package/index.js.flow +10 -3
  31. package/index.mjs +4 -3
  32. package/jsutils/ObjMap.js.flow +0 -1
  33. package/jsutils/Path.d.ts +6 -1
  34. package/jsutils/Path.js +3 -2
  35. package/jsutils/Path.js.flow +3 -2
  36. package/jsutils/Path.mjs +3 -2
  37. package/jsutils/PromiseOrValue.js.flow +0 -1
  38. package/jsutils/defineInspect.js +2 -2
  39. package/jsutils/defineInspect.js.flow +0 -1
  40. package/jsutils/devAssert.js.flow +0 -1
  41. package/jsutils/didYouMean.js.flow +0 -1
  42. package/jsutils/identityFunc.js.flow +0 -1
  43. package/jsutils/inspect.js +1 -2
  44. package/jsutils/inspect.js.flow +10 -8
  45. package/jsutils/inspect.mjs +1 -1
  46. package/jsutils/instanceOf.js.flow +2 -3
  47. package/jsutils/invariant.js.flow +0 -1
  48. package/jsutils/isAsyncIterable.js +19 -0
  49. package/jsutils/isAsyncIterable.js.flow +18 -0
  50. package/jsutils/isAsyncIterable.mjs +16 -0
  51. package/jsutils/isCollection.js +1 -1
  52. package/jsutils/isCollection.js.flow +0 -1
  53. package/jsutils/isObjectLike.js.flow +0 -1
  54. package/jsutils/isPromise.js.flow +0 -1
  55. package/jsutils/keyMap.js.flow +1 -2
  56. package/jsutils/keyValMap.js.flow +1 -2
  57. package/jsutils/mapValue.js +1 -1
  58. package/jsutils/mapValue.js.flow +1 -2
  59. package/jsutils/memoize3.js +2 -5
  60. package/jsutils/memoize3.js.flow +2 -5
  61. package/jsutils/memoize3.mjs +2 -5
  62. package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
  63. package/jsutils/printPathArray.js.flow +0 -1
  64. package/jsutils/promiseForObject.js.flow +1 -2
  65. package/jsutils/promiseReduce.js +1 -1
  66. package/jsutils/promiseReduce.js.flow +1 -1
  67. package/jsutils/promiseReduce.mjs +1 -1
  68. package/jsutils/suggestionList.js.flow +1 -2
  69. package/jsutils/toObjMap.js +1 -1
  70. package/jsutils/toObjMap.js.flow +5 -6
  71. package/language/ast.js +1 -1
  72. package/language/ast.js.flow +2 -3
  73. package/language/blockString.d.ts +1 -1
  74. package/language/blockString.js +53 -32
  75. package/language/blockString.js.flow +49 -34
  76. package/language/blockString.mjs +54 -33
  77. package/language/directiveLocation.js.flow +0 -1
  78. package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
  79. package/language/experimentalOnlineParser/grammar.js +987 -0
  80. package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
  81. package/language/experimentalOnlineParser/grammar.mjs +980 -0
  82. package/language/experimentalOnlineParser/index.d.ts +6 -0
  83. package/language/experimentalOnlineParser/index.js +31 -0
  84. package/language/experimentalOnlineParser/index.js.flow +7 -0
  85. package/language/experimentalOnlineParser/index.mjs +1 -0
  86. package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
  87. package/language/experimentalOnlineParser/onlineParser.js +604 -0
  88. package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
  89. package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
  90. package/language/index.js +12 -12
  91. package/language/index.js.flow +0 -1
  92. package/language/kinds.js.flow +0 -1
  93. package/language/lexer.js +242 -183
  94. package/language/lexer.js.flow +191 -186
  95. package/language/lexer.mjs +239 -180
  96. package/language/location.js.flow +1 -2
  97. package/language/parser.js +73 -68
  98. package/language/parser.js.flow +112 -106
  99. package/language/parser.mjs +66 -62
  100. package/language/predicates.js +1 -1
  101. package/language/predicates.js.flow +1 -2
  102. package/language/printLocation.js +1 -1
  103. package/language/printLocation.js.flow +4 -4
  104. package/language/printer.js +20 -13
  105. package/language/printer.js.flow +27 -25
  106. package/language/printer.mjs +18 -11
  107. package/language/source.d.ts +12 -6
  108. package/language/source.js +25 -9
  109. package/language/source.js.flow +25 -8
  110. package/language/source.mjs +19 -7
  111. package/language/tokenKind.js.flow +0 -1
  112. package/language/visitor.d.ts +3 -3
  113. package/language/visitor.js +5 -5
  114. package/language/visitor.js.flow +5 -5
  115. package/language/visitor.mjs +3 -3
  116. package/package.json +1 -1
  117. package/polyfills/arrayFrom.js +2 -2
  118. package/polyfills/arrayFrom.js.flow +1 -2
  119. package/polyfills/arrayFrom.mjs +1 -1
  120. package/polyfills/find.js +1 -1
  121. package/polyfills/find.js.flow +1 -2
  122. package/polyfills/find.mjs +1 -1
  123. package/polyfills/isFinite.js +1 -1
  124. package/polyfills/isFinite.js.flow +1 -2
  125. package/polyfills/isFinite.mjs +1 -1
  126. package/polyfills/isInteger.js +1 -1
  127. package/polyfills/isInteger.js.flow +1 -2
  128. package/polyfills/isInteger.mjs +1 -1
  129. package/polyfills/objectEntries.js +1 -1
  130. package/polyfills/objectEntries.js.flow +2 -3
  131. package/polyfills/objectEntries.mjs +1 -1
  132. package/polyfills/objectValues.js +1 -1
  133. package/polyfills/objectValues.js.flow +2 -3
  134. package/polyfills/objectValues.mjs +1 -1
  135. package/polyfills/symbols.js +3 -5
  136. package/polyfills/symbols.js.flow +9 -6
  137. package/polyfills/symbols.mjs +3 -5
  138. package/subscription/index.js +1 -1
  139. package/subscription/index.js.flow +0 -1
  140. package/subscription/mapAsyncIterator.js +2 -2
  141. package/subscription/mapAsyncIterator.js.flow +9 -10
  142. package/subscription/mapAsyncIterator.mjs +1 -1
  143. package/subscription/subscribe.js +61 -73
  144. package/subscription/subscribe.js.flow +74 -88
  145. package/subscription/subscribe.mjs +53 -65
  146. package/type/definition.d.ts +181 -31
  147. package/type/definition.js +37 -32
  148. package/type/definition.js.flow +66 -51
  149. package/type/definition.mjs +20 -18
  150. package/type/directives.d.ts +17 -3
  151. package/type/directives.js +17 -16
  152. package/type/directives.js.flow +20 -21
  153. package/type/directives.mjs +6 -5
  154. package/type/index.d.ts +12 -0
  155. package/type/index.js +6 -6
  156. package/type/index.js.flow +0 -1
  157. package/type/introspection.js +86 -68
  158. package/type/introspection.js.flow +85 -54
  159. package/type/introspection.mjs +79 -61
  160. package/type/scalars.js +9 -9
  161. package/type/scalars.js.flow +3 -3
  162. package/type/scalars.mjs +1 -1
  163. package/type/schema.d.ts +17 -4
  164. package/type/schema.js +13 -13
  165. package/type/schema.js.flow +18 -16
  166. package/type/schema.mjs +1 -1
  167. package/type/validate.js +52 -19
  168. package/type/validate.js.flow +67 -18
  169. package/type/validate.mjs +44 -10
  170. package/utilities/TypeInfo.js +7 -7
  171. package/utilities/TypeInfo.js.flow +16 -18
  172. package/utilities/TypeInfo.mjs +1 -1
  173. package/utilities/assertValidName.js +2 -2
  174. package/utilities/assertValidName.js.flow +0 -1
  175. package/utilities/astFromValue.js +10 -10
  176. package/utilities/astFromValue.js.flow +2 -3
  177. package/utilities/buildASTSchema.js +17 -27
  178. package/utilities/buildASTSchema.js.flow +11 -28
  179. package/utilities/buildASTSchema.mjs +11 -21
  180. package/utilities/buildClientSchema.js +14 -14
  181. package/utilities/buildClientSchema.js.flow +41 -29
  182. package/utilities/buildClientSchema.mjs +5 -5
  183. package/utilities/coerceInputValue.js +14 -14
  184. package/utilities/coerceInputValue.js.flow +7 -6
  185. package/utilities/coerceInputValue.mjs +2 -2
  186. package/utilities/concatAST.js +9 -8
  187. package/utilities/concatAST.js.flow +9 -9
  188. package/utilities/concatAST.mjs +9 -6
  189. package/utilities/extendSchema.js +26 -19
  190. package/utilities/extendSchema.js.flow +58 -45
  191. package/utilities/extendSchema.mjs +9 -2
  192. package/utilities/findBreakingChanges.js +9 -9
  193. package/utilities/findBreakingChanges.js.flow +12 -11
  194. package/utilities/findDeprecatedUsages.d.ts +9 -1
  195. package/utilities/findDeprecatedUsages.js +11 -27
  196. package/utilities/findDeprecatedUsages.js.flow +15 -44
  197. package/utilities/findDeprecatedUsages.mjs +11 -25
  198. package/utilities/getIntrospectionQuery.js.flow +2 -3
  199. package/utilities/getOperationAST.js +1 -1
  200. package/utilities/getOperationAST.js.flow +1 -5
  201. package/utilities/getOperationAST.mjs +1 -1
  202. package/utilities/getOperationRootType.js +1 -1
  203. package/utilities/getOperationRootType.js.flow +5 -6
  204. package/utilities/index.d.ts +4 -1
  205. package/utilities/index.js +22 -22
  206. package/utilities/index.js.flow +1 -2
  207. package/utilities/index.mjs +1 -1
  208. package/utilities/introspectionFromSchema.js +6 -8
  209. package/utilities/introspectionFromSchema.js.flow +10 -10
  210. package/utilities/introspectionFromSchema.mjs +3 -4
  211. package/utilities/lexicographicSortSchema.js +10 -8
  212. package/utilities/lexicographicSortSchema.js.flow +19 -12
  213. package/utilities/lexicographicSortSchema.mjs +3 -1
  214. package/utilities/printSchema.js +15 -16
  215. package/utilities/printSchema.js.flow +34 -25
  216. package/utilities/printSchema.mjs +6 -7
  217. package/utilities/separateOperations.js +2 -2
  218. package/utilities/separateOperations.js.flow +2 -6
  219. package/utilities/separateOperations.mjs +1 -1
  220. package/utilities/stripIgnoredCharacters.js +6 -16
  221. package/utilities/stripIgnoredCharacters.js.flow +4 -13
  222. package/utilities/stripIgnoredCharacters.mjs +3 -10
  223. package/utilities/typeComparators.js +1 -1
  224. package/utilities/typeComparators.js.flow +2 -4
  225. package/utilities/typeFromAST.js +6 -6
  226. package/utilities/typeFromAST.js.flow +11 -14
  227. package/utilities/typeFromAST.mjs +2 -2
  228. package/utilities/typedQueryDocumentNode.d.ts +20 -0
  229. package/utilities/valueFromAST.js +6 -6
  230. package/utilities/valueFromAST.js.flow +7 -5
  231. package/utilities/valueFromASTUntyped.js +4 -4
  232. package/utilities/valueFromASTUntyped.js.flow +2 -3
  233. package/validation/ValidationContext.d.ts +3 -0
  234. package/validation/ValidationContext.js +7 -3
  235. package/validation/ValidationContext.js.flow +28 -22
  236. package/validation/ValidationContext.mjs +4 -0
  237. package/validation/index.d.ts +4 -0
  238. package/validation/index.js +52 -36
  239. package/validation/index.js.flow +4 -1
  240. package/validation/index.mjs +4 -1
  241. package/validation/rules/ExecutableDefinitions.js +1 -1
  242. package/validation/rules/ExecutableDefinitions.js.flow +0 -1
  243. package/validation/rules/ExecutableDefinitionsRule.js +3 -3
  244. package/validation/rules/ExecutableDefinitionsRule.js.flow +2 -3
  245. package/validation/rules/FieldsOnCorrectTypeRule.js +5 -5
  246. package/validation/rules/FieldsOnCorrectTypeRule.js.flow +9 -8
  247. package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
  248. package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +2 -3
  249. package/validation/rules/KnownArgumentNamesRule.js +5 -5
  250. package/validation/rules/KnownArgumentNamesRule.js.flow +5 -5
  251. package/validation/rules/KnownDirectivesRule.js +6 -6
  252. package/validation/rules/KnownDirectivesRule.js.flow +10 -11
  253. package/validation/rules/KnownFragmentNamesRule.js +1 -1
  254. package/validation/rules/KnownFragmentNamesRule.js.flow +3 -3
  255. package/validation/rules/KnownTypeNamesRule.js +12 -10
  256. package/validation/rules/KnownTypeNamesRule.js.flow +14 -11
  257. package/validation/rules/KnownTypeNamesRule.mjs +6 -5
  258. package/validation/rules/LoneAnonymousOperationRule.js +2 -2
  259. package/validation/rules/LoneAnonymousOperationRule.js.flow +2 -3
  260. package/validation/rules/LoneSchemaDefinition.js +1 -1
  261. package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
  262. package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
  263. package/validation/rules/LoneSchemaDefinitionRule.js.flow +2 -3
  264. package/validation/rules/NoFragmentCyclesRule.js +1 -1
  265. package/validation/rules/NoFragmentCyclesRule.js.flow +4 -5
  266. package/validation/rules/NoUndefinedVariablesRule.js +1 -1
  267. package/validation/rules/NoUndefinedVariablesRule.js.flow +3 -3
  268. package/validation/rules/NoUnusedFragmentsRule.js +1 -1
  269. package/validation/rules/NoUnusedFragmentsRule.js.flow +3 -3
  270. package/validation/rules/NoUnusedVariablesRule.js +1 -1
  271. package/validation/rules/NoUnusedVariablesRule.js.flow +3 -3
  272. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
  273. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +29 -27
  274. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
  275. package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
  276. package/validation/rules/PossibleFragmentSpreadsRule.js.flow +7 -4
  277. package/validation/rules/PossibleTypeExtensions.js +1 -1
  278. package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
  279. package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
  280. package/validation/rules/PossibleTypeExtensionsRule.js.flow +8 -6
  281. package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
  282. package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +7 -6
  283. package/validation/rules/ScalarLeafsRule.js +3 -3
  284. package/validation/rules/ScalarLeafsRule.js.flow +3 -4
  285. package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
  286. package/validation/rules/SingleFieldSubscriptionsRule.js.flow +3 -4
  287. package/validation/rules/UniqueArgumentNamesRule.js +1 -1
  288. package/validation/rules/UniqueArgumentNamesRule.js.flow +2 -3
  289. package/validation/rules/UniqueDirectiveNames.js +1 -1
  290. package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
  291. package/validation/rules/UniqueDirectiveNamesRule.js +1 -1
  292. package/validation/rules/UniqueDirectiveNamesRule.js.flow +2 -3
  293. package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
  294. package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +4 -5
  295. package/validation/rules/UniqueEnumValueNames.js +1 -1
  296. package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
  297. package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
  298. package/validation/rules/UniqueEnumValueNamesRule.js.flow +11 -4
  299. package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
  300. package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
  301. package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
  302. package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +17 -6
  303. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
  304. package/validation/rules/UniqueFragmentNamesRule.js +1 -1
  305. package/validation/rules/UniqueFragmentNamesRule.js.flow +3 -3
  306. package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
  307. package/validation/rules/UniqueInputFieldNamesRule.js.flow +3 -3
  308. package/validation/rules/UniqueOperationNamesRule.js +1 -1
  309. package/validation/rules/UniqueOperationNamesRule.js.flow +3 -3
  310. package/validation/rules/UniqueOperationTypes.js +1 -1
  311. package/validation/rules/UniqueOperationTypes.js.flow +0 -1
  312. package/validation/rules/UniqueOperationTypesRule.js +1 -1
  313. package/validation/rules/UniqueOperationTypesRule.js.flow +10 -4
  314. package/validation/rules/UniqueTypeNames.js +1 -1
  315. package/validation/rules/UniqueTypeNames.js.flow +0 -1
  316. package/validation/rules/UniqueTypeNamesRule.js +1 -1
  317. package/validation/rules/UniqueTypeNamesRule.js.flow +3 -4
  318. package/validation/rules/UniqueVariableNamesRule.js +1 -1
  319. package/validation/rules/UniqueVariableNamesRule.js.flow +3 -4
  320. package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
  321. package/validation/rules/ValuesOfCorrectTypeRule.js.flow +3 -4
  322. package/validation/rules/VariablesAreInputTypesRule.js +4 -4
  323. package/validation/rules/VariablesAreInputTypesRule.js.flow +3 -4
  324. package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
  325. package/validation/rules/VariablesInAllowedPositionRule.js.flow +6 -6
  326. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +14 -0
  327. package/validation/rules/custom/NoDeprecatedCustomRule.js +79 -0
  328. package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +94 -0
  329. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +68 -0
  330. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +16 -0
  331. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +34 -0
  332. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +38 -0
  333. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +25 -0
  334. package/validation/specifiedRules.js +33 -33
  335. package/validation/specifiedRules.js.flow +0 -1
  336. package/validation/validate.js +7 -7
  337. package/validation/validate.js.flow +4 -9
  338. package/version.js +2 -2
  339. package/version.js.flow +2 -3
  340. package/version.mjs +2 -2
  341. package/polyfills/flatMap.js +0 -30
  342. package/polyfills/flatMap.js.flow +0 -28
  343. package/polyfills/flatMap.mjs +0 -23
@@ -1,20 +1,20 @@
1
1
  // @flow strict
2
-
3
2
  import inspect from '../../jsutils/inspect';
4
3
 
5
4
  import { GraphQLError } from '../../error/GraphQLError';
6
5
 
7
6
  import { Kind } from '../../language/kinds';
8
- import { type ValueNode } from '../../language/ast';
9
- import { type ASTVisitor } from '../../language/visitor';
7
+ import type { ValueNode } from '../../language/ast';
8
+ import type { ASTVisitor } from '../../language/visitor';
10
9
 
11
- import { type GraphQLSchema } from '../../type/schema';
12
- import { type GraphQLType, isNonNullType } from '../../type/definition';
10
+ import type { GraphQLSchema } from '../../type/schema';
11
+ import type { GraphQLType } from '../../type/definition';
12
+ import { isNonNullType } from '../../type/definition';
13
13
 
14
14
  import { typeFromAST } from '../../utilities/typeFromAST';
15
15
  import { isTypeSubTypeOf } from '../../utilities/typeComparators';
16
16
 
17
- import { type ValidationContext } from '../ValidationContext';
17
+ import type { ValidationContext } from '../ValidationContext';
18
18
 
19
19
  /**
20
20
  * Variables passed to field arguments conform to type
@@ -0,0 +1,14 @@
1
+ import { ASTVisitor } from '../../../language/visitor';
2
+ import { ValidationContext } from '../../ValidationContext';
3
+
4
+ /**
5
+ * No deprecated
6
+ *
7
+ * A GraphQL document is only valid if all selected fields and all used enum values have not been
8
+ * deprecated.
9
+ *
10
+ * Note: This rule is optional and is not part of the Validation section of the GraphQL
11
+ * Specification. The main purpose of this rule is detection of deprecated usages and not
12
+ * necessarily to forbid their use when querying a service.
13
+ */
14
+ export function NoDeprecatedCustomRule(context: ValidationContext): ASTVisitor;
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NoDeprecatedCustomRule = NoDeprecatedCustomRule;
7
+
8
+ var _invariant = _interopRequireDefault(require("../../../jsutils/invariant.js"));
9
+
10
+ var _GraphQLError = require("../../../error/GraphQLError.js");
11
+
12
+ var _definition = require("../../../type/definition.js");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /**
17
+ * No deprecated
18
+ *
19
+ * A GraphQL document is only valid if all selected fields and all used enum values have not been
20
+ * deprecated.
21
+ *
22
+ * Note: This rule is optional and is not part of the Validation section of the GraphQL
23
+ * Specification. The main purpose of this rule is detection of deprecated usages and not
24
+ * necessarily to forbid their use when querying a service.
25
+ */
26
+ function NoDeprecatedCustomRule(context) {
27
+ return {
28
+ Field: function Field(node) {
29
+ var fieldDef = context.getFieldDef();
30
+ var deprecationReason = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.deprecationReason;
31
+
32
+ if (fieldDef && deprecationReason != null) {
33
+ var parentType = context.getParentType();
34
+ parentType != null || (0, _invariant.default)(0);
35
+ context.reportError(new _GraphQLError.GraphQLError("The field ".concat(parentType.name, ".").concat(fieldDef.name, " is deprecated. ").concat(deprecationReason), node));
36
+ }
37
+ },
38
+ Argument: function Argument(node) {
39
+ var argDef = context.getArgument();
40
+ var deprecationReason = argDef === null || argDef === void 0 ? void 0 : argDef.deprecationReason;
41
+
42
+ if (argDef && deprecationReason != null) {
43
+ var directiveDef = context.getDirective();
44
+
45
+ if (directiveDef != null) {
46
+ context.reportError(new _GraphQLError.GraphQLError("Directive \"@".concat(directiveDef.name, "\" argument \"").concat(argDef.name, "\" is deprecated. ").concat(deprecationReason), node));
47
+ } else {
48
+ var parentType = context.getParentType();
49
+ var fieldDef = context.getFieldDef();
50
+ parentType != null && fieldDef != null || (0, _invariant.default)(0);
51
+ context.reportError(new _GraphQLError.GraphQLError("Field \"".concat(parentType.name, ".").concat(fieldDef.name, "\" argument \"").concat(argDef.name, "\" is deprecated. ").concat(deprecationReason), node));
52
+ }
53
+ }
54
+ },
55
+ ObjectField: function ObjectField(node) {
56
+ var inputObjectDef = (0, _definition.getNamedType)(context.getParentInputType());
57
+
58
+ if ((0, _definition.isInputObjectType)(inputObjectDef)) {
59
+ var inputFieldDef = inputObjectDef.getFields()[node.name.value]; // flowlint-next-line unnecessary-optional-chain:off
60
+
61
+ var deprecationReason = inputFieldDef === null || inputFieldDef === void 0 ? void 0 : inputFieldDef.deprecationReason;
62
+
63
+ if (deprecationReason != null) {
64
+ context.reportError(new _GraphQLError.GraphQLError("The input field ".concat(inputObjectDef.name, ".").concat(inputFieldDef.name, " is deprecated. ").concat(deprecationReason), node));
65
+ }
66
+ }
67
+ },
68
+ EnumValue: function EnumValue(node) {
69
+ var enumValueDef = context.getEnumValue();
70
+ var deprecationReason = enumValueDef === null || enumValueDef === void 0 ? void 0 : enumValueDef.deprecationReason;
71
+
72
+ if (enumValueDef && deprecationReason != null) {
73
+ var enumTypeDef = (0, _definition.getNamedType)(context.getInputType());
74
+ enumTypeDef != null || (0, _invariant.default)(0);
75
+ context.reportError(new _GraphQLError.GraphQLError("The enum value \"".concat(enumTypeDef.name, ".").concat(enumValueDef.name, "\" is deprecated. ").concat(deprecationReason), node));
76
+ }
77
+ }
78
+ };
79
+ }
@@ -0,0 +1,94 @@
1
+ // @flow strict
2
+ import invariant from '../../../jsutils/invariant';
3
+
4
+ import { GraphQLError } from '../../../error/GraphQLError';
5
+
6
+ import type { ASTVisitor } from '../../../language/visitor';
7
+
8
+ import { getNamedType, isInputObjectType } from '../../../type/definition';
9
+
10
+ import type { ValidationContext } from '../../ValidationContext';
11
+
12
+ /**
13
+ * No deprecated
14
+ *
15
+ * A GraphQL document is only valid if all selected fields and all used enum values have not been
16
+ * deprecated.
17
+ *
18
+ * Note: This rule is optional and is not part of the Validation section of the GraphQL
19
+ * Specification. The main purpose of this rule is detection of deprecated usages and not
20
+ * necessarily to forbid their use when querying a service.
21
+ */
22
+ export function NoDeprecatedCustomRule(context: ValidationContext): ASTVisitor {
23
+ return {
24
+ Field(node) {
25
+ const fieldDef = context.getFieldDef();
26
+ const deprecationReason = fieldDef?.deprecationReason;
27
+ if (fieldDef && deprecationReason != null) {
28
+ const parentType = context.getParentType();
29
+ invariant(parentType != null);
30
+ context.reportError(
31
+ new GraphQLError(
32
+ `The field ${parentType.name}.${fieldDef.name} is deprecated. ${deprecationReason}`,
33
+ node,
34
+ ),
35
+ );
36
+ }
37
+ },
38
+ Argument(node) {
39
+ const argDef = context.getArgument();
40
+ const deprecationReason = argDef?.deprecationReason;
41
+ if (argDef && deprecationReason != null) {
42
+ const directiveDef = context.getDirective();
43
+ if (directiveDef != null) {
44
+ context.reportError(
45
+ new GraphQLError(
46
+ `Directive "@${directiveDef.name}" argument "${argDef.name}" is deprecated. ${deprecationReason}`,
47
+ node,
48
+ ),
49
+ );
50
+ } else {
51
+ const parentType = context.getParentType();
52
+ const fieldDef = context.getFieldDef();
53
+ invariant(parentType != null && fieldDef != null);
54
+ context.reportError(
55
+ new GraphQLError(
56
+ `Field "${parentType.name}.${fieldDef.name}" argument "${argDef.name}" is deprecated. ${deprecationReason}`,
57
+ node,
58
+ ),
59
+ );
60
+ }
61
+ }
62
+ },
63
+ ObjectField(node) {
64
+ const inputObjectDef = getNamedType(context.getParentInputType());
65
+ if (isInputObjectType(inputObjectDef)) {
66
+ const inputFieldDef = inputObjectDef.getFields()[node.name.value];
67
+ // flowlint-next-line unnecessary-optional-chain:off
68
+ const deprecationReason = inputFieldDef?.deprecationReason;
69
+ if (deprecationReason != null) {
70
+ context.reportError(
71
+ new GraphQLError(
72
+ `The input field ${inputObjectDef.name}.${inputFieldDef.name} is deprecated. ${deprecationReason}`,
73
+ node,
74
+ ),
75
+ );
76
+ }
77
+ }
78
+ },
79
+ EnumValue(node) {
80
+ const enumValueDef = context.getEnumValue();
81
+ const deprecationReason = enumValueDef?.deprecationReason;
82
+ if (enumValueDef && deprecationReason != null) {
83
+ const enumTypeDef = getNamedType(context.getInputType());
84
+ invariant(enumTypeDef != null);
85
+ context.reportError(
86
+ new GraphQLError(
87
+ `The enum value "${enumTypeDef.name}.${enumValueDef.name}" is deprecated. ${deprecationReason}`,
88
+ node,
89
+ ),
90
+ );
91
+ }
92
+ },
93
+ };
94
+ }
@@ -0,0 +1,68 @@
1
+ import invariant from "../../../jsutils/invariant.mjs";
2
+ import { GraphQLError } from "../../../error/GraphQLError.mjs";
3
+ import { getNamedType, isInputObjectType } from "../../../type/definition.mjs";
4
+
5
+ /**
6
+ * No deprecated
7
+ *
8
+ * A GraphQL document is only valid if all selected fields and all used enum values have not been
9
+ * deprecated.
10
+ *
11
+ * Note: This rule is optional and is not part of the Validation section of the GraphQL
12
+ * Specification. The main purpose of this rule is detection of deprecated usages and not
13
+ * necessarily to forbid their use when querying a service.
14
+ */
15
+ export function NoDeprecatedCustomRule(context) {
16
+ return {
17
+ Field: function Field(node) {
18
+ var fieldDef = context.getFieldDef();
19
+ var deprecationReason = fieldDef === null || fieldDef === void 0 ? void 0 : fieldDef.deprecationReason;
20
+
21
+ if (fieldDef && deprecationReason != null) {
22
+ var parentType = context.getParentType();
23
+ parentType != null || invariant(0);
24
+ context.reportError(new GraphQLError("The field ".concat(parentType.name, ".").concat(fieldDef.name, " is deprecated. ").concat(deprecationReason), node));
25
+ }
26
+ },
27
+ Argument: function Argument(node) {
28
+ var argDef = context.getArgument();
29
+ var deprecationReason = argDef === null || argDef === void 0 ? void 0 : argDef.deprecationReason;
30
+
31
+ if (argDef && deprecationReason != null) {
32
+ var directiveDef = context.getDirective();
33
+
34
+ if (directiveDef != null) {
35
+ context.reportError(new GraphQLError("Directive \"@".concat(directiveDef.name, "\" argument \"").concat(argDef.name, "\" is deprecated. ").concat(deprecationReason), node));
36
+ } else {
37
+ var parentType = context.getParentType();
38
+ var fieldDef = context.getFieldDef();
39
+ parentType != null && fieldDef != null || invariant(0);
40
+ context.reportError(new GraphQLError("Field \"".concat(parentType.name, ".").concat(fieldDef.name, "\" argument \"").concat(argDef.name, "\" is deprecated. ").concat(deprecationReason), node));
41
+ }
42
+ }
43
+ },
44
+ ObjectField: function ObjectField(node) {
45
+ var inputObjectDef = getNamedType(context.getParentInputType());
46
+
47
+ if (isInputObjectType(inputObjectDef)) {
48
+ var inputFieldDef = inputObjectDef.getFields()[node.name.value]; // flowlint-next-line unnecessary-optional-chain:off
49
+
50
+ var deprecationReason = inputFieldDef === null || inputFieldDef === void 0 ? void 0 : inputFieldDef.deprecationReason;
51
+
52
+ if (deprecationReason != null) {
53
+ context.reportError(new GraphQLError("The input field ".concat(inputObjectDef.name, ".").concat(inputFieldDef.name, " is deprecated. ").concat(deprecationReason), node));
54
+ }
55
+ }
56
+ },
57
+ EnumValue: function EnumValue(node) {
58
+ var enumValueDef = context.getEnumValue();
59
+ var deprecationReason = enumValueDef === null || enumValueDef === void 0 ? void 0 : enumValueDef.deprecationReason;
60
+
61
+ if (enumValueDef && deprecationReason != null) {
62
+ var enumTypeDef = getNamedType(context.getInputType());
63
+ enumTypeDef != null || invariant(0);
64
+ context.reportError(new GraphQLError("The enum value \"".concat(enumTypeDef.name, ".").concat(enumValueDef.name, "\" is deprecated. ").concat(deprecationReason), node));
65
+ }
66
+ }
67
+ };
68
+ }
@@ -0,0 +1,16 @@
1
+ import { ASTVisitor } from '../../../language/visitor';
2
+ import { ValidationContext } from '../../ValidationContext';
3
+
4
+ /**
5
+ * Prohibit introspection queries
6
+ *
7
+ * A GraphQL document is only valid if all fields selected are not fields that
8
+ * return an introspection type.
9
+ *
10
+ * Note: This rule is optional and is not part of the Validation section of the
11
+ * GraphQL Specification. This rule effectively disables introspection, which
12
+ * does not reflect best practices and should only be done if absolutely necessary.
13
+ */
14
+ export function NoSchemaIntrospectionCustomRule(
15
+ context: ValidationContext,
16
+ ): ASTVisitor;
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.NoSchemaIntrospectionCustomRule = NoSchemaIntrospectionCustomRule;
7
+
8
+ var _GraphQLError = require("../../../error/GraphQLError.js");
9
+
10
+ var _definition = require("../../../type/definition.js");
11
+
12
+ var _introspection = require("../../../type/introspection.js");
13
+
14
+ /**
15
+ * Prohibit introspection queries
16
+ *
17
+ * A GraphQL document is only valid if all fields selected are not fields that
18
+ * return an introspection type.
19
+ *
20
+ * Note: This rule is optional and is not part of the Validation section of the
21
+ * GraphQL Specification. This rule effectively disables introspection, which
22
+ * does not reflect best practices and should only be done if absolutely necessary.
23
+ */
24
+ function NoSchemaIntrospectionCustomRule(context) {
25
+ return {
26
+ Field: function Field(node) {
27
+ var type = (0, _definition.getNamedType)(context.getType());
28
+
29
+ if (type && (0, _introspection.isIntrospectionType)(type)) {
30
+ context.reportError(new _GraphQLError.GraphQLError("GraphQL introspection has been disabled, but the requested query contained the field \"".concat(node.name.value, "\"."), node));
31
+ }
32
+ }
33
+ };
34
+ }
@@ -0,0 +1,38 @@
1
+ // @flow strict
2
+ import { GraphQLError } from '../../../error/GraphQLError';
3
+
4
+ import type { FieldNode } from '../../../language/ast';
5
+ import type { ASTVisitor } from '../../../language/visitor';
6
+
7
+ import { getNamedType } from '../../../type/definition';
8
+ import { isIntrospectionType } from '../../../type/introspection';
9
+
10
+ import type { ValidationContext } from '../../ValidationContext';
11
+
12
+ /**
13
+ * Prohibit introspection queries
14
+ *
15
+ * A GraphQL document is only valid if all fields selected are not fields that
16
+ * return an introspection type.
17
+ *
18
+ * Note: This rule is optional and is not part of the Validation section of the
19
+ * GraphQL Specification. This rule effectively disables introspection, which
20
+ * does not reflect best practices and should only be done if absolutely necessary.
21
+ */
22
+ export function NoSchemaIntrospectionCustomRule(
23
+ context: ValidationContext,
24
+ ): ASTVisitor {
25
+ return {
26
+ Field(node: FieldNode) {
27
+ const type = getNamedType(context.getType());
28
+ if (type && isIntrospectionType(type)) {
29
+ context.reportError(
30
+ new GraphQLError(
31
+ `GraphQL introspection has been disabled, but the requested query contained the field "${node.name.value}".`,
32
+ node,
33
+ ),
34
+ );
35
+ }
36
+ },
37
+ };
38
+ }
@@ -0,0 +1,25 @@
1
+ import { GraphQLError } from "../../../error/GraphQLError.mjs";
2
+ import { getNamedType } from "../../../type/definition.mjs";
3
+ import { isIntrospectionType } from "../../../type/introspection.mjs";
4
+
5
+ /**
6
+ * Prohibit introspection queries
7
+ *
8
+ * A GraphQL document is only valid if all fields selected are not fields that
9
+ * return an introspection type.
10
+ *
11
+ * Note: This rule is optional and is not part of the Validation section of the
12
+ * GraphQL Specification. This rule effectively disables introspection, which
13
+ * does not reflect best practices and should only be done if absolutely necessary.
14
+ */
15
+ export function NoSchemaIntrospectionCustomRule(context) {
16
+ return {
17
+ Field: function Field(node) {
18
+ var type = getNamedType(context.getType());
19
+
20
+ if (type && isIntrospectionType(type)) {
21
+ context.reportError(new GraphQLError("GraphQL introspection has been disabled, but the requested query contained the field \"".concat(node.name.value, "\"."), node));
22
+ }
23
+ }
24
+ };
25
+ }
@@ -5,71 +5,71 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.specifiedSDLRules = exports.specifiedRules = void 0;
7
7
 
8
- var _ExecutableDefinitionsRule = require("./rules/ExecutableDefinitionsRule");
8
+ var _ExecutableDefinitionsRule = require("./rules/ExecutableDefinitionsRule.js");
9
9
 
10
- var _UniqueOperationNamesRule = require("./rules/UniqueOperationNamesRule");
10
+ var _UniqueOperationNamesRule = require("./rules/UniqueOperationNamesRule.js");
11
11
 
12
- var _LoneAnonymousOperationRule = require("./rules/LoneAnonymousOperationRule");
12
+ var _LoneAnonymousOperationRule = require("./rules/LoneAnonymousOperationRule.js");
13
13
 
14
- var _SingleFieldSubscriptionsRule = require("./rules/SingleFieldSubscriptionsRule");
14
+ var _SingleFieldSubscriptionsRule = require("./rules/SingleFieldSubscriptionsRule.js");
15
15
 
16
- var _KnownTypeNamesRule = require("./rules/KnownTypeNamesRule");
16
+ var _KnownTypeNamesRule = require("./rules/KnownTypeNamesRule.js");
17
17
 
18
- var _FragmentsOnCompositeTypesRule = require("./rules/FragmentsOnCompositeTypesRule");
18
+ var _FragmentsOnCompositeTypesRule = require("./rules/FragmentsOnCompositeTypesRule.js");
19
19
 
20
- var _VariablesAreInputTypesRule = require("./rules/VariablesAreInputTypesRule");
20
+ var _VariablesAreInputTypesRule = require("./rules/VariablesAreInputTypesRule.js");
21
21
 
22
- var _ScalarLeafsRule = require("./rules/ScalarLeafsRule");
22
+ var _ScalarLeafsRule = require("./rules/ScalarLeafsRule.js");
23
23
 
24
- var _FieldsOnCorrectTypeRule = require("./rules/FieldsOnCorrectTypeRule");
24
+ var _FieldsOnCorrectTypeRule = require("./rules/FieldsOnCorrectTypeRule.js");
25
25
 
26
- var _UniqueFragmentNamesRule = require("./rules/UniqueFragmentNamesRule");
26
+ var _UniqueFragmentNamesRule = require("./rules/UniqueFragmentNamesRule.js");
27
27
 
28
- var _KnownFragmentNamesRule = require("./rules/KnownFragmentNamesRule");
28
+ var _KnownFragmentNamesRule = require("./rules/KnownFragmentNamesRule.js");
29
29
 
30
- var _NoUnusedFragmentsRule = require("./rules/NoUnusedFragmentsRule");
30
+ var _NoUnusedFragmentsRule = require("./rules/NoUnusedFragmentsRule.js");
31
31
 
32
- var _PossibleFragmentSpreadsRule = require("./rules/PossibleFragmentSpreadsRule");
32
+ var _PossibleFragmentSpreadsRule = require("./rules/PossibleFragmentSpreadsRule.js");
33
33
 
34
- var _NoFragmentCyclesRule = require("./rules/NoFragmentCyclesRule");
34
+ var _NoFragmentCyclesRule = require("./rules/NoFragmentCyclesRule.js");
35
35
 
36
- var _UniqueVariableNamesRule = require("./rules/UniqueVariableNamesRule");
36
+ var _UniqueVariableNamesRule = require("./rules/UniqueVariableNamesRule.js");
37
37
 
38
- var _NoUndefinedVariablesRule = require("./rules/NoUndefinedVariablesRule");
38
+ var _NoUndefinedVariablesRule = require("./rules/NoUndefinedVariablesRule.js");
39
39
 
40
- var _NoUnusedVariablesRule = require("./rules/NoUnusedVariablesRule");
40
+ var _NoUnusedVariablesRule = require("./rules/NoUnusedVariablesRule.js");
41
41
 
42
- var _KnownDirectivesRule = require("./rules/KnownDirectivesRule");
42
+ var _KnownDirectivesRule = require("./rules/KnownDirectivesRule.js");
43
43
 
44
- var _UniqueDirectivesPerLocationRule = require("./rules/UniqueDirectivesPerLocationRule");
44
+ var _UniqueDirectivesPerLocationRule = require("./rules/UniqueDirectivesPerLocationRule.js");
45
45
 
46
- var _KnownArgumentNamesRule = require("./rules/KnownArgumentNamesRule");
46
+ var _KnownArgumentNamesRule = require("./rules/KnownArgumentNamesRule.js");
47
47
 
48
- var _UniqueArgumentNamesRule = require("./rules/UniqueArgumentNamesRule");
48
+ var _UniqueArgumentNamesRule = require("./rules/UniqueArgumentNamesRule.js");
49
49
 
50
- var _ValuesOfCorrectTypeRule = require("./rules/ValuesOfCorrectTypeRule");
50
+ var _ValuesOfCorrectTypeRule = require("./rules/ValuesOfCorrectTypeRule.js");
51
51
 
52
- var _ProvidedRequiredArgumentsRule = require("./rules/ProvidedRequiredArgumentsRule");
52
+ var _ProvidedRequiredArgumentsRule = require("./rules/ProvidedRequiredArgumentsRule.js");
53
53
 
54
- var _VariablesInAllowedPositionRule = require("./rules/VariablesInAllowedPositionRule");
54
+ var _VariablesInAllowedPositionRule = require("./rules/VariablesInAllowedPositionRule.js");
55
55
 
56
- var _OverlappingFieldsCanBeMergedRule = require("./rules/OverlappingFieldsCanBeMergedRule");
56
+ var _OverlappingFieldsCanBeMergedRule = require("./rules/OverlappingFieldsCanBeMergedRule.js");
57
57
 
58
- var _UniqueInputFieldNamesRule = require("./rules/UniqueInputFieldNamesRule");
58
+ var _UniqueInputFieldNamesRule = require("./rules/UniqueInputFieldNamesRule.js");
59
59
 
60
- var _LoneSchemaDefinitionRule = require("./rules/LoneSchemaDefinitionRule");
60
+ var _LoneSchemaDefinitionRule = require("./rules/LoneSchemaDefinitionRule.js");
61
61
 
62
- var _UniqueOperationTypesRule = require("./rules/UniqueOperationTypesRule");
62
+ var _UniqueOperationTypesRule = require("./rules/UniqueOperationTypesRule.js");
63
63
 
64
- var _UniqueTypeNamesRule = require("./rules/UniqueTypeNamesRule");
64
+ var _UniqueTypeNamesRule = require("./rules/UniqueTypeNamesRule.js");
65
65
 
66
- var _UniqueEnumValueNamesRule = require("./rules/UniqueEnumValueNamesRule");
66
+ var _UniqueEnumValueNamesRule = require("./rules/UniqueEnumValueNamesRule.js");
67
67
 
68
- var _UniqueFieldDefinitionNamesRule = require("./rules/UniqueFieldDefinitionNamesRule");
68
+ var _UniqueFieldDefinitionNamesRule = require("./rules/UniqueFieldDefinitionNamesRule.js");
69
69
 
70
- var _UniqueDirectiveNamesRule = require("./rules/UniqueDirectiveNamesRule");
70
+ var _UniqueDirectiveNamesRule = require("./rules/UniqueDirectiveNamesRule.js");
71
71
 
72
- var _PossibleTypeExtensionsRule = require("./rules/PossibleTypeExtensionsRule");
72
+ var _PossibleTypeExtensionsRule = require("./rules/PossibleTypeExtensionsRule.js");
73
73
 
74
74
  // Spec Section: "Executable Definitions"
75
75
  // Spec Section: "Operation Name Uniqueness"
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  // Spec Section: "Executable Definitions"
4
3
  import { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule';
5
4
 
@@ -8,19 +8,19 @@ exports.validateSDL = validateSDL;
8
8
  exports.assertValidSDL = assertValidSDL;
9
9
  exports.assertValidSDLExtension = assertValidSDLExtension;
10
10
 
11
- var _devAssert = _interopRequireDefault(require("../jsutils/devAssert"));
11
+ var _devAssert = _interopRequireDefault(require("../jsutils/devAssert.js"));
12
12
 
13
- var _GraphQLError = require("../error/GraphQLError");
13
+ var _GraphQLError = require("../error/GraphQLError.js");
14
14
 
15
- var _visitor = require("../language/visitor");
15
+ var _visitor = require("../language/visitor.js");
16
16
 
17
- var _validate = require("../type/validate");
17
+ var _validate = require("../type/validate.js");
18
18
 
19
- var _TypeInfo = require("../utilities/TypeInfo");
19
+ var _TypeInfo = require("../utilities/TypeInfo.js");
20
20
 
21
- var _specifiedRules = require("./specifiedRules");
21
+ var _specifiedRules = require("./specifiedRules.js");
22
22
 
23
- var _ValidationContext = require("./ValidationContext");
23
+ var _ValidationContext = require("./ValidationContext.js");
24
24
 
25
25
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
26
 
@@ -1,24 +1,19 @@
1
1
  // @flow strict
2
-
3
2
  import devAssert from '../jsutils/devAssert';
4
3
 
5
4
  import { GraphQLError } from '../error/GraphQLError';
6
5
 
7
- import { type DocumentNode } from '../language/ast';
6
+ import type { DocumentNode } from '../language/ast';
8
7
  import { visit, visitInParallel } from '../language/visitor';
9
8
 
10
- import { type GraphQLSchema } from '../type/schema';
9
+ import type { GraphQLSchema } from '../type/schema';
11
10
  import { assertValidSchema } from '../type/validate';
12
11
 
13
12
  import { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo';
14
13
 
14
+ import type { SDLValidationRule, ValidationRule } from './ValidationContext';
15
15
  import { specifiedRules, specifiedSDLRules } from './specifiedRules';
16
- import {
17
- type SDLValidationRule,
18
- type ValidationRule,
19
- SDLValidationContext,
20
- ValidationContext,
21
- } from './ValidationContext';
16
+ import { SDLValidationContext, ValidationContext } from './ValidationContext';
22
17
 
23
18
  /**
24
19
  * Implements the "Validation" section of the spec.
package/version.js CHANGED
@@ -13,7 +13,7 @@ exports.versionInfo = exports.version = void 0;
13
13
  /**
14
14
  * A string containing the version of the GraphQL.js library
15
15
  */
16
- var version = '15.1.0';
16
+ var version = '15.4.0';
17
17
  /**
18
18
  * An object containing the components of the GraphQL.js version string
19
19
  */
@@ -21,7 +21,7 @@ var version = '15.1.0';
21
21
  exports.version = version;
22
22
  var versionInfo = Object.freeze({
23
23
  major: 15,
24
- minor: 1,
24
+ minor: 4,
25
25
  patch: 0,
26
26
  preReleaseTag: null
27
27
  });
package/version.js.flow CHANGED
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * Note: This file is autogenerated using "resources/gen-version.js" script and
5
4
  * automatically updated by "npm version" command.
@@ -8,14 +7,14 @@
8
7
  /**
9
8
  * A string containing the version of the GraphQL.js library
10
9
  */
11
- export const version = '15.1.0';
10
+ export const version = '15.4.0';
12
11
 
13
12
  /**
14
13
  * An object containing the components of the GraphQL.js version string
15
14
  */
16
15
  export const versionInfo = Object.freeze({
17
16
  major: 15,
18
- minor: 1,
17
+ minor: 4,
19
18
  patch: 0,
20
19
  preReleaseTag: null,
21
20
  });
package/version.mjs CHANGED
@@ -6,14 +6,14 @@
6
6
  /**
7
7
  * A string containing the version of the GraphQL.js library
8
8
  */
9
- export var version = '15.1.0';
9
+ export var version = '15.4.0';
10
10
  /**
11
11
  * An object containing the components of the GraphQL.js version string
12
12
  */
13
13
 
14
14
  export var versionInfo = Object.freeze({
15
15
  major: 15,
16
- minor: 1,
16
+ minor: 4,
17
17
  patch: 0,
18
18
  preReleaseTag: null
19
19
  });