All Projects → gql-dart → Gql

gql-dart / Gql

Licence: mit
Libraries supporting GraphQL in Dart

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Gql

Angular Enterprise Example
Scalable / Large Angular application structure example
Stars: ✭ 117 (-4.1%)
Mutual labels:  graphql
Shio
✨ :dna: Shio CMS - Model Content, Use GraphQL and Create Site using Javascript with Native Cache and Search.
Stars: ✭ 119 (-2.46%)
Mutual labels:  graphql
Netcoreblockly
.NET Core API to Blockly - generate from WebAPI, Swagger, OData, GraphQL =>
Stars: ✭ 121 (-0.82%)
Mutual labels:  graphql
Odatatoentity
OData .net core
Stars: ✭ 117 (-4.1%)
Mutual labels:  graphql
Awesome Angular Graphql
A curated collection of resources, clients and tools that make working with `GraphQL and Angular` awesome
Stars: ✭ 119 (-2.46%)
Mutual labels:  graphql
Wp Graphql Yoast Seo
This is an extension to the WPGraphQL plugin for Yoast SEO
Stars: ✭ 120 (-1.64%)
Mutual labels:  graphql
Livepeerjs
JavaScript tools and applications that interact with Livepeer's smart contracts and peer-to-peer network
Stars: ✭ 116 (-4.92%)
Mutual labels:  graphql
Springboot Restful Angular
springBoot,restful,jwt,angular4 搭建的前后端分离后台管理系统
Stars: ✭ 121 (-0.82%)
Mutual labels:  graphql
Client Side Graphql
Stars: ✭ 119 (-2.46%)
Mutual labels:  graphql
Graphql Mode
An Emacs mode for GraphQL
Stars: ✭ 120 (-1.64%)
Mutual labels:  graphql
Universal React Apollo Example
Universal React Apollo App (GraphQL) consuming: https://github.com/WeLikeGraphQL/wordpress-graphql-api-example!
Stars: ✭ 117 (-4.1%)
Mutual labels:  graphql
Server
Framework NodeJS for GraphQl
Stars: ✭ 118 (-3.28%)
Mutual labels:  graphql
Graphql Directive Auth
GraphQL directive for handling auth
Stars: ✭ 120 (-1.64%)
Mutual labels:  graphql
Autograph
A GraphQL Client in Swift
Stars: ✭ 117 (-4.1%)
Mutual labels:  graphql
React Graphql Github Apollo
🚀 A React + Apollo + GraphQL GitHub Client. Your opportunity to learn about these technologies in a real world application.
Stars: ✭ 1,563 (+1181.15%)
Mutual labels:  graphql
Flask Graphene Sqlalchemy
A demo project for Flask + GraphQL (With Graphene & SQLAlchemy)
Stars: ✭ 117 (-4.1%)
Mutual labels:  graphql
Graphene Gae
GraphQL Support for Google AppEngine [DEPRECATED - Looking for maintainers]
Stars: ✭ 119 (-2.46%)
Mutual labels:  graphql
Graphql Typed Document Node
An improved version of `DocumentNode` for seamless TypeScript integration for GraphQL.
Stars: ✭ 122 (+0%)
Mutual labels:  graphql
Deploy Strapi On Aws
Deploying a Strapi API on AWS (EC2 & RDS & S3)
Stars: ✭ 121 (-0.82%)
Mutual labels:  graphql
Hypergraphql
GraphQL interface for querying and serving linked data on the Web.
Stars: ✭ 120 (-1.64%)
Mutual labels:  graphql

gql-dart/gql

MIT License PRs Welcome Watch on GitHub Star on GitHub Watch on GitHub Discord

This is an effort to advance the Dart GraphQL ecosystem.

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

Packages

Core

The core of this project is the GraphQL parser which parses GraphQL strings into an AST. The parsed AST can then be transformed, visited and printed back to GraphQL string.

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

Code generation

GraphQL language enables code generation to speed up development and move document processing to build-time.

We provide code builders to generate Dart source code and file builders which easily plug into standard Dart code generation pipeline.

Ideas for future work:

  • Typed resolvers for field resolution on the client or server
Pub Package Library Description
version package:gql_code_builder Various builders
version package:gql_build File builders

Client

To enable development of GraphQL clients, we provide type definitions used to execute GraphQL operations. They include AST-based operation, request with per operation context, and response. These types are used by the Links.

Link is the current client implementation. Link is GraphQL AST-aware request/response middleware. They can be used to build a pipeline to deduplicate requests, conditionally transform requests and responses (including the context), and eventually send the requests to the server.

Ideas for future work:

  • websocket link for subscriptions
  • batched request HTTP link
  • retry link to handle network issues transparently
  • link for client-side request resolution
Pub Package Library Description
version package:gql_exec gql_exec.dart Implementation of types for GraphQL requests and responses
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

Examples

Pub Package Library Description
version package:gql_example_cli Example usage in a CLI environment
version package:gql_example_flutter Example usage in a Flutter environment

Users

Project Description
artemis Build dart types from GraphQL schemas and queries (using Introspection Query).
graphql A stand-alone GraphQL client for Dart, bringing all the features from a modern GraphQL client to one easy to use package.
graphql_flutter A GraphQL client for Flutter, bringing all the features from a modern GraphQL client to one easy to use package.
normalize Normalization and denormalization of GraphQL responses in Dart
ferry GraphQL Client for Dart
graphql_server Base package for implementing GraphQL servers.
graphql-to-dart generate dart classes and respective JsonSerializable transcoders (npm package)
major_graphql generate built_value classes and serializers with pub build (successor of graphql-to-dart)
gql_dio_link Similar to gql_http_link, A GQL Terminating Link to execute requests via Dio using JSON
Your project? Open a PR to add it to this readme!

Contributing

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

Community contributions are welcome.

multipack

This repo uses multipack. To activate it run the following command.

pub global activate multipack

multipack provides a simple way of running commands in multiple packages at once. It builds a directed graph of packages to run commands in topological order.

Link all local packages by running

multipack pubspec override

Get all packages by running

multipack pub get

Clean up the pubspec file before publishing

multipack pubspec clean

See more usage examples in .github/workflows/dart.yml.

Features and bugs

Please file feature requests and bugs at the GitHub.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].