Дайджест #51
🦊 Привет, это Фронти!
Я принёс свежий выпуск #51 и собрал главное за неделю ✨
В этом выпуске: MDN подключается к AI-агентам, Babel 8 окончательно выбирает ESM, React Compiler переписывают на Rust, TypeScript 7 добрался до RC, Node.js закрывает 11 уязвимостей, npm готовится отключить install scripts, а WASI 0.3 приносит асинхронность в WebAssembly.
🧪 HTML и платформа
- MDN представила официальный MCP-сервер: AI-агенты смогут сверяться со свежей документацией и поддержкой API прямо во время работы.
- WebKit напомнил главное правило кастомизируемого <select>: текст в <option> нельзя заменять одними иконками и цветом.
- В WHATWG предложили встроенное локализованное отображение времени без дополнительного JavaScript.
- Chrome экспериментирует с потоковым HTML через textStream(), а Firefox 152 получил field-sizing.
🎨 CSS и дизайн
- У CSS @function обнаружились важные особенности области видимости, которые стоит учитывать авторам библиотек.
- Для 3D View Transitions недостаточно повесить perspective на привычного родителя: псевдоэлементы живут в отдельном дереве.
- Круговые диаграммы, текстурированные 3D-модели и реактивные эффекты всё увереннее собираются средствами CSS — иногда даже без Canvas и WebGL.
📦 JavaScript
- Babel 8 вышел спустя примерно восемь лет после прошлого major-релиза: теперь только ESM, встроенные TypeScript-типы и никаких ES5 с CommonJS по умолчанию.
- numpy-ts приблизился к нативной скорости благодаря аккуратной работе с памятью и сокращению копирований.
- zod-compiler превращает Zod-схемы в быстрые валидаторы, а Compilecat исследует глубокую оптимизацию целых программ.
- В eslint-plugin-unicorn уже 200 строгих правил — включая рекомендации предпочитать Temporal и HTTPS.
⚛️ React и фреймворки
- React Router 8 сознательно выбрал предсказуемый релиз без архитектурной революции. Иногда «скучно» — это именно то, чего хочется от роутера.
- Rust-версия React Compiler вошла в основной репозиторий React и постепенно появляется в Next.js, SWC, Oxlint и Rolldown.
- React Redux экспериментирует с signals для более точечных обновлений компонентов.
- Миграция на Next.js App Router помогла одной команде сократить число медленных ответов на 80%.
- SvelteKit 3, Vue 3.6, Vite 8.1 и Astro 7 одновременно готовят новые версии.
📘 TypeScript
- TypeScript 7.0 дошёл до RC: будущий major уже можно проверять на настоящих проектах.
- TanStack сократил объём проверки сложных типов Table v9 на 62–86%, вернув редактору желание жить.
- Современный Flow стал ближе к TypeScript по синтаксису, но сохранил более строгий взгляд на потенциально опасный код.
⚙️ Node.js
- В поддерживаемых ветках Node.js закрыли 11 уязвимостей, включая две проблемы высокой серьёзности.
- npm 12 перестанет автоматически выполнять install scripts: опасные postinstall больше не смогут притворяться обычной частью знакомства.
- Nub дополняет Node.js удобствами современных рантаймов — TypeScript, защищённой установкой пакетов и работой с .env.
- Поддельное тестовое задание от «рекрутера» оказалось Node.js-проектом с бэкдором. Ещё один повод сначала читать чужой код в изоляции и только потом запускать.
- Neon реализовал аналог psql целиком на TypeScript и удержал совместимость с помощью эталонных тестов.
🧬 WebAssembly
- WASI 0.3 добавляет нативную асинхронность компонентам WebAssembly для сети, файлового ввода-вывода и долгих операций.
- Старый USB-сканер удалось вернуть к жизни через WASM-эмулятор и WebUSB прямо в браузере.
🤖 ИИ
- TanStack AI вышел в beta и предлагает единый слой для разных моделей, провайдеров и UI-фреймворков.
- Веб-семантика, доступность и понятная структура страниц снова выглядят полезнее специальных API только для агентов: хороший веб понятен и людям, и машинам.
⚒️ Инструменты
- Playwright 1.61 научился тестировать passkeys и напрямую управлять localStorage и sessionStorage.
- Billboard.js 4 получил быстрый Canvas-рендеринг для больших наборов данных.
- Mitos превращает изображения в программируемую ASCII-графику, а Templatical позволяет встраивать drag-and-drop редактор писем.
- Biome преодолел отметку в 500 правил, а ESLint 10.5 стал точнее подсвечивать проблемный код.
🦊 Лисья шутка недели:
React Router 8 назвали «скучным», и фронтендеры впервые обрадовались: роутер наконец перестал быть главным сюжетным поворотом приложения.
React Router 8 назвали «скучным», и фронтендеры впервые обрадовались: роутер наконец перестал быть главным сюжетным поворотом приложения.
npm отключает install scripts по умолчанию. Теперь пакетам придётся спрашивать разрешение, прежде чем скачать бинарник, пересобрать полпроекта и загадочно прогреть ноутбук.
А Babel 8 перешёл только на ESM — где-то один древний require() уже пишет пост: «После восьми лет вместе меня просто экспортировали из отношений».
Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-51/
frontend digest
digest
html
css
javascript
node.js
typescript
react