node v10.0.0は地雷

node v10.0.0は地雷バージョンでした。すでに@types/nodeがv10.0.0でTypeScriptのコアLibとURLなどいくつかの型定義が被って爆死という案件がありましたが、今回はts-jestの環境で以下のテストが沈黙してしまうという問題を抱えています。非TypeScriptな素のjest環境なら大丈夫なので辛い。Babel挟むのは試してません。

describe('silence', () => {
    test('error', () => {
        fail('silent');
    });
});

これだけでテストランナーが沈黙のまま吹っ飛ぶ。これを $sudo n 9.11.1 と前のバージョンに切り替えるとts-jestでもしっかり動きます。v10.0.0はTypeScriptクラスタは回避で。APIがPromise多用で近代的に書き換わったらしいが、普通にSPAやWEBサーバ書いてる限りには関係ないし。

偶数バージョンで根源的な不都合が出ると戸惑っちゃう。。。

  • node環境構築
    • brewインストール
    • nインストール: brewによる
    • nodeインストール: nによる
    • yarnインストール: brewにより--without-nodeスイッチ付き

この構成が正義。不用意に$ brew upgrade でnodeのバージョンが変わらないし、nで適宜バージョンを変更して試せる。