@@ -18,9 +18,16 @@ function fixFilePaths(coverageData, fileLookup) {
18
18
return coverageData ;
19
19
}
20
20
21
- function writeCoverage ( coverage , fileLookup , map ) {
21
+ function writeCoverage ( coverage , fileLookup , root , map ) {
22
+ // Convert absolute paths (path to process.cwd + module path) to relative (module) paths, when necessary (babel >6)
23
+ // eg. /Users/user/apps/my-ember-app/my-ember-app/app.js => my-ember-app/app.js
24
+ const fixedCoverage = Object . keys ( coverage ) . reduce ( ( memo , filePath ) => {
25
+ const modulePath = path . relative ( root , filePath ) ;
26
+ memo [ modulePath ] = Object . assign ( { } , coverage [ filePath ] , { path : modulePath } ) ;
27
+ return memo ;
28
+ } , { } ) ;
22
29
Object . keys ( fileLookup ) . forEach ( filename => {
23
- let fileCoverage = coverage [ filename ] || istanbul . libCoverage . createFileCoverage ( filename ) . data ;
30
+ let fileCoverage = fixedCoverage [ filename ] || istanbul . libCoverage . createFileCoverage ( filename ) . data ;
24
31
map . addFileCoverage ( fixFilePaths ( fileCoverage , fileLookup ) ) ;
25
32
} ) ;
26
33
}
@@ -45,7 +52,7 @@ function reportCoverage(map, root, configPath) {
45
52
}
46
53
47
54
function coverageHandler ( map , options , req , res ) {
48
- writeCoverage ( req . body , options . fileLookup , map ) ;
55
+ writeCoverage ( req . body , options . fileLookup , options . root , map ) ;
49
56
reportCoverage ( map , options . root , options . configPath ) ;
50
57
res . send ( map . getCoverageSummary ( ) ) ;
51
58
}
0 commit comments