substack/node-browserify — pull request #721 by devongovett (2014-04-08 15:54:05+00:00)
Title: Full zlib module support

I implemented a [replacement module](https://github.com/devongovett/browserify-zlib) for the current zlib module being used by browserify that supports the full Node zlib API. It uses the actual JS zlib code from Node, and passes Node's zlib tests by basically implementing the C++ binding that Node uses on top of [pako](https://github.com/nodeca/pako), which is a direct port of zlib to JS. This means that the full API is implemented (including streaming, async, sync, etc.), the API and behavior exactly matches Node, and because pako is a direct port of zlib, the output is binary identical to the output produced by Node's zlib module. Also, pako is way faster than the zlib library being used by the current module (see benchmarks on their repo compared to imaya). The only things not implemented yet are the `params` method and the `dictionary` option because pako doesn't have the underlying methods for those yet, but I hope to write patches for those soon. Let me know what you think!