知られざるJavaScript圧縮program集

browser上で動作していたものに限定。知られていないとする根拠はそこら中で引用されまくっていないからですが、私の調査不足という可能性も否定できません。そんな真偽の程はどうでもいいかどうか定かではないかもしれないので、とっとと紹介していきます。
## u-lzss
lzss系の圧縮を施します。圧縮後はUTF8文字列となります。
[Demo](https://web.archive.org/web/20080203052918/http://llamerada.sakura.ne.jp/u-lzss/)
[source](https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/u-lzss/source-archive.zip)
## LZ77JSCompressor
名前通りLZ系の圧縮を施します。今はひっそりとお休みになっておられます。
[LZ77JSCompressor](https://demo.java2script.org/lz77js)
## JSquash
手始めに不要な空白類を根こそぎ消し去り、次に静的辞書を構築して文字列を圧縮。古典的な文法圧縮に分類されます。出力文字はlatin1(iso-8859-1)となります。
辞書に登録する文字列はうまく厳選されていません。動作する様子が面白いので必見の価値はあるッポイです。
ちなみに本家はとっくの昔に闇の彼方に消えてしまいました。という訳で勝手に改造版とやらをでっち上げておきます。
<p class=codepen data-height="300" data-default-tab="result" data-slug-hash="JjzvJLY" data-user="xezz" style="height:300px:box-sizing:border-box:display:flex:align-items:center:justify-content:center:border:2px solid:margin:1em 0:padding:1em">
  <span>See the Pen <a href="https://codepen.io/xezz/pen/JjzvJLY">
  JSquash</a> by xezz (<a href="https://codepen.io/xezz">@xezz</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p>
<script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>

## MemTronic CruncherCompressor
最新版が2006年頃という古代兵器。minify機能と可逆圧縮を個別提供しています。前者は高速ですが、後者は極端に超絶低速な圧縮速度を誇ります。伸長は一瞬で終わるので御安心下さい。
圧縮法はJSquashと似ています。ただし辞書の作り方は遥かに優れており、元の半分以下になる事もざらでしょうか?
ではでは例によって、究極召喚
<p class="codepen" data-height="300" data-default-tab="result" data-slug-hash="NWJMgOB" data-user="xezz" style="height:300px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:2px solid;margin:1em 0;padding:1em">
  <span>See the Pen <a href="https://codepen.io/xezz/pen/NWJMgOB">
  HTML/JavaScript Cruncher-Compressor</a> by xezz (<a href="https://codepen.io/xezz">@xezz</a>)
  on <a href="https://codepen.io">CodePen</a>.</span>
</p><script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>

## JavaScript Utility Version 3
整形、難読化、minify、可逆圧縮と個別に機能を提供。圧縮原理はMemTronic CruncherCompressorとほぼ同じですが、より洗練されているので速度も圧縮率も遥か上(過言)。
圧縮の下ごしらえとして[Dean Edwards' Packer](http://dean.edwards.name/packer/)のBase62 encodeに似た処理も施している御様子。
[Demo](https://jsutility.pjoneil.net/)
## bananascript
MemTronic CruncherCompressorの完全上位互換のprogramと言っても過言ではありません。最新版はClosure Compilerで下ごしらえしてから、静的辞書を用いた文法圧縮の限りを尽くしていたような雰囲気です。MemTronic何とかより遥かに高速です。
一部の人には需要があったようで、かなり使い込まれていたような痕跡がありました。
そんなbananascriptは2020年頃から忽然と姿を消し去り、もう誰も元気だったあの頃を見る事は叶いません…。
ちなみにphpで動作していた空気を醸しているので、その知識がごみの私には蘇らせられませんでした。
[残骸置き場](https://web.archive.org/web/20230201062745/http://www.bananascript.com/)
## JSCrush
かつてjs1k利用者の間で盛大に大流行。静的辞書による文法圧縮をかましてきます。圧縮速度度外視の超激重設計。2KB以下の文字列を圧縮するならこれを使うと面白い目にあいます。巨大文字列を圧縮しようとすると最悪の場合死に至る訳がありません。
[Demo](http://www.iteral.com/jscrush/)
## RegPack
JSCrushを高速化したようなprogram。機能も大幅に強化されています。
[Demo](http://siorki.github.io/regPack.html)
## ScriptCompress.com
あまねく圧縮術の数々に目からぼた餅、いや鱗が転げ落ちそうになり損ねて下さい。同pageには他にも大量のlinkがあります。本家は2018年頃に消滅。
[Demo](https://web.archive.org/web/20170320013117/http://www.scriptcompress.com/)(不完全)/[作者作品集](https://github.com/JavaScript-Packer)
## roadroller
新進気鋭の高圧縮program。伸長処理の記述量はとても少なく、見事と言う他ありません。
ただ致命的とも言うべき欠点があり、処理には莫大な時間と記憶空間を消費します(設定次第)。
肝心の圧縮原理ですがLogistic context mixingとrANS(高速な算術符号の一種)を組み合わせています。
[Demo](https://lifthrasiir.github.io/roadroller) / [github](https://github.com/lifthrasiir/roadroller)
## zpng
htmlにJavaScriptをpng画像として埋め込み実行。圧縮に時間がかかり過ぎる欠点はあるものの、元より大幅に小さくなる可能性があります。しかも高速展開されます。ただし、くせが強く用途は限定される気がします。
[Demo](https://codegolf.github.io/zpng/)/[github](https://github.com/codegolf/zpng)
## ppminy
血迷って公開している自作の高圧縮program。PPMという技法を用いています。速度を気にしない心の広い方々にこよなく愛想をつかされているとかいないとか…。
[github](https://github.com/da0ka/ppminy)/[別記事](https://qiita.com/mashuel/items/4fee3a4de93b18d85629)
<p class=codepen data-height="300" data-default-tab="result" data-slug-hash="BaEBoVj" data-user="xezz" style="height:300px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;border:2px solid;margin:1em 0;padding:1em"> <span>See the Pen <a href="https://codepen.io/xezz/pen/BaEBoVj">web contents compressor</a> by xezz (<a href="https://codepen.io/xezz">@xezz</a>) on <a href="https://codepen.io">CodePen</a>.</span></p><script async src="https://cpwebassets.codepen.io/assets/embed/ei.js"></script>

## 他にも…
挙げたらきりがないですね。minify系はもはや定番物の独壇場で紹介するまでもないかな。[Vector](https://www.vector.co.jp/)にも面白い物が転がっています