GraphiQL Plugins (2.0.0-beta.0) Meta Issue
- Dominant language
- TypeScript
- Stars
- 16.9k
- Forks
- 1.9k
- Avg merge
- 22h 45m
- Merged PRs (30d)
- 70
Description
This is a meta-issue for the GraphiQL IDE plugins effort, towards the [GraphQL 2.0.0 beta milestone](https://github.com/graphql/graphiql/milestone/1)
(Note: this was previously marked as` graphiql@1.0.0-beta`, however we decided that `graphiql@1.0.0` should be the last officially stable release **before** merging all of these breaking changes)
## :construction_worker_woman: Work In Progress
Preceding initiatives that already have merged or in-progress PR(s)
(will try to keep this updated, but projects listed here are your best bet)
Get involved or ask questions via our [discord channel](https://discord.gg/fHje6QG)
- [x] **React Context Refactor** - #1468 - this is essentially the Plugin RFC API
- [x] **Add Monaco to GraphiQL** - acao/graphiql/pull/17 - yep you read it! replacing codemirror with monaco, merging it to #1468 when it's ready!
- [x] **New GraphiQL Components/Theme/Layout System** - @walaura did some excellent work setting up new components and a system for themeing and layout, if anyone wants to help her advance this effort they are more than welcome! See `packages/graphiql/src/new-components` for more details and readmes. Will add more proposal spec for components to add soon!
## :world_map: Dependent Roadmaps
These are roadmaps that will see to the introduction of a stable plugin API for GraphiQL 2.0.0. All of these are in progress.
See the visual roadmap here! https://miro.com/app/board/o9J_ktmGZck=/
- **GraphiQL 2.0.0-beta Roadmap** - #1446
- **Baseline Monaco Mode** - #1445 ([Demo](https://deploy-preview-1459--graphiql-test.netlify.com/monaco))
- **LSP 3.0.0-beta Roadmap** - #1447
## :clipboard: Github Projects
These are where most of the work is organized. Issues and cards that often become issues. An issue might belong to two projects.
- [**Feature Roundup**](https://github.com/graphql/graphiql/projects/10) - organize requested features into core/contrib/etc, proof out new ones as cards that become issues
- [x] [Webpack Takeover](https://github.com/graphql/graphiql/projects/7) - replace browserify with webpack, modernize babel, add esm exports, and more!
- [x] [**Convert to Typescript**](https://github.com/graphql/graphiql/projects/9) - completed except codemirror mode, which will not be used for this effort.
- [x] [**GraphiQL Context API Refactor**](https://github.com/graphql/graphiql/projects/4) (**in progress**): replace state implementation with context or another state management system, introduce replacement/new API interfaces.
- [x] [**Monaco GraphQL first release**](https://github.com/graphql/graphiql/projects/14) (**in progress**): create a monaco mode that satisifies most baseline criteria, and change/refactor LSP as necessary
- [x] [**Component Library and Layout Ecosystem**](https://github.com/graphql/graphiql/projects/11)
- [ ] [**Complete Plugin API Spec**](https://github.com/graphql/graphiql/projects/12) - need to add to this! A catch-all project for discussion/RFCs/spec proposals
## :speech_balloon: Discussions
These discussions will need to be turn into proposals/RFCs. In the case of the first discussion, it could lead to dozens of RFCs.
- **Interface for a GraphiQL plugin** - #829 - Plugin API interface discussion
- **Redesign for Plugins** - #978 - new full-fledged UX Design re-work via @orta!
- **Editor and Documentation Accessibility** - #954 - essential that new redesign is accessibility first, and that `graphiql@2.0.0` stable is as accessible as it's dependencies allow.
## :bulb: Proposals
These proposals need to be advanced, as well as any issue labelled `potential plugin` needs to either be closed and associated with a proposal, or turned into a full proposal/RFC.
- [**Working Plugin API Proposal**](https://www.notion.so/GraphiQL-Plugins-Proposal-Working-Draft-22bf76c9ead4400483b4827afe2b4976) (NotionHQ document) - open for comment! This will be reviewed at the April GraphiQL working group meeting.
- **API Breakages** - #1165 - Proposed API breakages, many of which are already present in `graphiql@2.0.0-alpha.2`
- **Your proposals!** - Please provide PRs and issues, and we will track them with the GraphiQL Plugin Spec project. Templates coming soon.
Note: Projects prefixed with ! are for organizing purposes, where the lanes don't represent states (such as features roundup)
Contributor guide
Assessment
This issue has not been assessed yet.