greenlion / PHP-SQL-Parser

A pure PHP SQL (non validating) parser w/ focus on MySQL dialect of SQL
BSD 3-Clause "New" or "Revised" License
609 stars 159 forks source link

Ideas to shrink the size of this library? #333

Open Luc45 opened 3 years ago

Luc45 commented 3 years ago

Howdy!

First of all, thanks for your effort in maintaining this OS project.

I wanted to use this in a WordPress plugin, but I'm afraid that 1.8mb might be too much for a library. This is the default structure when installing this plugin without require-dev: composer install greenlion/php-sql-parser:

➜  php-sql-parser git:(21-01/feat/site-snapshot) ✗ du -h --apparent-size ./ --max-depth=1
22K     ./examples
45K     ./wiki
882K    ./tests
725K    ./src
92K     ./libs
13K     ./.settings
1,8M    ./

I didn't look into it in-depth, but I think just the src folder is relevant for a developer that's just going to use PHP-SQL-Parser, right?

This is a common pitfall on Packagist, even Symfony includes tests folders in their packages. A shame, really.

Just tossing out this idea to see if someone can come up with a solution. Maybe a release branch with just src with GitHooks to Packagist?

Best, Lucas

stollr commented 11 months ago

Today it is possible to exclude directories and files per composer: https://getcomposer.org/doc/04-schema.md#archive This way tests could be removed from the package dist.