Node.js vs Bun vs Deno: npm package compatibility
Compare how tested npm packages load in Node.js, Bun and Deno. Each result names an exact package version, the tested runtimes and a report you can inspect or reproduce.
Node.js support does not establish Bun or Deno npm compatibility. Compare ESM import, CommonJS require and explicit subpaths using the same installed dependencies. A runtime may pass its observed checks while overall coverage remains limited.
These are loading tests on Linux amd64 / glibc, with install scripts and execution networking disabled. Passing does not prove functional correctness. Versions listed here are tested versions, not necessarily the latest releases. Reports prefer the current environment and fall back to eligible earlier observations.
Tested npm packages
ajv@8.20.0
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 11:12 UTC
Full loading report for ajv@8.20.0preact@11.0.1
Inconclusive Planned coverage complete
- Node.js 24.21.0: Inconclusive · 26 passed · 0 failed · 4 need optional peers
- Node.js 26.10.0: Inconclusive · 26 passed · 0 failed · 4 need optional peers
- Bun 1.4.2: Inconclusive · 26 passed · 3 failed · 1 needs an optional peer
- Deno 2.9.7: Inconclusive · 26 passed · 0 failed · 4 need optional peers
Observed 2026-10-09 11:10 UTC
Full loading report for preact@11.0.1@modelcontextprotocol/sdk@1.32.1
Inconclusive Coverage limited
- Node.js 24.21.0: Inconclusive · 12 passed · 2 failed · 2 need optional peers
- Node.js 26.10.0: Inconclusive · 12 passed · 2 failed · 2 need optional peers
- Bun 1.4.2: Mixed results · 12 passed · 4 failed
- Deno 2.9.7: Inconclusive · 12 passed · 2 failed · 2 need optional peers
Observed 2026-10-09 13:55 UTC
Full loading report for @modelcontextprotocol/sdk@1.32.1commander@15.0.0
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 10:14 UTC · Earlier execution environment
Full loading report for commander@15.0.0bullmq@6.3.12
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 13:51 UTC
Full loading report for bullmq@6.3.12jsonwebtoken@9.0.3
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 14:59 UTC
Full loading report for jsonwebtoken@9.0.3chalk@6.0.1
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 10:12 UTC · Earlier execution environment
Full loading report for chalk@6.0.1lodash@4.18.1
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-05 06:03 UTC · Earlier execution environment
Full loading report for lodash@4.18.1is-number@7.0.0
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-04 18:03 UTC · Earlier execution environment
Full loading report for is-number@7.0.0better-auth@1.7.7
Inconclusive Planned coverage complete
- Node.js 24.21.0: Inconclusive · 92 passed · 2 failed · 14 need optional peers
- Node.js 26.10.0: Inconclusive · 92 passed · 2 failed · 14 need optional peers
- Bun 1.4.2: Mixed results · 94 passed · 14 failed
- Deno 2.9.7: Inconclusive · 94 passed · 0 failed · 14 need optional peers
Observed 2026-10-09 13:59 UTC
Full loading report for better-auth@1.7.7@aws-sdk/client-s3@3.1148.0
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 13:48 UTC
Full loading report for @aws-sdk/client-s3@3.1148.0argon2@0.45.1
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 15:55 UTC
Full loading report for argon2@0.45.1postgres@3.4.9
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 15:56 UTC
Full loading report for postgres@3.4.9stripe@23.0.0
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-09 14:55 UTC
Full loading report for stripe@23.0.0kleur@4.1.5
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 4 passed · 0 failed
- Node.js 26.10.0: Passed · 4 passed · 0 failed
- Bun 1.4.2: Passed · 4 passed · 0 failed
- Deno 2.9.7: Passed · 4 passed · 0 failed
Observed 2026-10-04 18:22 UTC · Earlier execution environment
Full loading report for kleur@4.1.5redis@3.1.1
Passed Planned coverage complete
- Node.js 24.21.0: Passed · 2 passed · 0 failed
- Node.js 26.10.0: Passed · 2 passed · 0 failed
- Bun 1.4.2: Passed · 2 passed · 0 failed
- Deno 2.9.7: Passed · 2 passed · 0 failed
Observed 2026-10-04 18:03 UTC · Earlier execution environment
Full loading report for redis@3.1.1axios@1.20.0
Inconclusive Coverage limited
- Node.js 24.21.0: Passed · 26 passed · 0 failed
- Node.js 26.10.0: Passed · 26 passed · 0 failed
- Bun 1.4.2: Passed · 26 passed · 0 failed
- Deno 2.9.7: Passed · 26 passed · 0 failed
Observed 2026-10-09 10:16 UTC · Earlier execution environment
Full loading report for axios@1.20.0