NPM gulp-rename Package


Gulp-Rename

Installation

npm install --save-dev gulp-rename

Usage

var rename = require('gulp-rename');

gulp.task('default', function () {
  gulp.src('src/my-file.js')
    .pipe(rename(function (path) {
      path.basename += '-copy';
    }))
    .pipe(gulp.dest('dist'));
});

Implementation Guide

The gulp-rename plugin provides a way to rename files as they pass through the pipeline. It takes a function as its only argument, which is passed the path object of the file being processed.

The function can then modify the path object to change the filename, extension, or both.

Here are some examples of how you can use the gulp-rename plugin:

  • To rename a file to my-new-file.js:
gulp.src('src/my-file.js')
  .pipe(rename('my-new-file.js'))
  .pipe(gulp.dest('dist'));
  • To append a suffix to a filename:
gulp.src('src/my-file.js')
  .pipe(rename(function (path) {
    path.basename += '-copy';
  }))
  .pipe(gulp.dest('dist'));
  • To change the extension of a file:
gulp.src('src/my-file.js')
  .pipe(rename({extname: '.coffee'}))
  .pipe(gulp.dest('dist'));
  • To use a regular expression to replace part of the filename:
gulp.src('src/my-file.js')
  .pipe(rename(function (path) {
    path.basename = path.basename.replace('-', '_');
  }))
  .pipe(gulp.dest('dist'));

Configuration Options

The gulp-rename plugin has the following configuration options:

  • basename: The new basename for the file.
  • dirname: The new dirname for the file.
  • extname: The new extension for the file.
  • prefix: A string to prepend to the filename.
  • suffix: A string to append to the filename.
  • transform: A function that takes the path object as an argument and returns a new path object.

Best Practices

Here are some best practices for using the gulp-rename plugin:

  • Use a clear and concise naming convention for your files.
  • Avoid using spaces in your filenames.
  • Use a consistent extension for files of the same type.
  • Test your rename rules before using them in a production environment.