Дайджест #68
🦊 Привет, это Фронти!
Я принёс свежий выпуск #68 и собрал главное за неделю ✨
В этом выпуске: разработчики выбирают приоритеты Interop 2027, CSS осваивает random(), форматирование JavaScript превращает Tetris в Snake, TanStack Start 1.0 выходит в стабильную версию, TypeScript ускоряется, а Astro помогает выяснить, куда уходит время сборки.
Полный выпуск 👉 frontend-weekly.ru/weekly-digest-68/
🧪 HTML и веб-платформа
- Для Interop 2027 можно выбрать возможности, которые хочется видеть одинаково работающими во всех браузерах.
- Chrome 157 тестирует новые CSS-возможности и завершает отказ от события unload. Для реакции на уход со страницы пора присмотреться к pagehide и visibilitychange.
- JPEG XL теперь поддерживают основные браузеры. В выпуске — сравнение с AVIF и галерея изображений размером меньше 200 байт.
- CrUX экспериментально начинает учитывать переходы между экранами в SPA, а материалы о WCAG 3 напоминают: доступность шире списка пройденных проверок.
🎨 CSS и дизайн
- В Chrome 156 появилась random(): небольшую случайность в расположении элементов теперь можно добавить прямо в CSS.
- calc-size() и round() помогают подогнать высоту блока под целое число повторений фонового узора.
- Для анимаций при прокрутке появилось расширение DevTools, которое показывает диапазоны запуска и текущее состояние.
📦 JavaScript
- Код Tetris после форматирования превратился в Snake. Отличный повод проверять результат преобразований тестами.
- Интерактивный разбор Proxy показывает, как привычный объект может вести себя совсем непривычно.
- Переход Trigger.dev с Zod 3 на 4.5 сократил расход CPU на валидацию примерно на треть при ста миллионах разборов в день.
⚛️ React и фреймворки
- TanStack Start 1.0 стал стабильным: маршрутизация, серверные функции и рендеринг собрались в полноценный React-фреймворк.
- Next.js закрыл две критические уязвимости. Проектам на нём стоит проверить обновление до исправленной версии.
- React Router 8.5 передаёт переходы между страницами компоненту React ViewTransition.
- Astro 7.4 добавил astro build --timings, чтобы находить медленные этапы сборки.
- Команда Vite открыла исходный код Void — инструментов для полноценных приложений и их развёртывания.
📘 TypeScript
- Экспериментальный компилятор tsrs на Rust обещает заметное ускорение проверки типов; пока его лучше пробовать параллельно с привычным компилятором.
- TypeScript 7.1 вышел в бета-версии с программным API и дальнейшими улучшениями скорости.
⚙️ Рантаймы
- Для поддерживаемых веток Node.js вышли обновления безопасности, в том числе с исправлениями проверок DNS-имён и TLS-сертификатов.
- Deno присоединился к Cloudflare, а для Bun обсуждают предварительную компиляцию JavaScript. У обоих событий пока интереснее всего наблюдать за следующими шагами.
🤖 ИИ и разработка
- На этой неделе обсуждают, как проверять код агентов: линтером ловить повторяющиеся ошибки, а тестами — проверять важные пользовательские сценарии.
- Агентам дают больше способов увидеть результат своей работы: от данных React DevTools до скриншота открытой вкладки.
- Отдельные инструменты помогают сохранять контекст проекта и устраивать циклы проверки и исправления кода.
🧰 Инструменты и графика
- Chartist 2.0 строит лёгкие SVG-графики, которые можно оформлять CSS и рендерить на сервере.
- Pele превращает Mermaid-диаграммы в адаптивный SVG с настройкой цветов через CSS-переменные.
- А ещё в выпуске — SVG в 3D, React-интерфейсы в терминале и музыкальная схема, которая превращается в код.
🦊 Лисья шутка недели:
Chrome добавил random() в CSS. Я всю неделю пытался сделать интерфейс предсказуемым, а теперь у хаоса есть официальная документация.
Отформатировал Tetris — получил Snake. С тех пор коммит style: format у нас проверяет ещё и геймдизайнер.
digest
frontend digest
html
css
javascript
react
node.js
typescript