envelop
graphql-over-http
envelop | graphql-over-http | |
---|---|---|
7 | 12 | |
764 | 367 | |
- | 2.7% | |
9.4 | 7.0 | |
1 day ago | 13 days ago | |
TypeScript | JavaScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
envelop
-
Announcing GraphQL Yoga 2.0!
The Guild took over the development of GraphQL Yoga from Prisma in early 2021, and with the growing community of tools in the GraphQL space, most recently Envelop, we were able to rewrite GraphQL Yoga 2.0 from scratch with easy setup, performance, and developer experience at the core.
-
GraphQL Authentication with Envelop and Auth0
Ideally, you already have your basic envelop setup with your http framework of choice. This guide we will be based on the graphql-helix fastify example, but the code can be easily transferred to any other example as listed on our Integrations and Examples documentation. In case you are hitting any roadblocks feel free to reach out to us via the chat box on this page! The full code of the end-result is also available in our examples graphql-helix-auth0 fastify example.
-
Introducing Envelop - The GraphQL Plugin System
Make “hard” GraphQL capabilities easy by installing powerful plugins (Caching, Tracing with Prometheus/DataDog/NewRelic/Sentry/OpenTelemetry/ApolloTracing, Loggers, GraphQL-Jit, Persisted Operations, Security with rate-limit/depth-limit/Auth0 and many others from the Plugins Hub)
-
Introducing Envelop: The GraphQL Plugin System
I started reimplementing the logic from GitHub over here https://github.com/dotansimha/envelop/pull/474
-
Prevent clients from accessing certain resolvers on Apollo server with Prisma
We just today published a new plugin for envelop (GraphQL execution flow customization layer) that allow rejecting GraphQL operations before being executed based on the selection set of the operation. It is pretty flexible and you can limit the access dynamically based on the GraphQL context. E.g. this allows loading the permission information from the database, the user record, or any other remote service. https://github.com/dotansimha/envelop/tree/main/packages/plugins/operation-field-permissions
-
What's the best way to input union types?
We are already having a spec compatible implementation available that you can start using with envelop, without havign to wait for official graphql-js support to land: https://github.com/dotansimha/envelop/pull/179
graphql-over-http
-
What complaints do you have about GraphQL?
Another major pain is the fact that operation names and HTTP codes are often hidden in request bodies which makes it really hard to see what is going on in standard monitoring tools. It's possible to write some converter but it's beyond me why some people decided that requests which failed on the server respond with status 200. GraphQL spec doesn't define how it should behave, there's only a proposal (https://github.com/graphql/graphql-over-http)
-
GraphQL errors: the Good, the Bad and the Ugly
The GraphQL over HTTP specification states the following:
-
Websocket with socket.io or GraphQL subscriptions
However, if you are doing GraphQL subscriptions over Server Sent Events (HTTP) (which is currently not part of the GraphQL over HTTP specification), the data flow is only from server to client. So each operation must be a separate request, which should be no problem when using HTTP/2, as the browser connection limit is not hit so fast (There are also workarounds to this if you cannot ise HTTP/2).
-
Question about using fetch with a delete mutation
Complementary to the note, you can learn more about GraphQL over HTTP in the specification over here: https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md
-
Announcing GraphQL Yoga 2.0!
GraphQL-spec, GraphQL-over-HTTP: guarantees your GraphQL API to work with all existing GraphQL clients (Apollo, Relay, URQL, and more).
-
The Anatomy of a GraphQL Request
Note: While GraphQL can be done over almost any protocol, this article focuses on the most commonly used protocol GraphQL over HTTP. However, most knowledge can be transferred to other protocols such as GraphQL over WebSockets or other more exotic ones.
-
Is graphql payload usually like a string of query?
There is also the GraphQL over HTTP Specification repository https://github.com/graphql/graphql-over-http
-
GraphQL over SSE (Server-Sent Events)
graphql-sse is a reference implementation of the GraphQL over Server-Sent Events Protocol aiming to become a part of the GraphQL over HTTP standard.
-
GraphQL over WebSockets
With no further ado - I humbly introduce graphql-ws. A coherent, feature-full, zero-dependency, plug-n-play, lazy, simple, server and client implementation of the new, security first GraphQL over WebSocket Protocol with full support for all 3 GraphQL operations: Queries, Mutations and Subscriptions. The protocol aims to be standardised and become a part of GraphQL with the help of the foundation’s GraphQL over HTTP work group.
-
How to handle errors that are from "context creation" ?
You could additionally also choose a specific HTTP code for that scenario (although that would contradict the official GraphQL over HTTP spec https://github.com/graphql/graphql-over-http/blob/main/spec/GraphQLOverHTTP.md).
What are some alternatives?
nestjs-graphql - GraphQL (TypeScript) module for Nest framework (node.js) 🍷
graphql-sse - Zero-dependency, HTTP/1 safe, simple, GraphQL over Server-Sent Events Protocol server and client.
apollo-server - 🌍 Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
fastify-websocket - basic websocket support for fastify
graphql-helix - A highly evolved GraphQL HTTP Server 🧬
graphql-yoga - 🧘 Rewrite of a fully-featured GraphQL Server with focus on easy setup, performance & great developer experience. The core of Yoga implements WHATWG Fetch API and can run/deploy on any JS environment.
graphql-public-schema-filter - Filter your GraphQL graph into a subgraph. Code-first & SDL-first!
redwood - The App Framework for Startups
graphql-jit - GraphQL execution using a JIT compiler
subscriptions-transport-ws - :arrows_clockwise: A WebSocket client + server for GraphQL subscriptions
ws - Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js