[Feature] Adding Vite manual chunks #244
Open
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.
WHY are these changes introduced?
Manually defining the splitting can be a bit complex, especially if you have an extensive application with many dependencies. Fortunately, rollup (which Vite uses under the hood) provides the manualChunks option to allow more granular control over the chunking behavior.
For a simple configuration, you'd want to ensure each file in your src directory becomes its chunk (assuming they're larger than the threshold), and then set a maxSize for these chunks.
WHAT is this pull request doing?
I'm adding the manualChunks function checks if a module is in node_modules and, if so, groups it into a vendor chunk. If it's in the src directory, it creates a chunk named after the first part of its path (so /src/utils/foo.js and /src/utils/bar.js would both end up in a utils chunk). Everything else goes into a misc chunk.
Note: The manualChunks logic is a simplistic approach and might not fit all use cases. It's often used as a starting point.