@shohaghinfo/aerojs 0.4.2 → 0.4.4

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 (49) hide show
  1. package/README.md +13 -0
  2. package/dist/cli/commands/init.d.ts.map +1 -1
  3. package/dist/cli/commands/init.js +7 -8
  4. package/dist/cli/commands/init.js.map +1 -1
  5. package/dist/cli/templates/fullstack-templates.d.ts.map +1 -1
  6. package/dist/cli/templates/fullstack-templates.js +7 -8
  7. package/dist/cli/templates/fullstack-templates.js.map +1 -1
  8. package/dist/core/application-core.d.ts +1 -1
  9. package/dist/core/application-core.d.ts.map +1 -1
  10. package/dist/core/application-core.js +8 -1
  11. package/dist/core/application-core.js.map +1 -1
  12. package/dist/database/index.d.ts +2 -2
  13. package/dist/database/index.d.ts.map +1 -1
  14. package/dist/database/index.js +2 -2
  15. package/dist/database/index.js.map +1 -1
  16. package/dist/database/query-builder.d.ts +30 -6
  17. package/dist/database/query-builder.d.ts.map +1 -1
  18. package/dist/database/query-builder.js +193 -34
  19. package/dist/database/query-builder.js.map +1 -1
  20. package/dist/database/sqlite.d.ts +5 -0
  21. package/dist/database/sqlite.d.ts.map +1 -1
  22. package/dist/database/sqlite.js +21 -0
  23. package/dist/database/sqlite.js.map +1 -1
  24. package/dist/index.d.ts +3 -3
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -3
  27. package/dist/index.js.map +1 -1
  28. package/dist/security/hash.d.ts +4 -0
  29. package/dist/security/hash.d.ts.map +1 -1
  30. package/dist/security/hash.js +9 -0
  31. package/dist/security/hash.js.map +1 -1
  32. package/dist/security/index.d.ts +1 -1
  33. package/dist/security/index.d.ts.map +1 -1
  34. package/dist/security/index.js.map +1 -1
  35. package/dist/security/jwt.d.ts +6 -4
  36. package/dist/security/jwt.d.ts.map +1 -1
  37. package/dist/security/jwt.js +68 -11
  38. package/dist/security/jwt.js.map +1 -1
  39. package/dist/static/static.d.ts.map +1 -1
  40. package/dist/static/static.js +3 -2
  41. package/dist/static/static.js.map +1 -1
  42. package/dist/views/vite.d.ts.map +1 -1
  43. package/dist/views/vite.js +28 -14
  44. package/dist/views/vite.js.map +1 -1
  45. package/dist/ws/websocket.d.ts +18 -0
  46. package/dist/ws/websocket.d.ts.map +1 -1
  47. package/dist/ws/websocket.js +125 -42
  48. package/dist/ws/websocket.js.map +1 -1
  49. package/package.json +1 -1
@@ -6,6 +6,27 @@
6
6
  import crypto from 'node:crypto';
7
7
  import { EventEmitter } from 'node:events';
8
8
  const WS_GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11';
9
+ /**
10
+ * Fast, memory-safe unmasking of client frames.
11
+ * Uses 32-bit word-level XOR operations for high throughput and zero allocation overhead.
12
+ */
13
+ export function fastUnmask(payload, maskKey) {
14
+ const len = payload.length;
15
+ if (len === 0) {
16
+ return Buffer.alloc(0);
17
+ }
18
+ const unmasked = Buffer.allocUnsafe(len);
19
+ const mask32 = maskKey.readInt32LE(0);
20
+ const remainder = len % 4;
21
+ const wordLimit = len - remainder;
22
+ for (let i = 0; i < wordLimit; i += 4) {
23
+ unmasked.writeInt32LE(payload.readInt32LE(i) ^ mask32, i);
24
+ }
25
+ for (let i = wordLimit; i < len; i++) {
26
+ unmasked[i] = payload[i] ^ maskKey[i % 4];
27
+ }
28
+ return unmasked;
29
+ }
9
30
  /**
10
31
  * Lightweight Zero-Dependency RFC 6455 WebSocket Connection wrapper over Duplex stream.
11
32
  */
@@ -16,25 +37,74 @@ export class AeroWebSocket extends EventEmitter {
16
37
  buffer = Buffer.alloc(0);
17
38
  currentFragments = [];
18
39
  currentOpcode = null;
40
+ onSocketData;
41
+ onSocketClose;
42
+ onSocketError;
43
+ onSocketEnd;
19
44
  constructor(socket, options = {}) {
20
45
  super();
21
46
  this.socket = socket;
22
47
  this.maxPayload = options.maxPayload ?? 5 * 1024 * 1024; // 5MB default
23
- this.socket.on('data', (chunk) => {
24
- this.buffer = Buffer.concat([this.buffer, chunk]);
48
+ this.onSocketData = (chunk) => {
49
+ if (this.isClosed)
50
+ return;
51
+ if (this.buffer.length === 0) {
52
+ this.buffer = chunk;
53
+ }
54
+ else {
55
+ this.buffer = Buffer.concat([this.buffer, chunk]);
56
+ }
25
57
  if (this.buffer.length > this.maxPayload) {
26
58
  this.close(1009, 'Payload too large');
27
59
  return;
28
60
  }
29
61
  this.parseFrames();
30
- });
31
- this.socket.on('close', () => {
32
- this.isClosed = true;
62
+ };
63
+ this.onSocketClose = () => {
64
+ this.cleanup();
33
65
  this.emit('close');
34
- });
35
- this.socket.on('error', (err) => {
66
+ };
67
+ this.onSocketError = (err) => {
68
+ this.cleanup();
36
69
  this.emit('error', err);
37
- });
70
+ };
71
+ this.onSocketEnd = () => {
72
+ this.cleanup();
73
+ this.emit('close');
74
+ };
75
+ this.socket.on('data', this.onSocketData);
76
+ this.socket.on('close', this.onSocketClose);
77
+ this.socket.on('error', this.onSocketError);
78
+ this.socket.on('end', this.onSocketEnd);
79
+ }
80
+ /**
81
+ * Cleans up internal buffers and removes all socket listeners to prevent memory leaks.
82
+ */
83
+ cleanup() {
84
+ if (this.isClosed)
85
+ return;
86
+ this.isClosed = true;
87
+ this.buffer = Buffer.alloc(0);
88
+ this.currentFragments = [];
89
+ this.currentOpcode = null;
90
+ if (this.socket) {
91
+ this.socket.removeListener('data', this.onSocketData);
92
+ this.socket.removeListener('close', this.onSocketClose);
93
+ this.socket.removeListener('error', this.onSocketError);
94
+ this.socket.removeListener('end', this.onSocketEnd);
95
+ }
96
+ }
97
+ /**
98
+ * Destroys the connection immediately and frees all resources.
99
+ */
100
+ destroy(error) {
101
+ this.cleanup();
102
+ if (this.socket && !this.socket.destroyed) {
103
+ this.socket.destroy(error);
104
+ }
105
+ if (error) {
106
+ this.emit('error', error);
107
+ }
38
108
  }
39
109
  /**
40
110
  * Sends a UTF-8 text message to the WebSocket client.
@@ -50,13 +120,13 @@ export class AeroWebSocket extends EventEmitter {
50
120
  header = Buffer.from([0x81, length]);
51
121
  }
52
122
  else if (length <= 65535) {
53
- header = Buffer.alloc(4);
123
+ header = Buffer.allocUnsafe(4);
54
124
  header[0] = 0x81;
55
125
  header[1] = 126;
56
126
  header.writeUInt16BE(length, 2);
57
127
  }
58
128
  else {
59
- header = Buffer.alloc(10);
129
+ header = Buffer.allocUnsafe(10);
60
130
  header[0] = 0x81;
61
131
  header[1] = 127;
62
132
  header.writeBigUInt64BE(BigInt(length), 2);
@@ -69,22 +139,31 @@ export class AeroWebSocket extends EventEmitter {
69
139
  close(code = 1000, reason = '') {
70
140
  if (this.isClosed)
71
141
  return;
72
- this.isClosed = true;
73
- const reasonBuf = Buffer.from(reason, 'utf-8');
74
- const payload = Buffer.alloc(2 + reasonBuf.length);
75
- payload.writeUInt16BE(code, 0);
76
- reasonBuf.copy(payload, 2);
77
- const header = Buffer.from([0x88, payload.length]);
78
- this.socket.write(Buffer.concat([header, payload]));
79
- this.socket.end();
142
+ try {
143
+ const reasonBuf = Buffer.from(reason, 'utf-8');
144
+ const payload = Buffer.allocUnsafe(2 + reasonBuf.length);
145
+ payload.writeUInt16BE(code, 0);
146
+ reasonBuf.copy(payload, 2);
147
+ const header = Buffer.from([0x88, payload.length]);
148
+ this.socket.write(Buffer.concat([header, payload]));
149
+ this.socket.end();
150
+ }
151
+ catch {
152
+ // Ignore write errors on closing stream
153
+ }
154
+ finally {
155
+ this.cleanup();
156
+ }
80
157
  }
81
158
  /**
82
159
  * Internal RFC 6455 frame parser for incoming client messages (which must be masked).
160
+ * Optimized with single buffer slicing and 32-bit word unmasking.
83
161
  */
84
162
  parseFrames() {
85
- while (this.buffer.length >= 2) {
86
- const firstByte = this.buffer[0];
87
- const secondByte = this.buffer[1];
163
+ let offset = 0;
164
+ while (this.buffer.length - offset >= 2) {
165
+ const firstByte = this.buffer[offset];
166
+ const secondByte = this.buffer[offset + 1];
88
167
  const isFin = (firstByte & 0x80) === 0x80;
89
168
  const opcode = firstByte & 0x0f;
90
169
  const isMasked = (secondByte & 0x80) === 0x80;
@@ -95,43 +174,39 @@ export class AeroWebSocket extends EventEmitter {
95
174
  return;
96
175
  }
97
176
  let payloadLength = secondByte & 0x7f;
98
- let offset = 2;
177
+ let headerSize = 2;
99
178
  if (payloadLength === 126) {
100
- if (this.buffer.length < 4)
101
- return;
102
- payloadLength = this.buffer.readUInt16BE(2);
103
- offset = 4;
179
+ if (this.buffer.length - offset < 4)
180
+ break;
181
+ payloadLength = this.buffer.readUInt16BE(offset + 2);
182
+ headerSize = 4;
104
183
  }
105
184
  else if (payloadLength === 127) {
106
- if (this.buffer.length < 10)
107
- return;
108
- payloadLength = Number(this.buffer.readBigUInt64BE(2));
109
- offset = 10;
185
+ if (this.buffer.length - offset < 10)
186
+ break;
187
+ payloadLength = Number(this.buffer.readBigUInt64BE(offset + 2));
188
+ headerSize = 10;
110
189
  }
111
190
  if (payloadLength > this.maxPayload) {
112
191
  this.close(1009, 'Message payload exceeds limit');
113
192
  return;
114
193
  }
115
194
  const maskLength = 4;
116
- const totalLength = offset + maskLength + payloadLength;
117
- if (this.buffer.length < totalLength) {
195
+ const totalLength = headerSize + maskLength + payloadLength;
196
+ if (this.buffer.length - offset < totalLength) {
118
197
  // Incomplete frame, wait for more data
119
- return;
120
- }
121
- const maskKey = this.buffer.subarray(offset, offset + 4);
122
- offset += 4;
123
- const payloadData = this.buffer.subarray(offset, offset + payloadLength);
124
- const unmaskedPayload = Buffer.alloc(payloadLength);
125
- for (let i = 0; i < payloadLength; i++) {
126
- unmaskedPayload[i] = payloadData[i] ^ maskKey[i % 4];
198
+ break;
127
199
  }
128
- this.buffer = this.buffer.subarray(totalLength);
200
+ const maskKey = this.buffer.subarray(offset + headerSize, offset + headerSize + 4);
201
+ const payloadData = this.buffer.subarray(offset + headerSize + 4, offset + totalLength);
202
+ const unmaskedPayload = fastUnmask(payloadData, maskKey);
203
+ offset += totalLength;
129
204
  // Handle Control Frames (Ping: 0x9, Pong: 0xA, Close: 0x8)
130
205
  if (opcode === 0x8) {
131
206
  // Close frame
132
207
  this.close();
133
208
  this.emit('close');
134
- return;
209
+ break;
135
210
  }
136
211
  else if (opcode === 0x9) {
137
212
  // Ping -> respond with Pong
@@ -177,6 +252,14 @@ export class AeroWebSocket extends EventEmitter {
177
252
  }
178
253
  }
179
254
  }
255
+ if (offset > 0) {
256
+ if (offset >= this.buffer.length) {
257
+ this.buffer = Buffer.alloc(0);
258
+ }
259
+ else {
260
+ this.buffer = this.buffer.subarray(offset);
261
+ }
262
+ }
180
263
  }
181
264
  }
182
265
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/ws/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../src/ws/websocket.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shohaghinfo/aerojs",
3
- "version": "0.4.2",
3
+ "version": "0.4.4",
4
4
  "description": "A minimal, blazing-fast, zero-dependency full-stack web framework for Node.js — supporting React, Vue 3, Inertia.js, and SSR monoliths.",
5
5
  "repository": {
6
6
  "type": "git",