🐛 Support Chinese naming and fix the use of local icons
This commit is contained in:
34
bin/utils/name.ts
vendored
Normal file
34
bin/utils/name.ts
vendored
Normal 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);
|
||||
}
|
||||
Reference in New Issue
Block a user