/graphql-network

Chrome Devtool that provides a "network"-style tab for GraphQL requests to allow developers to debug more easily.

Primary LanguageJavaScript

graphql-network

Chrome Devtool that provides a "network"-style tab for GraphQL requests to allow developers to debug more easily.

Get it here

Why?

GraphQL is fantastic but if you're using GraphQL you've probably bumped into how horrible it is to monitor requests via the network tab:

Which one do I click?

How do I read that?

GraphQL network allows you to actually monitor and debug network requests again, just like the good old days.

What does it do?

  • Gives you a concise list of all GraphQL requests that have been sent. Easy to track what you're requesting.
  • Gives you a raw view of the string of GraphQL being sent.
  • Gives you a computed view of the request as your server will interpret it. So it's easy to debug fragments.
  • Displays a nicely formatted response.

Screenshots

Looking through GraphQL requests.

Easy to navigate list

Viewing the Raw Query

Post Body

Viewing the Computed Query

Computed Fragments

Viewing the Response

Response Data

I want to give it a try but don't have a GraphQL app

After installing the app, why not head over to GraphQLHub.

Troubleshooting

Not Picking Up Requests

Because of the way Chrome Devtool extensions work, you'll need to have the GraphQL tab open at the time the request is made in order for it to be displayed, it won't pick up requests in the background.

Additionally, the extension will only pick up requests that send the Content-Type header with:

  • application/graphql
  • application/json where the GraphQL query is in an object parameter called query
  • application/x-www-form-urlencoded where the GraphQL query is in a parameter called query

Since GraphQL is fairly new, consensus hasn't exactly been reached on the best way to make queries, if you think another way should be supported, send a PR or open an issue.

Request is being listed as a "GraphQL Error"

It's likely that your GraphQL is invalid. If you've double checked this, open up an issue.

Request is being listed as an "Internal Error"

It's likely that there's a bug in the extension. Open an issue.

Contributing

Hacking on the extension is really easy.

  • Clone the repo
  • npm install
  • Make your changes
  • webpack in the top-level directory.
  • Load it into chrome://extensions in the normal way.

Roadmap

  • Redo approach to CSS. Haven't yet had time to implement something proper.
  • Include variable digestion.