Build performance has always been one of Rspack’s core priorities. Compared with Rspack 1.7, Rspack 2.0 improves overall performance by around 10% , and by as much as 100% compared with 1.0.
I want to remind everybody that you can upgrade to any new Rspack version in your package.json on your own. You don’t need to wait for Meteor. Meteor just established a minimum compatible version.
However, we already know that in this case, the Rspack major version introduces breaking changes that could directly affect the Meteor-specific NPM package, @meteorjs/rspack, requiring a proper migration. This Meteor Rspack NPM package provides the default config needed for Meteor to work smoothly. The good news is that it can be overridden by user config, with your own rspack.config.js in your project. However, I am not sure if all migration points can be addressed this way. Anyone could try it, tell us what they find, and share it here.
In the official migration process, I will ensure we apply enhancements that also make the NPM package easier to override if any edge case is missing. We are going to make @meteorjs/rspack compatible with Rspack 2.0.0 in the next work: Support Rspack 2.0.0 by nachocodoner · Pull Request #14360 · meteor/meteor · GitHub. This will let us ensure all E2E tests for Rspack apps work as expected after the Rspack 2.0.0 changes, and let everyone get these changes without worrying about migrations. We will announce it when it is ready.
Regarding Rspack 2.0.0, I am particularly interested in whether all their work on Rspack has made the persistent cache more stable and less RAM-consuming. We have improved this as much as possible on our side in Meteor 3.4.1, but they seem to have addressed improvements in this area according to the changelogs for this new version. All other benefits are a win to keep making the dev experience faster and the bundler thinner, with tree shaking and code splitting improvements. Built-in import.defer support is really interesting since it is the successor of Meteor’s nested imports, but standardized. Built-in React Server Components would also be interesting to experiment with and see how Meteor can benefit from it.