gulp-rename is a gulp plugin to rename files easily.
gulp-rename provides simple file renaming methods.
var rename = require("gulp-rename");
// rename via string
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 function
gulp.src("./src/**/hello.txt")
.pipe(rename(function (path) {
path.dirname += "/ciao";
path.basename += "-goodbye";
path.extname = ".md";
return path;
}))
.pipe(gulp.dest("./dist")); // ./dist/main/text/ciao/hello-goodbye.md
// rename via hash
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 bygulp.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 abase
option, which can be used to explicitly set the base.gulp.dest()
renames the directories betweenprocess.cwd()
anddirname
(i.e. the base relative to CWD). Usedirname
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).