exisjs 0.5.11 → 0.5.12

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 (36) hide show
  1. package/dist/docs/BENCHMARKS.md +5 -5
  2. package/dist/docs/content/exisjs-mcp.mdx +97 -0
  3. package/dist/middleware/compression.d.ts +12 -0
  4. package/dist/middleware/compression.d.ts.map +1 -1
  5. package/dist/middleware/compression.js +61 -99
  6. package/dist/middleware/compression.js.map +1 -1
  7. package/dist/middleware/middleware.d.ts.map +1 -1
  8. package/dist/middleware/middleware.js +25 -8
  9. package/dist/middleware/middleware.js.map +1 -1
  10. package/dist/middleware/security.d.ts.map +1 -1
  11. package/dist/middleware/security.js +6 -3
  12. package/dist/middleware/security.js.map +1 -1
  13. package/dist/router/router.d.ts.map +1 -1
  14. package/dist/router/router.js +11 -7
  15. package/dist/router/router.js.map +1 -1
  16. package/dist/server/bun-adapter.d.ts.map +1 -1
  17. package/dist/server/bun-adapter.js +2 -2
  18. package/dist/server/bun-adapter.js.map +1 -1
  19. package/dist/server/request-handler.d.ts +7 -0
  20. package/dist/server/request-handler.d.ts.map +1 -1
  21. package/dist/server/request-handler.js +37 -2
  22. package/dist/server/request-handler.js.map +1 -1
  23. package/dist/server/request.d.ts.map +1 -1
  24. package/dist/server/request.js +4 -6
  25. package/dist/server/request.js.map +1 -1
  26. package/dist/server/route-scanner.d.ts.map +1 -1
  27. package/dist/server/route-scanner.js +4 -1
  28. package/dist/server/route-scanner.js.map +1 -1
  29. package/dist/server/uws-adapter.d.ts +5 -3
  30. package/dist/server/uws-adapter.d.ts.map +1 -1
  31. package/dist/server/uws-adapter.js +39 -4
  32. package/dist/server/uws-adapter.js.map +1 -1
  33. package/dist/server/ws-orchestrator.d.ts.map +1 -1
  34. package/dist/server/ws-orchestrator.js +4 -13
  35. package/dist/server/ws-orchestrator.js.map +1 -1
  36. package/package.json +10 -10
@@ -7,7 +7,7 @@
7
7
  - **Node:** v26.3.0
8
8
 
9
9
  ### Test Configuration
10
- - **Tool:** autocannon unknown
10
+ - **Tool:** autocannon ^8.0.0
11
11
  - **Connections:** 100, **Duration:** 10s, **Pipelining:** 1 (no pipelining)
12
12
  - **Trials:** 3 per framework, order randomized each trial, median reported
13
13
  - **Warmup:** 2s untimed warmup run before each timed trial
@@ -18,10 +18,10 @@
18
18
 
19
19
  | Framework | Req/Sec (median) | Latency avg (ms) | Latency p50 (ms) | Latency p99 (ms) | Errors | Server backend |
20
20
  |---|---|---|---|---|---|---|
21
- | Express | 20036.80 | 4.43 | 4.00 | 7.00 | 0 | n/a |
22
- | Fastify | 32799.28 | 2.53 | 2.00 | 4.00 | 0 | n/a |
23
- | Hono | 34264.00 | 2.33 | 2.00 | 4.00 | 0 | n/a |
24
- | Exis JS | 29128.00 | 3.04 | 3.00 | 5.00 | 0 | node |
21
+ | Express | 25186.19 | 3.36 | 3.00 | 5.00 | 0 | n/a |
22
+ | Fastify | 42916.37 | 2.04 | 2.00 | 3.00 | 0 | n/a |
23
+ | Hono | 40938.19 | 2.08 | 2.00 | 4.00 | 0 | n/a |
24
+ | Exis JS | 53619.20 | 1.17 | 1.00 | 2.00 | 0 | uws |
25
25
 
26
26
  ### Handler Parity Note
27
27
 
@@ -0,0 +1,97 @@
1
+ ---
2
+ title: 'AI Assistants (MCP)'
3
+ description: 'Connect AI agents like Claude and Cursor directly to your ExisJS projects.'
4
+ ---
5
+
6
+ # ExisJS MCP Server
7
+
8
+ The **Model Context Protocol (MCP)** is an open standard that allows AI coding assistants (like Claude, Cursor, and Google Antigravity) to access external tools and data sources.
9
+
10
+ ExisJS provides an official MCP Server (`@exisjs/mcp`) that acts as a bridge between your AI agent and your local ExisJS workspace. It empowers the AI with the ability to dynamically read your framework documentation offline and flawlessly scaffold idiomatic ExisJS boilerplate code (routes, plugins, gateways, configurations).
11
+
12
+ <Info title="Why use the MCP?">
13
+ Without the MCP, AI agents often hallucinate Express or NestJS syntax when asked to write ExisJS code because ExisJS might not be fully present in their training data. By using the ExisJS MCP, the AI reads the exact documentation for your installed version and uses strict generators to scaffold perfect code.
14
+ </Info>
15
+
16
+ ## Prerequisites
17
+
18
+ - **Node.js (version >= 20.19)** installed on your machine.
19
+ - An AI Coding Assistant that supports the Model Context Protocol (e.g., Claude Code, Cursor, Windsurf, or Google Antigravity).
20
+
21
+ ## Installation
22
+
23
+ The easiest way to install the MCP server across all your coding agents is by using the `add-mcp` CLI:
24
+
25
+ <div className="my-6 max-w-lg">
26
+ <CopyCommand command="npx add-mcp @exisjs/mcp@latest" />
27
+ </div>
28
+
29
+ Add `-y` to skip the prompt and install to all detected agents. Add `-g` to install globally across all projects.
30
+
31
+ ### Manual Configuration
32
+
33
+ If you prefer to configure your AI client manually (or are using an unsupported client), you can add the following JSON to your client's MCP settings file:
34
+
35
+ ```json filename="mcp.json"
36
+ {
37
+ "mcpServers": {
38
+ "exisjs-mcp": {
39
+ "command": "npx",
40
+ "args": ["-y", "@exisjs/mcp@latest"]
41
+ }
42
+ }
43
+ }
44
+ ```
45
+
46
+ <details>
47
+ <summary className="cursor-pointer font-medium text-foreground py-2">Claude Code Setup</summary>
48
+
49
+ Run the following command in your terminal:
50
+ ```bash
51
+ claude mcp add exisjs-mcp npx @exisjs/mcp@latest
52
+ ```
53
+ </details>
54
+
55
+ <details>
56
+ <summary className="cursor-pointer font-medium text-foreground py-2">Cursor Setup</summary>
57
+
58
+ 1. Open Cursor Settings.
59
+ 2. Navigate to **Features > MCP**.
60
+ 3. Click **+ Add New MCP Server**.
61
+ 4. Type: `exisjs-mcp`
62
+ 5. Command: `npx -y @exisjs/mcp@latest`
63
+ </details>
64
+
65
+ ## Available Tools
66
+
67
+ Once the MCP server is installed and running, your AI assistant automatically gains access to the following capabilities:
68
+
69
+ ### 1. Documentation Readers
70
+
71
+ ExisJS ships its official markdown documentation directly inside the npm package. The MCP server reads these files locally from your `node_modules`.
72
+
73
+ - **`exis_list_local_docs`**: Recursively scans and lists all available ExisJS documentation topics.
74
+ - **`exis_read_local_docs`**: Reads the exact markdown file requested by the AI so it can learn ExisJS best practices.
75
+
76
+ *Because this runs locally, the AI reads the exact documentation that matches the ExisJS version installed in your project, preventing version mismatches!*
77
+
78
+ ### 2. Code Generators
79
+
80
+ When you ask the AI to build a new feature, it will use these strict scaffolding tools to generate the correct file structures instead of guessing the syntax.
81
+
82
+ - **`exis_generate_route`**: Scaffolds an idiomatic ExisJS route controller (Functional or OOP).
83
+ - **`exis_generate_plugin`**: Scaffolds a hybrid ExisJS plugin module.
84
+ - **`exis_generate_gateway`**: Scaffolds a WebSockets gateway.
85
+ - **`exis_generate_config`**: Scaffolds the strict `exis.config.ts` configuration system.
86
+
87
+ ## Usage Example
88
+
89
+ Once configured, simply open your ExisJS project in your AI IDE and ask it a question!
90
+
91
+ Try asking:
92
+ > *"I want to create a new WebSockets gateway in ExisJS. Can you read the docs on how Gateways work and then scaffold one for me?"*
93
+
94
+ The AI will:
95
+ 1. Use `exis_list_local_docs` to find the documentation on Gateways.
96
+ 2. Use `exis_read_local_docs` to learn the exact syntax for your ExisJS version.
97
+ 3. Use `exis_generate_gateway` to safely write the boilerplate into your codebase.
@@ -1,3 +1,15 @@
1
1
  import type { Handler } from '../types';
2
+ /**
3
+ * Compression middleware — optimized to avoid monkey-patching ServerResponse methods.
4
+ *
5
+ * Previous implementation replaced res.raw.write/end/setHeader/writeHead with new closures
6
+ * on every request, which:
7
+ * 1. Created 5+ closure objects per request (GC pressure)
8
+ * 2. Destroyed V8's hidden class optimization for ServerResponse
9
+ *
10
+ * This version hooks into the ExisResponse's _onFinish callback and overrides the
11
+ * high-level json()/send()/end() methods on ExisResponse instead. Since ExisResponse
12
+ * is our own object (and already pooled), modifying it doesn't deoptimize Node internals.
13
+ */
2
14
  export declare function compression(): Handler;
3
15
  //# sourceMappingURL=compression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/middleware/compression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,UAAU,CAAA;AAE1D,wBAAgB,WAAW,IAAI,OAAO,CA8JrC"}
1
+ {"version":3,"file":"compression.d.ts","sourceRoot":"","sources":["../../src/middleware/compression.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,UAAU,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAiFrC"}
@@ -5,6 +5,18 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.compression = compression;
7
7
  const node_zlib_1 = __importDefault(require("node:zlib"));
8
+ /**
9
+ * Compression middleware — optimized to avoid monkey-patching ServerResponse methods.
10
+ *
11
+ * Previous implementation replaced res.raw.write/end/setHeader/writeHead with new closures
12
+ * on every request, which:
13
+ * 1. Created 5+ closure objects per request (GC pressure)
14
+ * 2. Destroyed V8's hidden class optimization for ServerResponse
15
+ *
16
+ * This version hooks into the ExisResponse's _onFinish callback and overrides the
17
+ * high-level json()/send()/end() methods on ExisResponse instead. Since ExisResponse
18
+ * is our own object (and already pooled), modifying it doesn't deoptimize Node internals.
19
+ */
8
20
  function compression() {
9
21
  return (req, res, next) => {
10
22
  const acceptEncoding = req.headers['accept-encoding'] || '';
@@ -19,115 +31,65 @@ function compression() {
19
31
  if (!encoding || req.method === 'HEAD') {
20
32
  return next();
21
33
  }
22
- let stream = null;
23
- const originalWrite = res.raw.write.bind(res.raw);
24
- const originalEnd = res.raw.end.bind(res.raw);
25
- const originalRawSetHeader = res.raw.setHeader.bind(res.raw);
26
- const originalRawWriteHead = res.raw.writeHead
27
- ? res.raw.writeHead.bind(res.raw)
28
- : undefined;
29
- res.raw.setHeader = function (name, value) {
30
- if (name.toLowerCase() === 'content-length') {
31
- return this;
32
- }
33
- return originalRawSetHeader(name, value);
34
- };
35
- if (originalRawWriteHead) {
36
- res.raw.writeHead = function (statusCode, reasonOrHeaders, headers) {
37
- const actualHeaders = headers || reasonOrHeaders;
38
- if (actualHeaders && typeof actualHeaders === 'object') {
39
- const cleaned = {};
40
- for (const [k, v] of Object.entries(actualHeaders)) {
41
- if (k.toLowerCase() !== 'content-length') {
42
- cleaned[k] = v;
43
- }
44
- }
45
- if (headers) {
46
- reasonOrHeaders = cleaned;
47
- }
48
- else {
49
- reasonOrHeaders = cleaned;
50
- }
51
- }
52
- return originalRawWriteHead(statusCode, reasonOrHeaders, headers);
53
- };
54
- }
55
- let onFinishCallback;
56
- const startCompression = () => {
57
- if (stream)
58
- return; // already started
59
- originalRawSetHeader('Content-Encoding', encoding);
60
- originalRawSetHeader('Vary', 'Accept-Encoding');
61
- if (encoding === 'br') {
62
- stream = node_zlib_1.default.createBrotliCompress();
63
- }
64
- else if (encoding === 'gzip') {
65
- stream = node_zlib_1.default.createGzip();
66
- }
67
- else if (encoding === 'deflate') {
68
- stream = node_zlib_1.default.createDeflate();
69
- }
70
- if (stream) {
71
- stream.on('data', (chunk) => {
72
- originalWrite(chunk);
73
- });
74
- stream.on('end', () => {
75
- originalEnd(undefined, undefined, onFinishCallback);
76
- });
77
- }
78
- };
79
- res.raw.write = function (chunk, encodingOrCb, cb) {
34
+ // Store originals from the ExisResponse wrapper (our own object — safe to override)
35
+ const originalEnd = res.end.bind(res);
36
+ const selectedEncoding = encoding;
37
+ // Override ExisResponse.end() to compress the final payload in a single pass.
38
+ // This avoids touching ServerResponse's hidden class entirely.
39
+ res.end = function (data) {
80
40
  if (res.raw.writableEnded)
81
- return false;
82
- if (!stream)
83
- startCompression();
84
- if (stream) {
85
- return stream.write(chunk, encodingOrCb, cb);
86
- }
87
- return originalWrite(chunk, encodingOrCb, cb);
88
- };
89
- let ended = false;
90
- res.raw.end = function (chunk, encodingOrCb, cb) {
91
- if (res.raw.writableEnded || ended)
92
- return this;
93
- ended = true;
94
- let callback;
95
- let encodingArg;
96
- if (typeof chunk === 'function') {
97
- callback = chunk;
98
- chunk = undefined;
99
- }
100
- else if (typeof encodingOrCb === 'function') {
101
- callback = encodingOrCb;
102
- encodingOrCb = undefined;
103
- }
104
- else if (typeof cb === 'function') {
105
- callback = cb;
41
+ return;
42
+ // Skip compression for empty responses
43
+ if (!data) {
44
+ originalEnd(data);
45
+ return;
106
46
  }
107
- if (typeof encodingOrCb === 'string') {
108
- encodingArg = encodingOrCb;
47
+ const buf = typeof data === 'string'
48
+ ? Buffer.from(data, 'utf8')
49
+ : Buffer.isBuffer(data)
50
+ ? data
51
+ : Buffer.from(String(data), 'utf8');
52
+ // For small payloads (< 1KB), compression overhead outweighs savings
53
+ if (buf.length < 1024) {
54
+ originalEnd(data);
55
+ return;
109
56
  }
110
- if (callback) {
111
- onFinishCallback = callback;
112
- }
113
- if (chunk) {
114
- if (!stream)
115
- startCompression();
116
- if (stream) {
117
- stream.write(chunk, encodingArg);
57
+ // Set encoding headers
58
+ res.raw.setHeader('Content-Encoding', selectedEncoding);
59
+ res.raw.setHeader('Vary', 'Accept-Encoding');
60
+ // Remove Content-Length since compressed size will differ
61
+ res.raw.removeHeader('Content-Length');
62
+ // Compress synchronously for small-to-medium payloads to avoid extra async overhead
63
+ let compressed;
64
+ try {
65
+ if (selectedEncoding === 'br') {
66
+ compressed = node_zlib_1.default.brotliCompressSync(buf);
67
+ }
68
+ else if (selectedEncoding === 'gzip') {
69
+ compressed = node_zlib_1.default.gzipSync(buf);
118
70
  }
119
71
  else {
120
- originalWrite(chunk, encodingArg);
72
+ compressed = node_zlib_1.default.deflateSync(buf);
121
73
  }
122
74
  }
123
- if (stream) {
124
- stream.end();
125
- stream = null;
75
+ catch {
76
+ // If compression fails, send uncompressed
77
+ originalEnd(data);
78
+ return;
79
+ }
80
+ res.raw.setHeader('Content-Length', compressed.length);
81
+ // Fire _onFinish callbacks via the original end path
82
+ if (res._onFinish.length > 0) {
83
+ res.raw.end(compressed, () => {
84
+ // eslint-disable-next-line @typescript-eslint/prefer-for-of
85
+ for (let i = 0; i < res._onFinish.length; i++) {
86
+ res._onFinish[i]();
87
+ }
88
+ });
126
89
  }
127
90
  else {
128
- originalEnd(chunk, encodingArg, callback);
91
+ res.raw.end(compressed);
129
92
  }
130
- return this;
131
93
  };
132
94
  next();
133
95
  };
@@ -1 +1 @@
1
- {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/middleware/compression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compression.js","sourceRoot":"","sources":["../../src/middleware/compression.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EACL,eAAe,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,SAAS,EAEV,MAAM,kBAAkB,CAAA;AAKzB,wBAAgB,IAAI,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAwFrD;AAMD,wBAAgB,SAAS,IAAI,OAAO,CAenC;AAID,wBAAgB,aAAa,CAC3B,cAAc,GAAE,MAAM,GAAG,YAAiB,GACzC,OAAO,CAoCT;AAID,eAAO,MAAM,QAAQ,EAAE,OAQtB,CAAA;AAID,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,GAAG,EACH,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,eAAe,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,sBAAsB,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AAEtB,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CA0ET;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAE5C,KAAK,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAE7C,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;CAC/C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAiCxD;AAID,wBAAgB,cAAc,IAAI,OAAO,CAKxC;AAED,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EACL,eAAe,EAEhB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,SAAS,EAEV,MAAM,kBAAkB,CAAA;AAKzB,wBAAgB,IAAI,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAwFrD;AAMD,wBAAgB,SAAS,IAAI,OAAO,CAenC;AAID,wBAAgB,aAAa,CAC3B,cAAc,GAAE,MAAM,GAAG,YAAiB,GACzC,OAAO,CAqDT;AAID,eAAO,MAAM,QAAQ,EAAE,OAQtB,CAAA;AAID,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,GAAG,EACH,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,eAAe,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,sBAAsB,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AAEtB,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CA0ET;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAE5C,KAAK,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;IAE7C,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,CAAA;CAC/C;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAiCxD;AAID,wBAAgB,cAAc,IAAI,OAAO,CAKxC;AAED,cAAc,eAAe,CAAA"}
@@ -118,18 +118,35 @@ function requestLogger(loggerOrConfig = {}) {
118
118
  : (0, logger_1.createLogger)(loggerOrConfig);
119
119
  return (req, res, next) => {
120
120
  const start = Date.now();
121
- // Create request-scoped child logger with context
122
- req.log = log.child({
123
- requestId: req.requestId,
124
- method: req.method,
125
- url: req.path,
121
+ // Lazy child logger creation — only allocate when req.log is first accessed.
122
+ // Most successful requests never call req.log, saving a Pino child allocation.
123
+ let _childLog = null;
124
+ const parentLog = log;
125
+ Object.defineProperty(req, 'log', {
126
+ get() {
127
+ if (!_childLog) {
128
+ _childLog = parentLog.child({
129
+ requestId: req.requestId,
130
+ method: req.method,
131
+ url: req.path,
132
+ });
133
+ }
134
+ return _childLog;
135
+ },
136
+ set(v) {
137
+ _childLog = v;
138
+ },
139
+ configurable: true,
140
+ enumerable: true,
126
141
  });
127
142
  // Use _onFinish to capture response timing without deoptimizing V8 hidden classes
128
143
  res._onFinish.push(() => {
129
144
  const responseTime = Date.now() - start;
130
145
  const logData = { statusCode: res.statusCode, responseTime };
146
+ // Use child if already created, otherwise use parent with inline context
147
+ const logger = _childLog || parentLog;
131
148
  if (res.statusCode >= 500) {
132
- req.log.error(logData, `${req.method} ${req.path}`);
149
+ logger.error(logData, `${req.method} ${req.path}`);
133
150
  }
134
151
  else if (res.statusCode >= 400) {
135
152
  // Silently ignore favicon 404s to reduce noise
@@ -137,11 +154,11 @@ function requestLogger(loggerOrConfig = {}) {
137
154
  // ignore
138
155
  }
139
156
  else {
140
- req.log.warn(logData, `${req.method} ${req.path}`);
157
+ logger.warn(logData, `${req.method} ${req.path}`);
141
158
  }
142
159
  }
143
160
  else {
144
- req.log.info(logData, `${req.method} ${req.path}`);
161
+ logger.info(logData, `${req.method} ${req.path}`);
145
162
  }
146
163
  });
147
164
  next();
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAKxE,MAAM,WAAW,aAAa;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAA;CACzD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAoE3D;AAID,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;QACpC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AA2BD;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAmElD;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAqB5D;AAID,wBAAgB,GAAG,IAAI,OAAO,CAqB7B;AAmBD,wBAAgB,aAAa,IAAI,OAAO,CASvC;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,UAAU,CACxB,OAAO,GAAE,iBAAmC,GAC3C,OAAO,CAYT"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAKxE,MAAM,WAAW,aAAa;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAA;CACzD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAuE3D;AAID,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;QACpC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AA2BD;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAmElD;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAqB5D;AAID,wBAAgB,GAAG,IAAI,OAAO,CAqB7B;AAmBD,wBAAgB,aAAa,IAAI,OAAO,CASvC;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,UAAU,CACxB,OAAO,GAAE,iBAAmC,GAC3C,OAAO,CAYT"}
@@ -48,7 +48,9 @@ function helmet(options = {}) {
48
48
  staticHeaders['Content-Security-Policy'] = options.contentSecurityPolicy;
49
49
  }
50
50
  const hidePoweredBy = options.hidePoweredBy !== false;
51
- const headerEntries = Object.entries(staticHeaders);
51
+ const headerKeys = Object.keys(staticHeaders);
52
+ const headerValues = Object.values(staticHeaders);
53
+ const headerCount = headerKeys.length;
52
54
  return (req, res, next) => {
53
55
  // Generate CSP nonce if needed
54
56
  if (options.contentSecurityPolicy &&
@@ -60,8 +62,9 @@ function helmet(options = {}) {
60
62
  if (hidePoweredBy) {
61
63
  res.removeHeader('X-Powered-By');
62
64
  }
63
- for (const [key, value] of headerEntries) {
64
- res.setHeader(key, value);
65
+ // Indexed loop — avoids allocating an iterator object on every request
66
+ for (let i = 0; i < headerCount; i++) {
67
+ res.setHeader(headerKeys[i], headerValues[i]);
65
68
  }
66
69
  next();
67
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,KAAK,EACL,YAAY,EACZ,WAAW,EACX,UAAU,EACV,OAAO,EACP,QAAQ,EACT,MAAM,UAAU,CAAA;AAejB,qBAAa,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE;IAC1D,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAA+B;IAClD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,IAAI,CAA6B;gBAE7B,MAAM,SAAK;IAIvB,SAAS,IAAI,KAAK,EAAE;IAIpB,OAAO,CAAC,WAAW;IASnB,GAAG,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI;IAOhD,OAAO,CAAC,QAAQ;IAmKhB,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKlD,IAAI,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKnD,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKlD,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACvE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKpD,MAAM,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACxE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKrD,OAAO,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACzE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKtD,IAAI,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACtE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKnD,OAAO,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACzE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKtD,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACvE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKpD,KAAK,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACvE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAKpD,EAAE,CAAC,IAAI,SAAS,MAAM,EACpB,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,SAAS,CAAC,EAAE,GACrE,MAAM,CAAC,OAAO,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAmB9C,GAAG,CAAC,IAAI,SAAS,MAAM,EACrB,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,OAAO,UAAU,EAAE,UAAU,CAAC,EAAE,GACtE,MAAM,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC;IAc/C,GAAG,CAAC,IAAI,SAAS,MAAM,EAAE,MAAM,SAAS,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EACrE,IAAI,EAAE,IAAI,EACV,GAAG,QAAQ,EACP,CAAC,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAC7D,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GACrC,MAAM,CAAC,OAAO,GAAG;QAAE,GAAG,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;KAAE,CAAC;IAOlD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI;IAgB/D,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAMrE,MAAM,CACJ,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,GAClC,IAAI;IA4CP,WAAW,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK/B,cAAc,IAAI,OAAO,EAAE;IAI3B,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CASjD;AAED,wBAAgB,WAAW,CACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,EAClC,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,QAAQ,EACb,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,KAAK,IAAI,EAC5B,OAAO,CAAC,EAAE,GAAG,EAAE,GACd,IAAI,CAgHN"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
@@ -393,6 +393,16 @@ function runHandlers(handlers, req, res, done, filters) {
393
393
  }
394
394
  let index = 0;
395
395
  const total = handlers.length;
396
+ // Track whether the current handler's next() was already called
397
+ let nextCalledForCurrentHandler = false;
398
+ // Shared safeNext — guards against double next() calls without a new closure per handler
399
+ // Defined OUTSIDE next() to avoid allocation per iteration
400
+ const safeNext = (err) => {
401
+ if (nextCalledForCurrentHandler)
402
+ return;
403
+ nextCalledForCurrentHandler = true;
404
+ return next(err);
405
+ };
396
406
  const next = (err) => {
397
407
  if (err) {
398
408
  if (filters && filters.length > 0) {
@@ -426,14 +436,8 @@ function runHandlers(handlers, req, res, done, filters) {
426
436
  return;
427
437
  }
428
438
  const handler = handlers[index++];
439
+ nextCalledForCurrentHandler = false;
429
440
  let result;
430
- let calledNext = false;
431
- const safeNext = (err) => {
432
- if (calledNext)
433
- return;
434
- calledNext = true;
435
- return next(err);
436
- };
437
441
  try {
438
442
  result = handler(req, res, safeNext);
439
443
  }