Skip to content

Commit bb122de

Browse files
committed
Move recommended rules to their own list
1 parent 0eb5b88 commit bb122de

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -355,6 +355,7 @@ export {
355355
ValidationContext,
356356
// All validation rules in the GraphQL Specification.
357357
specifiedRules,
358+
recommendedRules,
358359
// Individual validation rules.
359360
ExecutableDefinitionsRule,
360361
FieldsOnCorrectTypeRule,

src/validation/index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ export { ValidationContext } from './ValidationContext.js';
44
export type { ValidationRule } from './ValidationContext.js';
55

66
// All validation rules in the GraphQL Specification.
7-
export { specifiedRules } from './specifiedRules.js';
7+
export { specifiedRules, recommendedRules } from './specifiedRules.js';
88

99
// Spec Section: "Defer And Stream Directive Labels Are Unique"
1010
export { DeferStreamDirectiveLabelRule } from './rules/DeferStreamDirectiveLabelRule.js';

src/validation/specifiedRules.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ import { KnownTypeNamesRule } from './rules/KnownTypeNamesRule.js';
2525
import { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule.js';
2626
// SDL-specific validation rules
2727
import { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule.js';
28+
// TODO: Spec Section
29+
import { MaxIntrospectionDepthRule } from './rules/MaxIntrospectionDepthRule.js';
2830
// Spec Section: "Fragments must not form cycles"
2931
import { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule.js';
3032
// Spec Section: "All Variable Used Defined"
@@ -75,8 +77,11 @@ import { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule.j
7577
import { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule.js';
7678
import type { SDLValidationRule, ValidationRule } from './ValidationContext.js';
7779

78-
// TODO: Spec Section
79-
import { MaxIntrospectionDepthRule } from './rules/MaxIntrospectionDepthRule.js';
80+
/**
81+
* Technically these aren't part of the spec but they are strongly encouraged
82+
* validation rules.
83+
*/
84+
export const recommendedRules = Object.freeze([MaxIntrospectionDepthRule]);
8085

8186
/**
8287
* This set includes all validation rules defined by the GraphQL spec.
@@ -115,8 +120,7 @@ export const specifiedRules: ReadonlyArray<ValidationRule> = Object.freeze([
115120
VariablesInAllowedPositionRule,
116121
OverlappingFieldsCanBeMergedRule,
117122
UniqueInputFieldNamesRule,
118-
// Technically this isn't part of the spec but it's a strongly encouraged validation rule.
119-
MaxIntrospectionDepthRule,
123+
...recommendedRules,
120124
]);
121125

122126
/**

0 commit comments

Comments
 (0)