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