Skip to content

fix: patrones glob de .zipignore rotos por delimitador de regex#98

Merged
NeoRazorX merged 2 commits into
FacturaScripts:mainfrom
abdedarghal111:fix-zipignore-globs
Jul 13, 2026
Merged

fix: patrones glob de .zipignore rotos por delimitador de regex#98
NeoRazorX merged 2 commits into
FacturaScripts:mainfrom
abdedarghal111:fix-zipignore-globs

Conversation

@abdedarghal111

Copy link
Copy Markdown
Contributor

Bug

Los patrones con comodines (*, ?) del .zipignore no excluían nada al generar el zip con fsmaker zip, y cada fichero evaluado emitía un warning preg_match(): Unknown modifier ']'.

Por qué sucede

ZipGenerator::globToRegex() convierte * en [^/]*, pero construía la expresión regular con / como delimitador. La barra sin escapar dentro de la clase de caracteres cerraba la regex antes de tiempo, invalidándola.

Solución

Usar ~ como delimitador de la regex (y en el preg_quote correspondiente). Se añade además tests/ZipGeneratorTest.php cubriendo la generación del zip y el filtro de .zipignore (literales, globs, directorios, negaciones, caracteres especiales y casos degenerados); el test convierte cualquier warning de preg_match en fallo para que esta regresión no vuelva a pasar desapercibida.

@NeoRazorX
NeoRazorX merged commit c32b38c into FacturaScripts:main Jul 13, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants