J'ai un projet comme celui-ci:
root
|-incl1
|-incl2
|- ...
|-excl1
|-excl2
|- .gitignore <-- keep this one
|- (other files) <-- exclude them
J'ai besoin d'écrire gulp.src()
qui inclura tous les dossiers sauf excl1
Et excl2
mais conservez le fichier .gitignore
.
Voici mon code qui ne fonctionne pas:
gulp.src([
baseDir + '/**',
'!' + baseDir + '/{excl1, excl1/**}'
'!' + baseDir + '/excl2/{**, !.gitignore}' // <-- doesn't work
], {dot: true})
Cela semble fonctionner:
gulp.src([
baseDir + '/**', // Include all
'!' + baseDir + '/excl1{,/**}', // Exclude excl1 dir
'!' + baseDir + '/excl2/**/!(.gitignore)', // Exclude excl2 dir, except .gitignore
], { dot: true });
Exclure un seul fichier de la correspondance globale était difficile car il n'y a pas d'exemples similaires dans les documents minimatch.
https://github.com/isaacs/minimatch
"Si le motif commence par un !
, alors il est annulé ".