Из блога OpenReplay
Знакомьтесь с UnJS: фреймворк-агностичные инструменты для JavaScript
Обзор экосистемы UnJS: как инструменты Nitro, h3, ofetch и unplugin обеспечивают JavaScript-инфраструктуру независимо от среды выполнения и фреймворка.
Основные команды npm, которые должен знать каждый разработчик
npm CLI охватывает аудит зависимостей, запуск скриптов и закрепление транзитивных зависимостей; команды помогают отлаживать деревья и устранять уязвимости.
Как OpenUI формирует веб-компоненты
OpenUI стандартизирует UI-паттерны через Popover API, Invoker Commands API и настраиваемый CSS для select, снижая зависимость от пользовательского JavaScript.
Как исправить ошибку 'Cannot use import statement outside a module'
Разбор причин ошибки cannot use import statement outside a module в Node.js, браузерах и Jest с правильной диагностикой конфликта систем модулей.
Как лениво загружать компоненты в Svelte
Ленивая загрузка компонентов Svelte через динамические импорты и условный рендеринг сокращает начальный бандл в проектах на SvelteKit и Vite.
Разрешение Local Network Access (LNA) в Chrome: подробное объяснение
Разрешение Chrome Local Network Access блокирует доступ публичных сайтов к локальным устройствам; статья описывает триггеры LNA-запроса и его обработку в веб-приложении.
ASCII-арт в браузере и терминале
Разбор отображения яркости пикселей в символы, расширения ASCII-арта через Unicode Braille и блочные элементы, рендеринга в Canvas, WebGL и ANSI-терминалах.
Как типизировать ответы API в TypeScript
Типизация ответов API через интерфейсы, схемы Zod и генерацию OpenAPI предотвращает несоответствия данных в runtime и сохраняет точность типов.
Сравнение моделей реактивности: React, Vue, Angular, Svelte
Сравнение подходов React, Vue, Angular и Svelte к реактивности: от грубозернистых циклов рендеринга до точечных сигналов и компиляторных обновлений DOM.
Как реализовать Drag and Drop в Svelte
Реализация drag and drop в Svelte с помощью нативного HTML5 API или библиотеки svelte-dnd-action: анимации, поддержка touch-событий и многоколоночные доски.
Ripple: новый TypeScript UI-фреймворк, заслуживающий внимания
Ripple - UI-фреймворк на TypeScript с компиляторным подходом: устраняет виртуальный DOM и ручное отслеживание зависимостей через реактивные примитивы.
Сценарии использования генераторов JavaScript
Генераторы JavaScript формируют значения по запросу, обеспечивая ленивую итерацию, асинхронную пагинацию и компонуемые пайплайны с помощью Iterator Helpers API.
Когда 100vh обманывает: решение проблем с viewport на мобильных устройствах
Разбор причин обрезки контента на мобильных устройствах: чем svh, dvh и lvh отличаются от vh и когда применять каждую для стабильных макетов.
Как организовать определения типов в TypeScript-проекте
Статья описывает организацию определений типов в TypeScript через стратегию colocation: inline-файлы, общие директории и ambient declaration файлы.
MCP Apps: Добавление интерактивного UI в диалоги с ИИ
MCP Apps позволяют встраивать интерактивные UI-компоненты прямо в диалоги с ИИ; MCP-серверы рендерят дашборды и формы с помощью стандарта SDK ext-apps.
Создание вашего первого API с Koa
Построение REST API с Koa охватывает настройку маршрутизации, разбор JSON-тел запросов и каскадную модель middleware для обработки GET и POST эндпоинтов.
Лучший способ просмотра ошибок в VS Code с помощью Error Lens
Error Lens выводит диагностику ESLint и TypeScript inline прямо в редакторе VS Code, позволяя frontend-разработчикам быстрее находить и исправлять ошибки.
Как измерять производительность JavaScript
Профилирование JavaScript через DevTools, Performance API и Core Web Vitals помогает находить узкие места и точно измерять пользовательский INP.
Когда использовать user-select: none (и когда это ловушка для UX/доступности)
Разбор случаев, когда CSS user-select: none уместен для интерактивных элементов, а когда вредит доступности, переводчикам и выделению текста.
Виртуальная прокрутка для высокопроизводительных интерфейсов
Виртуальная прокрутка рендерит только видимые DOM-узлы, ускоряя работу с большими данными; статья разбирает windowing, overscan и TanStack Virtual.
OpenClaw: Новый AI-ассистент с открытым исходным кодом
OpenClaw - self-hosted AI-агент, выполняющий shell-команды, управляющий браузером и интегрирующийся со Slack, Telegram и WhatsApp на собственном оборудовании.
Как работают базы данных типа «ключ-значение» (например, Redis, Memcached)
Redis, Memcached и базы данных типа ключ-значение применяют хеш-таблицы в памяти для быстрого поиска, кеширования и хранения сессий в бэкенде.
Объяснение потоков для веб-разработчиков
Обработка fetch-ответов по частям с помощью Web Streams API, ReadableStream и TransformStream снижает нагрузку на память и повышает производительность.
Абсолютные значения в CSS с помощью abs()
Функция CSS abs() безопасно работает со знаковыми custom properties в отступах, тайминге анимаций и расчётах макета без JavaScript-обходных решений.