Cypress: Module not found: Error: Can't resolve 'cypress-wait-util'

Viewed 2743

I'm using Cypress 7.5 and trying to use cypress-wait-until.

What I did is:

  1. Run npm i -D cypress-wait-until
  2. Add import 'cypress-wait-until'; to cypress/support/commands/index.js file

Now, I'm not able to run tests due to the following error:

Error: Webpack Compilation Error
./cypress/support/commands/index.js
Module not found: Error: Can't resolve 'cypress-wait-util' in 'E:\project\cypress\support\commands'
resolve 'cypress-wait-util' in 'E:\project\cypress\support\commands'
  Parsed request is a module
  using description file: E:\project\package.json (relative path: ./cypress/support/commands)
    Field 'browser' doesn't contain a valid alias configuration
    Looked for and couldn't find the file at the following paths:
[E:\project\cypress\support\commands\node_modules]
[E:\project\cypress\support\node_modules]
[E:\project\cypress\node_modules]
[E:\node_modules]
[E:\project\node_modules\cypress-wait-util]
[E:\project\node_modules\cypress-wait-util.js]
[E:\project\node_modules\cypress-wait-util.json]
[E:\project\node_modules\cypress-wait-util.jsx]
[E:\project\node_modules\cypress-wait-util.mjs]
[E:\project\node_modules\cypress-wait-util.coffee]
 @ ./cypress/support/commands/index.js 3:0-28
 @ ./cypress/support/index.js
 
    at Watching.handle [as handler] (C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\@cypress\webpack-preprocessor\dist\index.js:172:23)
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Watching.js:99:9
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at Watching._done (C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Watching.js:98:28)
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Watching.js:73:19
    at Compiler.emitRecords (C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Compiler.js:499:39)
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Watching.js:54:20
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Compiler.js:485:14
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Compiler.js:482:27
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\neo-async\async.js:2818:7
    at done (C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\neo-async\async.js:3522:9)
    at AsyncSeriesHook.eval [as callAsync] (eval at create (C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:6:1)
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\webpack\lib\Compiler.js:464:33
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\graceful-fs\graceful-fs.js:111:16
    at C:\Users\Dev\AppData\Local\Cypress\Cache\7.5.0\Cypress\resources\app\packages\server\node_modules\enhanced-resolve\node_modules\graceful-fs\graceful-fs.js:61:14
3 Answers

I had to specify the correct URL for the package installed inside node_modules. like:

import '../../../node_modules/cypress-wait-util';

If you are using dark mode then don't use it.....it can cause the issue In My case, I was getting the same issue then I removed dark mode then

As per your error message- cy is looking for -resolving 'cypress-wait-util' in 'E:\project\cypress\support\commands' but you have added this under- E:\project\cypress\support\index.js'. So I think - Adding this directly to your project's cypress/support/commands.js: should work fine.

Related