Giter Site home page Giter Site logo

graphql-network's Introduction

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.

graphql-network's People

Contributors

antono avatar dependabot[bot] avatar drdator avatar ghirro avatar madzhup avatar ntziolis avatar panshadow avatar skoch-tf avatar steevsachs avatar tylercrompton avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

graphql-network's Issues

Support batched queries

Anyone who's using apollo-client and has enabled batching is going to send requests that have content-type:application/json and a request body that looks like:

[
  { query: <graphql_query1> },
  { query: <graphql_query2> },
  { query: <graphql_query3> },
]

Which this doesn't parse

Unable to install the extension

I use Chrome 60.0.3112.78 (macOS Sierra 10.12.6). This extension doesn't seem to be compatible with Chrome anymore. When I try to install it, after a while I get the following error message:

Could not install package: 'UTILITY_PROCESS_CRASHED_WHILE_TRYING_TO_INSTALL'. Could not install package because a utility process crashed. Try restarting chrome and trying again.

Any tips? Workarounds? @Ghirro

Support form data?

Hi there! I was just trying out this extension but I found that my queries don't show up.

I see there are two ways for it to find queries: POST with a query in the JSON body; or Content-Type=application/graphql. I'm not sure if it's possible, but I'd like my queries to show up, but they work differently.

I'm using jQuery to send AJAX requests, basically like this:

$.post(
  graphqlURL, 
  {
    query: queryString, 
    variables: JSON.stringify(queryVariables)
  },
  responseHandlerFunction
)

By default, jQuery turns the parameters into Form Data, so my network tab looks like this:

image

(The Content-Type is application/json; charset=utf-8)

Is it possible to support this in the extension? Thanks for considering it!

API for getting data from graphql clients?

In analogy to the redux devtools middleware you can add, it would be nice to have something that you can call from the client code so that this extension gets all graphql requests as well as the result data, even when the request is done over websocket or if it was served from cache…

Looking for Collaborators

This project is awesome and dark theme #24 is the only problem I'm running into
but I'm seeing open pull requests and the last update in chrome store was
August 20, 2018

Is this still an active project?
Is there anything we can do to help this along maybe build up a community around it?

Clear button for clearing queries

This is a feature I've been meaning to add for a few months but haven't found the time. Someone has requested it via the Extensions store and I should get round to it in the next few weeks.

It will probably be in line with the Network tab in Chrome's button (which is the philosophy of the product):

screen shot 2016-08-12 at 12 42 36

Move the clear button to the top

When there is a lot of traffic we need to scroll far to get to the clear button at the bottom. It would be nice if it was fixed at the top same as for the regular network tab.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.