(path1?: string, path2?: string)
| 54 | |
| 55 | // Safe path comparison that works across different platforms |
| 56 | export function arePathsEqual(path1?: string, path2?: string): boolean { |
| 57 | if (!path1 && !path2) { |
| 58 | return true |
| 59 | } |
| 60 | if (!path1 || !path2) { |
| 61 | return false |
| 62 | } |
| 63 | |
| 64 | path1 = normalizePath(path1) |
| 65 | path2 = normalizePath(path2) |
| 66 | |
| 67 | if (process.platform === "win32") { |
| 68 | return path1.toLowerCase() === path2.toLowerCase() |
| 69 | } |
| 70 | return path1 === path2 |
| 71 | } |
| 72 | |
| 73 | function normalizePath(p: string): string { |
| 74 | // normalize resolve ./.. segments, removes duplicate slashes, and standardizes path separators |
no test coverage detected