Skip to content
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

GraphiQL Next path proposal #3874

Open
3 of 12 tasks
dimaMachina opened this issue Mar 6, 2025 · 1 comment
Open
3 of 12 tasks

GraphiQL Next path proposal #3874

dimaMachina opened this issue Mar 6, 2025 · 1 comment

Comments

@dimaMachina
Copy link
Collaborator

GraphiQL Next path proposal

Hi, I am one of the current GraphiQL maintainers, and I’m excited to share the future GraphiQL 4 and 5 proposal, which will introduce:

  • Migration to Zustand for state management (replacing React context)
  • Migration to Monaco-Editor/Monaco-GraphQL (replacing CodeMirror)

These versions will be released sequentially. Below is the detailed roadmap:

GraphiQL 3.x (GraphiQL x Vite/React 19)

  • Migrate to Vite (Done in #3826, pending release)
  • Compile GraphiQL source code (Done in #3826, pending release)
  • Support React 19
    • Upgrade @headless/react to v2 in graphiql-react

GraphiQL 4 (GraphiQL x Zustand)

  • New tab design (Merged in v4 alpha, visible in GraphQL Hive)
  • Extract plugins into separate packages (issue #2904):
    • Explorer plugin
    • History plugin
  • Migrate from React context to Zustand (issue #2904)
  • Ensure all tests pass

GraphiQL 5 (GraphiQL x Monaco)

  • Migrate to Monaco-Editor/Monaco-GraphQL (I did POC in 2023 in #3234)
  • Ensure all tests pass

Feel free to ask any relevant questions. The GraphQL TSC have indicated that if we're all in agreement they will approve my grant to work on this.

Let's get this built!

Dimitri

@acao
Copy link
Member

acao commented Mar 6, 2025

Looks good to me, just like we decided on last year. Let me know if you need any help reviewing anything!

This rewrite for v4 branch takes care of the entire core zustand state, the only bug I had was with persistence (if you comment out the persist middleware it works great )

thanks, @dimaMachina !

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

No branches or pull requests

2 participants