From 506250533025084deefe0850a611901a74a6ee34 Mon Sep 17 00:00:00 2001 From: chen zhihao <2490284538@qq.com> Date: Tue, 1 Sep 2026 10:58:12 +0800 Subject: [PATCH] fix: handle formatter paths relative to workspace --- scripts/utils.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/utils.ts b/scripts/utils.ts index 40108faeec..3f2717c9f1 100644 --- a/scripts/utils.ts +++ b/scripts/utils.ts @@ -46,7 +46,15 @@ export function normalizeURL(url: string): string { export function getStoragePath(filepath: string, rootDir: string): string { const root = path.resolve(rootDir) - const target = path.resolve(path.isAbsolute(filepath) ? filepath : path.join(root, filepath)) + const candidate = path.resolve(filepath) + const candidateRelative = path.relative(root, candidate) + const target = + path.isAbsolute(filepath) || + (candidateRelative !== '..' && + !candidateRelative.startsWith(`..${path.sep}`) && + !path.isAbsolute(candidateRelative)) + ? candidate + : path.resolve(root, filepath) const relative = path.relative(root, target) if (relative === '..' || relative.startsWith(`..${path.sep}`) || path.isAbsolute(relative)) {