Chrome 149: Immediate UI mode для паролей и passkeys — Браузер теперь может сам предложить сохранённые учётки при клике на кнопку входа — без редиректа на отдельную страницу и ручной формы. Origin Trial уже отыгрался, API стабилизировалась (с изменением: теперь нужен uiMode: ‘immediate’ вместо mediation: ‘immediate’).
Vite 8: esbuild и Rollup уходят, приходит Rust-бандлер — Vite 7 разделил пайплайн: esbuild для dev-зависимостей, Rollup для продакшн-бандла. Каждый движок со своей семантикой модулей и tree-shaking. Восьмёрка убирает оба и ставит на их место единый Rust-бандлер — одна семантика, один бэкенд.
TanStack: 84 npm-пакета скомпрометированы через CI/CD — Socket обнаружили Malware Mini Shai-Hulud в пакетах @tanstack. Злоумышленники пролезли через GitHub Actions (pull_request_target + OIDC-токены) и автоматически запускались через npm lifecycle hooks. Заражены даже @tanstack/react-router с 12 млн загрузок/неделю. Покрути секреты, если ставили.
Статьи, мнения, туториалы
JS/TS
Зачем ИИ использует void в JavaScript и когда это оправдано — Короткий разбор оператора void: он вычисляет выражение и всегда возвращает undefined. В контексте ИИ-генерации кода void чаще всего используют, чтобы показать — промис запускается «в фоне» без ожидания результата. Полезно знать, чтобы не путать с C#.
CSS
Рисуем квадратные точки через conic-gradient (Chris Coyier) — Chris Coyier показывает, как рисовать паттерн из квадратных точек без растровых картинок — одним conic-gradient с жёсткими стоп-цветами. Три четверти области прозрачная, последняя четверть — точка. background-size + background-repeat = повторяющийся узор. Проще, чем линейные градиенты-маски.