Из блога OpenReplay
Тестирование компонентов Svelte 5 с помощью Vitest
Тестируйте компоненты Svelte 5 с Vitest через mount, testing-library или browser mode, а также с правильной настройкой runes, эффектов и snippets.
Начало работы с npm Workspaces
Настройка, команды и ограничения npm workspaces: управляйте монорепо, связывайте соседние пакеты и понимайте, когда добавить Turborepo или Nx.
Как создать резервную копию сайта на WordPress
Создайте резервную копию WordPress с mysqldump, tar, cron и rclone. Разбирает файлы, базу MySQL, хранение вне сервера и проверку восстановления.
Автоматические проверки кода с помощью CODEOWNERS
Настройте GitHub CODEOWNERS, избегайте скрытых сбоев и включите code review через правильные шаблоны, права и защиту веток.
Рецензирование AI-сгенерированного кода с помощью Difftastic
Используйте Difftastic для проверки кода от ИИ с структурными diff, настройки в git и отделения изменений поведения от форматирования.
3 JavaScript-ловушки с объяснением
Три ловушки JavaScript: ошибки с плавающей точкой, проверки NaN и await в циклах, с правильными способами исправления.
Синхронизация вкладок браузера с помощью BroadcastChannel
BroadcastChannel синхронизирует вкладки в реальном времени через structured clone, с очисткой, fallback и шаблонами для auth, корзины и темы.
Получение данных в React Server Components
Получайте данные в React Server Components через async-функции, разберитесь в кэше Next.js 15/16 и избегайте waterfall с Promise.all.
Использование текстовых экспандеров для Git, PR и AI-промптов
Сниппеты Espanso для Git, PR и AI-промптов: используйте shell, буфер обмена и курсор для контекстных расширений текста.
Как анимировать display: none без JavaScript-хаков
Анимируйте display none на CSS с allow-discrete и @starting-style, а также обработку overlay для dialog и popover и поддержку браузеров.
Практическое руководство по оператору `satisfies` в TypeScript
Пояснение оператора TypeScript satisfies: примеры конфигов, узкий вывод типов и когда использовать его вместо as или аннотации через двоеточие.
JSPI: Лучший мост между JavaScript и Wasm
JSPI связывает JavaScript и WebAssembly, чтобы синхронный Wasm вызывал API на Promise, такие как fetch, с Suspending, promising и статусом браузеров.
Не давайте Mac засыпать во время ночных задач с помощью caffeinate
Используйте caffeinate на Mac, чтобы не дать уснуть Claude Code, Codex или сборкам ночью, проверить assertions через pmset и учесть лимит закрытой крышки.
5 советов по Obsidian для более эффективного ведения заметок
Пять советов Obsidian для заметок: MOC, Dataview, Bases, Canvas, Mermaid, панели обзора и синхронизация vault через Git.
Интеграционные тесты vs сквозные тесты
Интеграционные и end-to-end тесты для веб-приложений: четкие определения, JS-инструменты и когда использовать Vitest, MSW, Playwright или Cypress.
Как JavaScript наконец научился убирать за собой
Явное управление ресурсами JavaScript с using, await using, DisposableStack и SuppressedError для детерминированной очистки файлов, блокировок, сокетов и подключений.
Распространённые ошибки при проектировании реляционных баз данных
Избегайте частых ошибок проектирования реляционных БД в Postgres и MySQL: ограничения, ключи, индексы и корректное хранение времени.
Работа с часовыми поясами в JavaScript без потери рассудка
Работайте с часовые пояса в JavaScript через UTC-инстанты, IANA-идентификаторы, Intl.DateTimeFormat, Temporal и правила для DST без ошибок.
Конец двойных сборок CJS/ESM в Node.js
Node.js теперь поддерживает require(esm), и ESM-only стал вариантом по умолчанию для многих библиотек. Когда отказаться от CJS, избежать top-level await и мигрировать безопасно.
Лучшие практики TypeScript для крупных проектов
Практики TypeScript для крупных проектов: strict, noUncheckedIndexedAccess, exactOptionalPropertyTypes, генерация типов, runtime-валидация и CI-контроль.
Использование встроенного Redis-клиента Bun
Руководство по встроенному Redis-клиенту Bun: подключение, типизированные команды, Pub/Sub, авто-пайплайнинг, rate limiting и когда нужен ioredis.
Когда использовать CSS `if()` и контейнерные стилевые запросы
Сравните CSS if() и container style queries: когда применять каждый подход, ловушки синтаксиса, range syntax и поддержку браузеров в 2026.
Как создать REST API с помощью Fastify
Создайте REST API на Fastify v5 с Prisma, валидацией JSON Schema, плагинами, декораторами, хуками и типизацией TypeBox для CRUD posts.
Когда компонентная библиотека не нужна
Почему utility CSS и headless primitives часто лучше полных component libraries в 2026, с чеклистом для выбора.