1
- import { DiscoveryService } from '@golevelup/nestjs-discovery' ;
2
1
import { Injectable } from '@nestjs/common' ;
3
2
import {
4
3
AbstractGraphQLDriver as AbstractDriver ,
@@ -16,6 +15,7 @@ import {
16
15
import { AsyncLocalStorage } from 'node:async_hooks' ;
17
16
import type { WebSocket } from 'ws' ;
18
17
import { type GqlContextType } from '~/common' ;
18
+ import { MetadataDiscovery } from '~/core/discovery' ;
19
19
import { HttpAdapter , type IRequest } from '../http' ;
20
20
import { type IResponse } from '../http/types' ;
21
21
import { Plugin } from './plugin.decorator' ;
@@ -34,7 +34,7 @@ export class Driver extends AbstractDriver<DriverConfig> {
34
34
private yoga : YogaServerInstance < ServerContext , { } > ;
35
35
36
36
constructor (
37
- private readonly discovery : DiscoveryService ,
37
+ private readonly discovery : MetadataDiscovery ,
38
38
private readonly http : HttpAdapter ,
39
39
) {
40
40
super ( ) ;
@@ -44,12 +44,10 @@ export class Driver extends AbstractDriver<DriverConfig> {
44
44
const fastify = this . http . getInstance ( ) ;
45
45
46
46
// Do our plugin discovery / registration
47
- const discoveredPlugins = await this . discovery . providersWithMetaAtKey (
48
- Plugin . KEY ,
49
- ) ;
47
+ const discoveredPlugins = this . discovery . discover ( Plugin ) . classes < Plugin > ( ) ;
50
48
options . plugins = [
51
49
...( options . plugins ?? [ ] ) ,
52
- ...new Set ( discoveredPlugins . map ( ( cls ) => cls . discoveredClass . instance ) ) ,
50
+ ...discoveredPlugins . map ( ( cls ) => cls . instance ) ,
53
51
] ;
54
52
55
53
this . yoga = createYoga ( {
0 commit comments