@arcraz/common 1.0.0 → 1.2.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.
Files changed (40) hide show
  1. package/dist/config/index.d.ts +2 -2
  2. package/dist/config/index.d.ts.map +1 -1
  3. package/dist/config/index.js +1 -1
  4. package/dist/config/schemas.d.ts +67 -0
  5. package/dist/config/schemas.d.ts.map +1 -1
  6. package/dist/config/schemas.js +27 -0
  7. package/dist/config/types.d.ts +9 -1
  8. package/dist/config/types.d.ts.map +1 -1
  9. package/dist/config/types.js +1 -1
  10. package/dist/constants/defaults.d.ts +10 -0
  11. package/dist/constants/defaults.d.ts.map +1 -1
  12. package/dist/constants/defaults.js +10 -0
  13. package/dist/constants/index.d.ts +1 -1
  14. package/dist/constants/index.d.ts.map +1 -1
  15. package/dist/constants/index.js +1 -1
  16. package/dist/database/index.d.ts +1 -1
  17. package/dist/database/index.d.ts.map +1 -1
  18. package/dist/database/types.d.ts +1 -0
  19. package/dist/database/types.d.ts.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +2 -0
  23. package/dist/rabbitmq/index.d.ts +1 -1
  24. package/dist/rabbitmq/index.d.ts.map +1 -1
  25. package/dist/rabbitmq/types.d.ts +1 -0
  26. package/dist/rabbitmq/types.d.ts.map +1 -1
  27. package/dist/redis/index.d.ts +1 -1
  28. package/dist/redis/index.d.ts.map +1 -1
  29. package/dist/redis/types.d.ts +1 -0
  30. package/dist/redis/types.d.ts.map +1 -1
  31. package/dist/socketio/index.d.ts +3 -0
  32. package/dist/socketio/index.d.ts.map +1 -0
  33. package/dist/socketio/index.js +1 -0
  34. package/dist/socketio/server-factory.d.ts +9 -0
  35. package/dist/socketio/server-factory.d.ts.map +1 -0
  36. package/dist/socketio/server-factory.js +129 -0
  37. package/dist/socketio/types.d.ts +74 -0
  38. package/dist/socketio/types.d.ts.map +1 -0
  39. package/dist/socketio/types.js +1 -0
  40. package/package.json +16 -2
@@ -1,5 +1,5 @@
1
1
  export { loadEnv, getEnv, requireEnv } from './env-loader.js';
2
2
  export type { LoadEnvOptions } from './env-loader.js';
3
- export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
4
- export type { DatabaseConfig, RedisConfig, RedisClusterConfig, RabbitMQConfig, LoggingConfig } from './types.js';
3
+ export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
4
+ export type { DatabaseConfig, RedisConfig, RedisClusterConfig, RabbitMQConfig, LoggingConfig, SocketIOConfig, SocketIORedisAdapterConfig } from './types.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEtD,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EAChC,cAAc,EACd,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,kBAAkB,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export { loadEnv, getEnv, requireEnv } from './env-loader.js';
2
- export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
2
+ export { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema, validateConfig, safeValidateConfig } from './schemas.js';
@@ -169,6 +169,73 @@ export declare const LoggingConfigSchema: z.ZodObject<{
169
169
  timestamp?: boolean | undefined;
170
170
  colorize?: boolean | undefined;
171
171
  }>;
172
+ /**
173
+ * Socket.IO configuration schema
174
+ */
175
+ export declare const SocketIOConfigSchema: z.ZodObject<{
176
+ path: z.ZodDefault<z.ZodString>;
177
+ pingTimeout: z.ZodDefault<z.ZodNumber>;
178
+ pingInterval: z.ZodDefault<z.ZodNumber>;
179
+ maxHttpBufferSize: z.ZodDefault<z.ZodNumber>;
180
+ transports: z.ZodDefault<z.ZodArray<z.ZodEnum<["websocket", "polling"]>, "many">>;
181
+ cors: z.ZodOptional<z.ZodObject<{
182
+ origin: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">, z.ZodBoolean]>>;
183
+ methods: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
184
+ credentials: z.ZodOptional<z.ZodBoolean>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ origin?: string | boolean | string[] | undefined;
187
+ methods?: string[] | undefined;
188
+ credentials?: boolean | undefined;
189
+ }, {
190
+ origin?: string | boolean | string[] | undefined;
191
+ methods?: string[] | undefined;
192
+ credentials?: boolean | undefined;
193
+ }>>;
194
+ }, "strip", z.ZodTypeAny, {
195
+ path: string;
196
+ pingTimeout: number;
197
+ pingInterval: number;
198
+ maxHttpBufferSize: number;
199
+ transports: ("websocket" | "polling")[];
200
+ cors?: {
201
+ origin?: string | boolean | string[] | undefined;
202
+ methods?: string[] | undefined;
203
+ credentials?: boolean | undefined;
204
+ } | undefined;
205
+ }, {
206
+ path?: string | undefined;
207
+ pingTimeout?: number | undefined;
208
+ pingInterval?: number | undefined;
209
+ maxHttpBufferSize?: number | undefined;
210
+ transports?: ("websocket" | "polling")[] | undefined;
211
+ cors?: {
212
+ origin?: string | boolean | string[] | undefined;
213
+ methods?: string[] | undefined;
214
+ credentials?: boolean | undefined;
215
+ } | undefined;
216
+ }>;
217
+ /**
218
+ * Socket.IO Redis adapter configuration schema
219
+ */
220
+ export declare const SocketIORedisAdapterConfigSchema: z.ZodObject<{
221
+ host: z.ZodDefault<z.ZodString>;
222
+ port: z.ZodDefault<z.ZodNumber>;
223
+ password: z.ZodOptional<z.ZodString>;
224
+ db: z.ZodDefault<z.ZodNumber>;
225
+ keyPrefix: z.ZodOptional<z.ZodString>;
226
+ }, "strip", z.ZodTypeAny, {
227
+ host: string;
228
+ port: number;
229
+ db: number;
230
+ password?: string | undefined;
231
+ keyPrefix?: string | undefined;
232
+ }, {
233
+ host?: string | undefined;
234
+ port?: number | undefined;
235
+ password?: string | undefined;
236
+ db?: number | undefined;
237
+ keyPrefix?: string | undefined;
238
+ }>;
172
239
  /**
173
240
  * Validates configuration against a schema
174
241
  * @param schema The Zod schema to validate against
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/config/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAM7J"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/config/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW5B,CAAC;AAEH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAcnC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAY/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;EAM3C,CAAC;AAEH;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAA;CAAE,CAM7J"}
@@ -67,6 +67,33 @@ export const LoggingConfigSchema = z.object({
67
67
  timestamp: z.boolean().default(true),
68
68
  colorize: z.boolean().default(false)
69
69
  });
70
+ /**
71
+ * Socket.IO configuration schema
72
+ */
73
+ export const SocketIOConfigSchema = z.object({
74
+ path: z.string().default('/socket.io'),
75
+ pingTimeout: z.number().int().positive().default(20000),
76
+ pingInterval: z.number().int().positive().default(25000),
77
+ maxHttpBufferSize: z.number().positive().default(1e6),
78
+ transports: z.array(z.enum(['websocket', 'polling'])).default(['websocket', 'polling']),
79
+ cors: z
80
+ .object({
81
+ origin: z.union([z.string(), z.array(z.string()), z.boolean()]).optional(),
82
+ methods: z.array(z.string()).optional(),
83
+ credentials: z.boolean().optional()
84
+ })
85
+ .optional()
86
+ });
87
+ /**
88
+ * Socket.IO Redis adapter configuration schema
89
+ */
90
+ export const SocketIORedisAdapterConfigSchema = z.object({
91
+ host: z.string().min(1).default('localhost'),
92
+ port: z.number().int().positive().default(6379),
93
+ password: z.string().optional(),
94
+ db: z.number().int().nonnegative().default(0),
95
+ keyPrefix: z.string().optional()
96
+ });
70
97
  /**
71
98
  * Validates configuration against a schema
72
99
  * @param schema The Zod schema to validate against
@@ -1,5 +1,5 @@
1
1
  import { z } from 'zod';
2
- import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema } from './schemas.js';
2
+ import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema } from './schemas.js';
3
3
  /**
4
4
  * Database configuration type
5
5
  */
@@ -20,4 +20,12 @@ export type RabbitMQConfig = z.infer<typeof RabbitMQConfigSchema>;
20
20
  * Logging configuration type
21
21
  */
22
22
  export type LoggingConfig = z.infer<typeof LoggingConfigSchema>;
23
+ /**
24
+ * Socket.IO configuration type
25
+ */
26
+ export type SocketIOConfig = z.infer<typeof SocketIOConfigSchema>;
27
+ /**
28
+ * Socket.IO Redis adapter configuration type
29
+ */
30
+ export type SocketIORedisAdapterConfig = z.infer<typeof SocketIORedisAdapterConfigSchema>;
23
31
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE5I;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,gCAAgC,EACjC,MAAM,cAAc,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEhE;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gCAAgC,CAAC,CAAC"}
@@ -1,2 +1,2 @@
1
1
  import { z } from 'zod';
2
- import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema } from './schemas.js';
2
+ import { DatabaseConfigSchema, RedisConfigSchema, RedisClusterConfigSchema, RabbitMQConfigSchema, LoggingConfigSchema, SocketIOConfigSchema, SocketIORedisAdapterConfigSchema } from './schemas.js';
@@ -47,4 +47,14 @@ export declare const PAGINATION_DEFAULTS: {
47
47
  readonly MAX_PAGE_SIZE: 1000;
48
48
  readonly DEFAULT_PAGE: 1;
49
49
  };
50
+ /**
51
+ * Default Socket.IO configuration values
52
+ */
53
+ export declare const SOCKETIO_DEFAULTS: {
54
+ readonly PATH: "/socket.io";
55
+ readonly PING_TIMEOUT_MS: 20000;
56
+ readonly PING_INTERVAL_MS: 25000;
57
+ readonly MAX_HTTP_BUFFER_SIZE: 1000000;
58
+ readonly TRANSPORTS: readonly ["websocket", "polling"];
59
+ };
50
60
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/constants/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/constants/defaults.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;CAKpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;CAOjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;CAQpB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;CAKjB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;CAMpB,CAAC"}
@@ -47,3 +47,13 @@ export const PAGINATION_DEFAULTS = {
47
47
  MAX_PAGE_SIZE: 1000,
48
48
  DEFAULT_PAGE: 1
49
49
  };
50
+ /**
51
+ * Default Socket.IO configuration values
52
+ */
53
+ export const SOCKETIO_DEFAULTS = {
54
+ PATH: '/socket.io',
55
+ PING_TIMEOUT_MS: 20000,
56
+ PING_INTERVAL_MS: 25000,
57
+ MAX_HTTP_BUFFER_SIZE: 1e6,
58
+ TRANSPORTS: ['websocket', 'polling']
59
+ };
@@ -1,4 +1,4 @@
1
1
  export { CACHE_DURATION } from './cache-durations.js';
2
2
  export type { CacheDuration } from './cache-durations.js';
3
- export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS } from './defaults.js';
3
+ export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS, SOCKETIO_DEFAULTS } from './defaults.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +1,2 @@
1
1
  export { CACHE_DURATION } from './cache-durations.js';
2
- export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS } from './defaults.js';
2
+ export { DATABASE_DEFAULTS, REDIS_DEFAULTS, RABBITMQ_DEFAULTS, RETRY_DEFAULTS, PAGINATION_DEFAULTS, SOCKETIO_DEFAULTS } from './defaults.js';
@@ -2,5 +2,5 @@ export { createDatabasePool, queryWithCamelCase, queryOneWithCamelCase } from '.
2
2
  export { BaseRepository } from './base-repository.js';
3
3
  export { camelCaseRows, camelCaseRow, snakeCaseKeys, setupTypeParsers, parsePostgresArray, toPostgresArray } from './query-helpers.js';
4
4
  export { ConverterHelper, PagedResponseHelper } from './helpers/index.js';
5
- export type { DatabasePool, DatabasePoolConfig, QueryOptions, PagedResponse } from './types.js';
5
+ export type { DatabasePool, DatabasePoolConfig, QueryOptions, PagedResponse, Pool, PoolClient, QueryResult, QueryResultRow } from './types.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvI,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/database/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACvI,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC1E,YAAY,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Pool, PoolClient, QueryResult, QueryResultRow } from 'pg';
2
+ export type { Pool, PoolClient, QueryResult, QueryResultRow } from 'pg';
2
3
  /**
3
4
  * Database pool instance interface
4
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,yDAAyD;IACzD,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,kDAAkD;IAClD,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,2DAA2D;IAC3D,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,qBAAqB;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iCAAiC;IACjC,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,EAAE,CAAC;CACd"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/database/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAGxE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,yDAAyD;IACzD,KAAK,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5G,kDAAkD;IAClD,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC;IACjC,2DAA2D;IAC3D,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,qBAAqB;IACrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iCAAiC;IACjC,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,OAAO,GAAG;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,CAAC,EAAE,CAAC;CACd"}
package/dist/index.d.ts CHANGED
@@ -7,5 +7,6 @@ export * from './caches/index.js';
7
7
  export * from './logging/index.js';
8
8
  export * from './security/index.js';
9
9
  export * from './helpers/index.js';
10
+ export * from './socketio/index.js';
10
11
  export * from './types/index.js';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,mBAAmB,CAAC;AAGlC,cAAc,sBAAsB,CAAC;AAGrC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC;AAGjC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,kBAAkB,CAAC"}
package/dist/index.js CHANGED
@@ -16,5 +16,7 @@ export * from './logging/index.js';
16
16
  export * from './security/index.js';
17
17
  // Helpers
18
18
  export * from './helpers/index.js';
19
+ // Socket.IO
20
+ export * from './socketio/index.js';
19
21
  // Types
20
22
  export * from './types/index.js';
@@ -2,5 +2,5 @@ export { createRabbitMQConnection } from './connection-factory.js';
2
2
  export { getNamespacedQueue, getNamespacedExchange, stripQueueNamespace, extractQueueNamespace } from './namespace-helpers.js';
3
3
  export { publish, publishWithDelay, publishToExchange } from './publisher.js';
4
4
  export { consume, RabbitConsumer } from './consumer.js';
5
- export type { RabbitMQConnection, RabbitMQConnectionConfig, RabbitMQConsumer, DelaySettings, PublishOptions, ConsumeOptions, MessageHandler } from './types.js';
5
+ export type { RabbitMQConnection, RabbitMQConnectionConfig, RabbitMQConsumer, DelaySettings, PublishOptions, ConsumeOptions, MessageHandler, Connection, Channel, ConsumeMessage } from './types.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/H,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAExD,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/H,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAE9E,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAExD,YAAY,EACV,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,cAAc,EACd,cAAc,EACd,UAAU,EACV,OAAO,EACP,cAAc,EACf,MAAM,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Connection, Channel, ConsumeMessage } from 'amqplib';
2
+ export type { Connection, Channel, ConsumeMessage } from 'amqplib';
2
3
  /**
3
4
  * RabbitMQ connection instance
4
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;IACvB,4BAA4B;IAC5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/rabbitmq/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAGnE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,UAAU,EAAE,UAAU,CAAC;IACvB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,mCAAmC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;IACvB,4BAA4B;IAC5B,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sCAAsC;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,0CAA0C;IAC1C,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEjG;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB;IACrB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB"}
@@ -2,5 +2,5 @@ export { createRedisClient, createRedisCluster } from './client-factory.js';
2
2
  export { getNamespacedKey, processKey, stripNamespace, extractNamespace } from './namespace-helpers.js';
3
3
  export { set, get, del, exists, keys, expire, ttl, incr, incrBy, decr, listPush, lpush, rpush, lpop, rpop, lrange, lgetall, llen, lindex, lset, ltrim } from './operations/index.js';
4
4
  export { ListPosition } from './types.js';
5
- export type { RedisClient, RedisData, RedisInstance, RedisInstanceConfig, RedisClusterInstanceConfig, SetOptions, GetOptions } from './types.js';
5
+ export type { RedisClient, RedisData, RedisInstance, RedisInstanceConfig, RedisClusterInstanceConfig, SetOptions, GetOptions, Redis, Cluster } from './types.js';
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExG,OAAO,EACL,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,IAAI,EACJ,MAAM,EACN,GAAG,EACH,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/redis/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE5E,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAExG,OAAO,EACL,GAAG,EACH,GAAG,EACH,GAAG,EACH,MAAM,EACN,IAAI,EACJ,MAAM,EACN,GAAG,EACH,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,OAAO,EACP,IAAI,EACJ,MAAM,EACN,IAAI,EACJ,KAAK,EACN,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Redis, Cluster } from 'ioredis';
2
+ export type { Redis, Cluster } from 'ioredis';
2
3
  /**
3
4
  * Redis client type - either single instance or cluster
4
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,oBAAY,YAAY;IACtB,WAAW,UAAU;IACrB,UAAU,SAAS;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,6BAA6B;IAC7B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/redis/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAG9C,YAAY,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,OAAO,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,oBAAY,YAAY;IACtB,WAAW,UAAU;IACrB,UAAU,SAAS;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,MAAM,EAAE,WAAW,CAAC;IACpB,2CAA2C;IAC3C,SAAS,EAAE,OAAO,CAAC;IACnB,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,yBAAyB;IACzB,WAAW,IAAI,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8BAA8B;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,6BAA6B;IAC7B,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB"}
@@ -0,0 +1,3 @@
1
+ export { createSocketIOServer } from './server-factory.js';
2
+ export type { Server, Socket, Namespace, BroadcastOperator, RemoteSocket, DisconnectReason, AuthVerifyFunction, AuthenticatedSocket, SocketIOServerConfig, SocketIOInstance } from './types.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socketio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,YAAY,EACV,MAAM,EACN,MAAM,EACN,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,YAAY,CAAC"}
@@ -0,0 +1 @@
1
+ export { createSocketIOServer } from './server-factory.js';
@@ -0,0 +1,9 @@
1
+ import type { SocketIOServerConfig, SocketIOInstance } from './types.js';
2
+ /**
3
+ * Creates a Socket.IO server instance with optional auth middleware and Redis adapter
4
+ *
5
+ * @param config Server configuration
6
+ * @returns SocketIOInstance with server, namespace, and helper methods
7
+ */
8
+ export declare function createSocketIOServer<TUser = unknown>(config: SocketIOServerConfig<TUser>): Promise<SocketIOInstance<TUser>>;
9
+ //# sourceMappingURL=server-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server-factory.d.ts","sourceRoot":"","sources":["../../src/socketio/server-factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzE;;;;;GAKG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CA2IjI"}
@@ -0,0 +1,129 @@
1
+ import { Server } from 'socket.io';
2
+ import { SOCKETIO_DEFAULTS } from '../constants/defaults.js';
3
+ /**
4
+ * Creates a Socket.IO server instance with optional auth middleware and Redis adapter
5
+ *
6
+ * @param config Server configuration
7
+ * @returns SocketIOInstance with server, namespace, and helper methods
8
+ */
9
+ export async function createSocketIOServer(config) {
10
+ let connected = false;
11
+ // userId -> Set<socketId>
12
+ const userSockets = new Map();
13
+ // socketId -> userId
14
+ const socketUsers = new Map();
15
+ const server = new Server(config.httpServer, {
16
+ cors: config.cors,
17
+ path: config.path ?? SOCKETIO_DEFAULTS.PATH,
18
+ pingTimeout: config.pingTimeout ?? SOCKETIO_DEFAULTS.PING_TIMEOUT_MS,
19
+ pingInterval: config.pingInterval ?? SOCKETIO_DEFAULTS.PING_INTERVAL_MS,
20
+ maxHttpBufferSize: config.maxHttpBufferSize ?? SOCKETIO_DEFAULTS.MAX_HTTP_BUFFER_SIZE,
21
+ transports: config.transports ?? [...SOCKETIO_DEFAULTS.TRANSPORTS]
22
+ });
23
+ // Set up Redis adapter if configured
24
+ if (config.redisAdapter) {
25
+ const { Redis } = await import('ioredis');
26
+ const { createAdapter } = await import('@socket.io/redis-adapter');
27
+ const redisOpts = {
28
+ host: config.redisAdapter.host,
29
+ port: config.redisAdapter.port,
30
+ password: config.redisAdapter.password,
31
+ db: config.redisAdapter.db ?? 0
32
+ };
33
+ const pubClient = new Redis(redisOpts);
34
+ const subClient = pubClient.duplicate();
35
+ await Promise.all([
36
+ new Promise((resolve, reject) => {
37
+ pubClient.on('ready', resolve);
38
+ pubClient.on('error', reject);
39
+ }),
40
+ new Promise((resolve, reject) => {
41
+ subClient.on('ready', resolve);
42
+ subClient.on('error', reject);
43
+ })
44
+ ]);
45
+ const prefix = config.redisAdapter.keyPrefix ?? 'socketio';
46
+ server.adapter(createAdapter(pubClient, subClient, { key: prefix }));
47
+ }
48
+ const namespace = server.of(config.namespace ?? '/');
49
+ // Apply auth middleware if provided
50
+ if (config.authVerify) {
51
+ const verify = config.authVerify;
52
+ namespace.use(async (socket, next) => {
53
+ try {
54
+ const user = await verify(socket.handshake.auth);
55
+ socket.data.user = user;
56
+ next();
57
+ }
58
+ catch (err) {
59
+ next(err instanceof Error ? err : new Error(String(err)));
60
+ }
61
+ });
62
+ }
63
+ connected = true;
64
+ async function close() {
65
+ connected = false;
66
+ userSockets.clear();
67
+ socketUsers.clear();
68
+ await server.close();
69
+ }
70
+ function trackConnection(userId, socketId) {
71
+ if (!userSockets.has(userId)) {
72
+ userSockets.set(userId, new Set());
73
+ }
74
+ userSockets.get(userId).add(socketId);
75
+ socketUsers.set(socketId, userId);
76
+ }
77
+ function untrackConnection(socketId) {
78
+ const userId = socketUsers.get(socketId);
79
+ if (userId) {
80
+ const sockets = userSockets.get(userId);
81
+ if (sockets) {
82
+ sockets.delete(socketId);
83
+ if (sockets.size === 0) {
84
+ userSockets.delete(userId);
85
+ }
86
+ }
87
+ socketUsers.delete(socketId);
88
+ }
89
+ }
90
+ function emitToUser(userId, event, ...args) {
91
+ const sockets = userSockets.get(userId);
92
+ if (sockets) {
93
+ for (const socketId of sockets) {
94
+ namespace.to(socketId).emit(event, ...args);
95
+ }
96
+ }
97
+ }
98
+ function broadcast(event, ...args) {
99
+ namespace.emit(event, ...args);
100
+ }
101
+ function emitToRoom(room, event, ...args) {
102
+ namespace.to(room).emit(event, ...args);
103
+ }
104
+ function isUserOnline(userId) {
105
+ const sockets = userSockets.get(userId);
106
+ return sockets !== undefined && sockets.size > 0;
107
+ }
108
+ function getUserSocketIds(userId) {
109
+ const sockets = userSockets.get(userId);
110
+ return sockets ? [...sockets] : [];
111
+ }
112
+ function getConnectionCount() {
113
+ return socketUsers.size;
114
+ }
115
+ return {
116
+ server,
117
+ namespace,
118
+ close,
119
+ isConnected: () => connected,
120
+ trackConnection,
121
+ untrackConnection,
122
+ emitToUser,
123
+ broadcast,
124
+ emitToRoom,
125
+ isUserOnline,
126
+ getUserSocketIds,
127
+ getConnectionCount
128
+ };
129
+ }
@@ -0,0 +1,74 @@
1
+ import type { Server, Socket, Namespace, BroadcastOperator, RemoteSocket, DisconnectReason, DefaultEventsMap } from 'socket.io';
2
+ import type { SocketIORedisAdapterConfig } from '../config/types.js';
3
+ export type { Server, Socket, Namespace, BroadcastOperator, RemoteSocket, DisconnectReason };
4
+ /**
5
+ * Pluggable auth verification function — consumer provides the implementation
6
+ */
7
+ export type AuthVerifyFunction<TUser> = (auth: Record<string, unknown>) => Promise<TUser> | TUser;
8
+ /**
9
+ * Socket with authenticated user data attached
10
+ */
11
+ export type AuthenticatedSocket<TUser> = Socket<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, {
12
+ user: TUser;
13
+ }>;
14
+ /**
15
+ * Configuration for createSocketIOServer factory
16
+ */
17
+ export interface SocketIOServerConfig<TUser> {
18
+ /** HTTP server to attach to */
19
+ httpServer: Parameters<typeof Server.prototype.attach>[0];
20
+ /** CORS configuration */
21
+ cors?: {
22
+ origin?: string | string[] | boolean;
23
+ methods?: string[];
24
+ credentials?: boolean;
25
+ };
26
+ /** Socket.IO path (default: /socket.io) */
27
+ path?: string;
28
+ /** Ping timeout in ms (default: 20000) */
29
+ pingTimeout?: number;
30
+ /** Ping interval in ms (default: 25000) */
31
+ pingInterval?: number;
32
+ /** Max HTTP buffer size in bytes (default: 1e6) */
33
+ maxHttpBufferSize?: number;
34
+ /** Allowed transports (default: ['websocket', 'polling']) */
35
+ transports?: ('websocket' | 'polling')[];
36
+ /** Auth verification callback — called on every connection handshake */
37
+ authVerify?: AuthVerifyFunction<TUser>;
38
+ /** Redis adapter config for horizontal scaling — omit for single-instance mode */
39
+ redisAdapter?: SocketIORedisAdapterConfig;
40
+ /** Namespace to use (default: /) */
41
+ namespace?: string;
42
+ }
43
+ /**
44
+ * Return type of createSocketIOServer factory
45
+ */
46
+ export interface SocketIOInstance<TUser> {
47
+ /** The underlying Socket.IO server (generic preserves TUser for consumer type safety) */
48
+ server: Server<DefaultEventsMap, DefaultEventsMap, DefaultEventsMap, {
49
+ user: TUser;
50
+ }>;
51
+ /** The active namespace */
52
+ namespace: Namespace;
53
+ /** Gracefully close the server */
54
+ close(): Promise<void>;
55
+ /** Check if the server is running */
56
+ isConnected(): boolean;
57
+ /** Track a user's socket connection */
58
+ trackConnection(userId: string, socketId: string): void;
59
+ /** Remove a socket from tracking */
60
+ untrackConnection(socketId: string): void;
61
+ /** Emit an event to all sockets for a specific user */
62
+ emitToUser(userId: string, event: string, ...args: unknown[]): void;
63
+ /** Broadcast an event to all connected sockets */
64
+ broadcast(event: string, ...args: unknown[]): void;
65
+ /** Emit an event to all sockets in a room */
66
+ emitToRoom(room: string, event: string, ...args: unknown[]): void;
67
+ /** Check if a user has any active socket connections */
68
+ isUserOnline(userId: string): boolean;
69
+ /** Get all socket IDs for a user */
70
+ getUserSocketIds(userId: string): string[];
71
+ /** Get total number of tracked connections */
72
+ getConnectionCount(): number;
73
+ }
74
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/socketio/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arcraz/common",
3
- "version": "1.0.0",
3
+ "version": "1.2.0",
4
4
  "description": "Common utilities for the arcraz ecosystem",
5
5
  "type": "module",
6
6
  "engines": {
@@ -64,6 +64,10 @@
64
64
  "./types": {
65
65
  "import": "./dist/types/index.js",
66
66
  "types": "./dist/types/index.d.ts"
67
+ },
68
+ "./socketio": {
69
+ "import": "./dist/socketio/index.js",
70
+ "types": "./dist/socketio/index.d.ts"
67
71
  }
68
72
  },
69
73
  "license": "Apache-2.0",
@@ -104,6 +108,7 @@
104
108
  "@semantic-release/git": "^10.0.1",
105
109
  "@semantic-release/github": "^11.0.1",
106
110
  "@semantic-release/npm": "^12.0.1",
111
+ "@socket.io/redis-adapter": "^8.3.0",
107
112
  "@types/amqplib": "^0.10.5",
108
113
  "@types/eslint": "^9.6.1",
109
114
  "@types/humps": "^2.0.6",
@@ -119,6 +124,7 @@
119
124
  "globals": "^16.0.0",
120
125
  "prettier": "^3.2.5",
121
126
  "semantic-release": "^24.2.0",
127
+ "socket.io": "^4.8.1",
122
128
  "ts-node": "^10.9.2",
123
129
  "typescript": "^5.6.3",
124
130
  "vitest": "^4.0.18"
@@ -128,8 +134,10 @@
128
134
  "@aws-sdk/client-s3": "^3.0.0",
129
135
  "@aws-sdk/cloudfront-signer": "^3.0.0",
130
136
  "@aws-sdk/s3-request-presigner": "^3.0.0",
137
+ "@socket.io/redis-adapter": "^8.0.0",
131
138
  "cors": "^2.8.5",
132
- "helmet": "^8.0.0"
139
+ "helmet": "^8.0.0",
140
+ "socket.io": "^4.7.0"
133
141
  },
134
142
  "peerDependenciesMeta": {
135
143
  "@aws-sdk/client-bedrock-runtime": {
@@ -144,11 +152,17 @@
144
152
  "@aws-sdk/s3-request-presigner": {
145
153
  "optional": true
146
154
  },
155
+ "@socket.io/redis-adapter": {
156
+ "optional": true
157
+ },
147
158
  "cors": {
148
159
  "optional": true
149
160
  },
150
161
  "helmet": {
151
162
  "optional": true
163
+ },
164
+ "socket.io": {
165
+ "optional": true
152
166
  }
153
167
  }
154
168
  }