@xwiki/cristal-realtime 1.2.0 → 1.4.0-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +132 -124
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -258,9 +258,9 @@ var require_async_lock = __commonJS({
|
|
|
258
258
|
}
|
|
259
259
|
});
|
|
260
260
|
|
|
261
|
-
// ../node_modules/.pnpm/ws@8.
|
|
261
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/constants.js
|
|
262
262
|
var require_constants = __commonJS({
|
|
263
|
-
"../node_modules/.pnpm/ws@8.
|
|
263
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/constants.js"(exports3, module3) {
|
|
264
264
|
"use strict";
|
|
265
265
|
var BINARY_TYPES = ["nodebuffer", "arraybuffer", "fragments"];
|
|
266
266
|
var hasBlob = typeof Blob !== "undefined";
|
|
@@ -281,9 +281,9 @@ var require_constants = __commonJS({
|
|
|
281
281
|
}
|
|
282
282
|
});
|
|
283
283
|
|
|
284
|
-
// ../node_modules/.pnpm/ws@8.
|
|
284
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/buffer-util.js
|
|
285
285
|
var require_buffer_util = __commonJS({
|
|
286
|
-
"../node_modules/.pnpm/ws@8.
|
|
286
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/buffer-util.js"(exports3, module3) {
|
|
287
287
|
"use strict";
|
|
288
288
|
var { EMPTY_BUFFER } = require_constants();
|
|
289
289
|
var FastBuffer = Buffer[Symbol.species];
|
|
@@ -356,9 +356,9 @@ var require_buffer_util = __commonJS({
|
|
|
356
356
|
}
|
|
357
357
|
});
|
|
358
358
|
|
|
359
|
-
// ../node_modules/.pnpm/ws@8.
|
|
359
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/limiter.js
|
|
360
360
|
var require_limiter = __commonJS({
|
|
361
|
-
"../node_modules/.pnpm/ws@8.
|
|
361
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/limiter.js"(exports3, module3) {
|
|
362
362
|
"use strict";
|
|
363
363
|
var kDone = /* @__PURE__ */ Symbol("kDone");
|
|
364
364
|
var kRun = /* @__PURE__ */ Symbol("kRun");
|
|
@@ -406,9 +406,9 @@ var require_limiter = __commonJS({
|
|
|
406
406
|
}
|
|
407
407
|
});
|
|
408
408
|
|
|
409
|
-
// ../node_modules/.pnpm/ws@8.
|
|
409
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/permessage-deflate.js
|
|
410
410
|
var require_permessage_deflate = __commonJS({
|
|
411
|
-
"../node_modules/.pnpm/ws@8.
|
|
411
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/permessage-deflate.js"(exports3, module3) {
|
|
412
412
|
"use strict";
|
|
413
413
|
var zlib = require("zlib");
|
|
414
414
|
var bufferUtil = require_buffer_util();
|
|
@@ -422,7 +422,7 @@ var require_permessage_deflate = __commonJS({
|
|
|
422
422
|
var kBuffers = /* @__PURE__ */ Symbol("buffers");
|
|
423
423
|
var kError = /* @__PURE__ */ Symbol("error");
|
|
424
424
|
var zlibLimiter;
|
|
425
|
-
var
|
|
425
|
+
var PerMessageDeflate2 = class {
|
|
426
426
|
/**
|
|
427
427
|
* Creates a PerMessageDeflate instance.
|
|
428
428
|
*
|
|
@@ -433,6 +433,9 @@ var require_permessage_deflate = __commonJS({
|
|
|
433
433
|
* acknowledge disabling of client context takeover
|
|
434
434
|
* @param {Number} [options.concurrencyLimit=10] The number of concurrent
|
|
435
435
|
* calls to zlib
|
|
436
|
+
* @param {Boolean} [options.isServer=false] Create the instance in either
|
|
437
|
+
* server or client mode
|
|
438
|
+
* @param {Number} [options.maxPayload=0] The maximum allowed message length
|
|
436
439
|
* @param {(Boolean|Number)} [options.serverMaxWindowBits] Request/confirm the
|
|
437
440
|
* use of a custom server window size
|
|
438
441
|
* @param {Boolean} [options.serverNoContextTakeover=false] Request/accept
|
|
@@ -443,15 +446,12 @@ var require_permessage_deflate = __commonJS({
|
|
|
443
446
|
* deflate
|
|
444
447
|
* @param {Object} [options.zlibInflateOptions] Options to pass to zlib on
|
|
445
448
|
* inflate
|
|
446
|
-
* @param {Boolean} [isServer=false] Create the instance in either server or
|
|
447
|
-
* client mode
|
|
448
|
-
* @param {Number} [maxPayload=0] The maximum allowed message length
|
|
449
449
|
*/
|
|
450
|
-
constructor(options
|
|
451
|
-
this._maxPayload = maxPayload | 0;
|
|
450
|
+
constructor(options) {
|
|
452
451
|
this._options = options || {};
|
|
453
452
|
this._threshold = this._options.threshold !== void 0 ? this._options.threshold : 1024;
|
|
454
|
-
this.
|
|
453
|
+
this._maxPayload = this._options.maxPayload | 0;
|
|
454
|
+
this._isServer = !!this._options.isServer;
|
|
455
455
|
this._deflate = null;
|
|
456
456
|
this._inflate = null;
|
|
457
457
|
this.params = null;
|
|
@@ -760,7 +760,7 @@ var require_permessage_deflate = __commonJS({
|
|
|
760
760
|
});
|
|
761
761
|
}
|
|
762
762
|
};
|
|
763
|
-
module3.exports =
|
|
763
|
+
module3.exports = PerMessageDeflate2;
|
|
764
764
|
function deflateOnData(chunk) {
|
|
765
765
|
this[kBuffers].push(chunk);
|
|
766
766
|
this[kTotalLength] += chunk.length;
|
|
@@ -789,9 +789,9 @@ var require_permessage_deflate = __commonJS({
|
|
|
789
789
|
}
|
|
790
790
|
});
|
|
791
791
|
|
|
792
|
-
// ../node_modules/.pnpm/ws@8.
|
|
792
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/validation.js
|
|
793
793
|
var require_validation = __commonJS({
|
|
794
|
-
"../node_modules/.pnpm/ws@8.
|
|
794
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/validation.js"(exports3, module3) {
|
|
795
795
|
"use strict";
|
|
796
796
|
var { isUtf8 } = require("buffer");
|
|
797
797
|
var { hasBlob } = require_constants();
|
|
@@ -990,12 +990,12 @@ var require_validation = __commonJS({
|
|
|
990
990
|
}
|
|
991
991
|
});
|
|
992
992
|
|
|
993
|
-
// ../node_modules/.pnpm/ws@8.
|
|
993
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/receiver.js
|
|
994
994
|
var require_receiver = __commonJS({
|
|
995
|
-
"../node_modules/.pnpm/ws@8.
|
|
995
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/receiver.js"(exports3, module3) {
|
|
996
996
|
"use strict";
|
|
997
997
|
var { Writable } = require("stream");
|
|
998
|
-
var
|
|
998
|
+
var PerMessageDeflate2 = require_permessage_deflate();
|
|
999
999
|
var {
|
|
1000
1000
|
BINARY_TYPES,
|
|
1001
1001
|
EMPTY_BUFFER,
|
|
@@ -1162,7 +1162,7 @@ var require_receiver = __commonJS({
|
|
|
1162
1162
|
return;
|
|
1163
1163
|
}
|
|
1164
1164
|
const compressed = (buf[0] & 64) === 64;
|
|
1165
|
-
if (compressed && !this._extensions[
|
|
1165
|
+
if (compressed && !this._extensions[PerMessageDeflate2.extensionName]) {
|
|
1166
1166
|
const error = this.createError(
|
|
1167
1167
|
RangeError,
|
|
1168
1168
|
"RSV1 must be clear",
|
|
@@ -1406,7 +1406,7 @@ var require_receiver = __commonJS({
|
|
|
1406
1406
|
* @private
|
|
1407
1407
|
*/
|
|
1408
1408
|
decompress(data, cb) {
|
|
1409
|
-
const perMessageDeflate = this._extensions[
|
|
1409
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
|
|
1410
1410
|
perMessageDeflate.decompress(data, this._fin, (err, buf) => {
|
|
1411
1411
|
if (err) return cb(err);
|
|
1412
1412
|
if (buf.length) {
|
|
@@ -1582,13 +1582,16 @@ var require_receiver = __commonJS({
|
|
|
1582
1582
|
}
|
|
1583
1583
|
});
|
|
1584
1584
|
|
|
1585
|
-
// ../node_modules/.pnpm/ws@8.
|
|
1585
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/sender.js
|
|
1586
1586
|
var require_sender = __commonJS({
|
|
1587
|
-
"../node_modules/.pnpm/ws@8.
|
|
1587
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/sender.js"(exports3, module3) {
|
|
1588
1588
|
"use strict";
|
|
1589
1589
|
var { Duplex } = require("stream");
|
|
1590
1590
|
var { randomFillSync: randomFillSync2 } = require("crypto");
|
|
1591
|
-
var
|
|
1591
|
+
var {
|
|
1592
|
+
types: { isUint8Array }
|
|
1593
|
+
} = require("util");
|
|
1594
|
+
var PerMessageDeflate2 = require_permessage_deflate();
|
|
1592
1595
|
var { EMPTY_BUFFER, kWebSocket, NOOP } = require_constants();
|
|
1593
1596
|
var { isBlob, isValidStatusCode } = require_validation();
|
|
1594
1597
|
var { mask: applyMask, toBuffer } = require_buffer_util();
|
|
@@ -1741,8 +1744,10 @@ var require_sender = __commonJS({
|
|
|
1741
1744
|
buf.writeUInt16BE(code, 0);
|
|
1742
1745
|
if (typeof data === "string") {
|
|
1743
1746
|
buf.write(data, 2);
|
|
1744
|
-
} else {
|
|
1747
|
+
} else if (isUint8Array(data)) {
|
|
1745
1748
|
buf.set(data, 2);
|
|
1749
|
+
} else {
|
|
1750
|
+
throw new TypeError("Second argument must be a string or a Uint8Array");
|
|
1746
1751
|
}
|
|
1747
1752
|
}
|
|
1748
1753
|
const options = {
|
|
@@ -1872,7 +1877,7 @@ var require_sender = __commonJS({
|
|
|
1872
1877
|
* @public
|
|
1873
1878
|
*/
|
|
1874
1879
|
send(data, options, cb) {
|
|
1875
|
-
const perMessageDeflate = this._extensions[
|
|
1880
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
|
|
1876
1881
|
let opcode = options.binary ? 2 : 1;
|
|
1877
1882
|
let rsv1 = options.compress;
|
|
1878
1883
|
let byteLength;
|
|
@@ -1996,7 +2001,7 @@ var require_sender = __commonJS({
|
|
|
1996
2001
|
this.sendFrame(_Sender.frame(data, options), cb);
|
|
1997
2002
|
return;
|
|
1998
2003
|
}
|
|
1999
|
-
const perMessageDeflate = this._extensions[
|
|
2004
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
|
|
2000
2005
|
this._bufferedBytes += options[kByteLength];
|
|
2001
2006
|
this._state = DEFLATING;
|
|
2002
2007
|
perMessageDeflate.compress(data, options.fin, (_, buf) => {
|
|
@@ -2070,9 +2075,9 @@ var require_sender = __commonJS({
|
|
|
2070
2075
|
}
|
|
2071
2076
|
});
|
|
2072
2077
|
|
|
2073
|
-
// ../node_modules/.pnpm/ws@8.
|
|
2078
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/event-target.js
|
|
2074
2079
|
var require_event_target = __commonJS({
|
|
2075
|
-
"../node_modules/.pnpm/ws@8.
|
|
2080
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/event-target.js"(exports3, module3) {
|
|
2076
2081
|
"use strict";
|
|
2077
2082
|
var { kForOnEventAttribute, kListener } = require_constants();
|
|
2078
2083
|
var kCode = /* @__PURE__ */ Symbol("kCode");
|
|
@@ -2299,9 +2304,9 @@ var require_event_target = __commonJS({
|
|
|
2299
2304
|
}
|
|
2300
2305
|
});
|
|
2301
2306
|
|
|
2302
|
-
// ../node_modules/.pnpm/ws@8.
|
|
2307
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/extension.js
|
|
2303
2308
|
var require_extension = __commonJS({
|
|
2304
|
-
"../node_modules/.pnpm/ws@8.
|
|
2309
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/extension.js"(exports3, module3) {
|
|
2305
2310
|
"use strict";
|
|
2306
2311
|
var { tokenChars } = require_validation();
|
|
2307
2312
|
function push(dest, name2, elem) {
|
|
@@ -2434,11 +2439,11 @@ var require_extension = __commonJS({
|
|
|
2434
2439
|
return offers;
|
|
2435
2440
|
}
|
|
2436
2441
|
function format(extensions) {
|
|
2437
|
-
return Object.keys(extensions).map((
|
|
2438
|
-
let configurations = extensions[
|
|
2442
|
+
return Object.keys(extensions).map((extension2) => {
|
|
2443
|
+
let configurations = extensions[extension2];
|
|
2439
2444
|
if (!Array.isArray(configurations)) configurations = [configurations];
|
|
2440
2445
|
return configurations.map((params2) => {
|
|
2441
|
-
return [
|
|
2446
|
+
return [extension2].concat(
|
|
2442
2447
|
Object.keys(params2).map((k) => {
|
|
2443
2448
|
let values = params2[k];
|
|
2444
2449
|
if (!Array.isArray(values)) values = [values];
|
|
@@ -2452,9 +2457,9 @@ var require_extension = __commonJS({
|
|
|
2452
2457
|
}
|
|
2453
2458
|
});
|
|
2454
2459
|
|
|
2455
|
-
// ../node_modules/.pnpm/ws@8.
|
|
2460
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket.js
|
|
2456
2461
|
var require_websocket = __commonJS({
|
|
2457
|
-
"../node_modules/.pnpm/ws@8.
|
|
2462
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket.js"(exports3, module3) {
|
|
2458
2463
|
"use strict";
|
|
2459
2464
|
var EventEmitter = require("events");
|
|
2460
2465
|
var https = require("https");
|
|
@@ -2464,7 +2469,7 @@ var require_websocket = __commonJS({
|
|
|
2464
2469
|
var { randomBytes, createHash } = require("crypto");
|
|
2465
2470
|
var { Duplex, Readable } = require("stream");
|
|
2466
2471
|
var { URL } = require("url");
|
|
2467
|
-
var
|
|
2472
|
+
var PerMessageDeflate2 = require_permessage_deflate();
|
|
2468
2473
|
var Receiver2 = require_receiver();
|
|
2469
2474
|
var Sender2 = require_sender();
|
|
2470
2475
|
var { isBlob } = require_validation();
|
|
@@ -2672,8 +2677,8 @@ var require_websocket = __commonJS({
|
|
|
2672
2677
|
this.emit("close", this._closeCode, this._closeMessage);
|
|
2673
2678
|
return;
|
|
2674
2679
|
}
|
|
2675
|
-
if (this._extensions[
|
|
2676
|
-
this._extensions[
|
|
2680
|
+
if (this._extensions[PerMessageDeflate2.extensionName]) {
|
|
2681
|
+
this._extensions[PerMessageDeflate2.extensionName].cleanup();
|
|
2677
2682
|
}
|
|
2678
2683
|
this._receiver.removeAllListeners();
|
|
2679
2684
|
this._readyState = _WebSocket.CLOSED;
|
|
@@ -2835,7 +2840,7 @@ var require_websocket = __commonJS({
|
|
|
2835
2840
|
fin: true,
|
|
2836
2841
|
...options
|
|
2837
2842
|
};
|
|
2838
|
-
if (!this._extensions[
|
|
2843
|
+
if (!this._extensions[PerMessageDeflate2.extensionName]) {
|
|
2839
2844
|
opts.compress = false;
|
|
2840
2845
|
}
|
|
2841
2846
|
this._sender.send(data || EMPTY_BUFFER, opts, cb);
|
|
@@ -2961,7 +2966,7 @@ var require_websocket = __commonJS({
|
|
|
2961
2966
|
} else {
|
|
2962
2967
|
try {
|
|
2963
2968
|
parsedUrl = new URL(address);
|
|
2964
|
-
} catch
|
|
2969
|
+
} catch {
|
|
2965
2970
|
throw new SyntaxError(`Invalid URL: ${address}`);
|
|
2966
2971
|
}
|
|
2967
2972
|
}
|
|
@@ -3009,13 +3014,13 @@ var require_websocket = __commonJS({
|
|
|
3009
3014
|
opts.path = parsedUrl.pathname + parsedUrl.search;
|
|
3010
3015
|
opts.timeout = opts.handshakeTimeout;
|
|
3011
3016
|
if (opts.perMessageDeflate) {
|
|
3012
|
-
perMessageDeflate = new
|
|
3013
|
-
opts.perMessageDeflate
|
|
3014
|
-
false,
|
|
3015
|
-
opts.maxPayload
|
|
3016
|
-
);
|
|
3017
|
+
perMessageDeflate = new PerMessageDeflate2({
|
|
3018
|
+
...opts.perMessageDeflate,
|
|
3019
|
+
isServer: false,
|
|
3020
|
+
maxPayload: opts.maxPayload
|
|
3021
|
+
});
|
|
3017
3022
|
opts.headers["Sec-WebSocket-Extensions"] = format({
|
|
3018
|
-
[
|
|
3023
|
+
[PerMessageDeflate2.extensionName]: perMessageDeflate.offer()
|
|
3019
3024
|
});
|
|
3020
3025
|
}
|
|
3021
3026
|
if (protocols.length) {
|
|
@@ -3158,19 +3163,19 @@ var require_websocket = __commonJS({
|
|
|
3158
3163
|
return;
|
|
3159
3164
|
}
|
|
3160
3165
|
const extensionNames = Object.keys(extensions);
|
|
3161
|
-
if (extensionNames.length !== 1 || extensionNames[0] !==
|
|
3166
|
+
if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate2.extensionName) {
|
|
3162
3167
|
const message = "Server indicated an extension that was not requested";
|
|
3163
3168
|
abortHandshake(websocket, socket, message);
|
|
3164
3169
|
return;
|
|
3165
3170
|
}
|
|
3166
3171
|
try {
|
|
3167
|
-
perMessageDeflate.accept(extensions[
|
|
3172
|
+
perMessageDeflate.accept(extensions[PerMessageDeflate2.extensionName]);
|
|
3168
3173
|
} catch (err) {
|
|
3169
3174
|
const message = "Invalid Sec-WebSocket-Extensions header";
|
|
3170
3175
|
abortHandshake(websocket, socket, message);
|
|
3171
3176
|
return;
|
|
3172
3177
|
}
|
|
3173
|
-
websocket._extensions[
|
|
3178
|
+
websocket._extensions[PerMessageDeflate2.extensionName] = perMessageDeflate;
|
|
3174
3179
|
}
|
|
3175
3180
|
websocket.setSocket(socket, head, {
|
|
3176
3181
|
allowSynchronousEvents: opts.allowSynchronousEvents,
|
|
@@ -3338,9 +3343,9 @@ var require_websocket = __commonJS({
|
|
|
3338
3343
|
}
|
|
3339
3344
|
});
|
|
3340
3345
|
|
|
3341
|
-
// ../node_modules/.pnpm/ws@8.
|
|
3346
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/stream.js
|
|
3342
3347
|
var require_stream = __commonJS({
|
|
3343
|
-
"../node_modules/.pnpm/ws@8.
|
|
3348
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/stream.js"(exports3, module3) {
|
|
3344
3349
|
"use strict";
|
|
3345
3350
|
var WebSocket2 = require_websocket();
|
|
3346
3351
|
var { Duplex } = require("stream");
|
|
@@ -3436,9 +3441,9 @@ var require_stream = __commonJS({
|
|
|
3436
3441
|
}
|
|
3437
3442
|
});
|
|
3438
3443
|
|
|
3439
|
-
// ../node_modules/.pnpm/ws@8.
|
|
3444
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/subprotocol.js
|
|
3440
3445
|
var require_subprotocol = __commonJS({
|
|
3441
|
-
"../node_modules/.pnpm/ws@8.
|
|
3446
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/subprotocol.js"(exports3, module3) {
|
|
3442
3447
|
"use strict";
|
|
3443
3448
|
var { tokenChars } = require_validation();
|
|
3444
3449
|
function parse(header) {
|
|
@@ -3481,17 +3486,17 @@ var require_subprotocol = __commonJS({
|
|
|
3481
3486
|
}
|
|
3482
3487
|
});
|
|
3483
3488
|
|
|
3484
|
-
// ../node_modules/.pnpm/ws@8.
|
|
3489
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket-server.js
|
|
3485
3490
|
var require_websocket_server = __commonJS({
|
|
3486
|
-
"../node_modules/.pnpm/ws@8.
|
|
3491
|
+
"../node_modules/.pnpm/ws@8.20.1/node_modules/ws/lib/websocket-server.js"(exports3, module3) {
|
|
3487
3492
|
"use strict";
|
|
3488
3493
|
var EventEmitter = require("events");
|
|
3489
3494
|
var http = require("http");
|
|
3490
3495
|
var { Duplex } = require("stream");
|
|
3491
3496
|
var { createHash } = require("crypto");
|
|
3492
|
-
var
|
|
3493
|
-
var
|
|
3494
|
-
var
|
|
3497
|
+
var extension2 = require_extension();
|
|
3498
|
+
var PerMessageDeflate2 = require_permessage_deflate();
|
|
3499
|
+
var subprotocol2 = require_subprotocol();
|
|
3495
3500
|
var WebSocket2 = require_websocket();
|
|
3496
3501
|
var { CLOSE_TIMEOUT, GUID, kWebSocket } = require_constants();
|
|
3497
3502
|
var keyRegex = /^[+/0-9A-Za-z]{22}==$/;
|
|
@@ -3714,7 +3719,7 @@ var require_websocket_server = __commonJS({
|
|
|
3714
3719
|
let protocols = /* @__PURE__ */ new Set();
|
|
3715
3720
|
if (secWebSocketProtocol !== void 0) {
|
|
3716
3721
|
try {
|
|
3717
|
-
protocols =
|
|
3722
|
+
protocols = subprotocol2.parse(secWebSocketProtocol);
|
|
3718
3723
|
} catch (err) {
|
|
3719
3724
|
const message = "Invalid Sec-WebSocket-Protocol header";
|
|
3720
3725
|
abortHandshakeOrEmitwsClientError(this, req, socket, 400, message);
|
|
@@ -3724,16 +3729,16 @@ var require_websocket_server = __commonJS({
|
|
|
3724
3729
|
const secWebSocketExtensions = req.headers["sec-websocket-extensions"];
|
|
3725
3730
|
const extensions = {};
|
|
3726
3731
|
if (this.options.perMessageDeflate && secWebSocketExtensions !== void 0) {
|
|
3727
|
-
const perMessageDeflate = new
|
|
3728
|
-
this.options.perMessageDeflate,
|
|
3729
|
-
true,
|
|
3730
|
-
this.options.maxPayload
|
|
3731
|
-
);
|
|
3732
|
+
const perMessageDeflate = new PerMessageDeflate2({
|
|
3733
|
+
...this.options.perMessageDeflate,
|
|
3734
|
+
isServer: true,
|
|
3735
|
+
maxPayload: this.options.maxPayload
|
|
3736
|
+
});
|
|
3732
3737
|
try {
|
|
3733
|
-
const offers =
|
|
3734
|
-
if (offers[
|
|
3735
|
-
perMessageDeflate.accept(offers[
|
|
3736
|
-
extensions[
|
|
3738
|
+
const offers = extension2.parse(secWebSocketExtensions);
|
|
3739
|
+
if (offers[PerMessageDeflate2.extensionName]) {
|
|
3740
|
+
perMessageDeflate.accept(offers[PerMessageDeflate2.extensionName]);
|
|
3741
|
+
extensions[PerMessageDeflate2.extensionName] = perMessageDeflate;
|
|
3737
3742
|
}
|
|
3738
3743
|
} catch (err) {
|
|
3739
3744
|
const message = "Invalid or unacceptable Sec-WebSocket-Extensions header";
|
|
@@ -3804,10 +3809,10 @@ var require_websocket_server = __commonJS({
|
|
|
3804
3809
|
ws._protocol = protocol;
|
|
3805
3810
|
}
|
|
3806
3811
|
}
|
|
3807
|
-
if (extensions[
|
|
3808
|
-
const params2 = extensions[
|
|
3809
|
-
const value =
|
|
3810
|
-
[
|
|
3812
|
+
if (extensions[PerMessageDeflate2.extensionName]) {
|
|
3813
|
+
const params2 = extensions[PerMessageDeflate2.extensionName].params;
|
|
3814
|
+
const value = extension2.format({
|
|
3815
|
+
[PerMessageDeflate2.extensionName]: [params2]
|
|
3811
3816
|
});
|
|
3812
3817
|
headers.push(`Sec-WebSocket-Extensions: ${value}`);
|
|
3813
3818
|
ws._extensions = extensions;
|
|
@@ -19095,7 +19100,7 @@ var require_mime_types = __commonJS({
|
|
|
19095
19100
|
exports3.charset = charset;
|
|
19096
19101
|
exports3.charsets = { lookup: charset };
|
|
19097
19102
|
exports3.contentType = contentType;
|
|
19098
|
-
exports3.extension =
|
|
19103
|
+
exports3.extension = extension2;
|
|
19099
19104
|
exports3.extensions = /* @__PURE__ */ Object.create(null);
|
|
19100
19105
|
exports3.lookup = lookup;
|
|
19101
19106
|
exports3.types = /* @__PURE__ */ Object.create(null);
|
|
@@ -19129,7 +19134,7 @@ var require_mime_types = __commonJS({
|
|
|
19129
19134
|
}
|
|
19130
19135
|
return mime;
|
|
19131
19136
|
}
|
|
19132
|
-
function
|
|
19137
|
+
function extension2(type2) {
|
|
19133
19138
|
if (!type2 || typeof type2 !== "string") {
|
|
19134
19139
|
return false;
|
|
19135
19140
|
}
|
|
@@ -19144,11 +19149,11 @@ var require_mime_types = __commonJS({
|
|
|
19144
19149
|
if (!path || typeof path !== "string") {
|
|
19145
19150
|
return false;
|
|
19146
19151
|
}
|
|
19147
|
-
var
|
|
19148
|
-
if (!
|
|
19152
|
+
var extension3 = extname("x." + path).toLowerCase().slice(1);
|
|
19153
|
+
if (!extension3) {
|
|
19149
19154
|
return false;
|
|
19150
19155
|
}
|
|
19151
|
-
return exports3.types[
|
|
19156
|
+
return exports3.types[extension3] || false;
|
|
19152
19157
|
}
|
|
19153
19158
|
function populateMaps(extensions, types2) {
|
|
19154
19159
|
Object.keys(db).forEach(function forEachMimeType(type2) {
|
|
@@ -19159,15 +19164,15 @@ var require_mime_types = __commonJS({
|
|
|
19159
19164
|
}
|
|
19160
19165
|
extensions[type2] = exts;
|
|
19161
19166
|
for (var i = 0; i < exts.length; i++) {
|
|
19162
|
-
var
|
|
19163
|
-
types2[
|
|
19167
|
+
var extension3 = exts[i];
|
|
19168
|
+
types2[extension3] = _preferredType(extension3, types2[extension3], type2);
|
|
19164
19169
|
const legacyType = _preferredTypeLegacy(
|
|
19165
|
-
|
|
19166
|
-
types2[
|
|
19170
|
+
extension3,
|
|
19171
|
+
types2[extension3],
|
|
19167
19172
|
type2
|
|
19168
19173
|
);
|
|
19169
|
-
if (legacyType !== types2[
|
|
19170
|
-
exports3._extensionConflicts.push([
|
|
19174
|
+
if (legacyType !== types2[extension3]) {
|
|
19175
|
+
exports3._extensionConflicts.push([extension3, legacyType, types2[extension3]]);
|
|
19171
19176
|
}
|
|
19172
19177
|
}
|
|
19173
19178
|
});
|
|
@@ -19181,7 +19186,7 @@ var require_mime_types = __commonJS({
|
|
|
19181
19186
|
var SOURCE_RANK = ["nginx", "apache", void 0, "iana"];
|
|
19182
19187
|
var score0 = type0 ? SOURCE_RANK.indexOf(db[type0].source) : 0;
|
|
19183
19188
|
var score1 = type1 ? SOURCE_RANK.indexOf(db[type1].source) : 0;
|
|
19184
|
-
if (exports3.types[
|
|
19189
|
+
if (exports3.types[extension2] !== "application/octet-stream" && (score0 > score1 || score0 === score1 && exports3.types[extension2]?.slice(0, 12) === "application/")) {
|
|
19185
19190
|
return type0;
|
|
19186
19191
|
}
|
|
19187
19192
|
return score0 > score1 ? type0 : type1;
|
|
@@ -24909,8 +24914,8 @@ var require_application = __commonJS({
|
|
|
24909
24914
|
if (typeof fn !== "function") {
|
|
24910
24915
|
throw new Error("callback function required");
|
|
24911
24916
|
}
|
|
24912
|
-
var
|
|
24913
|
-
this.engines[
|
|
24917
|
+
var extension2 = ext[0] !== "." ? "." + ext : ext;
|
|
24918
|
+
this.engines[extension2] = fn;
|
|
24914
24919
|
return this;
|
|
24915
24920
|
};
|
|
24916
24921
|
app2.param = function param(name2, fn) {
|
|
@@ -27615,7 +27620,7 @@ var require_permessage_deflate2 = __commonJS({
|
|
|
27615
27620
|
var kBuffers = /* @__PURE__ */ Symbol("buffers");
|
|
27616
27621
|
var kError = /* @__PURE__ */ Symbol("error");
|
|
27617
27622
|
var zlibLimiter;
|
|
27618
|
-
var
|
|
27623
|
+
var PerMessageDeflate2 = class {
|
|
27619
27624
|
/**
|
|
27620
27625
|
* Creates a PerMessageDeflate instance.
|
|
27621
27626
|
*
|
|
@@ -27952,7 +27957,7 @@ var require_permessage_deflate2 = __commonJS({
|
|
|
27952
27957
|
});
|
|
27953
27958
|
}
|
|
27954
27959
|
};
|
|
27955
|
-
module3.exports =
|
|
27960
|
+
module3.exports = PerMessageDeflate2;
|
|
27956
27961
|
function deflateOnData(chunk) {
|
|
27957
27962
|
this[kBuffers].push(chunk);
|
|
27958
27963
|
this[kTotalLength] += chunk.length;
|
|
@@ -28038,7 +28043,7 @@ var require_receiver2 = __commonJS({
|
|
|
28038
28043
|
"../node_modules/.pnpm/ws@7.5.10/node_modules/ws/lib/receiver.js"(exports3, module3) {
|
|
28039
28044
|
"use strict";
|
|
28040
28045
|
var { Writable } = require("stream");
|
|
28041
|
-
var
|
|
28046
|
+
var PerMessageDeflate2 = require_permessage_deflate2();
|
|
28042
28047
|
var {
|
|
28043
28048
|
BINARY_TYPES,
|
|
28044
28049
|
EMPTY_BUFFER,
|
|
@@ -28184,7 +28189,7 @@ var require_receiver2 = __commonJS({
|
|
|
28184
28189
|
);
|
|
28185
28190
|
}
|
|
28186
28191
|
const compressed = (buf[0] & 64) === 64;
|
|
28187
|
-
if (compressed && !this._extensions[
|
|
28192
|
+
if (compressed && !this._extensions[PerMessageDeflate2.extensionName]) {
|
|
28188
28193
|
this._loop = false;
|
|
28189
28194
|
return error(
|
|
28190
28195
|
RangeError,
|
|
@@ -28412,7 +28417,7 @@ var require_receiver2 = __commonJS({
|
|
|
28412
28417
|
* @private
|
|
28413
28418
|
*/
|
|
28414
28419
|
decompress(data, cb) {
|
|
28415
|
-
const perMessageDeflate = this._extensions[
|
|
28420
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
|
|
28416
28421
|
perMessageDeflate.decompress(data, this._fin, (err, buf) => {
|
|
28417
28422
|
if (err) return cb(err);
|
|
28418
28423
|
if (buf.length) {
|
|
@@ -28549,7 +28554,7 @@ var require_sender2 = __commonJS({
|
|
|
28549
28554
|
var net = require("net");
|
|
28550
28555
|
var tls = require("tls");
|
|
28551
28556
|
var { randomFillSync: randomFillSync2 } = require("crypto");
|
|
28552
|
-
var
|
|
28557
|
+
var PerMessageDeflate2 = require_permessage_deflate2();
|
|
28553
28558
|
var { EMPTY_BUFFER } = require_constants2();
|
|
28554
28559
|
var { isValidStatusCode } = require_validation2();
|
|
28555
28560
|
var { mask: applyMask, toBuffer } = require_buffer_util2();
|
|
@@ -28773,7 +28778,7 @@ var require_sender2 = __commonJS({
|
|
|
28773
28778
|
*/
|
|
28774
28779
|
send(data, options, cb) {
|
|
28775
28780
|
const buf = toBuffer(data);
|
|
28776
|
-
const perMessageDeflate = this._extensions[
|
|
28781
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
|
|
28777
28782
|
let opcode = options.binary ? 2 : 1;
|
|
28778
28783
|
let rsv1 = options.compress;
|
|
28779
28784
|
if (this._firstFragment) {
|
|
@@ -28837,7 +28842,7 @@ var require_sender2 = __commonJS({
|
|
|
28837
28842
|
this.sendFrame(_Sender.frame(data, options), cb);
|
|
28838
28843
|
return;
|
|
28839
28844
|
}
|
|
28840
|
-
const perMessageDeflate = this._extensions[
|
|
28845
|
+
const perMessageDeflate = this._extensions[PerMessageDeflate2.extensionName];
|
|
28841
28846
|
this._bufferedBytes += data.length;
|
|
28842
28847
|
this._deflating = true;
|
|
28843
28848
|
perMessageDeflate.compress(data, options.fin, (_, buf) => {
|
|
@@ -29312,11 +29317,11 @@ var require_extension2 = __commonJS({
|
|
|
29312
29317
|
return offers;
|
|
29313
29318
|
}
|
|
29314
29319
|
function format(extensions) {
|
|
29315
|
-
return Object.keys(extensions).map((
|
|
29316
|
-
let configurations = extensions[
|
|
29320
|
+
return Object.keys(extensions).map((extension2) => {
|
|
29321
|
+
let configurations = extensions[extension2];
|
|
29317
29322
|
if (!Array.isArray(configurations)) configurations = [configurations];
|
|
29318
29323
|
return configurations.map((params2) => {
|
|
29319
|
-
return [
|
|
29324
|
+
return [extension2].concat(
|
|
29320
29325
|
Object.keys(params2).map((k) => {
|
|
29321
29326
|
let values = params2[k];
|
|
29322
29327
|
if (!Array.isArray(values)) values = [values];
|
|
@@ -29342,7 +29347,7 @@ var require_websocket2 = __commonJS({
|
|
|
29342
29347
|
var { randomBytes, createHash } = require("crypto");
|
|
29343
29348
|
var { Readable } = require("stream");
|
|
29344
29349
|
var { URL } = require("url");
|
|
29345
|
-
var
|
|
29350
|
+
var PerMessageDeflate2 = require_permessage_deflate2();
|
|
29346
29351
|
var Receiver2 = require_receiver2();
|
|
29347
29352
|
var Sender2 = require_sender2();
|
|
29348
29353
|
var {
|
|
@@ -29530,8 +29535,8 @@ var require_websocket2 = __commonJS({
|
|
|
29530
29535
|
this.emit("close", this._closeCode, this._closeMessage);
|
|
29531
29536
|
return;
|
|
29532
29537
|
}
|
|
29533
|
-
if (this._extensions[
|
|
29534
|
-
this._extensions[
|
|
29538
|
+
if (this._extensions[PerMessageDeflate2.extensionName]) {
|
|
29539
|
+
this._extensions[PerMessageDeflate2.extensionName].cleanup();
|
|
29535
29540
|
}
|
|
29536
29541
|
this._receiver.removeAllListeners();
|
|
29537
29542
|
this._readyState = _WebSocket.CLOSED;
|
|
@@ -29670,7 +29675,7 @@ var require_websocket2 = __commonJS({
|
|
|
29670
29675
|
fin: true,
|
|
29671
29676
|
...options
|
|
29672
29677
|
};
|
|
29673
|
-
if (!this._extensions[
|
|
29678
|
+
if (!this._extensions[PerMessageDeflate2.extensionName]) {
|
|
29674
29679
|
opts.compress = false;
|
|
29675
29680
|
}
|
|
29676
29681
|
this._sender.send(data || EMPTY_BUFFER, opts, cb);
|
|
@@ -29816,13 +29821,13 @@ var require_websocket2 = __commonJS({
|
|
|
29816
29821
|
opts.path = parsedUrl.pathname + parsedUrl.search;
|
|
29817
29822
|
opts.timeout = opts.handshakeTimeout;
|
|
29818
29823
|
if (opts.perMessageDeflate) {
|
|
29819
|
-
perMessageDeflate = new
|
|
29824
|
+
perMessageDeflate = new PerMessageDeflate2(
|
|
29820
29825
|
opts.perMessageDeflate !== true ? opts.perMessageDeflate : {},
|
|
29821
29826
|
false,
|
|
29822
29827
|
opts.maxPayload
|
|
29823
29828
|
);
|
|
29824
29829
|
opts.headers["Sec-WebSocket-Extensions"] = format({
|
|
29825
|
-
[
|
|
29830
|
+
[PerMessageDeflate2.extensionName]: perMessageDeflate.offer()
|
|
29826
29831
|
});
|
|
29827
29832
|
}
|
|
29828
29833
|
if (protocols) {
|
|
@@ -29950,19 +29955,19 @@ var require_websocket2 = __commonJS({
|
|
|
29950
29955
|
}
|
|
29951
29956
|
const extensionNames = Object.keys(extensions);
|
|
29952
29957
|
if (extensionNames.length) {
|
|
29953
|
-
if (extensionNames.length !== 1 || extensionNames[0] !==
|
|
29958
|
+
if (extensionNames.length !== 1 || extensionNames[0] !== PerMessageDeflate2.extensionName) {
|
|
29954
29959
|
const message = "Server indicated an extension that was not requested";
|
|
29955
29960
|
abortHandshake(websocket, socket, message);
|
|
29956
29961
|
return;
|
|
29957
29962
|
}
|
|
29958
29963
|
try {
|
|
29959
|
-
perMessageDeflate.accept(extensions[
|
|
29964
|
+
perMessageDeflate.accept(extensions[PerMessageDeflate2.extensionName]);
|
|
29960
29965
|
} catch (err) {
|
|
29961
29966
|
const message = "Invalid Sec-WebSocket-Extensions header";
|
|
29962
29967
|
abortHandshake(websocket, socket, message);
|
|
29963
29968
|
return;
|
|
29964
29969
|
}
|
|
29965
|
-
websocket._extensions[
|
|
29970
|
+
websocket._extensions[PerMessageDeflate2.extensionName] = perMessageDeflate;
|
|
29966
29971
|
}
|
|
29967
29972
|
}
|
|
29968
29973
|
websocket.setSocket(socket, head, opts.maxPayload);
|
|
@@ -30222,7 +30227,7 @@ var require_websocket_server2 = __commonJS({
|
|
|
30222
30227
|
var net = require("net");
|
|
30223
30228
|
var tls = require("tls");
|
|
30224
30229
|
var { createHash } = require("crypto");
|
|
30225
|
-
var
|
|
30230
|
+
var PerMessageDeflate2 = require_permessage_deflate2();
|
|
30226
30231
|
var WebSocket2 = require_websocket2();
|
|
30227
30232
|
var { format, parse } = require_extension2();
|
|
30228
30233
|
var { GUID, kWebSocket } = require_constants2();
|
|
@@ -30387,16 +30392,16 @@ var require_websocket_server2 = __commonJS({
|
|
|
30387
30392
|
return abortHandshake(socket, 400);
|
|
30388
30393
|
}
|
|
30389
30394
|
if (this.options.perMessageDeflate) {
|
|
30390
|
-
const perMessageDeflate = new
|
|
30395
|
+
const perMessageDeflate = new PerMessageDeflate2(
|
|
30391
30396
|
this.options.perMessageDeflate,
|
|
30392
30397
|
true,
|
|
30393
30398
|
this.options.maxPayload
|
|
30394
30399
|
);
|
|
30395
30400
|
try {
|
|
30396
30401
|
const offers = parse(req.headers["sec-websocket-extensions"]);
|
|
30397
|
-
if (offers[
|
|
30398
|
-
perMessageDeflate.accept(offers[
|
|
30399
|
-
extensions[
|
|
30402
|
+
if (offers[PerMessageDeflate2.extensionName]) {
|
|
30403
|
+
perMessageDeflate.accept(offers[PerMessageDeflate2.extensionName]);
|
|
30404
|
+
extensions[PerMessageDeflate2.extensionName] = perMessageDeflate;
|
|
30400
30405
|
}
|
|
30401
30406
|
} catch (err) {
|
|
30402
30407
|
return abortHandshake(socket, 400);
|
|
@@ -30463,10 +30468,10 @@ var require_websocket_server2 = __commonJS({
|
|
|
30463
30468
|
ws._protocol = protocol;
|
|
30464
30469
|
}
|
|
30465
30470
|
}
|
|
30466
|
-
if (extensions[
|
|
30467
|
-
const params2 = extensions[
|
|
30471
|
+
if (extensions[PerMessageDeflate2.extensionName]) {
|
|
30472
|
+
const params2 = extensions[PerMessageDeflate2.extensionName].params;
|
|
30468
30473
|
const value = format({
|
|
30469
|
-
[
|
|
30474
|
+
[PerMessageDeflate2.extensionName]: [params2]
|
|
30470
30475
|
});
|
|
30471
30476
|
headers.push(`Sec-WebSocket-Extensions: ${value}`);
|
|
30472
30477
|
ws._extensions = extensions;
|
|
@@ -38571,10 +38576,13 @@ var v4_default = v4;
|
|
|
38571
38576
|
// ../node_modules/.pnpm/@hocuspocus+server@2.15.3_y-protocols@1.0.7_yjs@13.6.30__yjs@13.6.30/node_modules/@hocuspocus/server/dist/hocuspocus-server.esm.js
|
|
38572
38577
|
var import_http = require("http");
|
|
38573
38578
|
|
|
38574
|
-
// ../node_modules/.pnpm/ws@8.
|
|
38579
|
+
// ../node_modules/.pnpm/ws@8.20.1/node_modules/ws/wrapper.mjs
|
|
38575
38580
|
var import_stream = __toESM(require_stream(), 1);
|
|
38581
|
+
var import_extension = __toESM(require_extension(), 1);
|
|
38582
|
+
var import_permessage_deflate = __toESM(require_permessage_deflate(), 1);
|
|
38576
38583
|
var import_receiver = __toESM(require_receiver(), 1);
|
|
38577
38584
|
var import_sender = __toESM(require_sender(), 1);
|
|
38585
|
+
var import_subprotocol = __toESM(require_subprotocol(), 1);
|
|
38578
38586
|
var import_websocket = __toESM(require_websocket(), 1);
|
|
38579
38587
|
var import_websocket_server = __toESM(require_websocket_server(), 1);
|
|
38580
38588
|
|
|
@@ -40312,8 +40320,8 @@ var Hocuspocus = class {
|
|
|
40312
40320
|
return this;
|
|
40313
40321
|
}
|
|
40314
40322
|
get requiresAuthentication() {
|
|
40315
|
-
return !!this.configuration.extensions.find((
|
|
40316
|
-
return
|
|
40323
|
+
return !!this.configuration.extensions.find((extension2) => {
|
|
40324
|
+
return extension2.onAuthenticate !== void 0;
|
|
40317
40325
|
});
|
|
40318
40326
|
}
|
|
40319
40327
|
/**
|
|
@@ -40391,9 +40399,9 @@ var Hocuspocus = class {
|
|
|
40391
40399
|
console.log();
|
|
40392
40400
|
console.log(` > HTTP: ${kleur_default.cyan(`${this.httpURL}`)}`);
|
|
40393
40401
|
console.log(` > WebSocket: ${this.webSocketURL}`);
|
|
40394
|
-
const extensions = (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.extensions.map((
|
|
40402
|
+
const extensions = (_a = this.configuration) === null || _a === void 0 ? void 0 : _a.extensions.map((extension2) => {
|
|
40395
40403
|
var _a2, _b;
|
|
40396
|
-
return (_a2 =
|
|
40404
|
+
return (_a2 = extension2.extensionName) !== null && _a2 !== void 0 ? _a2 : (_b = extension2.constructor) === null || _b === void 0 ? void 0 : _b.name;
|
|
40397
40405
|
}).filter((name3) => name3).filter((name3) => name3 !== "Object");
|
|
40398
40406
|
if (!extensions.length) {
|
|
40399
40407
|
return;
|
|
@@ -40629,10 +40637,10 @@ var Hocuspocus = class {
|
|
|
40629
40637
|
hooks(name2, payload, callback = null) {
|
|
40630
40638
|
const { extensions } = this.configuration;
|
|
40631
40639
|
let chain2 = Promise.resolve();
|
|
40632
|
-
extensions.filter((
|
|
40640
|
+
extensions.filter((extension2) => typeof extension2[name2] === "function").forEach((extension2) => {
|
|
40633
40641
|
chain2 = chain2.then(() => {
|
|
40634
40642
|
var _a;
|
|
40635
|
-
return (_a =
|
|
40643
|
+
return (_a = extension2[name2]) === null || _a === void 0 ? void 0 : _a.call(extension2, payload);
|
|
40636
40644
|
}).catch((error) => {
|
|
40637
40645
|
if (error === null || error === void 0 ? void 0 : error.message) {
|
|
40638
40646
|
console.error(`[${name2}]`, error.message);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xwiki/cristal-realtime",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0-1",
|
|
4
4
|
"license": "LGPL 2.1",
|
|
5
5
|
"author": "XWiki Org Community <contact@xwiki.org>",
|
|
6
6
|
"homepage": "https://cristal.xwiki.org/",
|
|
@@ -21,10 +21,10 @@
|
|
|
21
21
|
"devDependencies": {
|
|
22
22
|
"@types/express": "5.0.6",
|
|
23
23
|
"@types/express-ws": "3.0.6",
|
|
24
|
-
"esbuild": "0.
|
|
25
|
-
"tsx": "4.
|
|
24
|
+
"esbuild": "0.28.0",
|
|
25
|
+
"tsx": "4.22.1",
|
|
26
26
|
"typescript": "5.9.3",
|
|
27
|
-
"vite": "7.3.
|
|
27
|
+
"vite": "7.3.2"
|
|
28
28
|
},
|
|
29
29
|
"scripts": {
|
|
30
30
|
"build": "tsc --project tsconfig.json && esbuild ./src/index.ts --bundle --outfile=dist/index.cjs --platform=node",
|