Pārlūkot izejas kodu

feat(lint, ts) Add member-ordering rule for TS

master
Jaya Allamsetty 4 mēnešus atpakaļ
vecāks
revīzija
1404413e3c

+ 25
- 1
.eslintrc.js Parādīt failu

@@ -1,5 +1,29 @@
1 1
 module.exports = {
2
+    parser: '@typescript-eslint/parser',
2 3
     extends: [
3 4
         '@jitsi/eslint-config'
4
-    ]
5
+    ],
6
+    plugins: [
7
+        '@typescript-eslint'
8
+    ],
9
+    rules: {
10
+        '@typescript-eslint/member-ordering': [
11
+            'error',
12
+            {
13
+                default: [
14
+                    'signature',
15
+                    'private-static-field',
16
+                    'protected-static-field',
17
+                    'public-static-field',
18
+                    'private-instance-field',
19
+                    'protected-instance-field',
20
+                    'public-instance-field',
21
+                    'constructor',
22
+                    'private-instance-method',
23
+                    'protected-instance-method',
24
+                    'public-instance-method'
25
+                ]
26
+            }
27
+        ]
28
+    }
5 29
 };

+ 1
- 1
JitsiConnection.ts Parādīt failu

@@ -45,8 +45,8 @@ export interface IAttachOptions {
45 45
 export default class JitsiConnection {
46 46
     private appID?: string;
47 47
     private token: string | null;
48
-    readonly options: IConnectionOptions;
49 48
     private xmpp: XMPP;
49
+    readonly options: IConnectionOptions;
50 50
 
51 51
     /**
52 52
      * Creates a new JitsiConnection instance.

+ 2
- 2
modules/RTCStats/RTCStats.ts Parādīt failu

@@ -28,11 +28,11 @@ const logger = getLogger('modules/RTCStats/RTCStats');
28 28
  * The initialization procedure must be called once after lib-jitsi-meet is loaded.
29 29
  */
30 30
 class RTCStats {
31
-    public events: EventEmitter = new EventEmitter();
32
-    public _startedWithNewConnection: boolean = true;
33 31
     private _defaultLogCollector: any = null;
34 32
     private _initialized: boolean = false;
33
+    private _startedWithNewConnection: boolean = true;
35 34
     private _trace: any = null;
35
+    public events: EventEmitter = new EventEmitter();
36 36
 
37 37
     isTraceAvailable() {
38 38
         return this._trace !== null;

+ 14
- 14
modules/util/AsyncQueue.ts Parādīt failu

@@ -36,20 +36,6 @@ export default class AsyncQueue {
36 36
         this._taskCallbacks = new Map();
37 37
     }
38 38
 
39
-    /**
40
-     * Removes any pending tasks from the queue.
41
-     */
42
-    clear(): void {
43
-        for (const finishedCallback of this._taskCallbacks.values()) {
44
-            try {
45
-                finishedCallback?.(new ClearedQueueError('The queue has been cleared'));
46
-            } catch (error) {
47
-                logger.error('Error in callback while clearing the queue:', error);
48
-            }
49
-        }
50
-        this._queue.kill();
51
-    }
52
-
53 39
     /**
54 40
      * Internal task processing implementation which makes things work.
55 41
      */
@@ -64,6 +50,20 @@ export default class AsyncQueue {
64 50
         }
65 51
     }
66 52
 
53
+    /**
54
+     * Removes any pending tasks from the queue.
55
+     */
56
+    clear(): void {
57
+        for (const finishedCallback of this._taskCallbacks.values()) {
58
+            try {
59
+                finishedCallback?.(new ClearedQueueError('The queue has been cleared'));
60
+            } catch (error) {
61
+                logger.error('Error in callback while clearing the queue:', error);
62
+            }
63
+        }
64
+        this._queue.kill();
65
+    }
66
+
67 67
     /**
68 68
      * Pauses the execution of the tasks on the queue.
69 69
      */

+ 1
- 1
modules/util/Deferred.ts Parādīt failu

@@ -6,12 +6,12 @@
6 6
  * In addition a "reject on timeout" functionality is provided.
7 7
  */
8 8
 export default class Deferred<T = any> {
9
+    private _timeout?: Timeout;
9 10
     promise: Promise<T>;
10 11
     resolve: (value: T | PromiseLike<T>) => void;
11 12
     reject: (reason?: any) => void;
12 13
     then: Promise<T>['then'];
13 14
     catch: Promise<T>['catch'];
14
-    private _timeout?: Timeout;
15 15
 
16 16
     /**
17 17
      * Instantiates a Deferred object.

+ 32
- 32
modules/videosipgw/JitsiVideoSIPGWSession.ts Parādīt failu

@@ -50,6 +50,38 @@ export default class JitsiVideoSIPGWSession extends Listenable {
50 50
         this.state = undefined;
51 51
     }
52 52
 
53
+    /**
54
+     * Sends a jibri command using an iq.
55
+     *
56
+     * @private
57
+     * @param {string} action - The action to send ('start' or 'stop').
58
+     */
59
+    private _sendJibriIQ(action: string): void {
60
+        const attributes = {
61
+            'xmlns': 'http://jitsi.org/protocol/jibri',
62
+            'action': action,
63
+            'sipaddress': this.sipAddress,
64
+            'displayname': this.displayName
65
+        };
66
+
67
+        const iq = $iq({
68
+            to: this.chatRoom.focusMucJid,
69
+            type: 'set' })
70
+            .c('jibri', attributes)
71
+            .up();
72
+
73
+        logger.debug(`${action} video SIP GW session`, iq.nodeTree);
74
+        this.chatRoom.connection.sendIQ(
75
+            iq,
76
+            () => {}, // eslint-disable-line @typescript-eslint/no-empty-function
77
+            (error: any) => {
78
+                logger.error(
79
+                    `Failed to ${action} video SIP GW session, error: `, error);
80
+                this.setState(VideoSIPGWConstants.STATE_FAILED);
81
+            },
82
+            undefined);
83
+    }
84
+
53 85
     /**
54 86
      * Stops the current session.
55 87
      */
@@ -127,36 +159,4 @@ export default class JitsiVideoSIPGWSession extends Listenable {
127 159
     removeStateListener(listener: EventListener): void {
128 160
         this.removeListener(STATE_CHANGED, listener);
129 161
     }
130
-
131
-    /**
132
-     * Sends a jibri command using an iq.
133
-     *
134
-     * @private
135
-     * @param {string} action - The action to send ('start' or 'stop').
136
-     */
137
-    private _sendJibriIQ(action: string): void {
138
-        const attributes = {
139
-            'xmlns': 'http://jitsi.org/protocol/jibri',
140
-            'action': action,
141
-            'sipaddress': this.sipAddress,
142
-            'displayname': this.displayName
143
-        };
144
-
145
-        const iq = $iq({
146
-            to: this.chatRoom.focusMucJid,
147
-            type: 'set' })
148
-            .c('jibri', attributes)
149
-            .up();
150
-
151
-        logger.debug(`${action} video SIP GW session`, iq.nodeTree);
152
-        this.chatRoom.connection.sendIQ(
153
-            iq,
154
-            () => {}, // eslint-disable-line @typescript-eslint/no-empty-function
155
-            (error: any) => {
156
-                logger.error(
157
-                    `Failed to ${action} video SIP GW session, error: `, error);
158
-                this.setState(VideoSIPGWConstants.STATE_FAILED);
159
-            },
160
-            undefined);
161
-    }
162 162
 }

+ 1
- 1
modules/xmpp/MockClasses.ts Parādīt failu

@@ -25,8 +25,8 @@ export interface IProto {
25 25
 
26 26
 export class MockStropheConnection extends Listenable {
27 27
     private _connectCb?: (status: Strophe.Status) => void;
28
-    public sentIQs: any[];
29 28
     private _proto: IProto;
29
+    public sentIQs: any[];
30 30
 
31 31
     /**
32 32
      * A constructor...

+ 51
- 51
modules/xmpp/ResumeTask.ts Parādīt failu

@@ -54,57 +54,6 @@ export default class ResumeTask {
54 54
         return this._retryDelay;
55 55
     }
56 56
 
57
-    /**
58
-     * Called by {@link XmppConnection} when the connection drops and it's a signal it wants to schedule a reconnect.
59
-     *
60
-     * @returns {void}
61
-     */
62
-    schedule(): void {
63
-        this._cancelResume();
64
-        this._removeNetworkOnlineListener();
65
-
66
-        this._resumeRetryN += 1;
67
-
68
-        this._networkOnlineListener = NetworkInfo.addCancellableListener(
69
-            NETWORK_INFO_EVENT,
70
-            ({ isOnline }: INetworkInfoEvent) => {
71
-                if (isOnline) {
72
-                    this._scheduleResume();
73
-                } else {
74
-                    this._cancelResume();
75
-                }
76
-            }
77
-        ) as () => void;
78
-
79
-        NetworkInfo.isOnline() && this._scheduleResume();
80
-    }
81
-
82
-    /**
83
-     * Schedules a delayed timeout which will execute the resume action.
84
-     * @private
85
-     * @returns {void}
86
-     */
87
-    private _scheduleResume(): void {
88
-        if (this._resumeTimeout) {
89
-            // NO-OP
90
-            return;
91
-        }
92
-
93
-        // The retry delay will be:
94
-        //   1st retry: 1.5s - 3s
95
-        //   2nd retry: 3s - 9s
96
-        //   3rd and next retry: 4.5s - 27s
97
-        this._retryDelay = getJitterDelay(
98
-            /* retry */ this._resumeRetryN,
99
-            /* minDelay */ this._resumeRetryN * 1500,
100
-            3
101
-        );
102
-
103
-        logger.info(`Will try to resume the XMPP connection in ${this.retryDelay}ms`);
104
-
105
-        this._resumeTimeout = setTimeout(() => this._resumeConnection(), this.retryDelay);
106
-    }
107
-
108 57
     /**
109 58
      * Cancels the delayed resume task.
110 59
      *
@@ -177,6 +126,32 @@ export default class ResumeTask {
177 126
         }
178 127
     }
179 128
 
129
+    /**
130
+     * Schedules a delayed timeout which will execute the resume action.
131
+     * @private
132
+     * @returns {void}
133
+     */
134
+    private _scheduleResume(): void {
135
+        if (this._resumeTimeout) {
136
+            // NO-OP
137
+            return;
138
+        }
139
+
140
+        // The retry delay will be:
141
+        //   1st retry: 1.5s - 3s
142
+        //   2nd retry: 3s - 9s
143
+        //   3rd and next retry: 4.5s - 27s
144
+        this._retryDelay = getJitterDelay(
145
+            /* retry */ this._resumeRetryN,
146
+            /* minDelay */ this._resumeRetryN * 1500,
147
+            3
148
+        );
149
+
150
+        logger.info(`Will try to resume the XMPP connection in ${this.retryDelay}ms`);
151
+
152
+        this._resumeTimeout = setTimeout(() => this._resumeConnection(), this.retryDelay);
153
+    }
154
+
180 155
     /**
181 156
      * Cancels the retry task. It's called by {@link XmppConnection} when it's no longer interested in reconnecting for
182 157
      * example when the disconnect method is called.
@@ -188,4 +163,29 @@ export default class ResumeTask {
188 163
         this._removeNetworkOnlineListener();
189 164
         this._resumeRetryN = 0;
190 165
     }
166
+
167
+    /**
168
+     * Called by {@link XmppConnection} when the connection drops and it's a signal it wants to schedule a reconnect.
169
+     *
170
+     * @returns {void}
171
+     */
172
+    schedule(): void {
173
+        this._cancelResume();
174
+        this._removeNetworkOnlineListener();
175
+
176
+        this._resumeRetryN += 1;
177
+
178
+        this._networkOnlineListener = NetworkInfo.addCancellableListener(
179
+            NETWORK_INFO_EVENT,
180
+            ({ isOnline }: INetworkInfoEvent) => {
181
+                if (isOnline) {
182
+                    this._scheduleResume();
183
+                } else {
184
+                    this._cancelResume();
185
+                }
186
+            }
187
+        ) as () => void;
188
+
189
+        NetworkInfo.isOnline() && this._scheduleResume();
190
+    }
191 191
 }

+ 205
- 125
package-lock.json Parādīt failu

@@ -9,7 +9,7 @@
9 9
       "version": "0.0.0",
10 10
       "license": "Apache-2.0",
11 11
       "dependencies": {
12
-        "@jitsi/js-utils": "2.2.1",
12
+        "@jitsi/js-utils": "2.4.6",
13 13
         "@jitsi/logger": "2.0.2",
14 14
         "@jitsi/precall-test": "1.0.6",
15 15
         "@jitsi/rtcstats": "9.7.0",
@@ -1670,9 +1670,9 @@
1670 1670
       }
1671 1671
     },
1672 1672
     "node_modules/@eslint-community/eslint-utils": {
1673
-      "version": "4.5.0",
1674
-      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.0.tgz",
1675
-      "integrity": "sha512-RoV8Xs9eNwiDvhv7M+xcL4PWyRyIXRY/FLp3buU4h1EYfdF7unWUy3dOjPqb3C7rMUewIcqwW850PgS8h1o1yg==",
1673
+      "version": "4.7.0",
1674
+      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
1675
+      "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
1676 1676
       "dev": true,
1677 1677
       "license": "MIT",
1678 1678
       "dependencies": {
@@ -1834,9 +1834,10 @@
1834 1834
       }
1835 1835
     },
1836 1836
     "node_modules/@jitsi/js-utils": {
1837
-      "version": "2.2.1",
1838
-      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.2.1.tgz",
1839
-      "integrity": "sha512-4Ia4hWO7aTMGbYftzeBr+IHIu5YxiWwTlhsSK34z6925oNAUNI863WgYYGTcXkW/1yuM6LBZrnuZBySDqosISA==",
1837
+      "version": "2.4.6",
1838
+      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.4.6.tgz",
1839
+      "integrity": "sha512-z/VbM9c0V35T8Zkhxq2gdWbMWmM/3w4BD68xJVmQNrq/NQHxH0fDkRoT/MUds9Mp6dK3AV/h15tCKxVA/0w8Kg==",
1840
+      "license": "Apache-2.0",
1840 1841
       "dependencies": {
1841 1842
         "@hapi/bourne": "^3.0.0",
1842 1843
         "js-md5": "0.7.3",
@@ -2255,21 +2256,21 @@
2255 2256
       "license": "MIT"
2256 2257
     },
2257 2258
     "node_modules/@typescript-eslint/eslint-plugin": {
2258
-      "version": "8.19.1",
2259
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz",
2260
-      "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==",
2259
+      "version": "8.33.1",
2260
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
2261
+      "integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
2261 2262
       "dev": true,
2262 2263
       "license": "MIT",
2263 2264
       "dependencies": {
2264 2265
         "@eslint-community/regexpp": "^4.10.0",
2265
-        "@typescript-eslint/scope-manager": "8.19.1",
2266
-        "@typescript-eslint/type-utils": "8.19.1",
2267
-        "@typescript-eslint/utils": "8.19.1",
2268
-        "@typescript-eslint/visitor-keys": "8.19.1",
2266
+        "@typescript-eslint/scope-manager": "8.33.1",
2267
+        "@typescript-eslint/type-utils": "8.33.1",
2268
+        "@typescript-eslint/utils": "8.33.1",
2269
+        "@typescript-eslint/visitor-keys": "8.33.1",
2269 2270
         "graphemer": "^1.4.0",
2270
-        "ignore": "^5.3.1",
2271
+        "ignore": "^7.0.0",
2271 2272
         "natural-compare": "^1.4.0",
2272
-        "ts-api-utils": "^2.0.0"
2273
+        "ts-api-utils": "^2.1.0"
2273 2274
       },
2274 2275
       "engines": {
2275 2276
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2279,9 +2280,19 @@
2279 2280
         "url": "https://opencollective.com/typescript-eslint"
2280 2281
       },
2281 2282
       "peerDependencies": {
2282
-        "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0",
2283
+        "@typescript-eslint/parser": "^8.33.1",
2283 2284
         "eslint": "^8.57.0 || ^9.0.0",
2284
-        "typescript": ">=4.8.4 <5.8.0"
2285
+        "typescript": ">=4.8.4 <5.9.0"
2286
+      }
2287
+    },
2288
+    "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
2289
+      "version": "7.0.5",
2290
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
2291
+      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
2292
+      "dev": true,
2293
+      "license": "MIT",
2294
+      "engines": {
2295
+        "node": ">= 4"
2285 2296
       }
2286 2297
     },
2287 2298
     "node_modules/@typescript-eslint/experimental-utils": {
@@ -2436,16 +2447,16 @@
2436 2447
       }
2437 2448
     },
2438 2449
     "node_modules/@typescript-eslint/parser": {
2439
-      "version": "8.19.1",
2440
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz",
2441
-      "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==",
2450
+      "version": "8.33.1",
2451
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
2452
+      "integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
2442 2453
       "dev": true,
2443 2454
       "license": "MIT",
2444 2455
       "dependencies": {
2445
-        "@typescript-eslint/scope-manager": "8.19.1",
2446
-        "@typescript-eslint/types": "8.19.1",
2447
-        "@typescript-eslint/typescript-estree": "8.19.1",
2448
-        "@typescript-eslint/visitor-keys": "8.19.1",
2456
+        "@typescript-eslint/scope-manager": "8.33.1",
2457
+        "@typescript-eslint/types": "8.33.1",
2458
+        "@typescript-eslint/typescript-estree": "8.33.1",
2459
+        "@typescript-eslint/visitor-keys": "8.33.1",
2449 2460
         "debug": "^4.3.4"
2450 2461
       },
2451 2462
       "engines": {
@@ -2457,38 +2468,77 @@
2457 2468
       },
2458 2469
       "peerDependencies": {
2459 2470
         "eslint": "^8.57.0 || ^9.0.0",
2460
-        "typescript": ">=4.8.4 <5.8.0"
2471
+        "typescript": ">=4.8.4 <5.9.0"
2472
+      }
2473
+    },
2474
+    "node_modules/@typescript-eslint/project-service": {
2475
+      "version": "8.33.1",
2476
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
2477
+      "integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
2478
+      "dev": true,
2479
+      "license": "MIT",
2480
+      "dependencies": {
2481
+        "@typescript-eslint/tsconfig-utils": "^8.33.1",
2482
+        "@typescript-eslint/types": "^8.33.1",
2483
+        "debug": "^4.3.4"
2484
+      },
2485
+      "engines": {
2486
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
2487
+      },
2488
+      "funding": {
2489
+        "type": "opencollective",
2490
+        "url": "https://opencollective.com/typescript-eslint"
2491
+      },
2492
+      "peerDependencies": {
2493
+        "typescript": ">=4.8.4 <5.9.0"
2461 2494
       }
2462 2495
     },
2463 2496
     "node_modules/@typescript-eslint/scope-manager": {
2464
-      "version": "8.19.1",
2465
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz",
2466
-      "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==",
2497
+      "version": "8.33.1",
2498
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
2499
+      "integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
2467 2500
       "dev": true,
2468 2501
       "license": "MIT",
2469 2502
       "dependencies": {
2470
-        "@typescript-eslint/types": "8.19.1",
2471
-        "@typescript-eslint/visitor-keys": "8.19.1"
2503
+        "@typescript-eslint/types": "8.33.1",
2504
+        "@typescript-eslint/visitor-keys": "8.33.1"
2505
+      },
2506
+      "engines": {
2507
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
2472 2508
       },
2509
+      "funding": {
2510
+        "type": "opencollective",
2511
+        "url": "https://opencollective.com/typescript-eslint"
2512
+      }
2513
+    },
2514
+    "node_modules/@typescript-eslint/tsconfig-utils": {
2515
+      "version": "8.33.1",
2516
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
2517
+      "integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
2518
+      "dev": true,
2519
+      "license": "MIT",
2473 2520
       "engines": {
2474 2521
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
2475 2522
       },
2476 2523
       "funding": {
2477 2524
         "type": "opencollective",
2478 2525
         "url": "https://opencollective.com/typescript-eslint"
2526
+      },
2527
+      "peerDependencies": {
2528
+        "typescript": ">=4.8.4 <5.9.0"
2479 2529
       }
2480 2530
     },
2481 2531
     "node_modules/@typescript-eslint/type-utils": {
2482
-      "version": "8.19.1",
2483
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz",
2484
-      "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==",
2532
+      "version": "8.33.1",
2533
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
2534
+      "integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
2485 2535
       "dev": true,
2486 2536
       "license": "MIT",
2487 2537
       "dependencies": {
2488
-        "@typescript-eslint/typescript-estree": "8.19.1",
2489
-        "@typescript-eslint/utils": "8.19.1",
2538
+        "@typescript-eslint/typescript-estree": "8.33.1",
2539
+        "@typescript-eslint/utils": "8.33.1",
2490 2540
         "debug": "^4.3.4",
2491
-        "ts-api-utils": "^2.0.0"
2541
+        "ts-api-utils": "^2.1.0"
2492 2542
       },
2493 2543
       "engines": {
2494 2544
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2499,13 +2549,13 @@
2499 2549
       },
2500 2550
       "peerDependencies": {
2501 2551
         "eslint": "^8.57.0 || ^9.0.0",
2502
-        "typescript": ">=4.8.4 <5.8.0"
2552
+        "typescript": ">=4.8.4 <5.9.0"
2503 2553
       }
2504 2554
     },
2505 2555
     "node_modules/@typescript-eslint/types": {
2506
-      "version": "8.19.1",
2507
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz",
2508
-      "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==",
2556
+      "version": "8.33.1",
2557
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
2558
+      "integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
2509 2559
       "dev": true,
2510 2560
       "license": "MIT",
2511 2561
       "engines": {
@@ -2517,20 +2567,22 @@
2517 2567
       }
2518 2568
     },
2519 2569
     "node_modules/@typescript-eslint/typescript-estree": {
2520
-      "version": "8.19.1",
2521
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz",
2522
-      "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==",
2570
+      "version": "8.33.1",
2571
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
2572
+      "integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
2523 2573
       "dev": true,
2524 2574
       "license": "MIT",
2525 2575
       "dependencies": {
2526
-        "@typescript-eslint/types": "8.19.1",
2527
-        "@typescript-eslint/visitor-keys": "8.19.1",
2576
+        "@typescript-eslint/project-service": "8.33.1",
2577
+        "@typescript-eslint/tsconfig-utils": "8.33.1",
2578
+        "@typescript-eslint/types": "8.33.1",
2579
+        "@typescript-eslint/visitor-keys": "8.33.1",
2528 2580
         "debug": "^4.3.4",
2529 2581
         "fast-glob": "^3.3.2",
2530 2582
         "is-glob": "^4.0.3",
2531 2583
         "minimatch": "^9.0.4",
2532 2584
         "semver": "^7.6.0",
2533
-        "ts-api-utils": "^2.0.0"
2585
+        "ts-api-utils": "^2.1.0"
2534 2586
       },
2535 2587
       "engines": {
2536 2588
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2540,7 +2592,7 @@
2540 2592
         "url": "https://opencollective.com/typescript-eslint"
2541 2593
       },
2542 2594
       "peerDependencies": {
2543
-        "typescript": ">=4.8.4 <5.8.0"
2595
+        "typescript": ">=4.8.4 <5.9.0"
2544 2596
       }
2545 2597
     },
2546 2598
     "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
@@ -2570,9 +2622,9 @@
2570 2622
       }
2571 2623
     },
2572 2624
     "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
2573
-      "version": "7.7.1",
2574
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
2575
-      "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
2625
+      "version": "7.7.2",
2626
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
2627
+      "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
2576 2628
       "dev": true,
2577 2629
       "license": "ISC",
2578 2630
       "bin": {
@@ -2583,16 +2635,16 @@
2583 2635
       }
2584 2636
     },
2585 2637
     "node_modules/@typescript-eslint/utils": {
2586
-      "version": "8.19.1",
2587
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz",
2588
-      "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==",
2638
+      "version": "8.33.1",
2639
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
2640
+      "integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
2589 2641
       "dev": true,
2590 2642
       "license": "MIT",
2591 2643
       "dependencies": {
2592
-        "@eslint-community/eslint-utils": "^4.4.0",
2593
-        "@typescript-eslint/scope-manager": "8.19.1",
2594
-        "@typescript-eslint/types": "8.19.1",
2595
-        "@typescript-eslint/typescript-estree": "8.19.1"
2644
+        "@eslint-community/eslint-utils": "^4.7.0",
2645
+        "@typescript-eslint/scope-manager": "8.33.1",
2646
+        "@typescript-eslint/types": "8.33.1",
2647
+        "@typescript-eslint/typescript-estree": "8.33.1"
2596 2648
       },
2597 2649
       "engines": {
2598 2650
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2603,17 +2655,17 @@
2603 2655
       },
2604 2656
       "peerDependencies": {
2605 2657
         "eslint": "^8.57.0 || ^9.0.0",
2606
-        "typescript": ">=4.8.4 <5.8.0"
2658
+        "typescript": ">=4.8.4 <5.9.0"
2607 2659
       }
2608 2660
     },
2609 2661
     "node_modules/@typescript-eslint/visitor-keys": {
2610
-      "version": "8.19.1",
2611
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz",
2612
-      "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==",
2662
+      "version": "8.33.1",
2663
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
2664
+      "integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
2613 2665
       "dev": true,
2614 2666
       "license": "MIT",
2615 2667
       "dependencies": {
2616
-        "@typescript-eslint/types": "8.19.1",
2668
+        "@typescript-eslint/types": "8.33.1",
2617 2669
         "eslint-visitor-keys": "^4.2.0"
2618 2670
       },
2619 2671
       "engines": {
@@ -8163,9 +8215,9 @@
8163 8215
       }
8164 8216
     },
8165 8217
     "node_modules/ts-api-utils": {
8166
-      "version": "2.0.1",
8167
-      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz",
8168
-      "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==",
8218
+      "version": "2.1.0",
8219
+      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
8220
+      "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
8169 8221
       "dev": true,
8170 8222
       "license": "MIT",
8171 8223
       "engines": {
@@ -10240,9 +10292,9 @@
10240 10292
       }
10241 10293
     },
10242 10294
     "@eslint-community/eslint-utils": {
10243
-      "version": "4.5.0",
10244
-      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.5.0.tgz",
10245
-      "integrity": "sha512-RoV8Xs9eNwiDvhv7M+xcL4PWyRyIXRY/FLp3buU4h1EYfdF7unWUy3dOjPqb3C7rMUewIcqwW850PgS8h1o1yg==",
10295
+      "version": "4.7.0",
10296
+      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
10297
+      "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
10246 10298
       "dev": true,
10247 10299
       "requires": {
10248 10300
         "eslint-visitor-keys": "^3.4.3"
@@ -10352,9 +10404,9 @@
10352 10404
       }
10353 10405
     },
10354 10406
     "@jitsi/js-utils": {
10355
-      "version": "2.2.1",
10356
-      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.2.1.tgz",
10357
-      "integrity": "sha512-4Ia4hWO7aTMGbYftzeBr+IHIu5YxiWwTlhsSK34z6925oNAUNI863WgYYGTcXkW/1yuM6LBZrnuZBySDqosISA==",
10407
+      "version": "2.4.6",
10408
+      "resolved": "https://registry.npmjs.org/@jitsi/js-utils/-/js-utils-2.4.6.tgz",
10409
+      "integrity": "sha512-z/VbM9c0V35T8Zkhxq2gdWbMWmM/3w4BD68xJVmQNrq/NQHxH0fDkRoT/MUds9Mp6dK3AV/h15tCKxVA/0w8Kg==",
10358 10410
       "requires": {
10359 10411
         "@hapi/bourne": "^3.0.0",
10360 10412
         "js-md5": "0.7.3",
@@ -10686,20 +10738,28 @@
10686 10738
       "dev": true
10687 10739
     },
10688 10740
     "@typescript-eslint/eslint-plugin": {
10689
-      "version": "8.19.1",
10690
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz",
10691
-      "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==",
10741
+      "version": "8.33.1",
10742
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.1.tgz",
10743
+      "integrity": "sha512-TDCXj+YxLgtvxvFlAvpoRv9MAncDLBV2oT9Bd7YBGC/b/sEURoOYuIwLI99rjWOfY3QtDzO+mk0n4AmdFExW8A==",
10692 10744
       "dev": true,
10693 10745
       "requires": {
10694 10746
         "@eslint-community/regexpp": "^4.10.0",
10695
-        "@typescript-eslint/scope-manager": "8.19.1",
10696
-        "@typescript-eslint/type-utils": "8.19.1",
10697
-        "@typescript-eslint/utils": "8.19.1",
10698
-        "@typescript-eslint/visitor-keys": "8.19.1",
10747
+        "@typescript-eslint/scope-manager": "8.33.1",
10748
+        "@typescript-eslint/type-utils": "8.33.1",
10749
+        "@typescript-eslint/utils": "8.33.1",
10750
+        "@typescript-eslint/visitor-keys": "8.33.1",
10699 10751
         "graphemer": "^1.4.0",
10700
-        "ignore": "^5.3.1",
10752
+        "ignore": "^7.0.0",
10701 10753
         "natural-compare": "^1.4.0",
10702
-        "ts-api-utils": "^2.0.0"
10754
+        "ts-api-utils": "^2.1.0"
10755
+      },
10756
+      "dependencies": {
10757
+        "ignore": {
10758
+          "version": "7.0.5",
10759
+          "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
10760
+          "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
10761
+          "dev": true
10762
+        }
10703 10763
       }
10704 10764
     },
10705 10765
     "@typescript-eslint/experimental-utils": {
@@ -10783,60 +10843,80 @@
10783 10843
       }
10784 10844
     },
10785 10845
     "@typescript-eslint/parser": {
10786
-      "version": "8.19.1",
10787
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz",
10788
-      "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==",
10846
+      "version": "8.33.1",
10847
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.33.1.tgz",
10848
+      "integrity": "sha512-qwxv6dq682yVvgKKp2qWwLgRbscDAYktPptK4JPojCwwi3R9cwrvIxS4lvBpzmcqzR4bdn54Z0IG1uHFskW4dA==",
10849
+      "dev": true,
10850
+      "requires": {
10851
+        "@typescript-eslint/scope-manager": "8.33.1",
10852
+        "@typescript-eslint/types": "8.33.1",
10853
+        "@typescript-eslint/typescript-estree": "8.33.1",
10854
+        "@typescript-eslint/visitor-keys": "8.33.1",
10855
+        "debug": "^4.3.4"
10856
+      }
10857
+    },
10858
+    "@typescript-eslint/project-service": {
10859
+      "version": "8.33.1",
10860
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.33.1.tgz",
10861
+      "integrity": "sha512-DZR0efeNklDIHHGRpMpR5gJITQpu6tLr9lDJnKdONTC7vvzOlLAG/wcfxcdxEWrbiZApcoBCzXqU/Z458Za5Iw==",
10789 10862
       "dev": true,
10790 10863
       "requires": {
10791
-        "@typescript-eslint/scope-manager": "8.19.1",
10792
-        "@typescript-eslint/types": "8.19.1",
10793
-        "@typescript-eslint/typescript-estree": "8.19.1",
10794
-        "@typescript-eslint/visitor-keys": "8.19.1",
10864
+        "@typescript-eslint/tsconfig-utils": "^8.33.1",
10865
+        "@typescript-eslint/types": "^8.33.1",
10795 10866
         "debug": "^4.3.4"
10796 10867
       }
10797 10868
     },
10798 10869
     "@typescript-eslint/scope-manager": {
10799
-      "version": "8.19.1",
10800
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz",
10801
-      "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==",
10870
+      "version": "8.33.1",
10871
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.33.1.tgz",
10872
+      "integrity": "sha512-dM4UBtgmzHR9bS0Rv09JST0RcHYearoEoo3pG5B6GoTR9XcyeqX87FEhPo+5kTvVfKCvfHaHrcgeJQc6mrDKrA==",
10802 10873
       "dev": true,
10803 10874
       "requires": {
10804
-        "@typescript-eslint/types": "8.19.1",
10805
-        "@typescript-eslint/visitor-keys": "8.19.1"
10875
+        "@typescript-eslint/types": "8.33.1",
10876
+        "@typescript-eslint/visitor-keys": "8.33.1"
10806 10877
       }
10807 10878
     },
10879
+    "@typescript-eslint/tsconfig-utils": {
10880
+      "version": "8.33.1",
10881
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.33.1.tgz",
10882
+      "integrity": "sha512-STAQsGYbHCF0/e+ShUQ4EatXQ7ceh3fBCXkNU7/MZVKulrlq1usH7t2FhxvCpuCi5O5oi1vmVaAjrGeL71OK1g==",
10883
+      "dev": true,
10884
+      "requires": {}
10885
+    },
10808 10886
     "@typescript-eslint/type-utils": {
10809
-      "version": "8.19.1",
10810
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz",
10811
-      "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==",
10887
+      "version": "8.33.1",
10888
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.33.1.tgz",
10889
+      "integrity": "sha512-1cG37d9xOkhlykom55WVwG2QRNC7YXlxMaMzqw2uPeJixBFfKWZgaP/hjAObqMN/u3fr5BrTwTnc31/L9jQ2ww==",
10812 10890
       "dev": true,
10813 10891
       "requires": {
10814
-        "@typescript-eslint/typescript-estree": "8.19.1",
10815
-        "@typescript-eslint/utils": "8.19.1",
10892
+        "@typescript-eslint/typescript-estree": "8.33.1",
10893
+        "@typescript-eslint/utils": "8.33.1",
10816 10894
         "debug": "^4.3.4",
10817
-        "ts-api-utils": "^2.0.0"
10895
+        "ts-api-utils": "^2.1.0"
10818 10896
       }
10819 10897
     },
10820 10898
     "@typescript-eslint/types": {
10821
-      "version": "8.19.1",
10822
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz",
10823
-      "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==",
10899
+      "version": "8.33.1",
10900
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.33.1.tgz",
10901
+      "integrity": "sha512-xid1WfizGhy/TKMTwhtVOgalHwPtV8T32MS9MaH50Cwvz6x6YqRIPdD2WvW0XaqOzTV9p5xdLY0h/ZusU5Lokg==",
10824 10902
       "dev": true
10825 10903
     },
10826 10904
     "@typescript-eslint/typescript-estree": {
10827
-      "version": "8.19.1",
10828
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz",
10829
-      "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==",
10905
+      "version": "8.33.1",
10906
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.33.1.tgz",
10907
+      "integrity": "sha512-+s9LYcT8LWjdYWu7IWs7FvUxpQ/DGkdjZeE/GGulHvv8rvYwQvVaUZ6DE+j5x/prADUgSbbCWZ2nPI3usuVeOA==",
10830 10908
       "dev": true,
10831 10909
       "requires": {
10832
-        "@typescript-eslint/types": "8.19.1",
10833
-        "@typescript-eslint/visitor-keys": "8.19.1",
10910
+        "@typescript-eslint/project-service": "8.33.1",
10911
+        "@typescript-eslint/tsconfig-utils": "8.33.1",
10912
+        "@typescript-eslint/types": "8.33.1",
10913
+        "@typescript-eslint/visitor-keys": "8.33.1",
10834 10914
         "debug": "^4.3.4",
10835 10915
         "fast-glob": "^3.3.2",
10836 10916
         "is-glob": "^4.0.3",
10837 10917
         "minimatch": "^9.0.4",
10838 10918
         "semver": "^7.6.0",
10839
-        "ts-api-utils": "^2.0.0"
10919
+        "ts-api-utils": "^2.1.0"
10840 10920
       },
10841 10921
       "dependencies": {
10842 10922
         "brace-expansion": {
@@ -10858,32 +10938,32 @@
10858 10938
           }
10859 10939
         },
10860 10940
         "semver": {
10861
-          "version": "7.7.1",
10862
-          "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
10863
-          "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
10941
+          "version": "7.7.2",
10942
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
10943
+          "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
10864 10944
           "dev": true
10865 10945
         }
10866 10946
       }
10867 10947
     },
10868 10948
     "@typescript-eslint/utils": {
10869
-      "version": "8.19.1",
10870
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz",
10871
-      "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==",
10949
+      "version": "8.33.1",
10950
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.33.1.tgz",
10951
+      "integrity": "sha512-52HaBiEQUaRYqAXpfzWSR2U3gxk92Kw006+xZpElaPMg3C4PgM+A5LqwoQI1f9E5aZ/qlxAZxzm42WX+vn92SQ==",
10872 10952
       "dev": true,
10873 10953
       "requires": {
10874
-        "@eslint-community/eslint-utils": "^4.4.0",
10875
-        "@typescript-eslint/scope-manager": "8.19.1",
10876
-        "@typescript-eslint/types": "8.19.1",
10877
-        "@typescript-eslint/typescript-estree": "8.19.1"
10954
+        "@eslint-community/eslint-utils": "^4.7.0",
10955
+        "@typescript-eslint/scope-manager": "8.33.1",
10956
+        "@typescript-eslint/types": "8.33.1",
10957
+        "@typescript-eslint/typescript-estree": "8.33.1"
10878 10958
       }
10879 10959
     },
10880 10960
     "@typescript-eslint/visitor-keys": {
10881
-      "version": "8.19.1",
10882
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz",
10883
-      "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==",
10961
+      "version": "8.33.1",
10962
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.33.1.tgz",
10963
+      "integrity": "sha512-3i8NrFcZeeDHJ+7ZUuDkGT+UHq+XoFGsymNK2jZCOHcfEzRQ0BdpRtdpSx/Iyf3MHLWIcLS0COuOPibKQboIiQ==",
10884 10964
       "dev": true,
10885 10965
       "requires": {
10886
-        "@typescript-eslint/types": "8.19.1",
10966
+        "@typescript-eslint/types": "8.33.1",
10887 10967
         "eslint-visitor-keys": "^4.2.0"
10888 10968
       },
10889 10969
       "dependencies": {
@@ -14746,9 +14826,9 @@
14746 14826
       "dev": true
14747 14827
     },
14748 14828
     "ts-api-utils": {
14749
-      "version": "2.0.1",
14750
-      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.1.tgz",
14751
-      "integrity": "sha512-dnlgjFSVetynI8nzgJ+qF62efpglpWRk8isUEWZGWlJYySCTD6aKvbUDu+zbPeDakk3bg5H4XpitHukgfL1m9w==",
14829
+      "version": "2.1.0",
14830
+      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz",
14831
+      "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==",
14752 14832
       "dev": true,
14753 14833
       "requires": {}
14754 14834
     },

+ 1
- 1
package.json Parādīt failu

@@ -16,7 +16,7 @@
16 16
   "author": "",
17 17
   "readmeFilename": "README.md",
18 18
   "dependencies": {
19
-    "@jitsi/js-utils": "2.2.1",
19
+    "@jitsi/js-utils": "2.4.6",
20 20
     "@jitsi/logger": "2.0.2",
21 21
     "@jitsi/precall-test": "1.0.6",
22 22
     "@jitsi/rtcstats": "9.7.0",

+ 5
- 0
tsconfig.json Parādīt failu

@@ -14,6 +14,11 @@
14 14
       "ES2024.Promise"
15 15
     ],
16 16
     "outDir": "dist/esm/",
17
+    "paths": {
18
+      "@jitsi/js-utils": [
19
+        "./node_modules/@jitsi/js-utils/types/*"
20
+      ]
21
+    }
17 22
   },
18 23
   "exclude": [
19 24
     "dist",

Notiek ielāde…
Atcelt
Saglabāt