diff --git a/packages/microservices/client/client-grpc.ts b/packages/microservices/client/client-grpc.ts index 95819d0a5..298a9e152 100644 --- a/packages/microservices/client/client-grpc.ts +++ b/packages/microservices/client/client-grpc.ts @@ -31,7 +31,14 @@ export class ClientGrpcProxy extends ClientProxy implements ClientGrpc { require('@grpc/grpc-js'), ); - grpcProtoLoaderPackage = loadPackage(protoLoader, ClientGrpcProxy.name); + grpcProtoLoaderPackage = loadPackage( + protoLoader, + ClientGrpcProxy.name, + () => + protoLoader === GRPC_DEFAULT_PROTO_LOADER + ? require('@grpc/proto-loader') + : require(protoLoader), + ); this.grpcClients = this.createClients(); } @@ -278,7 +285,7 @@ export class ClientGrpcProxy extends ClientProxy implements ClientGrpc { const packageDefinition = this.getOptionsProp(this.options, 'packageDefinition') || grpcProtoLoaderPackage.loadSync(file, loader); - + const packageObject = grpcPackage.loadPackageDefinition(packageDefinition); return packageObject; diff --git a/packages/microservices/server/server-grpc.ts b/packages/microservices/server/server-grpc.ts index b744c2e1b..9606765ad 100644 --- a/packages/microservices/server/server-grpc.ts +++ b/packages/microservices/server/server-grpc.ts @@ -48,7 +48,14 @@ export class ServerGrpc extends Server implements CustomTransportStrategy { grpcPackage = this.loadPackage('@grpc/grpc-js', ServerGrpc.name, () => require('@grpc/grpc-js'), ); - grpcProtoLoaderPackage = this.loadPackage(protoLoader, ServerGrpc.name); + grpcProtoLoaderPackage = this.loadPackage( + protoLoader, + ServerGrpc.name, + () => + protoLoader === GRPC_DEFAULT_PROTO_LOADER + ? require('@grpc/proto-loader') + : require(protoLoader), + ); } public async listen(