You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
dynamic: node:dns/promises is not shimmed, so node-redis fails on load #434
The island doesn't provide node:dns/promises. node-redis 6 (@redis/client) requires it at the top of lib/client/enterprise-maintenance-manager.js, which lib/client/index.js loads unconditionally. So importing redis fails as soon as the program starts. node:dns itself is shimmed.
$ node r.tsfalse
$ scriptc build r.ts --dynamic -o r && ./rUncaught Error: the island does not provide the 'node:dns/promises' builtin
scriptc coverage --dynamic lists it as node:dns/promises not shimmed — lazy trap (@redis/client) and ends with "builds with --dynamic — no remaining blockers". The require is top-level on the package's own import path, though, so the "lazy" trap fires at load, before any user code runs.
Ask
Shim node:dns/promises, at least what node:dns already covers (lookup), or
have coverage tell a trap that fires at load from one that fires only when a lazy call happens.
Activity
Provide node:dns/promises in the island
fix: let Redis 6 load in dynamic islands (vercel-labs#449)