traduccion sangre node node.js gulp glob minimatch

node.js - sangre - glob stock



Glob/minimatch: cómo gulp.src() todo, luego excluye la carpeta pero guarda un archivo en ella (1)

Tengo un proyecto como este:

root |-incl1 |-incl2 |- ... |-excl1 |-excl2 |- .gitignore <-- keep this one |- (other files) <-- exclude them

Necesito escribir gulp.src() que incluirá todas las carpetas excepto excl1 y excl2 pero conserve el archivo .gitignore .

Este es mi código que no funciona:

gulp.src([ baseDir + ''/**'', ''!'' + baseDir + ''/{excl1, excl1/**}'' ''!'' + baseDir + ''/excl2/{**, !.gitignore}'' // <-- doesn''t work ], {dot: true})


Esto parece funcionar:

gulp.src([ baseDir + ''/**'', // Include all ''!'' + baseDir + ''/excl1{,/**}'', // Exclude excl1 dir ''!'' + baseDir + ''/excl2/**/!(.gitignore)'', // Exclude excl2 dir, except .gitignore ], { dot: true });

Excluir un solo archivo de la coincidencia global fue complicado porque no hay ejemplos similares en documentos de minimatch.

https://github.com/isaacs/minimatch

"Si el patrón comienza con un carácter ! Entonces se niega".