Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vscode-graphql, LSP, IDE Roadmap 2022 #2062

Open
16 of 51 tasks
acao opened this issue Nov 26, 2021 · 2 comments
Open
16 of 51 tasks

vscode-graphql, LSP, IDE Roadmap 2022 #2062

acao opened this issue Nov 26, 2021 · 2 comments
Labels

Comments

@acao
Copy link
Member

acao commented Nov 26, 2021

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 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!

🐛 fixing bugs

💯 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
  • 💥 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!
  • allow disabling validation in the language server or vscode-graphql: Feature - Option to disable "validate against schema" #2363
  • support insertText for completion of object and list fields Wrap auto-completed list input values with square brackets if required #587
  • 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-js validateSchema
  • 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

  • create issue menu & forms with options for reporting IDE vs web bugs/enhancement requests
  • migrate issues
  • migrate PRs
  • 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

💻 e2e suite for vscode-graphql

using https://github.com/microsoft/vscode-extension-samples/tree/main/lsp-sample as a fantastic point of reference:

  • test harness
  • diagnostics
  • completion
  • all supported schema config combinations
  • test configuration options
  • run in CI
  • test extension client behaviors

⚙️ automation

  • fix open-vsx publish for vscode-graphql
  • deploy previews for vscode-graphql
  • canary releases to graphql.vscode-graphql-insiders (vsce also seems to support pre-release flag now?)
@acao acao added roadmap lsp-server graphql-language-service-server vscode-graphql labels Nov 26, 2021
@acao acao pinned this issue Nov 29, 2021
@acao acao changed the title vscode-graphql, LSP, IDE initiative Pt 2 vscode-graphql, LSP, IDE Roadmap 2022 Feb 2, 2022
@acao
Copy link
Member Author

acao commented Mar 9, 2022

@timsuchanek here is the pinned LSP roadmap ticket!

@timsuchanek
Copy link
Member

Thanks @acao !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants