From 3d27576537c343f90c965d9d472469e6abe5a8d6 Mon Sep 17 00:00:00 2001 From: Ivan Goncharov Date: Fri, 12 Mar 2021 19:33:24 +0200 Subject: [PATCH] Sync .flowconfig with 'graphql-js' --- .flowconfig | 18 ++++++++++++------ src/__tests__/starWarsData.js | 8 ++++---- src/connection/arrayconnection.js | 4 ++-- src/connection/connection.js | 8 ++++---- src/connection/connectiontypes.js | 12 ++++++------ src/mutation/mutation.js | 4 ++-- src/node/node.js | 8 ++++---- src/node/plural.js | 4 ++-- 8 files changed, 36 insertions(+), 30 deletions(-) diff --git a/.flowconfig b/.flowconfig index 6e70490..c86578a 100644 --- a/.flowconfig +++ b/.flowconfig @@ -16,7 +16,7 @@ sketchy-null-mixed=error sketchy-number=error untyped-type-import=error nonstrict-import=off -untyped-import=off +untyped-import=error unclear-type=off deprecated-type=error deprecated-utility=error @@ -24,16 +24,22 @@ unsafe-getters-setters=error unnecessary-optional-chain=error unnecessary-invariant=error signature-verification-failure=error -implicit-inexact-object=off -ambiguous-object-type=off +implicit-inexact-object=error +ambiguous-object-type=error uninitialized-instance-property=error +default-import-access=error +invalid-import-star-use=error +non-const-var-export=error +this-in-exported-function=error +mixed-import-and-require=error +export-renamed-default=error [options] -include_warnings=true +all=true module.use_strict=true babel_loose_array_spread=true -esproposal.optional_chaining=enable -exact_by_default=true +experimental.const_params=true +include_warnings=true [version] ^0.146.0 diff --git a/src/__tests__/starWarsData.js b/src/__tests__/starWarsData.js index b4c71bb..1e6bbd5 100644 --- a/src/__tests__/starWarsData.js +++ b/src/__tests__/starWarsData.js @@ -79,16 +79,16 @@ const data = Object.freeze({ }, }); -type Ship = { +type Ship = {| id: string, name: string, -}; +|}; -type Faction = { +type Faction = {| id: string, name: string, ships: $ReadOnlyArray, -}; +|}; let nextShip = 9; export function createShip(shipName: string, factionId: string): Ship { diff --git a/src/connection/arrayconnection.js b/src/connection/arrayconnection.js index f4a3a61..923b1df 100644 --- a/src/connection/arrayconnection.js +++ b/src/connection/arrayconnection.js @@ -8,10 +8,10 @@ import type { ConnectionCursor, } from './connectiontypes'; -type ArraySliceMetaInfo = { +type ArraySliceMetaInfo = {| sliceStart: number, arrayLength: number, -}; +|}; /** * A simple function that accepts an array and connection arguments, and returns diff --git a/src/connection/connection.js b/src/connection/connection.js index 6576796..1505ec2 100644 --- a/src/connection/connection.js +++ b/src/connection/connection.js @@ -51,19 +51,19 @@ export const connectionArgs: GraphQLFieldConfigArgumentMap = { ...backwardConnectionArgs, }; -type ConnectionConfig = { +type ConnectionConfig = {| name?: string, nodeType: GraphQLObjectType, resolveNode?: GraphQLFieldResolver, resolveCursor?: GraphQLFieldResolver, edgeFields?: Thunk>, connectionFields?: Thunk>, -}; +|}; -type GraphQLConnectionDefinitions = { +type GraphQLConnectionDefinitions = {| edgeType: GraphQLObjectType, connectionType: GraphQLObjectType, -}; +|}; function resolveMaybeThunk(thingOrThunk: Thunk): T { return typeof thingOrThunk === 'function' diff --git a/src/connection/connectiontypes.js b/src/connection/connectiontypes.js index 0e0722f..0dd2a57 100644 --- a/src/connection/connectiontypes.js +++ b/src/connection/connectiontypes.js @@ -8,28 +8,28 @@ export type ConnectionCursor = string; /** * A flow type designed to be exposed as `PageInfo` over GraphQL. */ -export type PageInfo = { +export type PageInfo = {| startCursor: ConnectionCursor | null, endCursor: ConnectionCursor | null, hasPreviousPage: boolean, hasNextPage: boolean, -}; +|}; /** * A flow type designed to be exposed as a `Connection` over GraphQL. */ -export type Connection = { +export type Connection = {| edges: Array>, pageInfo: PageInfo, -}; +|}; /** * A flow type designed to be exposed as a `Edge` over GraphQL. */ -export type Edge = { +export type Edge = {| node: T, cursor: ConnectionCursor, -}; +|}; /** * A flow type describing the arguments a connection field receives in GraphQL. diff --git a/src/mutation/mutation.js b/src/mutation/mutation.js index a696055..6621e07 100644 --- a/src/mutation/mutation.js +++ b/src/mutation/mutation.js @@ -42,14 +42,14 @@ function resolveMaybeThunk(thingOrThunk: Thunk): T { * input field, and it should return an Object with a key for each * output field. It may return synchronously, or return a Promise. */ -type MutationConfig = { +type MutationConfig = {| name: string, description?: string, deprecationReason?: string, inputFields: Thunk, outputFields: Thunk>, mutateAndGetPayload: MutationFn, -}; +|}; /** * Returns a GraphQLFieldConfig for the mutation described by the diff --git a/src/node/node.js b/src/node/node.js index 08ae39e..971b1b0 100644 --- a/src/node/node.js +++ b/src/node/node.js @@ -15,11 +15,11 @@ import type { import { base64, unbase64 } from '../utils/base64'; -type GraphQLNodeDefinitions = { +type GraphQLNodeDefinitions = {| nodeInterface: GraphQLInterfaceType, nodeField: GraphQLFieldConfig, nodesField: GraphQLFieldConfig, -}; +|}; /** * Given a function to map from an ID to an underlying object, and a function @@ -77,10 +77,10 @@ export function nodeDefinitions( return { nodeInterface, nodeField, nodesField }; } -type ResolvedGlobalId = { +type ResolvedGlobalId = {| type: string, id: string, -}; +|}; /** * Takes a type name and an ID specific to that type name, and returns a diff --git a/src/node/plural.js b/src/node/plural.js index b8745a6..5fe0cf0 100644 --- a/src/node/plural.js +++ b/src/node/plural.js @@ -9,7 +9,7 @@ import type { GraphQLResolveInfo, } from 'graphql'; -type PluralIdentifyingRootFieldConfig = { +type PluralIdentifyingRootFieldConfig = {| argName: string, inputType: GraphQLInputType, outputType: GraphQLOutputType, @@ -19,7 +19,7 @@ type PluralIdentifyingRootFieldConfig = { info: GraphQLResolveInfo, ) => ?any, description?: string, -}; +|}; export function pluralIdentifyingRootField( config: PluralIdentifyingRootFieldConfig,