MCPcopy
hub / github.com/vitest-dev/vitest / extractLocation

Function extractLocation

packages/utils/src/source-map.ts:47–76  ·  view source on GitHub ↗
(urlLike: string)

Source from the content-addressed store, hash-verified

45const REGEXP_VITEST = new RegExp(`vitest=\\d{${NOW_LENGTH}}`)
46
47function extractLocation(urlLike: string) {
48 // Fail-fast but return locations like "(native)"
49 if (!urlLike.includes(':')) {
50 return [urlLike]
51 }
52
53 const regExp = /(.+?)(?::(\d+))?(?::(\d+))?$/
54 const parts = regExp.exec(urlLike.replace(/^\(|\)$/g, ''))
55 if (!parts) {
56 return [urlLike]
57 }
58 let url = parts[1]
59 if (url.startsWith('async ')) {
60 url = url.slice(6)
61 }
62 if (url.startsWith('http:') || url.startsWith('https:')) {
63 const urlObj = new URL(url)
64 urlObj.searchParams.delete('import')
65 urlObj.searchParams.delete('browserv')
66 url = urlObj.pathname + urlObj.hash + urlObj.search
67 }
68 if (url.startsWith('/@fs/')) {
69 const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url)
70 url = url.slice(isWindows ? 5 : 4)
71 }
72 if (url.includes('vitest=')) {
73 url = url.replace(REGEXP_VITEST, '').replace(/[?&]$/, '')
74 }
75 return [url, parts[2] || undefined, parts[3] || undefined]
76}
77
78export function parseSingleFFOrSafariStack(raw: string): ParsedStack | null {
79 let line = raw.trim()

Callers 2

parseSingleV8StackFunction · 0.85

Calls 2

deleteMethod · 0.45
testMethod · 0.45

Tested by

no test coverage detected