libnpmteam v8.0.0
libnpmteam
libnpmteam is a Node.js
library that provides programmatic access to the guts of the npm CLI's npm
team command and its various subcommands.
Example
const team = require('libnpmteam')
// List all teams for the @npm org.
console.log(await team.lsTeams('npm'))Publishing
- Manually create CHANGELOG.md file
- Commit changes to CHANGELOG.md
$ git commit -m "chore: updated CHANGELOG.md" - Run
npm version {newVersion}# Example $ npm version patch # 1. Runs `coverage` and `lint` scripts # 2. Bumps package version; and **create commit/tag** # 3. Runs `npm publish`; publishing directory with **unpushed commit** # 4. Runs `git push origin --follow-tags`
Table of Contents
Install
$ npm install libnpmteam
API
opts for libnpmteam commands
libnpmteam uses npm-registry-fetch.
All options are passed through directly to that library, so please refer to its
own opts
documentation
for options that can be passed in.
A couple of options of note for those in a hurry:
opts.token- can be passed in and will be used as the authentication token for the registry. For other ways to pass in auth details, see the n-r-f docs.opts.otp- certain operations will require an OTP token to be passed in. If alibnpmteamcommand fails witherr.code === EOTP, please retry the request with{otp: <2fa token>}
> team.create(team, [opts]) -> Promise
Creates a team named team. Team names use the format @<scope>:<name>, with
the @ being optional.
Additionally, opts.description may be passed in to include a description.
Example
await team.create('@npm:cli', {token: 'myregistrytoken'})
// The @npm:cli team now exists. > team.destroy(team, [opts]) -> Promise
Destroys a team named team. Team names use the format @<scope>:<name>, with
the @ being optional.
Example
await team.destroy('@npm:cli', {token: 'myregistrytoken'})
// The @npm:cli team has been destroyed. > team.add(user, team, [opts]) -> Promise
Adds user to team.
Example
await team.add('zkat', '@npm:cli', {token: 'myregistrytoken'})
// @zkat now belongs to the @npm:cli team. > team.rm(user, team, [opts]) -> Promise
Removes user from team.
Example
await team.rm('zkat', '@npm:cli', {token: 'myregistrytoken'})
// @zkat is no longer part of the @npm:cli team. > team.lsTeams(scope, [opts]) -> Promise
Resolves to an array of team names belonging to scope.
Example
await team.lsTeams('@npm', {token: 'myregistrytoken'})
=>
[
'npm:cli',
'npm:web',
'npm:registry',
'npm:developers'
] > team.lsTeams.stream(scope, [opts]) -> Stream
Returns a stream of teams belonging to scope.
For a Promise-based version of these results, see team.lsTeams().
Example
for await (let team of team.lsTeams.stream('@npm', {token: 'myregistrytoken'})) {
console.log(team)
}
// outputs
// npm:cli
// npm:web
// npm:registry
// npm:developers > team.lsUsers(team, [opts]) -> Promise
Resolves to an array of usernames belonging to team.
For a streamed version of these results, see team.lsUsers.stream().
Example
await team.lsUsers('@npm:cli', {token: 'myregistrytoken'})
=>
[
'iarna',
'zkat'
] > team.lsUsers.stream(team, [opts]) -> Stream
Returns a stream of usernames belonging to team.
For a Promise-based version of these results, see team.lsUsers().
Example
for await (let user of team.lsUsers.stream('@npm:cli', {token: 'myregistrytoken'})) {
console.log(user)
}
// outputs
// iarna
// zkat11 months ago
12 months ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago