Closed zbigniewkalinowski closed 3 years ago
This is my test code that is crashing :)
describe('00-00 Test', () => {
it('Test', () => {
console.log('test')
})
})
As I wrote - those tests are working fine in 5.3.0 version of Cypress
Also, there is no such code in Cypress repo. Maybe the issue is from the plugins you are using.
You should provide a reproducible example, so someone can look at the error.
I created a project similar to our production project. It's also crashing. https://github.com/zbigniewkalinowski/cypress_crash
I was able to reproduce the issue using your provided project. The error originates from "tsconfig-paths-webpack-plugin" package, in file "node_modules\tsconfig-paths-webpack-plugin\lib\plugin.js".
This is a regression in 5.4.0. I suspect this is related to https://github.com/cypress-io/cypress/pull/8826 which caused these other issues: https://github.com/cypress-io/cypress/issues/9145 and https://github.com/cypress-io/cypress/issues/8864 I can reproduce this with the following code:
spec.ts
it('Test', () => { })
tsconfig.json
in root path
{
"compilerOptions": {
"baseUrl": "./",
"paths": {
"src/*": [
"src/*"
]
}
}
}
package.json
{
"devDependencies": {
"cypress": "6.0.0",
"typescript": "^4.1.2"
}
}
@jennifer-shehane any progress with this ticket?
@jennifer-shehane same here, it would be nice to see some love in this issue.
Internal Jira issue: TR-661
I've been doing some digging and think I got to the bottom of this.
The cause of the issue is setting "baseUrl": "./"
combined with the the existence of tsconfig-paths.json
at the root of the project. Setting the baseUrl changes TypeScript lookup resolution, causing it to look for files starting at the root of the project instead of looking in node_modules
first. When tsconfig-paths-webpack-plugin
packages tries to require('tsconfig-paths')
, it ends up getting tsconfig-paths.json
instead of the actual tsconfig-paths
package.
I had to deal with this in our default preprocessor, which uses a package called tsconfig
. Of course every TS project has a tsconfig.json
, so if baseUrl was set to "./", it would load the json file instead of the package. I worked around it by aliasing the tsconfig
package to tsconfig-package
.
Unfortunately, I don't think we can do the same in this case, since it's a transient dependency, relied on indirectly by tsconfig-paths-webpack-plugin
.
I think the only solution is to rename tsconfig-paths.json
to something that won't conflict.
It works - thank you :)
Cypress is crashing with following message:
The same in testrunner:
This test file is running correctly in cypress 5.3.0 version and lower. Please help me!
Test code to reproduce
package.json file:
index.js file:
tsconfig-paths.json file:
tsconfig.json file:
Versions
node: 14.15.1 typescript: 4.1.2 cypress: 5.4.0 and higher windows10 and MacOS
Last working cypress version: 5.3.0