Дайджест #60
🦊 Привет, это Фронти!
Я принёс свежий выпуск #60 и собрал главное за неделю ✨
В этом выпуске: современный HTML отбирает работу у JavaScript, CSS балансирует flex-строки и готовится связывать переходы между страницами, Bun 1.4 переехал с Zig на Rust, Solid 2.0 заморозил новый API, а Node.js научился работать с ZIP без сторонних пакетов.
🧪 HTML и веб-платформа
- popover, команды элементов и hidden="until-found" позволяют собирать всё больше интерактивных сценариев без JavaScript.
- Firefox 154 получил новые CSS-возможности, а sibling-index() и sibling-count() добрались до Baseline.
- Firefox и Chrome готовят поддержку JPEG XL с хорошим сжатием, HDR и широкой цветовой гаммой.
- Исследование 657 тысяч адресов показало масштаб link rot: старые страницы переезжают, исчезают и постепенно уносят с собой знания.
🎨 CSS и дизайн
- flex-wrap: balance распределяет элементы по строкам аккуратнее и спасает последнюю строку от одинокой карточки.
- CSS Navigation Matching предлагает описывать разные анимации для переходов вперёд, назад и между конкретными страницами без JavaScript.
- Современный CSS уже позволяет пройти путь от псевдообъёма в духе старого Mario до полноценной 3D-сцены.
- Миграция с Sass на нативный CSS становится всё реалистичнее благодаря переменным, вложенности и новым возможностям платформы.
📦 JavaScript и фреймворки
- Bun 1.4 завершил большой переезд с Zig на Rust, улучшил совместимость с Node.js-инструментами и стал экономнее расходовать ресурсы.
- Solid 2.0 RC встроил асинхронные данные прямо в реактивный граф и заморозил публичный API перед релизом.
- SvelteKit 3 добрался до RC, Ionic Framework 9 вернулся с большим обновлением, а TermDOM принёс HTML, CSS и Grid в терминальные интерфейсы.
- Неделя снова напомнила: для производительности часто полезнее удалить лишний код, чем придумать ещё более хитрый способ его загрузить.
⚛️ React и Next.js
- Lovable рассказала, как постепенно перенесла почти 400 маршрутов и 850 тысяч строк с Next.js на TanStack Start.
- В Next.js закрыли две критические RCE-уязвимости — обновление лучше не откладывать.
- React Canary экспериментирует с browser() для компонентов, которые должны рендериться только на клиенте.
- Oxc ускоряет проверку правил React нативным линтером, а Waku 1.0 RC стабилизирует минималистичный фреймворк на Server Components.
📱 React Native
- React Native 0.87 обновил платформу и базовые инструменты.
- Появились новые решения для 3D-аватаров, фоновых вычислений, OCR, нативных иконок, морфинга изображений и ускорения сборки.
- Кажется, мобильный React окончательно решил, что главный поток слишком молод, чтобы тащить на себе вообще всё.
⚙️ Node.js
- Node.js 26.8 получил встроенный zlib.ZipBuffer для чтения и записи ZIP.
- В Node.js обсуждают единый Fetch Server API для HTTP/1.1, HTTP/2 и HTTP/3.
- fs.glob пробуют ускорить реализацией на C++, а query pipelining в node-postgres обещает увеличить пропускную способность в два–три раза.
- pnpm 12 завершил собственный переезд на Rust, сохранив привычные команды и lock-файл предыдущей версии.
📘 TypeScript
- Неэкспортируемый unique symbol помогает прятать внутреннее состояние объекта от внешнего кода, Object.keys и сериализации.
- Ради эксперимента разработчик пропатчил компилятор TypeScript, чтобы складывать числа во время компиляции. Потому что иногда обычный калькулятор недостаточно типобезопасен.
🤖 ИИ и инструменты
- Разработчики обсуждают «астероид», с которым столкнулся фронтенд: сгенерировать решение теперь проще, чем действительно понять, почему оно работает.
- ИИ-агенты получают постоянную память, собственные IDE, браузеры, наблюдаемость и бенчмарки для React-задач.
- MicroLighter подсвечивает код через CSS Custom Highlights API, не засоряя DOM.
- Stryker Mutator проверяет качество тестов, намеренно ломая код и наблюдая, заметит ли это тестовый набор.
🦊 Лисья шутка недели:
Bun и pnpm переписали части проектов на Rust. Фронти проверил вакансии: в графе «знание JavaScript» теперь всё чаще подразумевается «умение объяснить, почему это снова написали не на JavaScript».
Bun и pnpm переписали части проектов на Rust. Фронти проверил вакансии: в графе «знание JavaScript» теперь всё чаще подразумевается «умение объяснить, почему это снова написали не на JavaScript».
flex-wrap: balance спасает одинокие элементы в последней строке. Наконец-то CSS умеет балансировать жизнь лучше, чем разработчик перед релизом.
А Node.js научился открывать ZIP без пакетов. Ещё пара релизов — и папка node_modules сама аккуратно сложится в архив и извинится за размер.
Полный выпуск уже на месте 👉 https://frontend-weekly.ru/weekly-digest-60/
frontend
frontend digest
html
css
javascript
typescript
react
node.js