@envelop/graphql-modules
Version:
This plugins integrates [`graphql-modules`](https://github.com/Urigo/graphql-modules) execution lifecycle into the GraphQL execution flow.
49 lines (38 loc) • 1.14 kB
Markdown
//github.com/Urigo/graphql-modules) execution
lifecycle into the GraphQL execution flow.
If you are using `graphql-modules` dependency injection - this setup is needed in order to make sure
`Injector` is created and destroyed at the right time.
```
yarn add @envelop/graphql-modules
```
```ts
import { execute, parse, specifiedRules, subscribe, validate } from 'graphql'
import { createApplication } from 'graphql-modules'
import { envelop, useEngine } from '@envelop/core'
import { useGraphQLModules } from '@envelop/graphql-modules'
const myApp = createApplication({
modules: [
/* ... */
]
})
const getEnveloped = envelop({
plugins: [
useEngine({ parse, validate, specifiedRules, execute, subscribe }),
// ... other plugins ...
useGraphQLModules(myApp)
]
})
```
Then, you can use GraphQL-Modules `injector` in your resolvers:
```ts
const resolvers = {
Query: {
foo: (root, args, context, info) => {
const myProviderInstance = context.injector.get(/* ... */)
}
}
}
```
This plugins integrates [`graphql-modules`](https: