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

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.

Tools & Open Source

The New GraphCMS is Ready for Launch!

Created almost a year ago, GraphCMS aims to bring 10x value to businesses and enterprises by creating the most developer friendly content API on the planet. In this announcement Jesse Martin sheds light on the new revamped GraphCMS from the new User Experience, Security Features, Webhook apis and more. With a fresh new set of features and performance increases, the next era of what a content management system can be, has begun.

FlacheQL/FlacheQL

FlacheQL is a fast caching library for GraphQL. While GraphQL clients like Apollo and Relay allow caching at the field level, FlacheQL allows users to retrieve cache results based on search parameters. This library has minimal setup and customization around retrieving data from your cache either by field or parameter options.

Tools & Open Source

Canner/canner

Canner is a universal CMS framework based on React. It is extremely flexible in terms of the data sources it can adopt and works with GraphQL as well as with REST. It also features out-of-the-box support for Prisma.

Tools & Open Source

Introducing GraphQL for Visual Studio Code

Thanks to GraphQL's strong type systems, code editors and IDEs are able to notably improve your GraphQL development workflows. This new VS Code Plugin is aware of your GraphQL schema(s) and therefore helps you with intelligent autocompletion, jump-to-definition, static error checking, query validation and a lot more. Just install it from the official VS Code marketplace to get started.

The GraphQL Stack, explained

As the GraphQL ecosystem grows and matures, it can be difficult to keep track of the various tools and how they fit into your stack. Steve Mercatante created a nice visual overview to put the most popular GraphQL tools into context.

Tools & Open Source

confuser/graphql-constraint-directive

The graphql-constraint-directive library allows to declare certain restrictions on your GraphQL fields to validate input fields. It uses the @constraint directive and is inspired by the Constraints Directives RFC as well as OpenAPI.

Volst/prisma-auth

If you're using Prisma as your data access layer to connect your API server to your database, you might wonder how to properly implement several authentication features like signup, login, email confirmations, user invites, changing/resetting passwords. This library, written by Kees Kluskens, takes an opinionated approach for authentication and provides lots of utility functions you probably want to have in your app. Definitely check it out if you're building GraphQL servers with Prisma.

Tools & Open Source

GraphQL + TypeScript = TypeGraphQL

When developing GraphQL servers with TypeScript, you constantly need to ensure that your TS definitions are in sync with the ones of your GraphQL schema. TypeGraphQL (by Michał Lytek) addresses this issue by having only one source of truth: The GraphQL schema is defined via classes and a bit of decorators help. Additional features like dependency injection, validation or auth guards help with common task that otherwise would require lots of manual work. Definitely a tool to consider if you're using TypeScript for building a GraphQL server.

The next generation of schema stitching

The latest 3.0 release of the graphql-tools library comes with lots of improvements for schema stitching functionality, making it easier than ever to compose multiple GraphQL APIs. Check out this article to learn about the new possilibities.

Tools & Open Source

Strapi introduces GraphQL 🎉

The open-source content management framework strapi just announced that it will now also be possible to query their generated APIs via a dedicated GraphQL layer. The corresponding GraphQL API provides everything you need: CRUD operations, filters, permissions and the possibility to customize the generated GraphQL schema. This is a game-changer for many content creators.

braposo/figma-graphql

Bernardo Raposo who recently already built the awesome graphql-css library now created another tool bridging the gap between design and GraphQL tooling. figma-graphql is a GraphQL connector for the Figma Web API.

Tools & Open Source

graphcool/graphql-import-loader

Organizing your <code>.graphql</code>-files in JavaScript can be a pain. Thanks to the <code>graphql-import-loader</code>, they can now easily be loaded into your application with Webpack.

Tools & Open Source

maticzav/graphql-shield

Matic Zavadlal has created a nice little library to secure GraphQL servers: "GraphQL Shield helps you create permission layer for your application. The idea behind it is to separate the permission logic from your application logic. This way you can you can make sure no request will ever be resolved if it wasn't meant to be."

LawJolla/prisma-auth0-example

Another approach to implement permissions in your GraphQL server is by using custom directives right inside your GraphQL schema definition. Check out this example by Dennis Walsh to learn more.

Tools & Open Source

A GraphQL client library for Go

Mat Ryer introduces a new GraphQL client library for the Go programming language. It "aims to provide the bare bones of what a Go programmer would need in order to start consuming GraphQL services, without bloating into a complicated package".

smooth-code/graphql-directive

GraphQL can be extended by using custom directives, either in the SDL or used in actual queries and mutations. While only two directives (include and skip) are part of the official specification, this neat package developed by Greg Bergé now provides a great API for anyone to include and resolve custom directives in their own GraphQL code.

Tools & Open Source

graphcool/graphql-yoga

graphql-yoga is a library for building GraphQL servers. It is based on a variety of other tools, like express, graphql-tools, apollo-server and graphql-subscriptions. graphql-yoga focusses on easy setup, performance and a great developer experience. Check out the examples here.

graphcool/graphql-import

This new tool allows you to compose your .graphql-files by introducing an import feature for them. GraphQL tooling is constantly evolving and this implementation is one of the first ones pushing on the idea of schema import. It's your chance to get involved in the GraphQL community, check it out and leave some feedback!

Tools & Open Source

alechp/graphql-query-factory

The GraphQL Query Batcher, an interesting project by Alec Hale-Pletka, allows you to easily create and batch GraphQL queries and mutations. This is especially great if you're using similar queries with different variables or for other use cases like testing.

Relay DevTools for Chrome

A new version of the Relay DevTools Chrome Extension has been released, it supports up to Relay v1.4.

Introducing GraphQL Playground

GraphiQL is an amazing tool that lets you explore your GraphQL API in an interactive manner. Last week, the Graphcool team took GraphiQL to a new level, building a fully-featured GraphQL IDE on top of it: GraphQL Playground! Some of its top features are:
• Sharing queries and mutations
• Code generation, e.g. for Apollo Client
• Improved API documentation
An indispensable asset in every GraphQL developer's toolbox!

Tools & Open Source

What’s coming in Apollo Client 2.0

Apollo Client 2.0 is just around the corner! In this article, James Baxley teases the new features and explains how you can get started with the new Apollo Client version today.

klud1/graphql-docker-api

Pierre Ugaz created a GraphQL server for the Docker API, written in Go. The project is still very young but certainly something to keep an eye on in the future!