@atls/nestjs-grpc-http-proxy 0.0.12 → 0.0.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/authenticators/authentication.service.d.ts +4 -4
  2. package/dist/authenticators/authentication.service.js +8 -10
  3. package/dist/authenticators/authenticator.interface.d.ts +3 -3
  4. package/dist/authenticators/authenticator.interface.js +1 -2
  5. package/dist/authenticators/header.authenticator.d.ts +2 -2
  6. package/dist/authenticators/header.authenticator.js +1 -5
  7. package/dist/authenticators/index.d.ts +4 -4
  8. package/dist/authenticators/index.js +4 -20
  9. package/dist/authenticators/private-key.authenticator.d.ts +3 -3
  10. package/dist/authenticators/private-key.authenticator.js +11 -17
  11. package/dist/controllers/grpc-http-proxy.controller.d.ts +5 -3
  12. package/dist/controllers/grpc-http-proxy.controller.js +28 -32
  13. package/dist/controllers/index.d.ts +1 -1
  14. package/dist/controllers/index.js +1 -17
  15. package/dist/index.d.ts +2 -2
  16. package/dist/index.js +2 -18
  17. package/dist/module/grpc-http-proxy-module-options.interface.d.ts +7 -7
  18. package/dist/module/grpc-http-proxy-module-options.interface.js +1 -2
  19. package/dist/module/grpc-http-proxy.constants.js +1 -4
  20. package/dist/module/grpc-http-proxy.module.d.ts +3 -3
  21. package/dist/module/grpc-http-proxy.module.js +18 -21
  22. package/dist/module/grpc-http-proxy.providers.d.ts +5 -5
  23. package/dist/module/grpc-http-proxy.providers.js +10 -13
  24. package/dist/module/index.d.ts +3 -3
  25. package/dist/module/index.js +3 -19
  26. package/dist/proto/index.d.ts +1 -1
  27. package/dist/proto/index.js +1 -17
  28. package/dist/proto/proto.client.d.ts +1 -1
  29. package/dist/proto/proto.client.js +7 -10
  30. package/dist/proto/proto.registry.d.ts +3 -3
  31. package/dist/proto/proto.registry.js +16 -21
  32. package/package.json +44 -23
@@ -1,8 +1,8 @@
1
- import { Request } from 'express';
2
- import { Response } from 'express';
3
- import { GrpcHttpProxyModuleOptions } from '../module/grpc-http-proxy-module-options.interface';
1
+ import type { Request } from 'express';
2
+ import type { Response } from 'express';
3
+ import { GrpcHttpProxyModuleOptions } from '../module/index.js';
4
4
  export declare class AuthenticationService {
5
5
  private readonly options;
6
6
  constructor(options: GrpcHttpProxyModuleOptions);
7
- authenticate(req: Request, res: Response): Promise<string | null> | null;
7
+ authenticate(req: Request, res: Response): Promise<string | null>;
8
8
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -11,16 +10,15 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
11
  return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.AuthenticationService = void 0;
16
- const common_1 = require("@nestjs/common");
17
- const common_2 = require("@nestjs/common");
18
- const grpc_http_proxy_constants_1 = require("../module/grpc-http-proxy.constants");
13
+ import { Injectable } from '@nestjs/common';
14
+ import { Inject } from '@nestjs/common';
15
+ import { GRPC_HTTP_PROXY_MODULE_OPTIONS } from '../module/index.js';
19
16
  let AuthenticationService = class AuthenticationService {
17
+ options;
20
18
  constructor(options) {
21
19
  this.options = options;
22
20
  }
23
- authenticate(req, res) {
21
+ async authenticate(req, res) {
24
22
  if (!this.options.authenticator) {
25
23
  return null;
26
24
  }
@@ -28,8 +26,8 @@ let AuthenticationService = class AuthenticationService {
28
26
  }
29
27
  };
30
28
  AuthenticationService = __decorate([
31
- (0, common_1.Injectable)(),
32
- __param(0, (0, common_2.Inject)(grpc_http_proxy_constants_1.GRPC_HTTP_PROXY_MODULE_OPTIONS)),
29
+ Injectable(),
30
+ __param(0, Inject(GRPC_HTTP_PROXY_MODULE_OPTIONS)),
33
31
  __metadata("design:paramtypes", [Object])
34
32
  ], AuthenticationService);
35
- exports.AuthenticationService = AuthenticationService;
33
+ export { AuthenticationService };
@@ -1,5 +1,5 @@
1
- import { Request } from 'express';
2
- import { Response } from 'express';
1
+ import type { Request } from 'express';
2
+ import type { Response } from 'express';
3
3
  export interface Authenticator {
4
- execute(req: Request, res: Response): Promise<string | null>;
4
+ execute: (req: Request, res: Response) => Promise<string | null>;
5
5
  }
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,5 +1,5 @@
1
- import { Request } from 'express';
2
- import { Authenticator } from './authenticator.interface';
1
+ import type { Request } from 'express';
2
+ import type { Authenticator } from './authenticator.interface.js';
3
3
  export declare class HeaderAuthenticator implements Authenticator {
4
4
  execute(req: Request): Promise<string | null>;
5
5
  }
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.HeaderAuthenticator = void 0;
4
- class HeaderAuthenticator {
1
+ export class HeaderAuthenticator {
5
2
  async execute(req) {
6
3
  return req.headers.authorization || null;
7
4
  }
8
5
  }
9
- exports.HeaderAuthenticator = HeaderAuthenticator;
@@ -1,4 +1,4 @@
1
- export * from './authenticator.interface';
2
- export * from './authentication.service';
3
- export * from './private-key.authenticator';
4
- export * from './header.authenticator';
1
+ export * from './authenticator.interface.js';
2
+ export * from './authentication.service.js';
3
+ export * from './private-key.authenticator.js';
4
+ export * from './header.authenticator.js';
@@ -1,20 +1,4 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./authenticator.interface"), exports);
18
- __exportStar(require("./authentication.service"), exports);
19
- __exportStar(require("./private-key.authenticator"), exports);
20
- __exportStar(require("./header.authenticator"), exports);
1
+ export * from "./authenticator.interface.js";
2
+ export * from "./authentication.service.js";
3
+ export * from "./private-key.authenticator.js";
4
+ export * from "./header.authenticator.js";
@@ -1,6 +1,6 @@
1
- import { Request } from 'express';
2
- import { Response } from 'express';
3
- import { Authenticator } from './authenticator.interface';
1
+ import type { Request } from 'express';
2
+ import type { Response } from 'express';
3
+ import type { Authenticator } from './authenticator.interface.js';
4
4
  export declare class PrivateKeyAuthenticator implements Authenticator {
5
5
  private readonly privateKey?;
6
6
  constructor(privateKey?: string | undefined);
@@ -1,14 +1,9 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PrivateKeyAuthenticator = void 0;
7
- const cookie_1 = __importDefault(require("cookie"));
8
- const fs_1 = require("fs");
9
- const jsonwebtoken_1 = require("jsonwebtoken");
10
- const uuid_1 = require("uuid");
11
- class PrivateKeyAuthenticator {
1
+ import { promises as fs } from 'fs';
2
+ import { sign } from 'jsonwebtoken';
3
+ import { v4 as uuid } from 'uuid';
4
+ import cookie from 'cookie';
5
+ export class PrivateKeyAuthenticator {
6
+ privateKey;
12
7
  constructor(privateKey) {
13
8
  this.privateKey = privateKey;
14
9
  if (!this.privateKey) {
@@ -17,20 +12,19 @@ class PrivateKeyAuthenticator {
17
12
  }
18
13
  async execute(req, res) {
19
14
  if (this.privateKey) {
20
- const cookies = cookie_1.default.parse(req.headers.cookie || '');
21
- const subject = cookies.subject || (0, uuid_1.v4)();
15
+ const cookies = cookie.parse(req.headers.cookie || '');
16
+ const subject = cookies.subject || uuid();
22
17
  if (!cookies.subject) {
23
- res.setHeader('Set-Cookie', cookie_1.default.serialize('subject', String(subject), {
18
+ res.setHeader('Set-Cookie', cookie.serialize('subject', String(subject), {
24
19
  maxAge: 60 * 60 * 24 * 7,
25
20
  httpOnly: true,
26
21
  path: '/',
27
22
  }));
28
23
  }
29
- const privateKey = await fs_1.promises.readFile(this.privateKey, 'utf-8');
30
- const token = (0, jsonwebtoken_1.sign)({ sub: subject }, privateKey, { algorithm: 'RS256' });
24
+ const privateKey = await fs.readFile(this.privateKey, 'utf-8');
25
+ const token = sign({ sub: subject }, privateKey, { algorithm: 'RS256' });
31
26
  return `Bearer ${token}`;
32
27
  }
33
28
  return null;
34
29
  }
35
30
  }
36
- exports.PrivateKeyAuthenticator = PrivateKeyAuthenticator;
@@ -1,8 +1,10 @@
1
- import { AuthenticationService } from '../authenticators';
2
- import { ProtoRegistry } from '../proto';
1
+ import { Request } from 'express';
2
+ import { Response } from 'express';
3
+ import { AuthenticationService } from '../authenticators/index.js';
4
+ import { ProtoRegistry } from '../proto/index.js';
3
5
  export declare class GrpcHttpProxyController {
4
6
  private readonly protoRegistry;
5
7
  private readonly authenticator;
6
8
  constructor(protoRegistry: ProtoRegistry, authenticator: AuthenticationService);
7
- call(service: any, method: any, body: any, req: any, res: any): Promise<void>;
9
+ call(service: any, method: any, body: any, req: Request, res: Response): Promise<void>;
8
10
  }
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -11,24 +10,21 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
11
  return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.GrpcHttpProxyController = void 0;
19
- const grpc_error_status_1 = require("@atls/grpc-error-status");
20
- const common_1 = require("@nestjs/common");
21
- const common_2 = require("@nestjs/common");
22
- const common_3 = require("@nestjs/common");
23
- const common_4 = require("@nestjs/common");
24
- const common_5 = require("@nestjs/common");
25
- const common_6 = require("@nestjs/common");
26
- const common_7 = require("@nestjs/common");
27
- const common_8 = require("@nestjs/common");
28
- const buffer_json_1 = __importDefault(require("buffer-json"));
29
- const authenticators_1 = require("../authenticators");
30
- const proto_1 = require("../proto");
13
+ import { ErrorStatus } from '@atls/grpc-error-status';
14
+ import { Controller } from '@nestjs/common';
15
+ import { Body } from '@nestjs/common';
16
+ import { Post } from '@nestjs/common';
17
+ import { HttpCode } from '@nestjs/common';
18
+ import { Param } from '@nestjs/common';
19
+ import { Header } from '@nestjs/common';
20
+ import { Req } from '@nestjs/common';
21
+ import { Res } from '@nestjs/common';
22
+ import BJSON from 'buffer-json';
23
+ import { AuthenticationService } from '../authenticators/index.js';
24
+ import { ProtoRegistry } from '../proto/index.js';
31
25
  let GrpcHttpProxyController = class GrpcHttpProxyController {
26
+ protoRegistry;
27
+ authenticator;
32
28
  constructor(protoRegistry, authenticator) {
33
29
  this.protoRegistry = protoRegistry;
34
30
  this.authenticator = authenticator;
@@ -37,29 +33,29 @@ let GrpcHttpProxyController = class GrpcHttpProxyController {
37
33
  try {
38
34
  const authorization = await this.authenticator.authenticate(req, res);
39
35
  const data = await this.protoRegistry.getClient(service).call(method, body, { authorization });
40
- res.send(buffer_json_1.default.stringify(data));
36
+ res.send(BJSON.stringify(data));
41
37
  }
42
38
  catch (error) {
43
- res.send(buffer_json_1.default.stringify(grpc_error_status_1.ErrorStatus.fromServiceError(error).toObject()));
39
+ res.send(BJSON.stringify(ErrorStatus.fromServiceError(error).toObject()));
44
40
  }
45
41
  }
46
42
  };
47
43
  __decorate([
48
- (0, common_4.HttpCode)(200),
49
- (0, common_3.Post)('/:service/:method'),
50
- (0, common_6.Header)('Content-Type', 'application/json'),
51
- __param(0, (0, common_5.Param)('service')),
52
- __param(1, (0, common_5.Param)('method')),
53
- __param(2, (0, common_2.Body)()),
54
- __param(3, (0, common_7.Req)()),
55
- __param(4, (0, common_8.Res)()),
44
+ HttpCode(200),
45
+ Post('/:service/:method'),
46
+ Header('Content-Type', 'application/json'),
47
+ __param(0, Param('service')),
48
+ __param(1, Param('method')),
49
+ __param(2, Body()),
50
+ __param(3, Req()),
51
+ __param(4, Res()),
56
52
  __metadata("design:type", Function),
57
53
  __metadata("design:paramtypes", [Object, Object, Object, Object, Object]),
58
54
  __metadata("design:returntype", Promise)
59
55
  ], GrpcHttpProxyController.prototype, "call", null);
60
56
  GrpcHttpProxyController = __decorate([
61
- (0, common_1.Controller)('grpc-proxy'),
62
- __metadata("design:paramtypes", [proto_1.ProtoRegistry,
63
- authenticators_1.AuthenticationService])
57
+ Controller('grpc-proxy'),
58
+ __metadata("design:paramtypes", [ProtoRegistry,
59
+ AuthenticationService])
64
60
  ], GrpcHttpProxyController);
65
- exports.GrpcHttpProxyController = GrpcHttpProxyController;
61
+ export { GrpcHttpProxyController };
@@ -1 +1 @@
1
- export * from './grpc-http-proxy.controller';
1
+ export * from './grpc-http-proxy.controller.js';
@@ -1,17 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./grpc-http-proxy.controller"), exports);
1
+ export * from "./grpc-http-proxy.controller.js";
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export * from './module';
2
- export * from './authenticators';
1
+ export * from './module/index.js';
2
+ export * from './authenticators/index.js';
package/dist/index.js CHANGED
@@ -1,18 +1,2 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./module"), exports);
18
- __exportStar(require("./authenticators"), exports);
1
+ export * from "./module/index.js";
2
+ export * from "./authenticators/index.js";
@@ -1,17 +1,17 @@
1
- import { ModuleMetadata } from '@nestjs/common/interfaces';
2
- import { Type } from '@nestjs/common/interfaces';
3
- import { GrpcOptions } from '@nestjs/microservices';
4
- import { Authenticator } from '../authenticators';
1
+ import type { ModuleMetadata } from '@nestjs/common/interfaces';
2
+ import type { Type } from '@nestjs/common/interfaces';
3
+ import type { GrpcOptions } from '@nestjs/microservices';
4
+ import type { Authenticator } from '../authenticators/index.js';
5
5
  export interface GrpcHttpProxyModuleOptions {
6
6
  options: GrpcOptions['options'];
7
7
  authenticator?: Authenticator;
8
8
  }
9
9
  export interface GrpcHttpProxyOptionsFactory {
10
- createGrpcHttpProxyOptions(): Promise<GrpcHttpProxyModuleOptions> | GrpcHttpProxyModuleOptions;
10
+ createGrpcHttpProxyOptions: () => GrpcHttpProxyModuleOptions | Promise<GrpcHttpProxyModuleOptions>;
11
11
  }
12
12
  export interface GrpcHttpProxyModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
13
13
  useExisting?: Type<GrpcHttpProxyOptionsFactory>;
14
14
  useClass?: Type<GrpcHttpProxyOptionsFactory>;
15
- useFactory?: (...args: any[]) => Promise<GrpcHttpProxyModuleOptions> | GrpcHttpProxyModuleOptions;
16
- inject?: any[];
15
+ useFactory?: (...args: Array<any>) => GrpcHttpProxyModuleOptions | Promise<GrpcHttpProxyModuleOptions>;
16
+ inject?: Array<any>;
17
17
  }
@@ -1,2 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
@@ -1,4 +1 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GRPC_HTTP_PROXY_MODULE_OPTIONS = void 0;
4
- exports.GRPC_HTTP_PROXY_MODULE_OPTIONS = 'GRPC_HTTP_PROXY_MODULE_OPTIONS';
1
+ export const GRPC_HTTP_PROXY_MODULE_OPTIONS = 'GRPC_HTTP_PROXY_MODULE_OPTIONS';
@@ -1,6 +1,6 @@
1
- import { DynamicModule } from '@nestjs/common';
2
- import { GrpcHttpProxyModuleAsyncOptions } from './grpc-http-proxy-module-options.interface';
3
- import { GrpcHttpProxyModuleOptions } from './grpc-http-proxy-module-options.interface';
1
+ import type { DynamicModule } from '@nestjs/common';
2
+ import type { GrpcHttpProxyModuleAsyncOptions } from './grpc-http-proxy-module-options.interface.js';
3
+ import type { GrpcHttpProxyModuleOptions } from './grpc-http-proxy-module-options.interface.js';
4
4
  export declare class GrpcHttpProxyModule {
5
5
  static register(options: GrpcHttpProxyModuleOptions): DynamicModule;
6
6
  static registerAsync(options: GrpcHttpProxyModuleAsyncOptions): DynamicModule;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -6,35 +5,33 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
6
  };
8
7
  var GrpcHttpProxyModule_1;
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.GrpcHttpProxyModule = void 0;
11
- const common_1 = require("@nestjs/common");
12
- const controllers_1 = require("../controllers");
13
- const grpc_http_proxy_constants_1 = require("./grpc-http-proxy.constants");
14
- const grpc_http_proxy_providers_1 = require("./grpc-http-proxy.providers");
15
- const grpc_http_proxy_providers_2 = require("./grpc-http-proxy.providers");
16
- const grpc_http_proxy_providers_3 = require("./grpc-http-proxy.providers");
8
+ import { Module } from '@nestjs/common';
9
+ import { GrpcHttpProxyController } from '../controllers/index.js';
10
+ import { GRPC_HTTP_PROXY_MODULE_OPTIONS } from './grpc-http-proxy.constants.js';
11
+ import { createGrpcHttpProxyExportsProvider } from './grpc-http-proxy.providers.js';
12
+ import { createGrpcHttpProxyProvider } from './grpc-http-proxy.providers.js';
13
+ import { createGrpcHttpProxyOptionsProvider } from './grpc-http-proxy.providers.js';
17
14
  let GrpcHttpProxyModule = GrpcHttpProxyModule_1 = class GrpcHttpProxyModule {
18
15
  static register(options) {
19
- const optionsProviders = (0, grpc_http_proxy_providers_3.createGrpcHttpProxyOptionsProvider)(options);
20
- const exportsProviders = (0, grpc_http_proxy_providers_1.createGrpcHttpProxyExportsProvider)();
21
- const providers = (0, grpc_http_proxy_providers_2.createGrpcHttpProxyProvider)();
16
+ const optionsProviders = createGrpcHttpProxyOptionsProvider(options);
17
+ const exportsProviders = createGrpcHttpProxyExportsProvider();
18
+ const providers = createGrpcHttpProxyProvider();
22
19
  return {
23
20
  module: GrpcHttpProxyModule_1,
24
21
  providers: [...optionsProviders, ...providers, ...exportsProviders],
25
22
  exports: exportsProviders,
26
- controllers: [controllers_1.GrpcHttpProxyController],
23
+ controllers: [GrpcHttpProxyController],
27
24
  };
28
25
  }
29
26
  static registerAsync(options) {
30
- const exportsProviders = (0, grpc_http_proxy_providers_1.createGrpcHttpProxyExportsProvider)();
31
- const providers = (0, grpc_http_proxy_providers_2.createGrpcHttpProxyProvider)();
27
+ const exportsProviders = createGrpcHttpProxyExportsProvider();
28
+ const providers = createGrpcHttpProxyProvider();
32
29
  return {
33
30
  module: GrpcHttpProxyModule_1,
34
31
  imports: options.imports || [],
35
32
  providers: [...this.createAsyncProviders(options), ...providers, ...exportsProviders],
36
33
  exports: exportsProviders,
37
- controllers: [controllers_1.GrpcHttpProxyController],
34
+ controllers: [GrpcHttpProxyController],
38
35
  };
39
36
  }
40
37
  static createAsyncProviders(options) {
@@ -52,19 +49,19 @@ let GrpcHttpProxyModule = GrpcHttpProxyModule_1 = class GrpcHttpProxyModule {
52
49
  static createAsyncOptionsProvider(options) {
53
50
  if (options.useFactory) {
54
51
  return {
55
- provide: grpc_http_proxy_constants_1.GRPC_HTTP_PROXY_MODULE_OPTIONS,
52
+ provide: GRPC_HTTP_PROXY_MODULE_OPTIONS,
56
53
  useFactory: options.useFactory,
57
54
  inject: options.inject || [],
58
55
  };
59
56
  }
60
57
  return {
61
- provide: grpc_http_proxy_constants_1.GRPC_HTTP_PROXY_MODULE_OPTIONS,
62
- useFactory: (optionsFactory) => optionsFactory.createGrpcHttpProxyOptions(),
58
+ provide: GRPC_HTTP_PROXY_MODULE_OPTIONS,
59
+ useFactory: async (optionsFactory) => optionsFactory.createGrpcHttpProxyOptions(),
63
60
  inject: [options.useExisting || options.useClass],
64
61
  };
65
62
  }
66
63
  };
67
64
  GrpcHttpProxyModule = GrpcHttpProxyModule_1 = __decorate([
68
- (0, common_1.Module)({})
65
+ Module({})
69
66
  ], GrpcHttpProxyModule);
70
- exports.GrpcHttpProxyModule = GrpcHttpProxyModule;
67
+ export { GrpcHttpProxyModule };
@@ -1,5 +1,5 @@
1
- import { Provider } from '@nestjs/common';
2
- import { GrpcHttpProxyModuleOptions } from './grpc-http-proxy-module-options.interface';
3
- export declare const createGrpcHttpProxyOptionsProvider: (options: GrpcHttpProxyModuleOptions) => Provider[];
4
- export declare const createGrpcHttpProxyProvider: () => Provider[];
5
- export declare const createGrpcHttpProxyExportsProvider: () => Provider[];
1
+ import type { Provider } from '@nestjs/common';
2
+ import type { GrpcHttpProxyModuleOptions } from './grpc-http-proxy-module-options.interface.js';
3
+ export declare const createGrpcHttpProxyOptionsProvider: (options: GrpcHttpProxyModuleOptions) => Array<Provider>;
4
+ export declare const createGrpcHttpProxyProvider: () => Array<Provider>;
5
+ export declare const createGrpcHttpProxyExportsProvider: () => Array<Provider>;
@@ -1,17 +1,14 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createGrpcHttpProxyExportsProvider = exports.createGrpcHttpProxyProvider = exports.createGrpcHttpProxyOptionsProvider = void 0;
4
- const authenticators_1 = require("../authenticators");
5
- const proto_1 = require("../proto");
6
- const grpc_http_proxy_constants_1 = require("./grpc-http-proxy.constants");
7
- const createGrpcHttpProxyOptionsProvider = (options) => [
1
+ import { AuthenticationService } from '../authenticators/index.js';
2
+ import { ProtoRegistry } from '../proto/index.js';
3
+ import { GRPC_HTTP_PROXY_MODULE_OPTIONS } from './grpc-http-proxy.constants.js';
4
+ export const createGrpcHttpProxyOptionsProvider = (options) => [
8
5
  {
9
- provide: grpc_http_proxy_constants_1.GRPC_HTTP_PROXY_MODULE_OPTIONS,
6
+ provide: GRPC_HTTP_PROXY_MODULE_OPTIONS,
10
7
  useValue: options,
11
8
  },
12
9
  ];
13
- exports.createGrpcHttpProxyOptionsProvider = createGrpcHttpProxyOptionsProvider;
14
- const createGrpcHttpProxyProvider = () => [proto_1.ProtoRegistry, authenticators_1.AuthenticationService];
15
- exports.createGrpcHttpProxyProvider = createGrpcHttpProxyProvider;
16
- const createGrpcHttpProxyExportsProvider = () => [];
17
- exports.createGrpcHttpProxyExportsProvider = createGrpcHttpProxyExportsProvider;
10
+ export const createGrpcHttpProxyProvider = () => [
11
+ ProtoRegistry,
12
+ AuthenticationService,
13
+ ];
14
+ export const createGrpcHttpProxyExportsProvider = () => [];
@@ -1,3 +1,3 @@
1
- export * from './grpc-http-proxy-module-options.interface';
2
- export * from './grpc-http-proxy.constants';
3
- export * from './grpc-http-proxy.module';
1
+ export * from './grpc-http-proxy-module-options.interface.js';
2
+ export * from './grpc-http-proxy.constants.js';
3
+ export * from './grpc-http-proxy.module.js';
@@ -1,19 +1,3 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./grpc-http-proxy-module-options.interface"), exports);
18
- __exportStar(require("./grpc-http-proxy.constants"), exports);
19
- __exportStar(require("./grpc-http-proxy.module"), exports);
1
+ export * from "./grpc-http-proxy-module-options.interface.js";
2
+ export * from "./grpc-http-proxy.constants.js";
3
+ export * from "./grpc-http-proxy.module.js";
@@ -1 +1 @@
1
- export * from './proto.registry';
1
+ export * from './proto.registry.js';
@@ -1,17 +1 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./proto.registry"), exports);
1
+ export * from "./proto.registry.js";
@@ -1,4 +1,4 @@
1
- import { Client } from '@grpc/grpc-js';
1
+ import type { Client } from '@grpc/grpc-js';
2
2
  export declare class ProtoClient {
3
3
  private readonly client;
4
4
  constructor(client: Client);
@@ -1,17 +1,15 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProtoClient = void 0;
4
- const grpc_js_1 = require("@grpc/grpc-js");
5
- const grpc_js_2 = require("@grpc/grpc-js");
6
- class ProtoClient {
1
+ import { Metadata } from '@grpc/grpc-js';
2
+ import { credentials } from '@grpc/grpc-js';
3
+ export class ProtoClient {
4
+ client;
7
5
  constructor(client) {
8
6
  this.client = client;
9
7
  }
10
8
  static create(url = '0.0.0.0:50051', ServiceClient) {
11
- return new ProtoClient(new ServiceClient(url, grpc_js_2.credentials.createInsecure(), {}));
9
+ return new ProtoClient(new ServiceClient(url, credentials.createInsecure(), {}));
12
10
  }
13
- call(method, request, meta = {}) {
14
- const metadata = new grpc_js_1.Metadata();
11
+ async call(method, request, meta = {}) {
12
+ const metadata = new Metadata();
15
13
  Object.keys(meta).forEach((key) => {
16
14
  if (meta[key])
17
15
  metadata.add(key, meta[key]);
@@ -42,4 +40,3 @@ class ProtoClient {
42
40
  });
43
41
  }
44
42
  }
45
- exports.ProtoClient = ProtoClient;
@@ -1,6 +1,6 @@
1
- import { OnApplicationBootstrap } from '@nestjs/common';
2
- import { GrpcHttpProxyModuleOptions } from '../module';
3
- import { ProtoClient } from './proto.client';
1
+ import type { OnApplicationBootstrap } from '@nestjs/common';
2
+ import { GrpcHttpProxyModuleOptions } from '../module/index.js';
3
+ import { ProtoClient } from './proto.client.js';
4
4
  export declare class ProtoRegistry implements OnApplicationBootstrap {
5
5
  private readonly options;
6
6
  private definitions;
@@ -1,4 +1,3 @@
1
- "use strict";
2
1
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
2
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
3
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -11,30 +10,26 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
10
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
11
  return function (target, key) { decorator(target, key, paramIndex); }
13
12
  };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ProtoRegistry = void 0;
19
- const common_1 = require("@nestjs/common");
20
- const common_2 = require("@nestjs/common");
21
- const grpc_js_1 = require("@grpc/grpc-js");
22
- const proto_loader_1 = require("@grpc/proto-loader");
23
- const lodash_get_1 = __importDefault(require("lodash.get"));
24
- const module_1 = require("../module");
25
- const proto_client_1 = require("./proto.client");
13
+ import { Inject } from '@nestjs/common';
14
+ import { Injectable } from '@nestjs/common';
15
+ import { loadPackageDefinition } from '@grpc/grpc-js';
16
+ import { load } from '@grpc/proto-loader';
17
+ import get from 'lodash.get';
18
+ import { GRPC_HTTP_PROXY_MODULE_OPTIONS } from '../module/index.js';
19
+ import { ProtoClient } from './proto.client.js';
26
20
  let ProtoRegistry = class ProtoRegistry {
21
+ options;
22
+ definitions = [];
27
23
  constructor(options) {
28
24
  this.options = options;
29
- this.definitions = [];
30
25
  }
31
26
  async onApplicationBootstrap() {
32
27
  const protoPaths = Array.isArray(this.options.options.protoPath)
33
28
  ? this.options.options.protoPath
34
29
  : [this.options.options.protoPath];
35
30
  this.definitions = await Promise.all(protoPaths.map(async (protoPath) => {
36
- const packageDefinition = await (0, proto_loader_1.load)(protoPath, this.options.options.loader);
37
- return (0, grpc_js_1.loadPackageDefinition)(packageDefinition);
31
+ const packageDefinition = await load(protoPath, this.options.options.loader);
32
+ return loadPackageDefinition(packageDefinition);
38
33
  }));
39
34
  }
40
35
  getClient(serviceName) {
@@ -42,17 +37,17 @@ let ProtoRegistry = class ProtoRegistry {
42
37
  if (serviceClient) {
43
38
  return serviceClient;
44
39
  }
45
- return (0, lodash_get_1.default)(definition, serviceName);
40
+ return get(definition, serviceName);
46
41
  }, undefined);
47
42
  if (!client) {
48
43
  throw new Error('GRPC service not found');
49
44
  }
50
- return proto_client_1.ProtoClient.create(this.options.options.url, client);
45
+ return ProtoClient.create(this.options.options.url, client);
51
46
  }
52
47
  };
53
48
  ProtoRegistry = __decorate([
54
- (0, common_2.Injectable)(),
55
- __param(0, (0, common_1.Inject)(module_1.GRPC_HTTP_PROXY_MODULE_OPTIONS)),
49
+ Injectable(),
50
+ __param(0, Inject(GRPC_HTTP_PROXY_MODULE_OPTIONS)),
56
51
  __metadata("design:paramtypes", [Object])
57
52
  ], ProtoRegistry);
58
- exports.ProtoRegistry = ProtoRegistry;
53
+ export { ProtoRegistry };
package/package.json CHANGED
@@ -1,7 +1,16 @@
1
1
  {
2
2
  "name": "@atls/nestjs-grpc-http-proxy",
3
- "version": "0.0.12",
3
+ "version": "0.0.14",
4
4
  "license": "BSD-3-Clause",
5
+ "type": "module",
6
+ "exports": {
7
+ "./package.json": "./package.json",
8
+ ".": {
9
+ "import": "./dist/index.js",
10
+ "types": "./dist/index.d.ts",
11
+ "default": "./dist/index.js"
12
+ }
13
+ },
5
14
  "main": "dist/index.js",
6
15
  "files": [
7
16
  "dist"
@@ -13,42 +22,54 @@
13
22
  },
14
23
  "dependencies": {
15
24
  "@atls/grpc-error-status": "0.0.3",
16
- "@grpc/grpc-js": "1.9.0",
17
- "@grpc/proto-loader": "0.7.8",
25
+ "@grpc/grpc-js": "1.11.2",
26
+ "@grpc/proto-loader": "0.7.13",
18
27
  "buffer-json": "2.0.0",
19
28
  "class-transformer": "0.5.1",
20
29
  "cookie": "0.5.0",
21
30
  "jsonwebtoken": "9.0.1",
22
31
  "lodash.get": "4.4.2",
23
- "uuid": "9.0.0"
32
+ "uuid": "9.0.1"
24
33
  },
25
34
  "devDependencies": {
26
- "@nestjs/common": "patch:@nestjs/common@npm%3A10.2.5#~/.yarn/patches/@nestjs-common-npm-10.2.5-816dceeade.patch",
27
- "@nestjs/core": "10.2.5",
28
- "@nestjs/microservices": "10.2.5",
29
- "@nestjs/testing": "10.2.5",
30
- "@types/cookie": "0.5.1",
31
- "@types/express": "4.17.13",
32
- "@types/jsonwebtoken": "9.0.2",
33
- "@types/lodash.get": "4.4.7",
34
- "@types/uuid": "9.0.2",
35
- "express": "4.18.2",
36
- "get-port": "5.1.1",
37
- "protobufjs": "7.2.4",
38
- "reflect-metadata": "0.1.13",
35
+ "@jest/globals": "29.7.0",
36
+ "@nestjs/common": "10.4.1",
37
+ "@nestjs/core": "10.4.1",
38
+ "@nestjs/microservices": "10.4.1",
39
+ "@nestjs/testing": "10.4.1",
40
+ "@types/buffer-json": "2.0.3",
41
+ "@types/cookie": "0.5.4",
42
+ "@types/express": "4.17.21",
43
+ "@types/jsonwebtoken": "9.0.6",
44
+ "@types/lodash.get": "4.4.9",
45
+ "@types/supertest": "6.0.2",
46
+ "@types/uuid": "9.0.8",
47
+ "express": "4.21.0",
48
+ "get-port": "7.1.0",
49
+ "protobufjs": "7.4.0",
50
+ "reflect-metadata": "0.2.2",
39
51
  "rxjs": "7.8.1",
40
- "supertest": "6.3.3"
52
+ "supertest": "6.3.4"
41
53
  },
42
54
  "peerDependencies": {
43
- "@nestjs/common": "10.2.5",
44
- "@nestjs/core": "10.2.5",
45
- "@nestjs/microservices": "10.2.5",
46
- "reflect-metadata": "0.1.13",
47
- "rxjs": "7.8.1"
55
+ "@nestjs/common": "10",
56
+ "@nestjs/core": "10",
57
+ "@nestjs/microservices": "10",
58
+ "reflect-metadata": "0.2",
59
+ "rxjs": "7"
48
60
  },
49
61
  "publishConfig": {
62
+ "exports": {
63
+ "./package.json": "./package.json",
64
+ ".": {
65
+ "import": "./dist/index.js",
66
+ "types": "./dist/index.d.ts",
67
+ "default": "./dist/index.js"
68
+ }
69
+ },
50
70
  "main": "dist/index.js",
51
71
  "typings": "dist/index.d.ts"
52
72
  },
73
+ "typecheckSkipLibCheck": true,
53
74
  "typings": "dist/index.d.ts"
54
75
  }