1export function formatProjectFilePath(projectRoot, file) {
2    if (file == null) {
3        return '<unknown>';
4    }
5    return pathRelativeToPath(file.replace(/\\/g, '/'), projectRoot.replace(/\\/g, '/')).replace(/\?.*$/, '');
6}
7function pathRelativeToPath(path, relativeTo, sep = '/') {
8    const relativeToParts = relativeTo.split(sep);
9    const pathParts = path.split(sep);
10    let i = 0;
11    while (i < relativeToParts.length && i < pathParts.length) {
12        if (relativeToParts[i] !== pathParts[i]) {
13            break;
14        }
15        i++;
16    }
17    return pathParts.slice(i).join(sep);
18}
19export function getStackFormattedLocation(projectRoot, frame) {
20    const column = frame.column != null && parseInt(String(frame.column), 10);
21    const location = formatProjectFilePath(projectRoot, frame.file) +
22        (frame.lineNumber != null
23            ? ':' + frame.lineNumber + (column && !isNaN(column) ? ':' + (column + 1) : '')
24            : '');
25    return location;
26}
27//# sourceMappingURL=formatProjectFilePath.js.map