xypriss 3.2.2 → 3.3.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 (47) hide show
  1. package/README.md +98 -447
  2. package/dist/cjs/src/FiUp.js +88 -0
  3. package/dist/cjs/src/FiUp.js.map +1 -0
  4. package/dist/cjs/src/config.js +169 -0
  5. package/dist/cjs/src/config.js.map +1 -0
  6. package/dist/cjs/src/file-upload.js +37 -90
  7. package/dist/cjs/src/file-upload.js.map +1 -1
  8. package/dist/cjs/src/index.js +9 -5
  9. package/dist/cjs/src/index.js.map +1 -1
  10. package/dist/cjs/src/server/FastServer.js +11 -6
  11. package/dist/cjs/src/server/FastServer.js.map +1 -1
  12. package/dist/cjs/src/server/ServerFactory.js +67 -32
  13. package/dist/cjs/src/server/ServerFactory.js.map +1 -1
  14. package/dist/cjs/src/server/components/fastapi/FileUploadManager.js +31 -19
  15. package/dist/cjs/src/server/components/fastapi/FileUploadManager.js.map +1 -1
  16. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js +9 -0
  17. package/dist/cjs/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  18. package/dist/cjs/src/server/const/default.js +10 -6
  19. package/dist/cjs/src/server/const/default.js.map +1 -1
  20. package/dist/cjs/src/server/core/HttpServer.js +16 -7
  21. package/dist/cjs/src/server/core/HttpServer.js.map +1 -1
  22. package/dist/cjs/src/server/core/XyprissApp.js +2 -1
  23. package/dist/cjs/src/server/core/XyprissApp.js.map +1 -1
  24. package/dist/esm/src/FiUp.js +82 -0
  25. package/dist/esm/src/FiUp.js.map +1 -0
  26. package/dist/esm/src/config.js +167 -0
  27. package/dist/esm/src/config.js.map +1 -0
  28. package/dist/esm/src/file-upload.js +32 -86
  29. package/dist/esm/src/file-upload.js.map +1 -1
  30. package/dist/esm/src/index.js +3 -1
  31. package/dist/esm/src/index.js.map +1 -1
  32. package/dist/esm/src/server/FastServer.js +11 -6
  33. package/dist/esm/src/server/FastServer.js.map +1 -1
  34. package/dist/esm/src/server/ServerFactory.js +67 -32
  35. package/dist/esm/src/server/ServerFactory.js.map +1 -1
  36. package/dist/esm/src/server/components/fastapi/FileUploadManager.js +31 -19
  37. package/dist/esm/src/server/components/fastapi/FileUploadManager.js.map +1 -1
  38. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js +9 -0
  39. package/dist/esm/src/server/components/fastapi/console/ConsoleInterceptor.js.map +1 -1
  40. package/dist/esm/src/server/const/default.js +10 -6
  41. package/dist/esm/src/server/const/default.js.map +1 -1
  42. package/dist/esm/src/server/core/HttpServer.js +16 -7
  43. package/dist/esm/src/server/core/HttpServer.js.map +1 -1
  44. package/dist/esm/src/server/core/XyprissApp.js +2 -1
  45. package/dist/esm/src/server/core/XyprissApp.js.map +1 -1
  46. package/dist/index.d.ts +228 -102
  47. package/package.json +3 -2
package/dist/index.d.ts CHANGED
@@ -5176,7 +5176,7 @@ declare function createCacheMiddleware(cache: SecureCacheAdapter, options?: Rout
5176
5176
  * Multi-Server App interface for managing multiple server instances
5177
5177
  * Extends UltraFastApp to maintain API compatibility
5178
5178
  */
5179
- interface MultiServerApp extends Omit<UltraFastApp, 'start'> {
5179
+ interface MultiServerApp extends Omit<UltraFastApp, "start"> {
5180
5180
  /**
5181
5181
  * Start all server instances (simple API - hides complexity)
5182
5182
  * @param port - Port parameter (ignored in multi-server mode)
@@ -5583,79 +5583,6 @@ interface XyPrissMiddlewareAPI {
5583
5583
  getConfig(): any;
5584
5584
  }
5585
5585
 
5586
- /**
5587
- * File Upload Manager for XyPriss Server
5588
- * Handles multer configuration and file upload middleware setup
5589
- */
5590
-
5591
- interface FileUploadConfig {
5592
- /** Enable file upload handling */
5593
- enabled?: boolean;
5594
- /** Maximum file size in bytes */
5595
- maxFileSize?: number;
5596
- /** Maximum number of files per request */
5597
- maxFiles?: number;
5598
- /** Allowed MIME types */
5599
- allowedMimeTypes?: string[];
5600
- /** Allowed file extensions */
5601
- allowedExtensions?: string[];
5602
- /** Upload destination directory */
5603
- destination?: string;
5604
- /** Custom filename function */
5605
- filename?: (req: any, file: any, callback: (error: Error | null, filename: string) => void) => void;
5606
- /** Detailed limits configuration */
5607
- limits?: {
5608
- /** Max field name size in bytes */
5609
- fieldNameSize?: number;
5610
- /** Max field value size in bytes */
5611
- fieldSize?: number;
5612
- /** Max number of non-file fields */
5613
- fields?: number;
5614
- /** Max file size in bytes */
5615
- fileSize?: number;
5616
- /** Max number of file fields */
5617
- files?: number;
5618
- /** Max number of header key=>value pairs */
5619
- headerPairs?: number;
5620
- };
5621
- /** Preserve full paths instead of just filenames */
5622
- preservePath?: boolean;
5623
- /** Custom file filter function */
5624
- fileFilter?: (req: any, file: any, callback: (error: Error | null, acceptFile: boolean) => void) => void;
5625
- /** Storage type */
5626
- storage?: 'disk' | 'memory' | 'custom';
5627
- /** Create parent directories if they don't exist */
5628
- createParentPath?: boolean;
5629
- /** Abort request on limit reached */
5630
- abortOnLimit?: boolean;
5631
- /** Response message when limit is reached */
5632
- responseOnLimit?: string;
5633
- /** Use temporary files for large uploads */
5634
- useTempFiles?: boolean;
5635
- /** Temporary file directory */
5636
- tempFileDir?: string;
5637
- /** Parse nested objects in multipart data */
5638
- parseNested?: boolean;
5639
- /** Enable debug logging */
5640
- debug?: boolean;
5641
- /** Custom multer options */
5642
- multerOptions?: {
5643
- dest?: string;
5644
- storage?: any;
5645
- limits?: {
5646
- fieldNameSize?: number;
5647
- fieldSize?: number;
5648
- fields?: number;
5649
- fileSize?: number;
5650
- files?: number;
5651
- headerPairs?: number;
5652
- };
5653
- preservePath?: boolean;
5654
- fileFilter?: (req: any, file: any, callback: (error: Error | null, acceptFile: boolean) => void) => void;
5655
- [key: string]: any;
5656
- };
5657
- }
5658
-
5659
5586
  /**
5660
5587
  * XyPrissJS Express Types - Main Export File
5661
5588
  *
@@ -6798,6 +6725,12 @@ interface UltraFastApp {
6798
6725
  * encryption, compression, and intelligent strategies.
6799
6726
  */
6800
6727
  cache?: SecureCacheAdapter;
6728
+ /**
6729
+ * Server configuration options.
6730
+ *
6731
+ * Provides access to the configuration options passed to createServer.
6732
+ */
6733
+ configs?: ServerOptions;
6801
6734
  /**
6802
6735
  * Invalidate cache entries by pattern.
6803
6736
  *
@@ -7434,6 +7367,208 @@ declare class Logger {
7434
7367
  child(component: LogComponent, config?: Partial<ServerOptions["logging"]>): Logger;
7435
7368
  }
7436
7369
 
7370
+ interface FileUploadConfig {
7371
+ /** Enable file upload handling */
7372
+ enabled?: boolean;
7373
+ /** Maximum file size in bytes */
7374
+ maxFileSize?: number;
7375
+ /** Maximum number of files per request */
7376
+ maxFiles?: number;
7377
+ /** Allowed MIME types */
7378
+ allowedMimeTypes?: string[];
7379
+ /** Allowed file extensions */
7380
+ allowedExtensions?: string[];
7381
+ /** Upload destination directory */
7382
+ destination?: string;
7383
+ /** Custom filename function */
7384
+ filename?: (req: any, file: any, callback: (error: Error | null, filename: string) => void) => void;
7385
+ /** Detailed limits configuration */
7386
+ limits?: {
7387
+ /** Max field name size in bytes */
7388
+ fieldNameSize?: number;
7389
+ /** Max field value size in bytes */
7390
+ fieldSize?: number;
7391
+ /** Max number of non-file fields */
7392
+ fields?: number;
7393
+ /** Max file size in bytes */
7394
+ fileSize?: number;
7395
+ /** Max number of file fields */
7396
+ files?: number;
7397
+ /** Max number of header key=>value pairs */
7398
+ headerPairs?: number;
7399
+ };
7400
+ /** Preserve full paths instead of just filenames */
7401
+ preservePath?: boolean;
7402
+ /** Custom file filter function */
7403
+ fileFilter?: (req: any, file: any, callback: (error: Error | null, acceptFile: boolean) => void) => void;
7404
+ /** Storage type */
7405
+ storage?: 'disk' | 'memory' | 'custom';
7406
+ /** Create parent directories if they don't exist */
7407
+ createParentPath?: boolean;
7408
+ /** Abort request on limit reached */
7409
+ abortOnLimit?: boolean;
7410
+ /** Response message when limit is reached */
7411
+ responseOnLimit?: string;
7412
+ /** Use temporary files for large uploads */
7413
+ useTempFiles?: boolean;
7414
+ /** Temporary file directory */
7415
+ tempFileDir?: string;
7416
+ /** Parse nested objects in multipart data */
7417
+ parseNested?: boolean;
7418
+ /** Enable debug logging */
7419
+ debug?: boolean;
7420
+ /** Custom multer options */
7421
+ multerOptions?: {
7422
+ dest?: string;
7423
+ storage?: any;
7424
+ limits?: {
7425
+ fieldNameSize?: number;
7426
+ fieldSize?: number;
7427
+ fields?: number;
7428
+ fileSize?: number;
7429
+ files?: number;
7430
+ headerPairs?: number;
7431
+ };
7432
+ preservePath?: boolean;
7433
+ fileFilter?: (req: any, file: any, callback: (error: Error | null, acceptFile: boolean) => void) => void;
7434
+ [key: string]: any;
7435
+ };
7436
+ }
7437
+
7438
+ /**
7439
+ * XyPriss Configuration Manager
7440
+ *
7441
+ * Provides a safe way to access and update XyPriss configurations
7442
+ * without encountering "cannot access before initialization" errors.
7443
+ *
7444
+ * This class acts as a singleton configuration store that can be used
7445
+ * in modular structures where accessing `app.configs` directly might
7446
+ * cause initialization timing issues.
7447
+ *
7448
+ * @example
7449
+ * ```typescript
7450
+ * import { Configs } from 'xypriss';
7451
+ *
7452
+ * // Set configuration
7453
+ * Configs.set({
7454
+ * fileUpload: {
7455
+ * enabled: true,
7456
+ * maxFileSize: 5 * 1024 * 1024
7457
+ * }
7458
+ * });
7459
+ *
7460
+ * // Get configuration
7461
+ * const fileUploadConfig = Configs.get('fileUpload');
7462
+ *
7463
+ * // Get entire config
7464
+ * const allConfigs = Configs.getAll();
7465
+ *
7466
+ * // Update specific config
7467
+ * Configs.update('fileUpload', { maxFileSize: 10 * 1024 * 1024 });
7468
+ * ```
7469
+ */
7470
+
7471
+ /**
7472
+ * Configuration Manager Class
7473
+ * Singleton pattern for managing XyPriss configurations
7474
+ */
7475
+ declare class ConfigurationManager {
7476
+ private static instance;
7477
+ private config;
7478
+ private initialized;
7479
+ /**
7480
+ * Private constructor to enforce singleton pattern
7481
+ */
7482
+ private constructor();
7483
+ /**
7484
+ * Get the singleton instance
7485
+ */
7486
+ private static getInstance;
7487
+ /**
7488
+ * Set the entire configuration
7489
+ * @param config - Server configuration options
7490
+ */
7491
+ static set(config: ServerOptions): void;
7492
+ /**
7493
+ * Get a specific configuration section
7494
+ * @param key - Configuration key (e.g., 'fileUpload', 'security', 'cache')
7495
+ * @returns The configuration value for the specified key
7496
+ */
7497
+ static get<K extends keyof ServerOptions>(key: K): ServerOptions[K] | undefined;
7498
+ /**
7499
+ * Get the entire configuration object
7500
+ * @returns Complete server configuration
7501
+ */
7502
+ static getAll(): ServerOptions;
7503
+ /**
7504
+ * Update a specific configuration section
7505
+ * @param key - Configuration key to update
7506
+ * @param value - New value for the configuration section
7507
+ */
7508
+ static update<K extends keyof ServerOptions>(key: K, value: ServerOptions[K]): void;
7509
+ /**
7510
+ * Merge configuration with existing config
7511
+ * @param config - Partial configuration to merge
7512
+ */
7513
+ static merge(config: Partial<ServerOptions>): void;
7514
+ /**
7515
+ * Check if configuration has been initialized
7516
+ * @returns true if configuration has been set, false otherwise
7517
+ */
7518
+ static isInitialized(): boolean;
7519
+ /**
7520
+ * Reset configuration to empty state
7521
+ * Useful for testing or reinitializing
7522
+ */
7523
+ static reset(): void;
7524
+ /**
7525
+ * Check if a specific configuration section exists
7526
+ * @param key - Configuration key to check
7527
+ * @returns true if the configuration section exists
7528
+ */
7529
+ static has<K extends keyof ServerOptions>(key: K): boolean;
7530
+ /**
7531
+ * Get configuration with a default value if not set
7532
+ * @param key - Configuration key
7533
+ * @param defaultValue - Default value to return if key doesn't exist
7534
+ * @returns Configuration value or default value
7535
+ */
7536
+ static getOrDefault<K extends keyof ServerOptions>(key: K, defaultValue: ServerOptions[K]): ServerOptions[K];
7537
+ /**
7538
+ * Delete a specific configuration section
7539
+ * @param key - Configuration key to delete
7540
+ */
7541
+ static delete<K extends keyof ServerOptions>(key: K): void;
7542
+ }
7543
+
7544
+ /**
7545
+ * Initialize the global file upload manager (legacy)
7546
+ * This is called automatically when the server starts with file upload enabled
7547
+ *
7548
+ * @param configManager - The Configs class for accessing configuration
7549
+ * @param logger - Logger instance
7550
+ */
7551
+ declare function initializeFileUpload(configManager: typeof ConfigurationManager, logger: Logger): void;
7552
+ /**
7553
+ * Create a middleware for uploading a single file (legacy)
7554
+ */
7555
+ declare function uploadSingle(fieldname: string): (req: any, res: any, next: any) => any;
7556
+ /**
7557
+ * Create a middleware for uploading multiple files with the same field name (legacy)
7558
+ */
7559
+ declare function uploadArray(fieldname: string, maxCount?: number): (req: any, res: any, next: any) => any;
7560
+ /**
7561
+ * Create a middleware for uploading multiple files with different field names (legacy)
7562
+ */
7563
+ declare function uploadFields(fields: Array<{
7564
+ name: string;
7565
+ maxCount?: number;
7566
+ }>): (req: any, res: any, next: any) => any;
7567
+ /**
7568
+ * Create a middleware for uploading any files (legacy)
7569
+ */
7570
+ declare function uploadAny(): (req: any, res: any, next: any) => any;
7571
+
7437
7572
  /**
7438
7573
  * XyPriss File Upload API
7439
7574
  *
@@ -7462,9 +7597,22 @@ declare class FileUploadAPI {
7462
7597
  private initialized;
7463
7598
  constructor(logger?: Logger);
7464
7599
  /**
7465
- * Initialize the file upload API with configuration
7600
+ * Initialize the file upload API with configuration from Configs
7601
+ *
7602
+ * This method requires the Configs class to enforce a single source of truth.
7603
+ * Configuration is accessed internally from Configs.get('fileUpload').
7604
+ *
7605
+ * @param configManager - The Configs class (not an instance, the class itself)
7606
+ *
7607
+ * @example
7608
+ * ```typescript
7609
+ * import { Configs } from 'xypriss';
7610
+ *
7611
+ * const upload = new FileUploadAPI();
7612
+ * await upload.initialize(Configs);
7613
+ * ```
7466
7614
  */
7467
- initialize(options: any): Promise<void>;
7615
+ initialize(configManager: typeof ConfigurationManager): Promise<void>;
7468
7616
  /**
7469
7617
  * Check if the file upload API is enabled
7470
7618
  */
@@ -7505,30 +7653,8 @@ declare class FileUploadAPI {
7505
7653
  */
7506
7654
  any(): (req: any, res: any, next: any) => any;
7507
7655
  }
7508
- /**
7509
- * Initialize the global file upload manager (legacy)
7510
- * This is called automatically when the server starts with file upload enabled
7511
- */
7512
- declare function initializeFileUpload(options: any, logger: Logger): void;
7513
- /**
7514
- * Create a middleware for uploading a single file (legacy)
7515
- */
7516
- declare function uploadSingle(fieldname: string): (req: any, res: any, next: any) => any;
7517
- /**
7518
- * Create a middleware for uploading multiple files with the same field name (legacy)
7519
- */
7520
- declare function uploadArray(fieldname: string, maxCount?: number): (req: any, res: any, next: any) => any;
7521
- /**
7522
- * Create a middleware for uploading multiple files with different field names (legacy)
7523
- */
7524
- declare function uploadFields(fields: Array<{
7525
- name: string;
7526
- maxCount?: number;
7527
- }>): (req: any, res: any, next: any) => any;
7528
- /**
7529
- * Create a middleware for uploading any files (legacy)
7530
- */
7531
- declare function uploadAny(): (req: any, res: any, next: any) => any;
7656
+
7657
+ declare const Uploader: FileUploadAPI;
7532
7658
 
7533
7659
  interface RouteDefinition {
7534
7660
  method: string;
@@ -12431,5 +12557,5 @@ declare class TrustProxy {
12431
12557
  */
12432
12558
  declare function Router(): XyPrissRouter;
12433
12559
 
12434
- export { CachePlugin as CachePluginBase, CompressionPlugin, ConnectionPlugin, DEFAULT_PLUGIN_CONFIG, FileUploadAPI as FLA, FileUploadAPI, JWTAuthPlugin, NetworkCategory, NetworkPlugin, NetworkPluginFactory, NetworkPluginUtils, PERFORMANCE_TARGETS, PLUGIN_SYSTEM_NAME, PLUGIN_SYSTEM_VERSION, PerformanceMonitor, PerformancePlugin as PerformancePluginBase, PluginDevelopmentHelpers, PluginEngine, PluginEventType, PluginPriority, PluginRegistry, PluginSystemFactory, PluginSystemUtils, PluginType, ProxyPlugin, RateLimitPlugin, ResponseTimePlugin, Route, Router, SecurityMiddleware, SecurityPlugin as SecurityPluginBase, SmartCachePlugin, TrustProxy, XyPrissRouter, createCacheMiddleware, createCircularRefDebugger, createOptimalCache, createSafeJsonMiddleware, createServer, createServerInstance, expressStringify, fastStringify, initializeFileUpload, quickServer, safeJsonStringify, safeStringify, sendSafeJson, setupSafeJson, uploadAny, uploadArray, uploadFields, uploadSingle };
12435
- export type { BasePlugin, CacheConfig, CachePlugin$1 as CachePlugin, CompressionAlgorithm, CompressionConfig, ConnectionConfig, FailoverConfig, HTTPCacheConfig, HealthCheckConfig, CachePlugin$1 as ICachePlugin, PerformancePlugin$1 as IPerformancePlugin, SecurityPlugin$1 as ISecurityPlugin, LoadBalancingStrategy, MultiServerApp, MultiServerConfig, NativePlugin, NetworkExecutionContext, NetworkExecutionResult, NetworkHealthStatus, NetworkPluginConfig, NetworkSecurityConfig, NextFunction, PerformanceConfig, PerformanceMetrics, PerformancePlugin$1 as PerformancePlugin, PluginConfiguration, PluginEvent, PluginExecutionContext, PluginExecutionResult, PluginExecutionStats, PluginInitializationContext, PluginRegistryConfig, ProxyConfig, RateLimitConfig, RateLimitRule, RateLimitStrategy, RedisConfig, XyPrisRequest as Request, RequestHandler, XyPrisResponse as Response, RouteConfig, RouteOptions, SecurityConfig, SecurityPlugin$1 as SecurityPlugin, ServerOptions, SmartRouteConfig, TrustProxyValue$1 as TrustProxyValue, UltraFastApp, UpstreamServer, WebSocketConfig, MultiServerApp as XyPMS, XyPrisRequest as XyPrissRequest, XyPrisResponse as XyPrissResponse };
12560
+ export { CachePlugin as CachePluginBase, CompressionPlugin, ConfigurationManager as Configs, ConnectionPlugin, DEFAULT_PLUGIN_CONFIG, FileUploadAPI as FLA, FileUploadAPI, JWTAuthPlugin, NetworkCategory, NetworkPlugin, NetworkPluginFactory, NetworkPluginUtils, PERFORMANCE_TARGETS, PLUGIN_SYSTEM_NAME, PLUGIN_SYSTEM_VERSION, PerformanceMonitor, PerformancePlugin as PerformancePluginBase, PluginDevelopmentHelpers, PluginEngine, PluginEventType, PluginPriority, PluginRegistry, PluginSystemFactory, PluginSystemUtils, PluginType, ProxyPlugin, RateLimitPlugin, ResponseTimePlugin, Route, Router, SecurityMiddleware, SecurityPlugin as SecurityPluginBase, SmartCachePlugin, TrustProxy, Uploader, XyPrissRouter, createCacheMiddleware, createCircularRefDebugger, createOptimalCache, createSafeJsonMiddleware, createServer, createServerInstance, expressStringify, fastStringify, initializeFileUpload, quickServer, safeJsonStringify, safeStringify, sendSafeJson, setupSafeJson, uploadAny, uploadArray, uploadFields, uploadSingle };
12561
+ export type { BasePlugin, CacheConfig, CachePlugin$1 as CachePlugin, CompressionAlgorithm, CompressionConfig, ConnectionConfig, FailoverConfig, FileUploadConfig as FiUpConfig, FileUploadConfig, HTTPCacheConfig, HealthCheckConfig, CachePlugin$1 as ICachePlugin, PerformancePlugin$1 as IPerformancePlugin, SecurityPlugin$1 as ISecurityPlugin, LoadBalancingStrategy, MultiServerApp, MultiServerConfig, NativePlugin, NetworkExecutionContext, NetworkExecutionResult, NetworkHealthStatus, NetworkPluginConfig, NetworkSecurityConfig, NextFunction, PerformanceConfig, PerformanceMetrics, PerformancePlugin$1 as PerformancePlugin, PluginConfiguration, PluginEvent, PluginExecutionContext, PluginExecutionResult, PluginExecutionStats, PluginInitializationContext, PluginRegistryConfig, ProxyConfig, RateLimitConfig, RateLimitRule, RateLimitStrategy, RedisConfig, XyPrisRequest as Request, RequestHandler, XyPrisResponse as Response, RouteConfig, RouteOptions, SecurityConfig, SecurityPlugin$1 as SecurityPlugin, ServerOptions, SmartRouteConfig, TrustProxyValue$1 as TrustProxyValue, UltraFastApp, UpstreamServer, WebSocketConfig, MultiServerApp as XyPMS, XyPrisRequest as XyPrissRequest, XyPrisResponse as XyPrissResponse };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "xypriss",
3
- "version": "3.2.2",
3
+ "version": "3.3.0",
4
4
  "description": "XyPriss is a lightweight, TypeScript-first, open-source Node.js web framework crafted for developers seeking a familiar Express-like API without Express dependencies. It features built-in security middleware, a robust routing system, and performance optimizations to build scalable, secure web applications effortlessly. Join our community and contribute on GitHub!",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -16,6 +16,7 @@
16
16
  "scripts/**/*",
17
17
  "scripts/postinstall.js"
18
18
  ],
19
+ "homepage": "https://xypriss.nehonix.com",
19
20
  "scripts": {
20
21
  "postinstall": "node scripts/postinstall.js",
21
22
  "install-memory-cli": "node scripts/install-memory-cli.js",
@@ -266,7 +267,7 @@
266
267
  "tweetnacl": "^1.0.3",
267
268
  "ws": "^8.18.2",
268
269
  "xss": "^1.0.15",
269
- "xypriss": "^2.3.3",
270
+ "xypriss": "^3.2.2",
270
271
  "xypriss-security": "^1.1.10"
271
272
  }
272
273
  }