Open
Description
Description
jsonwebtoken
doesn't work with Node 24. The buffer-equal-constant-time
library throws an error:
Cannot read properties of undefined (reading 'prototype')
at
var origSlowBufEqual = SlowBuffer.prototype.equal;
buffer-equal-constant-time is a nested dep: jsonwebtoken > jws > jwa > buffer-equal-constant-time
Reproduction
Initialize a new Node project and install jsonwebtoken.
Run the following JS using Node 24.0.0
import jsonwebtoken from "jsonwebtoken";
jsonwebtoken.sign({ text: "test" }, "ABC");
Result:
var origSlowBufEqual = SlowBuffer.prototype.equal;
^
TypeError: Cannot read properties of undefined (reading 'prototype')
at Object.<anonymous> (/Users/user/testnode24/node_modules/buffer-equal-constant-time/index.js:37:35)
at Module._compile (node:internal/modules/cjs/loader:1734:14)
at Object..js (node:internal/modules/cjs/loader:1899:10)
at Module.load (node:internal/modules/cjs/loader:1469:32)
at Module._load (node:internal/modules/cjs/loader:1286:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
at Module.require (node:internal/modules/cjs/loader:1491:12)
at require (node:internal/modules/helpers:135:16)
at Object.<anonymous> (/Users/user/testnode24/node_modules/jwa/index.js:1:19)
Node.js v24.0.0
Environment
- jsonwebtoken 9.0.2
- Node 24.0.0
- MacOS Sequoia
Running in Node 22 works without any issues.
Metadata
Metadata
Assignees
Labels
No labels