Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2020-02-24 05:20:41 +0300
committerisaacs <i@izs.me>2020-05-08 04:11:52 +0300
commitae1415e777adf2a2b3865d1fb6717496c40e7e88 (patch)
tree82ed632547481cc27177445870a72131c1665c5f /node_modules/npm-registry-fetch
parentb40093b8950d50f960894efbd442f80f88413f18 (diff)
@npmcli/arborist@0.0.0-pre.11
- Stop sending an HTTP Referer header to the registry - Install global packages properly - Save added packages in the appropriate dep type in package.json - Dedupe npm-registry-fetch and pacote to top level
Diffstat (limited to 'node_modules/npm-registry-fetch')
-rw-r--r--node_modules/npm-registry-fetch/CHANGELOG.md17
-rw-r--r--node_modules/npm-registry-fetch/README.md8
-rw-r--r--node_modules/npm-registry-fetch/index.js14
-rw-r--r--node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.d.ts42
-rw-r--r--node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js118
-rw-r--r--node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js.map2
-rw-r--r--node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/promisify.js.map2
-rw-r--r--node_modules/npm-registry-fetch/node_modules/agent-base/package.json31
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/README.md2
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.d.ts32
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js145
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js.map1
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.d.ts21
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js14
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js.map1
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/index.js129
-rw-r--r--node_modules/npm-registry-fetch/node_modules/http-proxy-agent/package.json53
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.editorconfig37
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.eslintrc.js86
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.github/workflows/test.yml46
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.d.ts30
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js180
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js.map1
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.d.ts23
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js14
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js.map1
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts7
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js66
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map1
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.d.ts22
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.js239
-rw-r--r--node_modules/npm-registry-fetch/node_modules/https-proxy-agent/package.json56
-rw-r--r--node_modules/npm-registry-fetch/node_modules/make-fetch-happen/package.json28
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/README.md152
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.d.ts21
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js182
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js.map1
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.d.ts18
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js14
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js.map1
-rw-r--r--node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/package.json94
-rw-r--r--node_modules/npm-registry-fetch/package.json30
42 files changed, 1252 insertions, 730 deletions
diff --git a/node_modules/npm-registry-fetch/CHANGELOG.md b/node_modules/npm-registry-fetch/CHANGELOG.md
index 36eb6efb3..1f142a699 100644
--- a/node_modules/npm-registry-fetch/CHANGELOG.md
+++ b/node_modules/npm-registry-fetch/CHANGELOG.md
@@ -2,6 +2,23 @@
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.
+## [8.0.0](https://github.com/npm/registry-fetch/compare/v7.0.1...v8.0.0) (2020-02-24)
+
+
+### ⚠ BREAKING CHANGES
+
+* Removes the 'opts.refer' option and the HTTP Referer
+header (unless explicitly added to the 'headers' option, of course).
+
+PR-URL: https://github.com/npm/npm-registry-fetch/pull/25
+Credit: @isaacs
+
+### Bug Fixes
+
+* remove referer header and opts.refer ([eb8f7af](https://github.com/npm/registry-fetch/commit/eb8f7af3c102834856604c1be664b00ca0fe8ef2)), closes [#25](https://github.com/npm/registry-fetch/issues/25)
+
+### [7.0.1](https://github.com/npm/registry-fetch/compare/v7.0.0...v7.0.1) (2020-02-24)
+
## [7.0.0](https://github.com/npm/registry-fetch/compare/v6.0.2...v7.0.0) (2020-02-18)
diff --git a/node_modules/npm-registry-fetch/README.md b/node_modules/npm-registry-fetch/README.md
index da7228277..31a10a724 100644
--- a/node_modules/npm-registry-fetch/README.md
+++ b/node_modules/npm-registry-fetch/README.md
@@ -501,14 +501,6 @@ using
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`
-
-* 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
diff --git a/node_modules/npm-registry-fetch/index.js b/node_modules/npm-registry-fetch/index.js
index 2942db225..8e05f4184 100644
--- a/node_modules/npm-registry-fetch/index.js
+++ b/node_modules/npm-registry-fetch/index.js
@@ -113,7 +113,6 @@ function regFetch (uri, /* istanbul ignore next */ opts_ = {}) {
method: method,
noProxy: opts.noProxy,
proxy: opts.httpsProxy || opts.proxy,
- referer: opts.refer,
retry: opts.retry ? opts.retry : {
retries: opts.fetchRetries,
factor: opts.fetchRetryFactor,
@@ -176,12 +175,17 @@ function getCacheMode (opts) {
function getHeaders (registry, uri, opts) {
const headers = Object.assign({
'npm-in-ci': !!opts.isFromCI,
- 'npm-scope': opts.projectScope,
- 'npm-session': opts.npmSession,
- 'user-agent': opts.userAgent,
- referer: opts.refer
+ 'user-agent': opts.userAgent
}, opts.headers || {})
+ if (opts.projectScope) {
+ headers['npm-scope'] = opts.projectScope
+ }
+
+ if (opts.npmSession) {
+ headers['npm-session'] = opts.npmSession
+ }
+
const auth = getAuth(registry, opts)
// If a tarball is hosted on a different place than the manifest, only send
// credentials on `alwaysAuth`
diff --git a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.d.ts b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.d.ts
index 28fb567a9..e44a88ad4 100644
--- a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.d.ts
+++ b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.d.ts
@@ -1,29 +1,36 @@
/// <reference types="node" />
import net from 'net';
import http from 'http';
+import https from 'https';
+import { Duplex } from 'stream';
import { EventEmitter } from 'events';
declare function createAgent(opts?: createAgent.AgentOptions): createAgent.Agent;
-declare namespace createAgent {
- var prototype: Agent;
-}
declare function createAgent(callback: createAgent.AgentCallback, opts?: createAgent.AgentOptions): createAgent.Agent;
declare namespace createAgent {
- var prototype: Agent;
-}
-declare namespace createAgent {
- type ClientRequest = http.ClientRequest & {
+ interface ClientRequest extends http.ClientRequest {
_last?: boolean;
_hadError?: boolean;
method: string;
- };
- type AgentCallbackReturn = net.Socket | createAgent.Agent | http.Agent;
+ }
+ interface AgentRequestOptions {
+ host?: string;
+ path?: string;
+ port: number;
+ }
+ interface HttpRequestOptions extends AgentRequestOptions, Omit<http.RequestOptions, keyof AgentRequestOptions> {
+ secureEndpoint: false;
+ }
+ interface HttpsRequestOptions extends AgentRequestOptions, Omit<https.RequestOptions, keyof AgentRequestOptions> {
+ secureEndpoint: true;
+ }
+ type RequestOptions = HttpRequestOptions | HttpsRequestOptions;
+ type AgentLike = Pick<createAgent.Agent, 'addRequest'> | http.Agent;
+ type AgentCallbackReturn = Duplex | AgentLike;
type AgentCallbackCallback = (err: Error | null | undefined, socket: createAgent.AgentCallbackReturn) => void;
type AgentCallbackPromise = (req: createAgent.ClientRequest, opts: createAgent.RequestOptions) => createAgent.AgentCallbackReturn | Promise<createAgent.AgentCallbackReturn>;
type AgentCallback = typeof Agent.prototype.callback;
- type AgentOptions = http.AgentOptions & {};
- type RequestOptions = http.RequestOptions & {
- port: number;
- secureEndpoint: boolean;
+ type AgentOptions = {
+ timeout?: number;
};
/**
* Base `http.Agent` implementation.
@@ -34,11 +41,14 @@ declare namespace createAgent {
*/
class Agent extends EventEmitter {
timeout: number | null;
- options?: createAgent.AgentOptions;
maxFreeSockets: number;
maxSockets: number;
- sockets: net.Socket[];
- requests: http.ClientRequest[];
+ sockets: {
+ [key: string]: net.Socket[];
+ };
+ requests: {
+ [key: string]: http.IncomingMessage[];
+ };
private promisifiedCallback?;
private explicitDefaultPort?;
private explicitProtocol?;
diff --git a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js
index 788decacc..1e7b8c244 100644
--- a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js
+++ b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js
@@ -3,11 +3,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
const events_1 = require("events");
+const debug_1 = __importDefault(require("debug"));
const promisify_1 = __importDefault(require("./promisify"));
-function isAgentBase(v) {
- return Boolean(v) && typeof v.addRequest === 'function';
-}
-function isHttpAgent(v) {
+const debug = debug_1.default('agent-base');
+function isAgent(v) {
return Boolean(v) && typeof v.addRequest === 'function';
}
function isSecureEndpoint() {
@@ -30,8 +29,6 @@ function createAgent(callback, opts) {
class Agent extends events_1.EventEmitter {
constructor(callback, _opts) {
super();
- // The callback gets promisified lazily
- this.promisifiedCallback = undefined;
let opts = _opts;
if (typeof callback === 'function') {
this.callback = callback;
@@ -39,24 +36,23 @@ function createAgent(callback, opts) {
else if (callback) {
opts = callback;
}
- // timeout for the socket to be returned from the callback
+ // Timeout for the socket to be returned from the callback
this.timeout = null;
if (opts && typeof opts.timeout === 'number') {
this.timeout = opts.timeout;
}
- this.options = opts || {};
+ // These aren't actually used by `agent-base`, but are required
+ // for the TypeScript definition files in `@types/node` :/
this.maxFreeSockets = 1;
this.maxSockets = 1;
- this.sockets = [];
- this.requests = [];
+ this.sockets = {};
+ this.requests = {};
}
get defaultPort() {
if (typeof this.explicitDefaultPort === 'number') {
return this.explicitDefaultPort;
}
- else {
- return isSecureEndpoint() ? 443 : 80;
- }
+ return isSecureEndpoint() ? 443 : 80;
}
set defaultPort(v) {
this.explicitDefaultPort = v;
@@ -65,9 +61,7 @@ function createAgent(callback, opts) {
if (typeof this.explicitProtocol === 'string') {
return this.explicitProtocol;
}
- else {
- return isSecureEndpoint() ? 'https:' : 'http:';
- }
+ return isSecureEndpoint() ? 'https:' : 'http:';
}
set protocol(v) {
this.explicitProtocol = v;
@@ -82,23 +76,24 @@ function createAgent(callback, opts) {
* @api public
*/
addRequest(req, _opts) {
- const ownOpts = Object.assign({}, _opts);
- if (typeof ownOpts.secureEndpoint !== 'boolean') {
- ownOpts.secureEndpoint = isSecureEndpoint();
+ const opts = Object.assign({}, _opts);
+ if (typeof opts.secureEndpoint !== 'boolean') {
+ opts.secureEndpoint = isSecureEndpoint();
+ }
+ if (opts.host == null) {
+ opts.host = 'localhost';
}
- // Set default `host` for HTTP to localhost
- if (ownOpts.host == null) {
- ownOpts.host = 'localhost';
+ if (opts.port == null) {
+ opts.port = opts.secureEndpoint ? 443 : 80;
}
- // Set default `port` for HTTP if none was explicitly specified
- if (ownOpts.port == null) {
- ownOpts.port = ownOpts.secureEndpoint ? 443 : 80;
+ if (opts.protocol == null) {
+ opts.protocol = opts.secureEndpoint ? 'https:' : 'http:';
}
- const opts = Object.assign(Object.assign({}, this.options), ownOpts);
if (opts.host && opts.path) {
- // If both a `host` and `path` are specified then it's most likely the
- // result of a `url.parse()` call... we need to remove the `path` portion so
- // that `net.connect()` doesn't attempt to open that as a unix socket file.
+ // If both a `host` and `path` are specified then it's most
+ // likely the result of a `url.parse()` call... we need to
+ // remove the `path` portion so that `net.connect()` doesn't
+ // attempt to open that as a unix socket file.
delete opts.path;
}
delete opts.agent;
@@ -110,69 +105,65 @@ function createAgent(callback, opts) {
// XXX: non-documented `http` module API :(
req._last = true;
req.shouldKeepAlive = false;
- // Create the `stream.Duplex` instance
let timedOut = false;
- let timeout = null;
- const timeoutMs = this.timeout;
- const freeSocket = this.freeSocket;
- function onerror(err) {
+ let timeoutId = null;
+ const timeoutMs = opts.timeout || this.timeout;
+ const onerror = (err) => {
if (req._hadError)
return;
req.emit('error', err);
// For Safety. Some additional errors might fire later on
// and we need to make sure we don't double-fire the error event.
req._hadError = true;
- }
- function ontimeout() {
- timeout = null;
+ };
+ const ontimeout = () => {
+ timeoutId = null;
timedOut = true;
const err = new Error(`A "socket" was not created for HTTP request before ${timeoutMs}ms`);
err.code = 'ETIMEOUT';
onerror(err);
- }
- function callbackError(err) {
+ };
+ const callbackError = (err) => {
if (timedOut)
return;
- if (timeout !== null) {
- clearTimeout(timeout);
- timeout = null;
+ if (timeoutId !== null) {
+ clearTimeout(timeoutId);
+ timeoutId = null;
}
onerror(err);
- }
- function onsocket(socket) {
- let sock;
- function onfree() {
- freeSocket(sock, opts);
- }
+ };
+ const onsocket = (socket) => {
if (timedOut)
return;
- if (timeout != null) {
- clearTimeout(timeout);
- timeout = null;
+ if (timeoutId != null) {
+ clearTimeout(timeoutId);
+ timeoutId = null;
}
- if (isAgentBase(socket) || isHttpAgent(socket)) {
+ if (isAgent(socket)) {
// `socket` is actually an `http.Agent` instance, so
// relinquish responsibility for this `req` to the Agent
// from here on
+ debug('Callback returned another Agent instance %o', socket.constructor.name);
socket.addRequest(req, opts);
return;
}
if (socket) {
- sock = socket;
- sock.on('free', onfree);
- req.onSocket(sock);
+ socket.once('free', () => {
+ this.freeSocket(socket, opts);
+ });
+ req.onSocket(socket);
return;
}
const err = new Error(`no Duplex stream was returned to agent-base for \`${req.method} ${req.path}\``);
onerror(err);
- }
+ };
if (typeof this.callback !== 'function') {
onerror(new Error('`callback` is not defined'));
return;
}
if (!this.promisifiedCallback) {
if (this.callback.length >= 3) {
- // Legacy callback function - convert to a Promise
+ debug('Converting legacy callback function to promise');
this.promisifiedCallback = promisify_1.default(this.callback);
}
else {
@@ -180,12 +171,13 @@ function createAgent(callback, opts) {
}
}
if (typeof timeoutMs === 'number' && timeoutMs > 0) {
- timeout = setTimeout(ontimeout, timeoutMs);
+ timeoutId = setTimeout(ontimeout, timeoutMs);
}
if ('port' in opts && typeof opts.port !== 'number') {
opts.port = Number(opts.port);
}
try {
+ debug('Resolving socket for %o request: %o', opts.protocol, `${req.method} ${req.path}`);
Promise.resolve(this.promisifiedCallback(req, opts)).then(onsocket, callbackError);
}
catch (err) {
@@ -193,14 +185,16 @@ function createAgent(callback, opts) {
}
}
freeSocket(socket, opts) {
- // TODO reuse sockets
+ debug('Freeing socket %o %o', socket.constructor.name, opts);
socket.destroy();
}
- destroy() { }
+ destroy() {
+ debug('Destroying agent %o', this.constructor.name);
+ }
}
createAgent.Agent = Agent;
+ // So that `instanceof` works correctly
+ createAgent.prototype = createAgent.Agent.prototype;
})(createAgent || (createAgent = {}));
-// So that `instanceof` works correctly
-createAgent.prototype = createAgent.Agent.prototype;
module.exports = createAgent;
//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js.map b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js.map
index 64065f66f..ccfaa7530 100644
--- a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js.map
+++ b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/index.js.map
@@ -1 +1 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/promisify.js.map b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/promisify.js.map
index cff52898a..4bff9bfcf 100644
--- a/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/promisify.js.map
+++ b/node_modules/npm-registry-fetch/node_modules/agent-base/dist/src/promisify.js.map
@@ -1 +1 @@
-{"version":3,"file":"promisify.js","sourceRoot":"","sources":["../../src/promisify.ts"],"names":[],"mappings":";;AAeA,SAAwB,SAAS,CAAC,EAAkB;IACnD,OAAO,UAAsB,GAAkB,EAAE,IAAoB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,EAAE,CAAC,IAAI,CACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,CAAC,GAA6B,EAAE,GAAwB,EAAE,EAAE;gBAC3D,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;iBACZ;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,CAAC;iBACb;YACF,CAAC,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAjBD,4BAiBC"} \ No newline at end of file
+{"version":3,"file":"promisify.js","sourceRoot":"","sources":["../../src/promisify.ts"],"names":[],"mappings":";;AAeA,SAAwB,SAAS,CAAC,EAAkB;IACnD,OAAO,UAAsB,GAAkB,EAAE,IAAoB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,EAAE,CAAC,IAAI,CACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,CAAC,GAA6B,EAAE,GAAyB,EAAE,EAAE;gBAC5D,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;iBACZ;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,CAAC;iBACb;YACF,CAAC,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAjBD,4BAiBC"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/agent-base/package.json b/node_modules/npm-registry-fetch/node_modules/agent-base/package.json
index bd5f8e4d5..b966412f0 100644
--- a/node_modules/npm-registry-fetch/node_modules/agent-base/package.json
+++ b/node_modules/npm-registry-fetch/node_modules/agent-base/package.json
@@ -1,28 +1,29 @@
{
- "_from": "agent-base@5",
- "_id": "agent-base@5.1.1",
+ "_from": "agent-base@6",
+ "_id": "agent-base@6.0.0",
"_inBundle": false,
- "_integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==",
+ "_integrity": "sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==",
"_location": "/npm-registry-fetch/agent-base",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "agent-base@5",
+ "raw": "agent-base@6",
"name": "agent-base",
"escapedName": "agent-base",
- "rawSpec": "5",
+ "rawSpec": "6",
"saveSpec": null,
- "fetchSpec": "5"
+ "fetchSpec": "6"
},
"_requiredBy": [
"/npm-registry-fetch/http-proxy-agent",
- "/npm-registry-fetch/https-proxy-agent"
+ "/npm-registry-fetch/https-proxy-agent",
+ "/npm-registry-fetch/socks-proxy-agent"
],
- "_resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz",
- "_shasum": "e8fb3f242959db44d63be665db7a8e739537a32c",
- "_spec": "agent-base@5",
- "_where": "/Users/mperrotte/npminc/cli/node_modules/npm-registry-fetch/node_modules/http-proxy-agent",
+ "_resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.0.tgz",
+ "_shasum": "5d0101f19bbfaed39980b22ae866de153b93f09a",
+ "_spec": "agent-base@6",
+ "_where": "/Users/isaacs/dev/npm/cli/node_modules/npm-registry-fetch/node_modules/http-proxy-agent",
"author": {
"name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
@@ -32,11 +33,15 @@
"url": "https://github.com/TooTallNate/node-agent-base/issues"
},
"bundleDependencies": false,
+ "dependencies": {
+ "debug": "4"
+ },
"deprecated": false,
"description": "Turn a function into an `http.Agent` instance",
"devDependencies": {
+ "@types/debug": "4",
"@types/mocha": "^5.2.7",
- "@types/node": "^10.5.3",
+ "@types/node": "^12.12.17",
"@types/ws": "^6.0.3",
"@typescript-eslint/eslint-plugin": "1.6.0",
"@typescript-eslint/parser": "1.1.0",
@@ -84,5 +89,5 @@
"test-lint": "eslint src --ext .js,.ts"
},
"typings": "dist/src/index",
- "version": "5.1.1"
+ "version": "6.0.0"
}
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/README.md b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/README.md
index 4f1fc372b..d60e20661 100644
--- a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/README.md
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/README.md
@@ -1,7 +1,7 @@
http-proxy-agent
================
### An HTTP(s) proxy `http.Agent` implementation for HTTP
-[![Build Status](https://travis-ci.org/TooTallNate/node-http-proxy-agent.svg?branch=master)](https://travis-ci.org/TooTallNate/node-http-proxy-agent)
+[![Build Status](https://github.com/TooTallNate/node-http-proxy-agent/workflows/Node%20CI/badge.svg)](https://github.com/TooTallNate/node-http-proxy-agent/actions?workflow=Node+CI)
This module provides an `http.Agent` implementation that connects to a specified
HTTP or HTTPS proxy server, and can be used with the built-in `http` module.
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.d.ts b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.d.ts
new file mode 100644
index 000000000..3f043f7f9
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.d.ts
@@ -0,0 +1,32 @@
+/// <reference types="node" />
+import net from 'net';
+import { Agent, ClientRequest, RequestOptions } from 'agent-base';
+import { HttpProxyAgentOptions } from '.';
+interface HttpProxyAgentClientRequest extends ClientRequest {
+ path: string;
+ output?: string[];
+ outputData?: {
+ data: string;
+ }[];
+ _header?: string | null;
+ _implicitHeader(): void;
+}
+/**
+ * The `HttpProxyAgent` implements an HTTP Agent subclass that connects
+ * to the specified "HTTP proxy server" in order to proxy HTTP requests.
+ *
+ * @api public
+ */
+export default class HttpProxyAgent extends Agent {
+ private secureProxy;
+ private proxy;
+ constructor(_opts: string | HttpProxyAgentOptions);
+ /**
+ * Called when the node-core HTTP client library is creating a
+ * new HTTP request.
+ *
+ * @api protected
+ */
+ callback(req: HttpProxyAgentClientRequest, opts: RequestOptions): Promise<net.Socket>;
+}
+export {};
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js
new file mode 100644
index 000000000..025285051
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js
@@ -0,0 +1,145 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const net_1 = __importDefault(require("net"));
+const tls_1 = __importDefault(require("tls"));
+const url_1 = __importDefault(require("url"));
+const debug_1 = __importDefault(require("debug"));
+const once_1 = __importDefault(require("@tootallnate/once"));
+const agent_base_1 = require("agent-base");
+const debug = debug_1.default('http-proxy-agent');
+function isHTTPS(protocol) {
+ return typeof protocol === 'string' ? /^https:?$/i.test(protocol) : false;
+}
+/**
+ * The `HttpProxyAgent` implements an HTTP Agent subclass that connects
+ * to the specified "HTTP proxy server" in order to proxy HTTP requests.
+ *
+ * @api public
+ */
+class HttpProxyAgent extends agent_base_1.Agent {
+ constructor(_opts) {
+ let opts;
+ if (typeof _opts === 'string') {
+ opts = url_1.default.parse(_opts);
+ }
+ else {
+ opts = _opts;
+ }
+ if (!opts) {
+ throw new Error('an HTTP(S) proxy server `host` and `port` must be specified!');
+ }
+ debug('Creating new HttpProxyAgent instance: %o', opts);
+ super(opts);
+ const proxy = Object.assign({}, opts);
+ // If `true`, then connect to the proxy server over TLS.
+ // Defaults to `false`.
+ this.secureProxy = opts.secureProxy || isHTTPS(proxy.protocol);
+ // Prefer `hostname` over `host`, and set the `port` if needed.
+ proxy.host = proxy.hostname || proxy.host;
+ if (typeof proxy.port === 'string') {
+ proxy.port = parseInt(proxy.port, 10);
+ }
+ if (!proxy.port && proxy.host) {
+ proxy.port = this.secureProxy ? 443 : 80;
+ }
+ if (proxy.host && proxy.path) {
+ // If both a `host` and `path` are specified then it's most likely
+ // the result of a `url.parse()` call... we need to remove the
+ // `path` portion so that `net.connect()` doesn't attempt to open
+ // that as a Unix socket file.
+ delete proxy.path;
+ delete proxy.pathname;
+ }
+ this.proxy = proxy;
+ }
+ /**
+ * Called when the node-core HTTP client library is creating a
+ * new HTTP request.
+ *
+ * @api protected
+ */
+ callback(req, opts) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const { proxy, secureProxy } = this;
+ const parsed = url_1.default.parse(req.path);
+ if (!parsed.protocol) {
+ parsed.protocol = 'http:';
+ }
+ if (!parsed.hostname) {
+ parsed.hostname = opts.hostname || opts.host || null;
+ }
+ if (parsed.port == null && typeof opts.port) {
+ parsed.port = String(opts.port);
+ }
+ if (parsed.port === '80') {
+ // if port is 80, then we can remove the port so that the
+ // ":80" portion is not on the produced URL
+ delete parsed.port;
+ }
+ // Change the `http.ClientRequest` instance's "path" field
+ // to the absolute path of the URL that will be requested.
+ req.path = url_1.default.format(parsed);
+ // Inject the `Proxy-Authorization` header if necessary.
+ if (proxy.auth) {
+ req.setHeader('Proxy-Authorization', `Basic ${Buffer.from(proxy.auth).toString('base64')}`);
+ }
+ // Create a socket connection to the proxy server.
+ let socket;
+ if (secureProxy) {
+ debug('Creating `tls.Socket`: %o', proxy);
+ socket = tls_1.default.connect(proxy);
+ }
+ else {
+ debug('Creating `net.Socket`: %o', proxy);
+ socket = net_1.default.connect(proxy);
+ }
+ // At this point, the http ClientRequest's internal `_header` field
+ // might have already been set. If this is the case then we'll need
+ // to re-generate the string since we just changed the `req.path`.
+ if (req._header) {
+ let first;
+ let endOfHeaders;
+ debug('Regenerating stored HTTP header string for request');
+ req._header = null;
+ req._implicitHeader();
+ if (req.output && req.output.length > 0) {
+ // Node < 12
+ debug('Patching connection write() output buffer with updated header');
+ first = req.output[0];
+ endOfHeaders = first.indexOf('\r\n\r\n') + 4;
+ req.output[0] = req._header + first.substring(endOfHeaders);
+ debug('Output buffer: %o', req.output);
+ }
+ else if (req.outputData && req.outputData.length > 0) {
+ // Node >= 12
+ debug('Patching connection write() output buffer with updated header');
+ first = req.outputData[0].data;
+ endOfHeaders = first.indexOf('\r\n\r\n') + 4;
+ req.outputData[0].data =
+ req._header + first.substring(endOfHeaders);
+ debug('Output buffer: %o', req.outputData[0].data);
+ }
+ }
+ // Wait for the socket's `connect` event, so that this `callback()`
+ // function throws instead of the `http` request machinery. This is
+ // important for i.e. `PacProxyAgent` which determines a failed proxy
+ // connection via the `callback()` function throwing.
+ yield once_1.default(socket, 'connect');
+ return socket;
+ });
+ }
+}
+exports.default = HttpProxyAgent;
+//# sourceMappingURL=agent.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js.map b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js.map
new file mode 100644
index 000000000..7a407620d
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/agent.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.d.ts b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.d.ts
new file mode 100644
index 000000000..24bdb52ef
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.d.ts
@@ -0,0 +1,21 @@
+/// <reference types="node" />
+import net from 'net';
+import tls from 'tls';
+import { Url } from 'url';
+import { AgentOptions } from 'agent-base';
+import _HttpProxyAgent from './agent';
+declare function createHttpProxyAgent(opts: string | createHttpProxyAgent.HttpProxyAgentOptions): _HttpProxyAgent;
+declare namespace createHttpProxyAgent {
+ interface BaseHttpProxyAgentOptions {
+ secureProxy?: boolean;
+ host?: string | null;
+ path?: string | null;
+ port?: string | number | null;
+ }
+ export interface HttpProxyAgentOptions extends AgentOptions, BaseHttpProxyAgentOptions, Partial<Omit<Url & net.NetConnectOpts & tls.ConnectionOptions, keyof BaseHttpProxyAgentOptions>> {
+ }
+ export type HttpProxyAgent = _HttpProxyAgent;
+ export const HttpProxyAgent: typeof _HttpProxyAgent;
+ export {};
+}
+export = createHttpProxyAgent;
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js
new file mode 100644
index 000000000..0a7118059
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js
@@ -0,0 +1,14 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+const agent_1 = __importDefault(require("./agent"));
+function createHttpProxyAgent(opts) {
+ return new agent_1.default(opts);
+}
+(function (createHttpProxyAgent) {
+ createHttpProxyAgent.HttpProxyAgent = agent_1.default;
+ createHttpProxyAgent.prototype = agent_1.default.prototype;
+})(createHttpProxyAgent || (createHttpProxyAgent = {}));
+module.exports = createHttpProxyAgent;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js.map b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js.map
new file mode 100644
index 000000000..e07dae5b0
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAIA,oDAAsC;AAEtC,SAAS,oBAAoB,CAC5B,IAAyD;IAEzD,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC;AAED,WAAU,oBAAoB;IAmBhB,mCAAc,GAAG,eAAe,CAAC;IAE9C,oBAAoB,CAAC,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC;AAC5D,CAAC,EAtBS,oBAAoB,KAApB,oBAAoB,QAsB7B;AAED,iBAAS,oBAAoB,CAAC"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/index.js b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/index.js
deleted file mode 100644
index 6c2909f23..000000000
--- a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/index.js
+++ /dev/null
@@ -1,129 +0,0 @@
-/**
- * Module dependencies.
- */
-
-var net = require('net');
-var tls = require('tls');
-var url = require('url');
-var Agent = require('agent-base');
-var inherits = require('util').inherits;
-var debug = require('debug')('http-proxy-agent');
-
-/**
- * Module exports.
- */
-
-module.exports = HttpProxyAgent;
-
-/**
- * The `HttpProxyAgent` implements an HTTP Agent subclass that connects to the
- * specified "HTTP proxy server" in order to proxy HTTP requests.
- *
- * @api public
- */
-
-function HttpProxyAgent(opts) {
- if (!(this instanceof HttpProxyAgent)) return new HttpProxyAgent(opts);
- if ('string' == typeof opts) opts = url.parse(opts);
- if (!opts)
- throw new Error(
- 'an HTTP(S) proxy server `host` and `port` must be specified!'
- );
- debug('creating new HttpProxyAgent instance: %o', opts);
- Agent.call(this, opts);
-
- var proxy = Object.assign({}, opts);
-
- // if `true`, then connect to the proxy server over TLS. defaults to `false`.
- this.secureProxy = proxy.protocol
- ? /^https:?$/i.test(proxy.protocol)
- : false;
-
- // prefer `hostname` over `host`, and set the `port` if needed
- proxy.host = proxy.hostname || proxy.host;
- proxy.port = +proxy.port || (this.secureProxy ? 443 : 80);
-
- if (proxy.host && proxy.path) {
- // if both a `host` and `path` are specified then it's most likely the
- // result of a `url.parse()` call... we need to remove the `path` portion so
- // that `net.connect()` doesn't attempt to open that as a unix socket file.
- delete proxy.path;
- delete proxy.pathname;
- }
-
- this.proxy = proxy;
-}
-inherits(HttpProxyAgent, Agent);
-
-/**
- * Called when the node-core HTTP client library is creating a new HTTP request.
- *
- * @api public
- */
-
-HttpProxyAgent.prototype.callback = function connect(req, opts, fn) {
- var proxy = this.proxy;
-
- // change the `http.ClientRequest` instance's "path" field
- // to the absolute path of the URL that will be requested
- var parsed = url.parse(req.path);
- if (null == parsed.protocol) parsed.protocol = 'http:';
- if (null == parsed.hostname) parsed.hostname = opts.hostname || opts.host;
- if (null == parsed.port) parsed.port = opts.port;
- if (parsed.port == 80) {
- // if port is 80, then we can remove the port so that the
- // ":80" portion is not on the produced URL
- delete parsed.port;
- }
- var absolute = url.format(parsed);
- req.path = absolute;
-
- // inject the `Proxy-Authorization` header if necessary
- if (proxy.auth) {
- req.setHeader(
- 'Proxy-Authorization',
- 'Basic ' + Buffer.from(proxy.auth).toString('base64')
- );
- }
-
- // create a socket connection to the proxy server
- var socket;
- if (this.secureProxy) {
- socket = tls.connect(proxy);
- } else {
- socket = net.connect(proxy);
- }
-
- // at this point, the http ClientRequest's internal `_header` field might have
- // already been set. If this is the case then we'll need to re-generate the
- // string since we just changed the `req.path`
- if (req._header) {
- debug('regenerating stored HTTP header string for request');
- req._header = null;
- req._implicitHeader();
- if (req.output && req.output.length > 0) {
- // Node < 12
- debug(
- 'patching connection write() output buffer with updated header'
- );
- // the _header has already been queued to be written to the socket
- var first = req.output[0];
- var endOfHeaders = first.indexOf('\r\n\r\n') + 4;
- req.output[0] = req._header + first.substring(endOfHeaders);
- debug('output buffer: %o', req.output);
- } else if (req.outputData && req.outputData.length > 0) {
- // Node >= 12
- debug(
- 'patching connection write() output buffer with updated header'
- );
- var first = req.outputData[0].data;
- // the _header has already been queued to be written to the socket
- var endOfHeaders = first.indexOf('\r\n\r\n') + 4;
- req.outputData[0].data =
- req._header + first.substring(endOfHeaders);
- debug('output buffer: %o', req.outputData[0].data);
- }
- }
-
- fn(null, socket);
-};
diff --git a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/package.json b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/package.json
index 9a3e5b595..e460a14e4 100644
--- a/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/package.json
+++ b/node_modules/npm-registry-fetch/node_modules/http-proxy-agent/package.json
@@ -1,27 +1,27 @@
{
- "_from": "http-proxy-agent@^3.0.0",
- "_id": "http-proxy-agent@3.0.0",
+ "_from": "http-proxy-agent@^4.0.1",
+ "_id": "http-proxy-agent@4.0.1",
"_inBundle": false,
- "_integrity": "sha512-uGuJaBWQWDQCJI5ip0d/VTYZW0nRrlLWXA4A7P1jrsa+f77rW2yXz315oBt6zGCF6l8C2tlMxY7ffULCj+5FhA==",
+ "_integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
"_location": "/npm-registry-fetch/http-proxy-agent",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "http-proxy-agent@^3.0.0",
+ "raw": "http-proxy-agent@^4.0.1",
"name": "http-proxy-agent",
"escapedName": "http-proxy-agent",
- "rawSpec": "^3.0.0",
+ "rawSpec": "^4.0.1",
"saveSpec": null,
- "fetchSpec": "^3.0.0"
+ "fetchSpec": "^4.0.1"
},
"_requiredBy": [
"/npm-registry-fetch/make-fetch-happen"
],
- "_resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-3.0.0.tgz",
- "_shasum": "598f42dc815949a11e2c6dbfdf24cd8a4c165327",
- "_spec": "http-proxy-agent@^3.0.0",
- "_where": "/Users/mperrotte/npminc/cli/node_modules/npm-registry-fetch/node_modules/make-fetch-happen",
+ "_resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "_shasum": "8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a",
+ "_spec": "http-proxy-agent@^4.0.1",
+ "_where": "/Users/isaacs/dev/npm/cli/node_modules/npm-registry-fetch/node_modules/make-fetch-happen",
"author": {
"name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
@@ -32,20 +32,34 @@
},
"bundleDependencies": false,
"dependencies": {
- "agent-base": "5",
+ "@tootallnate/once": "1",
+ "agent-base": "6",
"debug": "4"
},
"deprecated": false,
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTP",
"devDependencies": {
- "mocha": "3",
- "proxy": "1"
+ "@types/debug": "4",
+ "@types/node": "^12.12.11",
+ "@typescript-eslint/eslint-plugin": "1.6.0",
+ "@typescript-eslint/parser": "1.1.0",
+ "eslint": "5.16.0",
+ "eslint-config-airbnb": "17.1.0",
+ "eslint-config-prettier": "4.1.0",
+ "eslint-import-resolver-typescript": "1.1.1",
+ "eslint-plugin-import": "2.16.0",
+ "eslint-plugin-jsx-a11y": "6.2.1",
+ "eslint-plugin-react": "7.12.4",
+ "mocha": "^6.2.2",
+ "proxy": "1",
+ "rimraf": "^3.0.0",
+ "typescript": "^3.5.3"
},
"engines": {
"node": ">= 6"
},
"files": [
- "index.js"
+ "dist"
],
"homepage": "https://github.com/TooTallNate/node-http-proxy-agent#readme",
"keywords": [
@@ -55,14 +69,19 @@
"agent"
],
"license": "MIT",
- "main": "./index.js",
+ "main": "./dist/index.js",
"name": "http-proxy-agent",
"repository": {
"type": "git",
"url": "git://github.com/TooTallNate/node-http-proxy-agent.git"
},
"scripts": {
- "test": "mocha --reporter spec"
+ "build": "tsc",
+ "prebuild": "rimraf dist",
+ "prepublishOnly": "npm run build",
+ "test": "mocha",
+ "test-lint": "eslint src --ext .js,.ts"
},
- "version": "3.0.0"
+ "types": "./dist/index.d.ts",
+ "version": "4.0.1"
}
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.editorconfig b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.editorconfig
deleted file mode 100644
index 12b4b9a3b..000000000
--- a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.editorconfig
+++ /dev/null
@@ -1,37 +0,0 @@
-root = true
-
-[*]
-indent_style = tab
-indent_size = 4
-tab_width = 4
-end_of_line = lf
-charset = utf-8
-trim_trailing_whitespace = true
-insert_final_newline = true
-
-[{*.json,*.json.example,*.gyp,*.yml,*.yaml,*.workflow}]
-indent_style = space
-indent_size = 2
-
-[{*.py,*.asm}]
-indent_style = space
-
-[*.py]
-indent_size = 4
-
-[*.asm]
-indent_size = 8
-
-[*.md]
-trim_trailing_whitespace = false
-
-# Ideal settings - some plugins might support these.
-[*.js]
-quote_type = single
-
-[{*.c,*.cc,*.h,*.hh,*.cpp,*.hpp,*.m,*.mm,*.mpp,*.js,*.java,*.go,*.rs,*.php,*.ng,*.jsx,*.ts,*.d,*.cs,*.swift}]
-curly_bracket_next_line = false
-spaces_around_operators = true
-spaces_around_brackets = outside
-# close enough to 1TB
-indent_brace_style = K&R
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.eslintrc.js b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.eslintrc.js
deleted file mode 100644
index 62743f2c4..000000000
--- a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.eslintrc.js
+++ /dev/null
@@ -1,86 +0,0 @@
-module.exports = {
- 'extends': [
- 'airbnb',
- 'prettier'
- ],
- 'parser': '@typescript-eslint/parser',
- 'parserOptions': {
- 'ecmaVersion': 2018,
- 'sourceType': 'module',
- 'modules': true
- },
- 'plugins': [
- '@typescript-eslint'
- ],
- 'settings': {
- 'import/resolver': {
- 'typescript': {
- }
- }
- },
- 'rules': {
- 'quotes': [
- 2,
- 'single',
- {
- 'allowTemplateLiterals': true
- }
- ],
- 'class-methods-use-this': 0,
- 'consistent-return': 0,
- 'func-names': 0,
- 'global-require': 0,
- 'guard-for-in': 0,
- 'import/no-duplicates': 0,
- 'import/no-dynamic-require': 0,
- 'import/no-extraneous-dependencies': 0,
- 'import/prefer-default-export': 0,
- 'lines-between-class-members': 0,
- 'no-await-in-loop': 0,
- 'no-bitwise': 0,
- 'no-console': 0,
- 'no-continue': 0,
- 'no-control-regex': 0,
- 'no-empty': 0,
- 'no-loop-func': 0,
- 'no-nested-ternary': 0,
- 'no-param-reassign': 0,
- 'no-plusplus': 0,
- 'no-restricted-globals': 0,
- 'no-restricted-syntax': 0,
- 'no-shadow': 0,
- 'no-underscore-dangle': 0,
- 'no-use-before-define': 0,
- 'prefer-const': 0,
- 'prefer-destructuring': 0,
- 'camelcase': 0,
- 'no-unused-vars': 0, // in favor of '@typescript-eslint/no-unused-vars'
- // 'indent': 0 // in favor of '@typescript-eslint/indent'
- '@typescript-eslint/no-unused-vars': 'warn',
- // '@typescript-eslint/indent': ['error', 2] // this might conflict with a lot ongoing changes
- '@typescript-eslint/no-array-constructor': 'error',
- '@typescript-eslint/adjacent-overload-signatures': 'error',
- '@typescript-eslint/class-name-casing': 'error',
- '@typescript-eslint/interface-name-prefix': 'error',
- '@typescript-eslint/no-empty-interface': 'error',
- '@typescript-eslint/no-inferrable-types': 'error',
- '@typescript-eslint/no-misused-new': 'error',
- '@typescript-eslint/no-namespace': 'error',
- '@typescript-eslint/no-non-null-assertion': 'error',
- '@typescript-eslint/no-parameter-properties': 'error',
- '@typescript-eslint/no-triple-slash-reference': 'error',
- '@typescript-eslint/prefer-namespace-keyword': 'error',
- '@typescript-eslint/type-annotation-spacing': 'error',
- // '@typescript-eslint/array-type': 'error',
- // '@typescript-eslint/ban-types': 'error',
- // '@typescript-eslint/explicit-function-return-type': 'warn',
- // '@typescript-eslint/explicit-member-accessibility': 'error',
- // '@typescript-eslint/member-delimiter-style': 'error',
- // '@typescript-eslint/no-angle-bracket-type-assertion': 'error',
- // '@typescript-eslint/no-explicit-any': 'warn',
- // '@typescript-eslint/no-object-literal-type-assertion': 'error',
- // '@typescript-eslint/no-use-before-define': 'error',
- // '@typescript-eslint/no-var-requires': 'error',
- // '@typescript-eslint/prefer-interface': 'error'
- }
-}
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.github/workflows/test.yml b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.github/workflows/test.yml
deleted file mode 100644
index 329914f92..000000000
--- a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/.github/workflows/test.yml
+++ /dev/null
@@ -1,46 +0,0 @@
-name: Node CI
-
-on:
- push:
- branches:
- - master
- tags:
- - '!*'
- pull_request:
-
-jobs:
- build:
- name: Test Node.js ${{ matrix.node-version }} on ${{ matrix.os }}
-
- strategy:
- matrix:
- os: [ubuntu-latest, macos-latest, windows-latest]
- node-version: [6.x, 8.x, 10.x, 12.x]
-
- runs-on: ${{ matrix.os }}
-
- steps:
- - uses: actions/checkout@v1
-
- - name: Use Node.js ${{ matrix.node-version }}
- uses: actions/setup-node@v1
- with:
- node-version: ${{ matrix.node-version }}
-
- - name: Print Node.js Version
- run: node --version
-
- - name: Install Dependencies
- run: npm install
- env:
- CI: true
-
- - name: Run "build" step
- run: npm run build --if-present
- env:
- CI: true
-
- - name: Run tests
- run: npm test
- env:
- CI: true
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.d.ts b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.d.ts
new file mode 100644
index 000000000..4f1c63624
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.d.ts
@@ -0,0 +1,30 @@
+/// <reference types="node" />
+import net from 'net';
+import { Agent, ClientRequest, RequestOptions } from 'agent-base';
+import { HttpsProxyAgentOptions } from '.';
+/**
+ * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to
+ * the specified "HTTP(s) proxy server" in order to proxy HTTPS requests.
+ *
+ * Outgoing HTTP requests are first tunneled through the proxy server using the
+ * `CONNECT` HTTP request method to establish a connection to the proxy server,
+ * and then the proxy server connects to the destination target and issues the
+ * HTTP request from the proxy server.
+ *
+ * `https:` requests have their socket connection upgraded to TLS once
+ * the connection to the proxy server has been established.
+ *
+ * @api public
+ */
+export default class HttpsProxyAgent extends Agent {
+ private secureProxy;
+ private proxy;
+ constructor(_opts: string | HttpsProxyAgentOptions);
+ /**
+ * Called when the node-core HTTP client library is creating a
+ * new HTTP request.
+ *
+ * @api protected
+ */
+ callback(req: ClientRequest, opts: RequestOptions): Promise<net.Socket>;
+}
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js
new file mode 100644
index 000000000..d6665259f
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js
@@ -0,0 +1,180 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const net_1 = __importDefault(require("net"));
+const tls_1 = __importDefault(require("tls"));
+const url_1 = __importDefault(require("url"));
+const assert_1 = __importDefault(require("assert"));
+const debug_1 = __importDefault(require("debug"));
+const agent_base_1 = require("agent-base");
+const parse_proxy_response_1 = __importDefault(require("./parse-proxy-response"));
+const debug = debug_1.default('https-proxy-agent:agent');
+/**
+ * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to
+ * the specified "HTTP(s) proxy server" in order to proxy HTTPS requests.
+ *
+ * Outgoing HTTP requests are first tunneled through the proxy server using the
+ * `CONNECT` HTTP request method to establish a connection to the proxy server,
+ * and then the proxy server connects to the destination target and issues the
+ * HTTP request from the proxy server.
+ *
+ * `https:` requests have their socket connection upgraded to TLS once
+ * the connection to the proxy server has been established.
+ *
+ * @api public
+ */
+class HttpsProxyAgent extends agent_base_1.Agent {
+ constructor(_opts) {
+ let opts;
+ if (typeof _opts === 'string') {
+ opts = url_1.default.parse(_opts);
+ }
+ else {
+ opts = _opts;
+ }
+ if (!opts) {
+ throw new Error('an HTTP(S) proxy server `host` and `port` must be specified!');
+ }
+ debug('creating new HttpsProxyAgent instance: %o', opts);
+ super(opts);
+ const proxy = Object.assign({}, opts);
+ // If `true`, then connect to the proxy server over TLS.
+ // Defaults to `false`.
+ this.secureProxy = opts.secureProxy || isHTTPS(proxy.protocol);
+ // Prefer `hostname` over `host`, and set the `port` if needed.
+ proxy.host = proxy.hostname || proxy.host;
+ if (typeof proxy.port === 'string') {
+ proxy.port = parseInt(proxy.port, 10);
+ }
+ if (!proxy.port && proxy.host) {
+ proxy.port = this.secureProxy ? 443 : 80;
+ }
+ // ALPN is supported by Node.js >= v5.
+ // attempt to negotiate http/1.1 for proxy servers that support http/2
+ if (this.secureProxy && !('ALPNProtocols' in proxy)) {
+ proxy.ALPNProtocols = ['http 1.1'];
+ }
+ if (proxy.host && proxy.path) {
+ // If both a `host` and `path` are specified then it's most likely
+ // the result of a `url.parse()` call... we need to remove the
+ // `path` portion so that `net.connect()` doesn't attempt to open
+ // that as a Unix socket file.
+ delete proxy.path;
+ delete proxy.pathname;
+ }
+ this.proxy = proxy;
+ }
+ /**
+ * Called when the node-core HTTP client library is creating a
+ * new HTTP request.
+ *
+ * @api protected
+ */
+ callback(req, opts) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const { proxy, secureProxy } = this;
+ // Create a socket connection to the proxy server.
+ let socket;
+ if (secureProxy) {
+ debug('Creating `tls.Socket`: %o', proxy);
+ socket = tls_1.default.connect(proxy);
+ }
+ else {
+ debug('Creating `net.Socket`: %o', proxy);
+ socket = net_1.default.connect(proxy);
+ }
+ const headers = Object.assign({}, proxy.headers);
+ const hostname = `${opts.host}:${opts.port}`;
+ let payload = `CONNECT ${hostname} HTTP/1.1\r\n`;
+ // Inject the `Proxy-Authorization` header if necessary.
+ if (proxy.auth) {
+ headers['Proxy-Authorization'] = `Basic ${Buffer.from(proxy.auth).toString('base64')}`;
+ }
+ // The `Host` header should only include the port
+ // number when it is not the default port.
+ let { host, port, secureEndpoint } = opts;
+ if (!isDefaultPort(port, secureEndpoint)) {
+ host += `:${port}`;
+ }
+ headers.Host = host;
+ headers.Connection = 'close';
+ for (const name of Object.keys(headers)) {
+ payload += `${name}: ${headers[name]}\r\n`;
+ }
+ const proxyResponsePromise = parse_proxy_response_1.default(socket);
+ socket.write(`${payload}\r\n`);
+ const { statusCode, buffered } = yield proxyResponsePromise;
+ if (statusCode === 200) {
+ req.once('socket', resume);
+ if (opts.secureEndpoint) {
+ const servername = opts.servername || opts.host;
+ if (!servername) {
+ throw new Error('Could not determine "servername"');
+ }
+ // The proxy is connecting to a TLS server, so upgrade
+ // this socket connection to a TLS connection.
+ debug('Upgrading socket connection to TLS');
+ return tls_1.default.connect(Object.assign(Object.assign({}, omit(opts, 'host', 'hostname', 'path', 'port')), { socket,
+ servername }));
+ }
+ return socket;
+ }
+ // Some other status code that's not 200... need to re-play the HTTP
+ // header "data" events onto the socket once the HTTP machinery is
+ // attached so that the node core `http` can parse and handle the
+ // error status code.
+ // Close the original socket, and a new "fake" socket is returned
+ // instead, so that the proxy doesn't get the HTTP request
+ // written to it (which may contain `Authorization` headers or other
+ // sensitive data).
+ //
+ // See: https://hackerone.com/reports/541502
+ socket.destroy();
+ const fakeSocket = new net_1.default.Socket();
+ fakeSocket.readable = true;
+ // Need to wait for the "socket" event to re-play the "data" events.
+ req.once('socket', (s) => {
+ debug('replaying proxy buffer for failed request');
+ assert_1.default(s.listenerCount('data') > 0);
+ // Replay the "buffered" Buffer onto the fake `socket`, since at
+ // this point the HTTP module machinery has been hooked up for
+ // the user.
+ s.push(buffered);
+ s.push(null);
+ });
+ return fakeSocket;
+ });
+ }
+}
+exports.default = HttpsProxyAgent;
+function resume(socket) {
+ socket.resume();
+}
+function isDefaultPort(port, secure) {
+ return Boolean((!secure && port === 80) || (secure && port === 443));
+}
+function isHTTPS(protocol) {
+ return typeof protocol === 'string' ? /^https:?$/i.test(protocol) : false;
+}
+function omit(obj, ...keys) {
+ const ret = {};
+ let key;
+ for (key in obj) {
+ if (!keys.includes(key)) {
+ ret[key] = obj[key];
+ }
+ }
+ return ret;
+}
+//# sourceMappingURL=agent.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js.map b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js.map
new file mode 100644
index 000000000..d1307cdd8
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/agent.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.d.ts b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.d.ts
new file mode 100644
index 000000000..0d60062ee
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.d.ts
@@ -0,0 +1,23 @@
+/// <reference types="node" />
+import net from 'net';
+import tls from 'tls';
+import { Url } from 'url';
+import { AgentOptions } from 'agent-base';
+import { OutgoingHttpHeaders } from 'http';
+import _HttpsProxyAgent from './agent';
+declare function createHttpsProxyAgent(opts: string | createHttpsProxyAgent.HttpsProxyAgentOptions): _HttpsProxyAgent;
+declare namespace createHttpsProxyAgent {
+ interface BaseHttpsProxyAgentOptions {
+ headers?: OutgoingHttpHeaders;
+ secureProxy?: boolean;
+ host?: string | null;
+ path?: string | null;
+ port?: string | number | null;
+ }
+ export interface HttpsProxyAgentOptions extends AgentOptions, BaseHttpsProxyAgentOptions, Partial<Omit<Url & net.NetConnectOpts & tls.ConnectionOptions, keyof BaseHttpsProxyAgentOptions>> {
+ }
+ export type HttpsProxyAgent = _HttpsProxyAgent;
+ export const HttpsProxyAgent: typeof _HttpsProxyAgent;
+ export {};
+}
+export = createHttpsProxyAgent;
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js
new file mode 100644
index 000000000..b03e7631a
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js
@@ -0,0 +1,14 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+const agent_1 = __importDefault(require("./agent"));
+function createHttpsProxyAgent(opts) {
+ return new agent_1.default(opts);
+}
+(function (createHttpsProxyAgent) {
+ createHttpsProxyAgent.HttpsProxyAgent = agent_1.default;
+ createHttpsProxyAgent.prototype = agent_1.default.prototype;
+})(createHttpsProxyAgent || (createHttpsProxyAgent = {}));
+module.exports = createHttpsProxyAgent;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js.map b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js.map
new file mode 100644
index 000000000..f3ce559de
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAKA,oDAAuC;AAEvC,SAAS,qBAAqB,CAC7B,IAA2D;IAE3D,OAAO,IAAI,eAAgB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,WAAU,qBAAqB;IAoBjB,qCAAe,GAAG,eAAgB,CAAC;IAEhD,qBAAqB,CAAC,SAAS,GAAG,eAAgB,CAAC,SAAS,CAAC;AAC9D,CAAC,EAvBS,qBAAqB,KAArB,qBAAqB,QAuB9B;AAED,iBAAS,qBAAqB,CAAC"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts
new file mode 100644
index 000000000..7565674a3
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts
@@ -0,0 +1,7 @@
+/// <reference types="node" />
+import { Readable } from 'stream';
+export interface ProxyResponse {
+ statusCode: number;
+ buffered: Buffer;
+}
+export default function parseProxyResponse(socket: Readable): Promise<ProxyResponse>;
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js
new file mode 100644
index 000000000..aa5ce3cc2
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js
@@ -0,0 +1,66 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const debug_1 = __importDefault(require("debug"));
+const debug = debug_1.default('https-proxy-agent:parse-proxy-response');
+function parseProxyResponse(socket) {
+ return new Promise((resolve, reject) => {
+ // we need to buffer any HTTP traffic that happens with the proxy before we get
+ // the CONNECT response, so that if the response is anything other than an "200"
+ // response code, then we can re-play the "data" events on the socket once the
+ // HTTP parser is hooked up...
+ let buffersLength = 0;
+ const buffers = [];
+ function read() {
+ const b = socket.read();
+ if (b)
+ ondata(b);
+ else
+ socket.once('readable', read);
+ }
+ function cleanup() {
+ socket.removeListener('end', onend);
+ socket.removeListener('error', onerror);
+ socket.removeListener('close', onclose);
+ socket.removeListener('readable', read);
+ }
+ function onclose(err) {
+ debug('onclose had error %o', err);
+ }
+ function onend() {
+ debug('onend');
+ }
+ function onerror(err) {
+ cleanup();
+ debug('onerror %o', err);
+ reject(err);
+ }
+ function ondata(b) {
+ buffers.push(b);
+ buffersLength += b.length;
+ const buffered = Buffer.concat(buffers, buffersLength);
+ const endOfHeaders = buffered.indexOf('\r\n\r\n');
+ if (endOfHeaders === -1) {
+ // keep buffering
+ debug('have not received end of HTTP headers yet...');
+ read();
+ return;
+ }
+ const firstLine = buffered.toString('ascii', 0, buffered.indexOf('\r\n'));
+ const statusCode = +firstLine.split(' ')[1];
+ debug('got proxy server response: %o', firstLine);
+ resolve({
+ statusCode,
+ buffered
+ });
+ }
+ socket.on('error', onerror);
+ socket.on('close', onclose);
+ socket.on('end', onend);
+ read();
+ });
+}
+exports.default = parseProxyResponse;
+//# sourceMappingURL=parse-proxy-response.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map
new file mode 100644
index 000000000..bacdb84b9
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/dist/parse-proxy-response.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"parse-proxy-response.js","sourceRoot":"","sources":["../src/parse-proxy-response.ts"],"names":[],"mappings":";;;;;AAAA,kDAAgC;AAGhC,MAAM,KAAK,GAAG,eAAW,CAAC,wCAAwC,CAAC,CAAC;AAOpE,SAAwB,kBAAkB,CACzC,MAAgB;IAEhB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACtC,+EAA+E;QAC/E,gFAAgF;QAChF,8EAA8E;QAC9E,8BAA8B;QAC9B,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,SAAS,IAAI;YACZ,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC;gBAAE,MAAM,CAAC,CAAC,CAAC,CAAC;;gBACZ,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpC,CAAC;QAED,SAAS,OAAO;YACf,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACpC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YACxC,MAAM,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACzC,CAAC;QAED,SAAS,OAAO,CAAC,GAAW;YAC3B,KAAK,CAAC,sBAAsB,EAAE,GAAG,CAAC,CAAC;QACpC,CAAC;QAED,SAAS,KAAK;YACb,KAAK,CAAC,OAAO,CAAC,CAAC;QAChB,CAAC;QAED,SAAS,OAAO,CAAC,GAAU;YAC1B,OAAO,EAAE,CAAC;YACV,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;YACzB,MAAM,CAAC,GAAG,CAAC,CAAC;QACb,CAAC;QAED,SAAS,MAAM,CAAC,CAAS;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,aAAa,IAAI,CAAC,CAAC,MAAM,CAAC;YAE1B,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACvD,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAElD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE;gBACxB,iBAAiB;gBACjB,KAAK,CAAC,8CAA8C,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC;gBACP,OAAO;aACP;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAClC,OAAO,EACP,CAAC,EACD,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CACxB,CAAC;YACF,MAAM,UAAU,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;YAClD,OAAO,CAAC;gBACP,UAAU;gBACV,QAAQ;aACR,CAAC,CAAC;QACJ,CAAC;QAED,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC5B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAExB,IAAI,EAAE,CAAC;IACR,CAAC,CAAC,CAAC;AACJ,CAAC;AAvED,qCAuEC"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.d.ts b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.d.ts
deleted file mode 100644
index cec35d85e..000000000
--- a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.d.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-declare module 'https-proxy-agent' {
- import * as https from 'https';
-
- namespace HttpsProxyAgent {
- interface HttpsProxyAgentOptions {
- host: string;
- port: number | string;
- secureProxy?: boolean;
- headers?: {
- [key: string]: string;
- };
- [key: string]: any;
- }
- }
-
- // HttpsProxyAgent doesnt *actually* extend https.Agent, but for my purposes I want it to pretend that it does
- class HttpsProxyAgent extends https.Agent {
- constructor(opts: HttpsProxyAgent.HttpsProxyAgentOptions | string);
- }
-
- export = HttpsProxyAgent;
-}
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.js b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.js
deleted file mode 100644
index aa3021e2e..000000000
--- a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/index.js
+++ /dev/null
@@ -1,239 +0,0 @@
-/**
- * Module dependencies.
- */
-
-var net = require('net');
-var tls = require('tls');
-var url = require('url');
-var assert = require('assert');
-var Agent = require('agent-base');
-var inherits = require('util').inherits;
-var debug = require('debug')('https-proxy-agent');
-
-/**
- * Module exports.
- */
-
-module.exports = HttpsProxyAgent;
-
-/**
- * The `HttpsProxyAgent` implements an HTTP Agent subclass that connects to the
- * specified "HTTP(s) proxy server" in order to proxy HTTPS requests.
- *
- * @api public
- */
-
-function HttpsProxyAgent(opts) {
- if (!(this instanceof HttpsProxyAgent)) return new HttpsProxyAgent(opts);
- if ('string' == typeof opts) opts = url.parse(opts);
- if (!opts)
- throw new Error(
- 'an HTTP(S) proxy server `host` and `port` must be specified!'
- );
- debug('creating new HttpsProxyAgent instance: %o', opts);
- Agent.call(this, opts);
-
- var proxy = Object.assign({}, opts);
-
- // if `true`, then connect to the proxy server over TLS. defaults to `false`.
- this.secureProxy = proxy.protocol
- ? /^https:?$/i.test(proxy.protocol)
- : false;
-
- // prefer `hostname` over `host`, and set the `port` if needed
- proxy.host = proxy.hostname || proxy.host;
- proxy.port = +proxy.port || (this.secureProxy ? 443 : 80);
-
- // ALPN is supported by Node.js >= v5.
- // attempt to negotiate http/1.1 for proxy servers that support http/2
- if (this.secureProxy && !('ALPNProtocols' in proxy)) {
- proxy.ALPNProtocols = ['http 1.1'];
- }
-
- if (proxy.host && proxy.path) {
- // if both a `host` and `path` are specified then it's most likely the
- // result of a `url.parse()` call... we need to remove the `path` portion so
- // that `net.connect()` doesn't attempt to open that as a unix socket file.
- delete proxy.path;
- delete proxy.pathname;
- }
-
- this.proxy = proxy;
-}
-inherits(HttpsProxyAgent, Agent);
-
-/**
- * Called when the node-core HTTP client library is creating a new HTTP request.
- *
- * @api public
- */
-
-HttpsProxyAgent.prototype.callback = function connect(req, opts, fn) {
- var proxy = this.proxy;
-
- // create a socket connection to the proxy server
- var socket;
- if (this.secureProxy) {
- socket = tls.connect(proxy);
- } else {
- socket = net.connect(proxy);
- }
-
- // we need to buffer any HTTP traffic that happens with the proxy before we get
- // the CONNECT response, so that if the response is anything other than an "200"
- // response code, then we can re-play the "data" events on the socket once the
- // HTTP parser is hooked up...
- var buffers = [];
- var buffersLength = 0;
-
- function read() {
- var b = socket.read();
- if (b) ondata(b);
- else socket.once('readable', read);
- }
-
- function cleanup() {
- socket.removeListener('end', onend);
- socket.removeListener('error', onerror);
- socket.removeListener('close', onclose);
- socket.removeListener('readable', read);
- }
-
- function onclose(err) {
- debug('onclose had error %o', err);
- }
-
- function onend() {
- debug('onend');
- }
-
- function onerror(err) {
- cleanup();
- fn(err);
- }
-
- function ondata(b) {
- buffers.push(b);
- buffersLength += b.length;
- var buffered = Buffer.concat(buffers, buffersLength);
- var str = buffered.toString('ascii');
-
- if (!~str.indexOf('\r\n\r\n')) {
- // keep buffering
- debug('have not received end of HTTP headers yet...');
- read();
- return;
- }
-
- var firstLine = str.substring(0, str.indexOf('\r\n'));
- var statusCode = +firstLine.split(' ')[1];
- debug('got proxy server response: %o', firstLine);
-
- if (200 == statusCode) {
- // 200 Connected status code!
- var sock = socket;
-
- // nullify the buffered data since we won't be needing it
- buffers = buffered = null;
-
- if (opts.secureEndpoint) {
- // since the proxy is connecting to an SSL server, we have
- // to upgrade this socket connection to an SSL connection
- debug(
- 'upgrading proxy-connected socket to TLS connection: %o',
- opts.host
- );
- opts.socket = socket;
- opts.servername = opts.servername || opts.host;
- opts.host = null;
- opts.hostname = null;
- opts.port = null;
- sock = tls.connect(opts);
- }
-
- cleanup();
- req.once('socket', resume);
- fn(null, sock);
- } else {
- // some other status code that's not 200... need to re-play the HTTP header
- // "data" events onto the socket once the HTTP machinery is attached so
- // that the node core `http` can parse and handle the error status code
- cleanup();
-
- // the original socket is closed, and a new closed socket is
- // returned instead, so that the proxy doesn't get the HTTP request
- // written to it (which may contain `Authorization` headers or other
- // sensitive data).
- //
- // See: https://hackerone.com/reports/541502
- socket.destroy();
- socket = new net.Socket();
- socket.readable = true;
-
- // save a reference to the concat'd Buffer for the `onsocket` callback
- buffers = buffered;
-
- // need to wait for the "socket" event to re-play the "data" events
- req.once('socket', onsocket);
-
- fn(null, socket);
- }
- }
-
- function onsocket(socket) {
- debug('replaying proxy buffer for failed request');
- assert(socket.listenerCount('data') > 0);
-
- // replay the "buffers" Buffer onto the `socket`, since at this point
- // the HTTP module machinery has been hooked up for the user
- socket.push(buffers);
-
- // nullify the cached Buffer instance
- buffers = null;
- }
-
- socket.on('error', onerror);
- socket.on('close', onclose);
- socket.on('end', onend);
-
- read();
-
- var hostname = opts.host + ':' + opts.port;
- var msg = 'CONNECT ' + hostname + ' HTTP/1.1\r\n';
-
- var headers = Object.assign({}, proxy.headers);
- if (proxy.auth) {
- headers['Proxy-Authorization'] =
- 'Basic ' + Buffer.from(proxy.auth).toString('base64');
- }
-
- // the Host header should only include the port
- // number when it is a non-standard port
- var host = opts.host;
- if (!isDefaultPort(opts.port, opts.secureEndpoint)) {
- host += ':' + opts.port;
- }
- headers['Host'] = host;
-
- headers['Connection'] = 'close';
- Object.keys(headers).forEach(function(name) {
- msg += name + ': ' + headers[name] + '\r\n';
- });
-
- socket.write(msg + '\r\n');
-};
-
-/**
- * Resumes a socket.
- *
- * @param {(net.Socket|tls.Socket)} socket The socket to resume
- * @api public
- */
-
-function resume(socket) {
- socket.resume();
-}
-
-function isDefaultPort(port, secure) {
- return Boolean((!secure && port === 80) || (secure && port === 443));
-}
diff --git a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/package.json b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/package.json
index a03953e16..d58b42665 100644
--- a/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/package.json
+++ b/node_modules/npm-registry-fetch/node_modules/https-proxy-agent/package.json
@@ -1,27 +1,27 @@
{
- "_from": "https-proxy-agent@^4.0.0",
- "_id": "https-proxy-agent@4.0.0",
+ "_from": "https-proxy-agent@^5.0.0",
+ "_id": "https-proxy-agent@5.0.0",
"_inBundle": false,
- "_integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==",
+ "_integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
"_location": "/npm-registry-fetch/https-proxy-agent",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "https-proxy-agent@^4.0.0",
+ "raw": "https-proxy-agent@^5.0.0",
"name": "https-proxy-agent",
"escapedName": "https-proxy-agent",
- "rawSpec": "^4.0.0",
+ "rawSpec": "^5.0.0",
"saveSpec": null,
- "fetchSpec": "^4.0.0"
+ "fetchSpec": "^5.0.0"
},
"_requiredBy": [
"/npm-registry-fetch/make-fetch-happen"
],
- "_resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz",
- "_shasum": "702b71fb5520a132a66de1f67541d9e62154d82b",
- "_spec": "https-proxy-agent@^4.0.0",
- "_where": "/Users/mperrotte/npminc/cli/node_modules/npm-registry-fetch/node_modules/make-fetch-happen",
+ "_resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+ "_shasum": "e2a90542abb68a762e0a0850f6c9edadfd8506b2",
+ "_spec": "https-proxy-agent@^5.0.0",
+ "_where": "/Users/isaacs/dev/npm/cli/node_modules/npm-registry-fetch/node_modules/make-fetch-happen",
"author": {
"name": "Nathan Rajlich",
"email": "nathan@tootallnate.net",
@@ -32,18 +32,34 @@
},
"bundleDependencies": false,
"dependencies": {
- "agent-base": "5",
+ "agent-base": "6",
"debug": "4"
},
"deprecated": false,
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTPS",
"devDependencies": {
- "mocha": "6",
- "proxy": "1"
+ "@types/debug": "4",
+ "@types/node": "^12.12.11",
+ "@typescript-eslint/eslint-plugin": "1.6.0",
+ "@typescript-eslint/parser": "1.1.0",
+ "eslint": "5.16.0",
+ "eslint-config-airbnb": "17.1.0",
+ "eslint-config-prettier": "4.1.0",
+ "eslint-import-resolver-typescript": "1.1.1",
+ "eslint-plugin-import": "2.16.0",
+ "eslint-plugin-jsx-a11y": "6.2.1",
+ "eslint-plugin-react": "7.12.4",
+ "mocha": "^6.2.2",
+ "proxy": "1",
+ "rimraf": "^3.0.0",
+ "typescript": "^3.5.3"
},
"engines": {
- "node": ">= 6.0.0"
+ "node": ">= 6"
},
+ "files": [
+ "dist"
+ ],
"homepage": "https://github.com/TooTallNate/node-https-proxy-agent#readme",
"keywords": [
"https",
@@ -52,15 +68,19 @@
"agent"
],
"license": "MIT",
- "main": "./index.js",
+ "main": "dist/index",
"name": "https-proxy-agent",
"repository": {
"type": "git",
"url": "git://github.com/TooTallNate/node-https-proxy-agent.git"
},
"scripts": {
- "test": "mocha --reporter spec"
+ "build": "tsc",
+ "prebuild": "rimraf dist",
+ "prepublishOnly": "npm run build",
+ "test": "mocha --reporter spec",
+ "test-lint": "eslint src --ext .js,.ts"
},
- "types": "./index.d.ts",
- "version": "4.0.0"
+ "types": "dist/index",
+ "version": "5.0.0"
}
diff --git a/node_modules/npm-registry-fetch/node_modules/make-fetch-happen/package.json b/node_modules/npm-registry-fetch/node_modules/make-fetch-happen/package.json
index 0d3245282..bc499863e 100644
--- a/node_modules/npm-registry-fetch/node_modules/make-fetch-happen/package.json
+++ b/node_modules/npm-registry-fetch/node_modules/make-fetch-happen/package.json
@@ -1,27 +1,27 @@
{
- "_from": "make-fetch-happen@^8.0.1",
- "_id": "make-fetch-happen@8.0.1",
+ "_from": "make-fetch-happen@^8.0.2",
+ "_id": "make-fetch-happen@8.0.2",
"_inBundle": false,
- "_integrity": "sha512-oiK8xz6+IxaPqmOCW+rmlH922RTZ+fi4TAULGRih8ryqIju0x6WriDR3smm7Z+8NZRxDIK/iDLM096F/gLfiWg==",
+ "_integrity": "sha512-jRqI9zjLyz8ufXfLSbEObJ6a8sv8geeKYEPFpI+b39JjYU14MZtCiJGazSWPZMjCm7161b4r57N/na5fBXpooQ==",
"_location": "/npm-registry-fetch/make-fetch-happen",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
- "raw": "make-fetch-happen@^8.0.1",
+ "raw": "make-fetch-happen@^8.0.2",
"name": "make-fetch-happen",
"escapedName": "make-fetch-happen",
- "rawSpec": "^8.0.1",
+ "rawSpec": "^8.0.2",
"saveSpec": null,
- "fetchSpec": "^8.0.1"
+ "fetchSpec": "^8.0.2"
},
"_requiredBy": [
"/npm-registry-fetch"
],
- "_resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.1.tgz",
- "_shasum": "94e0c57c42617d28f3e3c6c64a8977f87887362b",
- "_spec": "make-fetch-happen@^8.0.1",
- "_where": "/Users/claudiahdz/npm/cli/node_modules/npm-registry-fetch",
+ "_resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-8.0.2.tgz",
+ "_shasum": "155ef26d7c6f3caf8146b0f5d0140a01e0fdc050",
+ "_spec": "make-fetch-happen@^8.0.2",
+ "_where": "/Users/isaacs/dev/npm/cli/node_modules/npm-registry-fetch",
"author": {
"name": "Kat Marchán",
"email": "kzm@zkat.tech"
@@ -34,8 +34,8 @@
"agentkeepalive": "^4.1.0",
"cacache": "^15.0.0",
"http-cache-semantics": "^4.0.4",
- "http-proxy-agent": "^3.0.0",
- "https-proxy-agent": "^4.0.0",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
"is-lambda": "^1.0.1",
"lru-cache": "^5.1.1",
"minipass": "^3.0.0",
@@ -44,7 +44,7 @@
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.2",
"promise-retry": "^1.1.1",
- "socks-proxy-agent": "^4.0.0",
+ "socks-proxy-agent": "^5.0.0",
"ssri": "^8.0.0"
},
"deprecated": false,
@@ -94,5 +94,5 @@
"release": "standard-version -s",
"test": "tap test/*.js"
},
- "version": "8.0.1"
+ "version": "8.0.2"
}
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/README.md b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/README.md
new file mode 100644
index 000000000..4df184ffa
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/README.md
@@ -0,0 +1,152 @@
+socks-proxy-agent
+================
+### A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS
+[![Build Status](https://github.com/TooTallNate/node-socks-proxy-agent/workflows/Node%20CI/badge.svg)](https://github.com/TooTallNate/node-socks-proxy-agent/actions?workflow=Node+CI)
+
+This module provides an `http.Agent` implementation that connects to a
+specified SOCKS proxy server, and can be used with the built-in `http`
+and `https` modules.
+
+It can also be used in conjunction with the `ws` module to establish a WebSocket
+connection over a SOCKS proxy. See the "Examples" section below.
+
+Installation
+------------
+
+Install with `npm`:
+
+``` bash
+$ npm install socks-proxy-agent
+```
+
+
+Examples
+--------
+
+#### TypeScript example
+
+```ts
+import https from 'https';
+import { SocksProxyAgent } from 'socks-proxy-agent';
+
+const info = {
+ host: 'br41.nordvpn.com',
+ userId: 'your-name@gmail.com',
+ password: 'abcdef12345124'
+};
+const agent = new SocksProxyAgent(info);
+
+https.get('https://jsonip.org', { agent }, (res) => {
+ console.log(res.headers);
+ res.pipe(process.stdout);
+});
+```
+
+#### `http` module example
+
+```js
+var url = require('url');
+var http = require('http');
+var SocksProxyAgent = require('socks-proxy-agent');
+
+// SOCKS proxy to connect to
+var proxy = process.env.socks_proxy || 'socks://127.0.0.1:1080';
+console.log('using proxy server %j', proxy);
+
+// HTTP endpoint for the proxy to connect to
+var endpoint = process.argv[2] || 'http://nodejs.org/api/';
+console.log('attempting to GET %j', endpoint);
+var opts = url.parse(endpoint);
+
+// create an instance of the `SocksProxyAgent` class with the proxy server information
+var agent = new SocksProxyAgent(proxy);
+opts.agent = agent;
+
+http.get(opts, function (res) {
+ console.log('"response" event!', res.headers);
+ res.pipe(process.stdout);
+});
+```
+
+#### `https` module example
+
+```js
+var url = require('url');
+var https = require('https');
+var SocksProxyAgent = require('socks-proxy-agent');
+
+// SOCKS proxy to connect to
+var proxy = process.env.socks_proxy || 'socks://127.0.0.1:1080';
+console.log('using proxy server %j', proxy);
+
+// HTTP endpoint for the proxy to connect to
+var endpoint = process.argv[2] || 'https://encrypted.google.com/';
+console.log('attempting to GET %j', endpoint);
+var opts = url.parse(endpoint);
+
+// create an instance of the `SocksProxyAgent` class with the proxy server information
+var agent = new SocksProxyAgent(proxy);
+opts.agent = agent;
+
+https.get(opts, function (res) {
+ console.log('"response" event!', res.headers);
+ res.pipe(process.stdout);
+});
+```
+
+#### `ws` WebSocket connection example
+
+``` js
+var WebSocket = require('ws');
+var SocksProxyAgent = require('socks-proxy-agent');
+
+// SOCKS proxy to connect to
+var proxy = process.env.socks_proxy || 'socks://127.0.0.1:1080';
+console.log('using proxy server %j', proxy);
+
+// WebSocket endpoint for the proxy to connect to
+var endpoint = process.argv[2] || 'ws://echo.websocket.org';
+console.log('attempting to connect to WebSocket %j', endpoint);
+
+// create an instance of the `SocksProxyAgent` class with the proxy server information
+var agent = new SocksProxyAgent(proxy);
+
+// initiate the WebSocket connection
+var socket = new WebSocket(endpoint, { agent: agent });
+
+socket.on('open', function () {
+ console.log('"open" event!');
+ socket.send('hello world');
+});
+
+socket.on('message', function (data, flags) {
+ console.log('"message" event! %j %j', data, flags);
+ socket.close();
+});
+```
+
+License
+-------
+
+(The MIT License)
+
+Copyright (c) 2013 Nathan Rajlich &lt;nathan@tootallnate.net&gt;
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+'Software'), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.d.ts b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.d.ts
new file mode 100644
index 000000000..52341a1b5
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.d.ts
@@ -0,0 +1,21 @@
+/// <reference types="node" />
+import net from 'net';
+import { Agent, ClientRequest, RequestOptions } from 'agent-base';
+import { SocksProxyAgentOptions } from '.';
+/**
+ * The `SocksProxyAgent`.
+ *
+ * @api public
+ */
+export default class SocksProxyAgent extends Agent {
+ private lookup;
+ private proxy;
+ constructor(_opts: string | SocksProxyAgentOptions);
+ /**
+ * Initiates a SOCKS connection to the specified SOCKS proxy server,
+ * which in turn connects to the specified remote host and port.
+ *
+ * @api protected
+ */
+ callback(req: ClientRequest, opts: RequestOptions): Promise<net.Socket>;
+}
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js
new file mode 100644
index 000000000..f779732bb
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js
@@ -0,0 +1,182 @@
+"use strict";
+var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
+ return new (P || (P = Promise))(function (resolve, reject) {
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
+ });
+};
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+const dns_1 = __importDefault(require("dns"));
+const tls_1 = __importDefault(require("tls"));
+const url_1 = __importDefault(require("url"));
+const debug_1 = __importDefault(require("debug"));
+const agent_base_1 = require("agent-base");
+const socks_1 = require("socks");
+const debug = debug_1.default('socks-proxy-agent');
+function dnsLookup(host) {
+ return new Promise((resolve, reject) => {
+ dns_1.default.lookup(host, (err, res) => {
+ if (err) {
+ reject(err);
+ }
+ else {
+ resolve(res);
+ }
+ });
+ });
+}
+function parseSocksProxy(opts) {
+ let port = 0;
+ let lookup = false;
+ let type = 5;
+ // Prefer `hostname` over `host`, because of `url.parse()`
+ const host = opts.hostname || opts.host;
+ if (!host) {
+ throw new TypeError('No "host"');
+ }
+ if (typeof opts.port === 'number') {
+ port = opts.port;
+ }
+ else if (typeof opts.port === 'string') {
+ port = parseInt(opts.port, 10);
+ }
+ // From RFC 1928, Section 3: https://tools.ietf.org/html/rfc1928#section-3
+ // "The SOCKS service is conventionally located on TCP port 1080"
+ if (!port) {
+ port = 1080;
+ }
+ // figure out if we want socks v4 or v5, based on the "protocol" used.
+ // Defaults to 5.
+ if (opts.protocol) {
+ switch (opts.protocol) {
+ case 'socks4:':
+ lookup = true;
+ // pass through
+ case 'socks4a:':
+ type = 4;
+ break;
+ case 'socks5:':
+ lookup = true;
+ // pass through
+ case 'socks:': // no version specified, default to 5h
+ case 'socks5h:':
+ type = 5;
+ break;
+ default:
+ throw new TypeError(`A "socks" protocol must be specified! Got: ${opts.protocol}`);
+ }
+ }
+ if (typeof opts.type !== 'undefined') {
+ if (opts.type === 4 || opts.type === 5) {
+ type = opts.type;
+ }
+ else {
+ throw new TypeError(`"type" must be 4 or 5, got: ${opts.type}`);
+ }
+ }
+ const proxy = {
+ host,
+ port,
+ type
+ };
+ let userId = opts.userId;
+ let password = opts.password;
+ if (opts.auth) {
+ const auth = opts.auth.split(':');
+ userId = auth[0];
+ password = auth[1];
+ }
+ if (userId) {
+ Object.defineProperty(proxy, 'userId', {
+ value: userId,
+ enumerable: false
+ });
+ }
+ if (password) {
+ Object.defineProperty(proxy, 'password', {
+ value: password,
+ enumerable: false
+ });
+ }
+ return { lookup, proxy };
+}
+/**
+ * The `SocksProxyAgent`.
+ *
+ * @api public
+ */
+class SocksProxyAgent extends agent_base_1.Agent {
+ constructor(_opts) {
+ let opts;
+ if (typeof _opts === 'string') {
+ opts = url_1.default.parse(_opts);
+ }
+ else {
+ opts = _opts;
+ }
+ if (!opts) {
+ throw new TypeError('a SOCKS proxy server `host` and `port` must be specified!');
+ }
+ super(opts);
+ const parsedProxy = parseSocksProxy(opts);
+ this.lookup = parsedProxy.lookup;
+ this.proxy = parsedProxy.proxy;
+ }
+ /**
+ * Initiates a SOCKS connection to the specified SOCKS proxy server,
+ * which in turn connects to the specified remote host and port.
+ *
+ * @api protected
+ */
+ callback(req, opts) {
+ return __awaiter(this, void 0, void 0, function* () {
+ const { lookup, proxy } = this;
+ let { host, port } = opts;
+ if (!host) {
+ throw new Error('No `host` defined!');
+ }
+ if (lookup) {
+ // Client-side DNS resolution for "4" and "5" socks proxy versions.
+ host = yield dnsLookup(host);
+ }
+ const socksOpts = {
+ proxy,
+ destination: { host, port },
+ command: 'connect'
+ };
+ debug('Creating socks proxy connection: %o', socksOpts);
+ const { socket } = yield socks_1.SocksClient.createConnection(socksOpts);
+ debug('Successfully created socks proxy connection');
+ if (opts.secureEndpoint) {
+ const servername = opts.servername || opts.host;
+ if (!servername) {
+ throw new Error('Could not determine "servername"');
+ }
+ // The proxy is connecting to a TLS server, so upgrade
+ // this socket connection to a TLS connection.
+ debug('Upgrading socket connection to TLS');
+ return tls_1.default.connect(Object.assign(Object.assign({}, omit(opts, 'host', 'hostname', 'path', 'port')), { socket,
+ servername }));
+ }
+ return socket;
+ });
+ }
+}
+exports.default = SocksProxyAgent;
+function omit(obj, ...keys) {
+ const ret = {};
+ let key;
+ for (key in obj) {
+ if (!keys.includes(key)) {
+ ret[key] = obj[key];
+ }
+ }
+ return ret;
+}
+//# sourceMappingURL=agent.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js.map b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js.map
new file mode 100644
index 000000000..033d913ea
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/agent.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.d.ts b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.d.ts
new file mode 100644
index 000000000..eb92e04ff
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.d.ts
@@ -0,0 +1,18 @@
+/// <reference types="node" />
+import { Url } from 'url';
+import { SocksProxy } from 'socks';
+import { AgentOptions } from 'agent-base';
+import _SocksProxyAgent from './agent';
+declare function createSocksProxyAgent(opts: string | createSocksProxyAgent.SocksProxyAgentOptions): _SocksProxyAgent;
+declare namespace createSocksProxyAgent {
+ interface BaseSocksProxyAgentOptions {
+ host?: string | null;
+ port?: string | number | null;
+ }
+ export interface SocksProxyAgentOptions extends AgentOptions, BaseSocksProxyAgentOptions, Partial<Omit<Url & SocksProxy, keyof BaseSocksProxyAgentOptions>> {
+ }
+ export type SocksProxyAgent = _SocksProxyAgent;
+ export const SocksProxyAgent: typeof _SocksProxyAgent;
+ export {};
+}
+export = createSocksProxyAgent;
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js
new file mode 100644
index 000000000..dd1e49a77
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js
@@ -0,0 +1,14 @@
+"use strict";
+var __importDefault = (this && this.__importDefault) || function (mod) {
+ return (mod && mod.__esModule) ? mod : { "default": mod };
+};
+const agent_1 = __importDefault(require("./agent"));
+function createSocksProxyAgent(opts) {
+ return new agent_1.default(opts);
+}
+(function (createSocksProxyAgent) {
+ createSocksProxyAgent.SocksProxyAgent = agent_1.default;
+ createSocksProxyAgent.prototype = agent_1.default.prototype;
+})(createSocksProxyAgent || (createSocksProxyAgent = {}));
+module.exports = createSocksProxyAgent;
+//# sourceMappingURL=index.js.map \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js.map b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js.map
new file mode 100644
index 000000000..074fe255c
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/dist/index.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAGA,oDAAuC;AAEvC,SAAS,qBAAqB,CAC7B,IAA2D;IAE3D,OAAO,IAAI,eAAgB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,WAAU,qBAAqB;IAYjB,qCAAe,GAAG,eAAgB,CAAC;IAEhD,qBAAqB,CAAC,SAAS,GAAG,eAAgB,CAAC,SAAS,CAAC;AAC9D,CAAC,EAfS,qBAAqB,KAArB,qBAAqB,QAe9B;AAED,iBAAS,qBAAqB,CAAC"} \ No newline at end of file
diff --git a/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/package.json b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/package.json
new file mode 100644
index 000000000..1ad95375e
--- /dev/null
+++ b/node_modules/npm-registry-fetch/node_modules/socks-proxy-agent/package.json
@@ -0,0 +1,94 @@
+{
+ "_from": "socks-proxy-agent@^5.0.0",
+ "_id": "socks-proxy-agent@5.0.0",
+ "_inBundle": false,
+ "_integrity": "sha512-lEpa1zsWCChxiynk+lCycKuC502RxDWLKJZoIhnxrWNjLSDGYRFflHA1/228VkRcnv9TIb8w98derGbpKxJRgA==",
+ "_location": "/npm-registry-fetch/socks-proxy-agent",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "socks-proxy-agent@^5.0.0",
+ "name": "socks-proxy-agent",
+ "escapedName": "socks-proxy-agent",
+ "rawSpec": "^5.0.0",
+ "saveSpec": null,
+ "fetchSpec": "^5.0.0"
+ },
+ "_requiredBy": [
+ "/npm-registry-fetch/make-fetch-happen"
+ ],
+ "_resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-5.0.0.tgz",
+ "_shasum": "7c0f364e7b1cf4a7a437e71253bed72e9004be60",
+ "_spec": "socks-proxy-agent@^5.0.0",
+ "_where": "/Users/isaacs/dev/npm/cli/node_modules/npm-registry-fetch/node_modules/make-fetch-happen",
+ "author": {
+ "name": "Nathan Rajlich",
+ "email": "nathan@tootallnate.net",
+ "url": "http://n8.io/"
+ },
+ "bugs": {
+ "url": "https://github.com/TooTallNate/node-socks-proxy-agent/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4",
+ "socks": "^2.3.3"
+ },
+ "deprecated": false,
+ "description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
+ "devDependencies": {
+ "@types/debug": "4",
+ "@types/node": "^12.12.11",
+ "@typescript-eslint/eslint-plugin": "1.6.0",
+ "@typescript-eslint/parser": "1.1.0",
+ "eslint": "5.16.0",
+ "eslint-config-airbnb": "17.1.0",
+ "eslint-config-prettier": "4.1.0",
+ "eslint-import-resolver-typescript": "1.1.1",
+ "eslint-plugin-import": "2.16.0",
+ "eslint-plugin-jsx-a11y": "6.2.1",
+ "eslint-plugin-react": "7.12.4",
+ "mocha": "^6.2.2",
+ "proxy": "1",
+ "raw-body": "^2.3.2",
+ "rimraf": "^3.0.0",
+ "socksv5": "github:TooTallNate/socksv5#fix/dstSock-close-event",
+ "typescript": "^3.5.3"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "files": [
+ "dist"
+ ],
+ "homepage": "https://github.com/TooTallNate/node-socks-proxy-agent#readme",
+ "keywords": [
+ "socks",
+ "socks4",
+ "socks4a",
+ "socks5",
+ "socks5h",
+ "proxy",
+ "http",
+ "https",
+ "agent"
+ ],
+ "license": "MIT",
+ "main": "dist/index",
+ "name": "socks-proxy-agent",
+ "repository": {
+ "type": "git",
+ "url": "git://github.com/TooTallNate/node-socks-proxy-agent.git"
+ },
+ "scripts": {
+ "build": "tsc",
+ "prebuild": "rimraf dist",
+ "prepublishOnly": "npm run build",
+ "test": "mocha --reporter spec",
+ "test-lint": "eslint src --ext .js,.ts"
+ },
+ "typings": "dist/index",
+ "version": "5.0.0"
+}
diff --git a/node_modules/npm-registry-fetch/package.json b/node_modules/npm-registry-fetch/package.json
index ece80c6e3..5f7c99b6f 100644
--- a/node_modules/npm-registry-fetch/package.json
+++ b/node_modules/npm-registry-fetch/package.json
@@ -1,10 +1,11 @@
{
- "_from": "npm-registry-fetch@7.0.0",
- "_id": "npm-registry-fetch@7.0.0",
+ "_from": "npm-registry-fetch@8",
+ "_id": "npm-registry-fetch@8.0.0",
"_inBundle": false,
- "_integrity": "sha512-XABSG02i/03EfnXM8azGksxICQO8g5MSiaxIUBsNTLXnQLBcdQNS67aOZsF5Yn97RV9o9g+fBUUN2Sg8u7iCBw==",
+ "_integrity": "sha512-975WwLvZjX97y9UWWQ8nAyr7bw02s9xKPHqvEm5T900LQsB1HXb8Gb9ebYtCBLSX+K8gSOrO5KS/9yV/naLZmQ==",
"_location": "/npm-registry-fetch",
"_phantomChildren": {
+ "@tootallnate/once": "1.0.0",
"cacache": "15.0.0",
"depd": "1.1.2",
"humanize-ms": "1.2.1",
@@ -17,27 +18,26 @@
"minipass-pipeline": "1.2.2",
"ms": "2.1.1",
"promise-retry": "1.1.1",
- "socks-proxy-agent": "4.0.2",
+ "socks": "2.3.3",
"ssri": "8.0.0"
},
"_requested": {
- "type": "version",
+ "type": "range",
"registry": true,
- "raw": "npm-registry-fetch@7.0.0",
+ "raw": "npm-registry-fetch@8",
"name": "npm-registry-fetch",
"escapedName": "npm-registry-fetch",
- "rawSpec": "7.0.0",
+ "rawSpec": "8",
"saveSpec": null,
- "fetchSpec": "7.0.0"
+ "fetchSpec": "8"
},
"_requiredBy": [
"#USER",
- "/",
- "/pacote"
+ "/"
],
- "_resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-7.0.0.tgz",
- "_shasum": "314529aa2818a379947912c26d41b42942e40b9f",
- "_spec": "npm-registry-fetch@7.0.0",
+ "_resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-8.0.0.tgz",
+ "_shasum": "65bb51dd2b9634b8363019aac9c76c003e5c5eaf",
+ "_spec": "npm-registry-fetch@8",
"_where": "/Users/isaacs/dev/npm/cli",
"author": {
"name": "Kat Marchán",
@@ -50,7 +50,7 @@
"dependencies": {
"@npmcli/ci-detect": "^1.0.0",
"lru-cache": "^5.1.1",
- "make-fetch-happen": "^8.0.1",
+ "make-fetch-happen": "^8.0.2",
"minipass": "^3.0.0",
"minipass-fetch": "^1.1.2",
"minipass-json-stream": "^1.0.1",
@@ -103,5 +103,5 @@
"check-coverage": true,
"test-ignore": "test[\\\\/](util|cache)[\\\\/]"
},
- "version": "7.0.0"
+ "version": "8.0.0"
}