Neptune's Personal Maid

    libnpmteam

    4.0.3 • Public • Published

    libnpmteam

    npm version license CI - 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

    1. Manually create CHANGELOG.md file
    2. Commit changes to CHANGELOG.md
      $ git commit -m "chore: updated CHANGELOG.md"
    3. 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 a libnpmteam command fails with err.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
    // zkat

    Keywords

    none

    Install

    npm i libnpmteam

    DownloadsWeekly Downloads

    712,766

    Version

    4.0.3

    License

    ISC

    Unpacked Size

    9.03 kB

    Total Files

    4

    Last publish

    Collaborators

    • fritzy
    • darcyclarke
    • ruyadorno
    • nlf
    • gar
    • lukekarrys