graphql / graphiql

GraphiQL & the GraphQL LSP Reference Ecosystem for building browser & IDE tools.
MIT License
16.03k stars 1.72k forks source link

Make the VSCode plug-in compatible with https://vscode.dev and https://github.dev #2112

Open FluorescentHallucinogen opened 2 years ago

FluorescentHallucinogen commented 2 years ago

Please make the VSCode plug-in compatible with https://vscode.dev and https://github.dev.

screenshot

More info: https://aka.ms/vscode-web-extensions-guide.

acao commented 2 years ago

This would be great but would be a complex undertaking. As they note, language servers often restrict their functionality immensely.

Any company out there looking to sponsor this work, this is a great starting point https://code.visualstudio.com/api/extension-guides/web-extensions

acao commented 2 years ago

Transfering to the LSP repo as this is more of a language server issue

beingminimal commented 2 years ago

@wincent @acao @asiandrummer @leebyron @AGS- @benjie Any update for the solution of this issue? Please consider this as DX improvement and give some priority for it. Thanks

timsuchanek commented 2 years ago

Thanks for the reminder. We'll have a look shortly.

gnekich commented 3 months ago

A while back, I created a fork as a proof of concept to address this exact issue:

https://marketplace.visualstudio.com/items?itemName=hlambda.graphql-language-service-server-web&ssr=false#overview

At the time, I hoped this issue would have been resolved by now, but as we all know; "Nothing is more permanent than a temporary solution."

Despite that, my fork works great for my GraphQL projects, and I use it daily. The one feature I really miss is the ability to explicitly set which Project (API/Role combination) your GraphQL string should be validated against directly in the gql comment. For example: / GraphQL project-123-as-admin /. This would eliminate the need to switch between gql projects in VS Code.

I'm hopeful that graphql-config will be refactored to avoid direct filesystem read/write operations, allowing us to use the original LSP extension in the browser.