gix-sanitize-filename
    TypeScript icon, indicating that this package has built-in type declarations

    1.6.11 • Public • Published

    sanitize-filename build status

    Guillaume Extention

    • French accent removal
    • Single quote replaced by underscore

    Original Distribution Readme


    Sanitize a string to be safe for use as a filename by removing directory paths and invalid characters.

    Install

    npm: sanitize-filename

    npm install sanitize-filename
    

    Example

    var sanitize = require("sanitize-filename");
     
    // Some string that may be unsafe or invalid as a filename
    var UNSAFE_USER_INPUT = "~/.\u0000ssh/authorized_keys";
     
    // Sanitize the string to be safe for use as a filename.
    var filename = sanitize(UNSAFE_USER_INPUT);
    // -> "~.sshauthorized_keys"

    Details

    sanitize-filename removes the following:

    • Control characters (0x000x1f and 0x800x9f)
    • Reserved characters (/, ?, <, >, \, :, *, |, and ")
    • Unix reserved filenames (. and ..)
    • Trailing periods and spaces (for Windows)
    • Windows reserved filenames (CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, and LPT9)

    The resulting string is truncated to 255 bytes in length. The string will not contain any directory paths and will be safe to use as a filename.

    Empty String "" Result

    An empty string "" can be returned. For example:

    var sanitize = require("sanitize-filename");
    sanitize("..")
    // -> ""
     

    Non-unique Filenames

    Two different inputs can return the same value. For example:

    var sanitize = require("sanitize-filename");
    sanitize("file?")
    // -> "file"
    sanitize ("*file*")
    // -> "file"

    File Systems

    Sanitized filenames will be safe for use on modern Windows, OS X, and Unix file systems (NTFS, ext, etc.).

    FAT 8.3 filenames are not supported.

    Test Your File System

    The test program will use various strings (including the Big List of Naughty Strings) to create files in the working directory. Run npm test to run tests against your file system.

    API

    sanitize(inputString, [options])

    Sanitize inputString by removing or replacing invalid characters.

    Options:

    • options.replacement: optional, string/function, default: "". If passed as a string, it's used as the replacement for invalid characters. If passed as a function, the function will be called with the invalid characters and it's return value will be used as the replacement. See String.prototype.replace for more info.

    Install

    npm i gix-sanitize-filename

    DownloadsWeekly Downloads

    11

    Version

    1.6.11

    License

    WTFPL OR ISC

    Unpacked Size

    18.4 kB

    Total Files

    12

    Last publish

    Collaborators

    • jgi