@gvrs/nestjs-hcaptcha 0.4.0 → 0.6.0

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.
package/dist/index.cjs CHANGED
@@ -1,33 +1,8 @@
1
- //#region rolldown:runtime
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __copyProps = (to, from, except, desc) => {
9
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
10
- key = keys[i];
11
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
12
- get: ((k) => from[k]).bind(null, key),
13
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
14
- });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
19
- value: mod,
20
- enumerable: true
21
- }) : target, mod));
22
-
23
- //#endregion
24
- let __nestjs_common = require("@nestjs/common");
25
- __nestjs_common = __toESM(__nestjs_common);
1
+ let _nestjs_common = require("@nestjs/common");
26
2
  let hcaptcha = require("hcaptcha");
27
- hcaptcha = __toESM(hcaptcha);
28
3
 
29
4
  //#region src/lib/hcaptcha.exception.ts
30
- var HcaptchaException = class extends __nestjs_common.ForbiddenException {
5
+ var HcaptchaException = class extends _nestjs_common.ForbiddenException {
31
6
  constructor(cause, message = "Forbidden") {
32
7
  super(message, { cause });
33
8
  }
@@ -42,7 +17,7 @@ const defaultGetCaptchaData = (context) => {
42
17
  };
43
18
 
44
19
  //#endregion
45
- //#region \0@oxc-project+runtime@0.93.0/helpers/decorate.js
20
+ //#region \0@oxc-project+runtime@0.103.0/helpers/decorate.js
46
21
  function __decorate(decorators, target, key, desc) {
47
22
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
48
23
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -58,7 +33,7 @@ const normalizeOptions = (options) => ({
58
33
  getCaptchaData: defaultGetCaptchaData,
59
34
  ...options
60
35
  });
61
- const host = new __nestjs_common.ConfigurableModuleBuilder({ optionsInjectionToken: PROVIDED_HCAPTCHA_OPTIONS }).setClassMethodName("forRoot").setExtras({}, (def) => ({
36
+ const host = new _nestjs_common.ConfigurableModuleBuilder({ optionsInjectionToken: PROVIDED_HCAPTCHA_OPTIONS }).setClassMethodName("forRoot").setExtras({}, (def) => ({
62
37
  ...def,
63
38
  global: true,
64
39
  providers: [...def.providers ?? [], {
@@ -69,16 +44,16 @@ const host = new __nestjs_common.ConfigurableModuleBuilder({ optionsInjectionTok
69
44
  exports: [NORMALIZED_HCAPTCHA_OPTIONS]
70
45
  })).build();
71
46
  let HcaptchaOptionsModule = class HcaptchaOptionsModule$1 extends host.ConfigurableModuleClass {};
72
- HcaptchaOptionsModule = __decorate([(0, __nestjs_common.Module)({})], HcaptchaOptionsModule);
47
+ HcaptchaOptionsModule = __decorate([(0, _nestjs_common.Module)({})], HcaptchaOptionsModule);
73
48
 
74
49
  //#endregion
75
- //#region \0@oxc-project+runtime@0.93.0/helpers/decorateMetadata.js
50
+ //#region \0@oxc-project+runtime@0.103.0/helpers/decorateMetadata.js
76
51
  function __decorateMetadata(k, v) {
77
52
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
78
53
  }
79
54
 
80
55
  //#endregion
81
- //#region \0@oxc-project+runtime@0.93.0/helpers/decorateParam.js
56
+ //#region \0@oxc-project+runtime@0.103.0/helpers/decorateParam.js
82
57
  function __decorateParam(paramIndex, decorator) {
83
58
  return function(target, key) {
84
59
  decorator(target, key, paramIndex);
@@ -104,8 +79,8 @@ let HcaptchaService = class HcaptchaService$1 {
104
79
  }
105
80
  };
106
81
  HcaptchaService = __decorate([
107
- (0, __nestjs_common.Injectable)(),
108
- __decorateParam(0, (0, __nestjs_common.Inject)(NORMALIZED_HCAPTCHA_OPTIONS)),
82
+ (0, _nestjs_common.Injectable)(),
83
+ __decorateParam(0, (0, _nestjs_common.Inject)(NORMALIZED_HCAPTCHA_OPTIONS)),
109
84
  __decorateMetadata("design:paramtypes", [Object])
110
85
  ], HcaptchaService);
111
86
 
@@ -124,8 +99,8 @@ let HcaptchaGuard = class HcaptchaGuard$1 {
124
99
  }
125
100
  };
126
101
  HcaptchaGuard = __decorate([
127
- (0, __nestjs_common.Injectable)(),
128
- __decorateParam(0, (0, __nestjs_common.Inject)(NORMALIZED_HCAPTCHA_OPTIONS)),
102
+ (0, _nestjs_common.Injectable)(),
103
+ __decorateParam(0, (0, _nestjs_common.Inject)(NORMALIZED_HCAPTCHA_OPTIONS)),
129
104
  __decorateMetadata("design:paramtypes", [Object, typeof (_ref = typeof HcaptchaService !== "undefined" && HcaptchaService) === "function" ? _ref : Object])
130
105
  ], HcaptchaGuard);
131
106
 
@@ -145,14 +120,14 @@ let HcaptchaModule = class HcaptchaModule$1 {
145
120
  };
146
121
  }
147
122
  };
148
- HcaptchaModule = __decorate([(0, __nestjs_common.Module)({
123
+ HcaptchaModule = __decorate([(0, _nestjs_common.Module)({
149
124
  providers: [HcaptchaService],
150
125
  exports: [HcaptchaService]
151
126
  })], HcaptchaModule);
152
127
 
153
128
  //#endregion
154
129
  //#region src/lib/verify-captcha.decorator.ts
155
- const VerifyCaptcha = () => (0, __nestjs_common.applyDecorators)((0, __nestjs_common.UseGuards)(HcaptchaGuard));
130
+ const VerifyCaptcha = () => (0, _nestjs_common.applyDecorators)((0, _nestjs_common.UseGuards)(HcaptchaGuard));
156
131
 
157
132
  //#endregion
158
133
  exports.HcaptchaException = HcaptchaException;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["ForbiddenException","defaultGetCaptchaData: GetCaptchaData","NORMALIZED_HCAPTCHA_OPTIONS: symbol","host: ConfigurableModuleHost<HcaptchaOptions, \"forRoot\", \"create\">","ConfigurableModuleBuilder","HcaptchaOptionsModule","HcaptchaService","options: NormalizedHcaptchaOptions","verifyResponse: VerifyResponse","HcaptchaGuard","options: NormalizedHcaptchaOptions","hcaptchaService: HcaptchaService","HcaptchaModule"],"sources":["../src/lib/hcaptcha.exception.ts","../src/lib/get-captcha-data/get-captcha-data.ts","../src/lib/options/hcaptcha-options.module.ts","../src/lib/hcaptcha.service.ts","../src/lib/hcaptcha.guard.ts","../src/lib/hcaptcha.module.ts","../src/lib/verify-captcha.decorator.ts"],"sourcesContent":["import { ForbiddenException } from '@nestjs/common';\n\nexport class HcaptchaException extends ForbiddenException {\n constructor(cause: unknown, message = 'Forbidden') {\n super(message, { cause });\n }\n}\n","import type { ExecutionContext } from \"@nestjs/common\";\nimport { HcaptchaException } from \"../hcaptcha.exception\";\n\nexport type CaptchaData = {\n token: string;\n remoteip?: string;\n};\n\nexport type GetCaptchaData = (\n executionContext: ExecutionContext,\n) => CaptchaData;\n\nexport const defaultGetCaptchaData: GetCaptchaData = (context) => {\n const request = context.switchToHttp().getRequest();\n\n const token = request.body[\"h-captcha-response\"];\n\n if (!token) {\n throw new HcaptchaException(\n new Error(\"No hCaptcha token present in request body\"),\n );\n }\n\n return {\n token,\n };\n};\n","import {\n ConfigurableModuleBuilder,\n Module,\n type ConfigurableModuleHost,\n} from \"@nestjs/common\";\n\nimport { defaultGetCaptchaData } from \"../get-captcha-data\";\nimport type {\n HcaptchaOptions,\n NormalizedHcaptchaOptions,\n} from \"./hcaptcha-options.types\";\n\nconst PROVIDED_HCAPTCHA_OPTIONS = Symbol(\"PROVIDED_HCAPTCHA_OPTIONS\");\n\nexport const NORMALIZED_HCAPTCHA_OPTIONS: symbol = Symbol(\n \"NORMALIZED_HCAPTCHA_OPTIONS\",\n);\n\nconst normalizeOptions = (\n options: HcaptchaOptions,\n): NormalizedHcaptchaOptions => ({\n getCaptchaData: defaultGetCaptchaData,\n ...options,\n});\n\nconst host: ConfigurableModuleHost<HcaptchaOptions, \"forRoot\", \"create\"> =\n new ConfigurableModuleBuilder<HcaptchaOptions>({\n optionsInjectionToken: PROVIDED_HCAPTCHA_OPTIONS,\n })\n .setClassMethodName(\"forRoot\")\n .setExtras({}, (def) => ({\n ...def,\n global: true,\n providers: [\n ...(def.providers ?? []),\n {\n provide: NORMALIZED_HCAPTCHA_OPTIONS,\n useFactory: normalizeOptions,\n inject: [PROVIDED_HCAPTCHA_OPTIONS],\n },\n ],\n exports: [NORMALIZED_HCAPTCHA_OPTIONS],\n }))\n .build();\n\n@Module({})\nexport class HcaptchaOptionsModule extends host.ConfigurableModuleClass {}\n\nexport type AsyncHcaptchaOptions = typeof host.ASYNC_OPTIONS_TYPE;\n","import { Injectable, Inject } from \"@nestjs/common\";\nimport { verify } from \"hcaptcha\";\n\nimport { NORMALIZED_HCAPTCHA_OPTIONS } from \"./options\";\nimport type { NormalizedHcaptchaOptions } from \"./options\";\nimport { HcaptchaException } from \"./hcaptcha.exception\";\nimport type { VerifyResponse } from \"./typings\";\n\n@Injectable()\nexport class HcaptchaService {\n constructor(\n @Inject(NORMALIZED_HCAPTCHA_OPTIONS)\n private readonly options: NormalizedHcaptchaOptions,\n ) {}\n\n async verifyCaptcha(\n token: string,\n remoteip?: string,\n ): Promise<VerifyResponse> {\n let verifyResponse: VerifyResponse;\n\n try {\n verifyResponse = await verify(\n this.options.secret,\n token,\n remoteip,\n this.options.sitekey,\n );\n } catch (e) {\n throw new HcaptchaException(e);\n }\n\n const { success } = verifyResponse;\n\n if (!success) {\n throw new HcaptchaException(verifyResponse);\n }\n\n return verifyResponse;\n }\n}\n","import {\n type CanActivate,\n type ExecutionContext,\n Inject,\n Injectable,\n} from \"@nestjs/common\";\n\nimport { NORMALIZED_HCAPTCHA_OPTIONS } from \"./options\";\nimport type { NormalizedHcaptchaOptions } from \"./options\";\nimport { HcaptchaService } from \"./hcaptcha.service\";\n\n@Injectable()\nexport class HcaptchaGuard implements CanActivate {\n constructor(\n @Inject(NORMALIZED_HCAPTCHA_OPTIONS)\n private readonly options: NormalizedHcaptchaOptions,\n private readonly hcaptchaService: HcaptchaService,\n ) {}\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n const { token, remoteip } = this.options.getCaptchaData(context);\n\n await this.hcaptchaService.verifyCaptcha(token, remoteip);\n\n return true;\n }\n}\n","import { type DynamicModule, Module } from \"@nestjs/common\";\n\nimport {\n HcaptchaOptionsModule,\n type HcaptchaOptions,\n type AsyncHcaptchaOptions,\n} from \"./options\";\nimport { HcaptchaService } from \"./hcaptcha.service\";\n\n@Module({\n providers: [HcaptchaService],\n exports: [HcaptchaService],\n})\nexport class HcaptchaModule {\n static forRoot(options: HcaptchaOptions): DynamicModule {\n return {\n module: this,\n imports: [HcaptchaOptionsModule.forRoot(options)],\n };\n }\n\n static forRootAsync(options: AsyncHcaptchaOptions): DynamicModule {\n return {\n module: this,\n imports: [HcaptchaOptionsModule.forRootAsync(options)],\n };\n }\n}\n","import { UseGuards, applyDecorators } from \"@nestjs/common\";\n\nimport { HcaptchaGuard } from \"./hcaptcha.guard\";\n\nexport const VerifyCaptcha = (): ReturnType<typeof applyDecorators> =>\n applyDecorators(UseGuards(HcaptchaGuard));\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAa,oBAAb,cAAuCA,mCAAmB;CACxD,YAAY,OAAgB,UAAU,aAAa;AACjD,QAAM,SAAS,EAAE,OAAO,CAAC;;;;;;ACQ7B,MAAaC,yBAAyC,YAAY;CAGhE,MAAM,QAFU,QAAQ,cAAc,CAAC,YAAY,CAE7B,KAAK;AAE3B,KAAI,CAAC,MACH,OAAM,IAAI,kCACR,IAAI,MAAM,4CAA4C,CACvD;AAGH,QAAO,EACL,OACD;;;;;;;;;;;;;;ACbH,MAAM,4BAA4B,OAAO,4BAA4B;AAErE,MAAaC,8BAAsC,OACjD,8BACD;AAED,MAAM,oBACJ,aAC+B;CAC/B,gBAAgB;CAChB,GAAG;CACJ;AAED,MAAMC,OACJ,IAAIC,0CAA2C,EAC7C,uBAAuB,2BACxB,CAAC,CACC,mBAAmB,UAAU,CAC7B,UAAU,EAAE,GAAG,SAAS;CACvB,GAAG;CACH,QAAQ;CACR,WAAW,CACT,GAAI,IAAI,aAAa,EAAE,EACvB;EACE,SAAS;EACT,YAAY;EACZ,QAAQ,CAAC,0BAA0B;EACpC,CACF;CACD,SAAS,CAAC,4BAA4B;CACvC,EAAE,CACF,OAAO;AAGL,kCAAMC,gCAA8B,KAAK,wBAAwB;gEADhE,EAAE,CAAC;;;;;;;;;;;;;;;;;;ACpCJ,4BAAMC,kBAAgB;CAC3B,YACE,AACiBC,SACjB;EADiB;;CAGnB,MAAM,cACJ,OACA,UACyB;EACzB,IAAIC;AAEJ,MAAI;AACF,oBAAiB,2BACf,KAAK,QAAQ,QACb,OACA,UACA,KAAK,QAAQ,QACd;WACM,GAAG;AACV,SAAM,IAAI,kBAAkB,EAAE;;EAGhC,MAAM,EAAE,YAAY;AAEpB,MAAI,CAAC,QACH,OAAM,IAAI,kBAAkB,eAAe;AAG7C,SAAO;;;;kCA9BE;gDAGD,4BAA4B;;;;;;;ACCjC,0BAAMC,gBAAqC;CAChD,YACE,AACiBC,SACjB,AAAiBC,iBACjB;EAFiB;EACA;;CAGnB,MAAM,YAAY,SAA6C;EAC7D,MAAM,EAAE,OAAO,aAAa,KAAK,QAAQ,eAAe,QAAQ;AAEhE,QAAM,KAAK,gBAAgB,cAAc,OAAO,SAAS;AAEzD,SAAO;;;;kCAbE;gDAGD,4BAA4B;;;;;;ACDjC,2BAAMC,iBAAe;CAC1B,OAAO,QAAQ,SAAyC;AACtD,SAAO;GACL,QAAQ;GACR,SAAS,CAAC,sBAAsB,QAAQ,QAAQ,CAAC;GAClD;;CAGH,OAAO,aAAa,SAA8C;AAChE,SAAO;GACL,QAAQ;GACR,SAAS,CAAC,sBAAsB,aAAa,QAAQ,CAAC;GACvD;;;yDAhBG;CACN,WAAW,CAAC,gBAAgB;CAC5B,SAAS,CAAC,gBAAgB;CAC3B,CAAC;;;;ACRF,MAAa,0FACe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.cjs","names":["ForbiddenException","defaultGetCaptchaData: GetCaptchaData","NORMALIZED_HCAPTCHA_OPTIONS: symbol","host: ConfigurableModuleHost<HcaptchaOptions, \"forRoot\", \"create\">","ConfigurableModuleBuilder","HcaptchaOptionsModule","HcaptchaService","options: NormalizedHcaptchaOptions","verifyResponse: VerifyResponse","HcaptchaGuard","options: NormalizedHcaptchaOptions","hcaptchaService: HcaptchaService","HcaptchaModule"],"sources":["../src/lib/hcaptcha.exception.ts","../src/lib/get-captcha-data/get-captcha-data.ts","../src/lib/options/hcaptcha-options.module.ts","../src/lib/hcaptcha.service.ts","../src/lib/hcaptcha.guard.ts","../src/lib/hcaptcha.module.ts","../src/lib/verify-captcha.decorator.ts"],"sourcesContent":["import { ForbiddenException } from '@nestjs/common';\n\nexport class HcaptchaException extends ForbiddenException {\n constructor(cause: unknown, message = 'Forbidden') {\n super(message, { cause });\n }\n}\n","import type { ExecutionContext } from \"@nestjs/common\";\nimport { HcaptchaException } from \"../hcaptcha.exception\";\n\nexport type CaptchaData = {\n token: string;\n remoteip?: string;\n};\n\nexport type GetCaptchaData = (\n executionContext: ExecutionContext,\n) => CaptchaData;\n\nexport const defaultGetCaptchaData: GetCaptchaData = (context) => {\n const request = context.switchToHttp().getRequest();\n\n const token = request.body[\"h-captcha-response\"];\n\n if (!token) {\n throw new HcaptchaException(\n new Error(\"No hCaptcha token present in request body\"),\n );\n }\n\n return {\n token,\n };\n};\n","import {\n ConfigurableModuleBuilder,\n Module,\n type ConfigurableModuleHost,\n} from \"@nestjs/common\";\n\nimport { defaultGetCaptchaData } from \"../get-captcha-data\";\nimport type {\n HcaptchaOptions,\n NormalizedHcaptchaOptions,\n} from \"./hcaptcha-options.types\";\n\nconst PROVIDED_HCAPTCHA_OPTIONS = Symbol(\"PROVIDED_HCAPTCHA_OPTIONS\");\n\nexport const NORMALIZED_HCAPTCHA_OPTIONS: symbol = Symbol(\n \"NORMALIZED_HCAPTCHA_OPTIONS\",\n);\n\nconst normalizeOptions = (\n options: HcaptchaOptions,\n): NormalizedHcaptchaOptions => ({\n getCaptchaData: defaultGetCaptchaData,\n ...options,\n});\n\nconst host: ConfigurableModuleHost<HcaptchaOptions, \"forRoot\", \"create\"> =\n new ConfigurableModuleBuilder<HcaptchaOptions>({\n optionsInjectionToken: PROVIDED_HCAPTCHA_OPTIONS,\n })\n .setClassMethodName(\"forRoot\")\n .setExtras({}, (def) => ({\n ...def,\n global: true,\n providers: [\n ...(def.providers ?? []),\n {\n provide: NORMALIZED_HCAPTCHA_OPTIONS,\n useFactory: normalizeOptions,\n inject: [PROVIDED_HCAPTCHA_OPTIONS],\n },\n ],\n exports: [NORMALIZED_HCAPTCHA_OPTIONS],\n }))\n .build();\n\n@Module({})\nexport class HcaptchaOptionsModule extends host.ConfigurableModuleClass {}\n\nexport type AsyncHcaptchaOptions = typeof host.ASYNC_OPTIONS_TYPE;\n","import { Injectable, Inject } from \"@nestjs/common\";\nimport { verify } from \"hcaptcha\";\n\nimport { NORMALIZED_HCAPTCHA_OPTIONS } from \"./options\";\nimport type { NormalizedHcaptchaOptions } from \"./options\";\nimport { HcaptchaException } from \"./hcaptcha.exception\";\nimport type { VerifyResponse } from \"./typings\";\n\n@Injectable()\nexport class HcaptchaService {\n constructor(\n @Inject(NORMALIZED_HCAPTCHA_OPTIONS)\n private readonly options: NormalizedHcaptchaOptions,\n ) {}\n\n async verifyCaptcha(\n token: string,\n remoteip?: string,\n ): Promise<VerifyResponse> {\n let verifyResponse: VerifyResponse;\n\n try {\n verifyResponse = await verify(\n this.options.secret,\n token,\n remoteip,\n this.options.sitekey,\n );\n } catch (e) {\n throw new HcaptchaException(e);\n }\n\n const { success } = verifyResponse;\n\n if (!success) {\n throw new HcaptchaException(verifyResponse);\n }\n\n return verifyResponse;\n }\n}\n","import {\n type CanActivate,\n type ExecutionContext,\n Inject,\n Injectable,\n} from \"@nestjs/common\";\n\nimport { NORMALIZED_HCAPTCHA_OPTIONS } from \"./options\";\nimport type { NormalizedHcaptchaOptions } from \"./options\";\nimport { HcaptchaService } from \"./hcaptcha.service\";\n\n@Injectable()\nexport class HcaptchaGuard implements CanActivate {\n constructor(\n @Inject(NORMALIZED_HCAPTCHA_OPTIONS)\n private readonly options: NormalizedHcaptchaOptions,\n private readonly hcaptchaService: HcaptchaService,\n ) {}\n\n async canActivate(context: ExecutionContext): Promise<boolean> {\n const { token, remoteip } = this.options.getCaptchaData(context);\n\n await this.hcaptchaService.verifyCaptcha(token, remoteip);\n\n return true;\n }\n}\n","import { type DynamicModule, Module } from \"@nestjs/common\";\n\nimport {\n HcaptchaOptionsModule,\n type HcaptchaOptions,\n type AsyncHcaptchaOptions,\n} from \"./options\";\nimport { HcaptchaService } from \"./hcaptcha.service\";\n\n@Module({\n providers: [HcaptchaService],\n exports: [HcaptchaService],\n})\nexport class HcaptchaModule {\n static forRoot(options: HcaptchaOptions): DynamicModule {\n return {\n module: this,\n imports: [HcaptchaOptionsModule.forRoot(options)],\n };\n }\n\n static forRootAsync(options: AsyncHcaptchaOptions): DynamicModule {\n return {\n module: this,\n imports: [HcaptchaOptionsModule.forRootAsync(options)],\n };\n }\n}\n","import { UseGuards, applyDecorators } from \"@nestjs/common\";\n\nimport { HcaptchaGuard } from \"./hcaptcha.guard\";\n\nexport const VerifyCaptcha = (): ReturnType<typeof applyDecorators> =>\n applyDecorators(UseGuards(HcaptchaGuard));\n"],"mappings":";;;;AAEA,IAAa,oBAAb,cAAuCA,kCAAmB;CACxD,YAAY,OAAgB,UAAU,aAAa;AACjD,QAAM,SAAS,EAAE,OAAO,CAAC;;;;;;ACQ7B,MAAaC,yBAAyC,YAAY;CAGhE,MAAM,QAFU,QAAQ,cAAc,CAAC,YAAY,CAE7B,KAAK;AAE3B,KAAI,CAAC,MACH,OAAM,IAAI,kCACR,IAAI,MAAM,4CAA4C,CACvD;AAGH,QAAO,EACL,OACD;;;;;;;;;;;;;;ACbH,MAAM,4BAA4B,OAAO,4BAA4B;AAErE,MAAaC,8BAAsC,OACjD,8BACD;AAED,MAAM,oBACJ,aAC+B;CAC/B,gBAAgB;CAChB,GAAG;CACJ;AAED,MAAMC,OACJ,IAAIC,yCAA2C,EAC7C,uBAAuB,2BACxB,CAAC,CACC,mBAAmB,UAAU,CAC7B,UAAU,EAAE,GAAG,SAAS;CACvB,GAAG;CACH,QAAQ;CACR,WAAW,CACT,GAAI,IAAI,aAAa,EAAE,EACvB;EACE,SAAS;EACT,YAAY;EACZ,QAAQ,CAAC,0BAA0B;EACpC,CACF;CACD,SAAS,CAAC,4BAA4B;CACvC,EAAE,CACF,OAAO;AAGL,kCAAMC,gCAA8B,KAAK,wBAAwB;+DADhE,EAAE,CAAC;;;;;;;;;;;;;;;;;;ACpCJ,4BAAMC,kBAAgB;CAC3B,YACE,AACiBC,SACjB;EADiB;;CAGnB,MAAM,cACJ,OACA,UACyB;EACzB,IAAIC;AAEJ,MAAI;AACF,oBAAiB,2BACf,KAAK,QAAQ,QACb,OACA,UACA,KAAK,QAAQ,QACd;WACM,GAAG;AACV,SAAM,IAAI,kBAAkB,EAAE;;EAGhC,MAAM,EAAE,YAAY;AAEpB,MAAI,CAAC,QACH,OAAM,IAAI,kBAAkB,eAAe;AAG7C,SAAO;;;;iCA9BE;+CAGD,4BAA4B;;;;;;;ACCjC,0BAAMC,gBAAqC;CAChD,YACE,AACiBC,SACjB,AAAiBC,iBACjB;EAFiB;EACA;;CAGnB,MAAM,YAAY,SAA6C;EAC7D,MAAM,EAAE,OAAO,aAAa,KAAK,QAAQ,eAAe,QAAQ;AAEhE,QAAM,KAAK,gBAAgB,cAAc,OAAO,SAAS;AAEzD,SAAO;;;;iCAbE;+CAGD,4BAA4B;;;;;;ACDjC,2BAAMC,iBAAe;CAC1B,OAAO,QAAQ,SAAyC;AACtD,SAAO;GACL,QAAQ;GACR,SAAS,CAAC,sBAAsB,QAAQ,QAAQ,CAAC;GAClD;;CAGH,OAAO,aAAa,SAA8C;AAChE,SAAO;GACL,QAAQ;GACR,SAAS,CAAC,sBAAsB,aAAa,QAAQ,CAAC;GACvD;;;wDAhBG;CACN,WAAW,CAAC,gBAAgB;CAC5B,SAAS,CAAC,gBAAgB;CAC3B,CAAC;;;;ACRF,MAAa,wFACe,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gvrs/nestjs-hcaptcha",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "license": "MIT",
5
5
  "author": "Alex Gavrusev <alex@gavrusev.dev>",
6
6
  "repository": {
@@ -30,20 +30,20 @@
30
30
  "@nestjs/platform-express": "^11.1.5",
31
31
  "@nestjs/testing": "^11.1.5",
32
32
  "@types/express": "^5.0.3",
33
- "@types/node": "^24.1.0",
33
+ "@types/node": "^25.0.3",
34
34
  "@types/supertest": "^6.0.3",
35
- "@vitest/coverage-v8": "3.2.4",
35
+ "@vitest/coverage-v8": "4.0.16",
36
36
  "bumpp": "^10.2.1",
37
- "changelogithub": "^13.16.0",
37
+ "changelogithub": "^14.0.0",
38
38
  "hcaptcha": "^0.2.0",
39
39
  "nock": "^14.0.7",
40
40
  "oxlint": "^1.9.0",
41
- "pkg-pr-new": "^0.0.60",
41
+ "pkg-pr-new": "^0.0.62",
42
42
  "prettier": "^3.6.2",
43
43
  "supertest": "^7.1.4",
44
- "tsdown": "^0.15.6",
44
+ "tsdown": "^0.18.4",
45
45
  "unplugin-swc": "^1.5.5",
46
- "vitest": "^3.2.4",
46
+ "vitest": "^4.0.6",
47
47
  "vitest-mock-extended": "^3.1.0"
48
48
  },
49
49
  "sideEffects": false,