-
Notifications
You must be signed in to change notification settings - Fork 42
Description
Version 1.33 and up attempt to import a module "util" in the folder "browserstack-cypress-cli/testObervability/cypress/index.js"
The browserstack-cypress-cli module also does not include it in their dependencies, relying on another node module to have it as a dependency instead.
Looking through the entire "browserstack-cypress-cli/testObervability/cypress/index.js" file, it looks like "util" is only assigned to a constant and never used anywhere in the module.
Either add util as a dependency for browserstack-cypress-cli or remove "util" in this file.
The error I am seeing is this ( I have removed any personal information and replaced it with "██"):
"This occurred while Cypress was compiling and bundling your test code. This is usually caused by:
- A missing file or dependency
- A syntax error in the file or one of its dependencies
Fix the error in your code and re-run your tests.
Oops...we found an error preparing this test file:
> ██\somefile.feature
The error was :
Error: Build failed with 1 error:
node_modules/browserstack-cypress-cli/bin/testObservability/cypress/index.js:5:21: ERROR: Could not resolve "util"
at failureErrorWithLog (██\node_modules\esbuild\lib\main.js:1467:15)
at ██\node_modules\esbuild\lib\main.js:926:25
at runOnEndCallbacks (██\node_modules\esbuild\lib\main.js:1307:45)
at buildResponseToResult (██\node_modules\esbuild\lib\main.js:924:7)
at ██\node_modules\esbuild\lib\main.js:951:16
at responseCallbacks.<computed> (██\node_modules\esbuild\lib\main.js:603:9)
at handleIncomingPacket ██\node_modules\esbuild\lib\main.js:658:12)
at Socket.readFromStdout ██\node_modules\esbuild\lib\main.js:581:7)
at Socket.emit (node:events:524:28)
at addChunk (node:internal/streams/readable:561:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:512:3)
at Readable.push (node:internal/streams/readable:392:5)
at Pipe.onStreamRead (node:internal/stream_base_commons:189:23)"
In my current setup we are running [email protected]
which has removed util as a dependency which may have caused a breaking change in [email protected]+
https://docs.cypress.io/app/references/changelog#15-0-0
"In order to better align with best practices, @cypress/webpack-batteries-included-preprocessor no longer includes certain browser built-ins that were automatically provided by Webpack 4. The removed built-ins are assert, constants, crypto, domain, events, http, https, punycode, querystring, string_decoder, sys, timers, tty, url, util, vm, and zlib. However, we know that certain built-ins are popular, given that many users have files that are shared between their Cypress tests and node context. Because of this, @cypress/webpack-batteries-included-preprocessor will ship with built-in support for buffer, path, process, os, and stream. If there is a built-in that isn't supported by default and you need to add support, please refer to the Webpack resolve.fallback documentation and the @cypress/webpack-batteries-included-preprocessor README. Addresses #31039."