Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Nov 1, 2025

This PR contains the following updates:

Package Change Age Confidence
@rslib/core (source) ^0.16.1 -> ^0.17.0 age confidence

Release Notes

web-infra-dev/rslib (@​rslib/core)

v0.17.0

Compare Source

Highlights 💡

Improved ESM output

Optimizing ESM output has long been one of the key challenges faced by Rspack. Previously, we relied on module concatenation to optimize ESM outputs, but that approach had several limitations:

  • Impure output – The generated files contained Rspack's runtime code.
  • Prone to errors – Some modules could not be correctly concatenated, leading to unexpected runtime issues.
  • Limited code-splitting support – Split bundles became complex and difficult to analyze or optimize statically.

To address these issues once and for all, we introduced an experimental plugin called EsmLibraryPlugin, purpose-built for constructing clean and efficient ESM libraries:

  • Full control over the bundling process – All modules are linked during compilation, eliminating reliance on Rspack's runtime.
  • Code-splitting support – Code after splitting can be statically analyzed and is tree-shaking friendly.

The image below compares the code splitting output before and after using this plugin — the left side shows the previous output, while the right side shows the cleaner output produced by EsmLibraryPlugin:

Rspack 1.6 ESM output diff

In Rslib, the EsmLibraryPlugin is now integrated out-of-the-box with experiments.advancedEsm enabled to generate ESM output that is high-quality, more friendly to static analysis, and supports code splitting.

export default {
  lib: [
    {
      format: 'esm',
      bundle: true,
      experiments: {
        advancedEsm: true,
      },
    },
  ],
};

[!TIP]
Currently this option only takes effect in bundle mode when format is 'esm'.

What's Changed

New Features 🎉
  • feat: introduce experiments.advancedEsm with Rspack's EsmLibraryPlugin by @​JSerFeng in #​1273
Other Changes

New Contributors

Full Changelog: web-infra-dev/rslib@v0.16.1...v0.17.0


Configuration

📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@changeset-bot
Copy link

changeset-bot bot commented Nov 1, 2025

⚠️ No Changeset found

Latest commit: d951a97

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant