[wp-trac] [WordPress Trac] #64734: WordPress ZIP size grew 20MB in 7.0 due to adding the vips library
WordPress Trac
noreply at wordpress.org
Tue Mar 17 20:51:25 UTC 2026
#64734: WordPress ZIP size grew 20MB in 7.0 due to adding the vips library
------------------------------------+------------------------------
Reporter: berislav.grgicak | Owner: adamsilverstein
Type: defect (bug) | Status: reopened
Priority: high | Milestone: 7.0
Component: General | Version: trunk
Severity: major | Resolution:
Keywords: dev-feedback has-patch | Focuses:
------------------------------------+------------------------------
Comment (by zieladam):
The latest filesize stats:
|| Variant || Compressed (zip) || Uncompressed ||
|| 6.9 || 27.6 MB || 72.6 MB ||
|| 7.0 beta 5 || 42.4 MB || 118.8 MB ||
== The ZIP file size
Beta 5 is about 15MB larger than 6.9.
=== The vips library
~10MB can be explained by the `vips` library. Without the `wp-
includes/js/dist/script-modules/vips/` directory, the zip is 32M. However,
if I remove just the `worker.min.js` file and zip again, the archive is
37MB. We've just saved 5MB!
I suggest deleting `worker.min.js` and always using `worker.js`. They're
approximately the same size and the benefit of keeping both seems
negligible versus making every Playground user download an additional 5MB.
I also wonder – what kind of size reduction could we get with a custom
build procedure for the WASM module? One that would remove all the code
paths WordPress doesn't rely on?
=== The rest of it
The remaining ~5MB out of that 15MB increase seems to come from a long
tail of other changes:
|| File || 6.9 || 7.0 || Change ||
|| `js/dist/components.js` || 2.4 MB || 3.8 MB || +1.4 MB ||
|| `js/dist/editor.js` + `.min.js` || 1.5 MB || 3.5 MB || +2.0 MB ||
|| `js/dist/block-editor.js` + `.min.js` || 3.1 MB || 3.8 MB || +0.6 MB
||
|| `js/dist/block-library.js` + `.min.js` || 3.2 MB || 3.7 MB || +0.5 MB
||
|| `js/dist/media-utils.js` + `.min.js` || 33 KB || 874 KB || +841 KB ||
|| `css/dist/block-library/` (per-block CSS split) || 880 KB || 4.0 MB
|| +3.1 MB ||
|| `css/dist/editor/` || 256 KB || 640 KB || +384 KB ||
|| `build/routes/` (new admin routing) || — || 5.5 MB || +5.5 MB ||
|| `icons/library/` (332 icon files) || — || 1.3 MB || +1.3 MB ||
|| `php-ai-client/` || — || 956 KB || +956 KB ||
|| New JS packages (sync, theme, upload-media, etc.) || — || ~820 KB ||
+820 KB ||
|| 66 new `.min.asset.php` dependency manifests || — || 264 KB || +264
KB ||
|| `codemirror/espree.min.js` || — || 247 KB || +247 KB ||
|| `build/pages/` || — || 140 KB || +140 KB ||
|| `ai-client/`, `collaboration/` || — || 80 KB || +80 KB ||
I don't see an easy solution to that ¯\_(ツ)_/¯
--
Ticket URL: <https://core.trac.wordpress.org/ticket/64734#comment:20>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list