Tanka GraphQL library (TGQL)

Build Status

Features

  • Execute queries, mutations and subscriptions
  • Validation (new implementation in v0.3.0)
  • SignalR hub for streaming queries, mutations and subscriptions
  • ApolloLink for the provided SignalR hub
  • Apollo GraphQL WebSockets (apollo-link-ws) compatible web socket server (since v0.8.0)

Feeds

Beta

Release

Both beta and release packages are available from NuGet and NPM

Nuget (with prereleases) Nuget

npm npm

Install

dotnet add tanka.graphql
dotnet add tanka.graphql.server

npm install @tanka/tanka-graphql-server-link

Sample

See Sample

Develop

Run dev harness

This repo includes a sample application which is used for testing and development of the SignalR client and the server.

Open the tanka-graphql.sln and start the graphql.dev.chat.web project. This will start a simple chat server using the tanka.graphql.server.

Start the client by following instructions below:

# Install dependencies
src\graphql.server.link> yarn install

# Link the server-link
src\graphql.server.link> yarn link

# Watch for source changes and recompile the link
src\graphql.server.link> yarn watch

# Install dependencies
dev\graphql.dev.chat.ui> yarn install

# Use the linked server-link
dev\graphql.dev.chat.ui> yarn link @tanka/tanka-graphql-server-link

# Watch for source changes and recompile the sample
dev\graphql.dev.chat.ui> yarn start

Run benchmarks

src\graphql.benchmarks> dotnet run --configuration release --framework netcoreapp22