Дайджест #57
🦊 Привет, это Фронти!
Я принёс свежий выпуск #57 и собрал главное за неделю ✨
В этом выпуске: веб-шрифтам WOFF исполнилось 16 лет, Chrome учится измерять производительность отдельных компонентов, CSS нашёл бесконечность, Rust продолжает ускорять JavaScript-инструменты, TanStack отказался от RSC на своём сайте, а npm начинает проверять пакеты на вредоносный код ещё при публикации.
🧪 HTML и веб-платформа
- WOFF исполнилось 16 лет — хороший повод вспомнить, что привычные веб-шрифты появились благодаря не только технологиям, но и договорённостям об открытых форматах.
- Chrome запустил origin trial для Container Timing API: теперь можно измерять, когда отрисовались значимые части конкретного компонента, а не только вся страница.
- Web Locks API помогает вкладкам не устроить гонку за токеном, синхронизацией или записью в локальное хранилище.
- Firefox показал новый дизайн в Nightly, а Safari 26.6 продолжил дорабатывать WebKit.
- Веб снова становится визуальнее: SVG-фильтры для текста, лёгкая загрузка анимаций через предварительную картинку и OKLCH-рендеринг на GPU.
🎨 CSS и интерфейсы
- В CSS-математике появились константы e, pi, infinity и NaN. Теперь верхнюю границу можно задать буквально бесконечностью.
- conic-gradient() пригодится не только для диаграмм: им удобно собирать треугольники, лучи и анимированные фигуры без лишней разметки.
- sibling-index() позволяет анимировать списки с разными задержками без ручных классов и JavaScript.
- CodePen 2.0 получил новый редактор и публикацию работ на собственных поддоменах.
- Zero-runtime CSS-in-JS всё ещё держится: Linaria и другие решения продолжают переносить работу со стилями на этап сборки.
📦 JavaScript
- Rust всё активнее забирает критичные части инструментов: Rspack, Biome, Turbopack и Bun ускоряют сборку, линтинг и рантаймы, не заменяя JavaScript в браузере.
- import defer дошёл до Stage 3: зависимость можно будет объявить заранее, а выполнить тогда, когда она действительно понадобится.
- Promise.allKeyed тоже на Stage 3 и обещает сделать ожидание объекта с промисами чуть менее многословным.
- Oxlint стабилизировал type-aware linting, а deno compile экспериментирует с QuickJS ради меньших бинарников.
- htmx 4.0 представили даже на картридже для Game Boy — HTML-ориентированная интерактивность явно умеет выбирать носители.
⚛️ React и React Native
- Алекс Расселл снова спорит с привычным пониманием state management: store хорошо распространяет состояние, но не решает конфликты, время и офлайн-синхронизацию.
- React 19.2.8, 19.1.9 и 19.0.8 закрывают DoS-уязвимость в server functions — обновиться стоит без ожидания большого релиза.
- TanStack перестал использовать RSC на своём сайте: после облегчения Markdown и подсветки кода обычный SSR оказался проще и быстрее.
- Shopify уместил пять checkout-виджетов в 64 КБ, заменив React на Preact и веб-компоненты там, где каждый килобайт действительно важен.
- shadcn/ui добавил React Aria как основу компонентов, а TanStack выпустил собственные Markdown, Highlight и экспериментальные Charts.
🛰️ Фреймворки и сборка
- Octane от автора Inferno предлагает React-подобные JSX-компоненты, но строит реактивность на этапе компиляции и обходится без VDOM.
- Ember 7.1, Nuxt 4.5.1 и 3.21.10, Vue 3.6 RC2 и Wasp 0.25 принесли очередные обновления экосистем.
- GTKX позволяет собирать нативные Linux-приложения на React и GTK4.
- SvelteKit продолжают соединять с Cloudflare Workers и Hyperdrive для edge-приложений с базой данных.
⚙️ Node.js и безопасность
- npm начнёт сканировать пакеты на вредоносный код прямо во время публикации. Релизы могут задерживаться на несколько минут, зато окно для supply-chain-атак станет меньше.
- Июльские security-релизы Node.js исправляют 11 CVE: обновления вышли для веток 26, 24 и 22.
- Node.js Core напоминает: от prototype pollution не спасёт один флаг — границу доверия нужно выстраивать там, где недоверенный JSON попадает в приложение.
- pnpm получил doctor и управление релизами workspace, ESLint — codemod-миграции, а jsdom 30 — ещё немного CSS API.
- Разборы компрометации AsyncAPI и атак через популярные npm-пакеты ещё раз напоминают: postinstall — далеко не единственное место, где прячется риск.
🤖 ИИ и агентная разработка
- A11Y.md предлагает хранить правила доступности рядом с проектом, чтобы агенты помнили о семантике, клавиатурной навигации и контрасте не только по просьбе в чате.
- Появляются инструменты для агентных workflow, диаграмм Draw.io, поиска по коду и управления несколькими coding-агентами.
- AI Interaction Atlas предлагает общий язык для проектирования ИИ-интерфейсов: задач, действий пользователя, данных и ограничений.
⚒️ Инструменты и библиотеки
- MapLibre GL JS 6 перешёл на ESM, требует WebGL 2 и получил оптимизации.
- Canvas UI исследует интерфейсы на Canvas и WebGL, а KaTeX быстро рендерит формулы TeX в HTML.
- Bruno 4, eslint-package-json, isomorphic-git, Satori, dompdf.js и hihtml пополняют набор полезных инструментов вокруг фронтенда.
- OverflowGuard замечает, когда навигация и тулбары перестают помещаться, а не заставляет угадывать ещё один магический брейкпоинт.
🦊 Лисьи шутки недели:
CSS получил infinity, и теперь у дизайнера наконец-то есть честный ответ на вопрос: «а какой тут должен быть max-width?» — «да».
Web Locks API научил вкладки договариваться, кто обновляет токен. Осталось добавить его в семейный тариф: пусть хотя бы одна вкладка знает, что делает.
TanStack убрал RSC со своего сайта после оптимизации Markdown. Получается, лучший способ ускорить React-приложение — сначала перестать отправлять в браузер литературное собрание сочинений.
Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-57/
frontend digest
digest
html
css
javascript
typescript
react
node.js