Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/livekit-rtc/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
},
"devDependencies": {
"@bufbuild/protobuf": "^1.10.1",
"@types/node": "^22.13.10",
"@types/node": "^24.0.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 @types/node v24 may expose APIs unavailable in supported Node versions

Both packages declare "node": ">= 18" in their engines field (packages/livekit-rtc/package.json:74, packages/livekit-server-sdk/package.json:65), meaning they claim to support Node 18, 20, 22, etc. However, @types/node@^24 provides type definitions for the Node.js 24 API surface. This means TypeScript will happily allow usage of APIs introduced in Node 20, 22, or 24 (e.g., changes to fs, crypto, stream, or global type changes) without any compiler error — even though those APIs would fail at runtime on Node 18.

This isn't a bug in itself (it's a dev dependency, so it doesn't affect consumers' type resolution), but it does reduce the safety net for contributors: new code could accidentally rely on newer Node APIs that don't exist in Node 18, and TypeScript won't catch it. Typically, @types/node major version should align with the minimum supported Node version to prevent this class of issue.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

"livekit-server-sdk": "workspace:*",
"prettier": "^3.0.3",
"tsup": "^8.3.5",
Expand Down
2 changes: 1 addition & 1 deletion packages/livekit-server-sdk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
"@changesets/cli": "^2.27.1",
"@edge-runtime/vm": "^5.0.0",
"@livekit/changesets-changelog-github": "^0.0.4",
"@types/node": "^20.10.1",
"@types/node": "^24.0.0",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚩 Major version jump in @types/node may introduce breaking type changes

The livekit-server-sdk package jumps from @types/node@^20 to @types/node@^24, skipping two major versions (21, 22, 23). While this is only a devDependency and won't affect runtime behavior, @types/node major versions can introduce breaking changes to type definitions (e.g., removed or restructured types for Node.js APIs like Buffer, stream, crypto, etc.). The livekit-rtc package has a smaller jump from ^22 to ^24. Any type incompatibilities would surface during tsc compilation in CI, but it's worth confirming CI passes cleanly before merging.

Open in Devin Review

Was this helpful? React with 👍 or 👎 to provide feedback.

"happy-dom": "^20.0.0",
"prettier": "^3.0.0",
"tsup": "^8.3.5",
Expand Down
Loading
Loading