The missing GraphQL plugin system
Develop and share plugins that are usable with any GraphQL server framework or schema. Part of the Hive ecosystem by The Guild.
- Any GraphQL server
- Any schema
- 45+ ready-made plugins
What is Envelop?
A lightweight library for customizing the GraphQL execution layer, so you can build, share and compose plugins that add logging, monitoring, caching, rate limiting, error handling and more to any GraphQL server.
-
Pluggable
A powerful plugin system that wraps the entire GraphQL execution pipeline: parse, validate, execute and subscribe.
-
Flexible
Use any HTTP server, and any GraphQL schema, code-first or schema-first. Envelop is not opinionated about your transport.
-
Develop faster
You don't have to reinvent the wheel for every feature. Write a plugin once, or reuse one of the many that exist.
How does it work?
Envelop provides a low-level, hook-based plugin API. Plugins hook into every phase of the GraphQL pipeline: parse, validate, execute and subscribe. By combining plugins, you compose your own GraphQL "framework" and get a modified version of GraphQL with exactly the capabilities you need.
Read about the plugin lifecycle
Plugin Hub
Find, explore, try and test plugins for Envelop. Tracing, metrics, caching, security, authentication, schema tooling: 45 plugins and counting.
- useSentry@envelop/sentry55k weekly downloads
- useOpenTelemetry@envelop/opentelemetry60k weekly downloads
- useAuth0@envelop/auth02k weekly downloads
- useResponseCache@envelop/response-cache81k weekly downloads
- usePrometheus@envelop/prometheus55k weekly downloads
- useGraphQLModules@envelop/graphql-modules9k weekly downloads
- useSentry
- useErrorHandler
- useLogger
- useDataLoader
- useAuth0
- usePreloadAssets
- useFragmentArguments
- useContextValuePerExecuteSubscriptionEvent
- maxDepthPlugin
- useStatsD
- useMaskedErrors
- usePayloadFormatter
- useApolloTracing
- useGraphQLModules
- usePersistedOperations
- useApolloServerErrors
- useResourceLimitations
- maxDirectivesPlugin
- useSchema
- useEngine
- useGraphQLJit
- useApolloDataSources
- useRateLimiter
- useHive
- useOperationFieldPermissions
- useResponseCache
- maxTokensPlugin
Learn more
The Envelop approach
Learn how the core works: the plugin lifecycle, the hooks, and how plugins compose.
Documentation →Integrations
Plug Envelop into your existing setup quickly, based on usage examples for the popular servers.
Integrations & examples →Custom plugins
Plan, build, test and share your own Envelop plugins.
Plugin guide →
Discover the complete ecosystem of tools and libraries
Complete GraphQL Federation Stack
Our libraries to support all your GraphQL needs
Explore the Ecosystem