Use path.resolve for resolving paths (#28905)

GitOrigin-RevId: 8f549b410ebf35e330a472fd4de1e3343747794e
This commit is contained in:
Alf Eaton
2025-10-09 13:23:28 +01:00
committed by Copybot
parent bbfeb5bec3
commit 943af3cd6f
3 changed files with 8 additions and 5 deletions
+1
View File
@@ -52822,6 +52822,7 @@
"nock": "^13.5.6",
"nvd3": "^1.8.6",
"p-reflect": "^3.1.0",
"path-browserify": "^1.0.1",
"pdfjs-dist": "5.1.91",
"pirates": "^4.0.1",
"postcss": "^8.4.31",
@@ -2,6 +2,7 @@ import pLimit from 'p-limit'
import { Change, Chunk, Snapshot, File } from 'overleaf-editor-core'
import { RawChange, RawChunk } from 'overleaf-editor-core/lib/types'
import { FetchError, getJSON, postJSON } from '@/infrastructure/fetch-json'
import path from 'path-browserify'
const DOWNLOAD_BLOBS_CONCURRENCY = 10
@@ -101,21 +102,21 @@ export class ProjectSnapshot {
const snapshotPaths = new Set(this.snapshot.getFilePathnames())
const baseURLs = [
const basePaths = [
// relative to the root of the compile directory
new URL('https://overleaf.invalid'),
'/',
]
if (currentPath !== '/') {
// relative to the current directory
baseURLs.push(new URL(currentPath, 'https://overleaf.invalid'))
basePaths.push(currentPath)
}
const extensionsToTest = ['', ...extensions]
for (const baseURL of baseURLs) {
for (const basePath of basePaths) {
for (const extension of extensionsToTest) {
const { pathname } = new URL(`${filePath}${extension}`, baseURL)
const pathname = path.resolve(basePath, `${filePath}${extension}`)
const snapshotPath = pathname.substring(1) // remove leading slash
if (snapshotPaths.has(snapshotPath)) {
return snapshotPath
+1
View File
@@ -351,6 +351,7 @@
"mock-fs": "^5.1.2",
"nock": "^13.5.6",
"nvd3": "^1.8.6",
"path-browserify": "^1.0.1",
"p-reflect": "^3.1.0",
"pdfjs-dist": "5.1.91",
"pirates": "^4.0.1",