Три ошибки которые чуть не убили первый npm-релиз

Отгрузил первый npm-пакет. Вот что пошло не так.

archkit это CLI генератор TypeScript-библиотек с Clean Architecture. Пишешь npx @autosergach/archkit create my-lib и получаешь project с domain, application, ports и рабочими тестами. Не пустой console.log, а что-то что реально можно развивать.

Само по себе несложно. Но три раза чуть не слетел с рельс.

Первое. npm блокирует имена не только когда занято. Есть отдельный similarity check. archkit не прошёл как слишком похожий на arch-kit, заброшенный пакет 2022 года с нулём скачиваний. Пришлось публиковать как @autosergach/archkit.

Второе. Положил workspace:* в dependencies опубликованного пакета. Внутри monorepo всё работало. tsup бандлит внутренний core, думал хватит. Нет. npm всё равно пытается резолвить workspace:* при установке у другого разработчика. npm install ломается с непонятной ошибкой. Три минуты понять почему, пять секунд починить.

Третье. Granular npm token требует явно включить bypass 2FA для publish. По умолчанию нет. Нигде не написано жирным. Получал 403.

В итоге 38 тестов, 9 коммитов, 7.8 KB tarball. Опубликовано.

npx @autosergach/archkit create my-lib github.com/autosergach/archkit

Что у вас ломалось при первом npm publish?

Три ошибки которые чуть не убили первый npm-релиз | Сетка — социальная сеть от hh.ru Три ошибки которые чуть не убили первый npm-релиз | Сетка — социальная сеть от hh.ru