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

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

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

image

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