import {normalizeFilePath} from './path-utils' export const DEFAULT_LOCALE = 'en-US' export function getExceptionSource( stackTrace: string, trackedFiles: string[], getRelativePath: (str: string) => string ): {path: string; line: number} | undefined { const lines = stackTrace.split(/\r?\n/) const re = /\((.*):(\d+):\d+\)$/ for (const str of lines) { const match = str.match(re) if (match !== null) { const [_, fileStr, lineStr] = match const filePath = normalizeFilePath(fileStr) if (filePath.startsWith('internal/') || filePath.includes('/node_modules/')) { continue } const path = getRelativePath(filePath) if (!path) { continue } if (trackedFiles.includes(path)) { const line = parseInt(lineStr) return {path, line} } } } }