Closed kachick closed 1 year ago
尚 node20 に上げると動かなくなってた。 https://github.com/meyfa/ts-node-test/issues/64#issuecomment-1540021495 => https://github.com/nodejs/node/issues/47880
つらぽよ・・・ deno は色々楽だけど、まだ完全に乗り換えられるわけでもないしなぁ 後 github actions がようやっと重い腰を上げて node16 から node20 へ上げる。今更なので?node18はスキップするわというアナウンス https://github.com/actions/runner/discussions/2704#discussion-5418767 が出ていたけれど、それで個人的に一番嬉しくなる筈だった test runner の jest 落としが出来なくなりそうで・・・
tsx(esbuild) とか、多分 swc 系でも https://github.com/nodejs/help/issues/3902#issuecomment-1528770130 みたいなアプローチで動かせた! 元々 ts-node 自体が TypeScript 5.0 以降の config extends array 対応 PR をマージしたけれどずっとリリースしてないし、vite とか使ってると esbuild 前提になりやすいので基本的に tsx 使うようにした方がベター感はある これで node20 でもとりあえずやっていけそう
https://github.com/kachick/renovate-config-asdf/pull/1028 https://github.com/kachick/renovate-config-asdf/pull/1029
というのは node18からの built in test runner なら出来るよということで、jest の場合は ts-node にべっとりっぽくてまだリプレスできそうに無いかな https://github.com/jestjs/jest/issues/13143
node16 のプロジェクトを漸進的に更新するみたいなのが出来なくてつらい感じは否めないけど、パスが見えてるだけ大分マシではある
(こういったあれを上げるとこちらが対応しておらず死ぬみたいな nodejs 界隈 dependency hell のツラミみたいなのに出くわすといつも億劫になるので、 deno のオールインワンな方向性はそら好まれるよなぁ)
ruby とか ecpected actual の語順なのに node のは actual expected なので目が滑る 郷に入っては郷に従えでやりたいとこだけど、毎日触ってでも無いとこの手のはパッと思い出せないなー
TypeScript 使ってるとIDEの type hint 教えてくれるから良いやんという話はあるが・・・ 過去に間違えて書いたやつ書き直したいけどそもそも洗い出しも大変そうでぐえーだ
3ヶ月前、Node 16 だった小さめのプロジェクトを Node 18 へ移行させる際、ついでなので jest で書かれていたテストを https://github.com/nodejs/node/pull/42325 で入った組み込みのに移行させてみようとした。 bun は試してないけど、deno とかの流れで最低限のスタックは組み込みで提供されるようになるととても助かる。ただでさえ npm の依存性管理は常に辛いので、減らせるなら jest でもなんでも減らしたい。
が、幾つか調べたけどサックリ実現出来る手段は無さそうだった。引っかかったのはこの test runner 自体で対応していないのと、ts-node も対応していない感じだったから。それ以上調べて~みたいな気力はあんまなかったし、調べても簡単に出来そうになかった。
そしてまた使いたいシーンがやってきて、渋々 .mjs とかでテストを書いてた。その時あわよくばで調べたら、対応させたライブラリを公開している方が居た。
https://github.com/meyfa/ts-node-test
https://github.com/TypeStrong/ts-node/issues/1853 で issue を作って、自分でサードパーティで対応させたのかな?便利~ まだ自分以外の ⭐ が無かったので紹介しておく。
使用例は https://github.com/kachick/renovate-config-asdf/pull/108