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" :