Из блога OpenReplay
Стоит ли переходить с 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 и офлайн-режим.
Плавная прокрутка с помощью CSS scroll-behavior
Используйте CSS scroll-behavior: smooth для якорных ссылок, уберите перекрытие фиксированным хедером с scroll-margin-top и учтите доступность.
Как сбросить пароль администратора WordPress
Сбросьте пароль администратора WordPress через панель, ссылку забыли пароль, WP-CLI или phpMyAdmin, затем проверьте безопасность.
Простое введение в дизайн-токены
Что такое design tokens, чем отличаются примитивные и семантические токены и как связаны CSS variables и Style Dictionary.
Лучшие практики работы со Svelte
Практики Svelte 5 для $state, $derived, контекста и загрузки данных SvelteKit, а также keyed each и современной синтаксис.
Использование PlanetScale для масштабируемых баз данных MySQL
PlanetScale для масштабируемых MySQL-баз: Vitess, ветки БД, deploy requests и неблокирующие миграции схемы без простоя.
Сохранение контекста между асинхронными вызовами в Node.js
Сохраняйте ID запроса, пользователя и tenant между async-вызовами Node.js с AsyncLocalStorage. Узнайте, как usar run() y getStore().
Как исправить ошибку EACCES: Permission Denied в npm
Исправьте ошибки npm EACCES permission denied в macOS и Linux с помощью nvm, пользовательского global prefix или npx вместо sudo.
Советы по переносу Express-приложения на Hono
Переносите Express app на Hono? Узнайте о различиях в роутинге, middleware, разборе body, обработке ошибок и поэтапной миграции.
Vike как альтернатива Next.js и Nuxt
Vike против Next.js и Nuxt: разберитесь, как этот Vite meta-framework поддерживает SSR, SSG, SPA и гибкое развертывание современных приложений.
Создание переключателя тем с помощью CSS-переменных
Создайте переключатель темы с CSS-переменными, data-theme, prefers-color-scheme, localStorage и без вспышки неверной темы при загрузке.
Существует ли Rails для JavaScript?
Rails для JavaScript? Сравните AdonisJS, Wasp, Next.js и Sails.js, чтобы понять, какие фреймворки дают встроенные auth, ORM и scaffolding.
Объяснение метрик кода: что такое цикломатическая сложность?
Цикломатическая сложность в JavaScript: формулы, примеры и инструменты ESLint и SonarQube для измерения и снижения ветвления.
От промпта к UI с Google Stitch
Google Stitch превращает промпты в UI-макеты, прототипы и HTML-экспорт. Узнайте, как писать точные запросы, использовать DESIGN.md и ускорить передачу в разработку.
Стилизация веб-компонентов с помощью Shadow DOM и CSS
Стилизация Web Components с Shadow DOM: используйте :host, ::slotted(), CSS-переменные, ::part() и adoptedStyleSheets для контроля CSS компонента.