A weekly newsletter of the best news, articles and projects about GraphQL

Tools & Open Source

dinoql

DinoQL is a customizable GraphQL style query language for interacting with JavaScript objects (JSON). Use DinoQL to traverse JavaScript objects the same way you query APIs with GraphQL. DinoQL supports aliases, filters, fragments and other native GraphQL functionality.

graphql-codegen

GraphQL Codegen 1.0 is here! GraphQL Code Generator is a CLI tool that generates code out of your GraphQL schema. This package analyzes and parses GraphQL syntax in order to output a wide variety of code formats, typings and even components. GraphQL Codegen includes a set of custom pre-built plugins but also allows extension with your own custom plugins.

Tools & Open Source

graphql-birdseye

Birdseye is a new interactive tool that dynamically visualizes any GraphQL schema. With a bundle size of less than 200KB, this package can easily be added to any React project so you can understand the nodes and connections between your fields or types. To read more on how graphql-birdseye was built and the motivations behind it, see their site.

graphql-flutter

Introducing graphql-flutter, a GraphQL client for Flutter, bringing all the features from a modern GraphQL client to one easy to use package. Inspired by Apollo GraphQL Client, this project combines the benefits of GraphQL with the benefits of Streams in Dart to deliver a high performance client.

Tools & Open Source

graphql-cache

Introducing a Ruby plugin that allows you to implement caching and custom middleware for your GraphQL APIs. Configurable to work with or without Rails, GraphQL Cache integrates caching functionality into the graphql-ruby resolution process.

Tools & Open Source

Strawberry — A new GraphQL library for Python 🍓

Strawberry is a new python GraphQL library, whose initial version has been recently released on Github. To follow the project, you can sign up to get updates on the Strawberry Site.

Super Graph — Instant GraphQL API for Rails

Super Graph is a project that automatically creates a GraphQL API for your database. Written in Go, Super Graph supports Rails authentication and JWT. You can read through the details in the documentation on the site.

Tools & Open Source

poc-graphql

This Repo provides a deep dive into the GraphQL from an application security perspective. The research explores some of the potential weaknesses of a GraphQL API and the ways in which attacks can be executed. The report offers detailed examples, analysis and solutions for common vulnerabilities like injection, resource exhaustion, exposure of private data and more.

Tools & Open Source

Webiny

Webiny is an open-sourced, serverless CMS that uses GraphQL and React. The tool allows you to use separate packages and then wrap in a GraphQL service.

Tools & Open Source

Tartiflette

Tartiflette is a GraphQL engine built on top of Python 3.6 built by Dailymotion. Dailymotion implemented Tartiflette to power development with a schema first approach built on top of the asyncio library. Developers can quickly extend their API and then integrate with any transport layer, JSON RPC, gRPC or, HTTP. The documentation includes an awesome tutorial to help you get started!

Introducing GraphQL Hooks

A new and super lightweight GraphQL client for React. Nearform designed the client with first-class support for hooks and according to the article it's tiny, only 5.2KB (1.9KB gzipped). Graphql-hooks supports SSR, cache plugins, pagination and a bunch more.

Tools & Open Source

deepr

What makes GraphQL so exciting is the ability to compose method calls. Deepr is a specification to achieve this and only this.

Tools & Open Source

GraphQL JIT

An optimization on top of GraphQL-JS, GraphQL JIT generates tiny GraphQL engines for each query that it handles. Any future calls to the API can therefore be processed faster than before. It is an incredibly fast GraphQL engine.

graphql.explore-tech.org

A helpful, open source collection of GraphQL resources, GraphQL explorer contains a variety of GraphQL libraries across different languages. If individuals want to contribute to the over 150 resources now live, they can easily add it to the associated Github Repo.

GraphQLite: GraphQL Library for PHP

GraphQLite is a GraphQL library for PHP. With a goal of making implementing a GraphQL API easier than a REST one for PHP users, the project is currently in beta and seeking feedback. While it is generally PHP agnostic, the creators are working to add framework specific modules. One for Symfony has already been completed.

Tools & Open Source

GraphQL Rate Limit

A helpful new npm package, graphql-rate-limit-directive allows users to quickly limit repeated requests to queries and mutations. Written in TypeScript, it can be applied to both objects and fields, and supports multiple data store options. It represents one option for securing your GraphQL API from malicious queries.

Tools & Open Source

GraphQL Inspector

This is really neat! The folks at The Guild have released a new project: GraphQL Inspector. In their words, "GraphQL inspector is a tool that’s main purpose is to make sure your GraphQL API and all its clients are well developed." Currently set up as a Github application, GraphQL inspector find breaking changes when GraphQL API's are modified, shows unused parts of your Schema, and Validates operations against a GraphQL schema. The best part: it's all free and open source.

Lighthouse

Speeding up GraphQL development with Laravel, Lighthouse is a PHP package that helps Laravel projects get set up with a GraphQL server. You can explore their site or check out their Github to learn more.

Tools & Open Source

GraphQL CLI

A handy open source tool for easier formatting of GraphQL APIs on the command line, the GraphQL CLI allows users to build a query on the command line using flags. Open for contributions, the tool's main use is to help with with experimentation, scripting, and debugging. Check out the Github Readme for more details and how to contribute.

Tools & Open Source

Prime

Currently in alpha, Prime is a standalone, self-hosted, headless CMS with a GraphQL interface powered by TypeScript. Prime allows users to host their CMS locally and comes with a variety of features. While still early in its development, you can check out Prime's docs to see the scope of the offering.

Tools & Open Source

Take a sip of Sangria!

'Take a sip of Sangria' is an example of a GraphQL server written with the Play framework and Sangria. Ever wanted to play around with Sangria and Scala? Take a look at the example repo or just have fun making queries in the embedded playground.

graft

Graft is a ReasonML solution for type-safe querying against an automatic GraphQL backend. Graft helps you set up a Postgraphile backend based on PostgreSQL, Express, and Apollo, and then connect to it using ReasonML on the front end.

graphql-js v14.0.0

Checkout the release notes to the latest version of graphql-js. According to Lee Byron, 'this may be the biggest release of GraphQL.js in years'.

Tools & Open Source

graphql-metrics

graphql-metrics from Shopify is a ruby gem that allows you to instrument your GraphQL server. You can extract tons of interesting metrics which can then be processed to understand the health of you GraphQL server operationally.

Tools & Open Source

GraphQL Middleware - A Library to Simplify Your Resolvers

GraphQL Middleware lets you run arbitrary code before or after a resolver is invoked. A common problem in GraphQL servers is that resolvers often get cluttered with business logic, making the entire resolver system harder to understand and maintain. GraphQL Middleware uses the middleware pattern (well-known from Express.js) to pull out repetitive code from resolvers and execute it before or after one your resolvers is invoked.