-
Notifications
You must be signed in to change notification settings - Fork 5.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
☂️ Node/npm compatibility issue for Q4 2023 #20851
Comments
Awesome! |
Crypto APIs in Node are still very lackluster. @arnauorriols and me tried to use two NPM modules this week, and both didn't work because of various crypto issues. Two issues we ran into:
The modules blocked by this are |
I hope this is the right place to report a node compatibility problem. I have been trying to run the
To be honest, I do not know what this |
Also for TLS handshakes |
Hi there, thanks for the great work 😄. |
Please implement udp.UDP.prototype.unref https://nodejs.org/api/dgram.html#socketunref I am getting this error |
Found how to do that using an rebuild resolver plugin. |
FileInfo.isFile is a boolean in Deno but a function in node. |
Anyone looking for a workaround in the meantime can use {
"imports": {
"crypto": "node:crypto",
"foo-package/": "../../packages/foo-package/",
"@/": "./src/"
}
} This has worked for me with |
I attempted to use this approach to workaround #18972 (comment) to no avail. I see the lib in question still fails with |
With support for BYONM some of the problems listed in this issue are not so burning anymore (eg. support for |
This is an umbrella issue for Node.js/npm compatibility work that we will undertake in Q4 2023.
We made a lot of progress in Q2 with polyfills for
node:http
,node:https
andnode:http2
getting more coverage, but there's still a lot of work to do.There are several areas that we intend to improve this quarter:
This should lower the barrier of entry to try existing projects using Deno and should fix a lot of compatibility issues from various build tools that we're experiencing at the moment (eg. Vite).
This work is well underway and is tracked in #18967.
preinstall
,install
orpostinstall
scripts.Currently these scripts are ignored by Deno which causes certain packages to fail, even though they could work without a problem in Deno (eg.
sharp
fails when imported, but that's only because of thepostinstall
script not being run). We do not intend to arbitrarily run these scripts like npm does, but instead are working on an interactive solution, that would allow users to opt-in into these scripts (potentially running in a sandboxed Deno process) or ignore them altogether.The work on this has started, but will take several patch releases to finalize. We're starting with warnings, informing users that these scripts are currently not supported and might require manual interventation.
This is tracked in #16164.
grpc-js/grpc
andgoogle-cloud/datastore
are also targeted to be supported.This requires polyfilling more APIs from
node:
builtin modules (you can see the current compatibility list at https://docs.deno.com/runtime/manual/node/compatibility).This issue will be updated, if we identify more areas we want to improve.
The text was updated successfully, but these errors were encountered: