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

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.

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.