mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2025-09-23 22:00:18 +00:00
push all website files
This commit is contained in:
66
website/node_modules/npm/node_modules/libnpmhook/CHANGELOG.md
generated
vendored
Normal file
66
website/node_modules/npm/node_modules/libnpmhook/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
<a name="4.0.1"></a>
|
||||
## [4.0.1](https://github.com/npm/libnpmhook/compare/v4.0.0...v4.0.1) (2018-04-09)
|
||||
|
||||
|
||||
|
||||
<a name="4.0.0"></a>
|
||||
# [4.0.0](https://github.com/npm/libnpmhook/compare/v3.0.1...v4.0.0) (2018-04-08)
|
||||
|
||||
|
||||
### meta
|
||||
|
||||
* drop support for node 4 and 7 ([f2a301e](https://github.com/npm/libnpmhook/commit/f2a301e))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* node@4 and node@7 are no longer supported
|
||||
|
||||
|
||||
|
||||
<a name="3.0.1"></a>
|
||||
## [3.0.1](https://github.com/npm/libnpmhook/compare/v3.0.0...v3.0.1) (2018-04-08)
|
||||
|
||||
|
||||
|
||||
<a name="3.0.0"></a>
|
||||
# [3.0.0](https://github.com/npm/libnpmhook/compare/v2.0.1...v3.0.0) (2018-04-04)
|
||||
|
||||
|
||||
### add
|
||||
|
||||
* guess type based on name ([9418224](https://github.com/npm/libnpmhook/commit/9418224))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* hook type is now based on name prefix
|
||||
|
||||
|
||||
|
||||
<a name="2.0.1"></a>
|
||||
## [2.0.1](https://github.com/npm/libnpmhook/compare/v2.0.0...v2.0.1) (2018-03-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **urls:** was hitting the wrong URL endpoints ([10171a9](https://github.com/npm/libnpmhook/commit/10171a9))
|
||||
|
||||
|
||||
|
||||
<a name="2.0.0"></a>
|
||||
# [2.0.0](https://github.com/npm/libnpmhook/compare/v1.0.0...v2.0.0) (2018-03-16)
|
||||
|
||||
|
||||
|
||||
<a name="1.0.0"></a>
|
||||
# 1.0.0 (2018-03-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **api:** baseline working api ([122658e](https://github.com/npm/npm-hooks/commit/122658e))
|
16
website/node_modules/npm/node_modules/libnpmhook/LICENSE.md
generated
vendored
Normal file
16
website/node_modules/npm/node_modules/libnpmhook/LICENSE.md
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
ISC License
|
||||
|
||||
Copyright (c) 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 COPYRIGHT HOLDER DISCLAIMS
|
||||
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER 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.
|
23
website/node_modules/npm/node_modules/libnpmhook/README.md
generated
vendored
Normal file
23
website/node_modules/npm/node_modules/libnpmhook/README.md
generated
vendored
Normal file
@@ -0,0 +1,23 @@
|
||||
# libnpmhook [](https://npm.im/libnpmhook) [](https://npm.im/libnpmhook) [](https://travis-ci.org/npm/libnpmhook) [](https://ci.appveyor.com/project/npm/libnpmhook) [](https://coveralls.io/github/npm/libnpmhook?branch=latest)
|
||||
|
||||
[`libnpmhook`](https://github.com/npm/libnpmhook) is a Node.js library for
|
||||
programmatically managing the npm registry's server-side hooks.
|
||||
|
||||
## Install
|
||||
|
||||
`$ npm install libnpmhook`
|
||||
|
||||
## Table of Contents
|
||||
|
||||
* [Example](#example)
|
||||
* [Features](#features)
|
||||
* [API](#api)
|
||||
|
||||
### Example
|
||||
|
||||
```javascript
|
||||
```
|
||||
|
||||
### Features
|
||||
|
||||
### API
|
13
website/node_modules/npm/node_modules/libnpmhook/config.js
generated
vendored
Normal file
13
website/node_modules/npm/node_modules/libnpmhook/config.js
generated
vendored
Normal file
@@ -0,0 +1,13 @@
|
||||
'use strict'
|
||||
|
||||
const pudding = require('figgy-pudding')
|
||||
|
||||
const NpmHooksConfig = pudding()
|
||||
|
||||
module.exports = config
|
||||
function config (opts) {
|
||||
return NpmHooksConfig.apply(
|
||||
null,
|
||||
[opts, opts.config].concat([].slice.call(arguments, 1))
|
||||
)
|
||||
}
|
41
website/node_modules/npm/node_modules/libnpmhook/index.js
generated
vendored
Normal file
41
website/node_modules/npm/node_modules/libnpmhook/index.js
generated
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
'use strict'
|
||||
|
||||
const config = require('./config')
|
||||
const fetch = require('npm-registry-fetch')
|
||||
|
||||
module.exports = {
|
||||
add (name, endpoint, secret, opts) {
|
||||
let type = 'package'
|
||||
if (name && name.match(/^@[^/]+$/)) {
|
||||
type = 'scope'
|
||||
}
|
||||
if (name && name[0] === '~') {
|
||||
type = 'owner'
|
||||
name = name.substr(1)
|
||||
}
|
||||
|
||||
opts = config({
|
||||
method: 'POST',
|
||||
body: { type, name, endpoint, secret }
|
||||
}, opts)
|
||||
return fetch.json('/-/npm/v1/hooks/hook', opts)
|
||||
},
|
||||
|
||||
rm (id, opts) {
|
||||
return fetch.json(`/-/npm/v1/hooks/hook/${encodeURIComponent(id)}`, config({
|
||||
method: 'DELETE'
|
||||
}, opts))
|
||||
},
|
||||
|
||||
ls (pkg, opts) {
|
||||
return fetch.json('/-/npm/v1/hooks', config({query: pkg && {package: pkg}}, opts))
|
||||
.then(json => json.objects)
|
||||
},
|
||||
|
||||
update (id, endpoint, secret, opts) {
|
||||
return fetch.json(`/-/npm/v1/hooks/hook/${encodeURIComponent(id)}`, config({
|
||||
method: 'PUT',
|
||||
body: {endpoint, secret}
|
||||
}, opts))
|
||||
}
|
||||
}
|
104
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/CHANGELOG.md
generated
vendored
Normal file
104
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/CHANGELOG.md
generated
vendored
Normal file
@@ -0,0 +1,104 @@
|
||||
# Change Log
|
||||
|
||||
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
||||
|
||||
<a name="3.1.1"></a>
|
||||
## [3.1.1](https://github.com/npm/registry-fetch/compare/v3.1.0...v3.1.1) (2018-04-09)
|
||||
|
||||
|
||||
|
||||
<a name="3.1.0"></a>
|
||||
# [3.1.0](https://github.com/npm/registry-fetch/compare/v3.0.0...v3.1.0) (2018-04-09)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **config:** support no-proxy and https-proxy options ([9aa906b](https://github.com/npm/registry-fetch/commit/9aa906b))
|
||||
|
||||
|
||||
|
||||
<a name="3.0.0"></a>
|
||||
# [3.0.0](https://github.com/npm/registry-fetch/compare/v2.1.0...v3.0.0) (2018-04-09)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **api:** pacote integration-related fixes ([a29de4f](https://github.com/npm/registry-fetch/commit/a29de4f))
|
||||
* **config:** stop caring about opts.config ([5856a6f](https://github.com/npm/registry-fetch/commit/5856a6f))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* **config:** opts.config is no longer supported. Pass the options down in opts itself.
|
||||
|
||||
|
||||
|
||||
<a name="2.1.0"></a>
|
||||
# [2.1.0](https://github.com/npm/registry-fetch/compare/v2.0.0...v2.1.0) (2018-04-08)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **token:** accept opts.token for opts._authToken ([108c9f0](https://github.com/npm/registry-fetch/commit/108c9f0))
|
||||
|
||||
|
||||
|
||||
<a name="2.0.0"></a>
|
||||
# [2.0.0](https://github.com/npm/registry-fetch/compare/v1.1.1...v2.0.0) (2018-04-08)
|
||||
|
||||
|
||||
### meta
|
||||
|
||||
* drop support for node@4 ([758536e](https://github.com/npm/registry-fetch/commit/758536e))
|
||||
|
||||
|
||||
### BREAKING CHANGES
|
||||
|
||||
* node@4 is no longer supported
|
||||
|
||||
|
||||
|
||||
<a name="1.1.1"></a>
|
||||
## [1.1.1](https://github.com/npm/registry-fetch/compare/v1.1.0...v1.1.1) (2018-04-06)
|
||||
|
||||
|
||||
|
||||
<a name="1.1.0"></a>
|
||||
# [1.1.0](https://github.com/npm/registry-fetch/compare/v1.0.1...v1.1.0) (2018-03-16)
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **specs:** can use opts.spec to trigger pickManifest ([85c4ac9](https://github.com/npm/registry-fetch/commit/85c4ac9))
|
||||
|
||||
|
||||
|
||||
<a name="1.0.1"></a>
|
||||
## [1.0.1](https://github.com/npm/registry-fetch/compare/v1.0.0...v1.0.1) (2018-03-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **query:** oops console.log ([870e4f5](https://github.com/npm/registry-fetch/commit/870e4f5))
|
||||
|
||||
|
||||
|
||||
<a name="1.0.0"></a>
|
||||
# 1.0.0 (2018-03-16)
|
||||
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **auth:** get auth working with all the little details ([84b94ba](https://github.com/npm/registry-fetch/commit/84b94ba))
|
||||
* **deps:** add bluebird as an actual dep ([1286e31](https://github.com/npm/registry-fetch/commit/1286e31))
|
||||
* **errors:** Unknown auth errors use default code ([#1](https://github.com/npm/registry-fetch/issues/1)) ([3d91b93](https://github.com/npm/registry-fetch/commit/3d91b93))
|
||||
* **standard:** remove args from invocation ([9620a0a](https://github.com/npm/registry-fetch/commit/9620a0a))
|
||||
|
||||
|
||||
### Features
|
||||
|
||||
* **api:** baseline kinda-working API impl ([bf91f9f](https://github.com/npm/registry-fetch/commit/bf91f9f))
|
||||
* **body:** automatic handling of different opts.body values ([f3b97db](https://github.com/npm/registry-fetch/commit/f3b97db))
|
||||
* **config:** nicer input config input handling ([b9ce21d](https://github.com/npm/registry-fetch/commit/b9ce21d))
|
||||
* **opts:** use figgy-pudding for opts handling ([0abd527](https://github.com/npm/registry-fetch/commit/0abd527))
|
||||
* **query:** add query utility support ([65ea8b1](https://github.com/npm/registry-fetch/commit/65ea8b1))
|
16
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/LICENSE.md
generated
vendored
Normal file
16
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/LICENSE.md
generated
vendored
Normal file
@@ -0,0 +1,16 @@
|
||||
ISC License
|
||||
|
||||
Copyright (c) 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 COPYRIGHT HOLDER DISCLAIMS
|
||||
ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER 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.
|
549
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/README.md
generated
vendored
Normal file
549
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/README.md
generated
vendored
Normal file
@@ -0,0 +1,549 @@
|
||||
# npm-registry-fetch [](https://npm.im/npm-registry-fetch) [](https://npm.im/npm-registry-fetch) [](https://travis-ci.org/npm/npm-registry-fetch) [](https://ci.appveyor.com/project/npm/npm-registry-fetch) [](https://coveralls.io/github/npm/npm-registry-fetch?branch=latest)
|
||||
|
||||
[`npm-registry-fetch`](https://github.com/npm/npm-registry-fetch) is a Node.js
|
||||
library that implements a `fetch`-like API for accessing npm registry APIs
|
||||
consistently. It's able to consume npm-style configuration values and has all
|
||||
the necessary logic for picking registries, handling scopes, and dealing with
|
||||
authentication details built-in.
|
||||
|
||||
This package is meant to replace the older
|
||||
[`npm-registry-client`](https://npm.im/npm-registry-client).
|
||||
|
||||
## Example
|
||||
|
||||
```javascript
|
||||
const npmFetch = require('npm-registry-fetch')
|
||||
|
||||
console.log(
|
||||
await npmFetch.json('/-/ping')
|
||||
)
|
||||
```
|
||||
|
||||
## Table of Contents
|
||||
|
||||
* [Installing](#install)
|
||||
* [Example](#example)
|
||||
* [Contributing](#contributing)
|
||||
* [API](#api)
|
||||
* [`fetch`](#fetch)
|
||||
* [`fetch.json`](#fetch-json)
|
||||
* [`fetch` options](#fetch-opts)
|
||||
|
||||
### Install
|
||||
|
||||
`$ npm install npm-registry-fetch`
|
||||
|
||||
### Contributing
|
||||
|
||||
The npm team enthusiastically welcomes contributions and project participation!
|
||||
There's a bunch of things you can do if you want to contribute! The [Contributor
|
||||
Guide](CONTRIBUTING.md) has all the information you need for everything from
|
||||
reporting bugs to contributing entire new features. Please don't hesitate to
|
||||
jump in if you'd like to, or even ask us questions if something isn't clear.
|
||||
|
||||
All participants and maintainers in this project are expected to follow [Code of
|
||||
Conduct](CODE_OF_CONDUCT.md), and just generally be excellent to each other.
|
||||
|
||||
Please refer to the [Changelog](CHANGELOG.md) for project history details, too.
|
||||
|
||||
Happy hacking!
|
||||
|
||||
### API
|
||||
|
||||
#### <a name="fetch"></a> `> fetch(url, [opts]) -> Promise<Response>`
|
||||
|
||||
Performs a request to a given URL.
|
||||
|
||||
The URL can be either a full URL, or a path to one. The appropriate registry
|
||||
will be automatically picked if only a URL path is given.
|
||||
|
||||
For available options, please see the section on [`fetch` options](#fetch-opts).
|
||||
|
||||
##### Example
|
||||
|
||||
```javascript
|
||||
const res = await fetch('/-/ping')
|
||||
console.log(res.headers)
|
||||
res.on('data', d => console.log(d.toString('utf8')))
|
||||
```
|
||||
|
||||
#### <a name="fetch-json"></a> `> fetch.json(url, [opts]) -> Promise<ResponseJSON>`
|
||||
|
||||
Performs a request to a given registry URL, parses the body of the response as
|
||||
JSON, and returns it as its final value. This is a utility shorthand for
|
||||
`fetch(url).then(res => res.json())`.
|
||||
|
||||
For available options, please see the section on [`fetch` options](#fetch-opts).
|
||||
|
||||
##### Example
|
||||
|
||||
```javascript
|
||||
const res = await fetch.json('/-/ping')
|
||||
console.log(res) // Body parsed as JSON
|
||||
```
|
||||
|
||||
#### <a name="fetch-opts"></a> `fetch` Options
|
||||
|
||||
Fetch options are optional, and can be passed in as either a Map-like object
|
||||
(one with a `.get()` method), a plain javascript object, or a
|
||||
[`figgy-pudding`](https://npm.im/figgy-pudding) instance.
|
||||
|
||||
##### <a name="opts-agent"></a> `opts.agent`
|
||||
|
||||
* Type: http.Agent
|
||||
* Default: an appropriate agent based on URL protocol and proxy settings
|
||||
|
||||
An [`Agent`](https://nodejs.org/api/http.html#http_class_http_agent) instance to
|
||||
be shared across requests. This allows multiple concurrent `fetch` requests to
|
||||
happen on the same socket.
|
||||
|
||||
You do _not_ need to provide this option unless you want something particularly
|
||||
specialized, since proxy configurations and http/https agents are already
|
||||
automatically managed internally when this option is not passed through.
|
||||
|
||||
##### <a name="opts-body"></a> `opts.body`
|
||||
|
||||
* Type: Buffer | Stream | Object
|
||||
* Default: null
|
||||
|
||||
Request body to send through the outgoing request. Buffers and Streams will be
|
||||
passed through as-is, with a default `content-type` of
|
||||
`application/octet-stream`. Plain JavaScript objects will be `JSON.stringify`ed
|
||||
and the `content-type` will default to `application/json`.
|
||||
|
||||
Use [`opts.headers`](#opts-headers) to set the content-type to something else.
|
||||
|
||||
##### <a name="opts-ca"></a> `opts.ca`
|
||||
|
||||
* Type: String, Array, or null
|
||||
* Default: null
|
||||
|
||||
The Certificate Authority signing certificate that is trusted for SSL
|
||||
connections to the registry. Values should be in PEM format (Windows calls it
|
||||
"Base-64 encoded X.509 (.CER)") with newlines replaced by the string `'\n'`. For
|
||||
example:
|
||||
|
||||
```
|
||||
{
|
||||
ca: '-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----'
|
||||
}
|
||||
```
|
||||
|
||||
Set to `null` to only allow "known" registrars, or to a specific CA cert
|
||||
to trust only that specific signing authority.
|
||||
|
||||
Multiple CAs can be trusted by specifying an array of certificates instead of a
|
||||
single string.
|
||||
|
||||
See also [`opts.strict-ssl`](#opts-strict-ssl), [`opts.ca`](#opts-ca) and
|
||||
[`opts.key`](#opts-key)
|
||||
|
||||
##### <a name="opts-cache"></a> `opts.cache`
|
||||
|
||||
* Type: path
|
||||
* Default: null
|
||||
|
||||
The location of the http cache directory. If provided, certain cachable requests
|
||||
will be cached according to [IETF RFC 7234](https://tools.ietf.org/html/rfc7234)
|
||||
rules. This will speed up future requests, as well as make the cached data
|
||||
available offline if necessary/requested.
|
||||
|
||||
See also [`offline`](#opts-offline), [`prefer-offline`](#opts-prefer-offline),
|
||||
and [`prefer-online`](#opts-prefer-online).
|
||||
|
||||
##### <a name="opts-cert"></a> `opts.cert`
|
||||
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
A client certificate to pass when accessing the registry. Values should be in
|
||||
PEM format (Windows calls it "Base-64 encoded X.509 (.CER)") with newlines
|
||||
replaced by the string `'\n'`. For example:
|
||||
|
||||
```
|
||||
{
|
||||
cert: '-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----'
|
||||
}
|
||||
```
|
||||
|
||||
It is _not_ the path to a certificate file (and there is no "certfile" option).
|
||||
|
||||
See also: [`opts.ca`](#opts-ca) and [`opts.key`](#opts-key)
|
||||
|
||||
##### <a name="opts-fetch-retries"></a> `opts.fetch-retries`
|
||||
|
||||
* Type: Number
|
||||
* Default: 2
|
||||
|
||||
The "retries" config for [`retry`](https://npm.im/retry) to use when fetching
|
||||
packages from the registry.
|
||||
|
||||
See also [`opts.retry`](#opts-retry) to provide all retry options as a single
|
||||
object.
|
||||
|
||||
##### <a name="opts-fetch-retry-factor"></a> `opts.fetch-retry-factor`
|
||||
|
||||
* Type: Number
|
||||
* Default: 10
|
||||
|
||||
The "factor" config for [`retry`](https://npm.im/retry) to use when fetching
|
||||
packages.
|
||||
|
||||
See also [`opts.retry`](#opts-retry) to provide all retry options as a single
|
||||
object.
|
||||
|
||||
##### <a name="opts-fetch-retry-mintimeout"></a> `opts.fetch-retry-mintimeout`
|
||||
|
||||
* Type: Number
|
||||
* Default: 10000 (10 seconds)
|
||||
|
||||
The "minTimeout" config for [`retry`](https://npm.im/retry) to use when fetching
|
||||
packages.
|
||||
|
||||
See also [`opts.retry`](#opts-retry) to provide all retry options as a single
|
||||
object.
|
||||
|
||||
##### <a name="opts-fetch-retry-maxtimeout"></a> `opts.fetch-retry-maxtimeout`
|
||||
|
||||
* Type: Number
|
||||
* Default: 60000 (1 minute)
|
||||
|
||||
The "maxTimeout" config for [`retry`](https://npm.im/retry) to use when fetching
|
||||
packages.
|
||||
|
||||
See also [`opts.retry`](#opts-retry) to provide all retry options as a single
|
||||
object.
|
||||
|
||||
##### <a name="opts-headers"></a> `opts.headers`
|
||||
|
||||
* Type: Object
|
||||
* Default: null
|
||||
|
||||
Additional headers for the outgoing request. This option can also be used to
|
||||
override headers automatically generated by `npm-registry-fetch`, such as
|
||||
`Content-Type`.
|
||||
|
||||
##### <a name="opts-integrity"></a> `opts.integrity`
|
||||
|
||||
* Type: String | [SRI object](https://npm.im/ssri)
|
||||
* Default: null
|
||||
|
||||
If provided, the response body's will be verified against this integrity string,
|
||||
using [`ssri`](https://npm.im/ssri). If verification succeeds, the response will
|
||||
complete as normal. If verification fails, the response body will error with an
|
||||
`EINTEGRITY` error.
|
||||
|
||||
Body integrity is only verified if the body is actually consumed to completion --
|
||||
that is, if you use `res.json()`/`res.buffer()`, or if you consume the default
|
||||
`res` stream data to its end.
|
||||
|
||||
Cached data will have its integrity automatically verified using the
|
||||
previously-generated integrity hash for the saved request information, so
|
||||
`EINTEGRITY` errors can happen if [`opts.cache`](#opts-cache) is used, even if
|
||||
`opts.integrity` is not passed in.
|
||||
|
||||
##### <a name='opts-is-from-ci'></a> `opts.is-from-ci`
|
||||
|
||||
* Alias: `opts.isFromCI`
|
||||
* Type: Boolean
|
||||
* Default: Based on environment variables
|
||||
|
||||
This is used to populate the `npm-in-ci` request header sent to the registry.
|
||||
|
||||
##### <a name="opts-key"></a> `opts.key`
|
||||
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
A client key to pass when accessing the registry. Values should be in PEM
|
||||
format with newlines replaced by the string `'\n'`. For example:
|
||||
|
||||
```
|
||||
{
|
||||
key: '-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----'
|
||||
}
|
||||
```
|
||||
|
||||
It is _not_ the path to a key file (and there is no "keyfile" option).
|
||||
|
||||
See also: [`opts.ca`](#opts-ca) and [`opts.cert`](#opts-cert)
|
||||
|
||||
##### <a name="opts-local-address"></a> `opts.local-address`
|
||||
|
||||
* Type: IP Address String
|
||||
* Default: null
|
||||
|
||||
The IP address of the local interface to use when making connections
|
||||
to the registry.
|
||||
|
||||
See also [`opts.proxy`](#opts-proxy)
|
||||
|
||||
##### <a name="opts-log"></a> `opts.log`
|
||||
|
||||
* Type: [`npmlog`](https://npm.im/npmlog)-like
|
||||
* Default: null
|
||||
|
||||
Logger object to use for logging operation details. Must have the same methods
|
||||
as `npmlog`.
|
||||
|
||||
##### <a name="opts-maxsockets"></a> `opts.maxsockets`
|
||||
|
||||
* Alias: `opts.max-sockets`
|
||||
* Type: Integer
|
||||
* Default: 12
|
||||
|
||||
Maximum number of sockets to keep open during requests. Has no effect if
|
||||
[`opts.agent`](#opts-agent) is used.
|
||||
|
||||
##### <a name="opts-method"></a> `opts.method`
|
||||
|
||||
* Type: String
|
||||
* Default: 'GET'
|
||||
|
||||
HTTP method to use for the outgoing request. Case-insensitive.
|
||||
|
||||
##### <a name="opts-noproxy"></a> `opts.noproxy`
|
||||
|
||||
* Type: Boolean
|
||||
* Default: process.env.NOPROXY
|
||||
|
||||
If true, proxying will be disabled even if [`opts.proxy`](#opts-proxy) is used.
|
||||
|
||||
##### <a name="opts-npm-session"></a> `opts.npm-session`
|
||||
|
||||
* Alias: `opts.npmSession`
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
If provided, will be sent in the `npm-session` header. This header is used by
|
||||
the npm registry to identify individual user sessions (usually individual
|
||||
invocations of the CLI).
|
||||
|
||||
##### <a name="opts-offline"></a> `opts.offline`
|
||||
|
||||
* Type: Boolean
|
||||
* Default: false
|
||||
|
||||
Force offline mode: no network requests will be done during install. To allow
|
||||
`npm-registry-fetch` to fill in missing cache data, see
|
||||
[`opts.prefer-offline`](#opts-prefer-offline).
|
||||
|
||||
This option is only really useful if you're also using
|
||||
[`opts.cache`](#opts-cache).
|
||||
|
||||
##### <a name="opts-otp"></a> `opts.otp`
|
||||
|
||||
* Type: Number | String
|
||||
* Default: null
|
||||
|
||||
This is a one-time password from a two-factor authenticator. It is required for
|
||||
certain registry interactions when two-factor auth is enabled for a user
|
||||
account.
|
||||
|
||||
##### <a name="opts-password"></a> `opts.password`
|
||||
|
||||
* Alias: _password
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
Password used for basic authentication. For the more modern authentication
|
||||
method, please use the (more secure) [`opts.token`](#opts-token)
|
||||
|
||||
Can optionally be scoped to a registry by using a "nerf dart" for that registry.
|
||||
That is:
|
||||
|
||||
```
|
||||
{
|
||||
'//registry.npmjs.org/:password': 't0k3nH34r'
|
||||
}
|
||||
```
|
||||
|
||||
See also [`opts.username`](#opts-username)
|
||||
|
||||
##### <a name="opts-prefer-offline"></a> `opts.prefer-offline`
|
||||
|
||||
* Type: Boolean
|
||||
* Default: false
|
||||
|
||||
If true, staleness checks for cached data will be bypassed, but missing data
|
||||
will be requested from the server. To force full offline mode, use
|
||||
[`opts.offline`](#opts-offline).
|
||||
|
||||
This option is generally only useful if you're also using
|
||||
[`opts.cache`](#opts-cache).
|
||||
|
||||
##### <a name="opts-prefer-online"></a> `opts.prefer-online`
|
||||
|
||||
* Type: Boolean
|
||||
* Default: false
|
||||
|
||||
If true, staleness checks for cached data will be forced, making the CLI look
|
||||
for updates immediately even for fresh package data.
|
||||
|
||||
This option is generally only useful if you're also using
|
||||
[`opts.cache`](#opts-cache).
|
||||
|
||||
|
||||
##### <a name="opts-project-scope"></a> `opts.project-scope`
|
||||
|
||||
* Alias: `opts.projectScope`
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
If provided, will be sent in the `npm-scope` header. This header is used by the
|
||||
npm registry to identify the toplevel package scope that a particular project
|
||||
installation is using.
|
||||
|
||||
##### <a name="opts-proxy"></a> `opts.proxy`
|
||||
|
||||
* Type: url
|
||||
* Default: null
|
||||
|
||||
A proxy to use for outgoing http requests. If not passed in, the `HTTP(S)_PROXY`
|
||||
environment variable will be used.
|
||||
|
||||
##### <a name="opts-query"></a> `opts.query`
|
||||
|
||||
* Type: String | Object
|
||||
* Default: null
|
||||
|
||||
If provided, the request URI will have a query string appended to it using this
|
||||
query. If `opts.query` is an object, it will be converted to a query string
|
||||
using
|
||||
[`querystring.stringify()`](https://nodejs.org/api/querystring.html#querystring_querystring_stringify_obj_sep_eq_options).
|
||||
|
||||
If the request URI already has a query string, it will be merged with
|
||||
`opts.query`, preferring `opts.query` values.
|
||||
|
||||
##### <a name="opts-refer"></a> `opts.refer`
|
||||
|
||||
* Alias: `opts.referer`
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
Value to use for the `Referer` header. The npm CLI itself uses this to serialize
|
||||
the npm command line using the given request.
|
||||
|
||||
##### <a name="opts-registry"></a> `opts.registry`
|
||||
|
||||
* Type: URL
|
||||
* Default: `'https://registry.npmjs.org'`
|
||||
|
||||
Registry configuration for a request. If a request URL only includes the URL
|
||||
path, this registry setting will be prepended. This configuration is also used
|
||||
to determine authentication details, so even if the request URL references a
|
||||
completely different host, `opts.registry` will be used to find the auth details
|
||||
for that request.
|
||||
|
||||
See also [`opts.scope`](#opts-scope), [`opts.spec`](#opts-spec), and
|
||||
[`opts.<scope>:registry`](#opts-scope-registry) which can all affect the actual
|
||||
registry URL used by the outgoing request.
|
||||
|
||||
##### <a name="opts-retry"></a> `opts.retry`
|
||||
|
||||
* Type: Object
|
||||
* Default: null
|
||||
|
||||
Single-object configuration for request retry settings. If passed in, will
|
||||
override individually-passed `fetch-retry-*` settings.
|
||||
|
||||
##### <a name="opts-scope"></a> `opts.scope`
|
||||
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
Associate an operation with a scope for a scoped registry. This option can force
|
||||
lookup of scope-specific registries and authentication.
|
||||
|
||||
See also [`opts.<scope>:registry`](#opts-scope-registry) and
|
||||
[`opts.spec`](#opts-spec) for interactions with this option.
|
||||
|
||||
##### <a name="opts-scope-registry"></a> `opts.<scope>:registry`
|
||||
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
This option type can be used to configure the registry used for requests
|
||||
involving a particular scope. For example, `opts['@myscope:registry'] =
|
||||
'https://scope-specific.registry/'` will make it so requests go out to this
|
||||
registry instead of [`opts.registry`](#opts-registry) when
|
||||
[`opts.scope`](#opts-scope) is used, or when [`opts.spec`](#opts-spec) is a
|
||||
scoped package spec.
|
||||
|
||||
The `@` before the scope name is optional, but recommended.
|
||||
|
||||
##### <a name="opts-spec"></a> `opts.spec`
|
||||
|
||||
* Type: String | [`npm-registry-arg`](https://npm.im/npm-registry-arg) object.
|
||||
* Default: null
|
||||
|
||||
If provided, can be used to automatically configure [`opts.scope`](#opts-scope)
|
||||
based on a specific package name. Non-registry package specs will throw an
|
||||
error.
|
||||
|
||||
##### <a name="opts-strict-ssl"></a> `opts.strict-ssl`
|
||||
|
||||
* Type: Boolean
|
||||
* Default: true
|
||||
|
||||
Whether or not to do SSL key validation when making requests to the
|
||||
registry via https.
|
||||
|
||||
See also [`opts.ca`](#opts-ca).
|
||||
|
||||
##### <a name="opts-timeout"></a> `opts.timeout`
|
||||
|
||||
* Type: Milliseconds
|
||||
* Default: 30000 (30 seconds)
|
||||
|
||||
Time before a hanging request times out.
|
||||
|
||||
##### <a name="opts-token"></a> `opts.token`
|
||||
|
||||
* Alias: `opts._authToken`
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
Authentication token string.
|
||||
|
||||
Can be scoped to a registry by using a "nerf dart" for that registry. That is:
|
||||
|
||||
```
|
||||
{
|
||||
'//registry.npmjs.org/:token': 't0k3nH34r'
|
||||
}
|
||||
```
|
||||
|
||||
##### <a name="opts-user-agent"></a> `opts.user-agent`
|
||||
|
||||
* Type: String
|
||||
* Default: `'npm-registry-fetch@<version>/node@<node-version>+<arch> (<platform>)'`
|
||||
|
||||
User agent string to send in the `User-Agent` header.
|
||||
|
||||
##### <a name="opts-username"></a> `opts.username`
|
||||
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
Username used for basic authentication. For the more modern authentication
|
||||
method, please use the (more secure) [`opts.token`](#opts-token)
|
||||
|
||||
Can optionally be scoped to a registry by using a "nerf dart" for that registry.
|
||||
That is:
|
||||
|
||||
```
|
||||
{
|
||||
'//registry.npmjs.org/:username': 't0k3nH34r'
|
||||
}
|
||||
```
|
||||
|
||||
See also [`opts.password`](#opts-password)
|
||||
|
||||
##### <a name="opts-auth"></a> `opts._auth`
|
||||
|
||||
* Type: String
|
||||
* Default: null
|
||||
|
||||
** DEPRECATED ** This is a legacy authentication token supported only for
|
||||
*compatibility. Please use [`opts.token`](#opts-token) instead.
|
48
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/auth.js
generated
vendored
Normal file
48
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/auth.js
generated
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
'use strict'
|
||||
|
||||
const config = require('./config.js')
|
||||
const url = require('url')
|
||||
|
||||
module.exports = getAuth
|
||||
function getAuth (registry, opts) {
|
||||
if (!registry) { throw new Error('registry is required') }
|
||||
opts = config(opts)
|
||||
let AUTH = {}
|
||||
const regKey = registry && registryKey(registry)
|
||||
const doKey = (key, alias) => addKey(opts, AUTH, regKey, key, alias)
|
||||
doKey('token')
|
||||
doKey('_authToken', 'token')
|
||||
doKey('username')
|
||||
doKey('password')
|
||||
doKey('_password', 'password')
|
||||
doKey('email')
|
||||
doKey('_auth')
|
||||
doKey('otp')
|
||||
doKey('always-auth', 'alwaysAuth')
|
||||
if (AUTH.password) {
|
||||
AUTH.password = Buffer.from(AUTH.password, 'base64').toString('utf8')
|
||||
}
|
||||
AUTH.alwaysAuth = AUTH.alwaysAuth === 'false' ? false : !!AUTH.alwaysAuth
|
||||
return AUTH
|
||||
}
|
||||
|
||||
function addKey (opts, obj, scope, key, objKey) {
|
||||
if (opts.get(key)) {
|
||||
obj[objKey || key] = opts.get(key)
|
||||
}
|
||||
if (scope && opts.get(`${scope}:${key}`)) {
|
||||
obj[objKey || key] = opts.get(`${scope}:${key}`)
|
||||
}
|
||||
}
|
||||
|
||||
// Called a nerf dart in the main codebase. Used as a "safe"
|
||||
// key when fetching registry info from config.
|
||||
function registryKey (registry) {
|
||||
const parsed = url.parse(registry)
|
||||
const formatted = url.format({
|
||||
host: parsed.host,
|
||||
pathname: parsed.pathname,
|
||||
slashes: parsed.slashes
|
||||
})
|
||||
return url.resolve(formatted, '.')
|
||||
}
|
99
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/check-response.js
generated
vendored
Normal file
99
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/check-response.js
generated
vendored
Normal file
@@ -0,0 +1,99 @@
|
||||
'use strict'
|
||||
|
||||
const config = require('./config.js')
|
||||
const errors = require('./errors.js')
|
||||
const LRU = require('lru-cache')
|
||||
|
||||
module.exports = checkResponse
|
||||
function checkResponse (method, res, registry, startTime, opts) {
|
||||
opts = config(opts)
|
||||
if (res.headers.has('npm-notice') && !res.headers.has('x-local-cache')) {
|
||||
opts.get('log').notice('', res.headers.get('npm-notice'))
|
||||
}
|
||||
checkWarnings(res, registry, opts)
|
||||
if (res.status >= 400) {
|
||||
logRequest(method, res, startTime, opts)
|
||||
return checkErrors(method, res, startTime, opts)
|
||||
} else {
|
||||
res.body.on('end', () => logRequest(method, res, startTime, opts))
|
||||
return res
|
||||
}
|
||||
}
|
||||
|
||||
function logRequest (method, res, startTime, opts) {
|
||||
const elapsedTime = Date.now() - startTime
|
||||
const attempt = res.headers.get('x-fetch-attempts')
|
||||
const attemptStr = attempt && attempt > 1 ? ` attempt #${attempt}` : ''
|
||||
const cacheStr = res.headers.get('x-local-cache') ? ' (from cache)' : ''
|
||||
opts.get('log').http(
|
||||
'fetch',
|
||||
`${method.toUpperCase()} ${res.status} ${res.url} ${elapsedTime}ms${attemptStr}${cacheStr}`
|
||||
)
|
||||
}
|
||||
|
||||
const WARNING_REGEXP = /^\s*(\d{3})\s+(\S+)\s+"(.*)"\s+"([^"]+)"/
|
||||
const BAD_HOSTS = new LRU({ max: 50 })
|
||||
|
||||
function checkWarnings (res, registry, opts) {
|
||||
if (res.headers.has('warning') && !BAD_HOSTS.has(registry)) {
|
||||
const warnings = {}
|
||||
res.headers.raw()['warning'].forEach(w => {
|
||||
const match = w.match(WARNING_REGEXP)
|
||||
if (match) {
|
||||
warnings[match[1]] = {
|
||||
code: match[1],
|
||||
host: match[2],
|
||||
message: match[3],
|
||||
date: new Date(match[4])
|
||||
}
|
||||
}
|
||||
})
|
||||
BAD_HOSTS.set(registry, true)
|
||||
if (warnings['199']) {
|
||||
if (warnings['199'].message.match(/ENOTFOUND/)) {
|
||||
opts.get('log').warn('registry', `Using stale data from ${registry} because the host is inaccessible -- are you offline?`)
|
||||
} else {
|
||||
opts.get('log').warn('registry', `Unexpected warning for ${registry}: ${warnings['199'].message}`)
|
||||
}
|
||||
}
|
||||
if (warnings['111']) {
|
||||
// 111 Revalidation failed -- we're using stale data
|
||||
opts.get('log').warn(
|
||||
'registry',
|
||||
`Using stale data from ${registry} due to a request error during revalidation.`
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function checkErrors (method, res, startTime, opts) {
|
||||
return res.buffer()
|
||||
.catch(() => null)
|
||||
.then(body => {
|
||||
try {
|
||||
body = JSON.parse(body.toString('utf8'))
|
||||
} catch (e) {}
|
||||
if (res.status === 401 && res.headers.get('www-authenticate')) {
|
||||
const auth = res.headers.get('www-authenticate')
|
||||
.split(/,\s*/)
|
||||
.map(s => s.toLowerCase())
|
||||
if (auth.indexOf('ipaddress') !== -1) {
|
||||
throw new errors.HttpErrorAuthIPAddress(
|
||||
method, res, body, opts.spec
|
||||
)
|
||||
} else if (auth.indexOf('otp') !== -1) {
|
||||
throw new errors.HttpErrorAuthOTP(
|
||||
method, res, body, opts.spec
|
||||
)
|
||||
} else {
|
||||
throw new errors.HttpErrorAuthUnknown(
|
||||
method, res, body, opts.spec
|
||||
)
|
||||
}
|
||||
} else {
|
||||
throw new errors.HttpErrorGeneral(
|
||||
method, res, body, opts.spec
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
90
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/config.js
generated
vendored
Normal file
90
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/config.js
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
'use strict'
|
||||
|
||||
const pkg = require('./package.json')
|
||||
const figgyPudding = require('figgy-pudding')
|
||||
const silentLog = require('./silentlog.js')
|
||||
|
||||
const AUTH_REGEX = /^(?:.*:)?(token|_authToken|username|_password|password|email|always-auth|_auth|otp)$/
|
||||
const SCOPE_REGISTRY_REGEX = /@.*:registry$/gi
|
||||
module.exports = figgyPudding({
|
||||
'agent': {},
|
||||
'algorithms': {},
|
||||
'body': {},
|
||||
'ca': {},
|
||||
'cache': {},
|
||||
'cert': {},
|
||||
'fetch-retries': {},
|
||||
'fetch-retry-factor': {},
|
||||
'fetch-retry-maxtimeout': {},
|
||||
'fetch-retry-mintimeout': {},
|
||||
'gid': {},
|
||||
'headers': {},
|
||||
'https-proxy': {},
|
||||
'integrity': {},
|
||||
'is-from-ci': 'isFromCI',
|
||||
'isFromCI': {
|
||||
default () {
|
||||
return (
|
||||
process.env['CI'] === 'true' ||
|
||||
process.env['TDDIUM'] ||
|
||||
process.env['JENKINS_URL'] ||
|
||||
process.env['bamboo.buildKey'] ||
|
||||
process.env['GO_PIPELINE_NAME']
|
||||
)
|
||||
}
|
||||
},
|
||||
'key': {},
|
||||
'local-address': {},
|
||||
'log': {
|
||||
default: silentLog
|
||||
},
|
||||
'max-sockets': 'maxsockets',
|
||||
'maxsockets': {
|
||||
default: 12
|
||||
},
|
||||
'memoize': {},
|
||||
'method': {
|
||||
default: 'GET'
|
||||
},
|
||||
'no-proxy': {},
|
||||
'noproxy': {},
|
||||
'npm-session': 'npmSession',
|
||||
'npmSession': {},
|
||||
'offline': {},
|
||||
'otp': {},
|
||||
'prefer-offline': {},
|
||||
'prefer-online': {},
|
||||
'projectScope': {},
|
||||
'project-scope': 'projectScope',
|
||||
'Promise': {},
|
||||
'proxy': {},
|
||||
'query': {},
|
||||
'refer': {},
|
||||
'referer': 'refer',
|
||||
'registry': {
|
||||
default: 'https://registry.npmjs.org/'
|
||||
},
|
||||
'retry': {},
|
||||
'scope': {},
|
||||
'spec': {},
|
||||
'strict-ssl': {},
|
||||
'timeout': {},
|
||||
'uid': {},
|
||||
'user-agent': {
|
||||
default: `${
|
||||
pkg.name
|
||||
}@${
|
||||
pkg.version
|
||||
}/node@${
|
||||
process.version
|
||||
}+${
|
||||
process.arch
|
||||
} (${
|
||||
process.platform
|
||||
})`
|
||||
}
|
||||
}, {
|
||||
other (key) {
|
||||
return key.match(AUTH_REGEX) || key.match(SCOPE_REGISTRY_REGEX)
|
||||
}
|
||||
})
|
58
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/errors.js
generated
vendored
Normal file
58
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/errors.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
'use strict'
|
||||
|
||||
class HttpErrorBase extends Error {
|
||||
constructor (method, res, body, spec) {
|
||||
super()
|
||||
this.headers = res.headers.raw()
|
||||
this.statusCode = res.status
|
||||
this.code = `E${res.status}`
|
||||
this.method = method
|
||||
this.uri = res.url
|
||||
this.body = body
|
||||
}
|
||||
}
|
||||
module.exports.HttpErrorBase = HttpErrorBase
|
||||
|
||||
class HttpErrorGeneral extends HttpErrorBase {
|
||||
constructor (method, res, body, spec) {
|
||||
super(method, res, body, spec)
|
||||
this.message = `${res.status} ${res.statusText} - ${
|
||||
this.method.toUpperCase()
|
||||
} ${
|
||||
this.spec || this.uri
|
||||
}${
|
||||
(body && body.error) ? ' - ' + body.error : ''
|
||||
}`
|
||||
Error.captureStackTrace(this, HttpErrorGeneral)
|
||||
}
|
||||
}
|
||||
module.exports.HttpErrorGeneral = HttpErrorGeneral
|
||||
|
||||
class HttpErrorAuthOTP extends HttpErrorBase {
|
||||
constructor (method, res, body, spec) {
|
||||
super(method, res, body, spec)
|
||||
this.message = 'OTP required for authentication'
|
||||
this.code = 'EOTP'
|
||||
Error.captureStackTrace(this, HttpErrorAuthOTP)
|
||||
}
|
||||
}
|
||||
module.exports.HttpErrorAuthOTP = HttpErrorAuthOTP
|
||||
|
||||
class HttpErrorAuthIPAddress extends HttpErrorBase {
|
||||
constructor (method, res, body, spec) {
|
||||
super(method, res, body, spec)
|
||||
this.message = 'Login is not allowed from your IP address'
|
||||
this.code = 'EAUTHIP'
|
||||
Error.captureStackTrace(this, HttpErrorAuthIPAddress)
|
||||
}
|
||||
}
|
||||
module.exports.HttpErrorAuthIPAddress = HttpErrorAuthIPAddress
|
||||
|
||||
class HttpErrorAuthUnknown extends HttpErrorBase {
|
||||
constructor (method, res, body, spec) {
|
||||
super(method, res, body, spec)
|
||||
this.message = 'Unable to authenticate, need: ' + res.headers.get('www-authenticate')
|
||||
Error.captureStackTrace(this, HttpErrorAuthUnknown)
|
||||
}
|
||||
}
|
||||
module.exports.HttpErrorAuthUnknown = HttpErrorAuthUnknown
|
160
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/index.js
generated
vendored
Normal file
160
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/index.js
generated
vendored
Normal file
@@ -0,0 +1,160 @@
|
||||
'use strict'
|
||||
|
||||
const Buffer = require('safe-buffer').Buffer
|
||||
|
||||
const checkResponse = require('./check-response.js')
|
||||
const config = require('./config.js')
|
||||
const getAuth = require('./auth.js')
|
||||
const fetch = require('make-fetch-happen')
|
||||
const npa = require('npm-package-arg')
|
||||
const qs = require('querystring')
|
||||
const url = require('url')
|
||||
|
||||
module.exports = regFetch
|
||||
function regFetch (uri, opts) {
|
||||
opts = config(opts)
|
||||
const registry = (
|
||||
(opts.get('spec') && pickRegistry(opts.get('spec'), opts)) ||
|
||||
opts.get('registry') ||
|
||||
'https://registry.npmjs.org/'
|
||||
)
|
||||
uri = url.parse(uri).protocol
|
||||
? uri
|
||||
: `${
|
||||
registry.trim().replace(/\/?$/g, '')
|
||||
}/${
|
||||
uri.trim().replace(/^\//, '')
|
||||
}`
|
||||
// through that takes into account the scope, the prefix of `uri`, etc
|
||||
const startTime = Date.now()
|
||||
const headers = getHeaders(registry, uri, opts)
|
||||
let body = opts.get('body')
|
||||
const bodyIsStream = body &&
|
||||
typeof body === 'object' &&
|
||||
typeof body.pipe === 'function'
|
||||
if (body && !bodyIsStream && typeof body !== 'string' && !Buffer.isBuffer(body)) {
|
||||
headers['content-type'] = headers['content-type'] || 'application/json'
|
||||
body = JSON.stringify(body)
|
||||
} else if (body && !headers['content-type']) {
|
||||
headers['content-type'] = 'application/octet-stream'
|
||||
}
|
||||
if (opts.get('query')) {
|
||||
let q = opts.get('query')
|
||||
if (typeof q === 'string') {
|
||||
q = qs.parse(q)
|
||||
}
|
||||
const parsed = url.parse(uri)
|
||||
parsed.search = '?' + qs.stringify(
|
||||
parsed.query
|
||||
? Object.assign(qs.parse(parsed.query), q)
|
||||
: q
|
||||
)
|
||||
uri = url.format(parsed)
|
||||
}
|
||||
return fetch(uri, {
|
||||
agent: opts.get('agent'),
|
||||
algorithms: opts.get('algorithms'),
|
||||
body,
|
||||
cache: getCacheMode(opts),
|
||||
cacheManager: opts.get('cache'),
|
||||
ca: opts.get('ca'),
|
||||
cert: opts.get('cert'),
|
||||
headers,
|
||||
integrity: opts.get('integrity'),
|
||||
key: opts.get('key'),
|
||||
localAddress: opts.get('local-address'),
|
||||
maxSockets: opts.get('maxsockets'),
|
||||
memoize: opts.get('memoize'),
|
||||
method: opts.get('method') || 'GET',
|
||||
noProxy: opts.get('no-proxy') || opts.get('noproxy'),
|
||||
Promise: opts.get('Promise'),
|
||||
proxy: opts.get('https-proxy') || opts.get('proxy'),
|
||||
referer: opts.get('refer'),
|
||||
retry: opts.get('retry') || {
|
||||
retries: opts.get('fetch-retries'),
|
||||
factor: opts.get('fetch-retry-factor'),
|
||||
minTimeout: opts.get('fetch-retry-mintimeout'),
|
||||
maxTimeout: opts.get('fetch-retry-maxtimeout')
|
||||
},
|
||||
strictSSL: !!opts.get('strict-ssl'),
|
||||
timeout: opts.get('timeout'),
|
||||
uid: opts.get('uid'),
|
||||
gid: opts.get('gid')
|
||||
}).then(res => checkResponse(
|
||||
opts.get('method') || 'GET', res, registry, startTime, opts
|
||||
))
|
||||
}
|
||||
|
||||
module.exports.json = fetchJSON
|
||||
function fetchJSON (uri, opts) {
|
||||
return regFetch(uri, opts).then(res => res.json())
|
||||
}
|
||||
|
||||
module.exports.pickRegistry = pickRegistry
|
||||
function pickRegistry (spec, opts) {
|
||||
spec = npa(spec)
|
||||
opts = config(opts)
|
||||
let registry = spec.scope &&
|
||||
opts.get(spec.scope.replace(/^@?/, '@') + ':registry')
|
||||
|
||||
if (!registry && opts.get('scope')) {
|
||||
registry = opts.get(
|
||||
opts.get('scope').replace(/^@?/, '@') + ':registry'
|
||||
)
|
||||
}
|
||||
|
||||
if (!registry) {
|
||||
registry = opts.get('registry') || 'https://registry.npmjs.org/'
|
||||
}
|
||||
|
||||
return registry
|
||||
}
|
||||
|
||||
function getCacheMode (opts) {
|
||||
return opts.get('offline')
|
||||
? 'only-if-cached'
|
||||
: opts.get('prefer-offline')
|
||||
? 'force-cache'
|
||||
: opts.get('prefer-online')
|
||||
? 'no-cache'
|
||||
: 'default'
|
||||
}
|
||||
|
||||
function getHeaders (registry, uri, opts) {
|
||||
const headers = Object.assign({
|
||||
'npm-in-ci': !!(
|
||||
opts.get('is-from-ci') ||
|
||||
process.env['CI'] === 'true' ||
|
||||
process.env['TDDIUM'] ||
|
||||
process.env['JENKINS_URL'] ||
|
||||
process.env['bamboo.buildKey'] ||
|
||||
process.env['GO_PIPELINE_NAME']
|
||||
),
|
||||
'npm-scope': opts.get('project-scope'),
|
||||
'npm-session': opts.get('npm-session'),
|
||||
'user-agent': opts.get('user-agent'),
|
||||
'referer': opts.get('refer')
|
||||
}, opts.get('headers'))
|
||||
|
||||
const auth = getAuth(registry, opts)
|
||||
// If a tarball is hosted on a different place than the manifest, only send
|
||||
// credentials on `alwaysAuth`
|
||||
const shouldAuth = (
|
||||
auth.alwaysAuth ||
|
||||
url.parse(uri).host === url.parse(registry).host
|
||||
)
|
||||
if (shouldAuth && auth.token) {
|
||||
headers.authorization = `Bearer ${auth.token}`
|
||||
} else if (shouldAuth && auth.username && auth.password) {
|
||||
const encoded = Buffer.from(
|
||||
`${auth.username}:${auth.password}`, 'utf8'
|
||||
).toString('base64')
|
||||
headers.authorization = `Basic ${encoded}`
|
||||
} else if (shouldAuth && auth._auth) {
|
||||
headers.authorization = `Basic ${auth._auth}`
|
||||
}
|
||||
if (shouldAuth && auth.otp) {
|
||||
headers['npm-otp'] = auth.otp
|
||||
}
|
||||
return headers
|
||||
}
|
90
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/package.json
generated
vendored
Normal file
90
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/package.json
generated
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
{
|
||||
"_from": "npm-registry-fetch@^3.0.0",
|
||||
"_id": "npm-registry-fetch@3.1.1",
|
||||
"_inBundle": true,
|
||||
"_integrity": "sha512-xBobENeenvjIG8PgQ1dy77AXTI25IbYhmA3DusMIfw/4EL5BaQ5e1V9trkPrqHvyjR3/T0cnH6o0Wt/IzcI5Ag==",
|
||||
"_location": "/npm/libnpmhook/npm-registry-fetch",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "range",
|
||||
"registry": true,
|
||||
"raw": "npm-registry-fetch@^3.0.0",
|
||||
"name": "npm-registry-fetch",
|
||||
"escapedName": "npm-registry-fetch",
|
||||
"rawSpec": "^3.0.0",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "^3.0.0"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/npm/libnpmhook"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-3.1.1.tgz",
|
||||
"_shasum": "e96bae698afdd45d4a01aca29e881fc0bc55206c",
|
||||
"_spec": "npm-registry-fetch@^3.0.0",
|
||||
"_where": "/Users/rebecca/code/npm/node_modules/libnpmhook",
|
||||
"author": {
|
||||
"name": "Kat Marchán",
|
||||
"email": "kzm@sykosomatic.org"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/npm/registry-fetch/issues"
|
||||
},
|
||||
"bundleDependencies": false,
|
||||
"config": {
|
||||
"nyc": {
|
||||
"exclude": [
|
||||
"node_modules/**",
|
||||
"test/**"
|
||||
]
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"bluebird": "^3.5.1",
|
||||
"figgy-pudding": "^3.1.0",
|
||||
"lru-cache": "^4.1.2",
|
||||
"make-fetch-happen": "^4.0.0",
|
||||
"npm-package-arg": "^6.0.0"
|
||||
},
|
||||
"deprecated": false,
|
||||
"description": "Fetch-based http client for use with npm registry APIs",
|
||||
"devDependencies": {
|
||||
"cacache": "^11.0.0",
|
||||
"mkdirp": "^0.5.1",
|
||||
"nock": "^9.2.3",
|
||||
"npmlog": "^4.1.2",
|
||||
"rimraf": "^2.6.2",
|
||||
"ssri": "^6.0.0",
|
||||
"standard": "^11.0.1",
|
||||
"standard-version": "^4.2.0",
|
||||
"tap": "^11.1.3",
|
||||
"weallbehave": "^1.2.0",
|
||||
"weallcontribute": "^1.0.8"
|
||||
},
|
||||
"files": [
|
||||
"*.js",
|
||||
"lib"
|
||||
],
|
||||
"homepage": "https://github.com/npm/registry-fetch#readme",
|
||||
"keywords": [
|
||||
"npm",
|
||||
"registry",
|
||||
"fetch"
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"name": "npm-registry-fetch",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/npm/registry-fetch.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postrelease": "npm publish && git push --follow-tags",
|
||||
"prerelease": "npm t",
|
||||
"pretest": "standard",
|
||||
"release": "standard-version -s",
|
||||
"test": "tap -J --coverage test/*.js",
|
||||
"update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'",
|
||||
"update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"
|
||||
},
|
||||
"version": "3.1.1"
|
||||
}
|
14
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/silentlog.js
generated
vendored
Normal file
14
website/node_modules/npm/node_modules/libnpmhook/node_modules/npm-registry-fetch/silentlog.js
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
'use strict'
|
||||
|
||||
const noop = Function.prototype
|
||||
module.exports = {
|
||||
error: noop,
|
||||
warn: noop,
|
||||
notice: noop,
|
||||
info: noop,
|
||||
verbose: noop,
|
||||
silly: noop,
|
||||
http: noop,
|
||||
pause: noop,
|
||||
resume: noop
|
||||
}
|
84
website/node_modules/npm/node_modules/libnpmhook/package.json
generated
vendored
Normal file
84
website/node_modules/npm/node_modules/libnpmhook/package.json
generated
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"libnpmhook@4.0.1",
|
||||
"/Users/rebecca/code/npm"
|
||||
]
|
||||
],
|
||||
"_from": "libnpmhook@4.0.1",
|
||||
"_id": "libnpmhook@4.0.1",
|
||||
"_inBundle": true,
|
||||
"_integrity": "sha512-3qqpfqvBD1712WA6iGe0stkG40WwAeoWcujA6BlC0Be1JArQbqwabnEnZ0CRcD05Tf1fPYJYdCbSfcfedEJCOg==",
|
||||
"_location": "/npm/libnpmhook",
|
||||
"_phantomChildren": {
|
||||
"bluebird": "3.5.3",
|
||||
"figgy-pudding": "3.5.1",
|
||||
"lru-cache": "4.1.3",
|
||||
"make-fetch-happen": "4.0.1",
|
||||
"npm-package-arg": "6.1.0"
|
||||
},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "libnpmhook@4.0.1",
|
||||
"name": "libnpmhook",
|
||||
"escapedName": "libnpmhook",
|
||||
"rawSpec": "4.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "4.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/npm"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/libnpmhook/-/libnpmhook-4.0.1.tgz",
|
||||
"_spec": "4.0.1",
|
||||
"_where": "/Users/rebecca/code/npm",
|
||||
"author": {
|
||||
"name": "Kat Marchán",
|
||||
"email": "kzm@sykosomatic.org"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/npm/libnpmhook/issues"
|
||||
},
|
||||
"dependencies": {
|
||||
"figgy-pudding": "^3.1.0",
|
||||
"npm-registry-fetch": "^3.0.0"
|
||||
},
|
||||
"description": "programmatic API for managing npm registry hooks",
|
||||
"devDependencies": {
|
||||
"nock": "^9.2.3",
|
||||
"standard": "^11.0.1",
|
||||
"standard-version": "^4.3.0",
|
||||
"tap": "^11.1.3",
|
||||
"weallbehave": "^1.2.0",
|
||||
"weallcontribute": "^1.0.8"
|
||||
},
|
||||
"files": [
|
||||
"*.js",
|
||||
"lib"
|
||||
],
|
||||
"homepage": "https://github.com/npm/libnpmhook#readme",
|
||||
"keywords": [
|
||||
"npm",
|
||||
"hooks",
|
||||
"registry",
|
||||
"npm api"
|
||||
],
|
||||
"license": "ISC",
|
||||
"main": "index.js",
|
||||
"name": "libnpmhook",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/npm/libnpmhook.git"
|
||||
},
|
||||
"scripts": {
|
||||
"postrelease": "npm publish && git push --follow-tags",
|
||||
"prerelease": "npm t",
|
||||
"pretest": "standard",
|
||||
"release": "standard-version -s",
|
||||
"test": "tap -J --coverage test/*.js",
|
||||
"update-coc": "weallbehave -o . && git add CODE_OF_CONDUCT.md && git commit -m 'docs(coc): updated CODE_OF_CONDUCT.md'",
|
||||
"update-contrib": "weallcontribute -o . && git add CONTRIBUTING.md && git commit -m 'docs(contributing): updated CONTRIBUTING.md'"
|
||||
},
|
||||
"version": "4.0.1"
|
||||
}
|
Reference in New Issue
Block a user