Rspack v1.0 Release Plan #6315
Replies: 11 comments 16 replies
-
does v1 also include Module federation stable version? |
Beta Was this translation helpful? Give feedback.
-
v1 can include Persistent Cache ? |
Beta Was this translation helpful? Give feedback.
-
I plan to implement an SSR rendering framework based on Rpack and module federation + ESM |
Beta Was this translation helpful? Give feedback.
-
Will v1.0 bring better/extended support to Webpack plugins? I plan to try We have a set of plugins that are crucial for us:
We also have some custom Webpack and Node.js plugins for metrics & bundle size which I can manage to convert later on. |
Beta Was this translation helpful? Give feedback.
-
Hey. Do you have plans to update dependencies to the first version? npm audit:
also warnings during installation:
via |
Beta Was this translation helpful? Give feedback.
-
Does this discussion relate to https://github.com/web-infra-dev/rspack/releases/tag/v1.0.0-alpha.2 ? |
Beta Was this translation helpful? Give feedback.
-
物理缓存什么时候做,项目太大几个热更新内存崩了,有时候做缝合怪项目,要把四个项目合一,四个项目同开根本没法玩 |
Beta Was this translation helpful? Give feedback.
-
Is there any support for PWA? If not, is it planned for a future release? @chenjiahan |
Beta Was this translation helpful? Give feedback.
-
你好, rslib估计什么时候开源,是否支持bundless模式 |
Beta Was this translation helpful? Give feedback.
-
Is there an updated timeline on when Rspack v1.0 is planned to be released? |
Beta Was this translation helpful? Give feedback.
-
Introduction
We are excited to announce the planned release of Rspack v1.0 in July 2024!
This release will include several key features aimed at improving the functionality and performance of Rspack. Below is an overview of the key features ahead of the release.
Key Features Before v1.0
1. Lazy Compilation Support
Lazy compilation will significantly improve the performance of large applications that utilize dynamic imports or multiple entries. This feature is particularly crucial for static site generators like Rspress.
Imagine some code that you might not use on the first run, for example, when you click a button, another page loads, if you don't click that button at all when you're developing other stuff, that page is useless, so Rspack don't need to build it. Rspack only builds it when we do the click.
2. Enhanced Tree Shaking
We have implemented tree shaking based on esbuild's strategy. While effective in many scenarios, it does face limitations affecting optimizations such as barrel optimization and circular dependencies. From v0.4.2, we've introduced new tree shaking algorithms from webpack, which is enabled by default starting from v0.6.0.
3. Native CSS Extract Plugin Support
Our experiments css support have revealed some limitations, particularly in aligning with webpack's handling of legacy browsers and not working with css-loader. To address this and ease the migration for applications using css-loader, we've introduced a native CSS extract plugin that mirrors the behavior of webpack's mini-css-extract-plugin. This plugin, which supports legacy browsers and css-loader effectively, has been included since version 0.6.
4. ModuleConcatenationPlugin Support
The ModuleConcatenationPlugin facilitates "scope hoisting", which can reduce bundle code size and enhance execution speed by minimizing the number of
webpack_require
calls. This feature is foundational for high-quality ESM output. We are collaborating with the webpack team to refine the ESM output quality of both Rspack and webpack, laying the groundwork for Rslib.Architecture
Stabilizing the Public API
After several iterations from versions 0.1 to 0.5, most APIs have stabilized. However, certain APIs still require refinement before v1.0:
Configuration
: We will remove all deprecated configurations, stabilizing all configurations except those under rspackFuture.Hooks API
: We support a subset of webpack hooks and will stabilize the officially supported hooks.Compiler & Compilation objects
: While we do not plan to support all properties and methods of webpack's compiler and compilation objects, we will stabilize the supported methods and properties.JavaScript interface
: Rspack will offer a JavaScript API that supports custom build or development processes, allowing better framework integration.Website Redesign
Our website will undergo a redesign to reflect the numerous feature updates and architectural overhauls since v0.1. The redesign will include:
Build Artifacts Improvement
We aim to align our build artifacts more closely with webpack, addressing inconsistencies like CSS extraction and interop runtime. Our goal is to achieve 100% alignment with webpack build output by v1.0.
What’s Next
The release of v1.0 is just the beginning for Rspack. We have big plans for its future development, including:
Improved performance
: We will continue enhancing Rspack's architecture to boost build performance significantly.First-class ESM output support
: We aim to produce high-quality ESM outputs that do not compromise treeshaking efficiency.Portable persistent cache support
: To facilitate large-scale projects, we will explore portable persistent caching to distribute the build process across different machines.Stable Rust API
: To integrate more efficiently with frameworks, we will develop a stable Rust API.React Server Components support
: We are exploring ways to natively support React Server Components.WebAssembly compatible
: Compiling Rspack to WebAssembly will enable it to run in browser environments, suitable for online web playgrounds or platforms like StackBlitz.Native plugin support
: We plan to research higher-performance plugin solutions beyond the current Wasm plugin.We welcome feedback on these initiatives to ensure they meet the needs of our users.
Beta Was this translation helpful? Give feedback.
All reactions