lz-string

LZ-based compression algorithm for JavaScript

Latest version: 1.5.0 registry icon
Maintenance score
30
Safety score
100
Popularity score
80
Check your open source dependency risks. Get immediate insight about security, stability and licensing risks.
Security
  Vulnerabilities
Version Suggest Low Medium High Critical
1.5.0 0 0 0 0 0
1.4.4 0 0 0 0 0
1.4.3 0 0 0 0 0
1.4.2 0 0 0 0 0
1.4.1 0 0 0 0 0
1.4.0 0 0 0 0 0
1.3.6 0 0 0 0 0
1.3.5 0 0 0 0 0
1.3.3 0 0 0 0 0

Stability
Latest release:

1.5.0 - This version may not be safe as it has not been updated for a long time. Find out if your coding project uses this component and get notified of any reported security vulnerabilities with Meterian-X Open Source Security Platform

Licensing

Maintain your licence declarations and avoid unwanted licences to protect your IP the way you intended.

MIT   -   MIT License

Not a wildcard

Not proprietary

OSI Compliant



lz-string

Node.js CI Version npm package Downloads Documentation

LZ-based compression algorithm for JavaScript

[!IMPORTANT] The file layout has changed in version 2, this is now a joint commonjs / esmodule project so modern build tools should be happy with it, but if importing a file directly (such as in a direct javascript project) it is important to use the correct one.

[!TIP] The "old style" minified AMD file is available as dist/index.umd.js via various CDNs or package managers.

Install via npm

$ npm install -g lz-string
$ lz-string input.txt > output.txt

Home page

Home page for this program with examples, documentation and a live demo: http://pieroxy.net/blog/pages/lz-string/index.html

Command line

If installed globally there is a command line tool available, and a test suite that can use it to show things are working properly. If other langauges build a command line tool that supports the same arguments then the test suite can be run against them too.

$ lz-string -h
Usage: cli [options] [input-file]

Use lz-string to compress or decompress a file

Arguments:
  input-file                  file to process, if no file then read from stdin

Options:
  -V, --version               output the version number
  -d, --decompress            if unset then this will compress
  -e, --encoder <type>        character encoding to use (choices: "base64", "encodeduri", "raw", "uint8array", "utf16", default: "raw")
  -v, --verify                verify before returning (default: true)
  -b, --binary <file>         lz-string binary to use (default: "../dist/index.js")
  -l, --legacy                use legacy mode where uint8array decompression must be an even length
  -o, --output <output-file>  output file, otherwise write to stdout
  -q, --quiet                 don't print any error messages
  -h, --help                  display help for command

Other languages

This lib has numerous ports to other languages, for server side processing, mostly. Here they are:

[!CAUTION] These are all developed separately, so if you are using two versions to transfer data (such as a client and server version) it is important to check that they are compatible and have identical behaviours on the data!

[!NOTE] Version 1.3.8 of this package had a slight change in the encoding which might impact compatibility.