Новый сервис обещает удобный поиск, больше данных о пакетах и социальные функции для open source.

У крупнейшего в мире реестра JavaScript-пакетов появился неожиданный конкурент. Разработчики запустили в альфа-версии новый браузер пакетов для npm под названием npmx, и интерес к проекту быстро вырос на фоне старого раздражения вокруг официального интерфейса npmjs.com.
Инициатором проекта стал Дэниел Ро, руководитель команды Nuxt в Vercel. Первые строки кода появились в конце января, а затем Ро поднял в Bluesky обсуждение проблем npmjs. Реакция оказалась показательной: разработчики массово жаловались на неудобный интерфейс, слабую навигацию и нехватку полезной информации о пакетах.
Часть претензий касалась самой публикации пакетов в npm. Один из участников обсуждения признался, что публикация единственного пакета заставила почувствовать себя «напуганным и глупым», и вряд ли какой-либо другой опыт в IT вызывал у него такую реакцию. Правда, npmx решает не все проблемы, потому что новый сервис работает лишь как альтернативный просмотрщик существующего реестра npm, а не меняет процесс публикации.
Зато многие повседневные недостатки официальный сайт действительно оставлял без внимания. Пользователи критиковали вкладку с просмотром кода, где кнопка «назад» в браузере работает некорректно, отсутствие темной темы, слабое отображение зависимостей, отсутствие заметной информации о поддержке TypeScript и ESM, а также неудобные ссылки на исходники GitHub, которые не умеют нормально вести внутрь каталогов репозитория. Даже пользовательские звезды, по словам критиков, на сайте почти никак не используются.
Новый сервис Ро и его коллег как раз пытается закрыть подобные пробелы. В анонсе, который Дэниел Ро подготовил вместе с инженером Салмой Алам-Нейлор и участником основной команды Vite Матиасом Капелетто, авторы описали npmx как быстрый и простой инструмент. Сервис показывает практичные данные вроде размера установки, формата модулей и устаревших зависимостей. Параллельно команда строит и социальные функции, рассчитывая упростить контакт между авторами пакетов и разработчиками, которые пользуются их работой.
Проект, по словам авторов, собрал около около 1000 замечаний и предложений уже за две недели после публикации на GitHub. Для ранней альфа-версии цифра выглядит внушительно и хорошо показывает, насколько у сообщества накопился запрос на альтернативу.
История выглядит особенно любопытно на фоне положения самого npm. Реестр Node Package Manager давно стал крупнейшим в мире благодаря популярности JavaScript и TypeScript. В марте 2020 года npm перешел под контроль GitHub, который принадлежит Microsoft. После покупки GitHub сосредоточился в первую очередь на защите реестра от вредоносных пакетов и ввел обязательные меры безопасности. Защита усилилась, но вместе с ней выросли трение, сложность и раздражение со стороны авторов пакетов.
Поддержку запуску npmx уже дали заметные игроки. Альфа-версию финансирует хостинг-компания Netlify, а генеральный директор Mathias Biilmann заявил, что проект способен заметно улучшить поиск и управление JavaScript- и TypeScript-пакетами. Еще одним спонсором стала Bluesky. Команда соцсети развивает открытый протокол AT Protocol, или Atproto, и npmx уже использует его в своей архитектуре. На фоне запуска команда Atproto объявила о гранте в 6000 долларов и выразила надежду, что новый сервис поможет расширить распространение протокола.
Наиболее неудобный вопрос повис над самим GitHub. Если небольшой открытый проект смог так быстро предложить более удобный и насыщенный интерфейс для npm, почему официальный браузер пакетов, принадлежащий владельцу реестра, так надолго остался в статусе догоняющего?