newid

    0.5.0 • Public • Published

    newid

    Newid is Welsh for 'change', but it is pretty fitting for giving a file a new name, too.

    Installation

    To use the API:

    npm install --save newid

    To use the CLI and make the command newid available on your system:

    npm install -g newid

    Usage

    If there are any changes to be made, you'll get a list of the before and after. You'll have to confirm that you want to make all of the changes, unless you use the force flag.

    Supported Options

    • force - Renames matching files without being prompted
    • insensitive - Ignore case when finding matching files
    • help - Display usage help and immediately exit
    • slugify - Slugifies the file name, converting it to lowercase, replacing all non-English characters, and collapsing whitespace and separators into a single dash. (e.g., this filè_010.jpg => this-file-010.jpg)

    Supported placeholders

    • {basename} - The base name of the file
    • {extname} - The file extension excluding the .
    • {index} - The index the file will be processed in

    Supported placeholders - Timestamps

    All file timestamps can be formatted using valid Moment.js Formats. Use the | to separate the timestamp type from the format string. As an example, {atime | YYYY-MM-DD}

    • {atime} - The time at which the file was last accessed
    • {ctime} - The time at which the file was last changed, this can include file permission changes in addition to content changes.
    • {mtime} - Time time at which the file's contents were last modified
    • {birthtime} - The time at which the file was created

    API

    var newid = require('newid');
    newid('**/*.js', function (file) {
        // Adds the 'old' extension to all JavaScript files
        return file + '.old';
    }, {force: true});
    // Using the included transformer that parses placeholders: {basename}, {extname}, and {index}
    var newid = require('newid');
    newid('**/*.js', newid.transformer('{index}.{extname}'));

    CLI

    # Rename all JS files to end with .old 
    newid "**/*.js" {basename}.{extname}.old
     
    # Rename all matching files and inject their index into the new name using the {index} placeholder 
    newid "**/*.js" {basename}-{index}.{extname}
     
    # Rename all matching files to include its modification time, formatted as YYYY-MM-DD 
    newid "**/*.js" {basename}-{mtime | YYYY-MM-DD}.{extname}
     
    # Rename all matching files without being prompted (--force|-f) 
    newid "**/*.js" {basename}.{extname}.old --force
     
    # Rename all matching files regardless of case (--insensitive|-i) 
    newid "**/*.js" {basename}.{extname}.old --insensitive
     
    # Rename all matching files, converting them into slugs (--slugify|-s) 
    newid "**/*.js" "{basename} {extname}.old" --slugify

    Install

    npm i newid

    DownloadsWeekly Downloads

    5

    Version

    0.5.0

    License

    MIT

    Last publish

    Collaborators

    • nsand