You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Rslib is a library development tool that leverages the well-designed configurations and plugins of [Rsbuild](https://rsbuild.dev), empowering library developers to take advantage of the extensive knowledge and ecosystem of webpack and Rspack.
16
-
17
-
## ✨ Why Rslib?
18
-
19
-
In the past, we typically did not use webpack or Rspack to build ESM packages because they often included excessive runtime code, making them less friendly to package consumers. However, the community has developed a vast ecosystem around webpack and Rspack, which provides powerful features like tree shaking, code splitting, module federation and more.
20
-
21
-
So we decided to create Rslib. It improves the quality of ESM output from Rspack and webpack, leverages their extensive ecosystem, and utilizes Rsbuild's excellent out-of-the-box configuration. Rslib aims to provide a superior developer experience and explore new possibilities based on the Rspack architecture.
Rslib is still in its early stages and under active development. We are building Rslib by working in two main parts:
17
+
Rslib is a library development tool that leverages the well-designed configurations and plugins of [Rsbuild](https://rsbuild.dev), empowering library developers to take advantage of the extensive knowledge and ecosystem of webpack and Rspack.
26
18
27
-
-[bundler support track](https://github.com/web-infra-dev/rslib/issues/45): Improve the quality of ESM / CJS outputs by contributing to Rspack and webpack.
28
-
-[Rslib features track](https://github.com/web-infra-dev/rslib/issues/46): Develop the core features of Rslib.
19
+
Rslib aims to provide library developers with:
29
20
30
-
The roadmap may change as we move forward.
21
+
-**Easy Library Creation**: Easily create high-quality JavaScript and TypeScript libraries in a simple and intuitive way.
22
+
-**Simple Build Configuration**: Provides out-of-the-box build capabilities to meet the diverse needs of library development scenarios with simple configurations.
23
+
-**Comprehensive Development Workflow**: Contains best practices for building, debugging, documentation, and testing during library development to help improve development efficiency and experience.
31
24
32
25
## 🔥 Features
33
26
@@ -39,6 +32,14 @@ Rslib has the following features:
39
32
-**Declaration file generation**: Including isolated declarations.
40
33
-**Advanced features**: Module Federation, asset compression, PostCSS, Lightning CSS, and more.
41
34
35
+
## 🎯 Ecosystem
36
+
37
+
Rslib is implemented based on Rsbuild and fully reuses the capabilities and ecosystem of Rsbuild.
38
+
39
+
The following diagram illustrates the relationship between Rslib and other tools in the ecosystem:
Copy file name to clipboardExpand all lines: website/docs/en/guide/start/index.mdx
+6-4Lines changed: 6 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,13 +10,15 @@ Rslib provides a comprehensive set of build features for library development, in
10
10
-**Declaration file generation**: Including isolated declarations.
11
11
-**Advanced features**: Module Federation, asset compression, PostCSS, Lightning CSS, and more.
12
12
13
-
## 🚀 Why Rslib
13
+
## ✨ Why Rslib
14
14
15
-
In developing component or utility libraries, developers need to focus not only on implementing project logic but also on handling non-code tasks such as building, debugging, documentation, and testing. Many existing community tools and solutions can address some of these requirements; however, for developers who are not familiar with these tools, meeting these demands often involves tedious configuration or coordinating multiple tools.
15
+
During the development of component or utility libraries, developers need to focus not only on implementing project logic, but also on handling tasks that are separate from the code itself, such as building, debugging, documentation, and testing. Although many community tools and solutions can address some of these needs, developers who are not familiar with them often face cumbersome configuration requirements or need to coordinate multiple tools to meet these demands.
16
16
17
-
Based on Rspack and Rsbuild, Rslib offers a comprehensive solution tailored to the diverse needs of library development. It effectively addresses issues like an underdeveloped tooling ecosystem, high costs for module standard compatibility, and insufficient output optimization. Rslib improves upon webpack's limited support for library ESM outputs, enabling the production of high-quality, tree-shakeable ESM builds. Additionally, Rslib fully capitalizes on the build performance advantages of Rspack and leverages the strengths of both the webpack and Rspack ecosystems to robustly support features such as Module Federation.
17
+
Based on Rspack and Rsbuild, Rslib offers a comprehensive solution tailored to the diverse requirements of library development, effectively addressing issues such as incomplete tool ecosystems, high costs for module standard compatibility, and insufficient output optimization. Rslib optimizes webpack's limited support for library ESM outputs, reducing redundant runtime code and generating high-quality ESM outputs that are tree-shaking friendly for library consumers. Additionally, Rslib fully leverages the build performance advantages of Rspack and capitalizes the strengths of both the webpack and Rspack ecosystems to robustly support features such as Module Federation.
18
18
19
-
Furthermore, by sharing a unified configuration, Rslib resolves the challenge of reusing build configurations between application projects and library projects, thereby reducing configuration overhead and enhancing developer productivity and experience.
19
+
Furthermore, Rslib utilizes Rsbuild's out-of-the-box configuration to facilitate configuration sharing between application and library projects, resolving the challenge of reusing build configurations between application projects and library projects, thereby reducing the configuration overhead for developers and improving development efficiency and experience.
20
+
21
+
In the future, Rslib will explore additional possibilities by leveraging the new features of Rspack.
0 commit comments