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 ?
Ahaha effectivement c'est beaucoup plus radical :D L'important c'est que ça fonctionne même si on aimerait que tout soit toujours parfait…