ECMAScript モジュール
Jest は ECMAScript モジュール (ESM) の実験的なサポートを提供しています。
実装にはバグや機能不足がある可能性があります。 最新のステータスについては、issue トラッカーの issue と label を確認してください。
また、Jest が ESM サポートを実装するのに使用している API は、まだ Node により実験的であるとされていることに注意してください (バージョン 18.8.0
時点)。
With the warnings out of the way, this is how you activate ESM support in your tests.
-
transform: {}
を渡すことで、コード変換を無効 にするか、デフォルトの CommonJS (CJS) ではなく ESM を出力するように変換を設定します。 -
node
を--experimental-vm-modules
オプションを付けて実行します。例:node --experimental-vm-modules node_modules/jest/bin/jest.js
またはNODE_OPTIONS=--experimal-vm-modules npx jest
など。Windows では、
cross-env
を使用して環境変数を設定できます。Yarn を使用している場合は、
yarn node --experimental-vm-modules $(yarn bin jest)
を使用できます。 このコマンドは、Yarn Plug'n'Play を使用している場合にも機能します。If your codebase includes ESM imports from
*.wasm
files, you do not need to pass--experimental-wasm-modules
tonode
. Current implementation of WebAssembly imports in Jest relies on experimental VM modules, however, this may change in the future. -
それ以外は
node
が「ESM モード」を有効にするロジック (たとえば、package.json
のtype
や、.mjs
ファイルであるかを確認するなど) に従うように努めています。詳細については、node のドキュメントを確認してください。 -
他のファイル拡張子 (
.jsx
や.ts
など) を ESM として扱いたい場合は、extensionsToTreatAsEsm
オプション を使用してください。