34 lines
851 B
TypeScript
Vendored
34 lines
851 B
TypeScript
Vendored
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);
|
|
} |