node.js - gulp Copy from multiple locations, dont preserve structure -


im trying copy files multiple locations, 1 central location using gulp. dont want preserve directory path strucure being copied except directories within 1 im copying (hopefully makes sense).

so in example want preserve structure found in images directory.

i have:

    var files = [         'path/to/wp/my-mu-plugins/**/build/theme/images/**/*',         'path/to/wptheme/build/theme/images/**/*',         'bower_components/jquery-ui/themes/base/images/**/*',         'bower_components/jquery-ui/themes/ui-lightness/images/**/*',     ];      return gulp.src(files)         .pipe(gulp.dest('public_html/assets/images/')); 

i have tried different combination's of altering basename, base, dir , using glob pull them in - end either either flat structure or entire structure im copying from.

what combination of wizardy need achieve - or not possible?

thanks =)

edit: think issue path/to/wp/my-mu-plugins/** paths, that's trouble starts...

when writing dest() location gulp strips away base path path of every file. if no explicit base path provided, gulp (actually vinyl-fs) assumes first glob base path.

in case means 'path/to/wp/my-mu-plugins/' assumed base path matching 'path/to/wp/my-mu-plugins/**/build/theme/images/**/*'.

while can specify explicit base path using base option src() isn't of use you, since base option doesn't support globbing , don't know or how many subdirectories match 'my-mu-plugins/**'.

however can use base option disable default behavior , strip , including /images/ folder path using gulp-rename:

gulp.task('default', function() {   return gulp.src(files, { base:'./' })     .pipe(rename(function(path) {       path.dirname = path.dirname.replace(/(.*)?\/images\/?/, '');     }))     .pipe(gulp.dest('public_html/assets/images/')); }); 

Comments

Popular posts from this blog

javascript - jQuery: Add class depending on URL in the best way -

caching - How to check if a url path exists in the service worker cache -

Redirect to a HTTPS version using .htaccess -