باندلر جاوا اسکریپت شرکت بایت‌دنس (ByteDance) نسخه 2.0 از Rspack را منتشر کرد. این نسخه با تمرکز بر بهبود عملکرد، کاهش چشمگیر وابستگی‌ها و حرکت به سمت خروجی ماژول‌های مدرن ECMAScript (ESM) توسعه یافته است. نسخه جدید در کنار معرفی هسته ESM خالص و پشتیبانی آزمایشی از React Server Components، نشان‌دهنده رشد بی‌سابقه این پروژه است؛ به‌طوری‌که دانلودهای هفتگی آن از 100 هزار در زمان انتشار نسخه 1.0 به بیش از 5 میلیون رسیده است.

جهش خیره‌کننده در عملکرد و سرعت Build

عملکرد یکی از محورهای اصلی Rspack 2.0 به شمار می‌رود. بر اساس بنچمارک‌های رسمی، سرعت ساخت (Build) در این نسخه حدود 10 درصد بیشتر از Rspack 1.7 و تا 100 درصد سریع‌تر از نسخه 1.0 است. در یک پروژه ری‌اکت متشکل از 10 هزار کامپوننت، زمان بیلد پروداکشن با استفاده از کش پایدار (Persistent Cache) از 5.6 ثانیه در نسخه 1.0 به 1.4 ثانیه در نسخه 2.0 تقلیل یافت. همچنین زمان جایگزینی ماژول داغ (Hot Module Replacement) به رقم بی‌نظیر 118 میلی‌ثانیه رسید.

نمودار مقایسه عملکرد Rspack 2.0 با نسخه‌های قبلی

استفاده مجدد از کش برای مینیمایزر SWC در صورت Cache Hit، عملکرد بیلد را حدود 50 درصد افزایش می‌دهد و مصرف حافظه با فعال بودن کش بیش از 20 درصد کاهش می‌یابد.

کاهش چشمگیر وابستگی‌ها و امنیت زنجیره تامین

یکی از جذاب‌ترین تغییرات Rspack 2.0، پاکسازی بخش وابستگی‌هاست. پکیج @rspack/dev-server از 192 وابستگی به تنها 1 وابستگی کاهش یافت و حجم نصب آن از 15 مگابایت به 1.4 مگابایت رسید. این اقدام در شبکه‌های اجتماعی و هکر نیوز (Hacker News) با استقبال گرمی روبه‌رو شد؛ جایی که کاربران آن را نه صرفاً یک بهبود آماری، بلکه تغییر عمیقی در فلسفه توسعه و گامی مهم برای امنیت زنجیره تامین (Supply Chain) دانستند که در میان باندلرهای مشابه کم‌سابقه است.

هسته ESM خالص و بهبود Tree Shaking

پکیج @rspack/core اکنون به عنوان یک پکیج ESM خالص منتشر شده و پشتیبانی از CommonJS به طور کامل حذف شده است. از آنجا که Node.js v20.19 و نسخه‌های جدیدتر می‌توانند ESM را از طریق تابع require() بارگذاری کنند، تیم توسعه اعلام کرد که اکثر پروژه‌هایی که از API جاوا اسکریپت استفاده می‌کنند برای ارتقا نیازی به تغییر کد ندارند.

علاوه بر این، پشتیبانی از import.meta و پیشنهاد Stage-3 مربوط به import defer اضافه شده و ساخت کتابخانه‌های ESM بهبود یافته است. تری‌شیکینگ (Tree Shaking) یا حذف کدهای مرده نیز ارتقا یافته و تحلیل توابع بدون عارضه جانبی (Side-effect-free) به‌طور پیش‌فرض در محیط پروداکشن فعال شده است.

تغییرات اساسی و راهنمای ارتقا

توسعه‌دهندگانی که قصد ارتقا از نسخه 1.x را دارند باید به چند نکته مهم توجه کنند. Rspack 2.0 نیازمند Node.js 20.19+ یا 22.12+ است و پشتیبانی از Node.js 18 متوقف شده است. همچنین ویژگی module.unsafeCache حذف شده است. تیم توسعه پیشنهاد می‌دهد پکیج‌های @rspack/core، @rspack/cli، @rspack/dev-server و @rspack/plugin-react-refresh را همزمان به نسخه 2.0.0 ارتقا دهید. شاخه 1.x همچنان وصله‌های امنیتی حیاتی دریافت می‌کند، اما تمرکز اصلی توسعه‌دهندگان روی شاخه 2.x است.

رقابت تنگاتنگ با Vite و Turbopack

در میان جامعه کاربران، Rspack به عنوان یک جایگزین قدرتمند برای وب‌پک (Webpack) شناخته می‌شود. این ابزار متن‌باز که تحت لایسنس MIT منتشر می‌شود، همچنان با ابزارهایی مانند Rolldown متعلق به Vite و Turbopack رقابت می‌کند. نقطه قوت اصلی Rspack، سازگاری حدود 95 درصدی با پیکربندی وب‌پک است که مهاجرت پروژه‌های قدیمی را به‌شدت تسهیل می‌کند؛ مزایتی که رقبای ناسازگار با وب‌پک به‌راحتی نمی‌توانند آن را ارائه دهند. با این ارتقا، توسعه‌دهندگان فرانت‌اند می‌توانند تجربه بیلد بسیار سریع‌تر و پایدارتری را انتظار داشته باشند، هرچند رقابت نزدیک میان ابزارهای مبتنی بر راست همچنان جذابیت خود را برای آینده حفظ کرده است.