graphql / graphql/graphiql

GraphQL LanguageService 3.0.0 Roadmap

Open
#1,447 1 comment 0 reactions 0 assignees View on GitHub
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

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.