Из блога OpenReplay
Как JSON-LD помогает ИИ понять ваш сайт
JSON-LD и Schema.org помогают ИИ-краулерам и Google понять сайт. Узнайте, как серверная разметка избегает разрыва из-за JavaScript.
5 Open Source E-commerce платформ для разработчиков
Сравните Medusa, Saleor, Vendure, Sylius и Shopware для headless e-commerce: Next.js, API и компромиссы самохостинга.
Начало работы с Vite+
Начните с Vite+: установите vp, создайте проект, запустите dev, check, test и build и разберитесь в едином workflow vite.config.ts.
Как исправить надоедливую ошибку 404 favicon.ico Not Found
Исправьте ошибку 404 favicon.ico, разместив favicon в корне сайта и добавив теги для SVG, PNG и Apple Touch Icon.
Анимации в стиле Copy-Paste с Animata
Animata предлагает анимированные React-компоненты для копирования с Tailwind CSS, shadcn/ui и легкими зависимостями для каждого компонента.
Pretext и будущее вёрстки текста в вебе
Pretext — это библиотека TypeScript, которая измеряет текст вне DOM, чтобы избежать reflow и ускорить виртуализированные списки, чаты и masonry.
Cookies vs localStorage для JWT-аутентификации
Cookies или localStorage для JWT-аутентификации: разбор рисков XSS и CSRF, HttpOnly, Secure, SameSite и современных схем хранения токенов.
Что никогда не следует кешировать
Не кэшируйте пользовательские данные, auth-ответы, JWT и чувствительные страницы. Разберитесь, когда безопасно использовать no-store, private и bfcache.
Аудит GitHub Workflows на предмет угроз безопасности
Проверьте GitHub Actions на права токена, script injection, риск pull_request_target, pinning действий, self-hosted runners и OIDC.
Как добавить аутентификацию в Electron-приложение
Добавьте аутентификацию в Electron app с OAuth 2.0 PKCE, входом через системный браузер, deep link или loopback redirect и хранением в safeStorage.
Пять альтернатив Next.js
Пять альтернатив Next.js на 2026 год: React Router v7, Astro 5, SvelteKit, Nuxt 4 и TanStack Start.
Выбор генератора статических сайтов для JavaScript-проектов
Сравните Astro 6, Eleventy 3, Next.js 16, Nuxt 4 и SvelteKit, чтобы выбрать подходящий статический генератор сайтов для JavaScript-проектов.
Использование prefers-reduced-motion для доступной анимации
Используйте prefers-reduced-motion, чтобы безопасно снижать анимацию в CSS, JavaScript и Motion.dev, с тестированием и WCAG.
Удаление нативных стилей элементов с помощью CSS all: unset
Используйте all: unset, чтобы убрать нативные стили в CSS, сбросить кнопки и формы и вернуть доступный focus-visible.
Стоит ли переходить с npm на pnpm?
Стоит ли переходить с npm на pnpm? Сравните изоляцию зависимостей, экономию диска, workspaces и одобрение build-скриптов в pnpm 11.
Как определить, что вкладка браузера стала неактивной
Используйте Page Visibility API, чтобы определить, когда вкладка браузера становится неактивной. Останавливайте polling, медиа и аналитику через visibilitychange.
Chrome Extension Manifest V3: подробный разбор
Manifest V3: service workers, declarativeNetRequest, chrome.action, Offscreen API и почему убрали фоновые страницы MV2 и удалённый код.
React Compiler против ручной мемоизации
React Compiler против ручной мемоизации: когда React.memo, useMemo и useCallback работают автоматически и где ручной контроль все еще нужен.
Введение в агентные браузеры
Агентные браузеры меняют веб-приложения. Узнайте, чем они отличаются от Selenium, почему важен семантический HTML и какие есть риски.
Удаление неиспользуемых файлов и зависимостей с помощью Knip
Knip находит неиспользуемые файлы, экспорты и зависимости в проектах JavaScript и TypeScript, с автоисправлением и CI.
Как сохранять состояние формы в браузере
Сохраняйте состояние форм в браузере с localStorage, sessionStorage или IndexedDB. Автосохранение, восстановление полей и безопасная очистка.
Фоновые задачи в браузере с помощью Scheduler API
Используйте Scheduler API для приоритизации работы главного потока с scheduler.postTask() и scheduler.yield(), с проверкой поддержки и fallback.
Полное руководство по Git Stash
Команды git stash, pop vs apply, работа с конфликтами, неотслеживаемые файлы и лучшие практики сохранения и восстановления изменений без коммита.
Управление пакетными менеджерами с помощью Node Corepack
Node Corepack объясняет фиксацию версий менеджеров пакетов с Yarn и pnpm, а также изменения Node.js 25, настройку CI, Docker и офлайн-режим.