diff --git a/packages/coverage-istanbul/package.json b/packages/coverage-istanbul/package.json index 1ec3f8f54dfe..b06da9b7bda1 100644 --- a/packages/coverage-istanbul/package.json +++ b/packages/coverage-istanbul/package.json @@ -50,7 +50,6 @@ "istanbul-lib-coverage": "catalog:", "istanbul-lib-instrument": "^6.0.3", "istanbul-lib-report": "catalog:", - "istanbul-lib-source-maps": "catalog:", "istanbul-reports": "catalog:", "magicast": "catalog:", "obug": "catalog:", @@ -62,6 +61,7 @@ "@types/istanbul-lib-report": "catalog:", "@types/istanbul-lib-source-maps": "catalog:", "@types/istanbul-reports": "catalog:", + "istanbul-lib-source-maps": "catalog:", "pathe": "catalog:", "vitest": "workspace:*" } diff --git a/packages/coverage-istanbul/rollup.config.js b/packages/coverage-istanbul/rollup.config.js index 381fe670ac82..33df8efd1507 100644 --- a/packages/coverage-istanbul/rollup.config.js +++ b/packages/coverage-istanbul/rollup.config.js @@ -27,7 +27,10 @@ const plugins = [ ...dtsUtils.isolatedDecl(), nodeResolve(), json(), - commonjs(), + commonjs({ + // "istanbul-lib-source-maps > @jridgewell/trace-mapping" is not CJS + esmExternals: ['@jridgewell/trace-mapping'], + }), oxc({ transform: { target: 'node18' }, }), diff --git a/patches/istanbul-lib-source-maps.patch b/patches/istanbul-lib-source-maps.patch new file mode 100644 index 000000000000..f606cd1a94e0 --- /dev/null +++ b/patches/istanbul-lib-source-maps.patch @@ -0,0 +1,43 @@ +diff --git a/CHANGELOG.md b/CHANGELOG.md +deleted file mode 100644 +index dad8c06aac26cb8cfced31da5f35ac8e95915f15..0000000000000000000000000000000000000000 +diff --git a/lib/get-mapping.js b/lib/get-mapping.js +index 187a02ed65104d8e3a058d6bfe7dc8bd7c285369..14d21ca5f933f3685e5b0a1be14dad6c9003fd76 100644 +--- a/lib/get-mapping.js ++++ b/lib/get-mapping.js +@@ -1,3 +1,5 @@ ++// Contains patch from https://github.com/istanbuljs/istanbuljs/pull/837 ++ + /* + Copyright 2015, Yahoo Inc. + Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. +@@ -36,13 +38,27 @@ function originalEndPositionFor(sourceMap, generatedEnd) { + // generated file end location. Note however that this position on its + // own is not useful because it is the position of the _start_ of the range + // on the original file, and we want the _end_ of the range. +- const beforeEndMapping = originalPositionTryBoth( ++ let beforeEndMapping = originalPositionTryBoth( + sourceMap, + generatedEnd.line, + generatedEnd.column - 1 + ); + if (beforeEndMapping.source === null) { +- return null; ++ // search the previous lines as the mapping was not found on the same line ++ for ( ++ let line = generatedEnd.line; ++ line > 0 && beforeEndMapping.source === null; ++ line-- ++ ) { ++ beforeEndMapping = originalPositionTryBoth( ++ sourceMap, ++ line, ++ Infinity ++ ); ++ } ++ if (beforeEndMapping.source === null) { ++ return null; ++ } + } + + // Convert that original position back to a generated one, with a bump diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 14cc9738bd1e..70a10d458120 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -140,6 +140,9 @@ patchedDependencies: cac@6.7.14: hash: a8f0f3517a47ce716ed90c0cfe6ae382ab763b021a664ada2a608477d0621588 path: patches/cac@6.7.14.patch + istanbul-lib-source-maps: + hash: be977704c4b9838da456619fe2421b5e24df2103a25967bd383b2246c88ddf6e + path: patches/istanbul-lib-source-maps.patch importers: @@ -595,9 +598,6 @@ importers: istanbul-lib-report: specifier: 'catalog:' version: 3.0.1 - istanbul-lib-source-maps: - specifier: 'catalog:' - version: 5.0.6 istanbul-reports: specifier: 'catalog:' version: 3.2.0 @@ -626,6 +626,9 @@ importers: '@types/istanbul-reports': specifier: 'catalog:' version: 3.0.4 + istanbul-lib-source-maps: + specifier: 'catalog:' + version: 5.0.6(patch_hash=be977704c4b9838da456619fe2421b5e24df2103a25967bd383b2246c88ddf6e) pathe: specifier: 'catalog:' version: 2.0.3 @@ -15091,7 +15094,7 @@ snapshots: make-dir: 4.0.0 supports-color: 7.2.0 - istanbul-lib-source-maps@5.0.6: + istanbul-lib-source-maps@5.0.6(patch_hash=be977704c4b9838da456619fe2421b5e24df2103a25967bd383b2246c88ddf6e): dependencies: '@jridgewell/trace-mapping': 0.3.31 debug: 4.4.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index d4da210056bc..6d397c7a3869 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -41,6 +41,7 @@ patchedDependencies: '@types/sinonjs__fake-timers@8.1.5': patches/@types__sinonjs__fake-timers@8.1.5.patch acorn@8.11.3: patches/acorn@8.11.3.patch cac@6.7.14: patches/cac@6.7.14.patch + istanbul-lib-source-maps: patches/istanbul-lib-source-maps.patch catalog: '@iconify-json/carbon': ^1.2.14 '@iconify-json/logos': ^1.2.10