This applies to graphql-language-service-server, vscode-graphql which will soon be merged with this monorepo, and many other IDE plugins who often utilize graphql-language-service-cli via python, lua, java, etc.
Suggestions are welcome in the comments, if you want to nominate any bugs, feature requests here or in vscode-graphql, or create an RFC and suggest one, please feel free to!
[ ] workspaces support related issues - load graphql-config from workspace root? vscode-graphql may need proper handling of workspaces + graphql-config projects as well.
[ ] dotenv issues (currently the workaround is to import dotenv directly in graphql config files)
[ ] Windows paths, replace URL().basename approach with vscode-uri for vscode uri string parsing
if a user provides documents in config, then that is what triggers graphqlConfig.getDocuments() currently. we also call this excessively. there are many duplicates of this
šÆ new features
when adding changes to getAutocompleteSuggestions and other parts of graphql-language-service-interface, monaco-graphql will benefit!
[ ] minimal schema-less support for all language features possible
[ ] š„ breaking change: new major version of interface modules that accepts object parameters to make it easier to deprecate and provide alternatives such as documentAST input and new config and APIs
[x] š„ breaking change: graphql-language-service-interface, -types,, -parser and -utils should all be merged into the single graphql-language-service.
[ ] leave some waypoint for direct users of the -interface methods and other packages, for example a warning on install for the final release of these packages as they are deprecated. otherwise they will miss out on new features. a great example of one of our direct users of getAutocompleteSuggestions is postwoman!
[x] allow disabling validation in the language server or vscode-graphql: graphql/graphiql#2363
[ ] support vue, svelte for syntax highlighting at least
[ ] autocomplete field names for types/interface when using implements
[ ] jump to source field name on implemented interface fields
[ ] jump to definition for query fields and arguments
[ ] getDiagnostics should allow an option for schema validation, or detect whether schema types are present to provide additional schema validation rules, or gather errors from graphql-jsvalidateSchema
[ ] graphql-language-service-server should send the lsp client instructive notifications about graphql-config - when it's detected, and when it's not, or when there are issues.
[ ] vscode-graphql should be configured to handle these notifications accordingly
[ ] additional language support - vscode-graphql grammars and in graphql-language-service-server for completion, diagnostics, etc
this is a complicated feature but it deserves prioritization!
[ ] TODO track down any new spec features that need to be implemented
[ ] investigate usage of notebooks API
š¤ merge vscode-graphql with graphiql monorepo
[x] create issue menu & forms with options for reporting IDE vs web bugs/enhancement requests
[x] migrate issues
[x] migrate PRs
[x] migrate github actions & other automation
š refactors
[ ] refactor the language server to use graphql-tools and graphql-config completely, and replace parseDocument entirely with CodeFileLoader or a custom loader if needed.
[ ] refactor the extension client to make it easier to build behavior around graphql-config
The next chapter now that 2021/2020 LSP Roadmap is complete
This applies to
graphql-language-service-server
,vscode-graphql
which will soon be merged with this monorepo, and many other IDE plugins who often utilizegraphql-language-service-cli
via python, lua, java, etc.Suggestions are welcome in the comments, if you want to nominate any bugs, feature requests here or in
vscode-graphql
, or create an RFC and suggest one, please feel free to!š fixing bugs
/* GraphiQL */
tag doesn't work for highlighting invscode-graphql
(link to PR)graphql-config
from workspace root?vscode-graphql
may need proper handling of workspaces + graphql-config projects as well.vscode-uri
for vscode uri string parsingdocuments
is used (there are many duplicates)documents
in config, then that is what triggersgraphqlConfig.getDocuments()
currently. we also call this excessively. there are many duplicates of thisšÆ new features
when adding changes to
getAutocompleteSuggestions
and other parts ofgraphql-language-service-interface
,monaco-graphql
will benefit!graphql-language-service-interface
,-types,
,-parser
and-utils
should all be merged into the singlegraphql-language-service
.-interface
methods and other packages, for example a warning on install for the final release of these packages as they are deprecated. otherwise they will miss out on new features. a great example of one of our direct users ofgetAutocompleteSuggestions
is postwoman!vscode-graphql
: graphql/graphiql#2363insertText
for completion of object and list fields https://github.com/graphql/graphiql/issues/587implements
getDiagnostics
should allow an option for schema validation, or detect whether schema types are present to provide additional schema validation rules, or gather errors fromgraphql-js
validateSchema
graphql-language-service-server
should send the lsp client instructive notifications aboutgraphql-config
- when it's detected, and when it's not, or when there are issues.vscode-graphql
should be configured to handle these notifications accordinglyvscode-graphql
grammars and ingraphql-language-service-server
for completion, diagnostics, etcTODO
track down any new spec features that need to be implementedš¤ merge
vscode-graphql
withgraphiql
monorepoš refactors
graphql-tools
andgraphql-config
completely, and replaceparseDocument
entirely withCodeFileLoader
or a custom loader if needed.graphql-config
š» e2e suite for
vscode-graphql
using https://github.com/microsoft/vscode-extension-samples/tree/main/lsp-sample as a fantastic point of reference:
schema
config combinationsāļø automation
open-vsx
publish forvscode-graphql
vscode-graphql
graphql.vscode-graphql-insiders
(vsce
also seems to support pre-release flag now?)