Rust-компилятор Astro 7 обещает сборку быстрее на 15–61% — но не для всех
Astro 7 переписала компилятор .astro на Rust (oxc и Lightning CSS) и заменила весь стек remark/rehype для маркдауна собственным Rust-движком. Заголовки обещают ускорение сборки, но тред в основном обсуждал поломки при обновлении.
Переделка глубокая: движок рендеринга ускорился примерно в 2,4 раза, а Astro перешла на Vite 8 с новым бандлером Rolldown — команда заявляет ускорение в 10–30 раз по сравнению с Rollup. Некоторые сайты теперь собираются больше чем вдвое быстрее, чем на v6.
Но тред заметил нюансы: строгая компиляция HTML падает с ошибкой на незакрытых тегах, а значит блокирует апгрейд сайтов с неаккуратным внешним контентом. У одного разработчика сборка не ускорилась, а слегка замедлилась. Инженер, написавший новый Rust-компилятор, сам отвечает на вопросы в треде.
Внутри переписывания: новый компилятор и самодельный движок маркдауна

Astro 7.0 переписывает внутреннюю «сантехнику» проекта на Rust. Ощутимее всего это сказалось на времени сборки: вот собственный бенчмарк команды на M4 Pro.
| Сайт | Astro 6 | Astro 7 |
|---|---|---|
| astro.build | 62.70s | 24.24s |
| docs.astro.build | 114.54s | 73.53s |
| tauri.app | 86.12s | 55.33s |
| biomejs.dev | 176.39s | 149.90s |
| developers.cloudflare.com | 386.89s | 261.94s |
| aspire.dev | 385.84s | 326.11s |
Второе крупное изменение незаметно, пока не сломает что-нибудь. Astro отказалась от стека unified/remark/rehype в пользу собственного Rust-процессора Sätteri (pulldown-cmark для CommonMark, Oxc для MDX), забрав в ядро поддержку GFM, математики, ID заголовков, умной пунктуации и вики-ссылок. Переписанный компилятор больше не чинит вашу разметку молча: незакрытые теги и незавершённые атрибуты теперь выбрасывают ошибку, а пробелы между инлайн-элементами схлопываются по правилам JSX. Также в релизе: совместимый с Hono конвейер запросов через новый src/fetch.ts, стабильное кеширование маршрутов и AI-режим, в котором astro dev работает в фоне и пишет структурированные JSON-логи; команда называет это самым востребованным пунктом в дорожной карте.
Налог на обновление, о котором никто не предупредил
Переход на Rust принёс более строгий компилятор, и именно здесь появились первые жалобы. Astro больше не исправляет разметку автоматически, а это проблема, если разметку чинить не вам.
«Переход на строгую компиляцию HTML попросту не крут: он реально мешает обновлять сайты, которым приходится иметь дело с внешним контентом, написанным не по строгим правилам HTML». — разработчик, которому приходится рендерить внешний контент
Замена движка маркдауна вызвала похожее беспокойство, но с другой стороны: ради скорости Astro оставляет позади экосистему rehype.
«Менять широко поддерживаемый unified/rehype на свои, несовместимые с rehype инструменты только ради скорости сборки: довольно печально. Хорошо, что оставили способ продолжать использовать rehype, но не уверен, что он продержится долго». — разработчик, зависящий от плагинов rehype
Инженер, который всё это написал, сам отвечает на вопросы
Автор нового конвейера пришёл в тред принимать удар лично:
«Это я сделал Rust-компилятор и Rust-конвейер для маркдауна в этом релизе. Если есть вопросы, спрашивайте, с радостью отвечу на всё!» — инженер, создавший Rust-компилятор Astro 7 и Sätteri
Не все цифры сдвинулись в обещанную сторону. Апгрейд одного разработчика пошёл вразрез с заголовками релиза:
«Я недавно обновил свой сайт, и это круто! Тем не менее… мои сборки не ускорились (в среднем они даже немного замедлились)». — разработчик, у которого обновление замедлило сборку
Менее заметную победу приняли теплее: число зависимостей упало с 247 в v6 до 190 в v7, и разработчик, который отслеживал эти цифры расценил это как знак, что экосистема JS наконец-то худеет.
Значит ли «7» в номере версии семь ломающих изменений?
За списком новых возможностей пряталось постоянное беспокойство насчёт темпа Astro. Каждый мажорный релиз ускоряет сборку и приносит с собой миграцию.
«Значит ли номер v7, что уже было 7 ломающих изменений? То есть если я начал проект на v1, мне пришлось переделывать его 6 раз? Если да, то эта нестабильность меня всерьёз беспокоит». — разработчик, который решает, стоит ли переходить на Astro
Другой только что закончил переезд на Astro 6, когда вышла версия 7. Если вы поддерживаете сайт на Astro, вот реальная цена этого релиза: сборка стала быстрее, и за это снова придётся заплатить при следующем мажорном обновлении.
Получайте такие разборы каждый день
Главные истории Hacker News — на email, в Telegram или RSS.
Первокурсник собрал сайт по «списку Ильи» — источник списка потерялся
notmcrowley, первокурсник факультета computer science в Trinity College Dublin, сделал сайт 30papers.com, потому что тратил лимит Claude на одни и те же базовые вопросы об известных статьях по машинному обучению. А читатели тут же спросили очевидное: есть ли вообще доказательства, что список составил именно Илья Суцкевер?