Skip to content

AST classes Breaking changes in graphql-core 3.3.0a12 #262

@leszekhanusz

Description

@leszekhanusz

Since the latest graphql-core version (3.3.0a12), tests are failing with gql.

I believe the PR #256 is causing breaking changes in gql by making all the AST classes read-only and without good default values.

Here is the mypy output of gql showing the problems:

gql/utilities/parse_result.py:127: error: Property "name" defined in "OperationDefinitionNode" is read-only  [misc]
gql/utilities/parse_result.py:241: error: Argument "selections" to "SelectionSetNode" has incompatible type "list[FieldNode]"; expected "tuple[SelectionNode, ...]"  [arg-type]
gql/dsl.py:436: error: Argument "value" to "ArgumentNode" has incompatible type "ValueNode | None"; expected "ValueNode"  [arg-type]
gql/dsl.py:599: error: Property "alias" defined in "FieldNode" is read-only  [misc]
gql/dsl.py:670: error: Property "selections" defined in "SelectionSetNode" is read-only  [misc]
gql/dsl.py:802: error: Argument 4 to "OperationDefinitionNode" has incompatible type "**dict[str, NameNode]"; expected "Location | None"  [arg-type]
gql/dsl.py:860: error: Argument "type" to "NonNullTypeNode" has incompatible type "TypeNode"; expected "NamedTypeNode | ListTypeNode"  [arg-type]
gql/dsl.py:927: error: Argument "type" to "VariableDefinitionNode" has incompatible type "TypeNode | None"; expected "TypeNode"  [arg-type]
gql/dsl.py:934: error: Argument "directives" to "VariableDefinitionNode" has incompatible type "tuple[DirectiveNode, ...]"; expected "tuple[ConstDirectiveNode, ...]"  [arg-type]
gql/dsl.py:1144: error: Property "arguments" defined in "FieldNode" is read-only  [misc]
gql/dsl.py:1147: error: Argument "value" to "ArgumentNode" has incompatible type "ValueNode | None"; expected "ValueNode"  [arg-type]
gql/dsl.py:1178: error: Property "selection_set" defined in "FieldNode" is read-only  [misc]
gql/dsl.py:1185: error: Property "directives" defined in "FieldNode" is read-only  [misc]
gql/dsl.py:1257: error: Missing named argument "selection_set" for "InlineFragmentNode"  [call-arg]
gql/dsl.py:1269: error: Property "selection_set" defined in "InlineFragmentNode" is read-only  [misc]
gql/dsl.py:1277: error: Property "type_condition" defined in "InlineFragmentNode" is read-only  [misc]
gql/dsl.py:1288: error: Property "directives" defined in "InlineFragmentNode" is read-only  [misc]
gql/dsl.py:1341: error: Property "directives" defined in "FragmentSpreadNode" is read-only  [misc]
gql/dsl.py:1385: error: Property "value" defined in "NameNode" is read-only  [misc]
gql/dsl.py:1455: error: Argument 3 to "FragmentDefinitionNode" has incompatible type "**dict[str, tuple[VariableDefinitionNode, ...]]"; expected "Location | None"  [arg-type]
gql/dsl.py:1519: error: Argument "definitions" to "DocumentNode" has incompatible type "list[Any]"; expected "tuple[DefinitionNode, ...]"  [arg-type]

See gql issue #588

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions