Create symlinks during your gulp build.
NOTE: Breaking changes are introduced in 1.0.0. gulp-symlink has been rewritten with a simpler API, that takes the output directory and renamed file as a single parameter. Existing gulpfiles using the old API will break if this module is substituted for the 0.4.x releases. Please take care to read the new API docs for migrating over from older versions. Thank you.
Installation
Install via npm:
npm install gulp-symlink --save-dev
Example
var gulp = require('gulp');
var symlink = require('gulp-symlink');
gulp.task('default', function() {
return gulp.src('assets/some-large-video.mp4')
.pipe(symlink('build/videos'))
.pipe(symlink('build/videos/renamed-video.mp4'))
});
API
symlink(symlinkpath) or symlink.relative(symlinkpath)
Pass a string
or a function
to create the symlink. The function is passed the vinyl object, so you can use file.base
, file.path
etc. Just make sure you return a string that is the location and or filename of the new symlink. For example:
var path = require('path');
gulp.task('symlink', function() {
return gulp.src('assets/some-large-video.mp4')
.pipe(symlink(function(file) {
return path.join(file.base, 'build', file.relative.replace('some-large', ''));
}));
});
The string options work in the same way. If you pass a string like 'build/videos', the symlink will be created in that directory. If you pass 'build/videos/video.mp4', the symlink will also be renamed.
symlink.absolute(symlinkpath)
The exact same as symlink.relative
except this will create an absolute symlink instead.