How to set minimum chunk size when using rollup?

Viewed 173

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?

0 Answers
Related