Skip to content

Comments

feat: add support for 'none' preset in splitChunks#7099

Merged
chenjiahan merged 2 commits intomainfrom
preset_none_0131
Jan 31, 2026
Merged

feat: add support for 'none' preset in splitChunks#7099
chenjiahan merged 2 commits intomainfrom
preset_none_0131

Conversation

@chenjiahan
Copy link
Member

Summary

Introduces a new split chunks preset option 'none', allowing users to disable all built-in chunk splitting rules and rely solely on Rspack defaults or custom settings.

Checklist

  • Tests updated (or not required).
  • Documentation updated (or not required).

Copilot AI review requested due to automatic review settings January 31, 2026 08:11
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @chenjiahan, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the splitChunks configuration in Rsbuild by introducing a new preset: 'none' option. This allows developers to bypass Rsbuild's opinionated chunk splitting presets, providing direct control over Rspack's underlying splitChunks configuration or enabling reliance on Rspack's defaults. This change offers greater flexibility for projects with specific optimization requirements, ensuring that Rsbuild can adapt to a wider range of bundling strategies.

Highlights

  • New splitChunks preset: Introduced a 'none' option for splitChunks.preset to disable Rsbuild's built-in chunk splitting rules.
  • Enhanced Flexibility: Allows users to leverage Rspack's default chunk splitting behavior or define entirely custom rules without Rsbuild's presets.
  • Comprehensive Testing: Added new end-to-end tests to ensure the 'none' preset functions as expected, preventing any unintended chunk splitting.
  • Documentation Updates: Updated both English and Chinese documentation to reflect the new none preset and its usage.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@cloudflare-workers-and-pages
Copy link

Deploying rsbuild with  Cloudflare Pages  Cloudflare Pages

Latest commit: 48eea42
Status: ✅  Deploy successful!
Preview URL: https://9d1ceb2c.rsbuild-v2.pages.dev
Branch Preview URL: https://preset-none-0131.rsbuild-v2.pages.dev

View logs

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new 'none' preset for the splitChunks configuration. This allows users to disable all of Rsbuild's built-in chunk splitting rules, providing more control to rely on Rspack defaults or a fully custom configuration. The changes are well-implemented across the core logic, type definitions, and documentation. A new end-to-end test has been added to verify the new functionality, ensuring that no preset-based chunks are generated when using 'none'. The code is clean, and the documentation updates are clear and consistent in both English and Chinese. Overall, this is a solid feature addition that enhances the flexibility of chunk splitting in Rsbuild.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new splitChunks.preset value 'none' so users can disable Rsbuild’s built-in split-chunk presets and rely on more bare Rspack-style behavior or fully custom options.

Changes:

  • Extend SplitChunksPreset and pluginSplitChunks logic to support a 'none' preset (including server/worker handling).
  • Update English and Chinese splitChunks documentation to document the new preset and its defaults.
  • Add an e2e case (e2e/cases/split-chunks/preset-none) verifying that when preset: 'none' is used, the usual React/router/polyfill vendor chunks are not created.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
packages/core/src/types/config.ts Adds 'none' to the SplitChunksPreset union and documents its behavior in the type-level comment.
packages/core/src/plugins/splitChunks.ts Wires the 'none' preset into getSplitChunksByPreset, adjusts default preset handling for server/worker builds, and updates a Web Worker-related comment.
website/docs/en/config/split-chunks.mdx Documents the 'none' preset in English, updates the splitChunks.preset type and default description, and explains how 'none' should behave.
website/docs/zh/config/split-chunks.mdx Same as the English doc, but for the Chinese documentation.
e2e/cases/split-chunks/preset-none/src/index.js Minimal React entry that pulls in react and react-router-dom to exercise splitChunks behavior under the new preset.
e2e/cases/split-chunks/preset-none/src/App.jsx Simple React component used by the new e2e case.
e2e/cases/split-chunks/preset-none/rsbuild.config.ts Rsbuild config enabling React, polyfills, and setting splitChunks.preset = 'none' for the new e2e scenario.
e2e/cases/split-chunks/preset-none/index.test.ts e2e test asserting that with preset: 'none', the build does not emit lib-react, lib-router, or lib-polyfill chunks.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 48eea42382

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copilot AI review requested due to automatic review settings January 31, 2026 08:17
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@chenjiahan chenjiahan merged commit be736b2 into main Jan 31, 2026
11 checks passed
@chenjiahan chenjiahan deleted the preset_none_0131 branch January 31, 2026 08:21
@chenjiahan chenjiahan mentioned this pull request Feb 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant