Rspack 2.1 با نسخهٔ Rust ریاکت کامپایلر
خلاصهٔ کاملتر
Rspack 2.1 منتشر شد و تمرکزش روی سه چیزه: کارایی بیلد، چند فیچر تازه، و بهینهسازی خروجی. تیم Rspack مهمترین خبر رو نسخهٔ Rust ریاکت کامپایلر میدونه.
React Compiler ابزار رسمی بهینهسازی زمان بیلد ریاکته: خودش برای کامپوننتها و هوکها منطق memoization اضافه میکنه تا کمتر مجبور بشی دستی سراغ useMemo و useCallback بری. تا حالا از راه babel-loader وصل میشد و سربار Babel رو میآورد. حالا که کامپایلر به Rust پورت شده و SWC یکپارچهسازیش رو تموم کرده، مستقیم با jsc.transform.reactCompiler تو builtin:swc-loader روشنش میکنی. تو بنچمارک تیم، نسخهٔ Rust حدود ۷ تا ۱۳ برابر سریعتر از Babel بوده (rspack dev از ۱۰.۶ به ۰.۷ ثانیه).
خود بیلد هم سریعتر شده: نسبت به Rspack 2.0، بیلد پروداکشن حدود ۱۶٪ و HMR حدود ۵٪ بهتر شده. اینها از جاهای مختلفی اومدن — انبوهی میکرو-بهینهسازی تو خط اصلی بیلد، ساختار دادهٔ بهتر برای گراف ماژول و روابط وابستگی، و بهبود پارس و ترنسفورم SWC. کنارش ts-checker-rspack-plugin حالا با TypeScript 7 (همون TypeScript Go) تایپچک میکنه که تو بیلدهای دارای type checking تا حدود ۶۰٪ از کل زمان کم میکنه.
از فیچرهای تازه، پشتیبانی از import.meta.glob احتمالاً پرکاربردترینه: ماژولها رو با الگوی glob جمع میکنی و فقط وقتی لازم شدن لودشون میکنی. این قابلیت قبلاً تو Vite و Turbopack بود و حالا سینتکس مشترک بین ابزارها هزینهٔ ذهنی جابهجایی رو کم میکنه.
const pages = import.meta.glob('./pages/**/*.js');
for (const path in pages) {
const mod = await pages[path]();
}بقیهٔ اضافات: نوع ماژول تازهٔ css/global که CSS Modules رو در حالت «پیشفرض سراسری، هرجا لازم شد :local» ممکن میکنه؛ تشخیص createRequire تو ماژولهای ESM (که تا قبل از این قابل تحلیل استاتیک نبود و باندل نمیشد)؛ magic commentها با پیشوند rspack؛ پشتیبانی از source phase imports برای WebAssembly؛ و پاکسازی خودکار کش پایدار با cache.maxAge (پیشفرض ۷ روز) و cache.maxVersions (پیشفرض ۳) تا نسخههای قدیمی کش بینهایت روی دیسک تلنبار نشن.
تو خروجی هم pureFunctions از حالت آزمایشی دراومده و تو مود production پیشفرض روشنه: فراخوانی تابعهای بدون side effect (با annotation یا از راه کانفیگ) وقتی نتیجهشون استفاده نشه، موقع tree shaking حذف میشن. پرونینگ وابستگی و بررسی وجود export هم حالا branch-aware شدن. تو اکوسیستم هم پشتیبانی از TanStack RSC اضافه شده و ابزارهای Rsbuild، Rslib، Rstest، Rslint، Rspress و Rsdoctor آپدیت شدن.
نکات کلیدی:
- React Compiler به Rust پورت شد و از builtin:swc-loader فعال میشه؛ ۷ تا ۱۳ برابر سریعتر از Babel
- بیلد پروداکشن ~۱۶٪ و HMR ~۵٪ سریعتر از Rspack 2.0
- تایپچک با TypeScript 7 تا ~۶۰٪ زمان بیلدهای دارای type checking رو کم میکنه
- import.meta.glob، css/global، تحلیل createRequire و source phase imports اضافه شدن
- کش پایدار حالا خودش نسخههای قدیمی رو پاک میکنه




