Vercel взломали — атаковали через сторонний AI-инструмент сотрудника, утекли данные клиентов. Guillermo (CEO) говорит что атака «значительно ускорена ИИ». Ещё один случай supply chain через AI-тул.
React Native 0.85 — наконец-то Unified Animation Backend: width, height, flex теперь анимируются через native driver без падения на JS-нить. Plus: DevTools с одновременными CDP-соединениями, Metro с TLS.
pnpm 11 RC — SQLite-backed store index и supply-chain protection включены по дефолту. На этот раз opinionated — это правильно.
Статьи, мнения, туториалы
CSS
hand-drawn underline на border-shape — Temani Afif превращает скучную border-bottom в нарисованную от руку линию. Генератор формы прилагается. Chrome-only пока что.
CSS position:sticky теперь по осям — девятилетнее issue закрыто: sticky-элемент может отслеживать разные scroll-контейнеры по горизонтали и вертикали. Позволяет layouts, которые раньше были невозможны.
современные CSS-фичи ломаются в Shadow DOM — cascade layers, container queries, @scope, @property ведут себя иначе внутри shadow DOM. Команда Adobe Spectrum задокументировала проблемы.
JS
почему я больше не чейню всё подряд — .filter().map().sort() выглядит чисто, но больно дебажить. Правило: 3-4 шага — разбить на именованные переменные. Для async-цепочек тем более.
Parse, Don’t Validate в TypeScript — branded types и discriminated unions позволяют TypeScript нести доказательство что валидация уже прошла. Без защитных if по всему коду.
Платформа
MDN перестроили без React → Web Components — React был просто обёрткой вокруг статического контента. Теперь кастомный render pipeline и Lit web components. Самый MDN-поступ за всё время.
PWA может ассоциировать себя с файлами — через file_handlers в manifest и launchQueue API: клик по .md-файлу открывает твою PWA. 400KB против 90MB Electron-версии того же приложения.