Vivliostyle version 2019.8.100 リリース! ソースコードTypeScript化

Vivliostyle version 2019.8.100 をリリースしました。

(最新の Vivliostyle Viewer および ユーザーガイド をご覧ください。)

Vivliostyle.js ソースコードを TypeScript に移行

Vivliostyle.js の元となるプロジェクトは 2013 年頃に Google のPeter Sorotokin氏が開発した EPUB Adaptive Layout 実装で、そのソースコードは、JavaScript (ES5)と Closure Compiler のための型注釈を用いて書かれていました。現 Trim-marks Inc.のToru Kawakubo氏をメイン開発者として開発開始された Vivliostyle.js は、その同じソースコードスタイルを踏襲してきました。

この ES5 の JavaScript スタイルは古くなり今後の維持が難しいため、私たちはこれを TypeScript に移行することを決め、そしていま TypeScript への移行が完了しました。[#536]

ソースコードが TypeScript 化されたことで、オープンソース Vivliostyle 開発への貢献が活発になることを期待しています。

開発については、Development documentをご覧ください。

その他の変更と修正

  • TypeScript ソースコード用に再編されたビルドスクリプト
    • 複数ターゲットへのトランスパイル: lib/vivliostyle.min.js for ES2018、 lib/vivliostyle-es5.min.js for ES5. [#538]
  • UA スタイルシートなどのリソースを別個にダウンロードしないようにした [#537]
  • これまでダウンロードパッケージと npm パッケージに同梱されていた大きなサンプルファイルを削除 [5c3becac] [245c9e7d]
    • これによりダウンロードパッケージ (vivliostyle-js-latest.zip) のサイズが以前は 6.8MB あったのが 1.4MB に縮小されました。
    • Vivliostyle のサンプルファイルは、vivliostyle.js から vivliostyle_doc リポジトリに移動しました。
  • Microsoft Edge で Web publication をロードしたときのエラー “Failed to fetch a source document” を修正 [1ed01afc]
  • EPUB OPF (.opf) の MIME タイプを認識しない一部の Web サーバーでのエラー “empty response for EPUB OPF” を修正 [db8e9bcb]

過去のリリースの概要

詳細については、Release Notes を参照してください。