Skip to content

Possible chunk merges aren't applied #5264

@patak-cat

Description

@patak-cat

Rollup Version

4.5.0

Operating System (or Browser)

playground

Node Version (if applicable)

No response

Link To Reproduction

https://rollup-rkvpte6oj-rollup-js.vercel.app/repl/?pr=4989&shareable=JTdCJTIyZXhhbXBsZSUyMiUzQW51bGwlMkMlMjJtb2R1bGVzJTIyJTNBJTVCJTdCJTIyY29kZSUyMiUzQSUyMmltcG9ydCUyMCU3QiUyMG1lbW8lMjAlN0QlMjBmcm9tJTIwJy4lMkZyZWFjdC10ZXN0LmpzJyUzQiUyMCU1Q25jb25zb2xlLmxvZyhtZW1vKSUzQiU1Q24lNUNuY29uc3QlMjAlN0IlMjBkMSUyMCU3RCUyMCUzRCUyMGltcG9ydCgnLiUyRmR5bmFtaWMtMS5qcycpJTNCJTVDbmNvbnN0JTIwJTdCJTIwZDIlMjAlN0QlMjAlM0QlMjBpbXBvcnQoJy4lMkZkeW5hbWljLTIuanMnKSUzQiU1Q25jb25zb2xlLmxvZyhkMSUyQyUyMGQyKSUzQiUyMiUyQyUyMmlzRW50cnklMjIlM0F0cnVlJTJDJTIybmFtZSUyMiUzQSUyMm1haW4uanMlMjIlN0QlMkMlN0IlMjJjb2RlJTIyJTNBJTIyaW1wb3J0JTIwJTdCJTIwbWVtbyUyMCU3RCUyMGZyb20lMjAnLiUyRnJlYWN0LXRlc3QuanMnJTVDbmltcG9ydCUyMCU3QiUyMHMlMjAlN0QlMjBmcm9tJTIwJy4lMkZzaGFyZWQuanMnJTVDbmV4cG9ydCUyMGNvbnN0JTIwZDElMjAlM0QlMjBtZW1vKCh4KSUyMCUzRCUzRSUyMCU3QiU1Q24lMjAlMjByZXR1cm4lMjBzKHgpJTVDbiU3RCklMjIlMkMlMjJpc0VudHJ5JTIyJTNBZmFsc2UlMkMlMjJuYW1lJTIyJTNBJTIyZHluYW1pYy0xLmpzJTIyJTdEJTJDJTdCJTIyY29kZSUyMiUzQSUyMmltcG9ydCUyMCU3QiUyMG1lbW8lMjAlN0QlMjBmcm9tJTIwJy4lMkZyZWFjdC10ZXN0LmpzJyU1Q25pbXBvcnQlMjAlN0IlMjBzJTIwJTdEJTIwZnJvbSUyMCcuJTJGc2hhcmVkLmpzJyU1Q25leHBvcnQlMjBjb25zdCUyMGQyJTIwJTNEJTIwbWVtbygoeCklMjAlM0QlM0UlMjAlN0IlNUNuJTIwJTIwcmV0dXJuJTIwcyh4KSU1Q24lN0QpJTIyJTJDJTIyaXNFbnRyeSUyMiUzQWZhbHNlJTJDJTIybmFtZSUyMiUzQSUyMmR5bmFtaWMtMi5qcyUyMiU3RCUyQyU3QiUyMmNvZGUlMjIlM0ElMjJleHBvcnQlMjBjb25zdCUyMHMlMjAlM0QlMjAoeCklMjAlM0QlM0UlMjAlN0IlNUNuJTIwJTIwcmV0dXJuJTIweCU1Q24lN0QlMjIlMkMlMjJpc0VudHJ5JTIyJTNBZmFsc2UlMkMlMjJuYW1lJTIyJTNBJTIyc2hhcmVkLmpzJTIyJTdEJTJDJTdCJTIyY29kZSUyMiUzQSUyMmV4cG9ydCUyMGNvbnN0JTIwbWVtbyUyMCUzRCUyMChjKSUyMCUzRCUzRSUyMCU3QiUyMCU1Q24lMjAlMjByZXR1cm4lMjBjJTVDbiU3RCUyMiUyQyUyMmlzRW50cnklMjIlM0FmYWxzZSUyQyUyMm5hbWUlMjIlM0ElMjJyZWFjdC10ZXN0LmpzJTIyJTdEJTVEJTJDJTIyb3B0aW9ucyUyMiUzQSU3QiUyMm91dHB1dCUyMiUzQSU3QiUyMmV4cGVyaW1lbnRhbE1pbkNodW5rU2l6ZSUyMiUzQTEwMDAwJTJDJTIyZm9ybWF0JTIyJTNBJTIyZXMlMjIlN0QlN0QlN0Q=

Expected Behaviour

I would expect dynamic-1-{x}.js, dynamic-2-{x}.js, and shared-{x}.js to be merged in a single chunk.

Maybe there is a limitation that prevents these from being merged that I'm missing. The reproduction tries to replicate the issue reported in Vite at vitejs/vite#15050.

If react-test.js isn't imported in main.js, they get merged. Possibly a different issue, but in that case, if a side-effect is added to the memo function, these three chunks are also not merged. Repro. I think this will also could be an related issue from the reported Vite problem. It also seems possible for these to be merged.

Actual Behaviour

The chunks are below output.experimentalMinChunkSize but they aren't merged.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions