A Zstd Compression Library
Zstandard compression library for Node.js
npm install @mongodb-js/zstd
Releases are created automatically and signed using the Node team’s GPG key. This applies to the git tag as well as all release packages provided as part of a GitHub release. To verify the provided packages, download the key and import it using gpg:
gpg --import node-driver.asc
The GitHub release contains a detached signature file for the NPM package (named
mongodb-js-zstd-X.Y.Z.tgz.sig
).
The following command returns the link npm package.
npm view @mongodb-js/[email protected] dist.tarball
Using the result of the above command, a curl
command can return the official npm package for the release.
To verify the integrity of the downloaded package, run the following command:
gpg --verify mongodb-js-zstd-X.Y.Z.tgz.sig mongodb-js-zstd-X.Y.Z.tgz
[!Note]
No verification is done when using npm to install the package. The contents of the Github tarball and npm’s tarball are identical.
To verify the native .node
packages, follow the same steps as above using mongodb-js-zstd-X.Y.Z-platform.tgz
and the corresponding .sig
file.
node12 | node14 | node16 | node18 | node20 | |
---|---|---|---|---|---|
Windows x64 | ✓ | ✓ | ✓ | ✓ | ✓ |
macOS x64 | ✓ | ✓ | ✓ | ✓ | ✓ |
macOS arm64 | ✓ | ✓ | ✓ | ✓ | ✓ |
Linux x64 gnu | ✓ | ✓ | ✓ | ✓ | ✓ |
Linux arm gnu | ✓ | ✓ | ✓ | ✓ | ✓ |
Linux arm64 gnu | ✓ | ✓ | ✓ | ✓ | ✓ |
Linux x64 musl | ✓ | ✓ | ✓ | ✓ | ✓ |
Linux arm64 musl | ✓ | ✓ | ✓ | ✓ | ✓ |
Only the following version combinations with the MongoDB Node.js Driver are considered stable.
@mongodb-js/[email protected] |
|
---|---|
[email protected] |
✓ ^1.1.0 |
[email protected] |
✓ |
[email protected] |
✓ |
[email protected] |
N/A |
export function compress(buffer: Buffer | ArrayBuffer | Uint8Array, level: number): Promise<Buffer>;
export function decompress(buffer: Buffer): Promise<Buffer>;
Think you’ve found a bug? Want to see a new feature in @mongodb-js/zstd
? Please open a
case in our issue management tool, JIRA:
For issues with, questions about, or feedback for the library, please look into our support channels. Please do not email any of the driver developers directly with issues or questions - you’re more likely to get an answer on the MongoDB Community Forums.
Change history can be found in HISTORY.md
.
import { compress, decompress } from '@mongodb-js/zstd';
(async () => {
const buffer = Buffer.from('test');
const compressed = await compress(buffer, 10);
const decompressed = await decompress(compressed);
})();
First, install and build the zstd library:
npm run install-zstd
Then:
npm test
CI will automatically publish when it detects a new release after:
npm run release -- --release-as <patch|minor|major>
git push --follow-tags origin main