Astro 7 اومد: بیلدها تا ۶۱٪ سریعتر
خلاصهٔ کاملتر
تیم آسترو میگه نسخهٔ ۷ کاملاً دربارهٔ سرعته. مهمترین کار این بوده که کندترین بخشهای بیلد رو از JavaScript به کد نیتیو Rust منتقل کردن. کامپایلر فرمت .astro که قبلاً با Go نوشته شده بود، از نو با Rust بازنویسی شده و زیرِ پوستش از oxc برای پارس و از Lightning CSS برای scope کردن استایل استفاده میکنه. به گفتهٔ تیم، تو بنچمارکهاشون بیلدها بین ۱۵ تا ۶۱ درصد سریعتر شدن و بعضی سایتها بیش از دو برابر سریعتر بیلد میشن.
یکی از بزرگترین بردها به پردازش مارکداون برمیگرده. آسترو خط پردازش پیشفرض مارکداون و MDX رو با ابزاری به اسم Sätteri عوض کرده که اونم با Rust نوشته شده. قبلاً این خط رو کتابخونهٔ unified (remark و rehype) اجرا میکرد که رو سایتهای چندهزارصفحهای معمولاً کندترین مرحلهٔ بیلد بود. تیم میگه با سویچ کردن مستندات آسترو و مستندات Cloudflare به Sätteri، بیش از یه دقیقه از زمان بیلدشون کم شده.
نکتهٔ جالب Sätteri اینه که خیلی از امکاناتی رو که قبلاً پلاگین جدا میخواستن — مثل جدولها و پاورقیهای GFM، آیدی گذاری هدینگها، ریاضی و frontmatter — بهصورت داخلی و پیشفرض پیاده کرده. اگه هنوز به پلاگینهای remark یا rehype وابستهای، خط قدیمی همچنان از طریق @astrojs/markdown-remark در دسترسه.
این نسخه به Vite 8 هم آپگرید شده که خودش باندلر جدید Rolldown رو با خودش میاره. Rolldown که با Rust نوشته شده، جای esbuild و Rollup رو با یه باندلر واحد میگیره و تو بنچمارکها ۱۰ تا ۳۰ برابر سریعتر از Rollup عمل میکنه. برای بیشتر پروژهها این آپگرید بدون تغییر تنظیمات اتفاق میافته چون یه لایهٔ سازگاری، کانفیگهای قدیمی رو خودکار تبدیل میکنه.
یه بخش تازهٔ دیگه «مسیریابی پیشرفته»ست. با اضافه کردن یه فایل src/fetch.ts به پروژه، میتونی کنترل کامل خط پردازش درخواستهای آسترو رو دست بگیری؛ همون الگوی هندلر fetch که Cloudflare Workers و Deno و Bun معروفش کردن و با Hono هم سازگاره. کش مسیرها (route caching) هم که تو نسخهٔ ۶ آزمایشی بود، حالا پایدار شده و یه API واحد و مستقل از پلتفرم برای کش کردن پاسخها میده.
نویسنده اشاره میکنه که آسترو ۷ یه قدم اولش به سمت بهتر شدن برای توسعهٔ مبتنی بر ایجنتهای هوش مصنوعیه. حالا astro dev --background سرور توسعه رو بهصورت یه پروسهٔ پسزمینهٔ مدیریتشده اجرا میکنه و آسترو حتی میتونه تشخیص بده که داخل یه ایجنت اجرا میشه و خودکار این حالت رو روشن کنه. لاگگیری به فرمت JSON هم اضافه شده که هم برای ایجنتها و هم برای سرویسهای تجمیع لاگ مثل Kibana و Grafana مفیده.
نکات کلیدی:
- کامپایلر .astro و پردازش مارکداون/MDX از نو با Rust نوشته شدن و بیلدها ۱۵ تا ۶۱٪ سریعتر شدن
- پردازشگر جدید مارکداون یعنی Sätteri خیلی امکانات رو بهجای پلاگین، داخلی و پیشفرض پیاده کرده
- آپگرید به Vite 8 باندلر Rust ای به اسم Rolldown رو میاره که ۱۰ تا ۳۰ برابر سریعتر از Rollup ـه
- مسیریابی پیشرفته با فایل src/fetch.ts کنترل کامل خط درخواستها رو میده و کش مسیرها پایدار شده
- امکاناتی مثل سرور توسعهٔ پسزمینه و لاگ JSON مخصوص کار با ایجنتهای کدنویسی هوش مصنوعی اضافه شده




