Skip to content

Commit 502f2c1

Browse files
authored
Fix Node.js driver CI build broken by @types/node drift (#2452) (#2541)
The Node.js driver CI (npm install -> npm run build -> tsc) failed with parser errors in node_modules/@types/node/ffi.d.ts (TS1139/TS1005/TS1109/ TS1128). package-lock.json is gitignored, so CI resolves dependencies purely from package.json. @types/node was only pulled transitively via a wildcard range (@types/pg and jest depend on @types/node@*), so a fresh install grabbed the latest (26.x). That version uses `const` type parameters (a TypeScript 5.0 feature) in ffi.d.ts, which typescript@4.9 cannot parse. skipLibCheck does not suppress these parser-level errors. The runtime Node version is unrelated: @types/node is resolved from the npm dependency graph, not the Node.js runtime. Fix: - Add a bounded direct devDependency "@types/node": "^20.19.0" so a fresh install constrains the typings to the Node 20 LTS line, which is compatible with typescript@4.9 and keeps the toolchain consistent (eslint 7 / typescript-eslint 4 / TS 4.9 / Node 20 typings). - Pin CI to Node 20 (setup-node@v4, node-version: 20) for reproducibility and to match the pinned typings; replaces the deprecated setup-node@v3 and floating node-version: latest. Verified: a clean, no-lockfile install (matching CI) now resolves @types/node@20.19.43 and tsc builds successfully. Co-authored-by: Copilot <copilot@github.com> modified: .github/workflows/nodejs-driver.yaml modified: drivers/nodejs/package.json
1 parent 0818cb6 commit 502f2c1

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

‎.github/workflows/nodejs-driver.yaml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
run: docker compose up -d
2323

2424
- name: Set up Node
25-
uses: actions/setup-node@v3
25+
uses: actions/setup-node@v4
2626
with:
27-
node-version: latest
27+
node-version: 20
2828

2929
- name: Install dependencies
3030
run: npm install

‎drivers/nodejs/package.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
},
3535
"devDependencies": {
3636
"@types/jest": "^29.5.14",
37+
"@types/node": "^20.19.0",
3738
"@types/pg": "^7.14.10",
3839
"@typescript-eslint/eslint-plugin": "^4.22.1",
3940
"@typescript-eslint/parser": "^4.22.1",

0 commit comments

Comments
 (0)