Improve getUnusedFilename parsing

Co-authored-by: Fedor Indutny <79877362+indutny-signal@users.noreply.github.com>
This commit is contained in:
automated-signal 2025-09-26 15:26:13 -05:00 committed by GitHub
commit c36c0c4ef7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -291,11 +291,12 @@ export const getUnusedFilename = ({
filename: string;
baseDir?: string;
}): string => {
if (baseDir == null || !existsSync(join(baseDir, filename))) {
return filename;
const { ext, name: mainFilename, base } = pathParse(filename);
if (baseDir == null || !existsSync(join(baseDir, base))) {
return base;
}
const { ext, name: mainFilename } = pathParse(filename);
for (let n = 1; n < GET_UNUSED_FILENAME_MAX_ATTEMPTS; n += 1) {
const nextFilename = `${mainFilename}-${n}${ext}`;
if (!existsSync(join(baseDir, nextFilename))) {