An envelop plugin that sends GraphQL response data to Inngest to help build event-driven applications.
useInngest
is an Envelop plugin for GraphQL Yoga
and servers or frameworks powered by Yoga, such as RedwoodJS.
It's philosophy is to:
- "instrument everything" by sending events for each GraphQL execution result to Inngest to effortlessly build event-driven applications.
- provide fine-grained control over what events are sent such as operations (queries, mutations, or subscriptions), introspection events, when GraphQL errors occur, if result data should be included, type and schema coordinate denylists ... and more.
- be customized with event prefix, name and user context functions
This monorepo contains several packages:
- plugin
- setup
An envelop plugin that sends GraphQL response data to Inngest to help build event-driven applications.
Please see the plugin README to learn about the plugin.
Or, if using RedwoodJS, see the setup command README for instructions to configure and to create functions via command line.
Setup up Inngest in a RedwoodJS project and to create new functions via command line.
The plugin
command configures Inngest and auto-instruments the RedwoodJS GraphQL api using the
envelop-plugin-inngest plugin.
The function
command creates stubbed out background, delayed, scheduled and step functions ready
for you to implement.
Please see the setup README to learn about the setup command for RedwoodJS.
Note: If you use RedwoodJS v5.0.6-canary or later, you can setup Inngest via
yarn rw experimental setup inngest
.
Inngest makes it simple for you to write delayed or background jobs by triggering functions from events — decoupling your code from your application.
- You send events from your application via HTTP (or via third party webhooks, e.g. Stripe)
- Inngest runs your serverless functions that are configured to be triggered by those events, either immediately, or delayed.
Inngest brings the benefits of event-driven systems to all developers, without having to write any code themselves.
Inngest believes that:
- Event-driven systems should be easy to build and adopt
- Event-driven systems are better than regular, procedural systems and queues
- Developer experience matters
- Serverless scheduling enables scalable, reliable systems that are both cheaper and better for compliance
GraphQL Yoga is a batteries-included cross-platform GraphQL over HTTP spec-compliant GraphQL server powered byEnvelop and GraphQL Tools.
Yoga uses Envelop under the hood so you can easily extend your server's capabilities with the plugins from Envelop Ecosystem.
Envelop
is a lightweight JavaScript (/TypeScript) library for wrapping
GraphQL execution layer and flow, allowing developers to develop, share and collaborate on
GraphQL-related plugins while filling the missing pieces in GraphQL implementations.
Envelop aims to extend the GraphQL execution flow by adding plugins that enriches the feature set of your application.
Envelop provides a low-level hook-based plugin API for developers. By combining plugins, you can compose your own GraphQL "framework", and get a modified version of GraphQL with the capabilities you need.
Envelop is created and maintained by The Guild.
Contributions are welcome! Pleas see how to contribute.