Skip to content

Comments

feat(plugin-babel): compatible with Rsbuild v1#7062

Merged
chenjiahan merged 1 commit intomainfrom
babel_compat_v1_0126
Jan 27, 2026
Merged

feat(plugin-babel): compatible with Rsbuild v1#7062
chenjiahan merged 1 commit intomainfrom
babel_compat_v1_0126

Conversation

@chenjiahan
Copy link
Member

Summary

Updated the Babel plugin to detect Rsbuild v1 and adjust how the Babel loader is applied, ensuring correct rule configuration for both v1 and v2.

Related Links

Checklist

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

Copilot AI review requested due to automatic review settings January 27, 2026 03:37
@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 enhances the @rsbuild/plugin-babel by introducing compatibility for Rsbuild v1. It intelligently detects the Rsbuild version at runtime and adapts the Babel loader configuration accordingly, ensuring seamless integration and correct processing of JavaScript/TypeScript files across different Rsbuild versions. This change is crucial for maintaining backward compatibility and providing a consistent development experience.

Highlights

  • Rsbuild v1 Compatibility: The Babel plugin now includes logic to detect if Rsbuild v1 is being used.
  • Conditional Babel Loader Application: The way the Babel loader rule is applied is adjusted based on the detected Rsbuild version, ensuring correct configuration for both v1 and v2.
  • New Test Case: A dedicated test case has been added to verify the Babel loader's functionality and configuration when running with Rsbuild v1.
  • Dependency Update: A new development dependency, @rsbuild/core-v1, has been introduced to facilitate testing against Rsbuild v1.
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: b8ee3a7
Status: ✅  Deploy successful!
Preview URL: https://85b9da42.rsbuild-v2.pages.dev
Branch Preview URL: https://babel-compat-v1-0126.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 compatibility for Rsbuild v1 in the Babel plugin. The changes correctly detect the Rsbuild version and adjust the webpack rule configuration accordingly. A new test case with a corresponding snapshot has been added to verify this compatibility. The changes look good overall. I've added one minor suggestion to improve type safety in the new test case.

@chenjiahan chenjiahan merged commit 4f8493d into main Jan 27, 2026
11 checks passed
@chenjiahan chenjiahan deleted the babel_compat_v1_0126 branch January 27, 2026 03:41
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 updates the Rsbuild Babel plugin to maintain compatibility with both Rsbuild v1 and v2, avoiding the need for a major version bump of the plugin itself. The changes detect the Rsbuild version at runtime and adjust the webpack chain configuration accordingly.

Changes:

  • Added version detection logic to distinguish between Rsbuild v1 and v2 in the plugin setup
  • Added test coverage for Rsbuild v1 compatibility using an aliased v1 dependency
  • Updated dependencies to include Rsbuild v1 for testing purposes

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated no comments.

Show a summary per file
File Description
packages/plugin-babel/src/plugin.ts Added version detection to conditionally access the JS rule directly (v1) or via oneOf (v2)
packages/plugin-babel/tests/index.test.ts Added test case for Rsbuild v1 compatibility
packages/plugin-babel/tests/snapshots/index.test.ts.snap Added snapshot for v1 test showing correct rule structure without oneOf
packages/plugin-babel/package.json Added @rsbuild/core-v1 dev dependency for testing
pnpm-lock.yaml Updated lockfile for new v1 test dependency
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

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

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