diff --git a/.eslintrc.yml b/.eslintrc.yml index 7fc40105b5..ba6a67592c 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -57,7 +57,7 @@ rules: flowtype/sort-keys: off flowtype/spread-exact-type: off flowtype/type-id-match: [error, '^[A-Z]'] - flowtype/type-import-style: [error, identifier, { ignoreTypeDefault: true }] + flowtype/type-import-style: [error, declaration] flowtype/use-flow-type: error # Bellow rules are disabled because coflicts with Prettier, see: @@ -402,7 +402,7 @@ rules: no-class-assign: error no-const-assign: error no-dupe-class-members: error - no-duplicate-imports: error + no-duplicate-imports: off # Superseded by `import/no-duplicates` no-new-symbol: error no-restricted-exports: off no-restricted-imports: off diff --git a/src/error/GraphQLError.js b/src/error/GraphQLError.js index 4cd934c0ea..62052d1c94 100644 --- a/src/error/GraphQLError.js +++ b/src/error/GraphQLError.js @@ -6,9 +6,10 @@ import isObjectLike from '../jsutils/isObjectLike'; import { SYMBOL_TO_STRING_TAG } from '../polyfills/symbols'; -import { type ASTNode } from '../language/ast'; -import { type Source } from '../language/source'; -import { type SourceLocation, getLocation } from '../language/location'; +import type { ASTNode } from '../language/ast'; +import type { Source } from '../language/source'; +import type { SourceLocation } from '../language/location'; +import { getLocation } from '../language/location'; import { printLocation, printSourceLocation } from '../language/printLocation'; /** diff --git a/src/error/formatError.js b/src/error/formatError.js index 8bb4c5b8f6..c80c0b0b73 100644 --- a/src/error/formatError.js +++ b/src/error/formatError.js @@ -2,9 +2,9 @@ import devAssert from '../jsutils/devAssert'; -import { type SourceLocation } from '../language/location'; +import type { SourceLocation } from '../language/location'; -import { type GraphQLError } from './GraphQLError'; +import type { GraphQLError } from './GraphQLError'; /** * Given a GraphQLError, format it according to the rules described by the diff --git a/src/error/locatedError.js b/src/error/locatedError.js index ceb5426e22..d98494b9f3 100644 --- a/src/error/locatedError.js +++ b/src/error/locatedError.js @@ -1,6 +1,6 @@ // @flow strict -import { type ASTNode } from '../language/ast'; +import type { ASTNode } from '../language/ast'; import { GraphQLError } from './GraphQLError'; diff --git a/src/error/syntaxError.js b/src/error/syntaxError.js index c5eeb1d9c0..3abb9dabcb 100644 --- a/src/error/syntaxError.js +++ b/src/error/syntaxError.js @@ -1,6 +1,6 @@ // @flow strict -import { type Source } from '../language/source'; +import type { Source } from '../language/source'; import { GraphQLError } from './GraphQLError'; diff --git a/src/execution/__tests__/lists-test.js b/src/execution/__tests__/lists-test.js index 4c07164658..4f3fdd8030 100644 --- a/src/execution/__tests__/lists-test.js +++ b/src/execution/__tests__/lists-test.js @@ -5,13 +5,13 @@ import { describe, it } from 'mocha'; import { parse } from '../../language/parser'; +import type { GraphQLOutputType } from '../../type/definition'; import { GraphQLSchema } from '../../type/schema'; import { GraphQLString, GraphQLInt } from '../../type/scalars'; import { GraphQLList, GraphQLNonNull, GraphQLObjectType, - type GraphQLOutputType, } from '../../type/definition'; import { execute } from '../execute'; diff --git a/src/execution/__tests__/nonnull-test.js b/src/execution/__tests__/nonnull-test.js index 2a04b14337..41f5ec34b7 100644 --- a/src/execution/__tests__/nonnull-test.js +++ b/src/execution/__tests__/nonnull-test.js @@ -13,7 +13,8 @@ import { GraphQLNonNull, GraphQLObjectType } from '../../type/definition'; import { buildSchema } from '../../utilities/buildASTSchema'; -import { execute, type ExecutionResult } from '../execute'; +import type { ExecutionResult } from '../execute'; +import { execute } from '../execute'; const syncError = new Error('sync'); const syncNonNullError = new Error('syncNonNull'); diff --git a/src/execution/__tests__/resolve-test.js b/src/execution/__tests__/resolve-test.js index f210531d9d..c7d7b01a6e 100644 --- a/src/execution/__tests__/resolve-test.js +++ b/src/execution/__tests__/resolve-test.js @@ -3,12 +3,10 @@ import { expect } from 'chai'; import { describe, it } from 'mocha'; +import type { GraphQLFieldConfig } from '../../type/definition'; import { GraphQLSchema } from '../../type/schema'; import { GraphQLInt, GraphQLString } from '../../type/scalars'; -import { - GraphQLObjectType, - type GraphQLFieldConfig, -} from '../../type/definition'; +import { GraphQLObjectType } from '../../type/definition'; import { graphqlSync } from '../../graphql'; diff --git a/src/execution/execute.js b/src/execution/execute.js index 7cd8a6aeee..550dfeab4a 100644 --- a/src/execution/execute.js +++ b/src/execution/execute.js @@ -2,35 +2,47 @@ import arrayFrom from '../polyfills/arrayFrom'; +import type { Path } from '../jsutils/Path'; +import type { ObjMap } from '../jsutils/ObjMap'; +import type { PromiseOrValue } from '../jsutils/PromiseOrValue'; import inspect from '../jsutils/inspect'; import memoize3 from '../jsutils/memoize3'; import invariant from '../jsutils/invariant'; import devAssert from '../jsutils/devAssert'; import isPromise from '../jsutils/isPromise'; -import { type ObjMap } from '../jsutils/ObjMap'; import isObjectLike from '../jsutils/isObjectLike'; import isCollection from '../jsutils/isCollection'; import promiseReduce from '../jsutils/promiseReduce'; import promiseForObject from '../jsutils/promiseForObject'; -import { type PromiseOrValue } from '../jsutils/PromiseOrValue'; -import { type Path, addPath, pathToArray } from '../jsutils/Path'; +import { addPath, pathToArray } from '../jsutils/Path'; import { GraphQLError } from '../error/GraphQLError'; import { locatedError } from '../error/locatedError'; -import { Kind } from '../language/kinds'; -import { - type DocumentNode, - type OperationDefinitionNode, - type SelectionSetNode, - type FieldNode, - type FragmentSpreadNode, - type InlineFragmentNode, - type FragmentDefinitionNode, +import type { + DocumentNode, + OperationDefinitionNode, + SelectionSetNode, + FieldNode, + FragmentSpreadNode, + InlineFragmentNode, + FragmentDefinitionNode, } from '../language/ast'; +import { Kind } from '../language/kinds'; +import type { GraphQLSchema } from '../type/schema'; +import type { + GraphQLObjectType, + GraphQLOutputType, + GraphQLLeafType, + GraphQLAbstractType, + GraphQLField, + GraphQLFieldResolver, + GraphQLResolveInfo, + GraphQLTypeResolver, + GraphQLList, +} from '../type/definition'; import { assertValidSchema } from '../type/validate'; -import { type GraphQLSchema } from '../type/schema'; import { SchemaMetaFieldDef, TypeMetaFieldDef, @@ -41,15 +53,6 @@ import { GraphQLSkipDirective, } from '../type/directives'; import { - type GraphQLObjectType, - type GraphQLOutputType, - type GraphQLLeafType, - type GraphQLAbstractType, - type GraphQLField, - type GraphQLFieldResolver, - type GraphQLResolveInfo, - type GraphQLTypeResolver, - type GraphQLList, isObjectType, isAbstractType, isLeafType, diff --git a/src/execution/values.js b/src/execution/values.js index f09bd404ee..329ef8896f 100644 --- a/src/execution/values.js +++ b/src/execution/values.js @@ -2,28 +2,25 @@ import find from '../polyfills/find'; +import type { ObjMap } from '../jsutils/ObjMap'; import keyMap from '../jsutils/keyMap'; import inspect from '../jsutils/inspect'; -import { type ObjMap } from '../jsutils/ObjMap'; import printPathArray from '../jsutils/printPathArray'; import { GraphQLError } from '../error/GraphQLError'; +import type { + FieldNode, + DirectiveNode, + VariableDefinitionNode, +} from '../language/ast'; import { Kind } from '../language/kinds'; import { print } from '../language/printer'; -import { - type FieldNode, - type DirectiveNode, - type VariableDefinitionNode, -} from '../language/ast'; -import { type GraphQLSchema } from '../type/schema'; -import { type GraphQLDirective } from '../type/directives'; -import { - type GraphQLField, - isInputType, - isNonNullType, -} from '../type/definition'; +import type { GraphQLSchema } from '../type/schema'; +import type { GraphQLField } from '../type/definition'; +import type { GraphQLDirective } from '../type/directives'; +import { isInputType, isNonNullType } from '../type/definition'; import { typeFromAST } from '../utilities/typeFromAST'; import { valueFromAST } from '../utilities/valueFromAST'; diff --git a/src/graphql.js b/src/graphql.js index 5a82d4e444..964bdf5345 100644 --- a/src/graphql.js +++ b/src/graphql.js @@ -1,21 +1,22 @@ // @flow strict +import type { PromiseOrValue } from './jsutils/PromiseOrValue'; import isPromise from './jsutils/isPromise'; -import { type PromiseOrValue } from './jsutils/PromiseOrValue'; +import type { Source } from './language/source'; import { parse } from './language/parser'; -import { type Source } from './language/source'; import { validate } from './validation/validate'; -import { validateSchema } from './type/validate'; -import { type GraphQLSchema } from './type/schema'; -import { - type GraphQLFieldResolver, - type GraphQLTypeResolver, +import type { + GraphQLFieldResolver, + GraphQLTypeResolver, } from './type/definition'; +import type { GraphQLSchema } from './type/schema'; +import { validateSchema } from './type/validate'; -import { type ExecutionResult, execute } from './execution/execute'; +import type { ExecutionResult } from './execution/execute'; +import { execute } from './execution/execute'; /** * This is the primary entry point function for fulfilling GraphQL operations diff --git a/src/jsutils/__tests__/toObjMap-test.js b/src/jsutils/__tests__/toObjMap-test.js index 51b6f81128..31fbd8f28f 100644 --- a/src/jsutils/__tests__/toObjMap-test.js +++ b/src/jsutils/__tests__/toObjMap-test.js @@ -3,8 +3,8 @@ import { expect } from 'chai'; import { describe, it } from 'mocha'; +import type { ObjMapLike } from '../ObjMap'; import toObjMap from '../toObjMap'; -import { type ObjMapLike } from '../ObjMap'; // Workaround to make both ESLint and Flow happy const __proto__: string = '__proto__'; diff --git a/src/jsutils/keyMap.js b/src/jsutils/keyMap.js index 410dad4370..fedc6b4235 100644 --- a/src/jsutils/keyMap.js +++ b/src/jsutils/keyMap.js @@ -1,6 +1,6 @@ // @flow strict -import { type ObjMap } from './ObjMap'; +import type { ObjMap } from './ObjMap'; /** * Creates a keyed JS object from an array, given a function to produce the keys diff --git a/src/jsutils/keyValMap.js b/src/jsutils/keyValMap.js index 6f6e703aaa..7a76403204 100644 --- a/src/jsutils/keyValMap.js +++ b/src/jsutils/keyValMap.js @@ -1,6 +1,6 @@ // @flow strict -import { type ObjMap } from './ObjMap'; +import type { ObjMap } from './ObjMap'; /** * Creates a keyed JS object from an array, given a function to produce the keys diff --git a/src/jsutils/mapValue.js b/src/jsutils/mapValue.js index 4390b4f693..068b2ed664 100644 --- a/src/jsutils/mapValue.js +++ b/src/jsutils/mapValue.js @@ -2,7 +2,7 @@ import objectEntries from '../polyfills/objectEntries'; -import { type ObjMap } from './ObjMap'; +import type { ObjMap } from './ObjMap'; /** * Creates an object map with the same keys as `map` and values generated by diff --git a/src/jsutils/promiseForObject.js b/src/jsutils/promiseForObject.js index ab0435dccc..85c10f0f4f 100644 --- a/src/jsutils/promiseForObject.js +++ b/src/jsutils/promiseForObject.js @@ -1,6 +1,6 @@ // @flow strict -import { type ObjMap } from './ObjMap'; +import type { ObjMap } from './ObjMap'; /** * This function transforms a JS object `ObjMap>` into diff --git a/src/jsutils/promiseReduce.js b/src/jsutils/promiseReduce.js index 0a610e77f7..cea9cb72a1 100644 --- a/src/jsutils/promiseReduce.js +++ b/src/jsutils/promiseReduce.js @@ -1,7 +1,8 @@ // @flow strict +import type { PromiseOrValue } from './PromiseOrValue'; + import isPromise from './isPromise'; -import { type PromiseOrValue } from './PromiseOrValue'; /** * Similar to Array.prototype.reduce(), however the reducing callback may return diff --git a/src/jsutils/toObjMap.js b/src/jsutils/toObjMap.js index cf0da8fbe2..d97397fd90 100644 --- a/src/jsutils/toObjMap.js +++ b/src/jsutils/toObjMap.js @@ -2,11 +2,11 @@ import objectEntries from '../polyfills/objectEntries'; -import { - type ObjMap, - type ObjMapLike, - type ReadOnlyObjMap, - type ReadOnlyObjMapLike, +import type { + ObjMap, + ObjMapLike, + ReadOnlyObjMap, + ReadOnlyObjMapLike, } from './ObjMap'; /* eslint-disable no-redeclare */ diff --git a/src/language/__tests__/predicates-test.js b/src/language/__tests__/predicates-test.js index 0f01049f85..884c5d1172 100644 --- a/src/language/__tests__/predicates-test.js +++ b/src/language/__tests__/predicates-test.js @@ -3,8 +3,8 @@ import { expect } from 'chai'; import { describe, it } from 'mocha'; +import type { ASTNode } from '../ast'; import { Kind } from '../kinds'; -import { type ASTNode } from '../ast'; import { isDefinitionNode, isExecutableDefinitionNode, diff --git a/src/language/ast.js b/src/language/ast.js index 773778ef7c..4a4af902dd 100644 --- a/src/language/ast.js +++ b/src/language/ast.js @@ -2,8 +2,8 @@ import defineInspect from '../jsutils/defineInspect'; -import { type Source } from './source'; -import { type TokenKindEnum } from './tokenKind'; +import type { Source } from './source'; +import type { TokenKindEnum } from './tokenKind'; /** * Contains a range of UTF-8 character offsets and token references that diff --git a/src/language/lexer.js b/src/language/lexer.js index b6ab501308..2a4ae920ca 100644 --- a/src/language/lexer.js +++ b/src/language/lexer.js @@ -2,10 +2,11 @@ import { syntaxError } from '../error/syntaxError'; +import type { Source } from './source'; +import type { TokenKindEnum } from './tokenKind'; import { Token } from './ast'; -import { type Source } from './source'; +import { TokenKind } from './tokenKind'; import { dedentBlockStringValue } from './blockString'; -import { type TokenKindEnum, TokenKind } from './tokenKind'; /** * Given a Source object, creates a Lexer for that source. diff --git a/src/language/location.js b/src/language/location.js index 3918513007..5f8825d8f2 100644 --- a/src/language/location.js +++ b/src/language/location.js @@ -1,6 +1,6 @@ // @flow strict -import { type Source } from './source'; +import type { Source } from './source'; /** * Represents a location in a Source. diff --git a/src/language/parser.js b/src/language/parser.js index 2fdcdc6ab6..c5cf892e11 100644 --- a/src/language/parser.js +++ b/src/language/parser.js @@ -3,61 +3,62 @@ import inspect from '../jsutils/inspect'; import devAssert from '../jsutils/devAssert'; +import type { GraphQLError } from '../error/GraphQLError'; import { syntaxError } from '../error/syntaxError'; -import { type GraphQLError } from '../error/GraphQLError'; +import type { TokenKindEnum } from './tokenKind'; +import type { + Token, + NameNode, + VariableNode, + DocumentNode, + DefinitionNode, + OperationDefinitionNode, + OperationTypeNode, + VariableDefinitionNode, + SelectionSetNode, + SelectionNode, + FieldNode, + ArgumentNode, + FragmentSpreadNode, + InlineFragmentNode, + FragmentDefinitionNode, + ValueNode, + StringValueNode, + ListValueNode, + ObjectValueNode, + ObjectFieldNode, + DirectiveNode, + TypeNode, + NamedTypeNode, + TypeSystemDefinitionNode, + SchemaDefinitionNode, + OperationTypeDefinitionNode, + ScalarTypeDefinitionNode, + ObjectTypeDefinitionNode, + FieldDefinitionNode, + InputValueDefinitionNode, + InterfaceTypeDefinitionNode, + UnionTypeDefinitionNode, + EnumTypeDefinitionNode, + EnumValueDefinitionNode, + InputObjectTypeDefinitionNode, + DirectiveDefinitionNode, + TypeSystemExtensionNode, + SchemaExtensionNode, + ScalarTypeExtensionNode, + ObjectTypeExtensionNode, + InterfaceTypeExtensionNode, + UnionTypeExtensionNode, + EnumTypeExtensionNode, + InputObjectTypeExtensionNode, +} from './ast'; import { Kind } from './kinds'; +import { Location } from './ast'; import { Source } from './source'; +import { TokenKind } from './tokenKind'; import { DirectiveLocation } from './directiveLocation'; -import { type TokenKindEnum, TokenKind } from './tokenKind'; import { Lexer, isPunctuatorTokenKind } from './lexer'; -import { - Location, - type Token, - type NameNode, - type VariableNode, - type DocumentNode, - type DefinitionNode, - type OperationDefinitionNode, - type OperationTypeNode, - type VariableDefinitionNode, - type SelectionSetNode, - type SelectionNode, - type FieldNode, - type ArgumentNode, - type FragmentSpreadNode, - type InlineFragmentNode, - type FragmentDefinitionNode, - type ValueNode, - type StringValueNode, - type ListValueNode, - type ObjectValueNode, - type ObjectFieldNode, - type DirectiveNode, - type TypeNode, - type NamedTypeNode, - type TypeSystemDefinitionNode, - type SchemaDefinitionNode, - type OperationTypeDefinitionNode, - type ScalarTypeDefinitionNode, - type ObjectTypeDefinitionNode, - type FieldDefinitionNode, - type InputValueDefinitionNode, - type InterfaceTypeDefinitionNode, - type UnionTypeDefinitionNode, - type EnumTypeDefinitionNode, - type EnumValueDefinitionNode, - type InputObjectTypeDefinitionNode, - type DirectiveDefinitionNode, - type TypeSystemExtensionNode, - type SchemaExtensionNode, - type ScalarTypeExtensionNode, - type ObjectTypeExtensionNode, - type InterfaceTypeExtensionNode, - type UnionTypeExtensionNode, - type EnumTypeExtensionNode, - type InputObjectTypeExtensionNode, -} from './ast'; /** * Configuration options to control parser behavior diff --git a/src/language/predicates.js b/src/language/predicates.js index 9cdef3d541..635225e5d8 100644 --- a/src/language/predicates.js +++ b/src/language/predicates.js @@ -1,7 +1,7 @@ // @flow strict +import type { ASTNode } from './ast'; import { Kind } from './kinds'; -import { type ASTNode } from './ast'; export function isDefinitionNode(node: ASTNode): boolean %checks { return ( diff --git a/src/language/printLocation.js b/src/language/printLocation.js index af5cff0817..8b2d8fbdaf 100644 --- a/src/language/printLocation.js +++ b/src/language/printLocation.js @@ -1,8 +1,9 @@ // @flow strict -import { type Location } from './ast'; -import { type Source } from './source'; -import { type SourceLocation, getLocation } from './location'; +import type { Source } from './source'; +import type { Location } from './ast'; +import type { SourceLocation } from './location'; +import { getLocation } from './location'; /** * Render a helpful description of the location in the GraphQL Source document. diff --git a/src/language/printer.js b/src/language/printer.js index c035401aba..3edfe30cf9 100644 --- a/src/language/printer.js +++ b/src/language/printer.js @@ -1,7 +1,8 @@ // @flow strict +import type { ASTNode } from './ast'; + import { visit } from './visitor'; -import { type ASTNode } from './ast'; import { printBlockString } from './blockString'; /** diff --git a/src/language/visitor.js b/src/language/visitor.js index e310ecdefc..4003cbabe0 100644 --- a/src/language/visitor.js +++ b/src/language/visitor.js @@ -2,7 +2,8 @@ import inspect from '../jsutils/inspect'; -import { type ASTNode, type ASTKindToNode, isNode } from './ast'; +import type { ASTNode, ASTKindToNode } from './ast'; +import { isNode } from './ast'; /** * A visitor is provided to visit, it contains the collection of diff --git a/src/polyfills/objectEntries.js b/src/polyfills/objectEntries.js index d47e6c51b9..9dee7af964 100644 --- a/src/polyfills/objectEntries.js +++ b/src/polyfills/objectEntries.js @@ -1,6 +1,6 @@ // @flow strict -import { type ObjMap } from '../jsutils/ObjMap'; +import type { ObjMap } from '../jsutils/ObjMap'; declare function objectEntries(obj: ObjMap): Array<[string, T]>; diff --git a/src/polyfills/objectValues.js b/src/polyfills/objectValues.js index afe1af290e..13cca4ff8d 100644 --- a/src/polyfills/objectValues.js +++ b/src/polyfills/objectValues.js @@ -1,6 +1,6 @@ // @flow strict -import { type ObjMap } from '../jsutils/ObjMap'; +import type { ObjMap } from '../jsutils/ObjMap'; declare function objectValues(obj: ObjMap): Array; diff --git a/src/subscription/mapAsyncIterator.js b/src/subscription/mapAsyncIterator.js index afe05c8d51..4714a72af9 100644 --- a/src/subscription/mapAsyncIterator.js +++ b/src/subscription/mapAsyncIterator.js @@ -2,7 +2,7 @@ import { SYMBOL_ASYNC_ITERATOR } from '../polyfills/symbols'; -import { type PromiseOrValue } from '../jsutils/PromiseOrValue'; +import type { PromiseOrValue } from '../jsutils/PromiseOrValue'; /** * Given an AsyncIterable and a callback function, return an AsyncIterator diff --git a/src/subscription/subscribe.js b/src/subscription/subscribe.js index 0def478c42..0651e84dfc 100644 --- a/src/subscription/subscribe.js +++ b/src/subscription/subscribe.js @@ -8,10 +8,10 @@ import { addPath, pathToArray } from '../jsutils/Path'; import { GraphQLError } from '../error/GraphQLError'; import { locatedError } from '../error/locatedError'; -import { type DocumentNode } from '../language/ast'; +import type { DocumentNode } from '../language/ast'; +import type { ExecutionResult } from '../execution/execute'; import { - type ExecutionResult, assertValidExecutionArguments, buildExecutionContext, buildResolveInfo, @@ -21,8 +21,8 @@ import { resolveFieldValueOrError, } from '../execution/execute'; -import { type GraphQLSchema } from '../type/schema'; -import { type GraphQLFieldResolver } from '../type/definition'; +import type { GraphQLSchema } from '../type/schema'; +import type { GraphQLFieldResolver } from '../type/definition'; import { getOperationRootType } from '../utilities/getOperationRootType'; diff --git a/src/type/__tests__/definition-test.js b/src/type/__tests__/definition-test.js index 03e5620c4b..c54b589611 100644 --- a/src/type/__tests__/definition-test.js +++ b/src/type/__tests__/definition-test.js @@ -8,9 +8,8 @@ import identityFunc from '../../jsutils/identityFunc'; import { parseValue } from '../../language/parser'; +import type { GraphQLType, GraphQLNullableType } from '../definition'; import { - type GraphQLType, - type GraphQLNullableType, GraphQLScalarType, GraphQLObjectType, GraphQLInterfaceType, diff --git a/src/type/__tests__/validation-test.js b/src/type/__tests__/validation-test.js index b4739b4310..2119ec1f67 100644 --- a/src/type/__tests__/validation-test.js +++ b/src/type/__tests__/validation-test.js @@ -12,14 +12,16 @@ import { parse } from '../../language/parser'; import { extendSchema } from '../../utilities/extendSchema'; import { buildSchema } from '../../utilities/buildASTSchema'; +import type { + GraphQLNamedType, + GraphQLInputType, + GraphQLOutputType, +} from '../definition'; import { GraphQLSchema } from '../schema'; import { GraphQLString } from '../scalars'; import { validateSchema, assertValidSchema } from '../validate'; import { GraphQLDirective, assertDirective } from '../directives'; import { - type GraphQLNamedType, - type GraphQLInputType, - type GraphQLOutputType, GraphQLList, GraphQLNonNull, GraphQLObjectType, diff --git a/src/type/definition.js b/src/type/definition.js index 8c5211b08b..ab94313263 100644 --- a/src/type/definition.js +++ b/src/type/definition.js @@ -1,16 +1,19 @@ // @flow strict -// FIXME -/* eslint-disable import/no-cycle */ - import objectEntries from '../polyfills/objectEntries'; import { SYMBOL_TO_STRING_TAG } from '../polyfills/symbols'; +import type { Path } from '../jsutils/Path'; +import type { PromiseOrValue } from '../jsutils/PromiseOrValue'; +import type { + ObjMap, + ReadOnlyObjMap, + ReadOnlyObjMapLike, +} from '../jsutils/ObjMap'; import inspect from '../jsutils/inspect'; import keyMap from '../jsutils/keyMap'; import mapValue from '../jsutils/mapValue'; import toObjMap from '../jsutils/toObjMap'; -import { type Path } from '../jsutils/Path'; import devAssert from '../jsutils/devAssert'; import keyValMap from '../jsutils/keyValMap'; import instanceOf from '../jsutils/instanceOf'; @@ -19,42 +22,36 @@ import isObjectLike from '../jsutils/isObjectLike'; import identityFunc from '../jsutils/identityFunc'; import defineInspect from '../jsutils/defineInspect'; import suggestionList from '../jsutils/suggestionList'; -import { type PromiseOrValue } from '../jsutils/PromiseOrValue'; -import { - type ObjMap, - type ReadOnlyObjMap, - type ReadOnlyObjMapLike, -} from '../jsutils/ObjMap'; + +import { GraphQLError } from '../error/GraphQLError'; import { Kind } from '../language/kinds'; import { print } from '../language/printer'; -import { - type ScalarTypeDefinitionNode, - type ObjectTypeDefinitionNode, - type FieldDefinitionNode, - type InputValueDefinitionNode, - type InterfaceTypeDefinitionNode, - type UnionTypeDefinitionNode, - type EnumTypeDefinitionNode, - type EnumValueDefinitionNode, - type InputObjectTypeDefinitionNode, - type ScalarTypeExtensionNode, - type ObjectTypeExtensionNode, - type InterfaceTypeExtensionNode, - type UnionTypeExtensionNode, - type EnumTypeExtensionNode, - type InputObjectTypeExtensionNode, - type OperationDefinitionNode, - type FieldNode, - type FragmentDefinitionNode, - type ValueNode, +import type { + ScalarTypeDefinitionNode, + ObjectTypeDefinitionNode, + FieldDefinitionNode, + InputValueDefinitionNode, + InterfaceTypeDefinitionNode, + UnionTypeDefinitionNode, + EnumTypeDefinitionNode, + EnumValueDefinitionNode, + InputObjectTypeDefinitionNode, + ScalarTypeExtensionNode, + ObjectTypeExtensionNode, + InterfaceTypeExtensionNode, + UnionTypeExtensionNode, + EnumTypeExtensionNode, + InputObjectTypeExtensionNode, + OperationDefinitionNode, + FieldNode, + FragmentDefinitionNode, + ValueNode, } from '../language/ast'; -import { GraphQLError } from '../error/GraphQLError'; - import { valueFromASTUntyped } from '../utilities/valueFromASTUntyped'; -import { type GraphQLSchema } from './schema'; +import type { GraphQLSchema } from './schema'; // Predicates & Assertions diff --git a/src/type/directives.js b/src/type/directives.js index 4b52be39ba..b5074b8266 100644 --- a/src/type/directives.js +++ b/src/type/directives.js @@ -3,30 +3,24 @@ import objectEntries from '../polyfills/objectEntries'; import { SYMBOL_TO_STRING_TAG } from '../polyfills/symbols'; +import type { ReadOnlyObjMap, ReadOnlyObjMapLike } from '../jsutils/ObjMap'; import inspect from '../jsutils/inspect'; import toObjMap from '../jsutils/toObjMap'; import devAssert from '../jsutils/devAssert'; import instanceOf from '../jsutils/instanceOf'; import isObjectLike from '../jsutils/isObjectLike'; import defineInspect from '../jsutils/defineInspect'; -import { - type ReadOnlyObjMap, - type ReadOnlyObjMapLike, -} from '../jsutils/ObjMap'; -import { type DirectiveDefinitionNode } from '../language/ast'; -import { - DirectiveLocation, - type DirectiveLocationEnum, -} from '../language/directiveLocation'; +import type { DirectiveDefinitionNode } from '../language/ast'; +import type { DirectiveLocationEnum } from '../language/directiveLocation'; +import { DirectiveLocation } from '../language/directiveLocation'; -import { GraphQLString, GraphQLBoolean } from './scalars'; -import { - type GraphQLFieldConfigArgumentMap, - type GraphQLArgument, - argsToArgsConfig, - GraphQLNonNull, +import type { + GraphQLArgument, + GraphQLFieldConfigArgumentMap, } from './definition'; +import { GraphQLString, GraphQLBoolean } from './scalars'; +import { argsToArgsConfig, GraphQLNonNull } from './definition'; /** * Test if the given value is a GraphQL directive. diff --git a/src/type/introspection.js b/src/type/introspection.js index 12d833cf11..be86f4e5ac 100644 --- a/src/type/introspection.js +++ b/src/type/introspection.js @@ -1,8 +1,5 @@ // @flow strict -// FIXME -/* eslint-disable import/no-cycle */ - import objectValues from '../polyfills/objectValues'; import inspect from '../jsutils/inspect'; @@ -12,16 +9,18 @@ import { print } from '../language/printer'; import { DirectiveLocation } from '../language/directiveLocation'; import { astFromValue } from '../utilities/astFromValue'; -import { type GraphQLSchema } from './schema'; -import { type GraphQLDirective } from './directives'; +import type { GraphQLSchema } from './schema'; +import type { GraphQLDirective } from './directives'; +import type { + GraphQLType, + GraphQLNamedType, + GraphQLInputField, + GraphQLEnumValue, + GraphQLField, + GraphQLFieldConfigMap, +} from './definition'; import { GraphQLString, GraphQLBoolean } from './scalars'; import { - type GraphQLType, - type GraphQLNamedType, - type GraphQLInputField, - type GraphQLEnumValue, - type GraphQLField, - type GraphQLFieldConfigMap, GraphQLObjectType, GraphQLEnumType, GraphQLList, diff --git a/src/type/scalars.js b/src/type/scalars.js index e425a17067..c88bfac492 100644 --- a/src/type/scalars.js +++ b/src/type/scalars.js @@ -11,7 +11,8 @@ import { print } from '../language/printer'; import { GraphQLError } from '../error/GraphQLError'; -import { type GraphQLNamedType, GraphQLScalarType } from './definition'; +import type { GraphQLNamedType } from './definition'; +import { GraphQLScalarType } from './definition'; // As per the GraphQL Spec, Integers are only treated as valid when a valid // 32-bit signed integer, providing the broadest support across platforms. diff --git a/src/type/schema.js b/src/type/schema.js index 85e9f02ac3..44d8c77262 100644 --- a/src/type/schema.js +++ b/src/type/schema.js @@ -5,23 +5,31 @@ import arrayFrom from '../polyfills/arrayFrom'; import objectValues from '../polyfills/objectValues'; import { SYMBOL_TO_STRING_TAG } from '../polyfills/symbols'; +import type { + ObjMap, + ReadOnlyObjMap, + ReadOnlyObjMapLike, +} from '../jsutils/ObjMap'; import inspect from '../jsutils/inspect'; import toObjMap from '../jsutils/toObjMap'; import devAssert from '../jsutils/devAssert'; import instanceOf from '../jsutils/instanceOf'; import isObjectLike from '../jsutils/isObjectLike'; -import { - type ObjMap, - type ReadOnlyObjMap, - type ReadOnlyObjMapLike, -} from '../jsutils/ObjMap'; -import { type GraphQLError } from '../error/GraphQLError'; -import { - type SchemaDefinitionNode, - type SchemaExtensionNode, +import type { GraphQLError } from '../error/GraphQLError'; + +import type { + SchemaDefinitionNode, + SchemaExtensionNode, } from '../language/ast'; +import type { + GraphQLType, + GraphQLNamedType, + GraphQLAbstractType, + GraphQLObjectType, + GraphQLInterfaceType, +} from './definition'; import { __Schema } from './introspection'; import { GraphQLDirective, @@ -29,11 +37,6 @@ import { specifiedDirectives, } from './directives'; import { - type GraphQLType, - type GraphQLNamedType, - type GraphQLAbstractType, - type GraphQLObjectType, - type GraphQLInterfaceType, isObjectType, isInterfaceType, isUnionType, diff --git a/src/type/validate.js b/src/type/validate.js index 903ed69951..8ac477a3f7 100644 --- a/src/type/validate.js +++ b/src/type/validate.js @@ -9,24 +9,27 @@ import inspect from '../jsutils/inspect'; import { GraphQLError } from '../error/GraphQLError'; import { locatedError } from '../error/locatedError'; -import { - type ASTNode, - type NamedTypeNode, - type OperationTypeNode, +import type { + ASTNode, + NamedTypeNode, + OperationTypeNode, } from '../language/ast'; import { isValidNameError } from '../utilities/assertValidName'; import { isEqualType, isTypeSubTypeOf } from '../utilities/typeComparators'; +import type { GraphQLSchema } from './schema'; +import type { + GraphQLObjectType, + GraphQLInterfaceType, + GraphQLUnionType, + GraphQLEnumType, + GraphQLInputObjectType, +} from './definition'; +import { assertSchema } from './schema'; import { isDirective } from './directives'; import { isIntrospectionType } from './introspection'; -import { type GraphQLSchema, assertSchema } from './schema'; import { - type GraphQLObjectType, - type GraphQLInterfaceType, - type GraphQLUnionType, - type GraphQLEnumType, - type GraphQLInputObjectType, isObjectType, isInterfaceType, isUnionType, diff --git a/src/utilities/TypeInfo.js b/src/utilities/TypeInfo.js index 04f533f8df..906cfd812b 100644 --- a/src/utilities/TypeInfo.js +++ b/src/utilities/TypeInfo.js @@ -2,26 +2,25 @@ import find from '../polyfills/find'; +import type { Visitor } from '../language/visitor'; +import type { ASTNode, ASTKindToNode, FieldNode } from '../language/ast'; import { Kind } from '../language/kinds'; -import { type Visitor, getVisitFn } from '../language/visitor'; -import { - type ASTNode, - type ASTKindToNode, - type FieldNode, - isNode, -} from '../language/ast'; +import { isNode } from '../language/ast'; +import { getVisitFn } from '../language/visitor'; -import { type GraphQLSchema } from '../type/schema'; -import { type GraphQLDirective } from '../type/directives'; +import type { GraphQLSchema } from '../type/schema'; +import type { GraphQLDirective } from '../type/directives'; +import type { + GraphQLType, + GraphQLInputType, + GraphQLOutputType, + GraphQLCompositeType, + GraphQLField, + GraphQLArgument, + GraphQLInputField, + GraphQLEnumValue, +} from '../type/definition'; import { - type GraphQLType, - type GraphQLInputType, - type GraphQLOutputType, - type GraphQLCompositeType, - type GraphQLField, - type GraphQLArgument, - type GraphQLInputField, - type GraphQLEnumValue, isObjectType, isInterfaceType, isEnumType, diff --git a/src/utilities/astFromValue.js b/src/utilities/astFromValue.js index 4756225085..51cb953cf5 100644 --- a/src/utilities/astFromValue.js +++ b/src/utilities/astFromValue.js @@ -9,12 +9,12 @@ import invariant from '../jsutils/invariant'; import isObjectLike from '../jsutils/isObjectLike'; import isCollection from '../jsutils/isCollection'; +import type { ValueNode } from '../language/ast'; import { Kind } from '../language/kinds'; -import { type ValueNode } from '../language/ast'; +import type { GraphQLInputType } from '../type/definition'; import { GraphQLID } from '../type/scalars'; import { - type GraphQLInputType, isLeafType, isEnumType, isInputObjectType, diff --git a/src/utilities/buildASTSchema.js b/src/utilities/buildASTSchema.js index 3a987c6a22..e50f9b0d67 100644 --- a/src/utilities/buildASTSchema.js +++ b/src/utilities/buildASTSchema.js @@ -2,17 +2,16 @@ import devAssert from '../jsutils/devAssert'; +import type { Source } from '../language/source'; +import type { DocumentNode } from '../language/ast'; +import type { ParseOptions } from '../language/parser'; import { Kind } from '../language/kinds'; -import { type Source } from '../language/source'; -import { type DocumentNode } from '../language/ast'; -import { type ParseOptions, parse } from '../language/parser'; +import { parse } from '../language/parser'; import { assertValidSDL } from '../validation/validate'; -import { - type GraphQLSchemaValidationOptions, - GraphQLSchema, -} from '../type/schema'; +import type { GraphQLSchemaValidationOptions } from '../type/schema'; +import { GraphQLSchema } from '../type/schema'; import { GraphQLSkipDirective, GraphQLIncludeDirective, diff --git a/src/utilities/buildClientSchema.js b/src/utilities/buildClientSchema.js index 0424567e6e..529d6765bd 100644 --- a/src/utilities/buildClientSchema.js +++ b/src/utilities/buildClientSchema.js @@ -9,16 +9,13 @@ import isObjectLike from '../jsutils/isObjectLike'; import { parseValue } from '../language/parser'; +import type { GraphQLSchemaValidationOptions } from '../type/schema'; +import type { GraphQLType, GraphQLNamedType } from '../type/definition'; +import { GraphQLSchema } from '../type/schema'; import { GraphQLDirective } from '../type/directives'; import { specifiedScalarTypes } from '../type/scalars'; import { introspectionTypes, TypeKind } from '../type/introspection'; import { - type GraphQLSchemaValidationOptions, - GraphQLSchema, -} from '../type/schema'; -import { - type GraphQLType, - type GraphQLNamedType, isInputType, isOutputType, GraphQLScalarType, @@ -34,19 +31,19 @@ import { assertInterfaceType, } from '../type/definition'; -import { valueFromAST } from './valueFromAST'; -import { - type IntrospectionQuery, - type IntrospectionType, - type IntrospectionScalarType, - type IntrospectionObjectType, - type IntrospectionInterfaceType, - type IntrospectionUnionType, - type IntrospectionEnumType, - type IntrospectionInputObjectType, - type IntrospectionTypeRef, - type IntrospectionNamedTypeRef, +import type { + IntrospectionQuery, + IntrospectionType, + IntrospectionScalarType, + IntrospectionObjectType, + IntrospectionInterfaceType, + IntrospectionUnionType, + IntrospectionEnumType, + IntrospectionInputObjectType, + IntrospectionTypeRef, + IntrospectionNamedTypeRef, } from './getIntrospectionQuery'; +import { valueFromAST } from './valueFromAST'; /** * Build a GraphQLSchema for use by client tools. diff --git a/src/utilities/coerceInputValue.js b/src/utilities/coerceInputValue.js index 865c16769c..36e4eae0b2 100644 --- a/src/utilities/coerceInputValue.js +++ b/src/utilities/coerceInputValue.js @@ -3,6 +3,7 @@ import arrayFrom from '../polyfills/arrayFrom'; import objectValues from '../polyfills/objectValues'; +import type { Path } from '../jsutils/Path'; import inspect from '../jsutils/inspect'; import invariant from '../jsutils/invariant'; import didYouMean from '../jsutils/didYouMean'; @@ -10,11 +11,12 @@ import isObjectLike from '../jsutils/isObjectLike'; import isCollection from '../jsutils/isCollection'; import suggestionList from '../jsutils/suggestionList'; import printPathArray from '../jsutils/printPathArray'; -import { type Path, addPath, pathToArray } from '../jsutils/Path'; +import { addPath, pathToArray } from '../jsutils/Path'; import { GraphQLError } from '../error/GraphQLError'; + +import type { GraphQLInputType } from '../type/definition'; import { - type GraphQLInputType, isLeafType, isInputObjectType, isListType, diff --git a/src/utilities/concatAST.js b/src/utilities/concatAST.js index 895229dd40..ea11677a90 100644 --- a/src/utilities/concatAST.js +++ b/src/utilities/concatAST.js @@ -2,7 +2,7 @@ import flatMap from '../polyfills/flatMap'; -import { type DocumentNode } from '../language/ast'; +import type { DocumentNode } from '../language/ast'; /** * Provided a collection of ASTs, presumably each from different files, diff --git a/src/utilities/extendSchema.js b/src/utilities/extendSchema.js index 6142bf360e..2950441576 100644 --- a/src/utilities/extendSchema.js +++ b/src/utilities/extendSchema.js @@ -8,45 +8,58 @@ import mapValue from '../jsutils/mapValue'; import invariant from '../jsutils/invariant'; import devAssert from '../jsutils/devAssert'; +import type { DirectiveLocationEnum } from '../language/directiveLocation'; +import type { + Location, + DocumentNode, + StringValueNode, + TypeNode, + NamedTypeNode, + SchemaDefinitionNode, + SchemaExtensionNode, + TypeDefinitionNode, + InterfaceTypeDefinitionNode, + InterfaceTypeExtensionNode, + ObjectTypeDefinitionNode, + ObjectTypeExtensionNode, + UnionTypeDefinitionNode, + UnionTypeExtensionNode, + FieldDefinitionNode, + InputObjectTypeDefinitionNode, + InputObjectTypeExtensionNode, + InputValueDefinitionNode, + EnumTypeDefinitionNode, + EnumTypeExtensionNode, + EnumValueDefinitionNode, + DirectiveDefinitionNode, + ScalarTypeDefinitionNode, + ScalarTypeExtensionNode, +} from '../language/ast'; import { Kind } from '../language/kinds'; import { TokenKind } from '../language/tokenKind'; import { dedentBlockStringValue } from '../language/blockString'; -import { type DirectiveLocationEnum } from '../language/directiveLocation'; import { isTypeDefinitionNode, isTypeExtensionNode, } from '../language/predicates'; -import { - type Location, - type DocumentNode, - type StringValueNode, - type TypeNode, - type NamedTypeNode, - type SchemaDefinitionNode, - type SchemaExtensionNode, - type TypeDefinitionNode, - type InterfaceTypeDefinitionNode, - type InterfaceTypeExtensionNode, - type ObjectTypeDefinitionNode, - type ObjectTypeExtensionNode, - type UnionTypeDefinitionNode, - type UnionTypeExtensionNode, - type FieldDefinitionNode, - type InputObjectTypeDefinitionNode, - type InputObjectTypeExtensionNode, - type InputValueDefinitionNode, - type EnumTypeDefinitionNode, - type EnumTypeExtensionNode, - type EnumValueDefinitionNode, - type DirectiveDefinitionNode, - type ScalarTypeDefinitionNode, - type ScalarTypeExtensionNode, -} from '../language/ast'; import { assertValidSDLExtension } from '../validation/validate'; import { getDirectiveValues } from '../execution/values'; +import type { + GraphQLSchemaValidationOptions, + GraphQLSchemaNormalizedConfig, +} from '../type/schema'; +import type { + GraphQLType, + GraphQLNamedType, + GraphQLFieldConfigMap, + GraphQLEnumValueConfigMap, + GraphQLInputFieldConfigMap, + GraphQLFieldConfigArgumentMap, +} from '../type/definition'; +import { assertSchema, GraphQLSchema } from '../type/schema'; import { specifiedScalarTypes, isSpecifiedScalarType } from '../type/scalars'; import { introspectionTypes, isIntrospectionType } from '../type/introspection'; import { @@ -55,18 +68,6 @@ import { GraphQLSpecifiedByDirective, } from '../type/directives'; import { - type GraphQLSchemaValidationOptions, - assertSchema, - GraphQLSchema, - type GraphQLSchemaNormalizedConfig, -} from '../type/schema'; -import { - type GraphQLType, - type GraphQLNamedType, - type GraphQLFieldConfigMap, - type GraphQLEnumValueConfigMap, - type GraphQLInputFieldConfigMap, - type GraphQLFieldConfigArgumentMap, isScalarType, isObjectType, isInterfaceType, diff --git a/src/utilities/findBreakingChanges.js b/src/utilities/findBreakingChanges.js index 3eeca5089b..c05562361d 100644 --- a/src/utilities/findBreakingChanges.js +++ b/src/utilities/findBreakingChanges.js @@ -9,18 +9,20 @@ import invariant from '../jsutils/invariant'; import { print } from '../language/printer'; import { visit } from '../language/visitor'; -import { type GraphQLSchema } from '../type/schema'; +import type { GraphQLSchema } from '../type/schema'; +import type { + GraphQLField, + GraphQLType, + GraphQLInputType, + GraphQLNamedType, + GraphQLEnumType, + GraphQLUnionType, + GraphQLObjectType, + GraphQLInterfaceType, + GraphQLInputObjectType, +} from '../type/definition'; import { isSpecifiedScalarType } from '../type/scalars'; import { - type GraphQLField, - type GraphQLType, - type GraphQLInputType, - type GraphQLNamedType, - type GraphQLEnumType, - type GraphQLUnionType, - type GraphQLObjectType, - type GraphQLInterfaceType, - type GraphQLInputObjectType, isScalarType, isObjectType, isInterfaceType, diff --git a/src/utilities/findDeprecatedUsages.js b/src/utilities/findDeprecatedUsages.js index e63003b7e5..5c0d815f46 100644 --- a/src/utilities/findDeprecatedUsages.js +++ b/src/utilities/findDeprecatedUsages.js @@ -2,11 +2,13 @@ import { GraphQLError } from '../error/GraphQLError'; +import type { DocumentNode } from '../language/ast'; + import { visit } from '../language/visitor'; -import { type DocumentNode } from '../language/ast'; + +import type { GraphQLSchema } from '../type/schema'; import { getNamedType } from '../type/definition'; -import { type GraphQLSchema } from '../type/schema'; import { TypeInfo, visitWithTypeInfo } from './TypeInfo'; diff --git a/src/utilities/getIntrospectionQuery.js b/src/utilities/getIntrospectionQuery.js index 51e94cd9a1..a6e39cfe6b 100644 --- a/src/utilities/getIntrospectionQuery.js +++ b/src/utilities/getIntrospectionQuery.js @@ -1,6 +1,6 @@ // @flow strict -import { type DirectiveLocationEnum } from '../language/directiveLocation'; +import type { DirectiveLocationEnum } from '../language/directiveLocation'; export type IntrospectionOptions = {| // Whether to include descriptions in the introspection result. diff --git a/src/utilities/getOperationAST.js b/src/utilities/getOperationAST.js index ea7a15b25d..42c614a83b 100644 --- a/src/utilities/getOperationAST.js +++ b/src/utilities/getOperationAST.js @@ -1,10 +1,7 @@ // @flow strict +import type { DocumentNode, OperationDefinitionNode } from '../language/ast'; import { Kind } from '../language/kinds'; -import { - type DocumentNode, - type OperationDefinitionNode, -} from '../language/ast'; /** * Returns an operation AST given a document AST and optionally an operation diff --git a/src/utilities/getOperationRootType.js b/src/utilities/getOperationRootType.js index 107c6de8b8..8fcb87edc4 100644 --- a/src/utilities/getOperationRootType.js +++ b/src/utilities/getOperationRootType.js @@ -2,13 +2,13 @@ import { GraphQLError } from '../error/GraphQLError'; -import { - type OperationDefinitionNode, - type OperationTypeDefinitionNode, +import type { + OperationDefinitionNode, + OperationTypeDefinitionNode, } from '../language/ast'; -import { type GraphQLSchema } from '../type/schema'; -import { type GraphQLObjectType } from '../type/definition'; +import type { GraphQLSchema } from '../type/schema'; +import type { GraphQLObjectType } from '../type/definition'; /** * Extracts the root type of the operation from the schema. diff --git a/src/utilities/introspectionFromSchema.js b/src/utilities/introspectionFromSchema.js index 7fe8dd60e1..6cfb645aa7 100644 --- a/src/utilities/introspectionFromSchema.js +++ b/src/utilities/introspectionFromSchema.js @@ -4,14 +4,16 @@ import invariant from '../jsutils/invariant'; import isPromise from '../jsutils/isPromise'; import { parse } from '../language/parser'; + +import type { GraphQLSchema } from '../type/schema'; + import { execute } from '../execution/execute'; -import { type GraphQLSchema } from '../type/schema'; -import { - type IntrospectionQuery, - type IntrospectionOptions, - getIntrospectionQuery, +import type { + IntrospectionQuery, + IntrospectionOptions, } from './getIntrospectionQuery'; +import { getIntrospectionQuery } from './getIntrospectionQuery'; /** * Build an IntrospectionQuery from a GraphQLSchema diff --git a/src/utilities/lexicographicSortSchema.js b/src/utilities/lexicographicSortSchema.js index 0ef144a694..598737bd6a 100644 --- a/src/utilities/lexicographicSortSchema.js +++ b/src/utilities/lexicographicSortSchema.js @@ -2,16 +2,16 @@ import objectValues from '../polyfills/objectValues'; +import type { ObjMap } from '../jsutils/ObjMap'; import inspect from '../jsutils/inspect'; import invariant from '../jsutils/invariant'; import keyValMap from '../jsutils/keyValMap'; -import { type ObjMap } from '../jsutils/ObjMap'; +import type { GraphQLNamedType } from '../type/definition'; import { GraphQLSchema } from '../type/schema'; import { GraphQLDirective } from '../type/directives'; import { isIntrospectionType } from '../type/introspection'; import { - type GraphQLNamedType, GraphQLObjectType, GraphQLInterfaceType, GraphQLUnionType, diff --git a/src/utilities/printSchema.js b/src/utilities/printSchema.js index 1f86f22332..f5101bbcb6 100644 --- a/src/utilities/printSchema.js +++ b/src/utilities/printSchema.js @@ -8,7 +8,16 @@ import invariant from '../jsutils/invariant'; import { print } from '../language/printer'; import { printBlockString } from '../language/blockString'; -import { type GraphQLSchema } from '../type/schema'; +import type { GraphQLSchema } from '../type/schema'; +import type { + GraphQLNamedType, + GraphQLScalarType, + GraphQLEnumType, + GraphQLObjectType, + GraphQLInterfaceType, + GraphQLUnionType, + GraphQLInputObjectType, +} from '../type/definition'; import { isIntrospectionType } from '../type/introspection'; import { GraphQLString, isSpecifiedScalarType } from '../type/scalars'; import { @@ -17,13 +26,6 @@ import { isSpecifiedDirective, } from '../type/directives'; import { - type GraphQLNamedType, - type GraphQLScalarType, - type GraphQLEnumType, - type GraphQLObjectType, - type GraphQLInterfaceType, - type GraphQLUnionType, - type GraphQLInputObjectType, isScalarType, isObjectType, isInterfaceType, diff --git a/src/utilities/separateOperations.js b/src/utilities/separateOperations.js index 0c8f9de300..ad5e061771 100644 --- a/src/utilities/separateOperations.js +++ b/src/utilities/separateOperations.js @@ -1,13 +1,10 @@ // @flow strict -import { type ObjMap } from '../jsutils/ObjMap'; +import type { ObjMap } from '../jsutils/ObjMap'; +import type { DocumentNode, OperationDefinitionNode } from '../language/ast'; import { Kind } from '../language/kinds'; import { visit } from '../language/visitor'; -import { - type DocumentNode, - type OperationDefinitionNode, -} from '../language/ast'; /** * separateOperations accepts a single AST document which may contain many diff --git a/src/utilities/typeComparators.js b/src/utilities/typeComparators.js index b878ba8bb3..1f00d4f4ee 100644 --- a/src/utilities/typeComparators.js +++ b/src/utilities/typeComparators.js @@ -1,9 +1,8 @@ // @flow strict -import { type GraphQLSchema } from '../type/schema'; +import type { GraphQLSchema } from '../type/schema'; +import type { GraphQLType, GraphQLCompositeType } from '../type/definition'; import { - type GraphQLType, - type GraphQLCompositeType, isInterfaceType, isObjectType, isListType, diff --git a/src/utilities/typeFromAST.js b/src/utilities/typeFromAST.js index 9018682b9e..978d92380f 100644 --- a/src/utilities/typeFromAST.js +++ b/src/utilities/typeFromAST.js @@ -3,19 +3,17 @@ import inspect from '../jsutils/inspect'; import invariant from '../jsutils/invariant'; -import { Kind } from '../language/kinds'; -import { - type NamedTypeNode, - type ListTypeNode, - type NonNullTypeNode, +import type { + NamedTypeNode, + ListTypeNode, + NonNullTypeNode, } from '../language/ast'; -import { type GraphQLSchema } from '../type/schema'; -import { - type GraphQLNamedType, - GraphQLList, - GraphQLNonNull, -} from '../type/definition'; +import { Kind } from '../language/kinds'; + +import type { GraphQLSchema } from '../type/schema'; +import type { GraphQLNamedType } from '../type/definition'; +import { GraphQLList, GraphQLNonNull } from '../type/definition'; /** * Given a Schema and an AST node describing a type, return a GraphQLType diff --git a/src/utilities/valueFromAST.js b/src/utilities/valueFromAST.js index 9b5efce077..663ee3d300 100644 --- a/src/utilities/valueFromAST.js +++ b/src/utilities/valueFromAST.js @@ -2,16 +2,16 @@ import objectValues from '../polyfills/objectValues'; +import type { ObjMap } from '../jsutils/ObjMap'; import keyMap from '../jsutils/keyMap'; import inspect from '../jsutils/inspect'; import invariant from '../jsutils/invariant'; -import { type ObjMap } from '../jsutils/ObjMap'; +import type { ValueNode } from '../language/ast'; import { Kind } from '../language/kinds'; -import { type ValueNode } from '../language/ast'; +import type { GraphQLInputType } from '../type/definition'; import { - type GraphQLInputType, isLeafType, isInputObjectType, isListType, diff --git a/src/utilities/valueFromASTUntyped.js b/src/utilities/valueFromASTUntyped.js index a879d460ac..3dbaf5ac36 100644 --- a/src/utilities/valueFromASTUntyped.js +++ b/src/utilities/valueFromASTUntyped.js @@ -1,12 +1,12 @@ // @flow strict +import type { ObjMap } from '../jsutils/ObjMap'; import inspect from '../jsutils/inspect'; import invariant from '../jsutils/invariant'; import keyValMap from '../jsutils/keyValMap'; -import { type ObjMap } from '../jsutils/ObjMap'; import { Kind } from '../language/kinds'; -import { type ValueNode } from '../language/ast'; +import type { ValueNode } from '../language/ast'; /** * Produces a JavaScript value given a GraphQL Value AST. diff --git a/src/validation/ValidationContext.js b/src/validation/ValidationContext.js index ecb9854f4a..30e0024169 100644 --- a/src/validation/ValidationContext.js +++ b/src/validation/ValidationContext.js @@ -1,28 +1,30 @@ // @flow strict -import { type ObjMap } from '../jsutils/ObjMap'; - -import { type GraphQLError } from '../error/GraphQLError'; - -import { Kind } from '../language/kinds'; -import { type ASTVisitor, visit } from '../language/visitor'; -import { - type DocumentNode, - type OperationDefinitionNode, - type VariableNode, - type SelectionSetNode, - type FragmentSpreadNode, - type FragmentDefinitionNode, +import type { ObjMap } from '../jsutils/ObjMap'; + +import type { GraphQLError } from '../error/GraphQLError'; + +import type { ASTVisitor } from '../language/visitor'; +import type { + DocumentNode, + OperationDefinitionNode, + VariableNode, + SelectionSetNode, + FragmentSpreadNode, + FragmentDefinitionNode, } from '../language/ast'; -import { type GraphQLSchema } from '../type/schema'; -import { type GraphQLDirective } from '../type/directives'; -import { - type GraphQLInputType, - type GraphQLOutputType, - type GraphQLCompositeType, - type GraphQLField, - type GraphQLArgument, +import { Kind } from '../language/kinds'; +import { visit } from '../language/visitor'; + +import type { GraphQLSchema } from '../type/schema'; +import type { GraphQLDirective } from '../type/directives'; +import type { + GraphQLInputType, + GraphQLOutputType, + GraphQLCompositeType, + GraphQLField, + GraphQLArgument, } from '../type/definition'; import { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo'; diff --git a/src/validation/__tests__/harness.js b/src/validation/__tests__/harness.js index a9490e3170..46e0b336bd 100644 --- a/src/validation/__tests__/harness.js +++ b/src/validation/__tests__/harness.js @@ -9,10 +9,7 @@ import { GraphQLSchema } from '../../type/schema'; import { buildSchema } from '../../utilities/buildASTSchema'; import { validate, validateSDL } from '../validate'; -import { - type ValidationRule, - type SDLValidationRule, -} from '../ValidationContext'; +import type { ValidationRule, SDLValidationRule } from '../ValidationContext'; export const testSchema = buildSchema(` interface Being { diff --git a/src/validation/rules/ExecutableDefinitionsRule.js b/src/validation/rules/ExecutableDefinitionsRule.js index 4ae128f866..e981cff2e8 100644 --- a/src/validation/rules/ExecutableDefinitionsRule.js +++ b/src/validation/rules/ExecutableDefinitionsRule.js @@ -2,11 +2,11 @@ import { GraphQLError } from '../../error/GraphQLError'; +import type { ASTVisitor } from '../../language/visitor'; import { Kind } from '../../language/kinds'; -import { type ASTVisitor } from '../../language/visitor'; import { isExecutableDefinitionNode } from '../../language/predicates'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTValidationContext } from '../ValidationContext'; /** * Executable definitions diff --git a/src/validation/rules/FieldsOnCorrectTypeRule.js b/src/validation/rules/FieldsOnCorrectTypeRule.js index 038d9a8a3f..e0b67e7c68 100644 --- a/src/validation/rules/FieldsOnCorrectTypeRule.js +++ b/src/validation/rules/FieldsOnCorrectTypeRule.js @@ -7,20 +7,22 @@ import suggestionList from '../../jsutils/suggestionList'; import { GraphQLError } from '../../error/GraphQLError'; -import { type FieldNode } from '../../language/ast'; -import { type ASTVisitor } from '../../language/visitor'; - -import { type GraphQLSchema } from '../../type/schema'; +import type { FieldNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { GraphQLSchema } from '../../type/schema'; +import type { + GraphQLOutputType, + GraphQLObjectType, + GraphQLInterfaceType, +} from '../../type/definition'; import { - type GraphQLOutputType, - type GraphQLObjectType, - type GraphQLInterfaceType, isObjectType, isInterfaceType, isAbstractType, } from '../../type/definition'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; /** * Fields on correct type diff --git a/src/validation/rules/FragmentsOnCompositeTypesRule.js b/src/validation/rules/FragmentsOnCompositeTypesRule.js index 4eee719d3a..48b587cd41 100644 --- a/src/validation/rules/FragmentsOnCompositeTypesRule.js +++ b/src/validation/rules/FragmentsOnCompositeTypesRule.js @@ -2,14 +2,14 @@ import { GraphQLError } from '../../error/GraphQLError'; +import type { ASTVisitor } from '../../language/visitor'; import { print } from '../../language/printer'; -import { type ASTVisitor } from '../../language/visitor'; import { isCompositeType } from '../../type/definition'; import { typeFromAST } from '../../utilities/typeFromAST'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; /** * Fragments on composite type diff --git a/src/validation/rules/KnownArgumentNamesRule.js b/src/validation/rules/KnownArgumentNamesRule.js index 2a148647c6..a0b7dfd474 100644 --- a/src/validation/rules/KnownArgumentNamesRule.js +++ b/src/validation/rules/KnownArgumentNamesRule.js @@ -5,14 +5,14 @@ import suggestionList from '../../jsutils/suggestionList'; import { GraphQLError } from '../../error/GraphQLError'; +import type { ASTVisitor } from '../../language/visitor'; import { Kind } from '../../language/kinds'; -import { type ASTVisitor } from '../../language/visitor'; import { specifiedDirectives } from '../../type/directives'; -import { - type ValidationContext, - type SDLValidationContext, +import type { + ValidationContext, + SDLValidationContext, } from '../ValidationContext'; /** diff --git a/src/validation/rules/KnownDirectivesRule.js b/src/validation/rules/KnownDirectivesRule.js index 61fd54f234..0d47bad73a 100644 --- a/src/validation/rules/KnownDirectivesRule.js +++ b/src/validation/rules/KnownDirectivesRule.js @@ -5,19 +5,17 @@ import invariant from '../../jsutils/invariant'; import { GraphQLError } from '../../error/GraphQLError'; +import type { ASTVisitor } from '../../language/visitor'; +import type { OperationTypeNode } from '../../language/ast'; +import type { DirectiveLocationEnum } from '../../language/directiveLocation'; import { Kind } from '../../language/kinds'; -import { type ASTVisitor } from '../../language/visitor'; -import { type OperationTypeNode } from '../../language/ast'; -import { - type DirectiveLocationEnum, - DirectiveLocation, -} from '../../language/directiveLocation'; +import { DirectiveLocation } from '../../language/directiveLocation'; import { specifiedDirectives } from '../../type/directives'; -import { - type ValidationContext, - type SDLValidationContext, +import type { + ValidationContext, + SDLValidationContext, } from '../ValidationContext'; /** diff --git a/src/validation/rules/KnownFragmentNamesRule.js b/src/validation/rules/KnownFragmentNamesRule.js index ad7cd5e67f..2d4a720dd1 100644 --- a/src/validation/rules/KnownFragmentNamesRule.js +++ b/src/validation/rules/KnownFragmentNamesRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { ValidationContext } from '../ValidationContext'; /** * Known fragment names diff --git a/src/validation/rules/KnownTypeNamesRule.js b/src/validation/rules/KnownTypeNamesRule.js index 80f44c3866..de602ec596 100644 --- a/src/validation/rules/KnownTypeNamesRule.js +++ b/src/validation/rules/KnownTypeNamesRule.js @@ -5,8 +5,8 @@ import suggestionList from '../../jsutils/suggestionList'; import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTNode } from '../../language/ast'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ASTNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; import { isTypeDefinitionNode, isTypeSystemDefinitionNode, @@ -15,9 +15,9 @@ import { import { specifiedScalarTypes } from '../../type/scalars'; -import { - type ValidationContext, - type SDLValidationContext, +import type { + ValidationContext, + SDLValidationContext, } from '../ValidationContext'; /** diff --git a/src/validation/rules/LoneAnonymousOperationRule.js b/src/validation/rules/LoneAnonymousOperationRule.js index 3105b69e52..dd8c3aa489 100644 --- a/src/validation/rules/LoneAnonymousOperationRule.js +++ b/src/validation/rules/LoneAnonymousOperationRule.js @@ -2,10 +2,10 @@ import { GraphQLError } from '../../error/GraphQLError'; +import type { ASTVisitor } from '../../language/visitor'; import { Kind } from '../../language/kinds'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTValidationContext } from '../ValidationContext'; /** * Lone anonymous operation diff --git a/src/validation/rules/LoneSchemaDefinitionRule.js b/src/validation/rules/LoneSchemaDefinitionRule.js index cd0ff8b68d..dd0c0af12d 100644 --- a/src/validation/rules/LoneSchemaDefinitionRule.js +++ b/src/validation/rules/LoneSchemaDefinitionRule.js @@ -1,9 +1,9 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ASTVisitor } from '../../language/visitor'; -import { type SDLValidationContext } from '../ValidationContext'; +import type { SDLValidationContext } from '../ValidationContext'; /** * Lone Schema definition diff --git a/src/validation/rules/NoFragmentCyclesRule.js b/src/validation/rules/NoFragmentCyclesRule.js index 83f6f481d6..3e7716f81b 100644 --- a/src/validation/rules/NoFragmentCyclesRule.js +++ b/src/validation/rules/NoFragmentCyclesRule.js @@ -2,10 +2,10 @@ import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type FragmentDefinitionNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; +import type { FragmentDefinitionNode } from '../../language/ast'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTValidationContext } from '../ValidationContext'; export function NoFragmentCyclesRule( context: ASTValidationContext, diff --git a/src/validation/rules/NoUndefinedVariablesRule.js b/src/validation/rules/NoUndefinedVariablesRule.js index be99da08e0..787ee87da4 100644 --- a/src/validation/rules/NoUndefinedVariablesRule.js +++ b/src/validation/rules/NoUndefinedVariablesRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { ValidationContext } from '../ValidationContext'; /** * No undefined variables diff --git a/src/validation/rules/NoUnusedFragmentsRule.js b/src/validation/rules/NoUnusedFragmentsRule.js index f9772e48a8..69f2278b47 100644 --- a/src/validation/rules/NoUnusedFragmentsRule.js +++ b/src/validation/rules/NoUnusedFragmentsRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { ASTValidationContext } from '../ValidationContext'; /** * No unused fragments diff --git a/src/validation/rules/NoUnusedVariablesRule.js b/src/validation/rules/NoUnusedVariablesRule.js index d24164ede9..31fba5f1af 100644 --- a/src/validation/rules/NoUnusedVariablesRule.js +++ b/src/validation/rules/NoUnusedVariablesRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { ValidationContext } from '../ValidationContext'; /** * No unused variables diff --git a/src/validation/rules/OverlappingFieldsCanBeMergedRule.js b/src/validation/rules/OverlappingFieldsCanBeMergedRule.js index 3b037fc242..520bbec421 100644 --- a/src/validation/rules/OverlappingFieldsCanBeMergedRule.js +++ b/src/validation/rules/OverlappingFieldsCanBeMergedRule.js @@ -3,26 +3,28 @@ import find from '../../polyfills/find'; import objectEntries from '../../polyfills/objectEntries'; +import type { ObjMap } from '../../jsutils/ObjMap'; import inspect from '../../jsutils/inspect'; -import { type ObjMap } from '../../jsutils/ObjMap'; import { GraphQLError } from '../../error/GraphQLError'; +import type { ASTVisitor } from '../../language/visitor'; +import type { + SelectionSetNode, + FieldNode, + ArgumentNode, + FragmentDefinitionNode, +} from '../../language/ast'; import { Kind } from '../../language/kinds'; import { print } from '../../language/printer'; -import { type ASTVisitor } from '../../language/visitor'; -import { - type SelectionSetNode, - type FieldNode, - type ArgumentNode, - type FragmentDefinitionNode, -} from '../../language/ast'; +import type { + GraphQLNamedType, + GraphQLOutputType, + GraphQLCompositeType, + GraphQLField, +} from '../../type/definition'; import { - type GraphQLNamedType, - type GraphQLOutputType, - type GraphQLCompositeType, - type GraphQLField, getNamedType, isNonNullType, isLeafType, @@ -33,7 +35,7 @@ import { import { typeFromAST } from '../../utilities/typeFromAST'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; function reasonMessage(reason: ConflictReasonMessage): string { if (Array.isArray(reason)) { diff --git a/src/validation/rules/PossibleFragmentSpreadsRule.js b/src/validation/rules/PossibleFragmentSpreadsRule.js index e374d59d86..a0524a12da 100644 --- a/src/validation/rules/PossibleFragmentSpreadsRule.js +++ b/src/validation/rules/PossibleFragmentSpreadsRule.js @@ -4,14 +4,14 @@ import inspect from '../../jsutils/inspect'; import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ASTVisitor } from '../../language/visitor'; import { isCompositeType } from '../../type/definition'; import { typeFromAST } from '../../utilities/typeFromAST'; import { doTypesOverlap } from '../../utilities/typeComparators'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; /** * Possible fragment spread diff --git a/src/validation/rules/PossibleTypeExtensionsRule.js b/src/validation/rules/PossibleTypeExtensionsRule.js index 3e7044dd5e..b11457a4d0 100644 --- a/src/validation/rules/PossibleTypeExtensionsRule.js +++ b/src/validation/rules/PossibleTypeExtensionsRule.js @@ -7,8 +7,8 @@ import suggestionList from '../../jsutils/suggestionList'; import { GraphQLError } from '../../error/GraphQLError'; +import type { ASTVisitor } from '../../language/visitor'; import { Kind } from '../../language/kinds'; -import { type ASTVisitor } from '../../language/visitor'; import { isTypeDefinitionNode } from '../../language/predicates'; import { @@ -20,7 +20,7 @@ import { isInputObjectType, } from '../../type/definition'; -import { type SDLValidationContext } from '../ValidationContext'; +import type { SDLValidationContext } from '../ValidationContext'; /** * Possible type extension diff --git a/src/validation/rules/ProvidedRequiredArgumentsRule.js b/src/validation/rules/ProvidedRequiredArgumentsRule.js index 8505e8457f..4cc777f051 100644 --- a/src/validation/rules/ProvidedRequiredArgumentsRule.js +++ b/src/validation/rules/ProvidedRequiredArgumentsRule.js @@ -7,14 +7,14 @@ import { GraphQLError } from '../../error/GraphQLError'; import { Kind } from '../../language/kinds'; import { print } from '../../language/printer'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ASTVisitor } from '../../language/visitor'; import { specifiedDirectives } from '../../type/directives'; import { isType, isRequiredArgument } from '../../type/definition'; -import { - type ValidationContext, - type SDLValidationContext, +import type { + ValidationContext, + SDLValidationContext, } from '../ValidationContext'; /** diff --git a/src/validation/rules/ScalarLeafsRule.js b/src/validation/rules/ScalarLeafsRule.js index abc43556ab..b6280f448c 100644 --- a/src/validation/rules/ScalarLeafsRule.js +++ b/src/validation/rules/ScalarLeafsRule.js @@ -4,12 +4,12 @@ import inspect from '../../jsutils/inspect'; import { GraphQLError } from '../../error/GraphQLError'; -import { type FieldNode } from '../../language/ast'; -import { type ASTVisitor } from '../../language/visitor'; +import type { FieldNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; import { getNamedType, isLeafType } from '../../type/definition'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; /** * Scalar leafs diff --git a/src/validation/rules/SingleFieldSubscriptionsRule.js b/src/validation/rules/SingleFieldSubscriptionsRule.js index 7773467321..2a03029395 100644 --- a/src/validation/rules/SingleFieldSubscriptionsRule.js +++ b/src/validation/rules/SingleFieldSubscriptionsRule.js @@ -2,10 +2,10 @@ import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type OperationDefinitionNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; +import type { OperationDefinitionNode } from '../../language/ast'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTValidationContext } from '../ValidationContext'; /** * Subscriptions must only include one field. diff --git a/src/validation/rules/UniqueArgumentNamesRule.js b/src/validation/rules/UniqueArgumentNamesRule.js index 27920705fd..d294ec4cc7 100644 --- a/src/validation/rules/UniqueArgumentNamesRule.js +++ b/src/validation/rules/UniqueArgumentNamesRule.js @@ -1,9 +1,9 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ASTVisitor } from '../../language/visitor'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTValidationContext } from '../ValidationContext'; /** * Unique argument names diff --git a/src/validation/rules/UniqueDirectiveNamesRule.js b/src/validation/rules/UniqueDirectiveNamesRule.js index bad5ca5fc8..f698bd1076 100644 --- a/src/validation/rules/UniqueDirectiveNamesRule.js +++ b/src/validation/rules/UniqueDirectiveNamesRule.js @@ -1,9 +1,9 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ASTVisitor } from '../../language/visitor'; -import { type SDLValidationContext } from '../ValidationContext'; +import type { SDLValidationContext } from '../ValidationContext'; /** * Unique directive names diff --git a/src/validation/rules/UniqueDirectivesPerLocationRule.js b/src/validation/rules/UniqueDirectivesPerLocationRule.js index 4f74d0fd42..cdd17abbe1 100644 --- a/src/validation/rules/UniqueDirectivesPerLocationRule.js +++ b/src/validation/rules/UniqueDirectivesPerLocationRule.js @@ -3,7 +3,7 @@ import { GraphQLError } from '../../error/GraphQLError'; import { Kind } from '../../language/kinds'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ASTVisitor } from '../../language/visitor'; import { isTypeDefinitionNode, isTypeExtensionNode, @@ -11,9 +11,9 @@ import { import { specifiedDirectives } from '../../type/directives'; -import { - type SDLValidationContext, - type ValidationContext, +import type { + SDLValidationContext, + ValidationContext, } from '../ValidationContext'; /** diff --git a/src/validation/rules/UniqueEnumValueNamesRule.js b/src/validation/rules/UniqueEnumValueNamesRule.js index 575b51aad8..73425e986c 100644 --- a/src/validation/rules/UniqueEnumValueNamesRule.js +++ b/src/validation/rules/UniqueEnumValueNamesRule.js @@ -1,10 +1,12 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; + +import type { ASTVisitor } from '../../language/visitor'; + import { isEnumType } from '../../type/definition'; -import { type SDLValidationContext } from '../ValidationContext'; +import type { SDLValidationContext } from '../ValidationContext'; /** * Unique enum value names diff --git a/src/validation/rules/UniqueFieldDefinitionNamesRule.js b/src/validation/rules/UniqueFieldDefinitionNamesRule.js index 52444dc792..1f6eeb033c 100644 --- a/src/validation/rules/UniqueFieldDefinitionNamesRule.js +++ b/src/validation/rules/UniqueFieldDefinitionNamesRule.js @@ -1,14 +1,16 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; + +import type { ASTVisitor } from '../../language/visitor'; + import { isObjectType, isInterfaceType, isInputObjectType, } from '../../type/definition'; -import { type SDLValidationContext } from '../ValidationContext'; +import type { SDLValidationContext } from '../ValidationContext'; /** * Unique field definition names diff --git a/src/validation/rules/UniqueFragmentNamesRule.js b/src/validation/rules/UniqueFragmentNamesRule.js index 3150ab698d..9f79a1af34 100644 --- a/src/validation/rules/UniqueFragmentNamesRule.js +++ b/src/validation/rules/UniqueFragmentNamesRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { ASTValidationContext } from '../ValidationContext'; /** * Unique fragment names diff --git a/src/validation/rules/UniqueInputFieldNamesRule.js b/src/validation/rules/UniqueInputFieldNamesRule.js index 9041bdd6bb..0fca6f4687 100644 --- a/src/validation/rules/UniqueInputFieldNamesRule.js +++ b/src/validation/rules/UniqueInputFieldNamesRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { ASTValidationContext } from '../ValidationContext'; /** * Unique input field names diff --git a/src/validation/rules/UniqueOperationNamesRule.js b/src/validation/rules/UniqueOperationNamesRule.js index 3a0e40dec8..fdedf25cc1 100644 --- a/src/validation/rules/UniqueOperationNamesRule.js +++ b/src/validation/rules/UniqueOperationNamesRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { ASTValidationContext } from '../ValidationContext'; /** * Unique operation names diff --git a/src/validation/rules/UniqueOperationTypesRule.js b/src/validation/rules/UniqueOperationTypesRule.js index f165556615..a13814e327 100644 --- a/src/validation/rules/UniqueOperationTypesRule.js +++ b/src/validation/rules/UniqueOperationTypesRule.js @@ -1,9 +1,10 @@ // @flow strict import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type SDLValidationContext } from '../ValidationContext'; +import type { ASTVisitor } from '../../language/visitor'; + +import type { SDLValidationContext } from '../ValidationContext'; /** * Unique operation types diff --git a/src/validation/rules/UniqueTypeNamesRule.js b/src/validation/rules/UniqueTypeNamesRule.js index a20cde0673..41a5934ae8 100644 --- a/src/validation/rules/UniqueTypeNamesRule.js +++ b/src/validation/rules/UniqueTypeNamesRule.js @@ -2,10 +2,10 @@ import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type TypeDefinitionNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; +import type { TypeDefinitionNode } from '../../language/ast'; -import { type SDLValidationContext } from '../ValidationContext'; +import type { SDLValidationContext } from '../ValidationContext'; /** * Unique type names diff --git a/src/validation/rules/UniqueVariableNamesRule.js b/src/validation/rules/UniqueVariableNamesRule.js index 26a4dad490..a8a7503e03 100644 --- a/src/validation/rules/UniqueVariableNamesRule.js +++ b/src/validation/rules/UniqueVariableNamesRule.js @@ -2,10 +2,10 @@ import { GraphQLError } from '../../error/GraphQLError'; -import { type ASTVisitor } from '../../language/visitor'; -import { type VariableDefinitionNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; +import type { VariableDefinitionNode } from '../../language/ast'; -import { type ASTValidationContext } from '../ValidationContext'; +import type { ASTValidationContext } from '../ValidationContext'; /** * Unique variable names diff --git a/src/validation/rules/ValuesOfCorrectTypeRule.js b/src/validation/rules/ValuesOfCorrectTypeRule.js index d2bffe3bb6..8941cdbd5f 100644 --- a/src/validation/rules/ValuesOfCorrectTypeRule.js +++ b/src/validation/rules/ValuesOfCorrectTypeRule.js @@ -9,9 +9,9 @@ import suggestionList from '../../jsutils/suggestionList'; import { GraphQLError } from '../../error/GraphQLError'; +import type { ValueNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; import { print } from '../../language/printer'; -import { type ValueNode } from '../../language/ast'; -import { type ASTVisitor } from '../../language/visitor'; import { isLeafType, @@ -23,7 +23,7 @@ import { getNamedType, } from '../../type/definition'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; /** * Value literals of correct type diff --git a/src/validation/rules/VariablesAreInputTypesRule.js b/src/validation/rules/VariablesAreInputTypesRule.js index 05d7d20c8d..431b0b42dd 100644 --- a/src/validation/rules/VariablesAreInputTypesRule.js +++ b/src/validation/rules/VariablesAreInputTypesRule.js @@ -3,14 +3,14 @@ import { GraphQLError } from '../../error/GraphQLError'; import { print } from '../../language/printer'; -import { type ASTVisitor } from '../../language/visitor'; -import { type VariableDefinitionNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; +import type { VariableDefinitionNode } from '../../language/ast'; import { isInputType } from '../../type/definition'; import { typeFromAST } from '../../utilities/typeFromAST'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; /** * Variables are input types diff --git a/src/validation/rules/VariablesInAllowedPositionRule.js b/src/validation/rules/VariablesInAllowedPositionRule.js index bba589af66..8a2bb7706d 100644 --- a/src/validation/rules/VariablesInAllowedPositionRule.js +++ b/src/validation/rules/VariablesInAllowedPositionRule.js @@ -5,16 +5,17 @@ import inspect from '../../jsutils/inspect'; import { GraphQLError } from '../../error/GraphQLError'; import { Kind } from '../../language/kinds'; -import { type ValueNode } from '../../language/ast'; -import { type ASTVisitor } from '../../language/visitor'; +import type { ValueNode } from '../../language/ast'; +import type { ASTVisitor } from '../../language/visitor'; -import { type GraphQLSchema } from '../../type/schema'; -import { type GraphQLType, isNonNullType } from '../../type/definition'; +import type { GraphQLSchema } from '../../type/schema'; +import type { GraphQLType } from '../../type/definition'; +import { isNonNullType } from '../../type/definition'; import { typeFromAST } from '../../utilities/typeFromAST'; import { isTypeSubTypeOf } from '../../utilities/typeComparators'; -import { type ValidationContext } from '../ValidationContext'; +import type { ValidationContext } from '../ValidationContext'; /** * Variables passed to field arguments conform to type diff --git a/src/validation/validate.js b/src/validation/validate.js index 2e5df6bc1c..3c2d6c68cf 100644 --- a/src/validation/validate.js +++ b/src/validation/validate.js @@ -4,21 +4,17 @@ import devAssert from '../jsutils/devAssert'; import { GraphQLError } from '../error/GraphQLError'; -import { type DocumentNode } from '../language/ast'; +import type { DocumentNode } from '../language/ast'; import { visit, visitInParallel } from '../language/visitor'; -import { type GraphQLSchema } from '../type/schema'; +import type { GraphQLSchema } from '../type/schema'; import { assertValidSchema } from '../type/validate'; import { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo'; +import type { SDLValidationRule, ValidationRule } from './ValidationContext'; import { specifiedRules, specifiedSDLRules } from './specifiedRules'; -import { - type SDLValidationRule, - type ValidationRule, - SDLValidationContext, - ValidationContext, -} from './ValidationContext'; +import { SDLValidationContext, ValidationContext } from './ValidationContext'; /** * Implements the "Validation" section of the spec.