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 を出力するように変換を設定します。 -
Execute
node
with--experimental-vm-modules
, e.g.node --experimental-vm-modules node_modules/jest/bin/jest.js
orNODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules" npx jest
etc.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
オプション を使用してください。