vite-jest icon indicating copy to clipboard operation
vite-jest copied to clipboard

react ts app `yarn test:unit` fails with `SyntaxError: Cannot use import statement outside a module`

Open pnwcoder2020 opened this issue 3 years ago • 3 comments

Thank you for your work on this package and apologies in advance if this issue is the result of user error.

I see the following error in the example react-app-ts and also when incorporating vite-jest into my own react app.

/code/vite-jest/examples/react-app-ts/node_modules/vite-jest/bin/vite-jest.js:3
import fs from 'fs'
^^^^^^

SyntaxError: Cannot use import statement outside a module
    at Module._compile (internal/modules/cjs/loader.js:895:18)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:995:10)
    at Module.load (internal/modules/cjs/loader.js:815:32)
    at Function.Module._load (internal/modules/cjs/loader.js:727:14)
    at Function.Module.runMain (internal/modules/cjs/loader.js:1047:10)
    at internal/main/run_main_module.js:17:11

pnwcoder2020 avatar Jul 31 '21 14:07 pnwcoder2020

I am getting a very similar issue specifically when testing React components following the same example. In this case, react-hook-form seems to be the offender.

Screen Shot 2021-08-27 at 10 11 29 AM

I can post more details if that is helpful

Maybe more related to #11 though now that I read through it

Edit: for clarification this is using npm v7.19.0

mason-smith avatar Aug 27 '21 16:08 mason-smith

I think this is a Yarn 2 specific problem, and to be more specific this is because Yarn 2 cannot currently run ES Modules.

See https://github.com/yarnpkg/berry/issues/638

When I try to run the example with pnpm it works, but not using yarn

mijamo avatar Sep 10 '21 09:09 mijamo

@mijamo The error in my screenshot was with npm v7.19.0. I have not tried pnpm, although I did observe the same issue with Yarn 2 as you indicated as well.

mason-smith avatar Sep 11 '21 14:09 mason-smith