graphql / graphql/graphiql

Package graphql-language-service-cli as binary

Open
#1,646 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

Because we are the official tooling for a language-agnostic schema/API language, we should have a first class experience for non javascript/typescript developers.

Let's say you are using a vim coc completion for graphql, and you're a microservice engineer using Java and GoLang. you have no need to install node.js on your system. If this were the case, you would probably feel the vim completion plugin shouldn't require install node and npm so you can globally npm install something correct? If you're a node.js or typescript engineer, imagine needing to install a specific version of ruby, bundler, and specific gems to get one piece of your language tooling to work. Would it be worth it? We used to do this with the compass gem, but then lib-sass came along and we all flocked to that.

thus why the extra effort for a *true* binary is necessary, including the effort to ensure our CI/publishing workflow properly publishes all the binaries in our github releases!

**implementation notes:**
- use something like `pkg` to package binaries
- use webpack/rollup/etc to tree shake the bundle for smallest download size possible
- releases with binaries for each OS and 32/64 bit architectures. linux should include appImage/snap registry, .deb, .rpm, arch, etc

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.