specifiedRules.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. 'use strict';
  2. Object.defineProperty(exports, '__esModule', {
  3. value: true,
  4. });
  5. exports.specifiedSDLRules = exports.specifiedRules = void 0;
  6. var _ExecutableDefinitionsRule = require('./rules/ExecutableDefinitionsRule.js');
  7. var _FieldsOnCorrectTypeRule = require('./rules/FieldsOnCorrectTypeRule.js');
  8. var _FragmentsOnCompositeTypesRule = require('./rules/FragmentsOnCompositeTypesRule.js');
  9. var _KnownArgumentNamesRule = require('./rules/KnownArgumentNamesRule.js');
  10. var _KnownDirectivesRule = require('./rules/KnownDirectivesRule.js');
  11. var _KnownFragmentNamesRule = require('./rules/KnownFragmentNamesRule.js');
  12. var _KnownTypeNamesRule = require('./rules/KnownTypeNamesRule.js');
  13. var _LoneAnonymousOperationRule = require('./rules/LoneAnonymousOperationRule.js');
  14. var _LoneSchemaDefinitionRule = require('./rules/LoneSchemaDefinitionRule.js');
  15. var _NoFragmentCyclesRule = require('./rules/NoFragmentCyclesRule.js');
  16. var _NoUndefinedVariablesRule = require('./rules/NoUndefinedVariablesRule.js');
  17. var _NoUnusedFragmentsRule = require('./rules/NoUnusedFragmentsRule.js');
  18. var _NoUnusedVariablesRule = require('./rules/NoUnusedVariablesRule.js');
  19. var _OverlappingFieldsCanBeMergedRule = require('./rules/OverlappingFieldsCanBeMergedRule.js');
  20. var _PossibleFragmentSpreadsRule = require('./rules/PossibleFragmentSpreadsRule.js');
  21. var _PossibleTypeExtensionsRule = require('./rules/PossibleTypeExtensionsRule.js');
  22. var _ProvidedRequiredArgumentsRule = require('./rules/ProvidedRequiredArgumentsRule.js');
  23. var _ScalarLeafsRule = require('./rules/ScalarLeafsRule.js');
  24. var _SingleFieldSubscriptionsRule = require('./rules/SingleFieldSubscriptionsRule.js');
  25. var _UniqueArgumentDefinitionNamesRule = require('./rules/UniqueArgumentDefinitionNamesRule.js');
  26. var _UniqueArgumentNamesRule = require('./rules/UniqueArgumentNamesRule.js');
  27. var _UniqueDirectiveNamesRule = require('./rules/UniqueDirectiveNamesRule.js');
  28. var _UniqueDirectivesPerLocationRule = require('./rules/UniqueDirectivesPerLocationRule.js');
  29. var _UniqueEnumValueNamesRule = require('./rules/UniqueEnumValueNamesRule.js');
  30. var _UniqueFieldDefinitionNamesRule = require('./rules/UniqueFieldDefinitionNamesRule.js');
  31. var _UniqueFragmentNamesRule = require('./rules/UniqueFragmentNamesRule.js');
  32. var _UniqueInputFieldNamesRule = require('./rules/UniqueInputFieldNamesRule.js');
  33. var _UniqueOperationNamesRule = require('./rules/UniqueOperationNamesRule.js');
  34. var _UniqueOperationTypesRule = require('./rules/UniqueOperationTypesRule.js');
  35. var _UniqueTypeNamesRule = require('./rules/UniqueTypeNamesRule.js');
  36. var _UniqueVariableNamesRule = require('./rules/UniqueVariableNamesRule.js');
  37. var _ValuesOfCorrectTypeRule = require('./rules/ValuesOfCorrectTypeRule.js');
  38. var _VariablesAreInputTypesRule = require('./rules/VariablesAreInputTypesRule.js');
  39. var _VariablesInAllowedPositionRule = require('./rules/VariablesInAllowedPositionRule.js');
  40. // Spec Section: "Executable Definitions"
  41. // Spec Section: "Field Selections on Objects, Interfaces, and Unions Types"
  42. // Spec Section: "Fragments on Composite Types"
  43. // Spec Section: "Argument Names"
  44. // Spec Section: "Directives Are Defined"
  45. // Spec Section: "Fragment spread target defined"
  46. // Spec Section: "Fragment Spread Type Existence"
  47. // Spec Section: "Lone Anonymous Operation"
  48. // SDL-specific validation rules
  49. // Spec Section: "Fragments must not form cycles"
  50. // Spec Section: "All Variable Used Defined"
  51. // Spec Section: "Fragments must be used"
  52. // Spec Section: "All Variables Used"
  53. // Spec Section: "Field Selection Merging"
  54. // Spec Section: "Fragment spread is possible"
  55. // Spec Section: "Argument Optionality"
  56. // Spec Section: "Leaf Field Selections"
  57. // Spec Section: "Subscriptions with Single Root Field"
  58. // Spec Section: "Argument Uniqueness"
  59. // Spec Section: "Directives Are Unique Per Location"
  60. // Spec Section: "Fragment Name Uniqueness"
  61. // Spec Section: "Input Object Field Uniqueness"
  62. // Spec Section: "Operation Name Uniqueness"
  63. // Spec Section: "Variable Uniqueness"
  64. // Spec Section: "Value Type Correctness"
  65. // Spec Section: "Variables are Input Types"
  66. // Spec Section: "All Variable Usages Are Allowed"
  67. /**
  68. * This set includes all validation rules defined by the GraphQL spec.
  69. *
  70. * The order of the rules in this list has been adjusted to lead to the
  71. * most clear output when encountering multiple validation errors.
  72. */
  73. const specifiedRules = Object.freeze([
  74. _ExecutableDefinitionsRule.ExecutableDefinitionsRule,
  75. _UniqueOperationNamesRule.UniqueOperationNamesRule,
  76. _LoneAnonymousOperationRule.LoneAnonymousOperationRule,
  77. _SingleFieldSubscriptionsRule.SingleFieldSubscriptionsRule,
  78. _KnownTypeNamesRule.KnownTypeNamesRule,
  79. _FragmentsOnCompositeTypesRule.FragmentsOnCompositeTypesRule,
  80. _VariablesAreInputTypesRule.VariablesAreInputTypesRule,
  81. _ScalarLeafsRule.ScalarLeafsRule,
  82. _FieldsOnCorrectTypeRule.FieldsOnCorrectTypeRule,
  83. _UniqueFragmentNamesRule.UniqueFragmentNamesRule,
  84. _KnownFragmentNamesRule.KnownFragmentNamesRule,
  85. _NoUnusedFragmentsRule.NoUnusedFragmentsRule,
  86. _PossibleFragmentSpreadsRule.PossibleFragmentSpreadsRule,
  87. _NoFragmentCyclesRule.NoFragmentCyclesRule,
  88. _UniqueVariableNamesRule.UniqueVariableNamesRule,
  89. _NoUndefinedVariablesRule.NoUndefinedVariablesRule,
  90. _NoUnusedVariablesRule.NoUnusedVariablesRule,
  91. _KnownDirectivesRule.KnownDirectivesRule,
  92. _UniqueDirectivesPerLocationRule.UniqueDirectivesPerLocationRule,
  93. _KnownArgumentNamesRule.KnownArgumentNamesRule,
  94. _UniqueArgumentNamesRule.UniqueArgumentNamesRule,
  95. _ValuesOfCorrectTypeRule.ValuesOfCorrectTypeRule,
  96. _ProvidedRequiredArgumentsRule.ProvidedRequiredArgumentsRule,
  97. _VariablesInAllowedPositionRule.VariablesInAllowedPositionRule,
  98. _OverlappingFieldsCanBeMergedRule.OverlappingFieldsCanBeMergedRule,
  99. _UniqueInputFieldNamesRule.UniqueInputFieldNamesRule,
  100. ]);
  101. /**
  102. * @internal
  103. */
  104. exports.specifiedRules = specifiedRules;
  105. const specifiedSDLRules = Object.freeze([
  106. _LoneSchemaDefinitionRule.LoneSchemaDefinitionRule,
  107. _UniqueOperationTypesRule.UniqueOperationTypesRule,
  108. _UniqueTypeNamesRule.UniqueTypeNamesRule,
  109. _UniqueEnumValueNamesRule.UniqueEnumValueNamesRule,
  110. _UniqueFieldDefinitionNamesRule.UniqueFieldDefinitionNamesRule,
  111. _UniqueArgumentDefinitionNamesRule.UniqueArgumentDefinitionNamesRule,
  112. _UniqueDirectiveNamesRule.UniqueDirectiveNamesRule,
  113. _KnownTypeNamesRule.KnownTypeNamesRule,
  114. _KnownDirectivesRule.KnownDirectivesRule,
  115. _UniqueDirectivesPerLocationRule.UniqueDirectivesPerLocationRule,
  116. _PossibleTypeExtensionsRule.PossibleTypeExtensionsRule,
  117. _KnownArgumentNamesRule.KnownArgumentNamesOnDirectivesRule,
  118. _UniqueArgumentNamesRule.UniqueArgumentNamesRule,
  119. _UniqueInputFieldNamesRule.UniqueInputFieldNamesRule,
  120. _ProvidedRequiredArgumentsRule.ProvidedRequiredArgumentsOnDirectivesRule,
  121. ]);
  122. exports.specifiedSDLRules = specifiedSDLRules;