mirror of
https://github.com/JamesIves/github-pages-deploy-action.git
synced 2023-12-15 20:03:39 +08:00
150 lines
5.3 KiB
Plaintext
150 lines
5.3 KiB
Plaintext
// @flow strict
|
|
|
|
// Spec Section: "Executable Definitions"
|
|
import { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule';
|
|
|
|
// Spec Section: "Operation Name Uniqueness"
|
|
import { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule';
|
|
|
|
// Spec Section: "Lone Anonymous Operation"
|
|
import { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule';
|
|
|
|
// Spec Section: "Subscriptions with Single Root Field"
|
|
import { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule';
|
|
|
|
// Spec Section: "Fragment Spread Type Existence"
|
|
import { KnownTypeNamesRule } from './rules/KnownTypeNamesRule';
|
|
|
|
// Spec Section: "Fragments on Composite Types"
|
|
import { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule';
|
|
|
|
// Spec Section: "Variables are Input Types"
|
|
import { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule';
|
|
|
|
// Spec Section: "Leaf Field Selections"
|
|
import { ScalarLeafsRule } from './rules/ScalarLeafsRule';
|
|
|
|
// Spec Section: "Field Selections on Objects, Interfaces, and Unions Types"
|
|
import { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule';
|
|
|
|
// Spec Section: "Fragment Name Uniqueness"
|
|
import { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule';
|
|
|
|
// Spec Section: "Fragment spread target defined"
|
|
import { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule';
|
|
|
|
// Spec Section: "Fragments must be used"
|
|
import { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule';
|
|
|
|
// Spec Section: "Fragment spread is possible"
|
|
import { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule';
|
|
|
|
// Spec Section: "Fragments must not form cycles"
|
|
import { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule';
|
|
|
|
// Spec Section: "Variable Uniqueness"
|
|
import { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule';
|
|
|
|
// Spec Section: "All Variable Used Defined"
|
|
import { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule';
|
|
|
|
// Spec Section: "All Variables Used"
|
|
import { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule';
|
|
|
|
// Spec Section: "Directives Are Defined"
|
|
import { KnownDirectivesRule } from './rules/KnownDirectivesRule';
|
|
|
|
// Spec Section: "Directives Are Unique Per Location"
|
|
import { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule';
|
|
|
|
// Spec Section: "Argument Names"
|
|
import {
|
|
KnownArgumentNamesRule,
|
|
KnownArgumentNamesOnDirectivesRule,
|
|
} from './rules/KnownArgumentNamesRule';
|
|
|
|
// Spec Section: "Argument Uniqueness"
|
|
import { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule';
|
|
|
|
// Spec Section: "Value Type Correctness"
|
|
import { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule';
|
|
|
|
// Spec Section: "Argument Optionality"
|
|
import {
|
|
ProvidedRequiredArgumentsRule,
|
|
ProvidedRequiredArgumentsOnDirectivesRule,
|
|
} from './rules/ProvidedRequiredArgumentsRule';
|
|
|
|
// Spec Section: "All Variable Usages Are Allowed"
|
|
import { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule';
|
|
|
|
// Spec Section: "Field Selection Merging"
|
|
import { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule';
|
|
|
|
// Spec Section: "Input Object Field Uniqueness"
|
|
import { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule';
|
|
|
|
// SDL-specific validation rules
|
|
import { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule';
|
|
import { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule';
|
|
import { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule';
|
|
import { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule';
|
|
import { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule';
|
|
import { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule';
|
|
import { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule';
|
|
|
|
/**
|
|
* This set includes all validation rules defined by the GraphQL spec.
|
|
*
|
|
* The order of the rules in this list has been adjusted to lead to the
|
|
* most clear output when encountering multiple validation errors.
|
|
*/
|
|
export const specifiedRules = Object.freeze([
|
|
ExecutableDefinitionsRule,
|
|
UniqueOperationNamesRule,
|
|
LoneAnonymousOperationRule,
|
|
SingleFieldSubscriptionsRule,
|
|
KnownTypeNamesRule,
|
|
FragmentsOnCompositeTypesRule,
|
|
VariablesAreInputTypesRule,
|
|
ScalarLeafsRule,
|
|
FieldsOnCorrectTypeRule,
|
|
UniqueFragmentNamesRule,
|
|
KnownFragmentNamesRule,
|
|
NoUnusedFragmentsRule,
|
|
PossibleFragmentSpreadsRule,
|
|
NoFragmentCyclesRule,
|
|
UniqueVariableNamesRule,
|
|
NoUndefinedVariablesRule,
|
|
NoUnusedVariablesRule,
|
|
KnownDirectivesRule,
|
|
UniqueDirectivesPerLocationRule,
|
|
KnownArgumentNamesRule,
|
|
UniqueArgumentNamesRule,
|
|
ValuesOfCorrectTypeRule,
|
|
ProvidedRequiredArgumentsRule,
|
|
VariablesInAllowedPositionRule,
|
|
OverlappingFieldsCanBeMergedRule,
|
|
UniqueInputFieldNamesRule,
|
|
]);
|
|
|
|
/**
|
|
* @internal
|
|
*/
|
|
export const specifiedSDLRules = Object.freeze([
|
|
LoneSchemaDefinitionRule,
|
|
UniqueOperationTypesRule,
|
|
UniqueTypeNamesRule,
|
|
UniqueEnumValueNamesRule,
|
|
UniqueFieldDefinitionNamesRule,
|
|
UniqueDirectiveNamesRule,
|
|
KnownTypeNamesRule,
|
|
KnownDirectivesRule,
|
|
UniqueDirectivesPerLocationRule,
|
|
PossibleTypeExtensionsRule,
|
|
KnownArgumentNamesOnDirectivesRule,
|
|
UniqueArgumentNamesRule,
|
|
UniqueInputFieldNamesRule,
|
|
ProvidedRequiredArgumentsOnDirectivesRule,
|
|
]);
|