GraphQL LanguageService 3.0.0 Roadmap
- Dominant language
- TypeScript
- Stars
- 16.9k
- Forks
- 1.9k
- Avg merge
- 22h 45m
- Merged PRs (30d)
- 70
Description
With monaco, we can start working more directly with our complete Language Server Protocol library (GraphQLLanguageService in interface), which can be consumed by everyone on the web and in their IDE.
Introducing monaco will require some underlying changes to the languageservice, as well as introducing LSP spec language features.
## Package Re-organization
- `graphql-languageservice` (new) - a glue package for interface and types. meant to re-create the pattern of other vscode LS packages. [More details](https://github.com/graphql/graphiql/issues/1404)
- `graphql-language-service-interface`
- `graphql-language-service-parser`
## TODO
- [X] convert to TS
- [x] Symbols
- [x] interfaces implementing interfaces
- [x] Go To Definition (single document)
- [ ] Go To Definition (full workspace)
- [ ] Find References
- [ ] Go To Reference
- [ ] Plugins in the interface?
- [ ] Adopt upcoming 15.0.x features
- [ ] Replace `@babel/parser` with a language agnostic parser for `gql` template tags and other configurable patterns.
- [ ] Universal file system
- [x] Universal config, graphql-config?
Contributor guide
Assessment
This issue has not been assessed yet.