Replies: 3 comments 12 replies
-
Hey, thanks for raising this.
You're not the only one and we are planning to address this more concretely this quarter.
This has been well underway - we are actually running some tests from Node.js test suite - you can see it here: https://github.com/denoland/deno/blob/main/tests/node_compat/config.jsonc. Admittedly, it's barely ~20% of all tests available in Node and we have some plans to improve it - mainly by running these tests out-of-band, in a separate repository so we can always run all tests and report which ones are actually broken and which ones are now passing. And obviously a frontend page will be added as well to keep track of the status based on Deno release.
We also have another project called |
Beta Was this translation helpful? Give feedback.
-
Wonderful idea! Eventually could be modeled after the https://caniuse.com/ page. |
Beta Was this translation helpful? Give feedback.
-
Good point. Users need to know how compatible Deno is with Node. If there is a clear indicator showing more than 95% compatibility, it can greatly increase user confidence and motivate them to migrate to Deno. |
Beta Was this translation helpful? Give feedback.
-
While officially you say that there's Node compatibility, some things are not implemented.
That's fine to me, but it makes it hard for me to decide on whether Deno is a good idea for us.
I'd love to convert our whole codebase, but I am worried that I'll be stuck really late in the process due to incompatibility with some less known library that I need.
I gave Bun a shot. Was really surprised how much is missing compatibility-wise. A colleague even had a Blue Screen of Death while installing packages. They have a similar marketing strategy where they advertise compatibility.
I think this fear could be addressed, and that it could be huge for Deno. I really believe in Deno long term, and I want it to succeed.
My suggestion
What if you started openly working on getting Node's test suite to pass using Deno?
You could even publish a page nightly with GitHub Pages or something similar, which could show the percentage of tests passing, so someone could track Node compatibility over time in a more accurate and confident manner.
Right now you do indeed display which features of which module isn't supported, but what's supported isn't necessarily one-to-one with what actually works. I used many Bun APIs for instance that they said were supported, but due to bugs, it ended up not actually working with particular libraries etc.
Edit: I made this project now, which displays compatibility daily: https://github.com/ffMathy/is-deno-compatible-yet
Beta Was this translation helpful? Give feedback.
All reactions