
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
compression-streams-polyfill
Advanced tools
Lightweight polyfill/ponyfill for the Compression Streams API
Lightweight polyfill/ponyfill for the Compression Streams API
Install:
npm i compression-streams-polyfill # or yarn add, or pnpm add
Import:
import 'compression-streams-polyfill';
// CompressionStream and DecompressionStream are now available
If your environment doesn't support ES Modules:
require('compression-streams-polyfill');
If you want to load from a CDN in the browser:
<!--
You should use either UNPKG or jsDelivr (i.e. only one of the following)
You can specify the version, e.g. with compression-streams-polyfill@0.1.4
-->
<script src="https://unpkg.com/compression-streams-polyfill"></script>
<script src="https://cdn.jsdelivr.net/npm/compression-streams-polyfill"></script>
This polyfill is almost perfectly spec-compliant. Nonetheless, if you'd like to avoid adding CompressionStream
and DecompressionStream
to the global scope, you can use the ponyfill.
Note that you must supply your own TransformStream
implementation to use the ponyfill (though TransformStream
is available in most modern browsers).
import { makeCompressionStream, makeDecompressionStream } from 'compression-streams-polyfill/ponyfill';
// If you'd like to also ponyfill TransformStream:
// import { TransformStream } from 'web-streams-polyfill/ponyfill';
const CompressionStream = makeCompressionStream(TransformStream);
const DecompressionStream = makeDecompressionStream(TransformStream);
This polyfill is based on fflate and is therefore very fast. It tends to be between 20% slower and 5% faster than Chromium's native CompressionStream
and DecompressionStream
. The CompressionStream
polyfill also yields similar compression ratios to the native implementation.
The polyfill's full bundle size is about 17kB minified, or 7kB gzipped.
MIT
FAQs
Lightweight polyfill/ponyfill for the Compression Streams API
The npm package compression-streams-polyfill receives a total of 2,522 weekly downloads. As such, compression-streams-polyfill popularity was classified as popular.
We found that compression-streams-polyfill demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.