Слишком сложно для Microsoft. Как три разработчика сделали сайт npm лучше, чем целая корпорация

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


al1ayazzzmzlxqct2sefagcc49b3u7ne.jpg

У крупнейшего в мире реестра 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, почему официальный браузер пакетов, принадлежащий владельцу реестра, так надолго остался в статусе догоняющего?