exclude additional files and directories from final package #58
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Artifact Size Optimization Analysis
Summary
Date: October 22, 2025
Current artifact size: 332MB (1.1GB uncompressed)
Estimated reduction: ~40-50% (saving ~130-165MB)
Analysis Results
Space Usage Breakdown
apps-external/: 1.1GB (largest component)
3rdparty/: 93M
dist/: 72M
apps/: 58M
core/: 25M
lib/: 17M
Major Space Wasters Identified
1. Source Map Files (*.map) - 535MB 🔴
CRITICAL: These debugging files account for the largest waste.
*.mapfiles2. Test Directories - ~20MB+
tests/,test/,__tests__/,spec/mail/vendor/wamania/php-stemmer/test: 18M3. Documentation Files - ~5-10MB
*.mdfiles (README, CHANGELOG): 5.2MBLICENSE*,COPYING*,CHANGELOG*: 1,416 files4. Development Configuration Files - ~2-5MB
.eslintrc*,.prettierrc*,.babelrc*tsconfig*.json,phpunit.xml*,phpstan.neon*.gitignore,.gitattributes,.npmignorewebpack*.js,rollup*.js,vite*.js,Gruntfile.jsExclusions Added to Makefile
The following exclusions were added to the
zip_dependenciestarget:JavaScript/TypeScript Development Files
PHP Development Files
Test Directories
Documentation Files
Editor and Linter Configs
CI/CD Files
Expected Results
Size Reduction Breakdown
Estimated Final Size
What's Still Included (Production Files Only)
✅ Compiled JavaScript bundles (dist/, js/ directories)
✅ PHP source code (lib/, apps/, apps-external/)
✅ Composer vendor dependencies (without test directories)
✅ Images, icons, and assets
✅ Configuration files needed at runtime
✅ Root-level LICENSE and documentation files
✅ All production code and dependencies
Validation
To validate the optimization:
Build a new artifact:
Check the new size:
Verify contents (should NOT contain):
Benefits
Notes