Conversation
|
Review requested:
|
ec19b6e to
28914c7
Compare
|
Alright, got up to making the basics (seemingly) work: $ out/Debug/node -p 'zlib.zstdDecompressSync(zlib.zstdCompressSync("Hello World")).toString()'
Hello World |
383ff46 to
47c7ab8
Compare
Fixes: nodejs#48412 PR-URL: nodejs#52100
Fixes: nodejs#48412 PR-URL: nodejs#52100
Fixes: nodejs#48412 PR-URL: nodejs#52100
Fixes: nodejs#48412 PR-URL: nodejs#52100
Fixes: nodejs#48412 PR-URL: nodejs#52100
Fixes: nodejs#48412 PR-URL: nodejs#52100
Fixes: nodejs#48412 PR-URL: nodejs#52100
|
That's will be great to have this in a |
|
@nodejs/tsc There aren't any outstanding objections, but this PR does appear to be at an impasse. @jkrems did not receive an answer to their question #52100 (comment). I have held off for months from doing this, hoping someone could review and collaborate since I couldn't. |
|
Nobody reviewed and approved the PR, there is nothing officially blocking it. If someone wants to volunteer to review it and approve it without objections, then its gonna land. |
|
Maybe not, but I don't think I'm in a position to give guidance or give definitive instructions on the approach. I have pinged the zlib team, I pinged the security team, I have asked people to review it in private, so I didn't know what else to do lol. |
|
I'm interested in landing this PR as well. If we can have one last push (and rebase this PR), I'm more than happy to review and land this PR. |
|
@anonrig Thanks! I'll work on a rebase. |
Fixes: nodejs#48412 PR-URL: nodejs#52100
Fixes: nodejs#48412 PR-URL: nodejs#52100
|
Landed in 0782c91...bf12d72 |
Adds
ZstdCompressandZsdDecompressto thezlibmodule which can be used to compress/decompress with the Zstandard ("zstd") algorithm.Notable omissions:
zlib.mddon't call out any params beyond the basic compression level.The code follows similar patterns to the PR that added Brotli support. Just that instead of brotli, it adds the equivalent zstd APIs. Just like Brotli, this required separate compression/decompression context objects.
Zstd itself has been around and stable for multiple years but this PR is early in terms of web support: It only just starts shipping by default in Chrome 123. On the other hand, by shipping in Chrome it will soon be supported quite widely on the web. Firefox also signaled support (https://bugzilla.mozilla.org/show_bug.cgi?id=1301878#c65).Zstd is now enabled on the web and supported by both Chrome and Firefox: https://caniuse.com/zstdOfficial support in node.js would allow passing additional WPTs around
fetch(nodejs/undici#2847).