Frontend Weekly Поддержи
На главную

Еженедельный дайджест #22: Новости фронтенда

Как читать этот дайджест
  • Начните с заголовков статей, чтобы получить общее представление о содержании
  • Быстро пробегитесь по первым абзацам, чтобы понять актуальность материалов именно для вас
  • Выберите наиболее интересные или полезные темы под текущие задачи
  • Планируйте чтение: выделите, например, 15 минут утром и 15 минут вечером
  • Не пытайтесь прочитать всё сразу — возвращайтесь к дайджесту в удобное время
  • При повторном просмотре читайте выбранные статьи более вдумчиво, делая заметки
  • Не сожалейте, если прочитали лишь часть: ценность в качестве, а не в количестве
  • Используйте закладки для сохранения интересных материалов
  • Делитесь инсайтами и ссылками с коллегами — так информация лучше усвоится
URLPattern в Baseline! 🎯
Vitest 4.0 вышел! 🧪
Next.js 16 с Turbopack! 🚀
Node.js 25 готов! 🟢
CSS inherit() крут! 🎨
Bun 1.3 фулл-стек! 💪
ARIA состояния! ♿
JSON import vs fetch! 📦
ChatGPT Atlas браузер! 🤖
Biome 2.3 с Vue! ⚡
Фронти - маскот дайджеста

🧪 HTML и Платформа

Доступность (A11y) и UI-паттерны

🎨 CSS и дизайн

25 крутых возможностей CSS за 25 минут

Энергичное выступление от Адама Аргайла: современный CSS уже умеет авто-подгон размеров полей, стили скроллбаров, матфункции, анимации, «привязанные» к прокрутке и многое другое. У видео есть и конспект со слайдами — удобно, если хотите примеры кода без просмотра. Смотрите видео-доклад и листайте слайды со списком фич.

Эволюция «мэсонри» (кирпичной раскладки)

Высокоуровневый обзор того, как развивалась идея CSS-мейсонри: от первых предложений до текущего состояния спецификаций и обсуждений. Полезно, чтобы понимать, почему некоторые фичи идут к нам годами. Читайте про эволюцию Masonry.

Контекстно-зависимые компоненты и новая функция inherit()

Функция inherit() (ещё в разработке) работает похоже на var(), но открывает путь к компонентам, которые «подстраиваются» под окружение — без тонны пропов и темизации. Небольшой гид по идеям и кейсам: как это упростит дизайн-системы. Разбор: как inherit() упростит дизайн-системы.

Подводный камень у @starting-style

@starting-style позволяет делать «входные» анимации через обычные CSS-переходы (поддержка ~85%). Автор показывает, где фича заходит отлично, а где ведёт к неожиданностям. Детали: главный «гоча» @starting-style и таблица поддержки.

Anchor Positioning — актуальное состояние, осень 2025

Короткий апдейт по якорному позиционированию: что уже можно использовать, что экспериментально и где подводные камни. Обзор: обновления Anchor Positioning.

  • «Кому летающие машины, когда у нас есть display: grid» — вдохновляющая заметка о радостях современного CSS: немного любви к Grid.
  • Большой современный разбор CSS-layout от Dr. Axel Rauschmayer: Flexbox, Grid, медиазапросы и контейнер-квери — отличная «шпаргалка» не только для новичков — прочитать материал.

Присоединяйтесь Telegram-каналу

Получайте уведомления о новых дайджестах, обсуждайте новости с коллегами и делитесь своим опытом в дружелюбном сообществе фронтенд-разработчиков

Подписаться

📦 JavaScript

JSON: import против fetch — что выбрать

Импорт атрибуты теперь широко поддерживаются, и JSON можно грузить через import с атрибутами, а не только fetch. Джейк Арчибальд разбирает, когда импорт удобнее, а когда проще остаться на fetch: прочитать разбор. Для старта загляните и в описание import attributes.

  • URL Pattern API пополнил Baseline: Newly available — удобный способ матчить и разбирать URL-шаблоны: детали.
  • Асинхронные циклы без ловушек: почему await в for...of — последовательно, почему map(async …) «не ждёт», и какие шаблоны реально работают — разбор.
  • Boa v0.21 — JS-движок на Rust с поддержкой Temporal: релиз.

TypeScript

  • Решаем головоломку NYT «Pips» на TypeScript — хороший повод прокачать алгоритмическое мышление: прочитать.
  • 4 нестандартных способа кастинга в TypeScript — полезные трюки для рефакторинга типов: заметка.

⚛️ React

Vitest 4.0: Vite-нативный тест-раннер стал ещё мощнее

Вышел крупный релиз Vitest 4.0 — тест-фреймворка на базе Vite и с совместимостью с Jest. В 4.0 добавили визуальные регрессионные тесты, стабилизировали Browser Mode — запуск тестов прямо в браузере, завезли поддержку Playwright Traces и многое другое. Если сомневаетесь, посмотрите сравнение с другими раннерами — станет понятнее, когда Vitest удобнее Jest. Источник: анонс Vitest 4.0

  • Начиная с Angular 21, Vitest становится тест-раннером «по умолчанию», заменяя Karma/Jasmine — подробности.

Next.js 16: стабильные Turbopack и React Compiler, новый кеш и MCP-сервер

На Next.js Conf представили Next.js 16. В релиз вошли стабильные поддержка Turbopack и React Compiler, новые «компоненты кеширования», а также MCP-сервер для AI-ассистированного дебага. Если работаете с App Router — будет чем развлекаться. Посмотреть можно анонс и описание и трансляцию конфы.

  • Solito 5.0: мост между React Native и Next.js для переиспользования навигации. Теперь с поддержкой Next.js 16 и Expo 54, при этом без зависимости от React Native Web — анонс и сайт проекта.

  • React vs Backbone в 2025 — ностальгический разбор, зачем нам был Backbone и как далеко ушёл React: прочитать заметку.

  • React и Remix выбирают разные пути развития — коротко про размежевание подходов: статья.

  • «Год с App Router и почему мы уходим» — опыт команды и их причины сменить стек: заметка.

⚙️ Node.js

Node.js 25: релиз «Current»

Вышел Node.js v25.0.0 — в этом релизе по умолчанию включено Web Storage, ускорен JSON.stringify, в модель разрешений добавлен флаг --allow-net, появились встроенные конвертеры base64/hex для Uint8Array, а также оптимизации для WebAssembly и JIT. С выходом 25-й ветки Node 24 скоро станет «active LTS», а Node 22 перейдёт в «maintenance LTS». Подробнее в заметке на сайте nodejs.org и в описании permission model.

  • 💡 Вышел LTS-патч: Node v22.21.0 — добавлены --use-env-proxy и переменная окружения NODE_USE_ENV_PROXY для работы через прокси.
  • ▶️ Записи докладов Nordic.js 2025 уже на YouTube: посмотрите выступление Joyee Cheung про поставку пакетов в 2025 и доклад Marco Ippolito про файл node.config.json в Node 23. Плейлист — тут.
  • Слайды Ruy Adorno с JSConf: «Что нового и что дальше в Node.js». Анонс события — JSConf.
  • CLI на Ace (Node/Bun): как сделать мини-приложение «закладки» на фреймворке Ace от команды AdonisJS. Короткая, практичная статья с примерами. Почитать: «Building CLIs with Ace», посмотреть Ace и его репозиторий; про AdonisJS — здесь.
  • Backpressure и DTrace в Node.js: автор показывает, как отключение backpressure резко увеличивает нагрузку на GC, и как это померить с помощью DTrace. Разбор полезен всем, кто работает с потоками. Читать: эссе Tyler Hillery и введение в backpressure.
  • Покрытие кода в Node Test Runner: у встроенного тест-раннера есть нативная поддержка coverage — документация объясняет, как её включить и использовать. Подробнее: руководство.
  • Почему typeof null === "object"? Исторический экскурс с деталями стандарта — полезно, если вы когда-то спотыкались об это поведение. Подробности: разбор.
  • Bun 1.3.1 — минорное обновление после большого 1.3: релиз-ноты и анонс 1.3 для контекста.
  • Deno Deploy — сводка свежих улучшений платформы деплоя от команды Deno: читать апдейты.

📊 Видео и статьи

🤖 ИИ

  • ChatGPT Atlas — новый Chromium-браузер с «встроенным» ИИ-чатом и агентами. Пока доступен на macOS, Windows и мобильные версии обещаны позже. Узнайте подробнее на странице анонса.

⚒️ Инструменты и библиотеки

  • Wretch 3.0 — обёртка над fetch с «читаемым» fluent-API: меньше бойлерплейта, лучше обработка ошибок, умные ретраи и прогресс загрузки. Ознакомиться: анонс 3.0 и примеры. Страница проекта: Wretch.
  • Graffle 7.3 — лёгкий GraphQL-клиент (ранее graphql-request), теперь с поддержкой CommonJS для Jest и не-ESM-систем. Подробнее: релиз 7.3.
  • DOMPurify 3.3 — быстрый и «толерантный» санитайзер HTML от XSS; поддерживает Node и современные браузеры. Потестировать можно в лайв-демо. Репозиторий: DOMPurify.
  • ImapFlow — современная и простая библиотека IMAP-клиента для взаимодействия с почтовыми серверами. Смотреть: сайт проекта.
  • ATSippy — клиент для Bluesky Jetstream с переподключением и сжатием; поможет слушать «файрхоза» событий Bluesky. Подробности: ATSippy и описание Jetstream.
  • Obra Icons — аккуратный набор из 1000+ иконок: скачивайте в SVG/PNG или копируйте код под React/Svelte. На странице можно сразу поиграть с толщиной и размером.
  • Web Codegen Scorer — утилита от команды Angular для оценки качества веб-кода, который генерируют ИИ-модели. Помогает сравнивать модели и отслеживать прогресс. Смотрите инструмент на GitHub.
  • Format JSON Online — комбайн для JSON: форматирование, проверка, преобразования и даже ИИ-помощь в исправлении/генерации. Пробуйте набор инструментов.
  • Грейскейл → STL — браузерный конвертер из оттенков серого в 3D-модель (под Three.js). Полезно для «барельефов», карт высот и 3D-печати. Код: репозиторий и демо-страница.
  • ColorMate — простые генераторы палитр, градиентов и извлечения цветов из изображений. Откройте набор цветовых утилит.
  • Публичный фотосток WordPress — 28 000+ изображений в паблик-домене: забирайте свободные фото.
  • Biome 2.3 — быстрый форматтер/линтер теперь с поддержкой Vue, Svelte и Astro: анонс.
  • ESLint 9.38.0, Astro 5.15, pnpm 10.19, Rspack 1.6.0 beta1сводка релизов, Astro, pnpm, Rspack beta.
  • Ky 1.13 — минималистичный HTTP-клиент на базе Fetch. Удобнее, чем «чистый» Fetch, и альтернатива Axios. В 1.13 добавили context для переиспользуемых клиентов. Примеры — посмотреть, релиз — читать, репозиторий — открыть.
  • JustGage 2.0 — рисуем и анимируем «приборные» SVG-шкалы на чистых браузерных API; есть playground — демо и опции.
  • MaxIntervalCover — библиотека для вычисления оптимального набора непересекающихся интервалов (полезна для планировщиков/таймлайнов) — репозиторий.
  • p-limit 7.2 — ограничиваем конкурентность промисов; теперь .map() принимает любой Iterable, а не только массив — релиз.
  • Repomix 1.8 — «упаковывает» весь репозиторий в один LLM-дружелюбный файл; появились плагины для Claude Codeанонс.
  • ESLint Markdown Language Plugin 7.5 — линт JS/TSX-блоков прямо в Markdown — релиз.

Обновления

  • Faker 10.1 — генератор фейковых данных для тестов и сидов.
  • node-oracledb 6.10 — драйвер Oracle DB; добавлен AQ в Thin-режиме.
  • node-rdkafka 3.6 — биндинги к librdkafka.
  • 🤖 OpenAI Node 6.6 — официальный SDK для API OpenAI.
  • zx 8.8.5 — удобные шелл-скрипты на Node.
  • terminal-image 4.1 — вывод изображений в терминале.
  • Got 14.6 — «человечный» HTTP-клиент.
  • Pino 10.1 — очень быстрый JSON-логгер.