I am using Rollup with Vite and vite-plugin-ssr.
The production build it produces with standard configuration includes a ton of tiny files, e.g.
dist/client/assets/chunk-adbd3755.js 0.69 KiB / gzip: 0.43 KiB
dist/client/assets/chunk-adbd3755.js.map 0.10 KiB
dist/client/assets/chunk-d703547b.js 2.35 KiB / gzip: 1.15 KiB
dist/client/assets/chunk-d703547b.js.map 7.79 KiB
dist/client/assets/chunk-860778e7.js 0.95 KiB / gzip: 0.51 KiB
dist/client/assets/chunk-860778e7.js.map 3.26 KiB
dist/client/assets/chunk-90693398.js 2.37 KiB / gzip: 0.94 KiB
dist/client/assets/chunk-90693398.js.map 10.18 KiB
dist/client/assets/chunk-a3b7c495.js 2.21 KiB / gzip: 1.04 KiB
dist/client/assets/chunk-a3b7c495.js.map 5.33 KiB
dist/client/assets/chunk-d321b675.js 0.67 KiB / gzip: 0.46 KiB
dist/client/assets/chunk-d321b675.js.map 4.34 KiB
dist/client/assets/chunk-c5fff223.js 0.36 KiB / gzip: 0.23 KiB
dist/client/assets/chunk-c5fff223.js.map 1.17 KiB
dist/client/assets/chunk-93f6d1e0.js 2.42 KiB / gzip: 0.93 KiB
dist/client/assets/chunk-93f6d1e0.js.map 6.81 KiB
dist/client/assets/chunk-84638231.js 0.90 KiB / gzip: 0.52 KiB
dist/client/assets/chunk-84638231.js.map 2.43 KiB
dist/client/assets/chunk-7b2a7fc5.js 16.33 KiB / gzip: 3.33 KiB
I am assuming this is determined by Rollup configuration, and I would like to force rollup to target producing chunks that are at least 5KiB in size, i.e. if there are multiple small chunks, they should be put in the same file.
How do I do that?
At the same time, there are a few very large chunks that would benefit from code splitting:
dist/client/assets/chunk-79a47c16.js 233.29 KiB / gzip: 65.45 KiB
dist/client/assets/chunk-79a47c16.js.map 1090.09 KiB
dist/client/assets/chunk-338b0152.js 295.43 KiB / gzip: 64.69 KiB
dist/client/assets/chunk-338b0152.js.map 726.44 KiB
dist/client/assets/chunk-4bad2a7c.js 850.46 KiB / gzip: 175.06 KiB
dist/client/assets/chunk-4bad2a7c.js.map 1842.03 KiB
dist/client/assets/chunk-00222315.js 1220.59 KiB / gzip: 341.05 KiB
dist/client/assets/chunk-00222315.js.map 3558.01 KiB
dist/client/assets/chunk-41093922.js 1387.07 KiB / gzip: 364.90 KiB
dist/client/assets/chunk-41093922.js.map 5215.41 KiB
Same question but inverse: How do I split them into smaller files?