Публикация сторонних пакетов npm для Nexus - PullRequest
0 голосов
/ 20 марта 2019

Мы используем автономный Jenkins для сборки.Это означает, что мы должны хранить все наши зависимости в локальном Nexus.Это не имеет большого значения для зависимостей maven, но пакеты npm оказались проблематичными для загрузки.

Существует более 500 зависимостей npm, включая транзитивные зависимости.Я создал bash-скрипты, которые перебирают папку проекта node_modules и вызывают npm publish --registry=nexus для каждого package.json .Я столкнулся со многими проблемами, пытаясь опубликовать сторонние пакеты, такие как помеченные как частные или включающие нежелательные хуки публикации.

Я настроил скрипт для удаления нежелательных атрибутов из package.json перед публикацией, и теперь 99% пакетов успешно загружены.Тем не менее, я все еще получаю несколько ошибок в некоторых package.json файлах, не содержащих обязательные поля name и version .Как это вообще возможно, и как это исправить?Более того, процесс публикации занимает более 30 минут.Npm на самом деле не был рассчитан на работу без Интернета, и загружать эти сторонние зависимости в Nexus очень сложно.Есть ли лучший способ сделать это, чем npm publish и исправление грязных метаданных?

Или было бы разумнее просто контролировать версию node_modules среди проекта в этом случае?

...