browserify-zlib icon indicating copy to clipboard operation
browserify-zlib copied to clipboard

Zlib's brotli methods are not supported

Open pimterry opened this issue 6 years ago • 8 comments

The zlib module's new (11.7+) brotli methods are not supported. Docs here: https://nodejs.org/api/zlib.html#zlib_class_zlib_brotlicompress.

Presumably this is because Pako doesn't support them? It'd be good to list this in the readme though.

Notably it is possible to at least decode brotli on the web using https://www.npmjs.com/package/brotli. The encode part of that package only works in node though.

pimterry avatar Sep 03 '19 17:09 pimterry

I also maintain the brotli package. If you'd like to add support for brotli to browserify-zlib using a dependency on the brotli package, it would be a welcome PR!

The encoding part should work in the browser too - it's ported with emscripten. The decoding is hand ported.

devongovett avatar Sep 07 '19 22:09 devongovett

The encoding part should work in the browser too - it's ported with emscripten.

Sadly it doesn't, see https://github.com/foliojs/brotli.js/issues/20.

In my app I do use brotli for decoding, but for encoding I use wasm-brotli instead. Works fine, I'm not sure how it compares in detail, but I suspect it won't play nicely anywhere without proper webassembly support.

pimterry avatar Sep 08 '19 14:09 pimterry

Seems fairly safe now, except for IE 11: https://caniuse.com/#feat=wasm.

I'd happily accept PRs to fix the browser issues in brotli. A WASM compiled version would also be greatly appreciated.

devongovett avatar Sep 08 '19 17:09 devongovett

Also, I'm planning on transferring this repo to the browserify organization on GitHub so more maintainers can work on browserify-zlib.

devongovett avatar Sep 08 '19 17:09 devongovett

Any update on this? it seems the brotli package has been abandoned and wasm-brotli is not working for me either in Webpack.

HeCorr avatar Jul 14 '23 20:07 HeCorr

I had issues with wasm-brotli so I built https://github.com/httptoolkit/brotli-wasm, does that work for you @HeCorr?

pimterry avatar Jul 14 '23 20:07 pimterry

@pimterry Sorry, that's the package I tried (I miswrote the name). I couldn't make it work with Webpack 5 because the project forces me to use import and brotli-wasm seems to enforce the web version unless I use require and I couldn't import either pkg.node or pkg.bundler directly. I'll create an issue in your repo soon.

HeCorr avatar Jul 14 '23 20:07 HeCorr

@pimterry Never mind, the errors I was originally having suddenly went away and I'm getting different errors now (from a different package).

HeCorr avatar Jul 14 '23 22:07 HeCorr