В Social Tables у нас есть несколько частных пакетов npm, и мне нужно было создать нового пользователя, предоставить этому пользователю доступ только для чтения к нашим частным пакетам. Документация по npm великолепна. Действительно здорово. Идите туда за подробностями. Но вот ключевые команды для этой (вероятно, распространенной) последовательности шагов.

Создать новую команду

$ npm team create <scope:team>

Предоставить команде доступ только для чтения ко всем существующим частным пакетам

# Get a list of all private packages for your organization (scope)
$ npm access ls-packages <scope></scope>
# Returns json :'(
# Let's use https://github.com/trentm/json to help
# Install: npm install -g json
$ npm access ls-packages <scope> | json -Ma key</scope>
# Returns list of package names. Noice.
# Tying it all together
$ for PKG in $(npm access ls-packages <scope> | json -Ma key); do \
  npm access grant read-only <scope:team> "${PKG}"; \
  done

Создать нового пользователя

  • Сделайте резервную копию существующего ~/.npmrc
$ npm adduser
  • Сохраните свои учетные данные (токен авторизации будет в ~/.npmrc)
  • Восстановите ваш предыдущий файл ~/.npmrc

Пригласить пользователя в организацию

Не реализовано из CLI. Используйте веб-сайт: https://www.npmjs.com/org/‹scope›/members

Добавить пользователя в команду

$ npm team add <scope:team> <user>

Удалить пользователя из команды

$ npm team rm <scope:team> <user>

Первоначально опубликовано на blog.mact.me 24 февраля 2016 г.