You can now interact with dependency-management-data using GraphQL

Featured image for sharing metadata for article

When I first started working on dependency-management-data, I wanted to hold off creating an API for the data until I really understood how it'd be used. I instead focussed on improving the database layer, focussing on the actual data, and understanding what was commonly queried, leading to the web application for DMD that provided an SQL frontend using Datasette.

Towards the end of my time at Deliveroo, we were starting to understand some of the common usecases we had for the data, and were starting to look at making it possible to take dependency-management-data and integrate it with some of our other internal systems, which required we add an API on top of it.

We decided that a GraphQL API was the best way to do this, so raised an issue for it and hoped that we'd get around to it at some point. A couple of weeks later, my excellent (now ex-)colleague Keith had already made some great progress with it.

It's taken a bit of back-and-forth - not helped at least with the speed that I've been making changes to dependency-management-data, inflicting several breaking changes and new datasources that have made landing the Merge Request a bit of a moving target - but as of tonight in the v0.61.0 release, we now have support for GraphQL πŸ‘πŸΌ

You can check out the schema documentation on the documentation site and play with the GraphQL playground on the example application.

As well as the existing dmd-web command that adds a /graphql route, you can also use the new dmd-graph CLI to run just the GraphQL API.

Note that until support is added, there's no authentication or authorization support, so beware running it as an internet-facing application.

I look forward to hearing about any use-cases you've got that this enables, as well as any other features that'd be useful aside from those already on the issue tracker.

Written by Jamie Tanna's profile image Jamie Tanna on , and last updated on .

Content for this article is shared under the terms of the Creative Commons Attribution Non Commercial Share Alike 4.0 International, and code is shared under the Apache License 2.0.

#dependency-management-data #graphql.

This post was filed under articles.

Interactions with this post

Interactions with this post

Below you can find the interactions that this page has had using WebMention.

Have you written a response to this post? Let me know the URL:

Do you not have a website set up with WebMention capabilities? You can use Comment Parade.