elit 3.6.6 → 3.6.7

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 (153) hide show
  1. package/Cargo.lock +1 -1
  2. package/Cargo.toml +1 -1
  3. package/dist/build.cjs +421 -331
  4. package/dist/build.d.ts +1 -19
  5. package/dist/build.js +420 -330
  6. package/dist/build.mjs +420 -330
  7. package/dist/chokidar.cjs +219 -182
  8. package/dist/chokidar.d.ts +25 -10
  9. package/dist/chokidar.js +217 -182
  10. package/dist/chokidar.mjs +218 -183
  11. package/dist/cli.cjs +22439 -21563
  12. package/dist/cli.d.ts +19 -37
  13. package/dist/cli.mjs +24113 -23252
  14. package/dist/config.cjs +357 -350
  15. package/dist/config.d.ts +17 -245
  16. package/dist/config.js +520 -515
  17. package/dist/config.mjs +346 -341
  18. package/dist/contracts-BeW9k0yZ.d.ts +54 -0
  19. package/dist/contracts-D7KIS-TK.d.ts +36 -0
  20. package/dist/coverage.cjs +448 -485
  21. package/dist/coverage.d.ts +13 -62
  22. package/dist/coverage.js +447 -484
  23. package/dist/coverage.mjs +447 -484
  24. package/dist/database.cjs +819 -828
  25. package/dist/database.d.ts +8 -24
  26. package/dist/database.js +818 -829
  27. package/dist/database.mjs +818 -829
  28. package/dist/desktop-auto-render.cjs +1700 -1523
  29. package/dist/desktop-auto-render.d.ts +4 -12
  30. package/dist/desktop-auto-render.js +1695 -1518
  31. package/dist/desktop-auto-render.mjs +1696 -1519
  32. package/dist/desktop.cjs +3 -1
  33. package/dist/desktop.d.ts +4 -1
  34. package/dist/desktop.js +1 -1
  35. package/dist/desktop.mjs +1 -1
  36. package/dist/dev-build.cjs +830 -0
  37. package/dist/dev-build.d.ts +53 -0
  38. package/dist/dev-build.js +3318 -0
  39. package/dist/dev-build.mjs +797 -0
  40. package/dist/dom.cjs +717 -591
  41. package/dist/dom.d.ts +2 -17
  42. package/dist/dom.js +714 -588
  43. package/dist/dom.mjs +716 -590
  44. package/dist/el.cjs +62 -52
  45. package/dist/el.d.ts +5 -12
  46. package/dist/el.js +60 -52
  47. package/dist/el.mjs +60 -52
  48. package/dist/fs.cjs +72 -63
  49. package/dist/fs.d.ts +22 -19
  50. package/dist/fs.js +71 -62
  51. package/dist/fs.mjs +71 -62
  52. package/dist/hmr.cjs +40 -14
  53. package/dist/hmr.d.ts +11 -23
  54. package/dist/hmr.js +38 -14
  55. package/dist/hmr.mjs +38 -14
  56. package/dist/http.cjs +251 -99
  57. package/dist/http.d.ts +38 -104
  58. package/dist/http.js +249 -99
  59. package/dist/http.mjs +249 -99
  60. package/dist/https.cjs +524 -228
  61. package/dist/https.d.ts +44 -36
  62. package/dist/https.js +520 -226
  63. package/dist/https.mjs +522 -228
  64. package/dist/index.cjs +7502 -7691
  65. package/dist/index.d.ts +6 -3
  66. package/dist/index.js +7486 -7677
  67. package/dist/index.mjs +7497 -7687
  68. package/dist/mime-types.cjs +10 -4
  69. package/dist/mime-types.d.ts +8 -11
  70. package/dist/mime-types.js +9 -3
  71. package/dist/mime-types.mjs +9 -3
  72. package/dist/native.cjs +8616 -8870
  73. package/dist/native.d.ts +7 -10
  74. package/dist/native.js +8682 -8936
  75. package/dist/native.mjs +8615 -8869
  76. package/dist/path.cjs +83 -77
  77. package/dist/path.d.ts +29 -29
  78. package/dist/path.js +82 -76
  79. package/dist/path.mjs +82 -76
  80. package/dist/pm.cjs +3300 -0
  81. package/dist/pm.d.ts +256 -0
  82. package/dist/pm.js +5638 -0
  83. package/dist/pm.mjs +3196 -0
  84. package/dist/preview-build.cjs +712 -0
  85. package/dist/preview-build.d.ts +59 -0
  86. package/dist/preview-build.js +3194 -0
  87. package/dist/preview-build.mjs +676 -0
  88. package/dist/render-context.cjs +13 -2
  89. package/dist/render-context.d.ts +9 -34
  90. package/dist/render-context.js +11 -2
  91. package/dist/render-context.mjs +11 -2
  92. package/dist/router.cjs +787 -646
  93. package/dist/router.d.ts +8 -14
  94. package/dist/router.js +786 -645
  95. package/dist/router.mjs +786 -645
  96. package/dist/runtime.cjs +1 -1
  97. package/dist/runtime.js +1 -1
  98. package/dist/runtime.mjs +1 -1
  99. package/dist/server.cjs +3254 -2684
  100. package/dist/server.d.ts +47 -5
  101. package/dist/server.js +3427 -2859
  102. package/dist/server.mjs +3397 -2829
  103. package/dist/smtp-server.cjs +16 -3
  104. package/dist/smtp-server.d.ts +12 -26
  105. package/dist/smtp-server.js +18 -5
  106. package/dist/smtp-server.mjs +16 -3
  107. package/dist/state-DvEkDehk.d.ts +195 -0
  108. package/dist/state.cjs +768 -659
  109. package/dist/state.d.ts +11 -71
  110. package/dist/state.js +760 -651
  111. package/dist/state.mjs +767 -658
  112. package/dist/style.cjs +1011 -968
  113. package/dist/style.d.ts +13 -127
  114. package/dist/style.js +1009 -970
  115. package/dist/style.mjs +1011 -971
  116. package/dist/test-reporter.cjs +332 -316
  117. package/dist/test-reporter.d.ts +28 -33
  118. package/dist/test-reporter.js +328 -312
  119. package/dist/test-reporter.mjs +328 -312
  120. package/dist/test-runtime.cjs +927 -968
  121. package/dist/test-runtime.d.ts +24 -99
  122. package/dist/test-runtime.js +922 -965
  123. package/dist/test-runtime.mjs +922 -965
  124. package/dist/test.cjs +4428 -4273
  125. package/dist/test.d.ts +2 -8
  126. package/dist/test.js +4307 -4154
  127. package/dist/test.mjs +4419 -4267
  128. package/dist/types-BONVzPtp.d.ts +59 -0
  129. package/dist/types-BR4wMiVx.d.ts +32 -0
  130. package/dist/types-C4gKykuG.d.ts +23 -0
  131. package/dist/types-CIhpN1-K.d.ts +64 -0
  132. package/dist/types-Ckj8md_j.d.ts +84 -0
  133. package/dist/types-CpjQTAkX.d.ts +24 -0
  134. package/dist/types-D0LjrYjS.d.ts +14 -0
  135. package/dist/types-DAisuVr5.d.ts +75 -0
  136. package/dist/types-tJn88E1N.d.ts +242 -0
  137. package/dist/types.d.ts +50 -237
  138. package/dist/universal.cjs +1 -1
  139. package/dist/universal.d.ts +1 -7
  140. package/dist/universal.js +1 -1
  141. package/dist/universal.mjs +1 -1
  142. package/dist/websocket-XfyK23zD.d.ts +119 -0
  143. package/dist/ws.cjs +129 -108
  144. package/dist/ws.d.ts +21 -131
  145. package/dist/ws.js +128 -109
  146. package/dist/ws.mjs +128 -109
  147. package/dist/wss.cjs +757 -479
  148. package/dist/wss.d.ts +31 -28
  149. package/dist/wss.js +755 -479
  150. package/dist/wss.mjs +758 -482
  151. package/package.json +8 -1
  152. package/vendor/epaint-0.31.1/src/image.rs +418 -0
  153. package/dist/server-uMQvZAll.d.ts +0 -458
package/dist/ws.js CHANGED
@@ -7,17 +7,7 @@
7
7
  throw Error('Dynamic require of "' + x + '" is not supported');
8
8
  });
9
9
 
10
- // src/ws.ts
11
- var import_events = __require("events");
12
-
13
- // src/runtime.ts
14
- var runtime = (() => {
15
- if (typeof Deno !== "undefined") return "deno";
16
- if (typeof Bun !== "undefined") return "bun";
17
- return "node";
18
- })();
19
-
20
- // src/ws.ts
10
+ // src/server/ws/constants.ts
21
11
  var ReadyState = /* @__PURE__ */ ((ReadyState2) => {
22
12
  ReadyState2[ReadyState2["CONNECTING"] = 0] = "CONNECTING";
23
13
  ReadyState2[ReadyState2["OPEN"] = 1] = "OPEN";
@@ -42,6 +32,18 @@
42
32
  BAD_GATEWAY: 1014,
43
33
  TLS_HANDSHAKE_FAIL: 1015
44
34
  };
35
+
36
+ // src/server/ws/server.ts
37
+ var import_events2 = __require("events");
38
+
39
+ // src/shares/runtime.ts
40
+ var runtime = (() => {
41
+ if (typeof Deno !== "undefined") return "deno";
42
+ if (typeof Bun !== "undefined") return "bun";
43
+ return "node";
44
+ })();
45
+
46
+ // src/server/ws/utils.ts
45
47
  function queueCallback(callback, error) {
46
48
  if (callback) {
47
49
  queueMicrotask(() => callback(error));
@@ -57,6 +59,73 @@
57
59
  const [pathname = "/"] = (url || "/").split("?");
58
60
  return pathname || "/";
59
61
  }
62
+ function isIgnorableConnectionError(error) {
63
+ const errorCode = error?.code;
64
+ return errorCode === "ECONNABORTED" || errorCode === "ECONNRESET" || errorCode === "EPIPE";
65
+ }
66
+ function coerceBunMessage(message) {
67
+ const isBinary = typeof message !== "string";
68
+ const payload = typeof message === "string" ? message : message instanceof ArrayBuffer ? Buffer.from(message) : ArrayBuffer.isView(message) ? Buffer.from(message.buffer, message.byteOffset, message.byteLength) : Buffer.from(String(message));
69
+ return { payload, isBinary };
70
+ }
71
+ function parseFrame(data) {
72
+ if (data.length < 2) {
73
+ return null;
74
+ }
75
+ const firstByte = data[0];
76
+ const secondByte = data[1];
77
+ const opcode = firstByte & 15;
78
+ const isMasked = (secondByte & 128) === 128;
79
+ let payloadLength = secondByte & 127;
80
+ let offset = 2;
81
+ if (payloadLength === 126) {
82
+ payloadLength = data.readUInt16BE(2);
83
+ offset = 4;
84
+ } else if (payloadLength === 127) {
85
+ payloadLength = Number(data.readBigUInt64BE(2));
86
+ offset = 10;
87
+ }
88
+ let payload = data.subarray(offset);
89
+ if (isMasked) {
90
+ const maskKey = data.subarray(offset, offset + 4);
91
+ payload = data.subarray(offset + 4, offset + 4 + payloadLength);
92
+ for (let index = 0; index < payload.length; index += 1) {
93
+ payload[index] ^= maskKey[index % 4];
94
+ }
95
+ }
96
+ if (opcode === 1) {
97
+ return payload.toString("utf8");
98
+ }
99
+ return null;
100
+ }
101
+ function createFrame(data) {
102
+ const payload = typeof data === "string" ? Buffer.from(data) : data;
103
+ const payloadLength = Buffer.isBuffer(payload) ? payload.length : 0;
104
+ let frame;
105
+ let offset = 2;
106
+ if (payloadLength < 126) {
107
+ frame = Buffer.allocUnsafe(2 + payloadLength);
108
+ frame[1] = payloadLength;
109
+ } else if (payloadLength < 65536) {
110
+ frame = Buffer.allocUnsafe(4 + payloadLength);
111
+ frame[1] = 126;
112
+ frame.writeUInt16BE(payloadLength, 2);
113
+ offset = 4;
114
+ } else {
115
+ frame = Buffer.allocUnsafe(10 + payloadLength);
116
+ frame[1] = 127;
117
+ frame.writeBigUInt64BE(BigInt(payloadLength), 2);
118
+ offset = 10;
119
+ }
120
+ frame[0] = 129;
121
+ if (Buffer.isBuffer(payload)) {
122
+ payload.copy(frame, offset);
123
+ }
124
+ return frame;
125
+ }
126
+
127
+ // src/server/ws/websocket.ts
128
+ var import_events = __require("events");
60
129
  var WebSocket = class extends import_events.EventEmitter {
61
130
  constructor(address, protocols, _options) {
62
131
  super();
@@ -87,12 +156,13 @@
87
156
  };
88
157
  }
89
158
  /**
90
- * Send data through WebSocket
159
+ * Send data through WebSocket.
91
160
  */
92
161
  send(data, options, callback) {
93
162
  const cb = typeof options === "function" ? options : callback;
94
163
  if (this.readyState !== 1 /* OPEN */) {
95
- return queueCallback(cb, new Error("WebSocket is not open"));
164
+ queueCallback(cb, new Error("WebSocket is not open"));
165
+ return;
96
166
  }
97
167
  try {
98
168
  this._socket.send(data);
@@ -102,7 +172,7 @@
102
172
  }
103
173
  }
104
174
  /**
105
- * Close the WebSocket connection
175
+ * Close the WebSocket connection.
106
176
  */
107
177
  close(code, reason) {
108
178
  if (this.readyState === 3 /* CLOSED */ || this.readyState === 2 /* CLOSING */) {
@@ -112,42 +182,44 @@
112
182
  this._socket.close(code, typeof reason === "string" ? reason : reason?.toString());
113
183
  }
114
184
  /**
115
- * Pause the socket (no-op for native WebSocket)
185
+ * Pause the socket (no-op for native WebSocket).
116
186
  */
117
187
  pause() {
118
188
  }
119
189
  /**
120
- * Resume the socket (no-op for native WebSocket)
190
+ * Resume the socket (no-op for native WebSocket).
121
191
  */
122
192
  resume() {
123
193
  }
124
194
  /**
125
- * Send a ping frame (no-op for native WebSocket)
195
+ * Send a ping frame (no-op for native WebSocket).
126
196
  */
127
197
  ping(_data, _mask, callback) {
128
198
  queueCallback(callback);
129
199
  }
130
200
  /**
131
- * Send a pong frame (no-op for native WebSocket)
201
+ * Send a pong frame (no-op for native WebSocket).
132
202
  */
133
203
  pong(_data, _mask, callback) {
134
204
  queueCallback(callback);
135
205
  }
136
206
  /**
137
- * Terminate the connection
207
+ * Terminate the connection.
138
208
  */
139
209
  terminate() {
140
210
  this._socket.close();
141
211
  this.readyState = 3 /* CLOSED */;
142
212
  }
143
213
  /**
144
- * Get buffered amount
214
+ * Get buffered amount.
145
215
  */
146
216
  get bufferedAmount() {
147
217
  return this._socket.bufferedAmount || 0;
148
218
  }
149
219
  };
150
- var WebSocketServer = class extends import_events.EventEmitter {
220
+
221
+ // src/server/ws/server.ts
222
+ var WebSocketServer = class extends import_events2.EventEmitter {
151
223
  constructor(options, callback) {
152
224
  super();
153
225
  this.clients = /* @__PURE__ */ new Set();
@@ -158,8 +230,7 @@
158
230
  if (options?.server) {
159
231
  this._httpServer = options.server;
160
232
  this._setupUpgradeHandler();
161
- } else if (options?.noServer) {
162
- } else {
233
+ } else if (!options?.noServer) {
163
234
  const http = __require("http");
164
235
  this._httpServer = http.createServer();
165
236
  this._ownsHttpServer = true;
@@ -193,7 +264,7 @@
193
264
  });
194
265
  }
195
266
  /**
196
- * Handle HTTP upgrade for WebSocket
267
+ * Handle HTTP upgrade for WebSocket.
197
268
  */
198
269
  handleUpgrade(request, socket, _head, callback) {
199
270
  const key = request.headers["sec-websocket-key"];
@@ -223,7 +294,7 @@
223
294
  }
224
295
  _createClientFromSocket(socket) {
225
296
  const client = Object.create(WebSocket.prototype);
226
- import_events.EventEmitter.call(client);
297
+ import_events2.EventEmitter.call(client);
227
298
  client.readyState = 1 /* OPEN */;
228
299
  client.url = "ws://localhost";
229
300
  client.protocol = "";
@@ -232,7 +303,7 @@
232
303
  client._socket = socket;
233
304
  socket.on("data", (data) => {
234
305
  try {
235
- const message = this._parseFrame(data);
306
+ const message = parseFrame(data);
236
307
  if (message) {
237
308
  client.emit("message", message, false);
238
309
  }
@@ -245,33 +316,31 @@
245
316
  client.emit("close", CLOSE_CODES.NORMAL, "");
246
317
  });
247
318
  socket.on("error", (error) => {
248
- const errorCode = error.code;
249
- if (errorCode === "ECONNABORTED" || errorCode === "ECONNRESET" || errorCode === "EPIPE") {
319
+ if (isIgnorableConnectionError(error)) {
250
320
  return;
251
321
  }
252
322
  client.emit("error", error);
253
323
  });
254
324
  client.send = (data, _options, callback) => {
255
325
  if (!socket.writable || client.readyState !== 1 /* OPEN */) {
256
- const err = new Error("WebSocket is not open");
257
- err.code = "WS_NOT_OPEN";
258
- queueCallback(callback, err);
326
+ const error = new Error("WebSocket is not open");
327
+ error.code = "WS_NOT_OPEN";
328
+ queueCallback(callback, error);
259
329
  return;
260
330
  }
261
331
  try {
262
- const frame = this._createFrame(data);
263
- socket.write(frame, (err) => {
264
- if (err) {
265
- const errorCode = err.code;
266
- if (errorCode !== "ECONNABORTED" && errorCode !== "ECONNRESET" && errorCode !== "EPIPE") {
267
- queueCallback(callback, err);
268
- } else {
269
- client.readyState = 3 /* CLOSED */;
270
- queueCallback(callback);
271
- }
272
- } else {
332
+ const frame = createFrame(data);
333
+ socket.write(frame, (error) => {
334
+ if (!error) {
273
335
  queueCallback(callback);
336
+ return;
274
337
  }
338
+ if (isIgnorableConnectionError(error)) {
339
+ client.readyState = 3 /* CLOSED */;
340
+ queueCallback(callback);
341
+ return;
342
+ }
343
+ queueCallback(callback, error);
275
344
  });
276
345
  } catch (error) {
277
346
  queueCallback(callback, error);
@@ -285,7 +354,7 @@
285
354
  }
286
355
  _createClientFromBunSocket(socket) {
287
356
  const client = Object.create(WebSocket.prototype);
288
- import_events.EventEmitter.call(client);
357
+ import_events2.EventEmitter.call(client);
289
358
  client.readyState = 1 /* OPEN */;
290
359
  client.url = "ws://localhost";
291
360
  client.protocol = "";
@@ -309,7 +378,7 @@
309
378
  return;
310
379
  }
311
380
  client.readyState = 2 /* CLOSING */;
312
- socket.close(code ?? CLOSE_CODES.NORMAL, reason);
381
+ socket.close(code ?? CLOSE_CODES.NORMAL, typeof reason === "string" ? reason : reason?.toString());
313
382
  };
314
383
  client.terminate = () => {
315
384
  socket.close();
@@ -340,8 +409,7 @@
340
409
  if (!client) {
341
410
  return;
342
411
  }
343
- const isBinary = typeof message !== "string";
344
- const payload = typeof message === "string" ? message : message instanceof ArrayBuffer ? Buffer.from(message) : ArrayBuffer.isView(message) ? Buffer.from(message.buffer, message.byteOffset, message.byteLength) : Buffer.from(String(message));
412
+ const { payload, isBinary } = coerceBunMessage(message);
345
413
  client.emit("message", payload, isBinary);
346
414
  }
347
415
  _handleBunClose(socket, code, reason) {
@@ -353,77 +421,24 @@
353
421
  client.emit("close", code, typeof reason === "string" ? reason : reason?.toString() || "");
354
422
  this.clients.delete(client);
355
423
  }
356
- _parseFrame(data) {
357
- if (data.length < 2) return null;
358
- const firstByte = data[0];
359
- const secondByte = data[1];
360
- const opcode = firstByte & 15;
361
- const isMasked = (secondByte & 128) === 128;
362
- let payloadLength = secondByte & 127;
363
- let offset = 2;
364
- if (payloadLength === 126) {
365
- payloadLength = data.readUInt16BE(2);
366
- offset = 4;
367
- } else if (payloadLength === 127) {
368
- payloadLength = Number(data.readBigUInt64BE(2));
369
- offset = 10;
370
- }
371
- let payload = data.subarray(offset);
372
- if (isMasked) {
373
- const maskKey = data.subarray(offset, offset + 4);
374
- payload = data.subarray(offset + 4, offset + 4 + payloadLength);
375
- for (let i = 0; i < payload.length; i++) {
376
- payload[i] ^= maskKey[i % 4];
377
- }
378
- }
379
- if (opcode === 1) {
380
- return payload.toString("utf8");
381
- }
382
- return null;
383
- }
384
- _createFrame(data) {
385
- const payload = typeof data === "string" ? Buffer.from(data) : data;
386
- const payloadLength = Buffer.isBuffer(payload) ? payload.length : 0;
387
- let frame;
388
- let offset = 2;
389
- if (payloadLength < 126) {
390
- frame = Buffer.allocUnsafe(2 + payloadLength);
391
- frame[1] = payloadLength;
392
- } else if (payloadLength < 65536) {
393
- frame = Buffer.allocUnsafe(4 + payloadLength);
394
- frame[1] = 126;
395
- frame.writeUInt16BE(payloadLength, 2);
396
- offset = 4;
397
- } else {
398
- frame = Buffer.allocUnsafe(10 + payloadLength);
399
- frame[1] = 127;
400
- frame.writeBigUInt64BE(BigInt(payloadLength), 2);
401
- offset = 10;
402
- }
403
- frame[0] = 129;
404
- if (Buffer.isBuffer(payload)) {
405
- payload.copy(frame, offset);
406
- }
407
- return frame;
408
- }
409
424
  /**
410
- * Close the server
425
+ * Close the server.
411
426
  */
412
427
  close(callback) {
413
428
  this.clients.forEach((client) => client.close());
414
429
  this.clients.clear();
415
430
  if (this._httpServer && this._ownsHttpServer) {
416
431
  this._httpServer.close(callback);
417
- } else {
418
- if (runtime === "bun" && this._httpServer?.unregisterWebSocketServer) {
419
- this._httpServer.unregisterWebSocketServer(this);
420
- }
421
- this.emit("close");
422
- queueCallback(callback);
432
+ return;
433
+ }
434
+ if (runtime === "bun" && this._httpServer?.unregisterWebSocketServer) {
435
+ this._httpServer.unregisterWebSocketServer(this);
423
436
  }
437
+ this.emit("close");
438
+ queueCallback(callback);
424
439
  }
425
440
  /**
426
- * Check if server should handle request
441
+ * Check if server should handle request.
427
442
  */
428
443
  shouldHandle(request) {
429
444
  if (this.path && getRequestPath(request.url) !== this.path) {
@@ -432,10 +447,10 @@
432
447
  return true;
433
448
  }
434
449
  /**
435
- * Get server address
450
+ * Get server address.
436
451
  */
437
452
  address() {
438
- if (this._httpServer && this._httpServer.address) {
453
+ if (this._httpServer?.address) {
439
454
  return this._httpServer.address();
440
455
  }
441
456
  return null;
@@ -444,9 +459,13 @@
444
459
  function createWebSocketServer(options, callback) {
445
460
  return new WebSocketServer(options, callback);
446
461
  }
462
+
463
+ // src/server/ws/runtime.ts
447
464
  function getRuntime() {
448
465
  return runtime;
449
466
  }
467
+
468
+ // src/server/ws/ws.ts
450
469
  var ws_default = {
451
470
  WebSocket,
452
471
  WebSocketServer,