Skip to content
Libraries supporting GraphQL in Dart
Dart
Branch: master
Clone or download

README.md

gql-dart/gql

This is an effort to advance the Dart GraphQL ecosystem.

It consists of multiple packages and libraries centered around GraphQL AST.

Core

Pub Package Library Description
version package:gql ast.dart GraphQL AST implementation with Visitor pattern and AST transformer
version package:gql language.dart GraphQL source parser and printer. Recognizes both operations and SDL
version package:gql document.dart Document and schema validation
version package:gql execution.dart Implementation of types for GraphQL requests and responses

Code generation

Pub Package Library Description
version package:gql_code_gen gql_code_gen.dart Code generator to print AST into Dart representation of the same AST
version package:gql_code_gen ast_builder.dart Source builder to parse *.graphql documents into AST at build-time

Client

Pub Package Library Description
version package:gql_link link.dart Base for modular GraphQL execution interface
version package:gql_http_link gql_http_link.dart Link to execute GraphQL requests via HTTP
version package:gql_dedupe_link gql_dedupe_link.dart De-duplicating Link to avoid execution of identical requests
version package:gql_transform_link gql_transform_link.dart GQL Link to transform Requests and Responses. May be used to update context, document, variables, data, errors, etc.

Other

Pub Package Library Description
version package:gql_pedantic Lint rules used by all gql-dart/gql packages

Users

Project Description
artemis Build dart types from GraphQL schemas and queries (using Introspection Query).
graphql fork A stand-alone GraphQL client for Dart, bringing all the features from a modern GraphQL client to one easy to use package.
graphql_flutter fork A GraphQL client for Flutter, bringing all the features from a modern GraphQL client to one easy to use package.
Your project? Open a PR to add it to this readme!

Contributing

The goal of this project is to expand Dart GraphQL ecosystem and building a community around this vendor-neutral implementation.

That said, this project is in it's early days and the best way to contribute currently is to open issues with questions about current and future scope and features of this project.

Features and bugs

Please file feature requests and bugs at the GitHub.

You can’t perform that action at this time.