Skip to content

Comments

feat: remove default lib-axios split from default preset#7079

Merged
chenjiahan merged 2 commits intomainfrom
remove_axios_0129
Jan 29, 2026
Merged

feat: remove default lib-axios split from default preset#7079
chenjiahan merged 2 commits intomainfrom
remove_axios_0129

Conversation

@chenjiahan
Copy link
Member

Summary

Remove the built-in axios cacheGroup from preset: "default".

Even though axios is only split when it’s actually imported, a default lib-axios rule is not a good fit for all projects. Some apps don't use axios, and others only use it in async routes or feature modules. A forced standalone chunk can add an extra request in these cases.

Checklist

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

Copilot AI review requested due to automatic review settings January 29, 2026 03:06
@chatgpt-codex-connector
Copy link

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, you can upgrade your account or add credits to your account and enable them for code reviews in your settings.

@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 refines the default chunk splitting configuration by eliminating the automatic creation of a dedicated axios chunk. This change aims to enhance build efficiency and reduce superfluous network requests for applications that do not consistently utilize axios or where a separate chunk provides no performance benefit. The underlying functions for resolving split chunk presets were also updated to align with a more consistent return type.

Highlights

  • Removed Default Axios Chunk Splitting: The built-in lib-axios cache group has been removed from the default preset for splitChunks optimization, preventing unnecessary standalone chunks for projects that don't use Axios or use it asynchronously.
  • Refactored Split Chunks Preset Functions: The resolveDefaultPreset and resolveSingleVendorPreset functions in splitChunks.ts were refactored to return a complete Rspack.OptimizationSplitChunksOptions object, including the cacheGroups property, rather than just the CacheGroups object directly. Corresponding call sites were updated to access the cacheGroups property.
  • Updated Test Snapshots: Numerous test snapshots across various core and plugin packages were updated to reflect the removal of the lib-axios cache group and the structural changes in the split chunks configuration.
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.

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 removes the default lib-axios chunk splitting from the default preset, which is a great improvement to make the default configuration less opinionated and more broadly applicable. The related refactoring of resolveDefaultPreset and resolveSingleVendorPreset to return the full Rspack.OptimizationSplitChunksOptions object simplifies the code.

I have one suggestion regarding a side-effect of the refactoring, which is the change of the cache group key for polyfills. Please see my inline comment.

@cloudflare-workers-and-pages
Copy link

Deploying rsbuild with  Cloudflare Pages  Cloudflare Pages

Latest commit: b1ab351
Status: ✅  Deploy successful!
Preview URL: https://19e111d9.rsbuild-v2.pages.dev
Branch Preview URL: https://remove-axios-0129.rsbuild-v2.pages.dev

View logs

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

Removes the built-in axios cacheGroup from the splitChunks default preset to avoid forcing a standalone lib-axios chunk in projects where it’s unused or only used in async routes.

Changes:

  • Removed the default lib-axios cacheGroup from the core default splitChunks preset.
  • Refactored preset helpers to return full OptimizationSplitChunksOptions objects (instead of only cacheGroups) where applicable.
  • Updated affected Jest snapshots across core and plugin-react tests.

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/core/src/plugins/splitChunks.ts Removes axios from default preset; refactors preset return shapes; adjusts legacy strategy merging.
packages/plugin-react/tests/snapshots/features.test.ts.snap Updates snapshots to reflect removal of default lib-axios group.
packages/core/tests/snapshots/splitChunks.test.ts.snap Updates snapshots for the default preset output (axios removed).
packages/core/tests/snapshots/moduleFederation.test.ts.snap Updates snapshot for splitChunks output with no default axios group.
packages/core/tests/snapshots/environments.test.ts.snap Updates environment snapshot to reflect no default axios cacheGroups.
packages/core/tests/snapshots/default.test.ts.snap Updates default plugin application snapshots after removing axios cacheGroup.
packages/core/tests/snapshots/builder.test.ts.snap Updates builder snapshot after removing axios cacheGroup.

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

@chenjiahan chenjiahan merged commit 3ab2573 into main Jan 29, 2026
6 checks passed
@chenjiahan chenjiahan deleted the remove_axios_0129 branch January 29, 2026 03:15
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