🐛 Fixed the Chinese name issue

This commit is contained in:
Tw93
2025-09-17 19:11:58 +08:00
parent 2925b2f56b
commit e0db0ca2e4
2 changed files with 44 additions and 4 deletions

21
bin/utils/name.ts vendored
View File

@@ -15,7 +15,26 @@ export function generateLinuxPackageName(name: string): string {
}
export function generateIdentifierSafeName(name: string): string {
return name.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
const cleaned = name
.replace(/[^a-zA-Z0-9\u4e00-\u9fff]/g, '')
.toLowerCase();
if (cleaned === '') {
const fallback = Array.from(name)
.map(char => {
const code = char.charCodeAt(0);
if ((code >= 48 && code <= 57) || (code >= 65 && code <= 90) || (code >= 97 && code <= 122)) {
return char.toLowerCase();
}
return code.toString(16);
})
.join('')
.slice(0, 50);
return fallback || 'pake-app';
}
return cleaned;
}
export function generateWindowsFilename(name: string): string {