GyaanSetu JavaScript

Экосистема JavaScript и TypeScript.

90 articlesDeep, practical knowledge

Работа с массивами в JavaScript теперь редко требует написания циклов. Язык предоставляет выразительные т

Работа с массивами в JavaScript теперь редко требует написания циклов. Язык предоставляет выразительные инструменты, которые превращают сложные, зашумленные вложенные данные в чистые и читаемые транс…

JavaScript · 5 мин чтения

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

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

JavaScript · 6 мин чтения

Переписывание TypeScript 7 на Go сокращает время компиляции VS Code в 11,9 раза — до 1,3 с

Microsoft переписала компилятор на Go, заменив старый движок на базе Node.js. Параллельный парсинг и проверка типов сокращают время компиляции в VS Code с 17,5 секунд до менее чем 1,3 секунды, а также снижают потребление памяти в огромных кодовых базах на величину до 26%.

JavaScript · 2 мин чтения

Скрытые ошибки Supabase-JS обнаружены новой TypeScript-оберткой для мутаций

Легкая TypeScript-обертка заставляет разработчиков обрабатывать поле `error`, возвращаемое supabase-js, логируя каждую отклоненную запись в Sentry и предотвращая появление UI-бейджeв «успех», которые маскируют отсутствие изменений в данных.

JavaScript · 4 мин чтения

SolidJS 2.0 позволяет командам React сохранять стабильность интерфейса при обновлении данных

SolidJS 2.0 представляет нативную модель асинхронных данных, в которой промисы являются полноценными реактивными значениями. Благодаря этому состояние загрузки (fallback) отображается только при первой загрузке, а последующие обновления данных сохраняют текущий DOM на экране, избавляя от мелькания спиннеров, которое вызывает React Suspense.

JavaScript · 5 мин чтения

Команды React снизили INP ниже 200 мс, разделяя длинные задачи и используя startTransition

Даже при идеальных результатах Lighthouse, показатель Interaction to Next Paint (INP) реальных пользователей может превышать 500 мс. Разделяя длинные задачи с помощью scheduler.yield, оборачивая несрочные обновления в startTransition и удаляя невидимые элементы DOM, можно снизить INP ниже порога «быстрого» отклика в 200 мс.

JavaScript · 2 мин чтения

TypeScript 7 сокращает время сборки монорепозиториев благодаря параллельной проверке деклараций

Новый режим изолированных деклараций распределяет проверку .d.ts между ядрами процессора, что значительно сокращает циклы компиляции в репозиториях с сотнями пакетов и позволяет мгновенно экономить ресурсы CI-агентов, работающих на многоядерном оборудовании.

JavaScript · 2 мин чтения

pnpm v12 Alpha сокращает время теплой установки с 381 мс до 12 мс благодаря переписыванию на Rust

Новый нативный бинарный файл на Rust ускоряет теплую установку в 30 раз, сокращает время установки без кэша до 40 мс и уменьшает время установки полного дерева зависимостей до 2,2 с, обеспечивая значительное ускорение CI-конвейеров при сохранении прежних флагов CLI и формата lock-файла.

JavaScript · 2 мин чтения

Черные прямоугольники для скрытия данных обманывали: новый метод превращает конфиденциальные страницы в изображения

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

JavaScript · 3 мин чтения

Auto-Animate добавляет анимации списков без написания кода в Marko 6

Новый пакет @formkit/auto-animate/marko устанавливается через npm, оборачивает родительский элемент списка в <AutoAnimate> и использует MutationObserver для анимации добавления, удаления и изменения порядка элементов без использования дополнительного JavaScript или хуков жизненного цикла.

JavaScript · 2 мин чтения

Разработчики постоянно недооценивают PDF-вьюверы. Это кажется простой задачей: получить байты, по...

Разработчики постоянно недооценивают PDF-вьюверы. Это кажется простой задачей: получить байты, привязать компонент к URL и считать, что дело сделано. Vue.js делает...

JavaScript · 5 мин чтения

Эффект печатной машинки — это цифровой эквивалент наблюдения за тем, как кто-то думает вслух. Текст появляется по одному символу за раз

Эффект печатной машинки — это цифровой эквивалент наблюдения за тем, как кто-то думает вслух. Текст появляется по одному символу за раз, как будто настоящая рука нажимает на настоящие клавиши. Вы видите это...

JavaScript · 7 мин чтения

React-приложения строятся из компонентов, и у каждого компонента есть своя жизнь. Он появляется на экране. Он реагирует на н

React-приложения строятся из компонентов, и у каждого компонента есть своя жизнь. Он появляется на экране. Он реагирует на новую информацию. В конце концов он исчезает. Игнорируйте этот ритм...

JavaScript · 3 мин чтения

У каждой команды разработчиков есть такая история. Пул-реквест висит открытым полдня. Не потому, что логика сломана или

У каждой команды разработчиков есть такая история. Пул-реквест висит открытым полдня. Не потому, что логика сломана или изменился API-контракт, а потому, что два ревьюера не согл…

JavaScript · 3 мин чтения

Ранний интернет работал на обычном тексте. Вы вводили имя пользователя или комментарий в форму, нажимали «отправить», и короткая строка отправлялась

Ранний интернет работал на обычном тексте. Вы вводили имя пользователя или комментарий в форму, нажимали «отправить», и короткая строка отправлялась на сервер по протоколу HTTP. Этот простой цикл «запрос-ответ»…

JavaScript · 5 мин чтения

Узкое место DOM, о котором никто не говорит

Узкое место DOM, о котором никто не говорит. Представьте себе панель поддержки, которая подгружает десять тысяч записей логов. Или CRM-систему, пытающуюся отобразить каждого контакта в одной прокручиваемой таблице. В ре…

JavaScript · 7 мин чтения

У разработчиков есть плохая привычка создавать швейцарские армейские ножи, когда им нужно всего лишь острое лезвие. Мы тянемся к тяжеловесным фронте

У разработчиков есть плохая привычка создавать швейцарские армейские ножи, когда им нужно всего лишь острое лезвие. Мы тянемся к тяжеловесным фронтенд-фреймворкам еще до того, как написана первая строка HTML. Мы…

JavaScript · 3 мин чтения

Энтропия фронтенда реальна. Кодовая база не рушится в одночасье. Она накапливается. В один вторник вы добавляете форматирование даты

Энтропия фронтенда реальна. Кодовая база не рушится в одночасье. Она накапливается. В один вторник вы добавляете библиотеку для форматирования дат. Полгода спустя кто-то добавляет другую, потому что…

JavaScript · 4 мин чтения