k6をTypeScriptに対応させるための拡張機能 xk6-enhancedですが、2024/04/02時点で、xk6-tsに内包される形となりました。
xk6でk6コマンドをビルドする際には、代わりにxk6-tsを利用しましょう。
link: https://github.com/szkiba/xk6-ts
事象
例えば以下のようにビルドしたとすると。
xk6 build \
--with github.com/LeonAdato/xk6-output-statsd@latest \
--with github.com/grafana/xk6-dashboard@latest \
--with github.com/szkiba/xk6-enhanced@latest \
--with github.com/szkiba/xk6-dotenv@latest
以下のようなエラーが出るようになっています。
go: downloading github.com/szkiba/xk6-enhanced v0.2.0
go: k6 imports
github.com/szkiba/xk6-enhanced: github.com/szkiba/xk6-enhanced@v0.2.0: parsing go.mod:
module declares its path as: github.com/szkiba/xk6-ts
but was required as: github.com/szkiba/xk6-enhanced
解決策
xk6-enhancedの代わりに、xk6-tsを利用します。
xk6 build \
--with github.com/LeonAdato/xk6-output-statsd@latest \
--with github.com/grafana/xk6-dashboard@latest \
--with github.com/szkiba/xk6-ts@latest \
--with github.com/szkiba/xk6-dotenv@latest
なお、xk6-tsはXK6_TS
をfalseに設定することで、一時的に無効化出来ます。
xk6-ts can be disabled by setting the XK6_TS environment variable to false.
https://github.com/szkiba/xk6-ts
webpackでTypeScriptをJavaScriptにコンパイルして、JavaScriptのスクリプトを実行する場合には、k6コマンド実行時にXK6_TS
にfalseを設定しましょう。
最終的な修正は以下のようになりました。
https://github.com/gonkunkun/k6-template/pull/4
k6用のCIを設定したことで即時に気付けました。
CIは大事ですね…
皆様もお気をつけください。