update
This commit is contained in:
13
package/node_modules/libnpmorg/LICENSE
generated
vendored
Normal file
13
package/node_modules/libnpmorg/LICENSE
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
Copyright npm, Inc
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted, provided that the above
|
||||
copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
148
package/node_modules/libnpmorg/README.md
generated
vendored
Normal file
148
package/node_modules/libnpmorg/README.md
generated
vendored
Normal file
@@ -0,0 +1,148 @@
|
||||
# libnpmorg
|
||||
|
||||
[](https://npm.im/libnpmorg)
|
||||
[](https://npm.im/libnpmorg)
|
||||
[](https://github.com/npm/cli/actions/workflows/ci-libnpmorg.yml)
|
||||
|
||||
[`libnpmorg`](https://github.com/npm/libnpmorg) is a Node.js library for
|
||||
programmatically accessing the [npm Org membership
|
||||
API](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#membership-detail).
|
||||
|
||||
## Table of Contents
|
||||
|
||||
* [Example](#example)
|
||||
* [Install](#install)
|
||||
* [Contributing](#contributing)
|
||||
* [API](#api)
|
||||
* [hook opts](#opts)
|
||||
* [`set()`](#set)
|
||||
* [`rm()`](#rm)
|
||||
* [`ls()`](#ls)
|
||||
* [`ls.stream()`](#ls-stream)
|
||||
|
||||
## Example
|
||||
|
||||
```js
|
||||
const org = require('libnpmorg')
|
||||
|
||||
console.log(await org.ls('myorg', {token: 'deadbeef'}))
|
||||
=>
|
||||
Roster {
|
||||
zkat: 'developer',
|
||||
iarna: 'admin',
|
||||
isaacs: 'owner'
|
||||
}
|
||||
```
|
||||
|
||||
## Install
|
||||
|
||||
`$ npm install libnpmorg`
|
||||
|
||||
### API
|
||||
|
||||
#### <a name="opts"></a> `opts` for `libnpmorg` commands
|
||||
|
||||
`libnpmorg` uses [`npm-registry-fetch`](https://npm.im/npm-registry-fetch).
|
||||
All options are passed through directly to that library, so please refer to [its
|
||||
own `opts`
|
||||
documentation](https://www.npmjs.com/package/npm-registry-fetch#fetch-options)
|
||||
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 `libnpmorg` command fails with `err.code === EOTP`, please retry the request with `{otp: <2fa token>}`
|
||||
|
||||
#### <a name="set"></a> `> org.set(org, user, [role], [opts]) -> Promise`
|
||||
|
||||
The returned Promise resolves to a [Membership
|
||||
Detail](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#membership-detail)
|
||||
object.
|
||||
|
||||
The `role` is optional and should be one of `admin`, `owner`, or `developer`.
|
||||
`developer` is the default if no `role` is provided.
|
||||
|
||||
`org` and `user` must be scope names for the org name and user name
|
||||
respectively. They can optionally be prefixed with `@`.
|
||||
|
||||
See also: [`PUT
|
||||
/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-membership-replace)
|
||||
|
||||
##### Example
|
||||
|
||||
```javascript
|
||||
await org.set('@myorg', '@myuser', 'admin', {token: 'deadbeef'})
|
||||
=>
|
||||
MembershipDetail {
|
||||
org: {
|
||||
name: 'myorg',
|
||||
size: 15
|
||||
},
|
||||
user: 'myuser',
|
||||
role: 'admin'
|
||||
}
|
||||
```
|
||||
|
||||
#### <a name="rm"></a> `> org.rm(org, user, [opts]) -> Promise`
|
||||
|
||||
The Promise resolves to `null` on success.
|
||||
|
||||
`org` and `user` must be scope names for the org name and user name
|
||||
respectively. They can optionally be prefixed with `@`.
|
||||
|
||||
See also: [`DELETE
|
||||
/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-membership-delete)
|
||||
|
||||
##### Example
|
||||
|
||||
```javascript
|
||||
await org.rm('myorg', 'myuser', {token: 'deadbeef'})
|
||||
```
|
||||
|
||||
#### <a name="ls"></a> `> org.ls(org, [opts]) -> Promise`
|
||||
|
||||
The Promise resolves to a
|
||||
[Roster](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#roster)
|
||||
object.
|
||||
|
||||
`org` must be a scope name for an org, and can be optionally prefixed with `@`.
|
||||
|
||||
See also: [`GET
|
||||
/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-roster)
|
||||
|
||||
##### Example
|
||||
|
||||
```javascript
|
||||
await org.ls('myorg', {token: 'deadbeef'})
|
||||
=>
|
||||
Roster {
|
||||
zkat: 'developer',
|
||||
iarna: 'admin',
|
||||
isaacs: 'owner'
|
||||
}
|
||||
```
|
||||
|
||||
#### <a name="ls-stream"></a> `> org.ls.stream(org, [opts]) -> Stream`
|
||||
|
||||
Returns a stream of entries for a
|
||||
[Roster](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#roster),
|
||||
with each emitted entry in `[key, value]` format.
|
||||
|
||||
`org` must be a scope name for an org, and can be optionally prefixed with `@`.
|
||||
|
||||
The returned stream is a valid `Symbol.asyncIterator`.
|
||||
|
||||
See also: [`GET
|
||||
/-/org/:scope/user`](https://github.com/npm/registry/blob/master/docs/orgs/memberships.md#org-roster)
|
||||
|
||||
##### Example
|
||||
|
||||
```javascript
|
||||
for await (let [user, role] of org.ls.stream('myorg', {token: 'deadbeef'})) {
|
||||
console.log(`user: ${user} (${role})`)
|
||||
}
|
||||
=>
|
||||
user: zkat (developer)
|
||||
user: iarna (admin)
|
||||
user: isaacs (owner)
|
||||
```
|
64
package/node_modules/libnpmorg/lib/index.js
generated
vendored
Normal file
64
package/node_modules/libnpmorg/lib/index.js
generated
vendored
Normal file
@@ -0,0 +1,64 @@
|
||||
'use strict'
|
||||
|
||||
const eu = encodeURIComponent
|
||||
const fetch = require('npm-registry-fetch')
|
||||
const validate = require('aproba')
|
||||
|
||||
// From https://github.com/npm/registry/blob/master/docs/orgs/memberships.md
|
||||
const cmd = module.exports
|
||||
|
||||
class MembershipDetail {}
|
||||
cmd.set = (org, user, role, opts = {}) => {
|
||||
if (
|
||||
typeof role === 'object' &&
|
||||
Object.keys(opts).length === 0
|
||||
) {
|
||||
opts = role
|
||||
role = undefined
|
||||
}
|
||||
validate('SSSO|SSZO', [org, user, role, opts])
|
||||
user = user.replace(/^@?/, '')
|
||||
org = org.replace(/^@?/, '')
|
||||
return fetch.json(`/-/org/${eu(org)}/user`, {
|
||||
...opts,
|
||||
method: 'PUT',
|
||||
body: { user, role },
|
||||
}).then(ret => Object.assign(new MembershipDetail(), ret))
|
||||
}
|
||||
|
||||
cmd.rm = (org, user, opts = {}) => {
|
||||
validate('SSO', [org, user, opts])
|
||||
user = user.replace(/^@?/, '')
|
||||
org = org.replace(/^@?/, '')
|
||||
return fetch(`/-/org/${eu(org)}/user`, {
|
||||
...opts,
|
||||
method: 'DELETE',
|
||||
body: { user },
|
||||
ignoreBody: true,
|
||||
}).then(() => null)
|
||||
}
|
||||
|
||||
class Roster {}
|
||||
cmd.ls = (org, opts = {}) => {
|
||||
return cmd.ls.stream(org, opts)
|
||||
.collect()
|
||||
.then(data => data.reduce((acc, [key, val]) => {
|
||||
if (!acc) {
|
||||
acc = {}
|
||||
}
|
||||
acc[key] = val
|
||||
return acc
|
||||
}, null))
|
||||
.then(ret => Object.assign(new Roster(), ret))
|
||||
}
|
||||
|
||||
cmd.ls.stream = (org, opts = {}) => {
|
||||
validate('SO', [org, opts])
|
||||
org = org.replace(/^@?/, '')
|
||||
return fetch.json.stream(`/-/org/${eu(org)}/user`, '*', {
|
||||
...opts,
|
||||
mapJSON: (value, [key]) => {
|
||||
return [key, value]
|
||||
},
|
||||
})
|
||||
}
|
61
package/node_modules/libnpmorg/package.json
generated
vendored
Normal file
61
package/node_modules/libnpmorg/package.json
generated
vendored
Normal file
@@ -0,0 +1,61 @@
|
||||
{
|
||||
"name": "libnpmorg",
|
||||
"version": "6.0.6",
|
||||
"description": "Programmatic api for `npm org` commands",
|
||||
"author": "GitHub Inc.",
|
||||
"main": "lib/index.js",
|
||||
"keywords": [
|
||||
"libnpm",
|
||||
"npm",
|
||||
"package manager",
|
||||
"api",
|
||||
"orgs",
|
||||
"teams"
|
||||
],
|
||||
"license": "ISC",
|
||||
"scripts": {
|
||||
"lint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"",
|
||||
"test": "tap",
|
||||
"posttest": "npm run lint",
|
||||
"postlint": "template-oss-check",
|
||||
"lintfix": "npm run lint -- --fix",
|
||||
"snap": "tap",
|
||||
"template-oss-apply": "template-oss-apply --force"
|
||||
},
|
||||
"files": [
|
||||
"bin/",
|
||||
"lib/"
|
||||
],
|
||||
"devDependencies": {
|
||||
"@npmcli/eslint-config": "^4.0.0",
|
||||
"@npmcli/template-oss": "4.22.0",
|
||||
"minipass": "^7.1.1",
|
||||
"nock": "^13.3.3",
|
||||
"tap": "^16.3.8"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/npm/cli.git",
|
||||
"directory": "workspaces/libnpmorg"
|
||||
},
|
||||
"bugs": "https://github.com/npm/libnpmorg/issues",
|
||||
"homepage": "https://npmjs.com/package/libnpmorg",
|
||||
"dependencies": {
|
||||
"aproba": "^2.0.0",
|
||||
"npm-registry-fetch": "^17.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^16.14.0 || >=18.0.0"
|
||||
},
|
||||
"templateOSS": {
|
||||
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
|
||||
"version": "4.22.0",
|
||||
"content": "../../scripts/template-oss/index.js"
|
||||
},
|
||||
"tap": {
|
||||
"nyc-arg": [
|
||||
"--exclude",
|
||||
"tap-snapshots/**"
|
||||
]
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user