Security Notice: All versions of graphiql < 1.4.7 are vulnerable to an XSS attack in cases where the GraphQL server to which the GraphiQL web app connects is not trusted. Learn more in the graphiql security docs directory
GraphiQL is the reference implementation of this monorepo, GraphQL IDE, an official project under the GraphQL Foundation. The code uses the permissive MIT license.
Whether you want a simple GraphiQL IDE instance for your server, or a more advanced web or desktop GraphQL IDE experience for your framework or plugin, or you want to build an IDE extension or plugin, you've come to the right place!
The purpose of this monorepo is to give the GraphQL Community:
a to-specification official language service (see: API Docs)
a comprehensive LSP server and CLI service for use with IDEs
a codemirror mode
a monaco mode (in the works)
an example of how to use this ecosystem with GraphiQL.
Many of these packages need to work in multiple environments.
By default, all typescript packages target es6.
graphql-language-service-server and graphql-language-service-cli are made for the node runtime, so they target es2017
codemirror-graphql and the graphiql browser bundle use the .browserslistrc, which targets modern browsers to keep bundle size small and keep the language services performant where async/await is used, and especially to avoid the requirement of regenerator-runtime or special babel configuration.
To initiate the signature process please open a PR against this repo. The EasyCLA bot will block the merge if we still need a membership agreement from you.
Please note that EasyCLA is configured to accept commits from certain GitHub bots. These are approved on an exception basis once we are confident that any content they create is either generated by the bot itself or written by someone who has already signed the CLA (e.g., a project maintainer).
Please note that EasyCLA is configured to accept commits from certain GitHub bots. These are approved on an exception basis once we are confident that any content they create is either unlikely to consist of copyrightable content or else was written by someone who has already signed the CLA (e.g., a project maintainer). The bots that have currently been approved as exceptions are:
github-actions (exclusively for the changesets Action)
Thank you graphql community for all the help & support! - @acao
Fielding Proposals!
The door is open for proposals for the new GraphiQL Plugin API, and other ideas on how to make the rest of the IDE ecosystem more performant, scalable, interoperable and extensible.
Feel free to open a PR to create a document in the /proposals/ directory.
Eventually we hope to move these to a repo that serves this purpose.
Community
Discord - Most discussion outside of github happens on the GraphQL Discord Server
请发表评论