Skip to content

[Bug]: ESM + Typescript doesn't work while transpiling testEnvironment #4195

@luiz290788

Description

@luiz290788

Version

29.1.1

Steps to reproduce

  1. Clone my repo https://github.com/luiz290788/jest-esm-typescript
  2. run NODE_OPTIONS="--experimental-vm-modules" npx jest
  3. test will fail with message:
 FAIL  ./my-test.test.ts
  ● Test suite failed to run

    my-environment.ts:4:13 - error TS1343: The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'.

    4 console.log(import.meta.url)

Expected behavior

Expect the testEnvironment to be transpiled as expected using ESM.

Actual behavior

testEnvironment is transpiled as commonjs

Debug log

I tried to post the logs but github complained saying it was too long.

Additional context

It looks like the transpilation happens normally for the tests but the useESM is not affecting the testEnvironment.

Environment

System:
    OS: macOS 13.4.1
    CPU: (8) arm64 Apple M1
  Binaries:
    Node: 18.16.1 - ~/.nvm/versions/node/v18.16.1/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.8.1 - ~/.nvm/versions/node/v18.16.1/bin/npm
  npmPackages:
    jest: ^29.6.2 => 29.6.2

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions