Skip to content

Playground feature parity #3951

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
7 tasks
martinbonnin opened this issue May 15, 2025 · 1 comment
Open
7 tasks

Playground feature parity #3951

martinbonnin opened this issue May 15, 2025 · 1 comment

Comments

@martinbonnin
Copy link

This is a follow up from graphql/graphql-wg#1648. The current situation of having 2 different IDEs is confusing. Playground hasn't had much activity lately and it'd be grand to consolidate everything in GraphiQL.

That being said, as a Playground user, there are several aspects that I like better there and I'm curious what the team thoughts are about them.

The full context is in graphql/graphql-wg#1648 but the most important ones are:

  • Copy as curl
  • SDL/JSON download
  • Editable endpoint url
  • Multi column schema doc
  • Search the docs
  • Maybe schema polling? (I would have expected this to be available but didn't find it)
  • Settings editor

This is all from a cursory look of comparing the sample index.html (playground, graphiql). It may very well be that GraphiQL has all those features but that they require more configuration, it which case, some better defaults would be very welcome.

Any thoughts?

@jonathanawesome
Copy link
Collaborator

  • Controls
    • Copy as curl
      • We should be able to get something done here quickly if a Toolbar button is acceptable. I suppose we don't have all of the header information from the fetcher, but we could work around that.
  • Schema
    • SDL/JSON download
      • We don't have a screen that displays the schema (like Playground) so this control would be out-of-context unless we build additional UI around it. Still, should be as possible as the copy as curl request.
    • Editable endpoint url
      • This doesn't quite fit into the current layout. We'd have to wrap the entire app, as is, with another set of tabs that connect to different endpoints. Genuinely curious how often you use this feature in Playground. Is it primarily for dev/prod/staging comparisons, or are you connected to unrelated endpoints in the same Playground session?
    • Multi column schema doc
      • As above, this won't fit well into the current layout very well. In Playground, the docs are above the IDE such that they're allowed to expand when necessary. In GraphiQL they're limited to the left column. Sure, there's a handle for changing the size, but we wouldn't want to do that automatically like Playground does.
    • Maybe schema polling? (I would have expected this to be available but didn't find it)
      • I previously did a load of thinking around this as part of the Pathfinder project. I was never a fan of Playground's implementation, as there's no prompt to overwrite the schema in state with the new one when it is detected. We should consider carefully how we'd like this to work in GraphiQL
  • Search the docs
    • Cmd+K is already implemented in Docs. It's not hyper robust, but definitely searchable!
  • Settings editor
    • There's only a small number of global settings currently in GraphiQL compared to Playground. As GraphiQL expands and settings are added, I imagine many of them would be editor/pane specific.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants