Skip to content

DSL code not working with graphql-core 3.3.0a12 #588

@leszekhanusz

Description

@leszekhanusz

The gql pre-release version is not working with the latest graphql-core version (3.3.0a12), the DSL code is not working anymore, which also means that any code fetching the schema from the backend will not work since we are now using the DSL code to generate the introspection query.

tests are failing with:

ERROR tests/starwars/test_dsl.py - TypeError: InlineFragmentNode.__init__() missing 1 required keyword-only argument: 'selection_set'

mypy errors 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]

Workaround: pin graphql-core to 3.3.0a11

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: needs investigationLet's dig deeper into this before drawing conclusions.type: bugAn issue or pull request relating to a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions