@prosopo/server 2.6.4 → 2.9.7

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/CHANGELOG.md CHANGED
@@ -1,5 +1,110 @@
1
1
  # @prosopo/server
2
2
 
3
+ ## 2.9.7
4
+ ### Patch Changes
5
+
6
+ - @prosopo/api@3.0.5
7
+ - @prosopo/load-balancer@2.6.13
8
+
9
+ ## 2.9.6
10
+ ### Patch Changes
11
+
12
+ - @prosopo/api@3.0.4
13
+ - @prosopo/load-balancer@2.6.12
14
+
15
+ ## 2.9.5
16
+ ### Patch Changes
17
+
18
+ - Updated dependencies [f682f0c]
19
+ - @prosopo/types@3.0.2
20
+ - @prosopo/common@3.0.2
21
+ - @prosopo/api@3.0.3
22
+ - @prosopo/keyring@2.8.5
23
+ - @prosopo/load-balancer@2.6.11
24
+
25
+ ## 2.9.4
26
+ ### Patch Changes
27
+
28
+ - @prosopo/common@3.0.1
29
+ - @prosopo/types@3.0.1
30
+ - @prosopo/keyring@2.8.4
31
+ - @prosopo/load-balancer@2.6.10
32
+ - @prosopo/api@3.0.2
33
+
34
+ ## 2.9.3
35
+ ### Patch Changes
36
+
37
+ - @prosopo/api@3.0.1
38
+
39
+ ## 2.9.2
40
+ ### Patch Changes
41
+
42
+ - Updated dependencies [64b5bcd]
43
+ - @prosopo/common@3.0.0
44
+ - @prosopo/types@3.0.0
45
+ - @prosopo/api@3.0.0
46
+ - @prosopo/keyring@2.8.3
47
+ - @prosopo/load-balancer@2.6.9
48
+
49
+ ## 2.9.1
50
+ ### Patch Changes
51
+
52
+ - Updated dependencies [aee3efe]
53
+ - @prosopo/types@2.10.0
54
+ - @prosopo/api@2.7.2
55
+ - @prosopo/keyring@2.8.2
56
+ - @prosopo/load-balancer@2.6.8
57
+
58
+ ## 2.9.0
59
+ ### Minor Changes
60
+
61
+ - d5f2e95: Fix ip checking logic
62
+
63
+ ## 2.8.1
64
+ ### Patch Changes
65
+
66
+ - 86c22b8: structured logging
67
+ - Updated dependencies [86c22b8]
68
+ - @prosopo/load-balancer@2.6.7
69
+ - @prosopo/keyring@2.8.1
70
+ - @prosopo/common@2.7.2
71
+ - @prosopo/types@2.9.1
72
+ - @prosopo/api@2.7.1
73
+
74
+ ## 2.8.0
75
+ ### Minor Changes
76
+
77
+ - d6de900: ip pass through
78
+
79
+ ### Patch Changes
80
+
81
+ - Updated dependencies [d6de900]
82
+ - @prosopo/api@2.7.0
83
+
84
+ ## 2.7.1
85
+ ### Patch Changes
86
+
87
+ - Updated dependencies [30bb383]
88
+ - @prosopo/keyring@2.8.0
89
+ - @prosopo/types@2.9.0
90
+ - @prosopo/common@2.7.1
91
+ - @prosopo/api@2.6.6
92
+ - @prosopo/load-balancer@2.6.6
93
+
94
+ ## 2.7.0
95
+ ### Minor Changes
96
+
97
+ - 8f0644a: Taking required functions from polkadot/keyring and polkadot/util-crypto in-house and removing WASM dependencies. Adding @scure JS-based sr25519 function instead.
98
+
99
+ ### Patch Changes
100
+
101
+ - Updated dependencies [8f0644a]
102
+ - @prosopo/keyring@2.7.0
103
+ - @prosopo/common@2.7.0
104
+ - @prosopo/types@2.8.0
105
+ - @prosopo/load-balancer@2.6.5
106
+ - @prosopo/api@2.6.5
107
+
3
108
  ## 2.6.4
4
109
 
5
110
  ### Patch Changes
@@ -4,7 +4,7 @@ const server = require("./server.cjs");
4
4
  const config = require("./config.cjs");
5
5
  const keyring = require("@prosopo/keyring");
6
6
  const PublicProsopoServer = async (config2) => {
7
- const pair = await keyring.getPairAsync(void 0, config2.account.address);
7
+ const pair = keyring.getPair(void 0, config2.account.address);
8
8
  return new server.ProsopoServer(config2, pair);
9
9
  };
10
10
  exports.ProsopoServer = server.ProsopoServer;
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const keyring = require("@polkadot/keyring");
4
- const util = require("@polkadot/util");
5
3
  const api = require("@prosopo/api");
6
4
  const common = require("@prosopo/common");
5
+ const keyring = require("@prosopo/keyring");
7
6
  const loadBalancer = require("@prosopo/load-balancer");
8
7
  const types = require("@prosopo/types");
8
+ const util = require("@prosopo/util");
9
9
  const i18n = require("i18next");
10
10
  class ProsopoServer {
11
11
  constructor(config, pair) {
@@ -34,8 +34,11 @@ class ProsopoServer {
34
34
  * @param user
35
35
  * @param challenge
36
36
  */
37
- async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge) {
38
- this.logger.info(`Verifying with provider: ${providerUrl}`);
37
+ async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge, ip) {
38
+ this.logger.info(() => ({
39
+ data: { providerUrl },
40
+ msg: "Verifying with provider"
41
+ }));
39
42
  const dappUserSignature = this.pair?.sign(timestamp.toString());
40
43
  if (!dappUserSignature) {
41
44
  throw new common.ProsopoContractError("CAPTCHA.INVALID_TIMESTAMP", {
@@ -48,7 +51,10 @@ class ProsopoServer {
48
51
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
49
52
  const recent2 = timestamp ? Date.now() - timestamp < powTimeout : false;
50
53
  if (!recent2) {
51
- this.logger.error("PoW captcha is not recent");
54
+ this.logger.error(() => ({
55
+ data: { timestamp },
56
+ msg: "PoW captcha is not recent"
57
+ }));
52
58
  return {
53
59
  verified: false,
54
60
  status: i18n.t("API.USER_NOT_VERIFIED_TIME_EXPIRED")
@@ -58,13 +64,17 @@ class ProsopoServer {
58
64
  token,
59
65
  signatureHex,
60
66
  timeouts.pow.cachedTimeout,
61
- user
67
+ user,
68
+ ip
62
69
  );
63
70
  }
64
71
  const imageTimeout = this.config.timeouts.image.cachedTimeout;
65
72
  const recent = timestamp ? Date.now() - timestamp < imageTimeout : false;
66
73
  if (!recent) {
67
- this.logger.error("Image captcha is not recent");
74
+ this.logger.error(() => ({
75
+ data: { timestamp },
76
+ msg: "Image captcha is not recent"
77
+ }));
68
78
  return {
69
79
  verified: false,
70
80
  status: i18n.t("API.USER_NOT_VERIFIED_TIME_EXPIRED")
@@ -74,7 +84,8 @@ class ProsopoServer {
74
84
  token,
75
85
  signatureHex,
76
86
  user,
77
- timeouts.image.cachedTimeout
87
+ timeouts.image.cachedTimeout,
88
+ ip
78
89
  );
79
90
  }
80
91
  /**
@@ -82,29 +93,43 @@ class ProsopoServer {
82
93
  * @returns
83
94
  * @param token
84
95
  */
85
- async isVerified(token) {
96
+ async isVerified(token, ip) {
86
97
  try {
87
98
  const payload = types.decodeProcaptchaOutput(token);
88
99
  const { providerUrl, challenge, timestamp, user } = types.ProcaptchaOutputSchema.parse(payload);
89
100
  const providers = await loadBalancer.loadBalancer(this.config.defaultEnvironment);
90
101
  const provider = providers.find((p) => p.url === providerUrl);
91
102
  if (!provider) {
92
- this.logger.error("Provider not found");
103
+ this.logger.error(() => ({
104
+ data: { providerUrl },
105
+ msg: "Provider not found"
106
+ }));
93
107
  return {
94
108
  verified: false,
95
109
  status: i18n.t("API.USER_NOT_VERIFIED")
96
110
  };
97
111
  }
98
- return await this.verifyProvider(
112
+ const verificationResponse = await this.verifyProvider(
99
113
  token,
100
114
  this.config.timeouts,
101
115
  provider.url,
102
116
  Number(timestamp),
103
117
  user,
104
- challenge
118
+ challenge,
119
+ ip
105
120
  );
121
+ this.logger.info(() => ({
122
+ data: {
123
+ verificationResponse,
124
+ providerUrl,
125
+ user,
126
+ challenge,
127
+ siteKey: this.pair?.address
128
+ }
129
+ }));
130
+ return verificationResponse;
106
131
  } catch (err) {
107
- this.logger.error({ err, token });
132
+ this.logger.error(() => ({ err, data: { token } }));
108
133
  throw new common.ProsopoApiError("API.BAD_REQUEST", {
109
134
  context: { code: 500, token }
110
135
  });
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { ProsopoServer } from "./server.js";
2
2
  export { ProsopoServer } from "./server.js";
3
3
  export { getServerConfig, getServerUrl } from "./config.js";
4
- import { getPairAsync } from "@prosopo/keyring";
4
+ import { getPair } from "@prosopo/keyring";
5
5
  export const PublicProsopoServer = async (config) => {
6
- const pair = await getPairAsync(undefined, config.account.address);
6
+ const pair = getPair(undefined, config.account.address);
7
7
  return new ProsopoServer(config, pair);
8
8
  };
9
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACvC,MAAiC,EAChC,EAAE;IAEH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACnE,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACvC,MAAiC,EAChC,EAAE;IAEH,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxC,CAAC,CAAC"}
package/dist/server.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { Keyring } from "@polkadot/keyring";
2
- import type { KeyringPair } from "@polkadot/keyring/types";
3
1
  import { ProviderApi } from "@prosopo/api";
4
2
  import { type Logger } from "@prosopo/common";
3
+ import { Keyring } from "@prosopo/keyring";
4
+ import type { KeyringPair } from "@prosopo/types";
5
5
  import { type CaptchaTimeoutOutput, type ProcaptchaToken, type ProsopoServerConfigOutput, type VerificationResponse } from "@prosopo/types";
6
6
  export declare class ProsopoServer {
7
7
  config: ProsopoServerConfigOutput;
@@ -12,7 +12,7 @@ export declare class ProsopoServer {
12
12
  pair: KeyringPair | undefined;
13
13
  constructor(config: ProsopoServerConfigOutput, pair?: KeyringPair);
14
14
  getProviderApi(providerUrl: string): ProviderApi;
15
- verifyProvider(token: string, timeouts: CaptchaTimeoutOutput, providerUrl: string, timestamp: number, user: string, challenge?: string): Promise<VerificationResponse>;
16
- isVerified(token: ProcaptchaToken): Promise<VerificationResponse>;
15
+ verifyProvider(token: string, timeouts: CaptchaTimeoutOutput, providerUrl: string, timestamp: number, user: string, challenge?: string, ip?: string): Promise<VerificationResponse>;
16
+ isVerified(token: ProcaptchaToken, ip?: string): Promise<VerificationResponse>;
17
17
  }
18
18
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAEN,KAAK,MAAM,EAIX,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACN,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAEzB,MAAM,gBAAgB,CAAC;AAGxB,qBAAa,aAAa;IACzB,MAAM,EAAE,yBAAyB,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;gBAElB,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW;IAcjE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAcnC,cAAc,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAkDnB,UAAU,CACtB,KAAK,EAAE,eAAe,GACpB,OAAO,CAAC,oBAAoB,CAAC;CAqChC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAEN,KAAK,MAAM,EAIX,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EACN,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,yBAAyB,EAC9B,KAAK,oBAAoB,EAEzB,MAAM,gBAAgB,CAAC;AAIxB,qBAAa,aAAa;IACzB,MAAM,EAAE,yBAAyB,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,GAAG,SAAS,CAAC;gBAElB,MAAM,EAAE,yBAAyB,EAAE,IAAI,CAAC,EAAE,WAAW;IAcjE,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,WAAW;IAcnC,cAAc,CAC1B,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,SAAS,CAAC,EAAE,MAAM,EAClB,EAAE,CAAC,EAAE,MAAM,GACT,OAAO,CAAC,oBAAoB,CAAC;IA6DnB,UAAU,CACtB,KAAK,EAAE,eAAe,EACtB,EAAE,CAAC,EAAE,MAAM,GACT,OAAO,CAAC,oBAAoB,CAAC;CAoDhC"}
package/dist/server.js CHANGED
@@ -1,9 +1,9 @@
1
- import { Keyring } from "@polkadot/keyring";
2
- import { u8aToHex } from "@polkadot/util";
3
1
  import { ProviderApi } from "@prosopo/api";
4
2
  import { ProsopoApiError, ProsopoContractError, getLogger, } from "@prosopo/common";
3
+ import { Keyring } from "@prosopo/keyring";
5
4
  import { loadBalancer } from "@prosopo/load-balancer";
6
5
  import { ProcaptchaOutputSchema, decodeProcaptchaOutput, } from "@prosopo/types";
6
+ import { u8aToHex } from "@prosopo/util";
7
7
  import i18n from "i18next";
8
8
  export class ProsopoServer {
9
9
  constructor(config, pair) {
@@ -19,8 +19,11 @@ export class ProsopoServer {
19
19
  getProviderApi(providerUrl) {
20
20
  return new ProviderApi(providerUrl, this.dappAccount || "");
21
21
  }
22
- async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge) {
23
- this.logger.info(`Verifying with provider: ${providerUrl}`);
22
+ async verifyProvider(token, timeouts, providerUrl, timestamp, user, challenge, ip) {
23
+ this.logger.info(() => ({
24
+ data: { providerUrl },
25
+ msg: "Verifying with provider",
26
+ }));
24
27
  const dappUserSignature = this.pair?.sign(timestamp.toString());
25
28
  if (!dappUserSignature) {
26
29
  throw new ProsopoContractError("CAPTCHA.INVALID_TIMESTAMP", {
@@ -33,42 +36,61 @@ export class ProsopoServer {
33
36
  const powTimeout = this.config.timeouts.pow.cachedTimeout;
34
37
  const recent = timestamp ? Date.now() - timestamp < powTimeout : false;
35
38
  if (!recent) {
36
- this.logger.error("PoW captcha is not recent");
39
+ this.logger.error(() => ({
40
+ data: { timestamp },
41
+ msg: "PoW captcha is not recent",
42
+ }));
37
43
  return {
38
44
  verified: false,
39
45
  status: i18n.t("API.USER_NOT_VERIFIED_TIME_EXPIRED"),
40
46
  };
41
47
  }
42
- return await providerApi.submitPowCaptchaVerify(token, signatureHex, timeouts.pow.cachedTimeout, user);
48
+ return await providerApi.submitPowCaptchaVerify(token, signatureHex, timeouts.pow.cachedTimeout, user, ip);
43
49
  }
44
50
  const imageTimeout = this.config.timeouts.image.cachedTimeout;
45
51
  const recent = timestamp ? Date.now() - timestamp < imageTimeout : false;
46
52
  if (!recent) {
47
- this.logger.error("Image captcha is not recent");
53
+ this.logger.error(() => ({
54
+ data: { timestamp },
55
+ msg: "Image captcha is not recent",
56
+ }));
48
57
  return {
49
58
  verified: false,
50
59
  status: i18n.t("API.USER_NOT_VERIFIED_TIME_EXPIRED"),
51
60
  };
52
61
  }
53
- return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout);
62
+ return await providerApi.verifyDappUser(token, signatureHex, user, timeouts.image.cachedTimeout, ip);
54
63
  }
55
- async isVerified(token) {
64
+ async isVerified(token, ip) {
56
65
  try {
57
66
  const payload = decodeProcaptchaOutput(token);
58
67
  const { providerUrl, challenge, timestamp, user } = ProcaptchaOutputSchema.parse(payload);
59
68
  const providers = await loadBalancer(this.config.defaultEnvironment);
60
69
  const provider = providers.find((p) => p.url === providerUrl);
61
70
  if (!provider) {
62
- this.logger.error("Provider not found");
71
+ this.logger.error(() => ({
72
+ data: { providerUrl },
73
+ msg: "Provider not found",
74
+ }));
63
75
  return {
64
76
  verified: false,
65
77
  status: i18n.t("API.USER_NOT_VERIFIED"),
66
78
  };
67
79
  }
68
- return await this.verifyProvider(token, this.config.timeouts, provider.url, Number(timestamp), user, challenge);
80
+ const verificationResponse = await this.verifyProvider(token, this.config.timeouts, provider.url, Number(timestamp), user, challenge, ip);
81
+ this.logger.info(() => ({
82
+ data: {
83
+ verificationResponse,
84
+ providerUrl,
85
+ user,
86
+ challenge,
87
+ siteKey: this.pair?.address,
88
+ },
89
+ }));
90
+ return verificationResponse;
69
91
  }
70
92
  catch (err) {
71
- this.logger.error({ err, token });
93
+ this.logger.error(() => ({ err, data: { token } }));
72
94
  throw new ProsopoApiError("API.BAD_REQUEST", {
73
95
  context: { code: 500, token },
74
96
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@prosopo/server",
3
- "version": "2.6.4",
3
+ "version": "2.9.7",
4
4
  "description": "NodeJS package for server side communication with the prosopo captcha client",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -32,25 +32,29 @@
32
32
  "homepage": "https://github.com/prosopo/captcha#readme",
33
33
  "sideEffects": false,
34
34
  "dependencies": {
35
- "@polkadot/keyring": "12.6.2",
36
35
  "@polkadot/util": "12.6.2",
37
- "@prosopo/api": "2.6.4",
38
- "@prosopo/common": "2.6.1",
39
- "@prosopo/keyring": "2.6.4",
40
- "@prosopo/load-balancer": "2.6.4",
41
- "@prosopo/types": "2.7.1",
42
- "express": "4.21.2"
36
+ "@prosopo/api": "3.0.5",
37
+ "@prosopo/common": "3.0.2",
38
+ "@prosopo/keyring": "2.8.5",
39
+ "@prosopo/load-balancer": "2.6.13",
40
+ "@prosopo/types": "3.0.2",
41
+ "@typegoose/auto-increment": "4.13.0",
42
+ "axios": "1.10.0",
43
+ "esbuild": "0.25.6",
44
+ "express": "4.21.2",
45
+ "openpgp": "5.11.3",
46
+ "webpack-dev-server": "5.2.2"
43
47
  },
44
48
  "devDependencies": {
45
- "@prosopo/config": "2.6.0",
49
+ "@prosopo/config": "3.1.0",
46
50
  "@vitest/coverage-v8": "3.0.9",
47
51
  "concurrently": "9.0.1",
48
52
  "del-cli": "6.0.0",
49
- "npm-run-all": "2.1.0",
53
+ "npm-run-all": "4.1.5",
50
54
  "tslib": "2.7.0",
51
- "tsx": "4.19.1",
55
+ "tsx": "4.20.3",
52
56
  "typescript": "5.6.2",
53
- "vite": "6.2.3",
57
+ "vite": "6.3.5",
54
58
  "vitest": "3.0.9"
55
59
  }
56
60
  }