fix: handle case-insensitive path comparison in glob tool on Windows

This commit is contained in:
xuewenjie
2025-12-08 10:58:50 +08:00
parent b4be2c6c7f
commit 0a8281f2dd
2 changed files with 45 additions and 2 deletions

View File

@@ -134,12 +134,19 @@ class GlobToolInvocation extends BaseToolInvocation<
this.getFileFilteringOptions(),
);
const normalizePathForComparison = (p: string) =>
process.platform === 'win32' ? p.toLowerCase() : p;
const filteredAbsolutePaths = new Set(
filteredPaths.map((p) => path.resolve(this.config.getTargetDir(), p)),
filteredPaths.map((p) =>
normalizePathForComparison(
path.resolve(this.config.getTargetDir(), p),
),
),
);
const filteredEntries = allEntries.filter((entry) =>
filteredAbsolutePaths.has(entry.fullpath()),
filteredAbsolutePaths.has(normalizePathForComparison(entry.fullpath())),
);
if (!filteredEntries || filteredEntries.length === 0) {