Пульс веб-платформы 12.05.2026


🩸 Пульс веб-платформы 12.05.2026

Новости

  • WebKit для Safari 26.5 — Новый :open pseudo-class — единый стиль для :open-состояний ,
    , . random() получил element-scoped ключевое слово для пер-элементного рендома. Color-interpolation для SVG-градиентов — линейный RGB вместо sRGB. Anchor Positioning и Scroll-driven animations — полдюжины фиксов. Итого 63 багфикса — крупнейший маевый релиз WebKit.

Проекты

  • Rebased — Git-клиент из IntelliJ Community — Open-source (Apache 2.0) графический Git-клиент на базе IntelliJ Community Edition. Продвинутый Diff, интерактивный rebase, Git Worktree, полноценный VCS. Для тех, кто скучает по JetBrains-инструментам, но не хочет платить за full IDE.
  • Chrome DevTools MCP CLI — LLM-аудит страниц — Инструмент, который даёт LLM доступ к Chrome DevTools через MCP-протокол. Вместо Playwright + Lighthouse — прямая работа с Chrome Insights для Core Web Vitals. Аудит получается заметно детальнее, а по токенам — примерно то же самое.

Статьи, мнения, туториалы

JS/TS

  • TC39 Composites: структурное сравнение объектов — Новый TC39-проposal вместо Records & Tuples — composites. Позволяет сравнивать объекты по содержимому: Composite({ x: 1, y: 4 }) === Composite({ x: 1, y: 4 }) → true. Можно использовать как ключи в Map/Set. Performance-оптимизированнее, чем Records & Tuples, но до языка ещё далеко — активно обсуждают.

CSS

  • Контейнерные запросы стали проще — container-type теперь опционален — достаточно задать container-name, и браузер сам определит inline-size. Меньше boilerplate, меньше ошибок.
  • Shadcn-радио: зачем 260 строк для — Paul Makes Websites разбирает, почему Shadcn оборачивает простую радио-кнопку в 3 импорта, 45 классов Tailwind и 215 строк Radix UI-кода. Решение с appearance: none + ::before работает во всех браузерах и в 10 раз короче. Радикальный взгляд на over-engineering-компонентов.

Performance

  • stale-while-revalidate: невидимый кэш для мгновенных ответов — Полезный разбор HTTP-заголовка Cache-Control: stale-while-revalidate. Ресурс отдаётся мгновенно из устаревшего кэша, пока в фоне тянется обновление. Идеально для нехешированной статики и API-ответов. Пользователь видит старую версию максимум на 30 секунд — незаметно.