pnpm uses the md5 path shortening function causes packet paths to coincide, which causes indirect packet overwriting
The path shortening function is used in pnpm: export function depPathToFilename (depPath: string, maxLengthWithoutHash: number): string { let filename = depPathToFilenameUnescaped(depPath).replace(/[\/:*?"<>|]/g, '+') if (filename.includes('(')) { filename = filename .replace(/)$/, '') .replace(/()()|(|)/g, '_') } if (filename.length > maxLengthWithoutHash || filename !== filename.toLowerCase() && !filename.startsWith('file+')) { return ${filename.substring(0, maxLengthWithoutHash - 27)}_${createBase32Hash(filename)}
} return filename } However, it uses the md5 function as a path shortening compression function, and if a collision occurs, …