1.0.2 • Published 7 months ago
@integral-de/filename-sanitizer v1.0.2
Filename Sanitizer
A JavaScript/TypeScript utility to sanitize filenames ensuring compatibility with S3 object key naming guidelines and general file system use.
Features
- Converts filenames to S3-compatible format
- Handles Unicode characters
- Replaces problematic characters with underscores
- Limits filename length considering UTF-8 encoding
- 100% test coverage
- Zero dependencies
- TypeScript type definitions included
Installation
npm install @integral-de/filename-sanitizerUsage
JavaScript (ES modules)
import { sanitizeFileName } from '@integral-de/filename-sanitizer';
const sanitized = sanitizeFileName('My File (1).txt');
console.log(sanitized); // Output: my_file_1.txtTypeScript
import { sanitizeFileName } from '@integral-de/filename-sanitizer';
const sanitized: string = sanitizeFileName('My File (1).txt');
console.log(sanitized); // Output: my_file_1.txtExamples
// Basic usage
sanitizeFileName('my file.txt') // -> 'my_file.txt'
// Unicode characters
sanitizeFileName('résumé.pdf') // -> 'resume.pdf'
// Special characters
sanitizeFileName('file(1)@{special}.txt') // -> 'file_1_special.txt'
// Long filenames
sanitizeFileName('a'.repeat(1000) + '.txt') // -> truncated to safe length
// Hidden files
sanitizeFileName('.env') // -> '.env'API
sanitizeFileName(fileName: string): string
Sanitizes a filename to ensure it's compatible with S3 object key naming guidelines.
Parameters
fileName(string): The original filename to sanitize
Returns
- (string): A sanitized filename safe for S3 storage
License
MIT