Structude de départ :
svgs/
  fileA.svg
  fileB.svg.bkp
  spr-A.svg
  dir1/
    file1A.svg
    file1B.svg
  spr-dir2/
    file2A.svg
    file2B.svg
Structude souhaitée après la copie :
svgs/
  fileA.svg
  spr-A.svg
  dir1/
    file1A.svg
    file1B.svg
Tache Gulp simplifiée :
gulp.task('svgs', (done) => {
    return gulp.src([
    	'svgs/**/*',
      '!svgs/**/*.bkp',
      '!svgs/**/spr-*/',
      '!svgs/**/spr-*/**/*',
    ])
    .pipe(gulp.dest('svgs'));
});
Résultat : Le fichier spr-A.svg a été retiré par la règle !svgs/**/spr-*/ alors que celui-ci
a été écrite de façon à n'exclure que les répertoires.
svgs/
  fileA.svg
  dir1/
    file1A.svg
    file1B.svg
Après quelques recherches, il semble que gulp.src soit basé sur glob mais contrairement à ce dernier,
gulp.src ne tient pas compte du / final pour faire la différence entre un fichier et un répertoire.
J'ai loupé un truc ?
Merci Seb 😃
Il semble que ça soit bien un problème avec Glob car
svgs/**/spr-*/et!svgs/**/spr-*/me retourne la même chose…J'ai finalement privilégié une solution plus "radicale" :