# @remusao/smaz-decompress

> Decompress strings using custom codebooks

Latest version **2.2.0** (published 2025-05-16) · MPL-2.0 license · 0 weekly downloads

## Install

```sh
npm install @remusao/smaz-decompress
pnpm add @remusao/smaz-decompress
yarn add @remusao/smaz-decompress
bun add @remusao/smaz-decompress
```

## Health

**Score 50/100 (C)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high quality score.

Warnings: low downloads.

Negative: stale.

## Facts

| | |
|---|---|
| Version | 2.2.0 |
| Published | 2025-05-16 |
| First published | 2020-02-03 |
| Weekly downloads | 0 |
| License | MPL-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 31 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 15 |
| Author | Rémi Berson <remi@cliqz.com> |
| Maintainers | remusao |

## Links

- npm: https://www.npmjs.com/package/@remusao/smaz-decompress
- Repository: https://github.com/remusao/mono
- Homepage: https://github.com/remusao/mono#readme
- Issues: https://github.com/remusao/mono/issues
- npm.io page: https://npm.io/package/@remusao/smaz-decompress

## Recent versions

- 2.2.0 (latest) — 2025-05-16
- 1.9.1-canary.309.bb92957ae635c786e8798fd12cc9d8a0213d624f.0 (canary) — 2020-11-03
- 2.1.0 — 2025-04-10
- 2.0.0 — 2025-04-07
- 1.10.0 — 2024-07-11
- 1.9.1 — 2020-11-03
- 1.9.1-canary.307.a8b715240fbe1ea8f6c58b1e778de472a237b6c3.0 — 2020-11-03
- 1.9.1-canary.306.92331cfe30132d83f557c212e90b7870a054712c.0 — 2020-11-02
- 1.9.1-canary.305.9461d0d8204f319a81ae7ecc2b873c3deac2bb3b.0 — 2020-11-02
- 1.9.1-canary.304.00af04df77e6c80e2417971e89e371604f318e4a.0 — 2020-11-01
- 1.9.1-canary.303.d5405a9efbd58804427096689a1e8df212ec2458.0 — 2020-10-30
- 1.9.1-canary.302.28c36e01aed2a0381b38131546b5713389a1d53c.0 — 2020-10-29
- 1.9.1-canary.301.dee75a3ec5e278abf0bec136bf0edda997a4775a.0 — 2020-10-29
- 1.9.1-canary.300.cf6720273d182293ff3e38d696a4127b4d5ef888.0 — 2020-10-28
- 1.9.1-canary.299.b9646709bc95e7c9eb5d634a596746ddcbb42030.0 — 2020-10-27
- … 129 more at https://npm.io/package/@remusao/smaz-decompress/versions

## README

# Mono

![tests](https://github.com/remusao/mono/workflows/Tests/badge.svg)
[![lerna](https://img.shields.io/badge/maintained%20with-lerna-cc00ff.svg)](https://lerna.js.org/)
[![lgtm alerts](https://img.shields.io/lgtm/alerts/g/remusao/mono.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/remusao/mono/alerts/)
[![lgtm grade](https://img.shields.io/lgtm/grade/javascript/g/remusao/mono.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/remusao/mono/context:javascript)
[![dependabot](https://api.dependabot.com/badges/status?host=github&repo=remusao/mono)](https://dependabot.com)
![license](https://img.shields.io/github/license/remusao/mono)

## Libraries

* auto-config
* thunderbird-msg-filters
* trie

## Philosophy

This repository is also a way for me to experiment with monorepos and
how best to organize them. I have been trying out many different tools
or "stacks" in the past and have stabilized on the following:

* All code is written in TypeScript targeting ES6.
* Eslint is used for linting code.
* Lerna is used for version management and publishing (used by `auto`).
* Yarn workspaces are used to share a lock file and `node_modules` folder.
* Auto is used for continuous publishing of the libraries (using Lerna).
* Each package contains its own package.json and dependencies.
* Each package can be built independently.
* Composite and incremental modes of TypeScript are leveraged for fast compilation.
* Each package exposes commonjs and es6 entry points, built with `tsc`.
* Tests are written in TypeScript and compiled like library code.
* Mocha is used to launch tests.
* Chai is used for test assertions.

There is currently no bundling or minification performed on published
packages, but this will be done in the future using Rollup will be used.

Other thoughts:

* No babel is used, tsc is more than capable of producing build output.
* Dev/normal mode produces commonjs bundles, which can be used in watch
  mode to iterate faster, run tests, load library locally in Node.js.
* Bundle mode produces extra es6 artifacts, which only happens in CI so
  it's fine if it takes a bit more time. ES6 output is also created using
  tsc.
* Packages names are namespaced with the name of the GitHub account @remusao to
  prevent any naming collision (e.g. 'trie' package would have to be renamed)
  and provide some kind of consistency. Also, experience shows that fancy
  package names tend to be misunderstood and harder to discover.
* As long as both commonjs and es6 modules will have to co-exist in the Node.js
  ecosystem, there will be extra complication for package maintainers. Ideally
  only es6 would be required, which would simplify building and bundling code.
  I expect a migration of the repository to 100% ES6 modules before end of 2020
  when all tooling is compatible (e.g. mocha is currently adding first-class
  support for ES6 modules).

## Development setup

* `corepack enable`
* `yarn install --immutable`

---
_Source: https://npm.io/package/@remusao/smaz-decompress · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
