Astro 2.10

Автор
Matthew Phillips

Вышел Astro 2.10 с улучшениями экспериментальной поддержки View transitions. Также мы выпустили первую раннюю beta Astro 3.0. Читайте дальше!

Если Astro уже установлен, обновитесь до 2.10:

npm install astro@latest
pnpm upgrade astro --latest
yarn upgrade astro --latest

Заодно обновите интеграции и адаптеры @astrojs/*!

Persistent UI in View Transitions

Первый релиз роутера <ViewTransition /> дал плавные переходы, но stateful islands и элементы всё равно перерисовывались.

В 2.10 добавлена директива transition:persist.

С ней сохраняется состояние DOM-элементов и islands со старой страницы при переходе на новую. Демо.

Чтобы видео продолжало играть при навигации, добавьте transition:persist:

<video controls="" autoplay="" transition:persist>
<source
src="https://ia804502.us.archive.org/33/items/GoldenGa1939_3/GoldenGa1939_3_512kb.mp4"
type="video/mp4"
/>
</video>

Элемент <video> с текущим состоянием переносится на следующую страницу (если видео там тоже есть).

То же для client-side framework islands — состояние счётчика сохраняется:

<Counter count={5} client:load transition:persist />

См. View Transitions Guide.

First Look at Astro 3.0

Первая beta Astro 3.0 как astro@3.0.0-beta.0. Если готовы к приключениям — попробуйте! Пока в основном deprecations и удаление старых паттернов. Возможны проблемы совместимости и breaking changes. Ранний preview меняется быстро!

Заметные изменения:

  • HTML сжимается по умолчанию.
  • API routes используют заглавные имена методов: export function GET() ...
  • Адаптеры сообщают Astro о поддерживаемых возможностях: split entrypoints per page, Sharp / Squoosh.

Changelog со всеми изменениями. Документации по breaking changes пока нет — работаем над гайдом. К 3.0 будет больше информации.

Release candidate — когда все breaking changes завершены. Стабильный 3.0 — конец августа / начало сентября.

More

В релизе также исправления и функции интеграций. См. release notes.