surgio 3.4.3 → 3.5.1

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 (78) hide show
  1. package/build/base-command.js.map +1 -1
  2. package/build/commands/check.js.map +1 -1
  3. package/build/commands/clean-cache.js.map +1 -1
  4. package/build/commands/generate.js +3 -1
  5. package/build/commands/generate.js.map +1 -1
  6. package/build/commands/lint.js.map +1 -1
  7. package/build/commands/subscriptions.js.map +1 -1
  8. package/build/commands/upload.js.map +1 -1
  9. package/build/config.js.map +1 -1
  10. package/build/constant/constant.d.ts +9 -0
  11. package/build/constant/constant.js +76 -1
  12. package/build/constant/constant.js.map +1 -1
  13. package/build/filters/utils.js.map +1 -1
  14. package/build/generator/artifact.d.ts +1 -219
  15. package/build/generator/artifact.js.map +1 -1
  16. package/build/generator/template.d.ts +4 -2
  17. package/build/generator/template.js +42 -23
  18. package/build/generator/template.js.map +1 -1
  19. package/build/provider/BlackSSLProvider.js.map +1 -1
  20. package/build/provider/ClashProvider.js +53 -26
  21. package/build/provider/ClashProvider.js.map +1 -1
  22. package/build/provider/CustomProvider.d.ts +2 -1
  23. package/build/provider/CustomProvider.js +33 -10
  24. package/build/provider/CustomProvider.js.map +1 -1
  25. package/build/provider/Provider.js.map +1 -1
  26. package/build/provider/ShadowsocksJsonSubscribeProvider.js.map +1 -1
  27. package/build/provider/ShadowsocksSubscribeProvider.js.map +1 -1
  28. package/build/provider/ShadowsocksrSubscribeProvider.js.map +1 -1
  29. package/build/provider/SsdProvider.js.map +1 -1
  30. package/build/provider/TrojanProvider.js.map +1 -1
  31. package/build/provider/V2rayNSubscribeProvider.js +52 -15
  32. package/build/provider/V2rayNSubscribeProvider.js.map +1 -1
  33. package/build/provider/index.js.map +1 -1
  34. package/build/redis.js.map +1 -1
  35. package/build/types.d.ts +2 -2
  36. package/build/types.js.map +1 -1
  37. package/build/utils/cache.js.map +1 -1
  38. package/build/utils/clash.d.ts +1 -220
  39. package/build/utils/clash.js +61 -31
  40. package/build/utils/clash.js.map +1 -1
  41. package/build/utils/dns.d.ts +1 -0
  42. package/build/utils/dns.js.map +1 -1
  43. package/build/utils/doctor.js.map +1 -1
  44. package/build/utils/error-helper.js.map +1 -1
  45. package/build/utils/errors.js.map +1 -1
  46. package/build/utils/flag.js.map +1 -1
  47. package/build/utils/index.d.ts +1 -2
  48. package/build/utils/index.js +59 -78
  49. package/build/utils/index.js.map +1 -1
  50. package/build/utils/loon.js +29 -6
  51. package/build/utils/loon.js.map +1 -1
  52. package/build/utils/quantumult.js +24 -12
  53. package/build/utils/quantumult.js.map +1 -1
  54. package/build/utils/relayable-url.js.map +1 -1
  55. package/build/utils/remote-snippet.js.map +1 -1
  56. package/build/utils/subscription.js.map +1 -1
  57. package/build/utils/surfboard.d.ts +1 -1
  58. package/build/utils/surfboard.js +14 -11
  59. package/build/utils/surfboard.js.map +1 -1
  60. package/build/utils/surge.d.ts +1 -1
  61. package/build/utils/surge.js +11 -12
  62. package/build/utils/surge.js.map +1 -1
  63. package/build/utils/tmp-helper.js.map +1 -1
  64. package/build/utils/trojan.js.map +1 -1
  65. package/build/utils/useragent.js.map +1 -1
  66. package/build/validators/common.d.ts +1 -1
  67. package/build/validators/common.js +1 -1
  68. package/build/validators/common.js.map +1 -1
  69. package/build/validators/shadowsocks.d.ts +2 -2
  70. package/build/validators/snell.d.ts +2 -2
  71. package/build/validators/surgio-config.d.ts +1 -0
  72. package/build/validators/surgio-config.js +7 -4
  73. package/build/validators/surgio-config.js.map +1 -1
  74. package/build/validators/trojan.d.ts +2 -2
  75. package/build/validators/vmess.d.ts +145 -21
  76. package/build/validators/vmess.js +59 -13
  77. package/build/validators/vmess.js.map +1 -1
  78. package/package.json +43 -42
@@ -1,5 +1,51 @@
1
1
  import { z } from 'zod';
2
2
  import { NodeTypeEnum } from '../types';
3
+ export declare const VmessNetworkValidator: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"tcp">, z.ZodLiteral<"ws">, z.ZodLiteral<"h2">, z.ZodLiteral<"http">, z.ZodLiteral<"grpc">]>>;
4
+ export declare const VmessMethodValidator: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"aes-128-gcm">, z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodLiteral<"chacha20-poly1305">, z.ZodLiteral<"auto">]>;
5
+ export declare const VmessWSOptsValidator: z.ZodObject<{
6
+ path: z.ZodString;
7
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
8
+ }, "strip", z.ZodTypeAny, {
9
+ path: string;
10
+ headers?: Record<string, string> | undefined;
11
+ }, {
12
+ path: string;
13
+ headers?: Record<string, string> | undefined;
14
+ }>;
15
+ export declare const VmessH2OptsValidator: z.ZodObject<{
16
+ path: z.ZodString;
17
+ host: z.ZodArray<z.ZodString, "atleastone">;
18
+ }, "strip", z.ZodTypeAny, {
19
+ host: [string, ...string[]];
20
+ path: string;
21
+ }, {
22
+ host: [string, ...string[]];
23
+ path: string;
24
+ }>;
25
+ export declare const VmessHttpOptsValidator: z.ZodObject<{
26
+ path: z.ZodArray<z.ZodString, "many">;
27
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
28
+ method: z.ZodDefault<z.ZodOptional<z.ZodString>>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ path: string[];
31
+ method: string;
32
+ headers?: Record<string, string> | undefined;
33
+ }, {
34
+ path: string[];
35
+ headers?: Record<string, string> | undefined;
36
+ method?: string | undefined;
37
+ }>;
38
+ export declare const VmessGRPCOptsValidator: z.ZodObject<{
39
+ serviceName: z.ZodString;
40
+ }, "strip", z.ZodTypeAny, {
41
+ serviceName: string;
42
+ }, {
43
+ serviceName: string;
44
+ }>;
45
+ /**
46
+ * @see https://stash.wiki/proxy-protocols/proxy-types#vmess
47
+ * @see https://wiki.metacubex.one/config/proxies/vmess/
48
+ */
3
49
  export declare const VmessNodeConfigValidator: z.ZodObject<{
4
50
  surgeConfig: z.ZodOptional<z.ZodObject<{
5
51
  resolveHostname: z.ZodOptional<z.ZodBoolean>;
@@ -64,28 +110,68 @@ export declare const VmessNodeConfigValidator: z.ZodObject<{
64
110
  type: z.ZodLiteral<NodeTypeEnum.Vmess>;
65
111
  hostname: z.ZodString;
66
112
  port: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
67
- method: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"aes-128-gcm">, z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodLiteral<"auto">]>;
113
+ method: z.ZodUnion<[z.ZodLiteral<"none">, z.ZodLiteral<"aes-128-gcm">, z.ZodLiteral<"chacha20-ietf-poly1305">, z.ZodLiteral<"chacha20-poly1305">, z.ZodLiteral<"auto">]>;
68
114
  uuid: z.ZodString;
69
- alterId: z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>;
70
- network: z.ZodUnion<[z.ZodLiteral<"tcp">, z.ZodLiteral<"ws">]>;
71
- tls: z.ZodBoolean;
72
- host: z.ZodOptional<z.ZodString>;
73
- path: z.ZodOptional<z.ZodString>;
115
+ alterId: z.ZodOptional<z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodString, z.ZodNumber]>, string | number, string | number>>>;
116
+ network: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"tcp">, z.ZodLiteral<"ws">, z.ZodLiteral<"h2">, z.ZodLiteral<"http">, z.ZodLiteral<"grpc">]>>;
74
117
  udpRelay: z.ZodOptional<z.ZodBoolean>;
118
+ wsOpts: z.ZodOptional<z.ZodObject<{
119
+ path: z.ZodString;
120
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ path: string;
123
+ headers?: Record<string, string> | undefined;
124
+ }, {
125
+ path: string;
126
+ headers?: Record<string, string> | undefined;
127
+ }>>;
128
+ h2Opts: z.ZodOptional<z.ZodObject<{
129
+ path: z.ZodString;
130
+ host: z.ZodArray<z.ZodString, "atleastone">;
131
+ }, "strip", z.ZodTypeAny, {
132
+ host: [string, ...string[]];
133
+ path: string;
134
+ }, {
135
+ host: [string, ...string[]];
136
+ path: string;
137
+ }>>;
138
+ httpOpts: z.ZodOptional<z.ZodObject<{
139
+ path: z.ZodArray<z.ZodString, "many">;
140
+ headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
141
+ method: z.ZodDefault<z.ZodOptional<z.ZodString>>;
142
+ }, "strip", z.ZodTypeAny, {
143
+ path: string[];
144
+ method: string;
145
+ headers?: Record<string, string> | undefined;
146
+ }, {
147
+ path: string[];
148
+ headers?: Record<string, string> | undefined;
149
+ method?: string | undefined;
150
+ }>>;
151
+ grpcOpts: z.ZodOptional<z.ZodObject<{
152
+ serviceName: z.ZodString;
153
+ }, "strip", z.ZodTypeAny, {
154
+ serviceName: string;
155
+ }, {
156
+ serviceName: string;
157
+ }>>;
158
+ tls: z.ZodOptional<z.ZodBoolean>;
159
+ sni: z.ZodOptional<z.ZodString>;
75
160
  tls13: z.ZodOptional<z.ZodBoolean>;
76
161
  skipCertVerify: z.ZodOptional<z.ZodBoolean>;
77
- wsHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
78
162
  serverCertFingerprintSha256: z.ZodOptional<z.ZodString>;
163
+ alpn: z.ZodOptional<z.ZodArray<z.ZodString, "atleastone">>;
164
+ host: z.ZodOptional<z.ZodString>;
165
+ path: z.ZodOptional<z.ZodString>;
166
+ wsHeaders: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
79
167
  }, "strip", z.ZodTypeAny, {
80
168
  port: string | number;
81
169
  type: NodeTypeEnum.Vmess;
82
170
  nodeName: string;
83
171
  hostname: string;
84
- method: "none" | "aes-128-gcm" | "chacha20-ietf-poly1305" | "auto";
85
- tls: boolean;
172
+ method: "none" | "aes-128-gcm" | "chacha20-ietf-poly1305" | "chacha20-poly1305" | "auto";
86
173
  uuid: string;
87
- alterId: string | number;
88
- network: "ws" | "tcp";
174
+ network: "tcp" | "http" | "ws" | "h2" | "grpc";
89
175
  surgeConfig?: {
90
176
  resolveHostname?: boolean | undefined;
91
177
  vmessAEAD?: boolean | undefined;
@@ -113,23 +199,40 @@ export declare const VmessNodeConfigValidator: z.ZodObject<{
113
199
  version?: string | number | undefined;
114
200
  } | undefined;
115
201
  testUrl?: string | undefined;
116
- host?: string | undefined;
117
- path?: string | undefined;
202
+ alterId?: string | number | undefined;
118
203
  udpRelay?: boolean | undefined;
204
+ wsOpts?: {
205
+ path: string;
206
+ headers?: Record<string, string> | undefined;
207
+ } | undefined;
208
+ h2Opts?: {
209
+ host: [string, ...string[]];
210
+ path: string;
211
+ } | undefined;
212
+ httpOpts?: {
213
+ path: string[];
214
+ method: string;
215
+ headers?: Record<string, string> | undefined;
216
+ } | undefined;
217
+ grpcOpts?: {
218
+ serviceName: string;
219
+ } | undefined;
220
+ tls?: boolean | undefined;
221
+ sni?: string | undefined;
119
222
  tls13?: boolean | undefined;
120
223
  skipCertVerify?: boolean | undefined;
121
- wsHeaders?: Record<string, string> | undefined;
122
224
  serverCertFingerprintSha256?: string | undefined;
225
+ alpn?: [string, ...string[]] | undefined;
226
+ host?: string | undefined;
227
+ path?: string | undefined;
228
+ wsHeaders?: Record<string, string> | undefined;
123
229
  }, {
124
230
  port: string | number;
125
231
  type: NodeTypeEnum.Vmess;
126
232
  nodeName: string;
127
233
  hostname: string;
128
- method: "none" | "aes-128-gcm" | "chacha20-ietf-poly1305" | "auto";
129
- tls: boolean;
234
+ method: "none" | "aes-128-gcm" | "chacha20-ietf-poly1305" | "chacha20-poly1305" | "auto";
130
235
  uuid: string;
131
- alterId: string | number;
132
- network: "ws" | "tcp";
133
236
  surgeConfig?: {
134
237
  resolveHostname?: boolean | undefined;
135
238
  vmessAEAD?: boolean | undefined;
@@ -157,11 +260,32 @@ export declare const VmessNodeConfigValidator: z.ZodObject<{
157
260
  version?: string | number | undefined;
158
261
  } | undefined;
159
262
  testUrl?: string | undefined;
160
- host?: string | undefined;
161
- path?: string | undefined;
263
+ alterId?: string | number | undefined;
264
+ network?: "tcp" | "http" | "ws" | "h2" | "grpc" | undefined;
162
265
  udpRelay?: boolean | undefined;
266
+ wsOpts?: {
267
+ path: string;
268
+ headers?: Record<string, string> | undefined;
269
+ } | undefined;
270
+ h2Opts?: {
271
+ host: [string, ...string[]];
272
+ path: string;
273
+ } | undefined;
274
+ httpOpts?: {
275
+ path: string[];
276
+ headers?: Record<string, string> | undefined;
277
+ method?: string | undefined;
278
+ } | undefined;
279
+ grpcOpts?: {
280
+ serviceName: string;
281
+ } | undefined;
282
+ tls?: boolean | undefined;
283
+ sni?: string | undefined;
163
284
  tls13?: boolean | undefined;
164
285
  skipCertVerify?: boolean | undefined;
165
- wsHeaders?: Record<string, string> | undefined;
166
286
  serverCertFingerprintSha256?: string | undefined;
287
+ alpn?: [string, ...string[]] | undefined;
288
+ host?: string | undefined;
289
+ path?: string | undefined;
290
+ wsHeaders?: Record<string, string> | undefined;
167
291
  }>;
@@ -1,29 +1,75 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VmessNodeConfigValidator = void 0;
3
+ exports.VmessNodeConfigValidator = exports.VmessGRPCOptsValidator = exports.VmessHttpOptsValidator = exports.VmessH2OptsValidator = exports.VmessWSOptsValidator = exports.VmessMethodValidator = exports.VmessNetworkValidator = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const types_1 = require("../types");
6
6
  const common_1 = require("./common");
7
+ exports.VmessNetworkValidator = zod_1.z
8
+ .union([
9
+ zod_1.z.literal('tcp'),
10
+ zod_1.z.literal('ws'),
11
+ zod_1.z.literal('h2'),
12
+ zod_1.z.literal('http'),
13
+ zod_1.z.literal('grpc'),
14
+ ])
15
+ .default('tcp');
16
+ exports.VmessMethodValidator = zod_1.z.union([
17
+ zod_1.z.literal('none'),
18
+ zod_1.z.literal('aes-128-gcm'),
19
+ zod_1.z.literal('chacha20-ietf-poly1305'),
20
+ zod_1.z.literal('chacha20-poly1305'),
21
+ zod_1.z.literal('auto'),
22
+ ]);
23
+ exports.VmessWSOptsValidator = zod_1.z.object({
24
+ path: zod_1.z.string(),
25
+ headers: zod_1.z.record(zod_1.z.string()).optional(),
26
+ });
27
+ exports.VmessH2OptsValidator = zod_1.z.object({
28
+ path: zod_1.z.string(),
29
+ host: zod_1.z.array(zod_1.z.string()).nonempty(),
30
+ });
31
+ exports.VmessHttpOptsValidator = zod_1.z.object({
32
+ path: zod_1.z.array(zod_1.z.string()),
33
+ headers: zod_1.z.record(zod_1.z.string()).optional(),
34
+ method: zod_1.z.ostring().default('GET'),
35
+ });
36
+ exports.VmessGRPCOptsValidator = zod_1.z.object({
37
+ serviceName: zod_1.z.string(),
38
+ });
39
+ /**
40
+ * @see https://stash.wiki/proxy-protocols/proxy-types#vmess
41
+ * @see https://wiki.metacubex.one/config/proxies/vmess/
42
+ */
7
43
  exports.VmessNodeConfigValidator = common_1.SimpleNodeConfigValidator.extend({
8
44
  type: zod_1.z.literal(types_1.NodeTypeEnum.Vmess),
9
45
  hostname: zod_1.z.string(),
10
46
  port: common_1.PortValidator,
11
- method: zod_1.z.union([
12
- zod_1.z.literal('none'),
13
- zod_1.z.literal('aes-128-gcm'),
14
- zod_1.z.literal('chacha20-ietf-poly1305'),
15
- zod_1.z.literal('auto'),
16
- ]),
47
+ method: exports.VmessMethodValidator,
17
48
  uuid: zod_1.z.string().uuid(),
18
- alterId: common_1.AlterIdValiator,
19
- network: zod_1.z.union([zod_1.z.literal('tcp'), zod_1.z.literal('ws')]),
20
- tls: zod_1.z.boolean(),
21
- host: zod_1.z.ostring(),
22
- path: zod_1.z.ostring(),
49
+ alterId: common_1.AlterIdValiator.optional(),
50
+ network: exports.VmessNetworkValidator,
23
51
  udpRelay: zod_1.z.oboolean(),
52
+ wsOpts: exports.VmessWSOptsValidator.optional(),
53
+ h2Opts: exports.VmessH2OptsValidator.optional(),
54
+ httpOpts: exports.VmessHttpOptsValidator.optional(),
55
+ grpcOpts: exports.VmessGRPCOptsValidator.optional(),
56
+ tls: zod_1.z.oboolean(),
57
+ sni: zod_1.z.ostring(),
24
58
  tls13: zod_1.z.oboolean(),
25
59
  skipCertVerify: zod_1.z.oboolean(),
26
- wsHeaders: zod_1.z.record(zod_1.z.string()).optional(),
27
60
  serverCertFingerprintSha256: zod_1.z.ostring(),
61
+ alpn: zod_1.z.array(zod_1.z.string()).nonempty().optional(),
62
+ /**
63
+ * @deprecated
64
+ */
65
+ host: zod_1.z.ostring(),
66
+ /**
67
+ * @deprecated
68
+ */
69
+ path: zod_1.z.ostring(),
70
+ /**
71
+ * @deprecated
72
+ */
73
+ wsHeaders: zod_1.z.record(zod_1.z.string()).optional(),
28
74
  });
29
75
  //# sourceMappingURL=vmess.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vmess.js","sourceRoot":"","sources":["../../src/validators/vmess.ts"],"names":[],"mappings":";;;AAAA,6BAAuB;AAEvB,oCAAuC;AACvC,qCAIiB;AAEJ,QAAA,wBAAwB,GAAG,kCAAyB,CAAC,MAAM,CAAC;IACvE,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,oBAAY,CAAC,KAAK,CAAC;IACnC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,IAAI,EAAE,sBAAa;IACnB,MAAM,EAAE,OAAC,CAAC,KAAK,CAAC;QACd,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACjB,OAAC,CAAC,OAAO,CAAC,aAAa,CAAC;QACxB,OAAC,CAAC,OAAO,CAAC,wBAAwB,CAAC;QACnC,OAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACvB,OAAO,EAAE,wBAAe;IACxB,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrD,GAAG,EAAE,OAAC,CAAC,OAAO,EAAE;IAChB,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE;IACjB,IAAI,EAAE,OAAC,CAAC,OAAO,EAAE;IACjB,QAAQ,EAAE,OAAC,CAAC,QAAQ,EAAE;IACtB,KAAK,EAAE,OAAC,CAAC,QAAQ,EAAE;IACnB,cAAc,EAAE,OAAC,CAAC,QAAQ,EAAE;IAC5B,SAAS,EAAE,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC1C,2BAA2B,EAAE,OAAC,CAAC,OAAO,EAAE;CACzC,CAAC,CAAA"}
1
+ {"version":3,"file":"vmess.js","sourceRoot":"","sources":["../../src/validators/vmess.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "surgio",
3
3
  "description": "Generating rules for Surge, Clash, Quantumult like a PRO",
4
- "version": "3.4.3",
4
+ "version": "3.5.1",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
7
7
  "bin": {
@@ -72,20 +72,20 @@
72
72
  "topics": {}
73
73
  },
74
74
  "dependencies": {
75
- "@babel/parser": "^7.23.0",
75
+ "@babel/parser": "^7.24.0",
76
76
  "@brillout/import": "^0.2.3",
77
77
  "@oclif/core": "^2.15.0",
78
78
  "@oclif/plugin-help": "^5.2.20",
79
- "@oclif/plugin-plugins": "^3.9.1",
79
+ "@oclif/plugin-plugins": "^3.9.4",
80
80
  "@royli/hygen": "^6.2.0",
81
81
  "@surgio/eslint-config-surgio": "^1.0.6",
82
82
  "@surgio/logger": "^1.3.0",
83
- "@types/eslint": "^8.44.4",
83
+ "@types/eslint": "^8.56.5",
84
84
  "agentkeepalive": "^4.5.0",
85
- "ali-oss": "^6.18.1",
85
+ "ali-oss": "^6.20.0",
86
86
  "bluebird": "^3.7.2",
87
87
  "bytes": "^3.1.2",
88
- "cache-manager": "^5.2.4",
88
+ "cache-manager": "^5.4.0",
89
89
  "cache-manager-ioredis-yet": "^1.2.2",
90
90
  "chalk": "^4.1.2",
91
91
  "change-case": "^4.1.2",
@@ -93,12 +93,12 @@
93
93
  "compare-versions": "^6.1.0",
94
94
  "date-fns": "^2.30.0",
95
95
  "detect-newline": "^3.1.0",
96
- "dotenv": "^16.3.1",
97
- "emoji-regex": "^10.2.1",
98
- "eslint": "^8.51.0",
96
+ "dotenv": "^16.4.5",
97
+ "emoji-regex": "^10.3.0",
98
+ "eslint": "^8.57.0",
99
99
  "execa": "^4.1.0",
100
100
  "filesize": "^10.1.0",
101
- "fs-extra": "^11.1.1",
101
+ "fs-extra": "^11.2.0",
102
102
  "got": "^11.8.6",
103
103
  "hpagent": "^1.2.0",
104
104
  "inquirer": "^8.2.6",
@@ -112,39 +112,40 @@
112
112
  "query-string": "^7.1.3",
113
113
  "rimraf": "^4.4.1",
114
114
  "source-map-support": "^0.5.21",
115
+ "ts-expect": "^1.3.0",
115
116
  "type-fest": "^3.13.1",
116
117
  "update-notifier": "^5.1.0",
117
118
  "urlsafe-base64": "^1.0.0",
118
- "yaml": "^2.3.2",
119
+ "yaml": "^2.4.0",
119
120
  "zod": "^3.22.4",
120
121
  "zod-validation-error": "^1.5.0"
121
122
  },
122
123
  "devDependencies": {
123
- "@algolia/client-search": "^4.20.0",
124
- "@commitlint/cli": "^17.7.2",
125
- "@commitlint/config-angular": "^17.7.0",
124
+ "@algolia/client-search": "^4.22.1",
125
+ "@commitlint/cli": "^17.8.1",
126
+ "@commitlint/config-angular": "^17.8.1",
126
127
  "@istanbuljs/nyc-config-typescript": "^1.0.2",
127
128
  "@oclif/test": "^2.5.6",
128
- "@types/ali-oss": "^6.16.9",
129
- "@types/bluebird": "^3.5.40",
130
- "@types/bytes": "^3.1.2",
131
- "@types/chai": "^4.3.8",
132
- "@types/debug": "^4.1.9",
133
- "@types/fs-extra": "^11.0.2",
134
- "@types/ini": "^1.3.31",
135
- "@types/inquirer": "^8.2.7",
136
- "@types/ioredis-mock": "^8.2.3",
137
- "@types/lodash": "^4.14.199",
138
- "@types/micromatch": "^4.0.3",
139
- "@types/mocha": "^10.0.2",
140
- "@types/ms": "^0.7.32",
141
- "@types/node": "^18.18.5",
129
+ "@types/ali-oss": "^6.16.11",
130
+ "@types/bluebird": "^3.5.42",
131
+ "@types/bytes": "^3.1.4",
132
+ "@types/chai": "^4.3.12",
133
+ "@types/debug": "^4.1.12",
134
+ "@types/fs-extra": "^11.0.4",
135
+ "@types/ini": "^1.3.34",
136
+ "@types/inquirer": "^8.2.10",
137
+ "@types/ioredis-mock": "^8.2.5",
138
+ "@types/lodash": "^4.14.202",
139
+ "@types/micromatch": "^4.0.6",
140
+ "@types/mocha": "^10.0.6",
141
+ "@types/ms": "^0.7.34",
142
+ "@types/node": "^18.19.21",
142
143
  "@types/node-dir": "^0.0.35",
143
- "@types/nunjucks": "^3.2.4",
144
- "@types/sinon": "^10.0.19",
145
- "@types/urlsafe-base64": "^1.0.29",
146
- "@typescript-eslint/eslint-plugin": "^5.62.0",
147
- "@typescript-eslint/parser": "^5.62.0",
144
+ "@types/nunjucks": "^3.2.6",
145
+ "@types/sinon": "^10.0.20",
146
+ "@types/urlsafe-base64": "^1.0.31",
147
+ "@typescript-eslint/eslint-plugin": "^7",
148
+ "@typescript-eslint/parser": "^7",
148
149
  "@vuepress/client": "2.0.0-beta.62",
149
150
  "@vuepress/plugin-docsearch": "2.0.0-beta.62",
150
151
  "@vuepress/plugin-google-analytics": "2.0.0-beta.62",
@@ -153,8 +154,8 @@
153
154
  "@vuepress/utils": "2.0.0-beta.62",
154
155
  "ava": "^5.3.1",
155
156
  "benchmark": "^2.1.4",
156
- "bumpp": "^9.2.0",
157
- "chai": "^4.3.10",
157
+ "bumpp": "^9.4.0",
158
+ "chai": "^4.4.1",
158
159
  "chai-jest-snapshot": "^2.0.0",
159
160
  "conventional-changelog-cli": "^2.2.2",
160
161
  "eslint-config-prettier": "^8.10.0",
@@ -163,21 +164,21 @@
163
164
  "ini": "^3.0.1",
164
165
  "ioredis-mock": "^8.9.0",
165
166
  "lint-staged": "^13.3.0",
166
- "mocha": "^10.2.0",
167
- "nock": "^13.3.4",
167
+ "mocha": "^10.3.0",
168
+ "nock": "^13.5.4",
168
169
  "np": "^6.5.0",
169
170
  "npm-debug-log-cleaner": "^1.0.3",
170
171
  "npm-run-all": "^4.1.5",
171
172
  "nyc": "^15.1.0",
172
173
  "prettier": "^2.8.8",
173
- "sass": "^1.69.3",
174
+ "sass": "^1.71.1",
174
175
  "sinon": "^15.2.0",
175
- "ts-node": "^10.9.1",
176
- "typescript": "^5.2.2",
177
- "vue": "^3.3.4",
176
+ "ts-node": "^10.9.2",
177
+ "typescript": "^5.3.3",
178
+ "vue": "^3.4.21",
178
179
  "vuepress": "2.0.0-beta.62",
179
180
  "vuepress-plugin-sitemap2": "2.0.0-beta.205",
180
- "vuepress-plugin-umami-analytics": "^1.5.0"
181
+ "vuepress-plugin-umami-analytics": "^1.8.1"
181
182
  },
182
183
  "ava": {
183
184
  "failFast": false,