GraphiQL 2.0 Roadmap: What's in progress, What's Next?
- 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
Assessment
This issue has not been assessed yet.