|
1 | 1 | import { specifiedSDLRules } from 'graphql/validation/specifiedRules'; |
2 | 2 |
|
| 3 | +/** |
| 4 | + * Since this module has overlapping names in the two modules (graphql-js and |
| 5 | + * our own, local validation rules) which we are importing from, we |
| 6 | + * intentionally are very explicit about the suffixes of imported members here, |
| 7 | + * so that the intention is clear. |
| 8 | + * |
| 9 | + * First, we'll import validation rules from graphql-js which we'll omit and |
| 10 | + * replace with our own validation rules. As noted above, we'll use aliases |
| 11 | + * with 'FromGraphqlJs' suffixes for clarity. |
| 12 | + */ |
| 13 | + |
| 14 | +import { |
| 15 | + UniqueDirectivesPerLocation as UniqueDirectivesPerLocationFromGraphqlJs, |
| 16 | +} from 'graphql/validation/rules/UniqueDirectivesPerLocation'; |
| 17 | +import { |
| 18 | + UniqueTypeNames as UniqueTypeNamesFromGraphqlJs, |
| 19 | +} from 'graphql/validation/rules/UniqueTypeNames'; |
| 20 | +import { |
| 21 | + UniqueEnumValueNames as UniqueEnumValueNamesFromGraphqlJs, |
| 22 | +} from 'graphql/validation/rules/UniqueEnumValueNames'; |
| 23 | +import { |
| 24 | + PossibleTypeExtensions as PossibleTypeExtensionsFromGraphqlJs, |
| 25 | +} from 'graphql/validation/rules/PossibleTypeExtensions'; |
| 26 | +import { |
| 27 | + UniqueFieldDefinitionNames as UniqueFieldDefinitionNamesFromGraphqlJs, |
| 28 | +} from 'graphql/validation/rules/UniqueFieldDefinitionNames'; |
| 29 | + |
| 30 | +/** |
| 31 | + * Then, we'll import our own validation rules to take the place of those that |
| 32 | + * we'll be customizing, taking care to alias them all to the same name with |
| 33 | + * "FromComposition" suffixes. |
| 34 | + */ |
3 | 35 | import { |
4 | | - UniqueTypeNamesWithFields, |
5 | | - MatchingEnums, |
6 | | - PossibleTypeExtensions, |
7 | | - UniqueFieldDefinitionNames, |
8 | | - UniqueUnionTypes, |
9 | | -} from './validate/sdl'; |
| 36 | + UniqueTypeNamesWithFields as UniqueTypeNamesWithFieldsFromComposition, |
| 37 | + MatchingEnums as MatchingEnumsFromComposition, |
| 38 | + PossibleTypeExtensions as PossibleTypeExtensionsFromComposition, |
| 39 | + UniqueFieldDefinitionNames as UniqueFieldDefinitionsNamesFromComposition, |
| 40 | + UniqueUnionTypes as UniqueUnionTypesFromComposition, |
| 41 | + } from './validate/sdl'; |
10 | 42 |
|
11 | 43 | const omit = [ |
12 | | - 'UniqueDirectivesPerLocation', |
13 | | - 'UniqueTypeNames', |
14 | | - 'UniqueEnumValueNames', |
15 | | - 'PossibleTypeExtensions', |
16 | | - 'UniqueFieldDefinitionNames', |
| 44 | + UniqueDirectivesPerLocationFromGraphqlJs, |
| 45 | + UniqueTypeNamesFromGraphqlJs, |
| 46 | + UniqueEnumValueNamesFromGraphqlJs, |
| 47 | + PossibleTypeExtensionsFromGraphqlJs, |
| 48 | + UniqueFieldDefinitionNamesFromGraphqlJs, |
17 | 49 | ]; |
18 | 50 |
|
19 | 51 | export const compositionRules = specifiedSDLRules |
20 | | - .filter(rule => !omit.includes(rule.name)) |
| 52 | + .filter(rule => !omit.includes(rule)) |
21 | 53 | .concat([ |
22 | | - UniqueFieldDefinitionNames, |
23 | | - UniqueTypeNamesWithFields, |
24 | | - MatchingEnums, |
25 | | - UniqueUnionTypes, |
26 | | - PossibleTypeExtensions, |
| 54 | + UniqueFieldDefinitionsNamesFromComposition, |
| 55 | + UniqueTypeNamesWithFieldsFromComposition, |
| 56 | + MatchingEnumsFromComposition, |
| 57 | + UniqueUnionTypesFromComposition, |
| 58 | + PossibleTypeExtensionsFromComposition, |
27 | 59 | ]); |
0 commit comments