{"id":"6a3e9f3ccabf74f3ccde456a","title":"2026 06 26 Other","path":"how-to/committee/release-notes/2026-06-26-other","contentMarkdown":"# 26-Jun-2026 — resolve type errors from express 4 types and PDFParse buffer\n\n## [build 721](https://github.com/nbarrett/ngx-ramblers/actions/runs/28248078096) — [commit 19419c7](https://github.com/nbarrett/ngx-ramblers/commit/19419c7ba327be9f2eece1898000bde125ed70d8)\n\n_____\n\n## Express types pinned to v4\n\n`@types/express` was resolving transitively (via `@types/multer` and `@types/passport*`) to v5, which dragged in `@types/express-serve-static-core` v5. The v5 types model Express 5 wildcard routes and so type `req.params` values as `string | string[]`, producing 63 type errors across route and controller handlers even though the runtime is express 4.18.2.\n\nPin the express types back to v4 with an `overrides` block so they match the runtime. No application code changes; clears all 63 `string | string[]` errors plus a related `string[]`-as-index error.\n\n## PDFParse buffer\n\nNode 24 types `Buffer` as `Uint8Array<ArrayBufferLike>`, which is not assignable to the pdf-parse `data` field's TypedArray union, causing two type errors. Pass a plain `Uint8Array` view over the buffer (honouring its pooled `byteOffset`/`byteLength`) so there is no data copy and the types match.","contentHtml":"<h1>26-Jun-2026 — resolve type errors from express 4 types and PDFParse buffer</h1>\n<h2><a href=\"https://github.com/nbarrett/ngx-ramblers/actions/runs/28248078096\">build 721</a> — <a href=\"https://github.com/nbarrett/ngx-ramblers/commit/19419c7ba327be9f2eece1898000bde125ed70d8\">commit 19419c7</a></h2>\n<hr>\n<h2>Express types pinned to v4</h2>\n<p><code>@types/express</code> was resolving transitively (via <code>@types/multer</code> and <code>@types/passport*</code>) to v5, which dragged in <code>@types/express-serve-static-core</code> v5. The v5 types model Express 5 wildcard routes and so type <code>req.params</code> values as <code>string | string[]</code>, producing 63 type errors across route and controller handlers even though the runtime is express 4.18.2.</p>\n<p>Pin the express types back to v4 with an <code>overrides</code> block so they match the runtime. No application code changes; clears all 63 <code>string | string[]</code> errors plus a related <code>string[]</code>-as-index error.</p>\n<h2>PDFParse buffer</h2>\n<p>Node 24 types <code>Buffer</code> as <code>Uint8Array&lt;ArrayBufferLike&gt;</code>, which is not assignable to the pdf-parse <code>data</code> field&#39;s TypedArray union, causing two type errors. Pass a plain <code>Uint8Array</code> view over the buffer (honouring its pooled <code>byteOffset</code>/<code>byteLength</code>) so there is no data copy and the types match.</p>\n"}