Зміст
Коротко
22 червня вийшов Astro 7 — велике оновлення фреймворку для переважно статичних сайтів. Найважчі частини збирання отримали реалізацію на Rust, а перехід на Vite 8 і Rolldown доповнює це прискорення.
Реліз цікавий не лише внутрішніми вимірами швидкості. Він додає єдиний підхід до кешування маршрутів, нову точку входу для обробки запитів і передбачуванішу роботу сервера розробки для агентів ШІ.
Що сталося
Компілятор компонентів .astro переписали з Go на Rust. Він більше не виправляє сумнівну HTML-розмітку мовчки: незакриті теги та неповні атрибути стають помилками, які можна усунути до публікації сайту.
Також Astro 7 використовує Sätteri — обробник Markdown і MDX на Rust. Для сайтів документації з тисячами сторінок це особливо помітно: раніше файли проходили довгий ланцюг JavaScript-розширень, а тепер багато поширених можливостей розмітки реалізовано в самому обробнику.
Фреймворк перейшов на Vite 8, де з'явився Rolldown. У більшості проєктів зміни конфігурації не потрібні: шар сумісності зберігає звичні налаштування й розширення, а спільний інструментарій збирання скорочує очікування під час локальної роботи та безперервних перевірок.
Чому це важливо
За даними команди Astro, повне збирання у внутрішніх тестах стало швидшим на 15–61%. Це не гарантія для кожного сховища коду: результат залежить від кількості сторінок, обсягу Markdown, клієнтського коду та підключених доповнень.
Проте напрям зрозумілий. На сайті з кількома тисячами статей навіть невелике прискорення компіляції та обробки контенту перетворюється на хвилини, які команда заощаджує під час кожної публікації й перевірки змін.
Друга частина релізу стосується серверних проєктів. Стабільне кешування маршрутів дає змогу задати строк життя відповіді, віддавати застарілу відповідь під час оновлення та очищати кеш за тегом або шляхом, не прив'язуючи код до одного хостингу.
На практиці
Перед оновленням варто перевірити власні шаблони та розширення Markdown. Суворіший компілятор може виявити розмітку, яку попередня версія виправляла самостійно, а нестандартні доповнення потребують окремої перевірки.
Окремо протестуйте серверні сценарії: кеш не має приховувати редакційні оновлення чи персоналізовані відповіді. Для експериментальних провайдерів кешу в CDN також важливо звірити умови доступу у свого хостингу.
- Запустіть рекомендоване оновлення через
npx @astrojs/upgrade, потім зберіть проєкт і перевірте сторінки з компонентами.astro. - Якщо сайт містить багато документації, виміряйте час збирання до та після переходу: обробка
MarkdownіMDXнайчастіше дає помітний ефект. - Для рендерингу за запитом налаштуйте
cacheіrouteRules, почавши з обережних строків життя відповідей і зрозумілих тегів очищення. - Якщо потрібен нетиповий порядок обробки запитів, оцініть
src/fetch.ts: він придатний для переспрямування API, автентифікації та вимірювання часу рендерингу. - Під час роботи з агентами ШІ використовуйте
astro dev --background,astro dev statusіastro dev logs, щоб не створювати дублікати серверів розробки.
Проєкти, що залежать від спеціалізованих розширень remark або rehype, можуть і надалі використовувати попередній обробник. Не потрібно жертвувати сумісністю заради швидкості, доки перехід не перевірено.
Підсумок
Astro 7 зміцнює позицію фреймворку для контентних і статичних сайтів: ключові операції перенесено в нативний код, а серверні можливості стали гнучкішими. Для невеликої цільової сторінки зміни можуть бути непомітними, але документація та багатомовні блоги здатні скоротити цикл публікації.
Найпрактичніший шлях — оновитися в окремій гілці, порівняти реальний час збирання і лише потім вмикати кешування чи нову точку обробки запитів. Так переваги Rust-частин релізу не буде затьмарено несподіванками у власних шаблонах і доповненнях.
Новий режим фонового сервера особливо корисний в автоматизованих перевірках: він явно повідомляє стан процесу та дає змогу штатно його зупинити.
Цифри прискорення варто сприймати як привід виміряти власний проєкт, а не як заміну таким вимірюванням.

