Rslib 1.0 اومد؛ ساخت کتابخونه جاوااسکریپت یککاسه
خلاصهٔ کاملتر
تیم Rstack اعلام کرد Rslib 1.0 منتشر شده. Rslib یه ابزار توسعهٔ کتابخونهست که روی Rsbuild سواره و برای ساخت انواع کتابخونهٔ جاوااسکریپت کار میکنه: کتابخونهٔ ابزاری، کتابخونهٔ کامپوننت UI، CLI و اپهای ایجنتی. از زمان معرفی عمومی نسخهٔ ۰.۷ تا حالا ۱۶ ریلیز مینور داشته و حالا کانفیگ و JavaScript APIش پایدار اعلام شده و از SemVer پیروی میکنه.
عددهای بنچمارک روی پروژهای با ۱۰٬۰۰۰ کامپوننت React اینه: بیلد production بدون کش از ۱.۲۱۲ به ۰.۹۱۸ ثانیه و با کش از ۱.۱۲۵ به ۰.۴۸۷ ثانیه رسیده. حجم خروجی هم از ۷.۶۴ به ۵.۱۹ مگابایت قبل از Gzip و از ۱.۴۰ به ۱.۳۵ مگابایت بعدش اومده پایین. ساخت فایلهای تایپ هم با TypeScript 7 حدود ۲.۴ برابر و با Isolated Declarations حدود ۴.۲ برابر سریعتر شده.
خروجیها چند شکل دارن: ESM و CJS برای Node.js و بیلدهای پاییندستی، UMD و IIFE برای لود مستقیم تو مرورگر، و Module Federation برای وقتی چند اپ کتابخونه رو بهعنوان ماژول ریموت سر زمان اجرا لود میکنن. دو حالت بیلد هم داره: bundle که ماژولها رو تو فایلهای کمتر جمع میکنه و برای SDK و CLI خوبه، و bundleless که ساختار پوشهٔ سورس رو نگه میداره و برای کتابخونهٔ کامپوننت و مونوریپو بهتره.
تو پروژههای بزرگ، ساخت فایلهای declaration معمولاً کندترین بخش بیلده. Rslib روی TypeScript 7 خودکار سراغ tsgo میره، و اگه بازم بخوای سریعتر بشه حالت آزمایشی isolated declarations هست که حین بیلد Rspack تایپها رو میسازه. فقط حواست باشه این حالت تایپچک نمیکنه، پس بهتره یه مرحلهٔ تایپچک جدا مثلاً تو CI بذاری:
export default {
dts: {
isolated: true,
},
};نکات کلیدی:
- Rslib 1.0 روی Rsbuild و Rspack سواره و پلاگینها و لودرهای اکوسیستم Rspack و webpack رو قبول میکنه
- بیلد بدون کش حدود ۲۴.۳٪ و با کش حدود ۵۶.۷٪ سریعتر از نسخهٔ ۰.۷.۰ شده
- ساخت declaration با TypeScript 7 حدود ۲.۴ برابر و با Isolated Declarations حدود ۴.۲ برابر سریعتره
- کتابخونهٔ کامپوننت React، Vue، Svelte و Solid پشتیبانی میشه و React Compiler هم روی SWC فعال میشه
- قابلیت آزمایشی experiments.exe با Node.js SEA فایل اجرایی مستقل میسازه که رو سیستم بدون Node هم بالا میاد




