Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/web-infra-dev/rslib
Create JavaScript libraries in a simple and intuitive way.
https://github.com/web-infra-dev/rslib
build-tool hacktoberfest library rsbuild rslib rspack typescript
Last synced: 4 days ago
JSON representation
Create JavaScript libraries in a simple and intuitive way.
- Host: GitHub
- URL: https://github.com/web-infra-dev/rslib
- Owner: web-infra-dev
- License: mit
- Created: 2024-03-04T08:18:53.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-12-18T06:22:06.000Z (6 days ago)
- Last Synced: 2024-12-18T07:25:14.594Z (6 days ago)
- Topics: build-tool, hacktoberfest, library, rsbuild, rslib, rspack, typescript
- Language: TypeScript
- Homepage: https://lib.rsbuild.dev/
- Size: 2.27 MB
- Stars: 507
- Watchers: 9
- Forks: 28
- Open Issues: 51
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-rspack - Rslib
README
# Rslib
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.
## ✨ Why Rslib?
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.
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.
![](https://assets.rspack.dev/rsbuild/assets/rspack-stack-layers.png)
Rslib is still in its early stages and under active development. We are building Rslib by working in two main parts:
- [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.
- [Rslib features track](https://github.com/web-infra-dev/rslib/issues/46): Develop the core features of Rslib.The roadmap may change as we move forward.
## 🔥 Features
Rslib has the following features:
- **Compilation of diverse languages**: TypeScript, JSX, Sass, Less, CSS Modules, Wasm, and more.
- **Flexible build modes**: Bundle and bundleless options to meet varying needs.
- **Multiple output formats**: ESM, CJS, and UMD for maximum compatibility.
- **Declaration file generation**: Including isolated declarations.
- **Advanced features**: Module Federation, asset compression, PostCSS, Lightning CSS, and more.## 📚 Getting Started
To get started with Rslib, see the [Quick Start](https://lib.rsbuild.dev/guide/start/quick-start).
## 🦀 Links
- [Rspack](https://github.com/web-infra-dev/rspack): A fast Rust-based web bundler.
- [Rsbuild](https://github.com/web-infra-dev/rsbuild): A high-performance build tool powered by Rspack.
- [Rspress](https://github.com/web-infra-dev/rspress): A fast static site generator based on Rsbuild.
- [Rsdoctor](https://github.com/web-infra-dev/rsdoctor): A one-stop build analyzer for Rspack and Webpack.
- [Modern.js](https://github.com/web-infra-dev/modern.js): A progressive React framework based on Rsbuild.
- [awesome-rspack](https://github.com/web-infra-dev/awesome-rspack): A curated list of awesome things related to Rspack and Rsbuild.
- [rspack-examples](https://github.com/rspack-contrib/rspack-examples): Examples for Rspack, Rsbuild, Rspress and Rsdoctor.
- [storybook-rsbuild](https://github.com/rspack-contrib/storybook-rsbuild): Storybook builder powered by Rsbuild.
- [rsbuild-plugin-template](https://github.com/rspack-contrib/rsbuild-plugin-template): Use this template to create your own Rsbuild plugin.
- [rstack-design-resources](https://github.com/rspack-contrib/rstack-design-resources): Design resources for Rspack, Rsbuild, Rspress and Rsdoctor.## 🤝 Contribution
> New contributors welcome!
Please read the [Contributing Guide](https://github.com/web-infra-dev/rslib/blob/main/CONTRIBUTING.md).
### Contributors
### Code of Conduct
This repo has adopted the ByteDance Open Source Code of Conduct. Please check [Code of Conduct](./CODE_OF_CONDUCT.md) for more details.
## 🧑💻 Community
Come and chat with us on [Discord](https://discord.gg/FQfm7VqU)! The Rstack team and users are active there, and we're always looking for contributions.
## 🌟 Quality
Rslib uses [Web Infra QoS](https://web-infra-qos.netlify.app?product=rslib&metrics=bundle-size) to observe the trend of key metrics, such as bundle size, compile speed and install size.
## 🙏 Credits
Some of the implementations of Rslib have drawn inspiration from outstanding projects in the community. We would like to express our gratitude to them:
- [esbuild](https://github.com/evanw/esbuild), created by [Evan Wallace](https://github.com/evanw).
- [tsup](https://github.com/egoist/tsup), created by [EGOIST](https://github.com/egoist).This Rslib website is powered by [Netlify](https://www.netlify.com/).
## 📖 License
Rslib is licensed under the [MIT License](https://github.com/web-infra-dev/rslib/blob/main/LICENSE).