GitHub - mercurius-js/mercurius: Implement GraphQL servers and gateways with Fas...
source link: https://github.com/mercurius-js/mercurius
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
mercurius
Mercurius is a GraphQL adapter for Fastify
Features:
- Caching of query parsing and validation.
- Automatic loader integration to avoid 1 + N queries.
- Just-In-Time compiler via graphql-jit.
- Subscriptions.
- Federation support.
- Federated subscriptions support.
- Gateway implementation, including Subscriptions.
- Batched query support.
- Customisable persisted queries.
Install
npm i fastify mercurius graphql # or yarn add fastify mercurius graphql
The previous name of this module was fastify-gql (< 6.0.0).
Quick Start
'use strict' const Fastify = require('fastify') const mercurius = require('mercurius') const app = Fastify() const schema = ` type Query { add(x: Int, y: Int): Int } ` const resolvers = { Query: { add: async (_, { x, y }) => x + y } } app.register(mercurius, { schema, resolvers }) app.get('/', async function (req, reply) { const query = '{ add(x: 2, y: 2) }' return reply.graphql(query) }) app.listen(3000)
Examples
Check GitHub repo for more examples.
Acknowledgements
The project is kindly sponsored by:
The Mercurius name was gracefully donated by Marco Castelluccio. The usage of that library was described in https://hacks.mozilla.org/2015/12/web-push-notifications-from-irssi/, and you can find that codebase in https://github.com/marco-c/mercurius.
License
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK