mercurius
graphql-mesh
mercurius | graphql-mesh | |
---|---|---|
22 | 13 | |
2,344 | 3,265 | |
0.6% | - | |
7.2 | 9.9 | |
about 1 month ago | 3 days ago | |
JavaScript | TypeScript | |
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.
mercurius
-
The Road to GraphQL At Enterprise Scale
GraphQL Gateway is primarily responsible for serving GraphQL queries to consumers. It takes a query from a client, breaks it into smaller sub-queries, and executes that plan by proxying calls to the appropriate downstream subgraphs. When we started our journey, there was only Apollo Federation in the arena, and we used it. Still, now you can look at other options (e.g. Mercurius, Conductor, Hot Chocolate, Wundergraph, Hasura Remote Schemas), compare benchmarks and decide what's important and preferable for your needs. The Gateway provides a unified API for consumers while giving backend engineers flexibility and service isolation.
-
Dynamic GraphQL queries with Mercurius
If you're using Fastify with Mercurius as your GraphQL adapter, you may be looking for some advanced usages. In this article, we'll explore a real world example with Dynamic GQL queries with Mercurius.
-
How to use DataLoader with Mercurius GraphQL
Loader: it is a built-in DataLoader-Like solution that is quick to set up and use.
-
Simple example with NestJS and Mercurius 😻
In this post I will show you how to implement NestJS😻 with GraphQL in code first mode, using Mercurius and the "platform" to Fastify.
-
Barrel Exports considered harmful
What this does is to overwrite or augment the types exposed by the pointed module, and can be used (for example) when relying on autogenerated code. One interesting case of this is GraphQL to TypeScript code generation, and how this is integrated with the amazing Mercurius library (made by some of my colleagues at NearForm! 😜).
-
Apollo Server v4 Breaking Changes. Time to move away?
When moving away from Apollo Server, and you're looking for a replacement built with JavaScript or TypeScript, let me give you some options. If you want to keep building your GraphQL API schema first, you might want to consider Mercurius (which relies on Fastify) or GraphQL Yoga. If you're going to build your GraphQL API code or resolver first, have a look at TypeGraphQL or Nexus. Alternatively, there are great GraphQL-as-a-Service solutions such as StepZen in case you no longer want to build, maintain and host your own GraphQL API.
-
Fastify DX and SolidJS in the Real World
Let's start with data. We live in amazing times and it's really easy and cheap (or free) to get started with storing and working with data online. Take for example a PlanetScale MySQL-compatible database, Fastify Node.js Server, Prisma database mapper and a GraphQL connector like Mercurius and you have an entire backend stack. For this example we assume you already have a backend or you want to connect to a 3rd party database like the GitHub GraphQL API.
-
Nest JS With Graphql World
In this chapter, we assume a basic understanding of GraphQL and focus on how to work with the built-in @nestjs/graphql module. The GraphQLModule can be configured to use Apollo server (with the @nestjs/apollo driver) and Mercurius (with the @nestjs/mercurius). We provide official integrations for these proven GraphQL packages to provide a simple way to use GraphQL with Nest. You can also build your own dedicated driver (read more on that here).
-
Shill me on Apollo client.
Why would I want to use Apollo Client? So far in my career I have used some server graphql scaffolding (webonyx/graphql-php for PHP and mercurius for Node) and just used the fetch API (or whatever ajax API around XMLHttpRequest) against that server with the body being an object with
-
Are there actually better alternatives than Apollo server?
Only for people who are clueless. Apollo server is probably the worst node.js server to use for your graphql schema. It's terribly slow. You should look into https://mercurius.dev
graphql-mesh
-
Effortless Type-Safe GraphQL SDK Generation with GraphQL SDK Generator
Whenever the schema changes, simply re-run the generator, and the TypeScript code is updated effortlessly. This significantly improves development efficiency and streamlines SDK maintenance. While there are other tools on the market, such as GraphQL Mesh it comes with many dependencies and boilerplate code you might not need, and the SDK is closely tied to it. In contrast, graphql-sdk-generator gives you full control. Once the code is generated, you're free to modify it as needed, with only the graphql-request dependency required for making requests to your endpoint.
-
LlamaAcademy: Teach GPTs to understand API documentation with LoRA
I played with building out a graphql mesh [0] of a few different APIs as I was curious to see if I could build one schema (and subsets of it) and have GPT interface over that. Turns out, it did a pretty good job if you can provide it the right portions of the schema it needs.
It also helped out when I was struggling to reconcile with how large of JSON payloads I was getting. The REST endpoints are just killing the prompt size, but having the model choose the fields it needed from GraphQL really helped out there.
Put it down for a while until I can get access to the plugin fine-tuned version of chatgpt and see if there's still a need or if it is additive still.
[0] https://github.com/Urigo/graphql-mesh/
-
Uncovering Frontend Data Aggregation: Our Encounter with BFF, GraphQL, and Hydration
graphql-mesh is a tool that allows you to integrate backend microservices (whether they are REST with OpenAPI specs, GraphQL, etc.) into a single GraphQL Gateway. It's easy to set up as it generates schemas, queries, and mutations based on the provided specifications. You only need to implement additional properties for data aggregation
-
Are there any good GraphQL "passthrough" solutions?
You might be able to integrate existing API's with https://www.graphql-mesh.com/ but keep in mind this will add latency and you won't get all the full benefits of implementing native graphql services.
- Show HN: M3O – Universal Public API Interface
-
How not to learn GraphQL
Recent projects such as GraphQL Mesh or products such as Hasura Cloud proved that GraphQL has a purpose beyond the simple front-end/mobile apps fetching challenges.
-
Join multiple GraphQL APIs without Schema Stitching or Federation
I’ve seen more products letting you join/merge GraphQL schemas independent of schema stitching or federation. Have a look at GraphQL Mesh or StepZen.
-
Improving microservice architecture with GraphQL API gateways
Libraries like GraphQL Mesh, on the other hand, automatically stitch multiple data sources into one single GraphQL API. This can save development time, but, like libraries that do a lot for you, you may need to provide custom overrides.
-
GraphQL Mesh as a Gateway | Episode #1
GraphQL Mesh acts as a proxy to your existing APIs, and gives you the developer ultimate control over how data is retrieved. It doesn't matter if your API is GraphQL, gRPC, Swagger, Postgres, and non-typed APIs. GraphQL Mesh can figure out how to transform your GraphQL query to the respective API.
-
Making Open Source Easy - Orchestrating the Open Source Contribution Workflow
Doing this was pretty simple. You can find the repo here which is used as the master repository to push all the labels downstream and we still retain the repo specific labels in their own repository (like this)
What are some alternatives?
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.
graphql-helix - A highly evolved GraphQL HTTP Server 🧬
openapi-to-graphql - Translate APIs described by OpenAPI Specifications (OAS) into GraphQL
subscriptions-transport-ws - :arrows_clockwise: A WebSocket client + server for GraphQL subscriptions
graphql-transform-federation - Convert your existing GraphQL schema into a federated schema
graphql-tools - :wrench: Utility library for GraphQL to build, stitch and mock GraphQL schemas in the SDL-first approach
apollo-angular - A fully-featured, production ready caching GraphQL client for Angular and every GraphQL server 🎁
graphql-js - A reference implementation of GraphQL for JavaScript
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
fastify-hasura - A Fastify plugin to have fun with Hasura.