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

Tools & Open Source

protographql

Check out ProtoGraphQL, a prototyping tool that helps developers build and visualize GraphQL schemas and queries without writing any code. Users can input their relational database tables and ProtoGraphQL will dynamically create a customized and functional GraphQL Apollo Server that is readily available for export.

Tools & Open Source

gest

gest is a simple tool that allows you to edit and test your GraphQL schema locally without restarting the development server. The package can run queries from your local files and provide some useful introspection. This repo is in its early stages, but gest plans on adding query autocompletion in the near future!

Tools & Open Source

Introducing GraphiQL Explorer 2.0

Introducing GraphiQL Explorer 2.0! Check out the new visual updates to schema fields and the multi-operation support that allows for multiple queries, mutations, and subscriptions simultaneously. Learn more about additional features in the sample GraphiQL playgrounds available in the article.

Urql, Grown Up

This blog post announces the newest features of the minimalist GraphQL client urql. Urql provides a way to customize and augment your GraphQL client, from how data is cached to how components receive data. The post includes their motivations for the project and details how they rebuilt the core of the library.

graphql-user

Graphql-user is a simple library providing reusable functions to help add authentication to your GraphQL API. This package is powered by bcrypt and jsonwebtoken.

Tools & Open Source

Introducing Apollo Federation

Introducing the Apollo Federation! A new architecture for building a distributed graph, designed to replace schema stitching and solve pain points such as coordination, separation of concerns, and brittle gateway code. The article features quickstarts from setting Federation up with Apollo Server to federating a graph with multiple services.

graphql-query-rewriter

GraphQL Query Rewriter is a tool that provides a seamless way to rewrite deprecated queries using middleware. This allows you to conform to new schemas on the fly and avoid awkwardly renaming deprecated fields. Now your schema is clean and up to date, and deprecated clients keep working!

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.