@vitest/utils 3.0.7 → 3.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/source-map.d.ts +1 -1
- package/dist/source-map.js +27 -13
- package/package.json +2 -2
package/dist/source-map.d.ts
CHANGED
@@ -123,7 +123,7 @@ declare function eachMapping(map: TraceMap, cb: (mapping: EachMapping) => void):
|
|
123
123
|
interface StackTraceParserOptions {
|
124
124
|
ignoreStackEntries?: (RegExp | string)[];
|
125
125
|
getSourceMap?: (file: string) => unknown;
|
126
|
-
|
126
|
+
getUrlId?: (id: string) => string;
|
127
127
|
frameFilter?: (error: ErrorWithDiff, frame: ParsedStack) => boolean | void;
|
128
128
|
}
|
129
129
|
declare function parseSingleFFOrSafariStack(raw: string): ParsedStack | null;
|
package/dist/source-map.js
CHANGED
@@ -821,7 +821,9 @@ function extractLocation(urlLike) {
|
|
821
821
|
}
|
822
822
|
if (url.startsWith("http:") || url.startsWith("https:")) {
|
823
823
|
const urlObj = new URL(url);
|
824
|
-
|
824
|
+
urlObj.searchParams.delete("import");
|
825
|
+
urlObj.searchParams.delete("browserv");
|
826
|
+
url = urlObj.pathname + urlObj.hash + urlObj.search;
|
825
827
|
}
|
826
828
|
if (url.startsWith("/@fs/")) {
|
827
829
|
const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url);
|
@@ -913,28 +915,40 @@ function createStackString(stacks) {
|
|
913
915
|
}
|
914
916
|
function parseStacktrace(stack, options = {}) {
|
915
917
|
const { ignoreStackEntries = stackIgnorePatterns } = options;
|
916
|
-
|
917
|
-
if (ignoreStackEntries.length) {
|
918
|
-
stacks = stacks.filter(
|
919
|
-
(stack2) => !ignoreStackEntries.some((p) => stack2.file.match(p))
|
920
|
-
);
|
921
|
-
}
|
918
|
+
const stacks = !CHROME_IE_STACK_REGEXP.test(stack) ? parseFFOrSafariStackTrace(stack) : parseV8Stacktrace(stack);
|
922
919
|
return stacks.map((stack2) => {
|
923
920
|
var _a;
|
924
|
-
if (options.
|
925
|
-
stack2.file = options.
|
921
|
+
if (options.getUrlId) {
|
922
|
+
stack2.file = options.getUrlId(stack2.file);
|
926
923
|
}
|
927
924
|
const map = (_a = options.getSourceMap) == null ? void 0 : _a.call(options, stack2.file);
|
928
925
|
if (!map || typeof map !== "object" || !map.version) {
|
929
|
-
return stack2;
|
926
|
+
return shouldFilter(ignoreStackEntries, stack2.file) ? null : stack2;
|
930
927
|
}
|
931
928
|
const traceMap = new TraceMap(map);
|
932
|
-
const { line, column } = originalPositionFor(traceMap, stack2);
|
929
|
+
const { line, column, source, name } = originalPositionFor(traceMap, stack2);
|
930
|
+
let file = stack2.file;
|
931
|
+
if (source) {
|
932
|
+
const fileUrl = stack2.file.startsWith("file://") ? stack2.file : `file://${stack2.file}`;
|
933
|
+
const sourceRootUrl = map.sourceRoot ? new URL(map.sourceRoot, fileUrl) : fileUrl;
|
934
|
+
file = new URL(source, sourceRootUrl).pathname;
|
935
|
+
}
|
936
|
+
if (shouldFilter(ignoreStackEntries, file)) {
|
937
|
+
return null;
|
938
|
+
}
|
933
939
|
if (line != null && column != null) {
|
934
|
-
return {
|
940
|
+
return {
|
941
|
+
line,
|
942
|
+
column,
|
943
|
+
file,
|
944
|
+
method: name || stack2.method
|
945
|
+
};
|
935
946
|
}
|
936
947
|
return stack2;
|
937
|
-
});
|
948
|
+
}).filter((s) => s != null);
|
949
|
+
}
|
950
|
+
function shouldFilter(ignoreStackEntries, file) {
|
951
|
+
return ignoreStackEntries.some((p) => file.match(p));
|
938
952
|
}
|
939
953
|
function parseFFOrSafariStackTrace(stack) {
|
940
954
|
return stack.split("\n").map((line) => parseSingleFFOrSafariStack(line)).filter(notNullish);
|
package/package.json
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"name": "@vitest/utils",
|
3
3
|
"type": "module",
|
4
|
-
"version": "3.0.
|
4
|
+
"version": "3.0.8",
|
5
5
|
"description": "Shared Vitest utility functions",
|
6
6
|
"license": "MIT",
|
7
7
|
"funding": "https://opencollective.com/vitest",
|
@@ -62,7 +62,7 @@
|
|
62
62
|
"dependencies": {
|
63
63
|
"loupe": "^3.1.3",
|
64
64
|
"tinyrainbow": "^2.0.0",
|
65
|
-
"@vitest/pretty-format": "3.0.
|
65
|
+
"@vitest/pretty-format": "3.0.8"
|
66
66
|
},
|
67
67
|
"devDependencies": {
|
68
68
|
"@jridgewell/trace-mapping": "^0.3.25",
|