2019年9月29日日曜日

value-schema v2.2.5を公開しました

以前node-adjusterから名称変更したvalue-schemaの最新バージョンがリリースされました。

変更点

  • CIツールをGitHub Actionsに変更
    • 今まではWindows上でのテストにAppVeyor、macOS/Linux上でのテストにTravis CIを使っていました。
    • GitHub Actionsが全てのプラットフォームに対応したので、こちらを使うことにしました。
    • CI系サービスは今後大丈夫かなと余計な心配をしております。
  • Node.js v4に対応
    • 「インストール時に環境に合わせてBabelで変換してるからどのバージョンでも動くだろう」と高をくくっていたんですが、そもそもBabelNode.js v6.9以上にしか対応していないので、v4では動きませんでした。
    • そのため、インストール時に環境に合わせたビルドをやめて最初からv4以上を対象にビルドしたものを配布するように変更しました。
    • ただしJestがNode.js v8以降しかサポートしていないので、v4, v6では文法チェックのみ行っています。チェック結果は"Syntax check"バッジで表示されています。
    • 全ては今までv4でのテストをサボっていたのが原因です。ごめんなさい。
  • ES Modulesのサポートを強化
    • Node.js v8.5.0からES Modulesがサポートされていますが、今まではこれに関するチェックは特にしていませんでした。そのため文法チェックだけでも行うことにしました。チェック結果は"Syntax check"バッジで表示されています。
    • ES Modules版は、v8.5.0以上を対象にビルドしています。
    • Windows版のNode.js v8.5系ではC:\path\to\moduleC:URIスキームとみなされて「そんなスキームないよ」と言われるバグがあるので、v8.6.0以上で使ってくださいという注意書きを追加しました
    • Node.js v12以降では--experimental-modulesの挙動が大幅に変わったので、それに関する注意書きも追加しました。
    • 要するに文法チェックとREADMEに注意書きを追加しただけで、機能上は何も変わっていません。
  • 配布パッケージを最小化
    • インストール時にビルドではなく、最初からビルド済みのものを配布することにしたので、ソースファイルやBabelの設定ファイル等が不要になりました。
    • それだけでなく、npm install --only=productionでインストールされるパッケージ数も激減し、処理時間やストレージ容量が大幅に削減されました。
各種サポートやインストール時の最適化がメインです。
要するに機能は何一つ変わっていません

バッジもGitHub Actions公式のものを使うことにしました。


なんでいきなりパッチバージョンが5つも上がってるんですか

新しいGitHub Actionsに慣れていなかったせいです。

少し前からnpmへの公開処理もGitHub Actionsで行っていたのですが、今回ビルド済みのもののみを配布することにした都合上、設定をいろいろいじる必要が出てきました。
  • publishの前段階でエラーが出る
  • ビルド後のファイルがpublishされない
などなど失敗を重ねてどんどんパッチバージョンが上がり、最終的に2.2.5でようやくリリースできました。

0 件のコメント:

コメントを投稿