I'm extremely new to Gulp. I'm basically trying to watch for a modified JavaScript file, and then make a new copy of it with a new name. (eventually there'll be some processing on it, but Rome wasn't built in a day).
My (naive) attempt is this:
gulp.task('default', function() {
return gulp.watch('../**/**.js', function(obj){
gulp.src(obj.path)
.pipe(gulp.dest('foobar.js'));
});
});
This takes the modified file and successfully copies it into a folder now called foobar.js. Is there anything simple I can replace gulp.dest('foobar.js')
with that will simply copy and rename the src file in place?
EDIT
By copy in place, I mean I want to take the modified file, and make a copy of it right where it currently is with a new name. The equivalent of clicking the file (in windows) and hitting control-c control-v, then renaming the resulting file.
I'm not 100% certain what you mean by
But, based on your current code, if you simply wish to:
.js
files in the parent directory andcwd
(current working directory) andThen you could use gulp-rename to do just that:
In this case, the output filename is
newFileName.js
In order to use the module, you'll need to install the
gulp-rename
package with npm (ie:npm install gulp-rename
).More examples are available on the package details page on npm @ https://www.npmjs.com/package/gulp-rename#usage
It wasn't pretty getting there, but in the end it appears this is what I want (with some ES6 transpiling in the middle).
The key appears to be the options object with a base property in the call to
src
. That seems to be what's needed to maintain the path of the current file in the call todest
.