graphql / graphql/graphiql

GraphiQL 2.0 Roadmap: What's in progress, What's Next?

Open
#1,683 0 comments 17 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
16.9k
Forks
1.9k
Avg merge
22h 45m
Merged PRs (30d)
70

Description

## Completed/In Progress Initiatives

### redesign & new componentry:
- redesign discussion: #978
- new UI components using `theme-ui`, `storybook`: #1157

### [`monaco-graphql`](/graphql/graphiql/blob/main/packages/monaco-graphql/) - almost all required features are supported.
- [x] validation
- [x] completion support
- [x] formatting with prettier
- [x] basic hover support
- [x] schema management
- [x] supports SDL
- [x] add schema driven definition lookup
- [ ] add symbols support
- [ ] add variables validation support
- [ ] add variables completion support

### [graphiql 2 context RFC](/graphql/graphiql/blob/main/packages/graphiql-2-rfc-context/)
- rewrite for context, hooks, almost entirely functional components
- i18n
- monaco graphql, prettier
- new components / redesign adopted
### why context is not great
- context RFC is good for reference, but not for performance
- context providers are designed to provide unnecessary component renders
- context does not provide the flexibility we need for plugins and high throughput events (`onOperationChange`, etc)
- context is fine for global properties that change infrequently - theme, some user settings, etc.

## What's Next: RFC Phase
**Please submit alternative implementations to Context**! - the 2.0 context RFC is a great starting point for implementations with an alternative state management approach.

Just fork it, move it to a new directory and rewrite the context implementation for any alternative state managers.

## Todo

More details to be added to this issue:

- GraphiQL 2 State Manager RFC Spec
- GraphiQL 2 SDK Initiative
- GraphiQL Working Group RFC Demos/Review Calendar

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.