nodejs / node

Node.js JavaScript runtime ✨🐢🚀✨
https://nodejs.org
Other
105.65k stars 28.66k forks source link

Please add latest brotli 1.1.0 bindings with compression dictionary support #52250

Open nhelfman opened 4 months ago

nhelfman commented 4 months ago

What is the problem this feature will solve?

Current node brotli compression does not support compression dictionary. The dictionary option only supported for deflate/inflate according to documentation:

dictionary | | | (deflate/inflate only, empty dictionary by default)

This prevents using node.js directly to create compression dictionary diffs at build time which is necessary in order to adopt Compression dictionary transport

What is the feature you are proposing to solve the problem?

Add latest code/binaries and binding to compression options to support latest brotli (https://github.com/google/brotli) version 1.1.0 so that we can use the dictionary option in brotli.

cc: @benjamingr

What alternatives have you considered?

No response

benjamingr commented 3 months ago

@nodejs/zlib it looks like this just needs exposing in the API JS side

juanarbol commented 3 months ago

I can work on this :-)

MarshallOfSound commented 1 month ago

@juanarbol is this in flight somewhere, would love to poke at a dev branch or something 🤔 Poking at the compression dictionary transport tech and built in bindings would make this a lot easier 😅

Happy to help out with the change too 🥳