🐛 Support Chinese naming and fix the use of local icons

This commit is contained in:
Tw93
2025-09-16 10:20:50 +08:00
parent dd11c6dd7a
commit 6aaa9a4517
4 changed files with 59 additions and 23 deletions

34
bin/utils/name.ts vendored Normal file
View File

@@ -0,0 +1,34 @@
export function generateSafeFilename(name: string): string {
return name
.replace(/[<>:"/\\|?*]/g, '_')
.replace(/\s+/g, '_')
.replace(/\.+$/g, '')
.slice(0, 255);
}
export function generateLinuxPackageName(name: string): string {
return name
.toLowerCase()
.replace(/[^a-z0-9\u4e00-\u9fff]+/g, '-')
.replace(/^-+|-+$/g, '')
.replace(/-+/g, '-');
}
export function generateIdentifierSafeName(name: string): string {
return name
.replace(/[^a-zA-Z0-9]/g, '')
.toLowerCase();
}
export function generateWindowsFilename(name: string): string {
return name
.replace(/[<>:"/\\|?*]/g, '_')
.replace(/^(CON|PRN|AUX|NUL|COM[1-9]|LPT[1-9])$/i, '${name}_')
.slice(0, 255);
}
export function generateMacOSFilename(name: string): string {
return name
.replace(/[:]/g, '_')
.slice(0, 255);
}