はじめに
本日 zlib.js 0.1.6 をリリースしました。ここでは告知とともに 0.1.6 の更新内容などを簡単に説明したいと思います。
なお、今回から Change Log を添付したあるので概要はそちらでも確認できます。
今回のバージョンでは主にビルド環境の整理やテスト・デバッグ効率の向上を行っています。
https://github.com/imaya/zlib.js
ビルド環境の更新、最適化
zlib.js は Closure Compiler でビルドしているのですが、今までは minify したコードに余分なコードが含まれている事がありました。
今回の更新では Closure Compiler の更新とその辺りの設定を見直す事で minify したファイルのサイズを縮小しました。
例えば、Inflate だけならば約 7KB とさらにコンパクトになっています。
Raw 形式、CRC-32 の独立ビルドの追加
今までは Deflate アルゴリズム単体でのビルドはなく、ZLIB や GZIP, PKZIP などのコンテナ形式への対応だけでしたが、今回からは Deflate のみの利用が可能になりました。
以下のようにして使います。
var plain = new Uint8Array(1024);
// compression
var compressed = new Zlib.RawDeflate(plain).compress();
// decompression
var decompressed = new Zlib.RawInflate(compressed).decompress();
また、CRC-32 アルゴリズムも単体で利用する事ができるようになりました。
var plain = new Uint8Array(1024);
// CRC-32
var crc32 = Zlib.CRC32.calc(plain);
Pretty Print ビルド、Source Maps のサポート
今回から開発・デバッグ用に Pretty Print されたバージョンのビルドと、Source Maps のサポートを追加しました。
Source Maps の使い方はドキュメントに書いてありますが、とりあえず使えるようにしただけなので使いにくいかも知れません。
もっと良い構成などありましたら教えていただけると助かります。
Travis CI のサポート
今回のバージョンから Travis CI をつかって Firefox, Chrome で自動テストを行うようにしました。
…とはいっても、時々テストに使っている BusterJS の実行がささってしまうのでイマイチな時もあります。
ストリーム展開のビルドを修正
zlib.js では inflate_stream.min.js というファイルで実験的にストリーム展開に対応しています。
前回のバージョンでは手違いでストリームに対応していないままになっていたのを修正を行いました。