Open ghost opened 2 years ago
I've also been investigating this, in our case we do not use vite, but it seems to be related to babel 7 switching from source-map
to @jridgewell/gen-mapping
here:
https://github.com/babel/babel/blob/main/CHANGELOG.md#v71710-2022-04-29
After some poking around I also narrowed it down to something in babel (noticed coverage working again after downgrading a few packages). Thanks for that link. Wonder if this is outside scope of vue-jest then?
I'm not really sure, I tried stepping through https://github.com/vuejs/vue-jest/blob/master/packages/vue2-jest/lib/generate-source-map.js and it seemed like it was not able to find the originalLine for many lines in the file.
And from investigating the jest transforms cache an indicator of this problem is that the source map for the version with incorrect coverage does not have as much mapping data as the version with correct coverage.
Its possible that vue-jest could address this by switching to https://github.com/jridgewell/trace-mapping instead of source-map
or by using https://www.npmjs.com/package/@ampproject/remapping ?
same problem on my application for several weeks. It's really very blocking. Do we have a solution?
Any update?
I've also been investigating this, in our case we do not use vite, but it seems to be related to babel 7 switching from
source-map
to@jridgewell/gen-mapping
here:https://github.com/babel/babel/blob/main/CHANGELOG.md#v71710-2022-04-29
I have downgraded my @babel/core
to 7.17.9 just before switched to @jridgewell/gen-mapping
on 7.17.10 but it seems no luck
Anyone with a proposed solution much appreciated
I've also been investigating this, in our case we do not use vite, but it seems to be related to babel 7 switching from
source-map
to@jridgewell/gen-mapping
here: https://github.com/babel/babel/blob/main/CHANGELOG.md#v71710-2022-04-29I have downgraded my
@babel/core
to 7.17.9 just before switched to@jridgewell/gen-mapping
on 7.17.10 but it seems no luckAnyone with a proposed solution much appreciated
Downgrading to 7.17.9 does not work because in @babel/core
they did not freeze their dependencies. If you have a project that work, just make sure you don't upgrade @babel/core
dependencies: removing and recreating your package-lock.json
leads to issue. :(
My really ugly workaround is to to prevent @babel/generator
to update to a buggy version. So I added inside my package.json
:
"overrides": {
"@babel/generator": "<7.17.9"
}
Then doing an npm install
fixes broken package-lock.json
.
Be careful with this fix, because it forces a version of one dependency inside @babel/core
which seems to rely on consistent versions : this workaround could not work or break your project: don't forget to remove the override part from your package.json
when this issue is fixed.
Maybe knowing where the issue comes from more precisely will help maintainers?
Edit: This solution works only for npm > 8.3.0 as overrides were introduced in this version. If you still use an older version, you can use @AnthonyRuelle solution If you use yarn, you can use @BenShelton solution
I'm also having this issue. Is the above PR being considered for a resolution here?
Same issue
Same issue
Same issue ... 😩
Le mar. 26 juil. 2022 à 08:34, Yurii Rekechuk @.***> a écrit :
Same issue
— Reply to this email directly, view it on GitHub https://github.com/vuejs/vue-jest/issues/480#issuecomment-1195064330, or unsubscribe https://github.com/notifications/unsubscribe-auth/AWJ7JAH32ITDVPH2NZILRBTVV6BFPANCNFSM5ZOORPAA . You are receiving this because you are subscribed to this thread.Message ID: @.***>
Using yarn we were able to fix this by locking both versions of @babel/core
and @babel/generator
to 7.17.9
(thanks to the suggestion from @udebella )
"devDependencies": {
"@babel/core": "7.17.9"
},
"resolutions": {
"@babel/generator": "7.17.9"
},
We only use babel for jest so this doesn't have any other side effects for us, YMMV.
Any solution how to fix this? Non of the SFC file Githubissues.
I've been trying to get jest to work properly with a Vue 2 + Vite project. Jest reports pass/fail as I would expect, but the coverage report seems incorrect. Link to the repro here: https://github.com/qkjosh/vue-jest-coverage
package.json
Given an incomplete test suite, the coverage report indicates 100% coverage and seems to treat the whole SFC component as one statement. Do I have something completely misconfigured, or is the coverage report broken?