Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
gulp-rename
Advanced tools
The gulp-rename package is a plugin for Gulp that allows you to rename files easily. It provides a simple way to change the name, extension, or path of files in your Gulp build process.
Rename a file
This feature allows you to rename a file. In this example, 'src/file.txt' is renamed to 'renamed-file.txt' and saved in the 'dist' directory.
const gulp = require('gulp');
const rename = require('gulp-rename');
gulp.task('rename', function() {
return gulp.src('src/file.txt')
.pipe(rename('renamed-file.txt'))
.pipe(gulp.dest('dist'));
});
Change file extension
This feature allows you to change the file extension. In this example, 'src/file.txt' is renamed to 'file.md' and saved in the 'dist' directory.
const gulp = require('gulp');
const rename = require('gulp-rename');
gulp.task('change-extension', function() {
return gulp.src('src/file.txt')
.pipe(rename({ extname: '.md' }))
.pipe(gulp.dest('dist'));
});
Rename with a function
This feature allows you to use a function to rename files. In this example, 'src/file.txt' is renamed to 'file-renamed.md' and saved in the 'dist' directory.
const gulp = require('gulp');
const rename = require('gulp-rename');
gulp.task('rename-function', function() {
return gulp.src('src/file.txt')
.pipe(rename(function (path) {
path.basename += '-renamed';
path.extname = '.md';
}))
.pipe(gulp.dest('dist'));
});
gulp-rev is a plugin for Gulp that allows you to append content hash to filenames, which is useful for cache busting. Unlike gulp-rename, which focuses on renaming files, gulp-rev is specifically designed for versioning files by appending a hash.
gulp-rename is a gulp plugin to rename files easily.
gulp-rename provides simple file renaming methods.
var rename = require("gulp-rename");
// rename to a fixed value
gulp.src("./src/main/text/hello.txt")
.pipe(rename("main/text/ciao/goodbye.md"))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/goodbye.md
// rename via mutating function
gulp.src("./src/**/hello.txt")
.pipe(rename(function (path) {
// Updates the object in-place
path.dirname += "/ciao";
path.basename += "-goodbye";
path.extname = ".md";
}))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/hello-goodbye.md
// rename via a map function
gulp.src("./src/**/hello.txt")
.pipe(rename(function (path) {
// Returns a completely new object, make sure you return all keys needed!
return {
dirname: path.dirname + "/ciao",
basename: path.basename + "-goodbye",
extname: ".md"
};
}))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/hello-goodbye.md
// rename via a fixed object
gulp.src("./src/main/text/hello.txt", { base: process.cwd() })
.pipe(rename({
dirname: "main/text/ciao",
basename: "aloha",
prefix: "bonjour-",
suffix: "-hola",
extname: ".md"
}))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/bonjour-aloha-hola.md
See test/rename.spec.js for more examples and test/path-parsing.spec.js for hairy details.
dirname
is the relative path from the base directory set by gulp.src
to the filename.
gulp.src()
uses glob-stream which sets the base to the parent of the first directory glob (*
, **
, [], or extglob). dirname
is the remaining directories or ./
if none. glob-stream versions >= 3.1.0 (used by gulp >= 3.2.2) accept a base
option, which can be used to explicitly set the base.gulp.dest()
renames the directories between process.cwd()
and dirname
(i.e. the base relative to CWD). Use dirname
to rename the directories matched by the glob or descendents of the base of option.basename
is the filename without the extension like path.basename(filename, path.extname(filename))
.extname
is the file extension including the .
like path.extname(filename)
.file
argument is provided with the whole context and original file value.Object
is returned then the passed parameter object (along with any modifications) is re-used.FAQs
Rename files
We found that gulp-rename demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.