{"_id":"brotli-compress","_rev":"13-8c4f8b863e5922777e154e44f8176adb","name":"brotli-compress","dist-tags":{"latest":"2.2.2"},"versions":{"1.0.0":{"name":"brotli-compress","version":"1.0.0","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@1.0.0","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"adaeb4c2ac9749606e65f1e25fe7cb50d2ddfc09","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-1.0.0.tgz","fileCount":6,"integrity":"sha512-NeiPX71+j65LL/F5Ddh8cYIe/gcI/iVkRIdWCGO8DQjZ1vqDZEC8XaQO5Z6HIwY6r7tdq0NSFyhtHKBqYV7SQg==","signatures":[{"sig":"MEUCIQCOeszdWeNB8kjMr15NCsj+h8q9RIX7raUMJaR3yRgQCQIgVDVCYbvB3S4vXEIhvYrXNmiyb+vyu+gR2aZbjVJTUnk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":98352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinoGxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpXYA//S/3mjcVB1lNnYree1r5lf9uvzWUBmn2zEvshXHNMOIaUfmCW\r\ny+TZ+YnWb5jZC0fSJjCZRzCRE1XXlTtUDAh+ccnL19FfSlqy+4FnckM/CzTH\r\nxIBJu8ZMt04/z/Vwdf+p7at5nMWfxe7IqHnzwkkPbL7UGVBlvFQnFunxMTVm\r\nBefO8fo1UvMMG22QwMrj0WDYfK0v2CP64s7Nnr6S8vSJHW0aLYaP0qGYJ43s\r\nMI0mDY0wKZ6FepwMCJLzSQSmPzqmbDYmODdk+ePi0Bev3ATSaDBo3WBeQ3bL\r\nCtV/Eu2vkuZkm5BazWkTwOOhFaMdShNceM++dHy5aaQShG2o/D/QQHiV3R5K\r\nSK9YULRJA8avLZJ1T3iRr5yss4LWw59gVwNYuX0Mf8ABlPloqNSiXXuT9Pms\r\nPvO4Rubl8WEXhRvIMN+NNLI1YBfJoSv1/C2AX7pXSiC6sYo29HNX/8aVqwdB\r\nu/+Gw++ih2lHOW+Yokmv25AUsd9MV2xZS7TRJhb8I/uBjtDrRf4atZIprUq8\r\n+RlU0M0eZmFI3twdpNz/XS/2Mz8oXt57UODZZyky1D+Puosu0sO7sQXatARX\r\nGnYgByNlj6i2hayp1j6lPwqj75NYXnKv0qUES5OfxI3ikbB73crIYi9Di5IP\r\nJrnQzZtz+FHiYHuFYoxUw24TlzFMwcHJPso=\r\n=Bfge\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","gitHead":"3f5e4f2ab012417ba00f71bb5cab0e93bb0537aa","scripts":{"test":"jest","build":"ts-node build.ts","deploy":"npm publish","pretest":"yarn build","prebuild":"rm -rf dist","postbuild":"tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"8.6.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"_nodeVersion":"18.0.0","dependencies":{"buffer":"^6.0.3","brotli-wasm":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","esbuild":"^0.14.3","ts-jest":"^27.1.3","typescript":"^4.6.2","@types/jest":"^27.5.1"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_1.0.0_1654555056987_0.08232649049640783","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"brotli-compress","version":"1.1.0","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@1.1.0","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"05d3c5919dac64720c528c1001d29c85caa1b7b3","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-1.1.0.tgz","fileCount":7,"integrity":"sha512-DI+NxPxFCD28XWpBX+FK4+57Zp0haL9VcaPMFFABcu0G+sjAced3RR2Y0R2LFI6T2zo557Yl0vaftx6f5aQGpA==","signatures":[{"sig":"MEQCIBhthGMFWL5xEkP7xuy1pr1f0w3Kzz2wn2dq7WVfTG5lAiBCDegoguNU8qWQXyo73Lw5I2sKAEuYrhCQ2DpibxHBjA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":171478,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinoN2ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpCvQ/+Pd/kKvUdrG1kx/f0I6/ty/AaXjUckWK46ALXjfB/aAxN9Ek9\r\nqXzUU714wOZw1ClsbzxyrrSMj/89B4VkcI0uRQY/tP3+QpAxQtI9E+/ecxAo\r\n5uFXTZc8UZ/ZOGsA8fmfdfBGaye88Dc38eZqsjHaPtnACJwzd4ZKpy7nKvbr\r\nVNH6tONBRyd3nLJRTZ+MI4ZF4FyFw7NklJTzmTPcVoDlumdde2HY4rsDZbuj\r\nlH1bCkuDp52X99JbRcO7cIfVCPll6OexdacVeHqs2fXfdpagqMbuybY2ApnT\r\neWDoIrPLz+piR/badU8F97K9b11pjkshuaGIXAj6G3wYlHjwh1w8IR6c7fjo\r\nq9KNZEgYSi2+m2pUwOC9GMhBteWdjkyd1N9LkA/Rx0kxYAIA7k8xsvKGTTNw\r\n7BVqif6Ha5Z3nch+vL9GOM6sMYLFKao87D4USHx5mffgwuxlyzkQe7Tg1zTS\r\nzyddpZQsWYKQyfQF1huqsereAewfDU5F12MR+fsHQXgOZx0p3B3c8Yh6OnB0\r\novI7R42ur9rUy0dd8WAn/g+uJAp512yo6X3j7eo+mqW+b+RsX0GzCOzqobYf\r\nd9uDNUFAjmRURbA3uhZytdP9kqTfqBTwMFkiDJQ74BjLGAa/+OW2Ap0xb61B\r\nMULxJU6Mr0PAlIzmwYjT/sREVNDuq48Qp60=\r\n=QVuy\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.mjs","gitHead":"300c7ec7c36efc2f16380fb4813fe7d7fad48564","scripts":{"test":"jest","build":"ts-node build.ts","deploy":"npm publish","pretest":"yarn build","prebuild":"rm -rf dist","postbuild":"tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"8.6.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"_nodeVersion":"18.0.0","dependencies":{"buffer":"^6.0.3","brotli-wasm":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","esbuild":"^0.14.3","ts-jest":"^27.1.3","typescript":"^4.6.2","@types/jest":"^27.5.1"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_1.1.0_1654555510546_0.21704407646544","host":"s3://npm-registry-packages"}},"1.1.1":{"name":"brotli-compress","version":"1.1.1","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@1.1.1","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"5c7f3e890ba16e7d1f3b62023b3028ac4cd81579","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-1.1.1.tgz","fileCount":7,"integrity":"sha512-0qvDl6JAwwRP8p6dhX5oDm2dQTD8ykmGhFOkHX74gqfh9mjkKglZneqhgk/KoueKLlDH54BZgLfLGwJHbFoX9Q==","signatures":[{"sig":"MEUCICluw2W62ro0vHTRa7aPkEIB3wrpCbFfnv8g0XhLXtE2AiEAuWlqS1rp7LVODV/rwNmo9qnNEBLyK2ufzb70H0lr2eU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":170246,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinoRxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoVWQ/+KjStLp6lbEKWAGlh4kfhfHFZHIjghf/ch9mgKnGQWMzh7G+G\r\nZZTKD+ou1K3xQkkODBqZYnuL71TUTAmcyFVuXvGjgPykuNP7IvKpEF90DDHm\r\n/WkcXe+YlG8YlfS06pSDm0WDrvKwzuiqiT1l03RAMZvFHM1RptojBx2YUKgf\r\nNelFrDRFI0UvTkuHn88NaY1NkLAbt/WNjsqiE+jONgvZt33b2UbqOgSeIvbE\r\nfij6uXzAowdmoPiDawvuUAVgru0foI/WskFe324PbmmevPQl3fk7gglhlPKm\r\nnnI0L8ii7WV3QMwZ1//AYDvFE8sEe9L+88SbqrEejFI14wV/Xz9GUWO3MFF3\r\nc8FqriBWxGp70VC//Y/M/9KwuXsFqkO5/iGr2t2OOvNfCdXluq/xiXZjI+Zm\r\nyS5mulEH4OxJzRV8We2tL75jIwWzChqz2thAQcDZQnKKbEGGJuPRipMyG+rS\r\nU0A79mOKM03fLBnMLSLvSPHXgIF7GwiPl5WQ4Vr67CsPlgcMiXouVAEKXEWR\r\nk8r7r+qUXYArUrE0+V3QJzcuPbn5BMo2AeF5j7/dyhlK+6C7dmwfMH8QWfue\r\nV6zbjhti/RWrg4yd/gWU44qa0s0kn7pv6K6TFbCyAmP799xROWasJu610P4O\r\nk7JhEZWH3gci8E4ua7CN37jusGBMeeIj5XI=\r\n=q+GJ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.mjs","gitHead":"230ace44e1e6b58060601a044e21e76066d33c1f","scripts":{"test":"jest","build":"ts-node build.ts","deploy":"npm publish","pretest":"yarn build","prebuild":"rm -rf dist","postbuild":"tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"8.6.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"_nodeVersion":"18.0.0","dependencies":{"buffer":"^6.0.3","brotli-wasm":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","esbuild":"^0.14.3","ts-jest":"^27.1.3","typescript":"^4.6.2","@types/jest":"^27.5.1"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_1.1.1_1654555761790_0.908754931606869","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"brotli-compress","version":"1.2.0","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@1.2.0","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"2cd07593de1c815d08825ec27b81f1ebbaa43490","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-1.2.0.tgz","fileCount":7,"integrity":"sha512-6hdmDNSa7OVVjc72b4UEJjH7GJTwBCGaFiWifh47et+/X+ejbISqIiH76nrOvjg/7mqKoei8EShkUBiIQRtZQA==","signatures":[{"sig":"MEQCIFb0M3eeV4/XbaTETG2EcP54dZ1a4bfkOBTRRFkjnG2GAiAN7+u4NUxDoY4FKAItcy8kjkeCLO0jpJds2kJr26vElw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":3887789,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJinvWeACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoaqg/+PTHU4sXqvYSvX+ICjbATtwQUHHSSTKZx3/ZTKy9e/512UbOn\r\n7Uz5vlubWkzgkOe1it3si6oRs48M9GBCX4dxMdmMNa42nNtZ2Vjubfv7ThtU\r\ntTHsKXnZfOv8yv1rFqq/TW+fb+EJ4aP2RyJfZzaovBDvbY2OQKrjj7Gjl5pc\r\n/iVtVjx/3kSuOzlbetoIMQ5L6rG2XAOfFPVHCnSCkFkwXL2grgqCQyY9BbT+\r\njLLHftjJm46v6DTWYk3UfdeXsU3BGtbHBlXjo+fQV0csG7OgPd9+zOvCJ+8w\r\nQS6oQYU/3MYgYcgxH52NBkTGrtz/b17s2d/cVFwNCc8Mt8LVGZAsGUSoxVEb\r\nCqaaGa1Oxl/aPvp1ncbZMGmpRt1XRvMKWvJ+sxT0LoLYYA/vroiv41JwyVgT\r\nom/G3UeQUdPpl14603bX5tQUvuoxpIVebnr/32WbZiY1Ns+Fr3Kn2i6HGutk\r\neBv+lpwtOPT8kI/8UMbJuOo9gNY636YYb1r7d2uJ0sgz6mcw6ITgzkvfFdFq\r\nc4ZoWWb2ktfLGymoYD703kNfu0iJGbMqlRa0HhmRJGtOvkWbZVHDBkDSqR38\r\nrPTuZQja1885992BYZraWaVASbLUf6BnU1L64Buam9uGXUtl6znqj6JcwUKU\r\n9hJVKXOZ3HQBOc9L6mOrZah8V5Pkm+ePXwQ=\r\n=4yjh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.mjs","gitHead":"4ea384b598f1b4a25d71cb4f0ba9c00efec8f7af","scripts":{"test":"jest","build":"ts-node build.ts","deploy":"npm publish","pretest":"yarn build","prebuild":"rm -rf dist","postbuild":"tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"8.6.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"_nodeVersion":"18.0.0","dependencies":{"buffer":"^6.0.3","@types/node":"^17.0.40","brotli-wasm":"^1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","esbuild":"^0.14.3","ts-jest":"^27.1.3","typescript":"^4.6.2","@types/jest":"^27.5.1"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_1.2.0_1654584734590_0.04025009729579021","host":"s3://npm-registry-packages"}},"1.3.0":{"name":"brotli-compress","version":"1.3.0","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@1.3.0","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"3afbc406afd23d1d35ce11098c65e0397476ca88","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-1.3.0.tgz","fileCount":10,"integrity":"sha512-i1DAi3aAWiM3RF4gazKeT9Db0ryp7mFqV50Wxyp/Avs6mQa0No+OFtaJtnHxID9LdY8F92nHNoQJifiSgXc6rg==","signatures":[{"sig":"MEUCIQD7eTQO8QRkEmULnkSXwKZSLZzBBpxaY3xHIZffdaBGAwIgReUY0SOYf/s2QX/P7UG09E7rEXOI7ZXMCYBBUYKHycc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4065104,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioOHPACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqy0BAAkQhuVDHbG2TUT25gnGIREMvDx84TdkDV+ruvjijF31vQXFds\r\nPI6utMsLqtpmPpixu3w7lrMRSPQHsTEFzH8Sx+Yss5EgwLPx14kHoDu1suaY\r\ndENpU5g9YiF1af1OdIcFc6sj4TfKDP6w0vq36zSkYvx58zwgtlIkyB9gilUS\r\nkFzD29jzrcd+pulfZSB+BVSdf9ohdE6ofvVyFhxSUs3xZxB0EfK2+d6ivIwL\r\nAXhhjfkQ4/gx1CSlizHHzX2agt3Ezgt4KO0RFk8NmXMS5SztLyV1nZ6V9bEZ\r\nAdjXOJx12uclejrYDYNs3IevWwv7/91bK1IwHJ3ROxkr8bgnAlC+Df+1nTFP\r\n+eWhprFgwzdmEy1PbvoOMjRdqx9TmNctGWS7IolWQpK6jV/fOYTZNsjKc2SN\r\nn5a38jiTnxluBJf1v0YEF71ao3WZX+cZJz2HT7YPyBjT40uKorXCSjJNwygH\r\nAaSkbhuOX3fgkEBCASuv7XBVnQPD/2W1KzLEH31SnQTd1ZOkWJmyZ+FJrnqH\r\n6zHeuqADVX2wdkejdPhFGYIwepUVzZ3r0GF2Sdz4CHxHmQaEuc6YPeLvRcyF\r\nVnlhzf+QWtvfCbvfiTm8aEslfiq95ver6vbF3Sw3dqZHvsuXxvo/l5RGkExw\r\nXps331hrs4E/Tg6qv3M1UbeqJs6/jhrKbRk=\r\n=Kps9\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.mjs","gitHead":"003c3c1a047b3b9897a73e65b7282d0ce76cbd26","scripts":{"test":"jest","build":"ts-node build.ts","deploy":"npm publish","pretest":"yarn build","prebuild":"rm -rf dist","postbuild":"tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"8.6.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"_nodeVersion":"18.0.0","dependencies":{"@types/node":"^17.0.40","brotli-wasm":"1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","esbuild":"^0.14.3","ts-jest":"^27.1.3","typescript":"^4.6.2","@types/jest":"^27.5.1"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_1.3.0_1654710734759_0.9929537614194885","host":"s3://npm-registry-packages"}},"1.3.1":{"name":"brotli-compress","version":"1.3.1","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@1.3.1","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"84334232c9f24ae7817b80f606e75ce711334f59","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-1.3.1.tgz","fileCount":11,"integrity":"sha512-Q0C80Jg7AGtvKSuu+2OofkbybEranBZK2qS17otvtrE9f3JUfo7ld/9PDtuCFtd4DqNjh8Yls0CAEKI4viLehg==","signatures":[{"sig":"MEYCIQDuQDiZvxszD++1n+bY79pme5mEOaCMF4K4DcnS5Vp0VgIhANLusAOQ84pETCRFXrAGgJCh8MNKRmMsUG3D3Uc5Y9gT","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4065300,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioO2LACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpGvA/8CSArqNwQ1vQ2z7ucMI0yKiw5jzskMvyO+t9Xf3D2MMH3Q59u\r\nGf2wHg8iEByY3pOUNzNxqcP59ECS//Fiqn3Iw4SVk8q3XoklDBSfrBAheIQK\r\nvKmZR8IHpARDX6Aql7UjNaiccOHwvvb2kXaZmXGOyIxAneEt3dYldHtear++\r\nWT8MOKIAGiR9pUB7lFg89x6F2b3bmbDS48zRM5SzHXqY5u+zni29vc3gG/ZR\r\nNDLBZqoLYKFaHbXZwZLBmq0x0bdkUATnXjV3J6QfxmJjYjPKotQ9gOXrmBEI\r\nAQzvBSocSYxmg2U06nqCmaUPkYnkHmqLL2rmGEed0wwfhI2frhsf+EW9g95w\r\nKvKpgsPBsnQ9i/5cWtYtXViO20XLFpUVO3X13TMohC50vAS+HFtEQmtaML4/\r\naaZOqzZ0oOryGb/vOzAu4Abbt+cRF2V85HkFvbSpaDF0AXDNpyN2baGEgCWH\r\n+hPmzYlXLRVA2SokUlef+YCJ83R68wVu/Bna4GhSkqcjFQsCNvMBXpzrCR9M\r\nxU/fH8tL0OsWBbQ3EtrXvi2f81e8F2wmo9/HMTPjGGg9s/2903mDxj9pUgV0\r\npTOwsUGkxoSZ2dzPjmKnIFD20DrnP9A7WVTXPUec4QN+QagcdSqoCisFkCO+\r\nnS05zTliVe/uu2G2kRwMBca87qKCF1AIG1k=\r\n=LT2I\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.mjs","gitHead":"b6e7994a56daf63018cba81c80c568b671c5f5d5","scripts":{"test":"jest","build":"ts-node build.ts","deploy":"npm publish","pretest":"yarn build","prebuild":"rm -rf dist","postbuild":"tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"8.6.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"_nodeVersion":"18.0.0","dependencies":{"@types/node":"^17.0.40","brotli-wasm":"1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","esbuild":"^0.14.3","ts-jest":"^27.1.3","typescript":"^4.6.2","@types/jest":"^27.5.1"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_1.3.1_1654713739297_0.23061065380341583","host":"s3://npm-registry-packages"}},"1.3.3":{"name":"brotli-compress","version":"1.3.3","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@1.3.3","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"fe3b50b6234bfbc8e26a137bffff2a07e2a4efe9","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-1.3.3.tgz","fileCount":14,"integrity":"sha512-cwKOmzEuKqUmRxXDdZimiNoXRRr7AQKMSubJSbYA9FXk+LTPT3fBGpHU8VZRZZctAJ5OCeXGK9PzPpZ1vD0pDA==","signatures":[{"sig":"MEUCIQCd3fpeIIp5Ykr595+3xR1X3TtHcSkAVQfLMaCFrwtztgIgcpUvmBiflEnAmRIQLhieNBAkieY3xieEirEjSVFYwgo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":4343226,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJioPQ8ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpoRQ/+I4x+xnAvD8Yq6F1TkYeXPmJ1MWVC6u6Mag02oLMAwPVoyZXe\r\noIExp0wQ95ByrJvdG9QB2FrxWugoxhyJRnnM3AHLUKRMuvMuCfZ3r8MyDvCe\r\nca9VvQ8zUvUOT3rP+9ppLixwaJhMC3zmrcZnPVs76zjsZee0Cc5Guf2UVZIH\r\n35ZS6l7dhR6ymULMII8qDZP0NrAtBQllFTuxXtTChjkcBh5UxqHfhqo2Ld3X\r\nhow9C9UsDvQ9xNarvJx1+D7nFYaFSBs9FRPbxWkBVdLyIjbM+C2n39v5TPlK\r\nDzAemZMvnsiR0NQR/qxUnsl6XBt9Xm+4muHFhYydUJf3IWcBry1BrT+ZTHUX\r\ntK7oL3nzan+Fof9lJtmjqQ0eLBRo1bScBQHG3IZVbkjUFkxnI9ySVol+qTR5\r\nPHvaPqlDmxC9BqtOd8mj24Hftt+AWeR7LtwVdge3f5UBCzGaii3lH5IZGx5R\r\nWsopXP3T9KaEbpwvPqx0ibX1b57mFlRdo+Thp8R+3pGAWcc0gxed+J2AzDZu\r\nWa6ttIPBGK/Yl/DWlRIUlL4gwfqljrQHPxu/Gisaer7Q+WbtJeqoeEeOJ5j2\r\n5YhANaRTMacK5hzH/jxNWvkrGokmYFpxY8hwj0COxQ/61Rozf88MOhmXxpER\r\ndY4DcjrVimhL1qdR+bEKaNn8O4VbzOjAQxo=\r\n=fK3h\r\n-----END PGP SIGNATURE-----\r\n"},"main":"index.js","module":"index.mjs","gitHead":"bac4982e4f1f596fd21bb46aedfe02e9371028d3","scripts":{"test":"jest","build":"ts-node build.ts","deploy":"npm publish","pretest":"yarn build","prebuild":"rm -rf dist","postbuild":"tsc"},"typings":"dist/index.d.ts","_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"8.6.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"_nodeVersion":"18.0.0","dependencies":{"@types/node":"^17.0.40","brotli-wasm":"1.2.0"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^27.5.1","esbuild":"^0.14.3","ts-jest":"^27.1.3","typescript":"^4.6.2","@types/jest":"^27.5.1"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_1.3.3_1654715452416_0.28291906146739443","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"brotli-compress","version":"2.0.0","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@2.0.0","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"6f990b8a94ebb31b63fa3b0c420e4959f1bc86b4","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-2.0.0.tgz","fileCount":16,"integrity":"sha512-uLXbZ5VEjKRGrgwD1O8lYkY85cfp7czD3CBtLdaGTmOCyCvEtHJcNmBRG2f4TB7w0RG/2930vx9lUbP36ZNcag==","signatures":[{"sig":"MEYCIQDX1Ml0k5VVMfcTTsNsXiqKMd1cBB2eKlp+miNJKOI2uQIhAIyTUeMsM0gIBLc08Y9ka542HaZ3x7fuisfkRUDi9o8A","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3340640},"main":"./index.cjs","type":"module","types":"./dist/index.d.ts","module":"./index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./js":{"types":"./dist/js.d.ts","import":"./js.mjs","require":"./js.cjs"},"./js.js":"./js.cjs","./js.cjs":"./js.cjs","./js.mjs":"./js.mjs","./index.js":"./index.cjs","./index.cjs":"./index.cjs","./index.mjs":"./index.mjs","./package.json":"./package.json"},"gitHead":"0e61348d6140cf8b41ba0a5df6eb6d2e49cc4f3f","scripts":{"test":"vitest run","build":"tsx ./build.ts","deploy":"npm publish","pretest":"npm run build","prebuild":"rm -rf dist","postbuild":"tsc"},"_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"11.9.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@types/node":"^26.1.1","brotli-wasm-custom-dictionary":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","buffer":"^6.0.3","vitest":"^4.1.10","esbuild":"^0.28.1","pkgroll":"^2.27.1","playwright":"^1.61.1","typescript":"^7.0.2","@vitest/browser":"^4.1.10","@vitest/browser-playwright":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_2.0.0_1784766587057_0.748526545763113","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"brotli-compress","version":"2.1.0","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@2.1.0","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"4c8cab57fa4196e9aaa3fc6bcb97675ce50b3d41","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-2.1.0.tgz","fileCount":18,"integrity":"sha512-ELW24yjVSlkGtv0oCiOWVpmM6N1BPtFxPvw2gKdhIlA8XyRHoCUpqdlvAMKaBV1/HIAu02DWGnrqpf8XPhbm/w==","signatures":[{"sig":"MEUCIADivZnU+G9BvMmVFH9q2zefbSDgYEx2s5CwDtWn9grXAiEAru/aiJUwWtdaloGrXRMoQVHb0b2MlprnZJRtCCXae+8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4368239},"main":"./index.cjs","type":"module","types":"./dist/index.d.ts","module":"./index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./js":{"types":"./dist/js.d.ts","import":"./js.mjs","require":"./js.cjs"},"./js.js":"./js.cjs","./js.cjs":"./js.cjs","./js.mjs":"./js.mjs","./external":{"types":"./dist/index.d.ts","import":"./index.external.mjs"},"./index.js":"./index.cjs","./index.cjs":"./index.cjs","./index.mjs":"./index.mjs","./package.json":"./package.json","./brotli_wasm_bg.wasm":"./brotli_wasm_bg.wasm"},"gitHead":"3324b486ba96a22f64573bbf85f3aa4d3c1a02ad","scripts":{"test":"vitest run","build":"tsx ./build.ts","deploy":"npm publish","pretest":"npm run build","prebuild":"rm -rf dist","postbuild":"tsc"},"_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"11.9.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@types/node":"^26.1.1","brotli-wasm-custom-dictionary":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","buffer":"^6.0.3","vitest":"^4.1.10","esbuild":"^0.28.1","pkgroll":"^2.27.1","playwright":"^1.61.1","typescript":"^7.0.2","@vitest/browser":"^4.1.10","@vitest/browser-playwright":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_2.1.0_1784769285281_0.4959988636877992","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"brotli-compress","version":"2.1.1","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@2.1.1","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"63d3dde8a279427ba8b8dfec55426ae3e7fd4309","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-2.1.1.tgz","fileCount":18,"integrity":"sha512-2VShmmwZMTz8+VaQESzbF5v+fuRBLhXK4lonycVvOt7WjLN25IWsIzsxrzr4KkMKE9osHj5E1gclT1JF0PuYYA==","signatures":[{"sig":"MEUCIEv51iKeN/rydhnc7Iy51G55B/Gl+62/hkZ87w7/2ptZAiEAl4eb7z8El1iy6mA/7XH57ii2kxyldiz+fgaVJNA7gXI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4369045},"main":"./index.cjs","type":"module","types":"./dist/index.d.ts","module":"./index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./js":{"types":"./dist/js.d.ts","import":"./js.mjs","require":"./js.cjs"},"./js.js":"./js.cjs","./js.cjs":"./js.cjs","./js.mjs":"./js.mjs","./external":{"types":"./dist/index.d.ts","import":"./index.external.mjs"},"./index.js":"./index.cjs","./index.cjs":"./index.cjs","./index.mjs":"./index.mjs","./package.json":"./package.json","./brotli_wasm_bg.wasm":"./brotli_wasm_bg.wasm"},"gitHead":"b59644b5852bd0593986dabc0ca71119139a939a","scripts":{"test":"vitest run","bench":"node --expose-gc bench/memory.mjs","build":"tsx ./build.ts","deploy":"npm publish","pretest":"npm run build","prebench":"npm run build","prebuild":"rm -rf dist","postbuild":"tsc"},"_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"11.9.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@types/node":"^26.1.1","brotli-wasm-custom-dictionary":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","buffer":"^6.0.3","vitest":"^4.1.10","esbuild":"^0.28.1","pkgroll":"^2.27.1","playwright":"^1.61.1","typescript":"^7.0.2","@vitest/browser":"^4.1.10","@vitest/browser-playwright":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_2.1.1_1784769961938_0.7844310992493875","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"brotli-compress","version":"2.2.0","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@2.2.0","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"f803df2bcfe41f79fd4390fafa1c44b6876e6a27","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-2.2.0.tgz","fileCount":18,"integrity":"sha512-ahfxJ8AuCeWll2mMzNbmSsmuu2h+66YF2f42I5Gk/8vbqB7IHgCj6UJEx3TSpIU25NYjRaAzK5cEJuibxZxdLg==","signatures":[{"sig":"MEUCIFcbhxgKFokF1adWyBVgYk8dMGpmep8Ypn6ALKZz3SrhAiEA/4dSnmUHkFVJekb8yslU+ZlQpd5DksoWqlRmZwWZP3c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4372636},"main":"./index.cjs","type":"module","types":"./dist/index.d.ts","module":"./index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./js":{"types":"./dist/js.d.ts","import":"./js.mjs","require":"./js.cjs"},"./js.js":"./js.cjs","./js.cjs":"./js.cjs","./js.mjs":"./js.mjs","./external":{"types":"./dist/index.d.ts","import":"./index.external.mjs"},"./index.js":"./index.cjs","./index.cjs":"./index.cjs","./index.mjs":"./index.mjs","./package.json":"./package.json","./brotli_wasm_bg.wasm":"./brotli_wasm_bg.wasm"},"gitHead":"2724e278fb8e82787daf61d72b09a3287c297ae0","scripts":{"test":"vitest run","bench":"node --expose-gc bench/memory.mjs","build":"tsx ./build.ts","deploy":"npm publish","pretest":"npm run build","prebench":"npm run build","prebuild":"rm -rf dist","postbuild":"tsc"},"_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"11.9.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@types/node":"^26.1.1","brotli-wasm-custom-dictionary":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","buffer":"^6.0.3","vitest":"^4.1.10","esbuild":"^0.28.1","pkgroll":"^2.27.1","playwright":"^1.61.1","typescript":"^7.0.2","@vitest/browser":"^4.1.10","@vitest/browser-playwright":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_2.2.0_1784770648030_0.3081163966250211","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"name":"brotli-compress","version":"2.2.1","keywords":["brotli","compress","decompress","wasm","webassemly","async","typescript","browser","Node.js"],"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","_id":"brotli-compress@2.2.1","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"homepage":"https://github.com/kyr0/brotli-compress#readme","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"dist":{"shasum":"8cb2ae6b831a578d56cd9d934b605b86e0a8d054","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-2.2.1.tgz","fileCount":18,"integrity":"sha512-ShjLwHui25mV1mRCPw3tGy7Nzi4YuEHDgUn2PvivcQqVOC6x/da5fknU4nVhZFFoCVOMWEgdBKf1Zz950XZtgg==","signatures":[{"sig":"MEQCIC+mzMXpHMtjrW4eDtx4AZFaxUl28Z1Loo1HHnmFDpiVAiADYrpj3YLs9UkeYVvPe83BheUR0Gb62SDuQHtN6DwtEQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4372717},"main":"./index.cjs","type":"module","types":"./dist/index.d.ts","module":"./index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./index.mjs","require":"./index.cjs"},"./js":{"types":"./dist/js.d.ts","import":"./js.mjs","require":"./js.cjs"},"./js.js":"./js.cjs","./js.cjs":"./js.cjs","./js.mjs":"./js.mjs","./external":{"types":"./dist/index.d.ts","import":"./index.external.mjs"},"./index.js":"./index.cjs","./index.cjs":"./index.cjs","./index.mjs":"./index.mjs","./package.json":"./package.json","./brotli_wasm_bg.wasm":"./brotli_wasm_bg.wasm"},"gitHead":"10f16ecff0f8a8d5d263f6c2da17ea464328fc58","scripts":{"test":"vitest run","bench":"node --expose-gc bench/memory.mjs","build":"tsx ./build.ts","deploy":"npm publish","pretest":"npm run build","prebench":"npm run build","prebuild":"rm -rf dist","postbuild":"tsc"},"_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"overrides":{"picomatch":"^2.3.2"},"repository":{"url":"git+https://github.com/kyr0/brotli-compress.git","type":"git"},"_npmVersion":"11.9.0","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","dependencies":{"@types/node":"^26.1.1","brotli-wasm-custom-dictionary":"^3.1.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.1","buffer":"^6.0.3","vitest":"^4.1.10","esbuild":"^0.28.1","pkgroll":"^2.27.1","playwright":"^1.61.1","typescript":"^7.0.2","@vitest/browser":"^4.1.10","@vitest/browser-playwright":"^4.1.10"},"_npmOperationalInternal":{"tmp":"tmp/brotli-compress_2.2.1_1784771293883_0.7564052078819001","host":"s3://npm-registry-packages-npm-production"}},"2.2.2":{"name":"brotli-compress","version":"2.2.2","description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","keywords":["brotli","compress","decompress","wasm","webassembly","async","typescript","browser","Node.js"],"sideEffects":false,"scripts":{"prebuild":"rm -rf dist","build":"tsx ./build.ts","postbuild":"tsc && tsx ./build.types.ts","verify:package":"npm run build && tsx ./scripts/verify-package.ts","gate":"tsx ./scripts/release-gate/release-gate.ts","fixtures:generate":"npm run build && tsx ./scripts/generate-fixtures.ts","test:e2e":"npm run build && tsx ./scripts/e2e-releases.ts","test:fuzz":"npm run build && tsx ./scripts/fuzz-regression.ts","prepack":"npm run build","deploy":"npm publish","prepublishOnly":"npm run gate","release":"npm run build && npm publish --ignore-scripts","pretest":"npm run build","test":"vitest run && tsx ./scripts/fuzz-regression.ts && tsx ./scripts/e2e-releases.ts && tsx ./scripts/release-gate/release-gate.ts","prebench":"npm run build","bench":"node --expose-gc bench/memory.mjs"},"type":"module","main":"./index.cjs","module":"./index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./index.mjs"},"require":{"types":"./dist/index.d.cts","default":"./index.cjs"}},"./js":{"import":{"types":"./dist/js.d.mts","default":"./js.mjs"},"require":{"types":"./dist/js.d.cts","default":"./js.cjs"}},"./external":{"types":"./dist/index.d.mts","import":"./index.external.mjs"},"./brotli_wasm_bg.wasm":"./brotli_wasm_bg.wasm","./index.js":{"types":"./dist/index.d.cts","default":"./index.cjs"},"./index.mjs":{"types":"./dist/index.d.mts","default":"./index.mjs"},"./index.cjs":{"types":"./dist/index.d.cts","default":"./index.cjs"},"./js.js":{"types":"./dist/js.d.cts","default":"./js.cjs"},"./js.mjs":{"types":"./dist/js.d.mts","default":"./js.mjs"},"./js.cjs":{"types":"./dist/js.d.cts","default":"./js.cjs"},"./package.json":"./package.json"},"engines":{"node":">=18"},"repository":{"type":"git","url":"git+https://github.com/kyr0/brotli-compress.git"},"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"homepage":"https://github.com/kyr0/brotli-compress#readme","dependencies":{"brotli-wasm-custom-dictionary":"3.1.1"},"devDependencies":{"@types/node":"^26.1.1","@vitest/browser":"^4.1.10","@vitest/browser-playwright":"^4.1.10","buffer":"^6.0.3","esbuild":"^0.28.1","playwright":"^1.61.1","tsx":"^4.23.1","typescript":"^7.0.2","vitest":"^4.1.10"},"overrides":{"picomatch":"^2.3.2"},"gitHead":"7e633f31b83e7d522fc2ff7c21905d30e82eab71","_id":"brotli-compress@2.2.2","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-M9w2FFVdFVWFXijMr8n5kRoDM4H+8xT7oXoX7oAvC1aT5WSfVvCWMFXK5Lcf84//dSLoxsQ42EB7VaRnNlUbkA==","shasum":"95c1ebedd4d267785e3f8a829cc8c15b8ce797c6","tarball":"https://registry.npmjs.org/brotli-compress/-/brotli-compress-2.2.2.tgz","fileCount":25,"unpackedSize":4100797,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIBUNvMFTjLeSScrOqeaiIh5E4QAULLg1tKoGhwttnlphAiEA2QX97sOpQY2v9KdAP03DaBI+iDOlwbHvaWgFwyvD0qw="}]},"_npmUser":{"name":"kyr0","email":"info@aron-homberg.de"},"directories":{},"maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/brotli-compress_2.2.2_1785277268017_0.5562639468978228"},"_hasShrinkwrap":false}},"time":{"created":"2022-06-06T22:37:36.986Z","modified":"2026-07-28T22:21:08.346Z","1.0.0":"2022-06-06T22:37:37.170Z","1.1.0":"2022-06-06T22:45:10.823Z","1.1.1":"2022-06-06T22:49:21.961Z","1.2.0":"2022-06-07T06:52:14.791Z","1.3.0":"2022-06-08T17:52:14.992Z","1.3.1":"2022-06-08T18:42:19.540Z","1.3.3":"2022-06-08T19:10:52.631Z","2.0.0":"2026-07-23T00:29:47.233Z","2.1.0":"2026-07-23T01:14:45.482Z","2.1.1":"2026-07-23T01:26:02.130Z","2.2.0":"2026-07-23T01:37:28.244Z","2.2.1":"2026-07-23T01:48:14.083Z","2.2.2":"2026-07-28T22:21:08.197Z"},"bugs":{"url":"https://github.com/kyr0/brotli-compress/issues"},"author":{"name":"Aron Homberg","email":"info@aron-homberg.de"},"license":"Apache-2.0","homepage":"https://github.com/kyr0/brotli-compress#readme","keywords":["brotli","compress","decompress","wasm","webassembly","async","typescript","browser","Node.js"],"repository":{"type":"git","url":"git+https://github.com/kyr0/brotli-compress.git"},"description":"WASM based, asynchronous Brotli compression and decompression package that works in browsers and Node.js; CommonJS and ESM","maintainers":[{"name":"kyr0","email":"info@aron-homberg.de"}],"readme":"# brotli-compress\n\n[![npm version](https://img.shields.io/npm/v/brotli-compress.svg?logo=npm)](https://www.npmjs.com/package/brotli-compress)\n[![npm downloads](https://img.shields.io/npm/dm/brotli-compress.svg)](https://www.npmjs.com/package/brotli-compress)\n[![TypeScript definitions](https://img.shields.io/npm/types/brotli-compress.svg)](https://www.npmjs.com/package/brotli-compress)\n[![license](https://img.shields.io/npm/l/brotli-compress.svg)](https://github.com/kyr0/brotli-compress/blob/main/LICENSE)\n[![Socket Badge](https://badge.socket.dev/npm/package/brotli-compress/latest)](https://socket.dev/npm/package/brotli-compress)\n[![npm unpacked size](https://img.shields.io/npm/unpacked-size/brotli-compress.svg)](https://www.npmjs.com/package/brotli-compress)\n\nThis package packages `brotli-wasm-custom-dictionary` (a `brotli-wasm` fork with\ncustom dictionary support), minifies and inlines it, so that it works consistently\nin Node.js and Browser environments. This solves [several issues](https://github.com/rustwasm/wasm-pack/issues/1106) of using `brotli-wasm` directly.\n\nFurthermore, this package comes with two module variants: CommonJS and ESM.\nOn top of this, this library comes with a copy of the original Brotli `decompress`\nimplementation by Google, with an optimized API to be 1:1 compatible with\nthe WASM variant and with TypeScript typing support.\n\nAll in all, this package is the Brotli \"fire and forget\" solution that should\nwork in all JavaScript environments, with all bundlers and ecosystems, including\nVite, Rollup, Webpack, Gatsby and Next.js projects as well as Node.js.\n\nThis library can yield stellar compression ratios at byte-level - e.g. output 68.9% smaller than the input (a 3.22x reduction) in our unit test case:\n\n<img src=\"jest_results.png\" />\n\nIf you're looking for even crazier compression rates at \"character level\", take a look at\nmy novel algorithm, [`brotli-unicode`](https://github.com/kyr0/brotli-unicode), where the raw Brotli output binary is encoded using\na subset of the Unicode BMP-1 alphabet. It leads to character level compression rates of 500%+.\n\n## Setup\n\nAs a package for development (Node.js, Browsers):\n\n```bash\n  yarn add brotli-compress\n\n  # or\n\n  npm i brotli-compress\n\n  # or\n\n  bun add brotli-compress\n```\n\n## Which variant should I use?\n\nThe package ships three entry points; all of them work in Node.js and in the\nbrowser, and all support custom dictionaries:\n\n| Import path | Engine | Compress | Decompress | Size (minified) |\n|---|---|---|---|---|\n| `brotli-compress` | WASM | one-shot + streaming | one-shot + streaming | ~1.8 MB (wasm inlined) |\n| `brotli-compress/external` | WASM | one-shot + streaming | one-shot + streaming | ~13 KB + separate 1 MB `.wasm` asset |\n| `brotli-compress/js` | pure JS | — | one-shot only, synchronous | ~152 KB |\n\n- Use `brotli-compress` for maximum performance with zero configuration — the\n  WASM binary is base64-inlined, so it just works everywhere (CJS + ESM).\n- Use `brotli-compress/external` when bundle size matters (e.g. to avoid\n  \"module too large\" bundler warnings) — the `.wasm` file is emitted as a\n  separate asset by your bundler (ESM only).\n- Use `brotli-compress/js` when you only need decompression and want the\n  smallest possible download.\n\nBoth, CommonJS and ESM module formats, are provided (except where noted).\n\n## Usage of the WASM variant\n\nThe usage in a Node.js or Browser environment is trivial:\n\n```ts\n// import size (uncompressed, but minified) / WASM version / max performance: 1.8M\nimport { compress, decompress } from 'brotli-compress'\n\nconst textEncoder = new TextEncoder();\nconst oneBlockInput = 'Hello🤖!'\n\n// it takes a Uint8Array and returns a Uint8Array\nconst compressed = await compress(textEncoder.encode(oneBlockInput))\n\n// it takes a Uint8Array and returns a Uint8Array\nconst decompressed = await decompress(compressed)\nconst decompressedString = new TextDecoder().decode(decompressed)\n```\n\nPlease note that the WASM version comes with a whopping size of (minified)\n1.8MiB. This is, because the binary is base64 encoded and inlined.\n\nIf you prefer maximum performance and memory efficiency over small bundle size,\nchoose the WASM variant. Also, if you need compression, use the WASM version.\n\n### External WASM variant (small JS bundle)\n\nIf the inlined 1.8MiB payload is a problem (e.g. \"module too large\" bundler\nwarnings), use the external variant instead. It is the same WASM build with the\nsame API, but the `.wasm` binary is referenced as a separate file instead of\nbeing inlined — bundlers like Vite/Rollup emit it as a regular asset:\n\n```ts\n// import size (uncompressed, but minified): ~13K + separate 1MiB .wasm asset\nimport { compress, decompress } from 'brotli-compress/external'\n```\n\nThis variant is ESM-only (there is no CommonJS build of it). With a bundler\n(Vite, Rollup, webpack), just use the import above — the `.wasm` file is\nemitted as a separate asset automatically. It also works directly in plain\nNode.js ESM (the `.wasm` file is read from disk):\n\n```js\n// example.mjs\nimport { compress, decompress } from 'brotli-compress/external'\n\nconst compressed = await compress(new TextEncoder().encode('Hello🤖!'))\nconst decompressed = new TextDecoder().decode(await decompress(compressed))\nconsole.log(decompressed) // Hello🤖!\n```\n\n```sh\nnode example.mjs\n```\n\nIf you host the `.wasm` file yourself (e.g. on a CDN), you can point any\nvariant at it with the `wasmFileUrl` option:\n\n```ts\nconst compressed = await compress(input, { wasmFileUrl: 'https://example.com/brotli_wasm_bg.wasm' })\n```\n\n## Usage of the pure JS variant\n\nIf you need a small bundle size, can afford the slowdown and\nonly need decompression, use the handwritten JavaScript decompressor:\n\n```ts\n// import size (uncompressed, but minified) / JS version / only decompress / slower: 152K\nimport { decompress } from 'brotli-compress/js'\n\n// please also note that the pure JS variant is synchronous\n// for large inputs, you could optimize the execution by moving\n// this call into a Worker\n\n// it takes a Uint8Array and returns a Uint8Array\nconst decompressed = decompress(compressed)\n```\n\n## Encoding to Uint8Array and decoding from Uint8Array\n\nFor Node.js, you'd be well advised to use the built-in `Buffer` package:\n\n```ts\nimport { Buffer } from 'buffer'\n\nconst testInput = 'Hello🤖!'\nconst testInputUint8 = Buffer.from(testInput)\nconst compressed = await compress(testInputUint8)\nconst decompressed = await decompress(compressed)\nconst decompressedString = Buffer.from(decompressed).toString()\n```\n\nFor use in browser/frontend, you can either use `TextEncoder` and `TextDecoder`\nor use a polyfill like the [buffer](https://www.npmjs.com/package/buffer) library.\n\n```ts\nnew TextEncoder().encode(testInput) // returns a Uint8Array\nnew TextDecoder().decode(compressed) // returns a string from the compressed Uint8Array\n```\n\n## Options\n\nThe `compress` method comes with a second `options` parameter.\n\n### Quality level\n\nThe most common setting is `quality` with a scale from 0 to 11.\nBy default, the quality is set to best quality (11).\n\n```ts\nconst compressed = await compress(Buffer.from('foobar'), { quality: 9 })\n```\n\nA lower quality value makes the output bigger but improves compression time.\nQuality 11 gives the best ratio but is by far the slowest option; for large or\nlatency-sensitive payloads, a value in the 5–9 range is usually a better\ntrade-off.\n\n### Custom dictionary\n\nBoth, `compress()` and `decompress()` support a custom dictionary via the\n`customDictionary` option (a `Uint8Array` of tokens that are `a priori` known to\nappear in the input). This can dramatically shrink the output for small, similar\npayloads — e.g. if you know that you'll be compressing TypeScript source code, you\ncould include the keywords of the TypeScript language in the custom dictionary:\n\n```ts\nconst customDictionary = new Uint8Array(fs.readFileSync('dictionary.bin'))\nconst compressed = await compress(input, { quality: 11, customDictionary })\nconst decompressed = await decompress(compressed, { customDictionary })\n```\n\nThis uses raw (LZ77) dictionary semantics, exactly like the reference C encoder's\n`BrotliEncoderAttachPreparedDictionary(..., BROTLI_SHARED_DICTIONARY_RAW, ...)`,\ni.e. the `brotli` CLI's `-D FILE` flag. The dictionary is **not** embedded in the\ncompressed stream; the decoder must attach the identical dictionary, and\ndecompression fails loudly without it. Data compressed by the reference CLI with\n`-D` can be decompressed here, and vice versa — note that the usable dictionary\nsize is limited by the window size (at most `2^lgwin - 16` bytes; this package\nencodes with the default window, so dictionaries up to ~4 MiB are fully usable).\n\nCustom dictionary support is provided by\n[`brotli-wasm-custom-dictionary`](https://github.com/kyr0/brotli-wasm), a fork of\n`brotli-wasm` with dictionary support for compression and decompression.\nThe external WASM variant (`brotli-compress/external`) exposes the exact same\ndictionary-capable API; only the way the `.wasm` binary is loaded differs.\n\nAdditionally, a handwritten pure-JS decoder is exposed as a separate entry point\n(it supports custom dictionaries for decompression as well):\n\n```ts\nimport { decompress } from 'brotli-compress/js'\n\nconst decompressed = decompress(compressed, { customDictionary }) // synchronous\n```\n\n## Streaming\n\nStreaming compression and decompression are available via `createCompressStream`\nand `createDecompressStream`. Both accept the same options as their one-shot\ncounterparts (`quality`, `customDictionary`).\n\nFeed input in chunks; each call returns `{ code, buf, input_offset }`. When the\noutput buffer is too small, `code` is `NeedsMoreOutput` and `input_offset` tells\nyou how much of the chunk was consumed — re-feed the rest. Finalize compression\nby calling `compress(null, outputSize)` until `ResultSuccess`:\n\n```ts\nimport { createCompressStream, createDecompressStream, BrotliStreamResultCode } from 'brotli-compress'\n\nconst stream = await createCompressStream({ quality: 11 })\nconst chunks = []\n\nfor (const inputChunk of inputChunks) {\n  let offset = 0\n  while (offset < inputChunk.byteLength) {\n    const res = stream.compress(inputChunk.subarray(offset), 16384)\n    chunks.push(res.buf)\n    offset += res.code === BrotliStreamResultCode.NeedsMoreOutput\n      ? res.input_offset\n      : inputChunk.byteLength\n  }\n}\n\nfor (;;) {\n  const res = stream.compress(null, 16384) // finish\n  chunks.push(res.buf)\n  if (res.code === BrotliStreamResultCode.ResultSuccess) break\n}\nstream.free()\n```\n\nDecompression works the same way: feed compressed chunks via\n`stream.decompress(chunk, outputSize)` until `ResultSuccess`. The streams are\nsynchronous; the `create*Stream` factories are only async because the WASM\nmodule has to be initialized once.\n\n## Build\n\n    npm run build    # or: bun build\n\n## Test\n\n    npm test         # or: bun test\n\n## Release parity gate\n\nTo keep the [SECURITY.md](SECURITY.md) promise (\"nothing is ever removed or\nbehaviour changed\"), every publish is gated. `npm run gate`\n([`scripts/release-gate/`](scripts/release-gate/release-gate.ts)):\n\n1. packs the upcoming release (`npm pack` — the same build that publish produces),\n2. downloads the latest published tarball from npm,\n3. compares the full published artifact set — flagging any removed import file,\n   `exports` subpath, ESM/CJS condition, or exported symbol, and\n4. re-runs the test suite against **both** installed tarballs and asserts\n   **byte-for-byte identical output** for every compress/decompress configuration\n   encoded in the tests (across `.`, `/js` and `/external`, in both ESM and CJS).\n\nEverything runs under `tmp/release-gate/` (gitignored); the human-readable report\nis written to `tmp/release-gate/gate-report.md`. `npm publish` is gated via the\n`prepublishOnly` hook, so an accidental behaviour change or removed export blocks\nthe release.\n\nPublishing an **intentional** behaviour change (e.g. a correctness fix): bump the\nversion, record it under \"Documented behaviour changes\" in SECURITY.md, then\npublish once with `npm run release` (which builds and bypasses the gate for this\none acknowledged change). The gate then re-baselines against the newly published\nversion and goes green again for subsequent releases.\n\n### Stability corpus & version sweep\n\nThree extras back the promise above:\n\n- A golden `.br` corpus in `src/__test__/fixtures/` (generated via\n  `npm run fixtures:generate`) pins compress + WASM/JS decompress output for ~40\n  configurations. `npm test` fails if any byte drifts — e.g. after bumping the\n  upstream WASM package.\n- `npm run test:fuzz` re-runs a custom-dictionary encoder fuzzing across **every quality 0-11**, each in a fresh process, so the upstream can never silently regress.\n- `npm run test:e2e` installs **every released version** on npm, compresses a string with it, and asserts the current build decodes the result - proving the current decoder stays backward compatible with all historical releases.\n\n## Licensing\n\nMost of the code of this library is licensed under Apache-2.0 (see [LICENSE](LICENSE)).\nThe pure-JS `decompress` implementation (`src/js.ts`, also shipped minified as\n`js.mjs`/`js.cjs`) is derived from Google's Brotli decoder and is licensed by\nGoogle under the MIT license (see [LICENSE-MIT](LICENSE-MIT)); the copyright\nnotice is preserved in the minified artifacts.\n\n## Contributors\n\nPackage and build configuration plus cross-library implementation, documentation and\nunit testing, as well as updating the WASM/JS binding has been done by Aron Homberg.\n\n`brotli-wasm` that ships with this package inline was implemented by [Tim Perry](https://github.com/httptoolkit/brotli-wasm) and contributors.\n\nDirect binding WASM/JS and the respective code extraction idea has been implemented by [stefnotch](https://github.com/stefnotch/url-catpressor/blob/main/src/useCompression.ts)\n","readmeFilename":"README.md"}