diff options
Diffstat (limited to 'node_modules/global-agent')
125 files changed, 0 insertions, 5697 deletions
| diff --git a/node_modules/global-agent/.flowconfig b/node_modules/global-agent/.flowconfig deleted file mode 100644 index 029d8c2..0000000 --- a/node_modules/global-agent/.flowconfig +++ /dev/null @@ -1,3 +0,0 @@ -[ignore] -.*/node_modules/.*/test/.* -<PROJECT_ROOT>/dist/.* diff --git a/node_modules/global-agent/LICENSE b/node_modules/global-agent/LICENSE deleted file mode 100644 index 5065086..0000000 --- a/node_modules/global-agent/LICENSE +++ /dev/null @@ -1,24 +0,0 @@ -Copyright (c) 2019, Gajus Kuizinas (http://gajus.com/) -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: -    * Redistributions of source code must retain the above copyright -      notice, this list of conditions and the following disclaimer. -    * Redistributions in binary form must reproduce the above copyright -      notice, this list of conditions and the following disclaimer in the -      documentation and/or other materials provided with the distribution. -    * Neither the name of the Gajus Kuizinas (http://gajus.com/) nor the -      names of its contributors may be used to endorse or promote products -      derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL ANUARY BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/node_modules/global-agent/README.md b/node_modules/global-agent/README.md deleted file mode 100644 index 8a8b525..0000000 --- a/node_modules/global-agent/README.md +++ /dev/null @@ -1,239 +0,0 @@ -# global-agent - -[](https://gitspo.com/mentions/gajus/global-agent) -[](https://travis-ci.org/gajus/global-agent) -[](https://coveralls.io/github/gajus/global-agent) -[](https://www.npmjs.org/package/global-agent) -[](https://github.com/gajus/canonical) -[](https://twitter.com/kuizinas) - -Global HTTP/HTTPS proxy configurable using environment variables. - -* [Usage](#usage) -  * [Setup proxy using `global-agent/bootstrap`](#setup-proxy-using-global-agentbootstrap) -  * [Setup proxy using `bootstrap` routine](#setup-proxy-using-bootstrap-routine) -  * [Runtime configuration](#runtime-configuration) -  * [Exclude URLs](#exclude-urls) -  * [Enable logging](#enable-logging) -* [API](#api) -  * [`createGlobalProxyAgent`](#createglobalproxyagent) -  * [Environment variables](#environment-variables) -  * [`global.GLOBAL_AGENT`](#globalglobal_agent) -* [Supported libraries](#supported-libraries) -* [FAQ](#faq) -  * [What is the reason `global-agent` overrides explicitly configured HTTP(S) agent?](#what-is-the-reason-global-agent-overrides-explicitly-configured-https-agent) -  * [What is the reason `global-agent/bootstrap` does not use `HTTP_PROXY`?](#what-is-the-reason-global-agentbootstrap-does-not-use-http_proxy) -  * [What is the difference from `global-tunnel` and `tunnel`?](#what-is-the-difference-from-global-tunnel-and-tunnel) - -## Usage - -### Setup proxy using `global-agent/bootstrap` - -To configure HTTP proxy: - -1. Import `global-agent/bootstrap`. -1. Export HTTP proxy address as `GLOBAL_AGENT_HTTP_PROXY` environment variable. - -Code: - -```js -import 'global-agent/bootstrap'; - -// or: -// import {bootstrap} from 'global-agent'; -// bootstrap(); - -``` - -Bash: - -```bash -$ export GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:8080 - -``` - -Alternatively, you can preload module using Node.js `--require, -r` configuration, e.g. - -```bash -$ export GLOBAL_AGENT_HTTP_PROXY=http://127.0.0.1:8080 -$ node -r 'global-agent/bootstrap' your-script.js - -``` - -### Setup proxy using `bootstrap` routine - -Instead of importing a self-initialising script with side-effects as demonstrated in the [setup proxy using `global-agent/bootstrap`](#setup-proxy-using-global-agentbootstrap) documentation, you can import `bootstrap` routine and explicitly evaluate the bootstrap logic, e.g. - -```js -import { -  bootstrap -} from 'global-agent'; - -bootstrap(); - -``` - -This is useful if you need to conditionally bootstrap `global-agent`, e.g. - -```js -import { -  bootstrap -} from 'global-agent'; -import globalTunnel from 'global-tunnel-ng'; - -const MAJOR_NODEJS_VERSION = parseInt(process.version.slice(1).split('.')[0], 10); - -if (MAJOR_NODEJS_VERSION >= 10) { -  // `global-agent` works with Node.js v10 and above. -  bootstrap(); -} else { -  // `global-tunnel-ng` works only with Node.js v10 and below. -  globalTunnel.initialize(); -} - -``` - -### Setup proxy using `createGlobalProxyAgent` - -If you do not want to use `global.GLOBAL_AGENT` variable, then you can use `createGlobalProxyAgent` to instantiate a controlled instance of `global-agent`, e.g. - -```js -import { -  createGlobalProxyAgent -} from 'global-agent'; - -const globalProxyAgent = createGlobalProxyAgent(); - -``` - -Unlike `bootstrap` routine, `createGlobalProxyAgent` factory does not create `global.GLOBAL_AGENT` variable and does not guard against multiple initializations of `global-agent`. The result object of `createGlobalProxyAgent` is equivalent to `global.GLOBAL_AGENT`. - -### Runtime configuration - -`global-agent/bootstrap` script copies `process.env.GLOBAL_AGENT_HTTP_PROXY` value to `global.GLOBAL_AGENT.HTTP_PROXY` and continues to use the latter variable. - -You can override the `global.GLOBAL_AGENT.HTTP_PROXY` value at runtime to change proxy behaviour, e.g. - -```js -http.get('http://127.0.0.1:8000'); - -global.GLOBAL_AGENT.HTTP_PROXY = 'http://127.0.0.1:8001'; - -http.get('http://127.0.0.1:8000'); - -global.GLOBAL_AGENT.HTTP_PROXY = 'http://127.0.0.1:8002'; - -``` - -The first HTTP request is going to use http://127.0.0.1:8001 proxy and the secord request is going to use http://127.0.0.1:8002. - -All `global-agent` configuration is available under `global.GLOBAL_AGENT` namespace. - -### Exclude URLs - -The `GLOBAL_AGENT_NO_PROXY` environment variable specifies a pattern of URLs that should be excluded from proxying. `GLOBAL_AGENT_NO_PROXY` value is a comma-separated list of domain names. Asterisks can be used as wildcards, e.g. - -```bash -export GLOBAL_AGENT_NO_PROXY='*.foo.com,baz.com' - -``` - -says to contact all machines with the 'foo.com' TLD and 'baz.com' domains directly. - -### Separate proxy for HTTPS - -The environment variable `GLOBAL_AGENT_HTTPS_PROXY` can be set to specify a separate proxy for HTTPS requests. When this variable is not set `GLOBAL_AGENT_HTTP_PROXY` is used for both HTTP and HTTPS requests. - -### Enable logging - -`global-agent` is using [`roarr`](https://www.npmjs.com/package/roarr) logger to log HTTP requests and response (HTTP status code and headers), e.g. - -```json -{"context":{"program":"global-agent","namespace":"Agent","logLevel":10,"destination":"http://gajus.com","proxy":"http://127.0.0.1:8076"},"message":"proxying request","sequence":1,"time":1556269669663,"version":"1.0.0"} -{"context":{"program":"global-agent","namespace":"Agent","logLevel":10,"headers":{"content-type":"text/plain","content-length":"2","date":"Fri, 26 Apr 2019 12:07:50 GMT","connection":"close"},"requestId":6,"statusCode":200},"message":"proxying response","sequence":2,"time":1557133856955,"version":"1.0.0"} - -``` - -Export `ROARR_LOG=true` environment variable to enable log printing to stdout. - -Use [`roarr-cli`](https://github.com/gajus/roarr-cli) program to pretty-print the logs. - -## API - -### `createGlobalProxyAgent` - -```js -/** - * @property environmentVariableNamespace Defines namespace of `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` environment variables. (Default: `GLOBAL_AGENT_`) - * @property forceGlobalAgent Forces to use `global-agent` HTTP(S) agent even when request was explicitly constructed with another agent. (Default: `true`) - * @property socketConnectionTimeout Destroys socket if connection is not established within the timeout. (Default: `60000`) - */ -type ProxyAgentConfigurationInputType = {| -  +environmentVariableNamespace?: string, -  +forceGlobalAgent?: boolean, -  +socketConnectionTimeout?: number, -|}; - -(configurationInput: ProxyAgentConfigurationInputType) => ProxyAgentConfigurationType; - -``` - -### Environment variables - -|Name|Description|Default| -|---|---|---| -|`GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE`|Defines namespace of `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` environment variables.|`GLOBAL_AGENT_`| -|`GLOBAL_AGENT_FORCE_GLOBAL_AGENT`|Forces to use `global-agent` HTTP(S) agent even when request was explicitly constructed with another agent.|`true`| -|`GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT`|Destroys socket if connection is not established within the timeout.|`60000`| -|`${NAMESPACE}_HTTP_PROXY`|Sets the initial proxy controller HTTP_PROXY value.|N/A| -|`${NAMESPACE}_HTTPS_PROXY`|Sets the initial proxy controller HTTPS_PROXY value.|N/A| -|`${NAMESPACE}_NO_PROXY`|Sets the initial proxy controller NO_PROXY value.|N/A| - -### `global.GLOBAL_AGENT` - -`global.GLOBAL_AGENT` is initialized by `bootstrap` routine. - -`global.GLOBAL_AGENT` has the following properties: - -|Name|Description|Configurable| -|---|---|---| -|`HTTP_PROXY`|Yes|Sets HTTP proxy to use.| -|`HTTPS_PROXY`|Yes|Sets a distinct proxy to use for HTTPS requests.| -|`NO_PROXY`|Yes|Specifies a pattern of URLs that should be excluded from proxying. See [Exclude URLs](#exclude-urls).| - -## Supported libraries - -`global-agent` works with all libraries that internally use [`http.request`](https://nodejs.org/api/http.html#http_http_request_options_callback). - -`global-agent` has been tested to work with: - -* [`got`](https://www.npmjs.com/package/got) -* [`axios`](https://www.npmjs.com/package/axios) -* [`request`](https://www.npmjs.com/package/axios) - -## FAQ - -### What is the reason `global-agent` overrides explicitly configured HTTP(S) agent? - -By default, `global-agent` overrides [`agent` property](https://nodejs.org/api/http.html#http_http_request_options_callback) of any HTTP request, even if `agent` property was explicitly set when constructing a HTTP request. This behaviour allows to intercept requests of libraries that use a custom instance of an agent per default (e.g. Stripe SDK [uses an `http(s).globalAgent` instance pre-configured with `keepAlive: true`](https://github.com/stripe/stripe-node/blob/e542902dd8fbe591fe3c3ce07a7e89d1d60e4cf7/lib/StripeResource.js#L11-L12)). - -This behaviour can be disabled with `GLOBAL_AGENT_FORCE_GLOBAL_AGENT=false` environment variable. When disabled, then `global-agent` will only set `agent` property when it is not already defined or if `agent` is an instance of `http(s).globalAgent`. - -### What is the reason `global-agent/bootstrap` does not use `HTTP_PROXY`? - -Some libraries (e.g. [`request`](https://npmjs.org/package/request)) change their behaviour when `HTTP_PROXY` environment variable is present. Using a namespaced environment variable prevents conflicting library behaviour. - -You can override this behaviour by configuring `GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE` variable, e.g. - -```bash -$ export GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE= - -``` - -Now script initialized using `global-agent/bootstrap` will use `HTTP_PROXY`, `HTTPS_PROXY` and `NO_PROXY` environment variables. - -### What is the difference from `global-tunnel` and `tunnel`? - -[`global-tunnel`](https://github.com/salesforce/global-tunnel) (including [`global-tunnel-ng`](https://github.com/np-maintain/global-tunnel) and [`tunnel`](https://npmjs.com/package/tunnel)) are designed to support legacy Node.js versions. They use various [workarounds](https://github.com/koichik/node-tunnel/blob/5fb2fb424788597146b7be6729006cad1cf9e9a8/lib/tunnel.js#L134-L144) and rely on [monkey-patching `http.request`, `http.get`, `https.request` and `https.get` methods](https://github.com/np-maintain/global-tunnel/blob/51413dcf0534252b5049ec213105c7063ccc6367/index.js#L302-L338). - -In contrast, `global-agent` supports Node.js v10 and above, and does not implements workarounds for the older Node.js versions. diff --git a/node_modules/global-agent/bootstrap.js b/node_modules/global-agent/bootstrap.js deleted file mode 100644 index 0204420..0000000 --- a/node_modules/global-agent/bootstrap.js +++ /dev/null @@ -1 +0,0 @@ -require('./dist/index').bootstrap(); diff --git a/node_modules/global-agent/dist/Logger.js b/node_modules/global-agent/dist/Logger.js deleted file mode 100644 index a72a177..0000000 --- a/node_modules/global-agent/dist/Logger.js +++ /dev/null @@ -1,18 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _roarr = _interopRequireDefault(require("roarr")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const Logger = _roarr.default.child({ -  package: 'global-agent' -}); - -var _default = Logger; -exports.default = _default; -//# sourceMappingURL=Logger.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/Logger.js.flow b/node_modules/global-agent/dist/Logger.js.flow deleted file mode 100644 index 166f1e4..0000000 --- a/node_modules/global-agent/dist/Logger.js.flow +++ /dev/null @@ -1,10 +0,0 @@ -// @flow - -import Roarr from 'roarr'; - -const Logger = Roarr -  .child({ -    package: 'global-agent', -  }); - -export default Logger; diff --git a/node_modules/global-agent/dist/Logger.js.map b/node_modules/global-agent/dist/Logger.js.map deleted file mode 100644 index e31661f..0000000 --- a/node_modules/global-agent/dist/Logger.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/Logger.js"],"names":["Logger","Roarr","child","package"],"mappings":";;;;;;;AAEA;;;;AAEA,MAAMA,MAAM,GAAGC,eACZC,KADY,CACN;AACLC,EAAAA,OAAO,EAAE;AADJ,CADM,CAAf;;eAKeH,M","sourcesContent":["// @flow\n\nimport Roarr from 'roarr';\n\nconst Logger = Roarr\n  .child({\n    package: 'global-agent',\n  });\n\nexport default Logger;\n"],"file":"Logger.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/Agent.js b/node_modules/global-agent/dist/classes/Agent.js deleted file mode 100644 index ba8cc1a..0000000 --- a/node_modules/global-agent/dist/classes/Agent.js +++ /dev/null @@ -1,174 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _serializeError = require("serialize-error"); - -var _boolean = require("boolean"); - -var _Logger = _interopRequireDefault(require("../Logger")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const log = _Logger.default.child({ -  namespace: 'Agent' -}); - -let requestId = 0; - -class Agent { -  constructor(isProxyConfigured, mustUrlUseProxy, getUrlProxy, fallbackAgent, socketConnectionTimeout) { -    this.fallbackAgent = fallbackAgent; -    this.isProxyConfigured = isProxyConfigured; -    this.mustUrlUseProxy = mustUrlUseProxy; -    this.getUrlProxy = getUrlProxy; -    this.socketConnectionTimeout = socketConnectionTimeout; -  } - -  addRequest(request, configuration) { -    let requestUrl; // It is possible that addRequest was constructed for a proxied request already, e.g. -    // "request" package does this when it detects that a proxy should be used -    // https://github.com/request/request/blob/212570b6971a732b8dd9f3c73354bcdda158a737/request.js#L402 -    // https://gist.github.com/gajus/e2074cd3b747864ffeaabbd530d30218 - -    if (request.path.startsWith('http://') || request.path.startsWith('https://')) { -      requestUrl = request.path; -    } else { -      requestUrl = this.protocol + '//' + (configuration.hostname || configuration.host) + (configuration.port === 80 || configuration.port === 443 ? '' : ':' + configuration.port) + request.path; -    } - -    if (!this.isProxyConfigured()) { -      log.trace({ -        destination: requestUrl -      }, 'not proxying request; GLOBAL_AGENT.HTTP_PROXY is not configured'); // $FlowFixMe It appears that Flow is missing the method description. - -      this.fallbackAgent.addRequest(request, configuration); -      return; -    } - -    if (!this.mustUrlUseProxy(requestUrl)) { -      log.trace({ -        destination: requestUrl -      }, 'not proxying request; url matches GLOBAL_AGENT.NO_PROXY'); // $FlowFixMe It appears that Flow is missing the method description. - -      this.fallbackAgent.addRequest(request, configuration); -      return; -    } - -    const currentRequestId = requestId++; -    const proxy = this.getUrlProxy(requestUrl); - -    if (this.protocol === 'http:') { -      request.path = requestUrl; - -      if (proxy.authorization) { -        request.setHeader('proxy-authorization', 'Basic ' + Buffer.from(proxy.authorization).toString('base64')); -      } -    } - -    log.trace({ -      destination: requestUrl, -      proxy: 'http://' + proxy.hostname + ':' + proxy.port, -      requestId: currentRequestId -    }, 'proxying request'); -    request.on('error', error => { -      log.error({ -        error: (0, _serializeError.serializeError)(error) -      }, 'request error'); -    }); -    request.once('response', response => { -      log.trace({ -        headers: response.headers, -        requestId: currentRequestId, -        statusCode: response.statusCode -      }, 'proxying response'); -    }); -    request.shouldKeepAlive = false; -    const connectionConfiguration = { -      host: configuration.hostname || configuration.host, -      port: configuration.port || 80, -      proxy, -      tls: {} -    }; // add optional tls options for https requests. -    // @see https://nodejs.org/docs/latest-v12.x/api/https.html#https_https_request_url_options_callback : -    // > The following additional options from tls.connect() -    // >   - https://nodejs.org/docs/latest-v12.x/api/tls.html#tls_tls_connect_options_callback - -    // > are also accepted: -    // >   ca, cert, ciphers, clientCertEngine, crl, dhparam, ecdhCurve, honorCipherOrder, -    // >   key, passphrase, pfx, rejectUnauthorized, secureOptions, secureProtocol, servername, sessionIdContext. - -    if (this.protocol === 'https:') { -      connectionConfiguration.tls = { -        ca: configuration.ca, -        cert: configuration.cert, -        ciphers: configuration.ciphers, -        clientCertEngine: configuration.clientCertEngine, -        crl: configuration.crl, -        dhparam: configuration.dhparam, -        ecdhCurve: configuration.ecdhCurve, -        honorCipherOrder: configuration.honorCipherOrder, -        key: configuration.key, -        passphrase: configuration.passphrase, -        pfx: configuration.pfx, -        rejectUnauthorized: configuration.rejectUnauthorized, -        secureOptions: configuration.secureOptions, -        secureProtocol: configuration.secureProtocol, -        servername: configuration.servername || connectionConfiguration.host, -        sessionIdContext: configuration.sessionIdContext -      }; // This is not ideal because there is no way to override this setting using `tls` configuration if `NODE_TLS_REJECT_UNAUTHORIZED=0`. -      // However, popular HTTP clients (such as https://github.com/sindresorhus/got) come with pre-configured value for `rejectUnauthorized`, -      // which makes it impossible to override that value globally and respect `rejectUnauthorized` for specific requests only. -      // -      // eslint-disable-next-line no-process-env - -      if (typeof process.env.NODE_TLS_REJECT_UNAUTHORIZED === 'string' && (0, _boolean.boolean)(process.env.NODE_TLS_REJECT_UNAUTHORIZED) === false) { -        connectionConfiguration.tls.rejectUnauthorized = false; -      } -    } // $FlowFixMe It appears that Flow is missing the method description. - - -    this.createConnection(connectionConfiguration, (error, socket) => { -      log.trace({ -        target: connectionConfiguration -      }, 'connecting'); // @see https://github.com/nodejs/node/issues/5757#issuecomment-305969057 - -      if (socket) { -        socket.setTimeout(this.socketConnectionTimeout, () => { -          socket.destroy(); -        }); -        socket.once('connect', () => { -          log.trace({ -            target: connectionConfiguration -          }, 'connected'); -          socket.setTimeout(0); -        }); -        socket.once('secureConnect', () => { -          log.trace({ -            target: connectionConfiguration -          }, 'connected (secure)'); -          socket.setTimeout(0); -        }); -      } - -      if (error) { -        request.emit('error', error); -      } else { -        log.debug('created socket'); -        socket.on('error', socketError => { -          log.error({ -            error: (0, _serializeError.serializeError)(socketError) -          }, 'socket error'); -        }); -        request.onSocket(socket); -      } -    }); -  } - -} - -var _default = Agent; -exports.default = _default; -//# sourceMappingURL=Agent.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/Agent.js.flow b/node_modules/global-agent/dist/classes/Agent.js.flow deleted file mode 100644 index 801dd1f..0000000 --- a/node_modules/global-agent/dist/classes/Agent.js.flow +++ /dev/null @@ -1,212 +0,0 @@ -// @flow - -import { -  serializeError, -} from 'serialize-error'; -import { -  boolean, -} from 'boolean'; -import Logger from '../Logger'; -import type { -  AgentType, -  GetUrlProxyMethodType, -  IsProxyConfiguredMethodType, -  MustUrlUseProxyMethodType, -  ProtocolType, -} from '../types'; - -const log = Logger.child({ -  namespace: 'Agent', -}); - -let requestId = 0; - -class Agent { -  defaultPort: number; - -  protocol: ProtocolType; - -  fallbackAgent: AgentType; - -  isProxyConfigured: IsProxyConfiguredMethodType; - -  mustUrlUseProxy: MustUrlUseProxyMethodType; - -  getUrlProxy: GetUrlProxyMethodType; - -  socketConnectionTimeout: number; - -  constructor ( -    isProxyConfigured: IsProxyConfiguredMethodType, -    mustUrlUseProxy: MustUrlUseProxyMethodType, -    getUrlProxy: GetUrlProxyMethodType, -    fallbackAgent: AgentType, -    socketConnectionTimeout: number, -  ) { -    this.fallbackAgent = fallbackAgent; -    this.isProxyConfigured = isProxyConfigured; -    this.mustUrlUseProxy = mustUrlUseProxy; -    this.getUrlProxy = getUrlProxy; -    this.socketConnectionTimeout = socketConnectionTimeout; -  } - -  addRequest (request: *, configuration: *) { -    let requestUrl; - -    // It is possible that addRequest was constructed for a proxied request already, e.g. -    // "request" package does this when it detects that a proxy should be used -    // https://github.com/request/request/blob/212570b6971a732b8dd9f3c73354bcdda158a737/request.js#L402 -    // https://gist.github.com/gajus/e2074cd3b747864ffeaabbd530d30218 -    if (request.path.startsWith('http://') || request.path.startsWith('https://')) { -      requestUrl = request.path; -    } else { -      requestUrl = this.protocol + '//' + (configuration.hostname || configuration.host) + (configuration.port === 80 || configuration.port === 443 ? '' : ':' + configuration.port) + request.path; -    } - -    if (!this.isProxyConfigured()) { -      log.trace({ -        destination: requestUrl, -      }, 'not proxying request; GLOBAL_AGENT.HTTP_PROXY is not configured'); - -      // $FlowFixMe It appears that Flow is missing the method description. -      this.fallbackAgent.addRequest(request, configuration); - -      return; -    } - -    if (!this.mustUrlUseProxy(requestUrl)) { -      log.trace({ -        destination: requestUrl, -      }, 'not proxying request; url matches GLOBAL_AGENT.NO_PROXY'); - -      // $FlowFixMe It appears that Flow is missing the method description. -      this.fallbackAgent.addRequest(request, configuration); - -      return; -    } - -    const currentRequestId = requestId++; - -    const proxy = this.getUrlProxy(requestUrl); - -    if (this.protocol === 'http:') { -      request.path = requestUrl; - -      if (proxy.authorization) { -        request.setHeader('proxy-authorization', 'Basic ' + Buffer.from(proxy.authorization).toString('base64')); -      } -    } - -    log.trace({ -      destination: requestUrl, -      proxy: 'http://' + proxy.hostname + ':' + proxy.port, -      requestId: currentRequestId, -    }, 'proxying request'); - -    request.on('error', (error) => { -      log.error({ -        error: serializeError(error), -      }, 'request error'); -    }); - -    request.once('response', (response) => { -      log.trace({ -        headers: response.headers, -        requestId: currentRequestId, -        statusCode: response.statusCode, -      }, 'proxying response'); -    }); - -    request.shouldKeepAlive = false; - -    const connectionConfiguration = { -      host: configuration.hostname || configuration.host, -      port: configuration.port || 80, -      proxy, -      tls: {}, -    }; - -    // add optional tls options for https requests. -    // @see https://nodejs.org/docs/latest-v12.x/api/https.html#https_https_request_url_options_callback : -    // > The following additional options from tls.connect() -    // >   - https://nodejs.org/docs/latest-v12.x/api/tls.html#tls_tls_connect_options_callback - -    // > are also accepted: -    // >   ca, cert, ciphers, clientCertEngine, crl, dhparam, ecdhCurve, honorCipherOrder, -    // >   key, passphrase, pfx, rejectUnauthorized, secureOptions, secureProtocol, servername, sessionIdContext. -    if (this.protocol === 'https:') { -      connectionConfiguration.tls = { -        ca: configuration.ca, -        cert: configuration.cert, -        ciphers: configuration.ciphers, -        clientCertEngine: configuration.clientCertEngine, -        crl: configuration.crl, -        dhparam: configuration.dhparam, -        ecdhCurve: configuration.ecdhCurve, -        honorCipherOrder: configuration.honorCipherOrder, -        key: configuration.key, -        passphrase: configuration.passphrase, -        pfx: configuration.pfx, -        rejectUnauthorized: configuration.rejectUnauthorized, -        secureOptions: configuration.secureOptions, -        secureProtocol: configuration.secureProtocol, -        servername: configuration.servername || connectionConfiguration.host, -        sessionIdContext: configuration.sessionIdContext, -      }; - -      // This is not ideal because there is no way to override this setting using `tls` configuration if `NODE_TLS_REJECT_UNAUTHORIZED=0`. -      // However, popular HTTP clients (such as https://github.com/sindresorhus/got) come with pre-configured value for `rejectUnauthorized`, -      // which makes it impossible to override that value globally and respect `rejectUnauthorized` for specific requests only. -      // -      // eslint-disable-next-line no-process-env -      if (typeof process.env.NODE_TLS_REJECT_UNAUTHORIZED === 'string' && boolean(process.env.NODE_TLS_REJECT_UNAUTHORIZED) === false) { -        connectionConfiguration.tls.rejectUnauthorized = false; -      } -    } - -    // $FlowFixMe It appears that Flow is missing the method description. -    this.createConnection(connectionConfiguration, (error, socket) => { -      log.trace({ -        target: connectionConfiguration, -      }, 'connecting'); - -      // @see https://github.com/nodejs/node/issues/5757#issuecomment-305969057 -      if (socket) { -        socket.setTimeout(this.socketConnectionTimeout, () => { -          socket.destroy(); -        }); - -        socket.once('connect', () => { -          log.trace({ -            target: connectionConfiguration, -          }, 'connected'); - -          socket.setTimeout(0); -        }); - -        socket.once('secureConnect', () => { -          log.trace({ -            target: connectionConfiguration, -          }, 'connected (secure)'); - -          socket.setTimeout(0); -        }); -      } - -      if (error) { -        request.emit('error', error); -      } else { -        log.debug('created socket'); - -        socket.on('error', (socketError) => { -          log.error({ -            error: serializeError(socketError), -          }, 'socket error'); -        }); - -        request.onSocket(socket); -      } -    }); -  } -} - -export default Agent; diff --git a/node_modules/global-agent/dist/classes/Agent.js.map b/node_modules/global-agent/dist/classes/Agent.js.map deleted file mode 100644 index af6283e..0000000 --- a/node_modules/global-agent/dist/classes/Agent.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/classes/Agent.js"],"names":["log","Logger","child","namespace","requestId","Agent","constructor","isProxyConfigured","mustUrlUseProxy","getUrlProxy","fallbackAgent","socketConnectionTimeout","addRequest","request","configuration","requestUrl","path","startsWith","protocol","hostname","host","port","trace","destination","currentRequestId","proxy","authorization","setHeader","Buffer","from","toString","on","error","once","response","headers","statusCode","shouldKeepAlive","connectionConfiguration","tls","ca","cert","ciphers","clientCertEngine","crl","dhparam","ecdhCurve","honorCipherOrder","key","passphrase","pfx","rejectUnauthorized","secureOptions","secureProtocol","servername","sessionIdContext","process","env","NODE_TLS_REJECT_UNAUTHORIZED","createConnection","socket","target","setTimeout","destroy","emit","debug","socketError","onSocket"],"mappings":";;;;;;;AAEA;;AAGA;;AAGA;;;;AASA,MAAMA,GAAG,GAAGC,gBAAOC,KAAP,CAAa;AACvBC,EAAAA,SAAS,EAAE;AADY,CAAb,CAAZ;;AAIA,IAAIC,SAAS,GAAG,CAAhB;;AAEA,MAAMC,KAAN,CAAY;AAeVC,EAAAA,WAAW,CACTC,iBADS,EAETC,eAFS,EAGTC,WAHS,EAITC,aAJS,EAKTC,uBALS,EAMT;AACA,SAAKD,aAAL,GAAqBA,aAArB;AACA,SAAKH,iBAAL,GAAyBA,iBAAzB;AACA,SAAKC,eAAL,GAAuBA,eAAvB;AACA,SAAKC,WAAL,GAAmBA,WAAnB;AACA,SAAKE,uBAAL,GAA+BA,uBAA/B;AACD;;AAEDC,EAAAA,UAAU,CAAEC,OAAF,EAAcC,aAAd,EAAgC;AACxC,QAAIC,UAAJ,CADwC,CAGxC;AACA;AACA;AACA;;AACA,QAAIF,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwB,SAAxB,KAAsCJ,OAAO,CAACG,IAAR,CAAaC,UAAb,CAAwB,UAAxB,CAA1C,EAA+E;AAC7EF,MAAAA,UAAU,GAAGF,OAAO,CAACG,IAArB;AACD,KAFD,MAEO;AACLD,MAAAA,UAAU,GAAG,KAAKG,QAAL,GAAgB,IAAhB,IAAwBJ,aAAa,CAACK,QAAd,IAA0BL,aAAa,CAACM,IAAhE,KAAyEN,aAAa,CAACO,IAAd,KAAuB,EAAvB,IAA6BP,aAAa,CAACO,IAAd,KAAuB,GAApD,GAA0D,EAA1D,GAA+D,MAAMP,aAAa,CAACO,IAA5J,IAAoKR,OAAO,CAACG,IAAzL;AACD;;AAED,QAAI,CAAC,KAAKT,iBAAL,EAAL,EAA+B;AAC7BP,MAAAA,GAAG,CAACsB,KAAJ,CAAU;AACRC,QAAAA,WAAW,EAAER;AADL,OAAV,EAEG,iEAFH,EAD6B,CAK7B;;AACA,WAAKL,aAAL,CAAmBE,UAAnB,CAA8BC,OAA9B,EAAuCC,aAAvC;AAEA;AACD;;AAED,QAAI,CAAC,KAAKN,eAAL,CAAqBO,UAArB,CAAL,EAAuC;AACrCf,MAAAA,GAAG,CAACsB,KAAJ,CAAU;AACRC,QAAAA,WAAW,EAAER;AADL,OAAV,EAEG,yDAFH,EADqC,CAKrC;;AACA,WAAKL,aAAL,CAAmBE,UAAnB,CAA8BC,OAA9B,EAAuCC,aAAvC;AAEA;AACD;;AAED,UAAMU,gBAAgB,GAAGpB,SAAS,EAAlC;AAEA,UAAMqB,KAAK,GAAG,KAAKhB,WAAL,CAAiBM,UAAjB,CAAd;;AAEA,QAAI,KAAKG,QAAL,KAAkB,OAAtB,EAA+B;AAC7BL,MAAAA,OAAO,CAACG,IAAR,GAAeD,UAAf;;AAEA,UAAIU,KAAK,CAACC,aAAV,EAAyB;AACvBb,QAAAA,OAAO,CAACc,SAAR,CAAkB,qBAAlB,EAAyC,WAAWC,MAAM,CAACC,IAAP,CAAYJ,KAAK,CAACC,aAAlB,EAAiCI,QAAjC,CAA0C,QAA1C,CAApD;AACD;AACF;;AAED9B,IAAAA,GAAG,CAACsB,KAAJ,CAAU;AACRC,MAAAA,WAAW,EAAER,UADL;AAERU,MAAAA,KAAK,EAAE,YAAYA,KAAK,CAACN,QAAlB,GAA6B,GAA7B,GAAmCM,KAAK,CAACJ,IAFxC;AAGRjB,MAAAA,SAAS,EAAEoB;AAHH,KAAV,EAIG,kBAJH;AAMAX,IAAAA,OAAO,CAACkB,EAAR,CAAW,OAAX,EAAqBC,KAAD,IAAW;AAC7BhC,MAAAA,GAAG,CAACgC,KAAJ,CAAU;AACRA,QAAAA,KAAK,EAAE,oCAAeA,KAAf;AADC,OAAV,EAEG,eAFH;AAGD,KAJD;AAMAnB,IAAAA,OAAO,CAACoB,IAAR,CAAa,UAAb,EAA0BC,QAAD,IAAc;AACrClC,MAAAA,GAAG,CAACsB,KAAJ,CAAU;AACRa,QAAAA,OAAO,EAAED,QAAQ,CAACC,OADV;AAER/B,QAAAA,SAAS,EAAEoB,gBAFH;AAGRY,QAAAA,UAAU,EAAEF,QAAQ,CAACE;AAHb,OAAV,EAIG,mBAJH;AAKD,KAND;AAQAvB,IAAAA,OAAO,CAACwB,eAAR,GAA0B,KAA1B;AAEA,UAAMC,uBAAuB,GAAG;AAC9BlB,MAAAA,IAAI,EAAEN,aAAa,CAACK,QAAd,IAA0BL,aAAa,CAACM,IADhB;AAE9BC,MAAAA,IAAI,EAAEP,aAAa,CAACO,IAAd,IAAsB,EAFE;AAG9BI,MAAAA,KAH8B;AAI9Bc,MAAAA,GAAG,EAAE;AAJyB,KAAhC,CArEwC,CA4ExC;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,QAAI,KAAKrB,QAAL,KAAkB,QAAtB,EAAgC;AAC9BoB,MAAAA,uBAAuB,CAACC,GAAxB,GAA8B;AAC5BC,QAAAA,EAAE,EAAE1B,aAAa,CAAC0B,EADU;AAE5BC,QAAAA,IAAI,EAAE3B,aAAa,CAAC2B,IAFQ;AAG5BC,QAAAA,OAAO,EAAE5B,aAAa,CAAC4B,OAHK;AAI5BC,QAAAA,gBAAgB,EAAE7B,aAAa,CAAC6B,gBAJJ;AAK5BC,QAAAA,GAAG,EAAE9B,aAAa,CAAC8B,GALS;AAM5BC,QAAAA,OAAO,EAAE/B,aAAa,CAAC+B,OANK;AAO5BC,QAAAA,SAAS,EAAEhC,aAAa,CAACgC,SAPG;AAQ5BC,QAAAA,gBAAgB,EAAEjC,aAAa,CAACiC,gBARJ;AAS5BC,QAAAA,GAAG,EAAElC,aAAa,CAACkC,GATS;AAU5BC,QAAAA,UAAU,EAAEnC,aAAa,CAACmC,UAVE;AAW5BC,QAAAA,GAAG,EAAEpC,aAAa,CAACoC,GAXS;AAY5BC,QAAAA,kBAAkB,EAAErC,aAAa,CAACqC,kBAZN;AAa5BC,QAAAA,aAAa,EAAEtC,aAAa,CAACsC,aAbD;AAc5BC,QAAAA,cAAc,EAAEvC,aAAa,CAACuC,cAdF;AAe5BC,QAAAA,UAAU,EAAExC,aAAa,CAACwC,UAAd,IAA4BhB,uBAAuB,CAAClB,IAfpC;AAgB5BmC,QAAAA,gBAAgB,EAAEzC,aAAa,CAACyC;AAhBJ,OAA9B,CAD8B,CAoB9B;AACA;AACA;AACA;AACA;;AACA,UAAI,OAAOC,OAAO,CAACC,GAAR,CAAYC,4BAAnB,KAAoD,QAApD,IAAgE,sBAAQF,OAAO,CAACC,GAAR,CAAYC,4BAApB,MAAsD,KAA1H,EAAiI;AAC/HpB,QAAAA,uBAAuB,CAACC,GAAxB,CAA4BY,kBAA5B,GAAiD,KAAjD;AACD;AACF,KA/GuC,CAiHxC;;;AACA,SAAKQ,gBAAL,CAAsBrB,uBAAtB,EAA+C,CAACN,KAAD,EAAQ4B,MAAR,KAAmB;AAChE5D,MAAAA,GAAG,CAACsB,KAAJ,CAAU;AACRuC,QAAAA,MAAM,EAAEvB;AADA,OAAV,EAEG,YAFH,EADgE,CAKhE;;AACA,UAAIsB,MAAJ,EAAY;AACVA,QAAAA,MAAM,CAACE,UAAP,CAAkB,KAAKnD,uBAAvB,EAAgD,MAAM;AACpDiD,UAAAA,MAAM,CAACG,OAAP;AACD,SAFD;AAIAH,QAAAA,MAAM,CAAC3B,IAAP,CAAY,SAAZ,EAAuB,MAAM;AAC3BjC,UAAAA,GAAG,CAACsB,KAAJ,CAAU;AACRuC,YAAAA,MAAM,EAAEvB;AADA,WAAV,EAEG,WAFH;AAIAsB,UAAAA,MAAM,CAACE,UAAP,CAAkB,CAAlB;AACD,SAND;AAQAF,QAAAA,MAAM,CAAC3B,IAAP,CAAY,eAAZ,EAA6B,MAAM;AACjCjC,UAAAA,GAAG,CAACsB,KAAJ,CAAU;AACRuC,YAAAA,MAAM,EAAEvB;AADA,WAAV,EAEG,oBAFH;AAIAsB,UAAAA,MAAM,CAACE,UAAP,CAAkB,CAAlB;AACD,SAND;AAOD;;AAED,UAAI9B,KAAJ,EAAW;AACTnB,QAAAA,OAAO,CAACmD,IAAR,CAAa,OAAb,EAAsBhC,KAAtB;AACD,OAFD,MAEO;AACLhC,QAAAA,GAAG,CAACiE,KAAJ,CAAU,gBAAV;AAEAL,QAAAA,MAAM,CAAC7B,EAAP,CAAU,OAAV,EAAoBmC,WAAD,IAAiB;AAClClE,UAAAA,GAAG,CAACgC,KAAJ,CAAU;AACRA,YAAAA,KAAK,EAAE,oCAAekC,WAAf;AADC,WAAV,EAEG,cAFH;AAGD,SAJD;AAMArD,QAAAA,OAAO,CAACsD,QAAR,CAAiBP,MAAjB;AACD;AACF,KAzCD;AA0CD;;AAzLS;;eA4LGvD,K","sourcesContent":["// @flow\n\nimport {\n  serializeError,\n} from 'serialize-error';\nimport {\n  boolean,\n} from 'boolean';\nimport Logger from '../Logger';\nimport type {\n  AgentType,\n  GetUrlProxyMethodType,\n  IsProxyConfiguredMethodType,\n  MustUrlUseProxyMethodType,\n  ProtocolType,\n} from '../types';\n\nconst log = Logger.child({\n  namespace: 'Agent',\n});\n\nlet requestId = 0;\n\nclass Agent {\n  defaultPort: number;\n\n  protocol: ProtocolType;\n\n  fallbackAgent: AgentType;\n\n  isProxyConfigured: IsProxyConfiguredMethodType;\n\n  mustUrlUseProxy: MustUrlUseProxyMethodType;\n\n  getUrlProxy: GetUrlProxyMethodType;\n\n  socketConnectionTimeout: number;\n\n  constructor (\n    isProxyConfigured: IsProxyConfiguredMethodType,\n    mustUrlUseProxy: MustUrlUseProxyMethodType,\n    getUrlProxy: GetUrlProxyMethodType,\n    fallbackAgent: AgentType,\n    socketConnectionTimeout: number,\n  ) {\n    this.fallbackAgent = fallbackAgent;\n    this.isProxyConfigured = isProxyConfigured;\n    this.mustUrlUseProxy = mustUrlUseProxy;\n    this.getUrlProxy = getUrlProxy;\n    this.socketConnectionTimeout = socketConnectionTimeout;\n  }\n\n  addRequest (request: *, configuration: *) {\n    let requestUrl;\n\n    // It is possible that addRequest was constructed for a proxied request already, e.g.\n    // \"request\" package does this when it detects that a proxy should be used\n    // https://github.com/request/request/blob/212570b6971a732b8dd9f3c73354bcdda158a737/request.js#L402\n    // https://gist.github.com/gajus/e2074cd3b747864ffeaabbd530d30218\n    if (request.path.startsWith('http://') || request.path.startsWith('https://')) {\n      requestUrl = request.path;\n    } else {\n      requestUrl = this.protocol + '//' + (configuration.hostname || configuration.host) + (configuration.port === 80 || configuration.port === 443 ? '' : ':' + configuration.port) + request.path;\n    }\n\n    if (!this.isProxyConfigured()) {\n      log.trace({\n        destination: requestUrl,\n      }, 'not proxying request; GLOBAL_AGENT.HTTP_PROXY is not configured');\n\n      // $FlowFixMe It appears that Flow is missing the method description.\n      this.fallbackAgent.addRequest(request, configuration);\n\n      return;\n    }\n\n    if (!this.mustUrlUseProxy(requestUrl)) {\n      log.trace({\n        destination: requestUrl,\n      }, 'not proxying request; url matches GLOBAL_AGENT.NO_PROXY');\n\n      // $FlowFixMe It appears that Flow is missing the method description.\n      this.fallbackAgent.addRequest(request, configuration);\n\n      return;\n    }\n\n    const currentRequestId = requestId++;\n\n    const proxy = this.getUrlProxy(requestUrl);\n\n    if (this.protocol === 'http:') {\n      request.path = requestUrl;\n\n      if (proxy.authorization) {\n        request.setHeader('proxy-authorization', 'Basic ' + Buffer.from(proxy.authorization).toString('base64'));\n      }\n    }\n\n    log.trace({\n      destination: requestUrl,\n      proxy: 'http://' + proxy.hostname + ':' + proxy.port,\n      requestId: currentRequestId,\n    }, 'proxying request');\n\n    request.on('error', (error) => {\n      log.error({\n        error: serializeError(error),\n      }, 'request error');\n    });\n\n    request.once('response', (response) => {\n      log.trace({\n        headers: response.headers,\n        requestId: currentRequestId,\n        statusCode: response.statusCode,\n      }, 'proxying response');\n    });\n\n    request.shouldKeepAlive = false;\n\n    const connectionConfiguration = {\n      host: configuration.hostname || configuration.host,\n      port: configuration.port || 80,\n      proxy,\n      tls: {},\n    };\n\n    // add optional tls options for https requests.\n    // @see https://nodejs.org/docs/latest-v12.x/api/https.html#https_https_request_url_options_callback :\n    // > The following additional options from tls.connect()\n    // >   - https://nodejs.org/docs/latest-v12.x/api/tls.html#tls_tls_connect_options_callback -\n    // > are also accepted:\n    // >   ca, cert, ciphers, clientCertEngine, crl, dhparam, ecdhCurve, honorCipherOrder,\n    // >   key, passphrase, pfx, rejectUnauthorized, secureOptions, secureProtocol, servername, sessionIdContext.\n    if (this.protocol === 'https:') {\n      connectionConfiguration.tls = {\n        ca: configuration.ca,\n        cert: configuration.cert,\n        ciphers: configuration.ciphers,\n        clientCertEngine: configuration.clientCertEngine,\n        crl: configuration.crl,\n        dhparam: configuration.dhparam,\n        ecdhCurve: configuration.ecdhCurve,\n        honorCipherOrder: configuration.honorCipherOrder,\n        key: configuration.key,\n        passphrase: configuration.passphrase,\n        pfx: configuration.pfx,\n        rejectUnauthorized: configuration.rejectUnauthorized,\n        secureOptions: configuration.secureOptions,\n        secureProtocol: configuration.secureProtocol,\n        servername: configuration.servername || connectionConfiguration.host,\n        sessionIdContext: configuration.sessionIdContext,\n      };\n\n      // This is not ideal because there is no way to override this setting using `tls` configuration if `NODE_TLS_REJECT_UNAUTHORIZED=0`.\n      // However, popular HTTP clients (such as https://github.com/sindresorhus/got) come with pre-configured value for `rejectUnauthorized`,\n      // which makes it impossible to override that value globally and respect `rejectUnauthorized` for specific requests only.\n      //\n      // eslint-disable-next-line no-process-env\n      if (typeof process.env.NODE_TLS_REJECT_UNAUTHORIZED === 'string' && boolean(process.env.NODE_TLS_REJECT_UNAUTHORIZED) === false) {\n        connectionConfiguration.tls.rejectUnauthorized = false;\n      }\n    }\n\n    // $FlowFixMe It appears that Flow is missing the method description.\n    this.createConnection(connectionConfiguration, (error, socket) => {\n      log.trace({\n        target: connectionConfiguration,\n      }, 'connecting');\n\n      // @see https://github.com/nodejs/node/issues/5757#issuecomment-305969057\n      if (socket) {\n        socket.setTimeout(this.socketConnectionTimeout, () => {\n          socket.destroy();\n        });\n\n        socket.once('connect', () => {\n          log.trace({\n            target: connectionConfiguration,\n          }, 'connected');\n\n          socket.setTimeout(0);\n        });\n\n        socket.once('secureConnect', () => {\n          log.trace({\n            target: connectionConfiguration,\n          }, 'connected (secure)');\n\n          socket.setTimeout(0);\n        });\n      }\n\n      if (error) {\n        request.emit('error', error);\n      } else {\n        log.debug('created socket');\n\n        socket.on('error', (socketError) => {\n          log.error({\n            error: serializeError(socketError),\n          }, 'socket error');\n        });\n\n        request.onSocket(socket);\n      }\n    });\n  }\n}\n\nexport default Agent;\n"],"file":"Agent.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/HttpProxyAgent.js b/node_modules/global-agent/dist/classes/HttpProxyAgent.js deleted file mode 100644 index 6d1c831..0000000 --- a/node_modules/global-agent/dist/classes/HttpProxyAgent.js +++ /dev/null @@ -1,33 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _net = _interopRequireDefault(require("net")); - -var _Agent = _interopRequireDefault(require("./Agent")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class HttpProxyAgent extends _Agent.default { -  // @see https://github.com/sindresorhus/eslint-plugin-unicorn/issues/169#issuecomment-486980290 -  // eslint-disable-next-line unicorn/prevent-abbreviations -  constructor(...args) { -    super(...args); -    this.protocol = 'http:'; -    this.defaultPort = 80; -  } - -  createConnection(configuration, callback) { -    const socket = _net.default.connect(configuration.proxy.port, configuration.proxy.hostname); - -    callback(null, socket); -  } - -} - -var _default = HttpProxyAgent; -exports.default = _default; -//# sourceMappingURL=HttpProxyAgent.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/HttpProxyAgent.js.flow b/node_modules/global-agent/dist/classes/HttpProxyAgent.js.flow deleted file mode 100644 index 8b9b471..0000000 --- a/node_modules/global-agent/dist/classes/HttpProxyAgent.js.flow +++ /dev/null @@ -1,30 +0,0 @@ -// @flow - -import net from 'net'; -import type { -  ConnectionCallbackType, -  ConnectionConfigurationType, -} from '../types'; -import Agent from './Agent'; - -class HttpProxyAgent extends Agent { -  // @see https://github.com/sindresorhus/eslint-plugin-unicorn/issues/169#issuecomment-486980290 -  // eslint-disable-next-line unicorn/prevent-abbreviations -  constructor (...args: *) { -    super(...args); - -    this.protocol = 'http:'; -    this.defaultPort = 80; -  } - -  createConnection (configuration: ConnectionConfigurationType, callback: ConnectionCallbackType) { -    const socket = net.connect( -      configuration.proxy.port, -      configuration.proxy.hostname, -    ); - -    callback(null, socket); -  } -} - -export default HttpProxyAgent; diff --git a/node_modules/global-agent/dist/classes/HttpProxyAgent.js.map b/node_modules/global-agent/dist/classes/HttpProxyAgent.js.map deleted file mode 100644 index f2586b9..0000000 --- a/node_modules/global-agent/dist/classes/HttpProxyAgent.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/classes/HttpProxyAgent.js"],"names":["HttpProxyAgent","Agent","constructor","args","protocol","defaultPort","createConnection","configuration","callback","socket","net","connect","proxy","port","hostname"],"mappings":";;;;;;;AAEA;;AAKA;;;;AAEA,MAAMA,cAAN,SAA6BC,cAA7B,CAAmC;AACjC;AACA;AACAC,EAAAA,WAAW,CAAE,GAAGC,IAAL,EAAc;AACvB,UAAM,GAAGA,IAAT;AAEA,SAAKC,QAAL,GAAgB,OAAhB;AACA,SAAKC,WAAL,GAAmB,EAAnB;AACD;;AAEDC,EAAAA,gBAAgB,CAAEC,aAAF,EAA8CC,QAA9C,EAAgF;AAC9F,UAAMC,MAAM,GAAGC,aAAIC,OAAJ,CACbJ,aAAa,CAACK,KAAd,CAAoBC,IADP,EAEbN,aAAa,CAACK,KAAd,CAAoBE,QAFP,CAAf;;AAKAN,IAAAA,QAAQ,CAAC,IAAD,EAAOC,MAAP,CAAR;AACD;;AAjBgC;;eAoBpBT,c","sourcesContent":["// @flow\n\nimport net from 'net';\nimport type {\n  ConnectionCallbackType,\n  ConnectionConfigurationType,\n} from '../types';\nimport Agent from './Agent';\n\nclass HttpProxyAgent extends Agent {\n  // @see https://github.com/sindresorhus/eslint-plugin-unicorn/issues/169#issuecomment-486980290\n  // eslint-disable-next-line unicorn/prevent-abbreviations\n  constructor (...args: *) {\n    super(...args);\n\n    this.protocol = 'http:';\n    this.defaultPort = 80;\n  }\n\n  createConnection (configuration: ConnectionConfigurationType, callback: ConnectionCallbackType) {\n    const socket = net.connect(\n      configuration.proxy.port,\n      configuration.proxy.hostname,\n    );\n\n    callback(null, socket);\n  }\n}\n\nexport default HttpProxyAgent;\n"],"file":"HttpProxyAgent.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/HttpsProxyAgent.js b/node_modules/global-agent/dist/classes/HttpsProxyAgent.js deleted file mode 100644 index 1206ffa..0000000 --- a/node_modules/global-agent/dist/classes/HttpsProxyAgent.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _net = _interopRequireDefault(require("net")); - -var _tls = _interopRequireDefault(require("tls")); - -var _Agent = _interopRequireDefault(require("./Agent")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -class HttpsProxyAgent extends _Agent.default { -  // eslint-disable-next-line unicorn/prevent-abbreviations -  constructor(...args) { -    super(...args); -    this.protocol = 'https:'; -    this.defaultPort = 443; -  } - -  createConnection(configuration, callback) { -    const socket = _net.default.connect(configuration.proxy.port, configuration.proxy.hostname); - -    socket.on('error', error => { -      callback(error); -    }); -    socket.once('data', () => { -      const secureSocket = _tls.default.connect({ ...configuration.tls, -        socket -      }); - -      callback(null, secureSocket); -    }); -    let connectMessage = ''; -    connectMessage += 'CONNECT ' + configuration.host + ':' + configuration.port + ' HTTP/1.1\r\n'; -    connectMessage += 'Host: ' + configuration.host + ':' + configuration.port + '\r\n'; - -    if (configuration.proxy.authorization) { -      connectMessage += 'Proxy-Authorization: Basic ' + Buffer.from(configuration.proxy.authorization).toString('base64') + '\r\n'; -    } - -    connectMessage += '\r\n'; -    socket.write(connectMessage); -  } - -} - -var _default = HttpsProxyAgent; -exports.default = _default; -//# sourceMappingURL=HttpsProxyAgent.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/HttpsProxyAgent.js.flow b/node_modules/global-agent/dist/classes/HttpsProxyAgent.js.flow deleted file mode 100644 index 24d724f..0000000 --- a/node_modules/global-agent/dist/classes/HttpsProxyAgent.js.flow +++ /dev/null @@ -1,54 +0,0 @@ -// @flow - -import net from 'net'; -import tls from 'tls'; -import type { -  ConnectionCallbackType, -  ConnectionConfigurationType, -} from '../types'; -import Agent from './Agent'; - -class HttpsProxyAgent extends Agent { -  // eslint-disable-next-line unicorn/prevent-abbreviations -  constructor (...args: *) { -    super(...args); - -    this.protocol = 'https:'; -    this.defaultPort = 443; -  } - -  createConnection (configuration: ConnectionConfigurationType, callback: ConnectionCallbackType) { -    const socket = net.connect( -      configuration.proxy.port, -      configuration.proxy.hostname, -    ); - -    socket.on('error', (error) => { -      callback(error); -    }); - -    socket.once('data', () => { -      const secureSocket = tls.connect({ -        ...configuration.tls, -        socket, -      }); - -      callback(null, secureSocket); -    }); - -    let connectMessage = ''; - -    connectMessage += 'CONNECT ' + configuration.host + ':' + configuration.port + ' HTTP/1.1\r\n'; -    connectMessage += 'Host: ' + configuration.host + ':' + configuration.port + '\r\n'; - -    if (configuration.proxy.authorization) { -      connectMessage += 'Proxy-Authorization: Basic ' + Buffer.from(configuration.proxy.authorization).toString('base64') + '\r\n'; -    } - -    connectMessage += '\r\n'; - -    socket.write(connectMessage); -  } -} - -export default HttpsProxyAgent; diff --git a/node_modules/global-agent/dist/classes/HttpsProxyAgent.js.map b/node_modules/global-agent/dist/classes/HttpsProxyAgent.js.map deleted file mode 100644 index 0bad4a9..0000000 --- a/node_modules/global-agent/dist/classes/HttpsProxyAgent.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/classes/HttpsProxyAgent.js"],"names":["HttpsProxyAgent","Agent","constructor","args","protocol","defaultPort","createConnection","configuration","callback","socket","net","connect","proxy","port","hostname","on","error","once","secureSocket","tls","connectMessage","host","authorization","Buffer","from","toString","write"],"mappings":";;;;;;;AAEA;;AACA;;AAKA;;;;AAEA,MAAMA,eAAN,SAA8BC,cAA9B,CAAoC;AAClC;AACAC,EAAAA,WAAW,CAAE,GAAGC,IAAL,EAAc;AACvB,UAAM,GAAGA,IAAT;AAEA,SAAKC,QAAL,GAAgB,QAAhB;AACA,SAAKC,WAAL,GAAmB,GAAnB;AACD;;AAEDC,EAAAA,gBAAgB,CAAEC,aAAF,EAA8CC,QAA9C,EAAgF;AAC9F,UAAMC,MAAM,GAAGC,aAAIC,OAAJ,CACbJ,aAAa,CAACK,KAAd,CAAoBC,IADP,EAEbN,aAAa,CAACK,KAAd,CAAoBE,QAFP,CAAf;;AAKAL,IAAAA,MAAM,CAACM,EAAP,CAAU,OAAV,EAAoBC,KAAD,IAAW;AAC5BR,MAAAA,QAAQ,CAACQ,KAAD,CAAR;AACD,KAFD;AAIAP,IAAAA,MAAM,CAACQ,IAAP,CAAY,MAAZ,EAAoB,MAAM;AACxB,YAAMC,YAAY,GAAGC,aAAIR,OAAJ,CAAY,EAC/B,GAAGJ,aAAa,CAACY,GADc;AAE/BV,QAAAA;AAF+B,OAAZ,CAArB;;AAKAD,MAAAA,QAAQ,CAAC,IAAD,EAAOU,YAAP,CAAR;AACD,KAPD;AASA,QAAIE,cAAc,GAAG,EAArB;AAEAA,IAAAA,cAAc,IAAI,aAAab,aAAa,CAACc,IAA3B,GAAkC,GAAlC,GAAwCd,aAAa,CAACM,IAAtD,GAA6D,eAA/E;AACAO,IAAAA,cAAc,IAAI,WAAWb,aAAa,CAACc,IAAzB,GAAgC,GAAhC,GAAsCd,aAAa,CAACM,IAApD,GAA2D,MAA7E;;AAEA,QAAIN,aAAa,CAACK,KAAd,CAAoBU,aAAxB,EAAuC;AACrCF,MAAAA,cAAc,IAAI,gCAAgCG,MAAM,CAACC,IAAP,CAAYjB,aAAa,CAACK,KAAd,CAAoBU,aAAhC,EAA+CG,QAA/C,CAAwD,QAAxD,CAAhC,GAAoG,MAAtH;AACD;;AAEDL,IAAAA,cAAc,IAAI,MAAlB;AAEAX,IAAAA,MAAM,CAACiB,KAAP,CAAaN,cAAb;AACD;;AAxCiC;;eA2CrBpB,e","sourcesContent":["// @flow\n\nimport net from 'net';\nimport tls from 'tls';\nimport type {\n  ConnectionCallbackType,\n  ConnectionConfigurationType,\n} from '../types';\nimport Agent from './Agent';\n\nclass HttpsProxyAgent extends Agent {\n  // eslint-disable-next-line unicorn/prevent-abbreviations\n  constructor (...args: *) {\n    super(...args);\n\n    this.protocol = 'https:';\n    this.defaultPort = 443;\n  }\n\n  createConnection (configuration: ConnectionConfigurationType, callback: ConnectionCallbackType) {\n    const socket = net.connect(\n      configuration.proxy.port,\n      configuration.proxy.hostname,\n    );\n\n    socket.on('error', (error) => {\n      callback(error);\n    });\n\n    socket.once('data', () => {\n      const secureSocket = tls.connect({\n        ...configuration.tls,\n        socket,\n      });\n\n      callback(null, secureSocket);\n    });\n\n    let connectMessage = '';\n\n    connectMessage += 'CONNECT ' + configuration.host + ':' + configuration.port + ' HTTP/1.1\\r\\n';\n    connectMessage += 'Host: ' + configuration.host + ':' + configuration.port + '\\r\\n';\n\n    if (configuration.proxy.authorization) {\n      connectMessage += 'Proxy-Authorization: Basic ' + Buffer.from(configuration.proxy.authorization).toString('base64') + '\\r\\n';\n    }\n\n    connectMessage += '\\r\\n';\n\n    socket.write(connectMessage);\n  }\n}\n\nexport default HttpsProxyAgent;\n"],"file":"HttpsProxyAgent.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/index.js b/node_modules/global-agent/dist/classes/index.js deleted file mode 100644 index b3889d2..0000000 --- a/node_modules/global-agent/dist/classes/index.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -Object.defineProperty(exports, "Agent", { -  enumerable: true, -  get: function () { -    return _Agent.default; -  } -}); -Object.defineProperty(exports, "HttpProxyAgent", { -  enumerable: true, -  get: function () { -    return _HttpProxyAgent.default; -  } -}); -Object.defineProperty(exports, "HttpsProxyAgent", { -  enumerable: true, -  get: function () { -    return _HttpsProxyAgent.default; -  } -}); - -var _Agent = _interopRequireDefault(require("./Agent")); - -var _HttpProxyAgent = _interopRequireDefault(require("./HttpProxyAgent")); - -var _HttpsProxyAgent = _interopRequireDefault(require("./HttpsProxyAgent")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/classes/index.js.flow b/node_modules/global-agent/dist/classes/index.js.flow deleted file mode 100644 index 9e8418a..0000000 --- a/node_modules/global-agent/dist/classes/index.js.flow +++ /dev/null @@ -1,5 +0,0 @@ -// @flow - -export {default as Agent} from './Agent'; -export {default as HttpProxyAgent} from './HttpProxyAgent'; -export {default as HttpsProxyAgent} from './HttpsProxyAgent'; diff --git a/node_modules/global-agent/dist/classes/index.js.map b/node_modules/global-agent/dist/classes/index.js.map deleted file mode 100644 index 59a05bb..0000000 --- a/node_modules/global-agent/dist/classes/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/classes/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA","sourcesContent":["// @flow\n\nexport {default as Agent} from './Agent';\nexport {default as HttpProxyAgent} from './HttpProxyAgent';\nexport {default as HttpsProxyAgent} from './HttpsProxyAgent';\n"],"file":"index.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/errors.js b/node_modules/global-agent/dist/errors.js deleted file mode 100644 index 578d19e..0000000 --- a/node_modules/global-agent/dist/errors.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.UnexpectedStateError = void 0; - -var _es6Error = _interopRequireDefault(require("es6-error")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -/* eslint-disable fp/no-class, fp/no-this */ -class UnexpectedStateError extends _es6Error.default { -  constructor(message, code = 'UNEXPECTED_STATE_ERROR') { -    super(message); -    this.code = code; -  } - -} - -exports.UnexpectedStateError = UnexpectedStateError; -//# sourceMappingURL=errors.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/errors.js.flow b/node_modules/global-agent/dist/errors.js.flow deleted file mode 100644 index d93ba6f..0000000 --- a/node_modules/global-agent/dist/errors.js.flow +++ /dev/null @@ -1,15 +0,0 @@ -// @flow - -/* eslint-disable fp/no-class, fp/no-this */ - -import ExtendableError from 'es6-error'; - -export class UnexpectedStateError extends ExtendableError { -  code: string; - -  constructor (message: string, code: string = 'UNEXPECTED_STATE_ERROR') { -    super(message); - -    this.code = code; -  } -} diff --git a/node_modules/global-agent/dist/errors.js.map b/node_modules/global-agent/dist/errors.js.map deleted file mode 100644 index 7388bd1..0000000 --- a/node_modules/global-agent/dist/errors.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/errors.js"],"names":["UnexpectedStateError","ExtendableError","constructor","message","code"],"mappings":";;;;;;;AAIA;;;;AAFA;AAIO,MAAMA,oBAAN,SAAmCC,iBAAnC,CAAmD;AAGxDC,EAAAA,WAAW,CAAEC,OAAF,EAAmBC,IAAY,GAAG,wBAAlC,EAA4D;AACrE,UAAMD,OAAN;AAEA,SAAKC,IAAL,GAAYA,IAAZ;AACD;;AAPuD","sourcesContent":["// @flow\n\n/* eslint-disable fp/no-class, fp/no-this */\n\nimport ExtendableError from 'es6-error';\n\nexport class UnexpectedStateError extends ExtendableError {\n  code: string;\n\n  constructor (message: string, code: string = 'UNEXPECTED_STATE_ERROR') {\n    super(message);\n\n    this.code = code;\n  }\n}\n"],"file":"errors.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js b/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js deleted file mode 100644 index c87b9ed..0000000 --- a/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js +++ /dev/null @@ -1,175 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _http = _interopRequireDefault(require("http")); - -var _https = _interopRequireDefault(require("https")); - -var _boolean = require("boolean"); - -var _semver = _interopRequireDefault(require("semver")); - -var _Logger = _interopRequireDefault(require("../Logger")); - -var _classes = require("../classes"); - -var _errors = require("../errors"); - -var _utilities = require("../utilities"); - -var _createProxyController = _interopRequireDefault(require("./createProxyController")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const httpGet = _http.default.get; -const httpRequest = _http.default.request; -const httpsGet = _https.default.get; -const httpsRequest = _https.default.request; - -const log = _Logger.default.child({ -  namespace: 'createGlobalProxyAgent' -}); - -const defaultConfigurationInput = { -  environmentVariableNamespace: undefined, -  forceGlobalAgent: undefined, -  socketConnectionTimeout: 60000 -}; - -const omitUndefined = subject => { -  const keys = Object.keys(subject); -  const result = {}; - -  for (const key of keys) { -    const value = subject[key]; - -    if (value !== undefined) { -      result[key] = value; -    } -  } - -  return result; -}; - -const createConfiguration = configurationInput => { -  // eslint-disable-next-line no-process-env -  const environment = process.env; -  const defaultConfiguration = { -    environmentVariableNamespace: typeof environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE === 'string' ? environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE : 'GLOBAL_AGENT_', -    forceGlobalAgent: typeof environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT === 'string' ? (0, _boolean.boolean)(environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT) : true, -    socketConnectionTimeout: typeof environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT === 'string' ? Number.parseInt(environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT, 10) : defaultConfigurationInput.socketConnectionTimeout -  }; // $FlowFixMe - -  return { ...defaultConfiguration, -    ...omitUndefined(configurationInput) -  }; -}; - -const createGlobalProxyAgent = (configurationInput = defaultConfigurationInput) => { -  const configuration = createConfiguration(configurationInput); -  const proxyController = (0, _createProxyController.default)(); // eslint-disable-next-line no-process-env - -  proxyController.HTTP_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTP_PROXY'] || null; // eslint-disable-next-line no-process-env - -  proxyController.HTTPS_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTPS_PROXY'] || null; // eslint-disable-next-line no-process-env - -  proxyController.NO_PROXY = process.env[configuration.environmentVariableNamespace + 'NO_PROXY'] || null; -  log.info({ -    configuration, -    state: proxyController -  }, 'global agent has been initialized'); - -  const mustUrlUseProxy = getProxy => { -    return url => { -      if (!getProxy()) { -        return false; -      } - -      if (!proxyController.NO_PROXY) { -        return true; -      } - -      return !(0, _utilities.isUrlMatchingNoProxy)(url, proxyController.NO_PROXY); -    }; -  }; - -  const getUrlProxy = getProxy => { -    return () => { -      const proxy = getProxy(); - -      if (!proxy) { -        throw new _errors.UnexpectedStateError('HTTP(S) proxy must be configured.'); -      } - -      return (0, _utilities.parseProxyUrl)(proxy); -    }; -  }; - -  const getHttpProxy = () => { -    return proxyController.HTTP_PROXY; -  }; - -  const BoundHttpProxyAgent = class extends _classes.HttpProxyAgent { -    constructor() { -      super(() => { -        return getHttpProxy(); -      }, mustUrlUseProxy(getHttpProxy), getUrlProxy(getHttpProxy), _http.default.globalAgent, configuration.socketConnectionTimeout); -    } - -  }; -  const httpAgent = new BoundHttpProxyAgent(); - -  const getHttpsProxy = () => { -    return proxyController.HTTPS_PROXY || proxyController.HTTP_PROXY; -  }; - -  const BoundHttpsProxyAgent = class extends _classes.HttpsProxyAgent { -    constructor() { -      super(() => { -        return getHttpsProxy(); -      }, mustUrlUseProxy(getHttpsProxy), getUrlProxy(getHttpsProxy), _https.default.globalAgent, configuration.socketConnectionTimeout); -    } - -  }; -  const httpsAgent = new BoundHttpsProxyAgent(); // Overriding globalAgent was added in v11.7. -  // @see https://nodejs.org/uk/blog/release/v11.7.0/ - -  if (_semver.default.gte(process.version, 'v11.7.0')) { -    // @see https://github.com/facebook/flow/issues/7670 -    // $FlowFixMe -    _http.default.globalAgent = httpAgent; // $FlowFixMe - -    _https.default.globalAgent = httpsAgent; -  } // The reason this logic is used in addition to overriding http(s).globalAgent -  // is because there is no guarantee that we set http(s).globalAgent variable -  // before an instance of http(s).Agent has been already constructed by someone, -  // e.g. Stripe SDK creates instances of http(s).Agent at the top-level. -  // @see https://github.com/gajus/global-agent/pull/13 -  // -  // We still want to override http(s).globalAgent when possible to enable logic -  // in `bindHttpMethod`. - - -  if (_semver.default.gte(process.version, 'v10.0.0')) { -    // $FlowFixMe -    _http.default.get = (0, _utilities.bindHttpMethod)(httpGet, httpAgent, configuration.forceGlobalAgent); // $FlowFixMe - -    _http.default.request = (0, _utilities.bindHttpMethod)(httpRequest, httpAgent, configuration.forceGlobalAgent); // $FlowFixMe - -    _https.default.get = (0, _utilities.bindHttpMethod)(httpsGet, httpsAgent, configuration.forceGlobalAgent); // $FlowFixMe - -    _https.default.request = (0, _utilities.bindHttpMethod)(httpsRequest, httpsAgent, configuration.forceGlobalAgent); -  } else { -    log.warn('attempt to initialize global-agent in unsupported Node.js version was ignored'); -  } - -  return proxyController; -}; - -var _default = createGlobalProxyAgent; -exports.default = _default; -//# sourceMappingURL=createGlobalProxyAgent.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js.flow b/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js.flow deleted file mode 100644 index d515a9d..0000000 --- a/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js.flow +++ /dev/null @@ -1,197 +0,0 @@ -// @flow - -import http from 'http'; -import https from 'https'; -import { -  boolean as parseBoolean, -} from 'boolean'; -import semver from 'semver'; -import Logger from '../Logger'; -import { -  HttpProxyAgent, -  HttpsProxyAgent, -} from '../classes'; -import { -  UnexpectedStateError, -} from '../errors'; -import { -  bindHttpMethod, -  isUrlMatchingNoProxy, -  parseProxyUrl, -} from '../utilities'; -import type { -  ProxyAgentConfigurationInputType, -  ProxyAgentConfigurationType, -} from '../types'; -import createProxyController from './createProxyController'; - -const httpGet = http.get; -const httpRequest = http.request; -const httpsGet = https.get; -const httpsRequest = https.request; - -const log = Logger.child({ -  namespace: 'createGlobalProxyAgent', -}); - -const defaultConfigurationInput = { -  environmentVariableNamespace: undefined, -  forceGlobalAgent: undefined, -  socketConnectionTimeout: 60000, -}; - -const omitUndefined = (subject) => { -  const keys = Object.keys(subject); - -  const result = {}; - -  for (const key of keys) { -    const value = subject[key]; - -    if (value !== undefined) { -      result[key] = value; -    } -  } - -  return result; -}; - -const createConfiguration = (configurationInput: ProxyAgentConfigurationInputType): ProxyAgentConfigurationType => { -  // eslint-disable-next-line no-process-env -  const environment = process.env; - -  const defaultConfiguration = { -    environmentVariableNamespace: typeof environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE === 'string' ? environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE : 'GLOBAL_AGENT_', -    forceGlobalAgent: typeof environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT === 'string' ? parseBoolean(environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT) : true, -    socketConnectionTimeout: typeof environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT === 'string' ? Number.parseInt(environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT, 10) : defaultConfigurationInput.socketConnectionTimeout, -  }; - -  // $FlowFixMe -  return { -    ...defaultConfiguration, -    ...omitUndefined(configurationInput), -  }; -}; - -export default (configurationInput: ProxyAgentConfigurationInputType = defaultConfigurationInput) => { -  const configuration = createConfiguration(configurationInput); - -  const proxyController = createProxyController(); - -  // eslint-disable-next-line no-process-env -  proxyController.HTTP_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTP_PROXY'] || null; - -  // eslint-disable-next-line no-process-env -  proxyController.HTTPS_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTPS_PROXY'] || null; - -  // eslint-disable-next-line no-process-env -  proxyController.NO_PROXY = process.env[configuration.environmentVariableNamespace + 'NO_PROXY'] || null; - -  log.info({ -    configuration, -    state: proxyController, -  }, 'global agent has been initialized'); - -  const mustUrlUseProxy = (getProxy) => { -    return (url) => { -      if (!getProxy()) { -        return false; -      } - -      if (!proxyController.NO_PROXY) { -        return true; -      } - -      return !isUrlMatchingNoProxy(url, proxyController.NO_PROXY); -    }; -  }; - -  const getUrlProxy = (getProxy) => { -    return () => { -      const proxy = getProxy(); - -      if (!proxy) { -        throw new UnexpectedStateError('HTTP(S) proxy must be configured.'); -      } - -      return parseProxyUrl(proxy); -    }; -  }; - -  const getHttpProxy = () => { -    return proxyController.HTTP_PROXY; -  }; - -  const BoundHttpProxyAgent = class extends HttpProxyAgent { -    constructor () { -      super( -        () => { -          return getHttpProxy(); -        }, -        mustUrlUseProxy(getHttpProxy), -        getUrlProxy(getHttpProxy), -        http.globalAgent, -        configuration.socketConnectionTimeout, -      ); -    } -  }; - -  const httpAgent = new BoundHttpProxyAgent(); - -  const getHttpsProxy = () => { -    return proxyController.HTTPS_PROXY || proxyController.HTTP_PROXY; -  }; - -  const BoundHttpsProxyAgent = class extends HttpsProxyAgent { -    constructor () { -      super( -        () => { -          return getHttpsProxy(); -        }, -        mustUrlUseProxy(getHttpsProxy), -        getUrlProxy(getHttpsProxy), -        https.globalAgent, -        configuration.socketConnectionTimeout, -      ); -    } -  }; - -  const httpsAgent = new BoundHttpsProxyAgent(); - -  // Overriding globalAgent was added in v11.7. -  // @see https://nodejs.org/uk/blog/release/v11.7.0/ -  if (semver.gte(process.version, 'v11.7.0')) { -    // @see https://github.com/facebook/flow/issues/7670 -    // $FlowFixMe -    http.globalAgent = httpAgent; - -    // $FlowFixMe -    https.globalAgent = httpsAgent; -  } - -  // The reason this logic is used in addition to overriding http(s).globalAgent -  // is because there is no guarantee that we set http(s).globalAgent variable -  // before an instance of http(s).Agent has been already constructed by someone, -  // e.g. Stripe SDK creates instances of http(s).Agent at the top-level. -  // @see https://github.com/gajus/global-agent/pull/13 -  // -  // We still want to override http(s).globalAgent when possible to enable logic -  // in `bindHttpMethod`. -  if (semver.gte(process.version, 'v10.0.0')) { -    // $FlowFixMe -    http.get = bindHttpMethod(httpGet, httpAgent, configuration.forceGlobalAgent); - -    // $FlowFixMe -    http.request = bindHttpMethod(httpRequest, httpAgent, configuration.forceGlobalAgent); - -    // $FlowFixMe -    https.get = bindHttpMethod(httpsGet, httpsAgent, configuration.forceGlobalAgent); - -    // $FlowFixMe -    https.request = bindHttpMethod(httpsRequest, httpsAgent, configuration.forceGlobalAgent); -  } else { -    log.warn('attempt to initialize global-agent in unsupported Node.js version was ignored'); -  } - -  return proxyController; -}; diff --git a/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js.map b/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js.map deleted file mode 100644 index 00b69f9..0000000 --- a/node_modules/global-agent/dist/factories/createGlobalProxyAgent.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/factories/createGlobalProxyAgent.js"],"names":["httpGet","http","get","httpRequest","request","httpsGet","https","httpsRequest","log","Logger","child","namespace","defaultConfigurationInput","environmentVariableNamespace","undefined","forceGlobalAgent","socketConnectionTimeout","omitUndefined","subject","keys","Object","result","key","value","createConfiguration","configurationInput","environment","process","env","defaultConfiguration","GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE","GLOBAL_AGENT_FORCE_GLOBAL_AGENT","GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT","Number","parseInt","configuration","proxyController","HTTP_PROXY","HTTPS_PROXY","NO_PROXY","info","state","mustUrlUseProxy","getProxy","url","getUrlProxy","proxy","UnexpectedStateError","getHttpProxy","BoundHttpProxyAgent","HttpProxyAgent","constructor","globalAgent","httpAgent","getHttpsProxy","BoundHttpsProxyAgent","HttpsProxyAgent","httpsAgent","semver","gte","version","warn"],"mappings":";;;;;;;AAEA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AAIA;;AAGA;;AASA;;;;AAEA,MAAMA,OAAO,GAAGC,cAAKC,GAArB;AACA,MAAMC,WAAW,GAAGF,cAAKG,OAAzB;AACA,MAAMC,QAAQ,GAAGC,eAAMJ,GAAvB;AACA,MAAMK,YAAY,GAAGD,eAAMF,OAA3B;;AAEA,MAAMI,GAAG,GAAGC,gBAAOC,KAAP,CAAa;AACvBC,EAAAA,SAAS,EAAE;AADY,CAAb,CAAZ;;AAIA,MAAMC,yBAAyB,GAAG;AAChCC,EAAAA,4BAA4B,EAAEC,SADE;AAEhCC,EAAAA,gBAAgB,EAAED,SAFc;AAGhCE,EAAAA,uBAAuB,EAAE;AAHO,CAAlC;;AAMA,MAAMC,aAAa,GAAIC,OAAD,IAAa;AACjC,QAAMC,IAAI,GAAGC,MAAM,CAACD,IAAP,CAAYD,OAAZ,CAAb;AAEA,QAAMG,MAAM,GAAG,EAAf;;AAEA,OAAK,MAAMC,GAAX,IAAkBH,IAAlB,EAAwB;AACtB,UAAMI,KAAK,GAAGL,OAAO,CAACI,GAAD,CAArB;;AAEA,QAAIC,KAAK,KAAKT,SAAd,EAAyB;AACvBO,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcC,KAAd;AACD;AACF;;AAED,SAAOF,MAAP;AACD,CAdD;;AAgBA,MAAMG,mBAAmB,GAAIC,kBAAD,IAAuF;AACjH;AACA,QAAMC,WAAW,GAAGC,OAAO,CAACC,GAA5B;AAEA,QAAMC,oBAAoB,GAAG;AAC3BhB,IAAAA,4BAA4B,EAAE,OAAOa,WAAW,CAACI,2CAAnB,KAAmE,QAAnE,GAA8EJ,WAAW,CAACI,2CAA1F,GAAwI,eAD3I;AAE3Bf,IAAAA,gBAAgB,EAAE,OAAOW,WAAW,CAACK,+BAAnB,KAAuD,QAAvD,GAAkE,sBAAaL,WAAW,CAACK,+BAAzB,CAAlE,GAA8H,IAFrH;AAG3Bf,IAAAA,uBAAuB,EAAE,OAAOU,WAAW,CAACM,sCAAnB,KAA8D,QAA9D,GAAyEC,MAAM,CAACC,QAAP,CAAgBR,WAAW,CAACM,sCAA5B,EAAoE,EAApE,CAAzE,GAAmJpB,yBAAyB,CAACI;AAH3K,GAA7B,CAJiH,CAUjH;;AACA,SAAO,EACL,GAAGa,oBADE;AAEL,OAAGZ,aAAa,CAACQ,kBAAD;AAFX,GAAP;AAID,CAfD;;gCAiBgBA,kBAAoD,GAAGb,yB,KAA8B;AACnG,QAAMuB,aAAa,GAAGX,mBAAmB,CAACC,kBAAD,CAAzC;AAEA,QAAMW,eAAe,GAAG,qCAAxB,CAHmG,CAKnG;;AACAA,EAAAA,eAAe,CAACC,UAAhB,GAA6BV,OAAO,CAACC,GAAR,CAAYO,aAAa,CAACtB,4BAAd,GAA6C,YAAzD,KAA0E,IAAvG,CANmG,CAQnG;;AACAuB,EAAAA,eAAe,CAACE,WAAhB,GAA8BX,OAAO,CAACC,GAAR,CAAYO,aAAa,CAACtB,4BAAd,GAA6C,aAAzD,KAA2E,IAAzG,CATmG,CAWnG;;AACAuB,EAAAA,eAAe,CAACG,QAAhB,GAA2BZ,OAAO,CAACC,GAAR,CAAYO,aAAa,CAACtB,4BAAd,GAA6C,UAAzD,KAAwE,IAAnG;AAEAL,EAAAA,GAAG,CAACgC,IAAJ,CAAS;AACPL,IAAAA,aADO;AAEPM,IAAAA,KAAK,EAAEL;AAFA,GAAT,EAGG,mCAHH;;AAKA,QAAMM,eAAe,GAAIC,QAAD,IAAc;AACpC,WAAQC,GAAD,IAAS;AACd,UAAI,CAACD,QAAQ,EAAb,EAAiB;AACf,eAAO,KAAP;AACD;;AAED,UAAI,CAACP,eAAe,CAACG,QAArB,EAA+B;AAC7B,eAAO,IAAP;AACD;;AAED,aAAO,CAAC,qCAAqBK,GAArB,EAA0BR,eAAe,CAACG,QAA1C,CAAR;AACD,KAVD;AAWD,GAZD;;AAcA,QAAMM,WAAW,GAAIF,QAAD,IAAc;AAChC,WAAO,MAAM;AACX,YAAMG,KAAK,GAAGH,QAAQ,EAAtB;;AAEA,UAAI,CAACG,KAAL,EAAY;AACV,cAAM,IAAIC,4BAAJ,CAAyB,mCAAzB,CAAN;AACD;;AAED,aAAO,8BAAcD,KAAd,CAAP;AACD,KARD;AASD,GAVD;;AAYA,QAAME,YAAY,GAAG,MAAM;AACzB,WAAOZ,eAAe,CAACC,UAAvB;AACD,GAFD;;AAIA,QAAMY,mBAAmB,GAAG,cAAcC,uBAAd,CAA6B;AACvDC,IAAAA,WAAW,GAAI;AACb,YACE,MAAM;AACJ,eAAOH,YAAY,EAAnB;AACD,OAHH,EAIEN,eAAe,CAACM,YAAD,CAJjB,EAKEH,WAAW,CAACG,YAAD,CALb,EAME/C,cAAKmD,WANP,EAOEjB,aAAa,CAACnB,uBAPhB;AASD;;AAXsD,GAAzD;AAcA,QAAMqC,SAAS,GAAG,IAAIJ,mBAAJ,EAAlB;;AAEA,QAAMK,aAAa,GAAG,MAAM;AAC1B,WAAOlB,eAAe,CAACE,WAAhB,IAA+BF,eAAe,CAACC,UAAtD;AACD,GAFD;;AAIA,QAAMkB,oBAAoB,GAAG,cAAcC,wBAAd,CAA8B;AACzDL,IAAAA,WAAW,GAAI;AACb,YACE,MAAM;AACJ,eAAOG,aAAa,EAApB;AACD,OAHH,EAIEZ,eAAe,CAACY,aAAD,CAJjB,EAKET,WAAW,CAACS,aAAD,CALb,EAMEhD,eAAM8C,WANR,EAOEjB,aAAa,CAACnB,uBAPhB;AASD;;AAXwD,GAA3D;AAcA,QAAMyC,UAAU,GAAG,IAAIF,oBAAJ,EAAnB,CAnFmG,CAqFnG;AACA;;AACA,MAAIG,gBAAOC,GAAP,CAAWhC,OAAO,CAACiC,OAAnB,EAA4B,SAA5B,CAAJ,EAA4C;AAC1C;AACA;AACA3D,kBAAKmD,WAAL,GAAmBC,SAAnB,CAH0C,CAK1C;;AACA/C,mBAAM8C,WAAN,GAAoBK,UAApB;AACD,GA9FkG,CAgGnG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAIC,gBAAOC,GAAP,CAAWhC,OAAO,CAACiC,OAAnB,EAA4B,SAA5B,CAAJ,EAA4C;AAC1C;AACA3D,kBAAKC,GAAL,GAAW,+BAAeF,OAAf,EAAwBqD,SAAxB,EAAmClB,aAAa,CAACpB,gBAAjD,CAAX,CAF0C,CAI1C;;AACAd,kBAAKG,OAAL,GAAe,+BAAeD,WAAf,EAA4BkD,SAA5B,EAAuClB,aAAa,CAACpB,gBAArD,CAAf,CAL0C,CAO1C;;AACAT,mBAAMJ,GAAN,GAAY,+BAAeG,QAAf,EAAyBoD,UAAzB,EAAqCtB,aAAa,CAACpB,gBAAnD,CAAZ,CAR0C,CAU1C;;AACAT,mBAAMF,OAAN,GAAgB,+BAAeG,YAAf,EAA6BkD,UAA7B,EAAyCtB,aAAa,CAACpB,gBAAvD,CAAhB;AACD,GAZD,MAYO;AACLP,IAAAA,GAAG,CAACqD,IAAJ,CAAS,+EAAT;AACD;;AAED,SAAOzB,eAAP;AACD,C","sourcesContent":["// @flow\n\nimport http from 'http';\nimport https from 'https';\nimport {\n  boolean as parseBoolean,\n} from 'boolean';\nimport semver from 'semver';\nimport Logger from '../Logger';\nimport {\n  HttpProxyAgent,\n  HttpsProxyAgent,\n} from '../classes';\nimport {\n  UnexpectedStateError,\n} from '../errors';\nimport {\n  bindHttpMethod,\n  isUrlMatchingNoProxy,\n  parseProxyUrl,\n} from '../utilities';\nimport type {\n  ProxyAgentConfigurationInputType,\n  ProxyAgentConfigurationType,\n} from '../types';\nimport createProxyController from './createProxyController';\n\nconst httpGet = http.get;\nconst httpRequest = http.request;\nconst httpsGet = https.get;\nconst httpsRequest = https.request;\n\nconst log = Logger.child({\n  namespace: 'createGlobalProxyAgent',\n});\n\nconst defaultConfigurationInput = {\n  environmentVariableNamespace: undefined,\n  forceGlobalAgent: undefined,\n  socketConnectionTimeout: 60000,\n};\n\nconst omitUndefined = (subject) => {\n  const keys = Object.keys(subject);\n\n  const result = {};\n\n  for (const key of keys) {\n    const value = subject[key];\n\n    if (value !== undefined) {\n      result[key] = value;\n    }\n  }\n\n  return result;\n};\n\nconst createConfiguration = (configurationInput: ProxyAgentConfigurationInputType): ProxyAgentConfigurationType => {\n  // eslint-disable-next-line no-process-env\n  const environment = process.env;\n\n  const defaultConfiguration = {\n    environmentVariableNamespace: typeof environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE === 'string' ? environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE : 'GLOBAL_AGENT_',\n    forceGlobalAgent: typeof environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT === 'string' ? parseBoolean(environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT) : true,\n    socketConnectionTimeout: typeof environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT === 'string' ? Number.parseInt(environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT, 10) : defaultConfigurationInput.socketConnectionTimeout,\n  };\n\n  // $FlowFixMe\n  return {\n    ...defaultConfiguration,\n    ...omitUndefined(configurationInput),\n  };\n};\n\nexport default (configurationInput: ProxyAgentConfigurationInputType = defaultConfigurationInput) => {\n  const configuration = createConfiguration(configurationInput);\n\n  const proxyController = createProxyController();\n\n  // eslint-disable-next-line no-process-env\n  proxyController.HTTP_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTP_PROXY'] || null;\n\n  // eslint-disable-next-line no-process-env\n  proxyController.HTTPS_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTPS_PROXY'] || null;\n\n  // eslint-disable-next-line no-process-env\n  proxyController.NO_PROXY = process.env[configuration.environmentVariableNamespace + 'NO_PROXY'] || null;\n\n  log.info({\n    configuration,\n    state: proxyController,\n  }, 'global agent has been initialized');\n\n  const mustUrlUseProxy = (getProxy) => {\n    return (url) => {\n      if (!getProxy()) {\n        return false;\n      }\n\n      if (!proxyController.NO_PROXY) {\n        return true;\n      }\n\n      return !isUrlMatchingNoProxy(url, proxyController.NO_PROXY);\n    };\n  };\n\n  const getUrlProxy = (getProxy) => {\n    return () => {\n      const proxy = getProxy();\n\n      if (!proxy) {\n        throw new UnexpectedStateError('HTTP(S) proxy must be configured.');\n      }\n\n      return parseProxyUrl(proxy);\n    };\n  };\n\n  const getHttpProxy = () => {\n    return proxyController.HTTP_PROXY;\n  };\n\n  const BoundHttpProxyAgent = class extends HttpProxyAgent {\n    constructor () {\n      super(\n        () => {\n          return getHttpProxy();\n        },\n        mustUrlUseProxy(getHttpProxy),\n        getUrlProxy(getHttpProxy),\n        http.globalAgent,\n        configuration.socketConnectionTimeout,\n      );\n    }\n  };\n\n  const httpAgent = new BoundHttpProxyAgent();\n\n  const getHttpsProxy = () => {\n    return proxyController.HTTPS_PROXY || proxyController.HTTP_PROXY;\n  };\n\n  const BoundHttpsProxyAgent = class extends HttpsProxyAgent {\n    constructor () {\n      super(\n        () => {\n          return getHttpsProxy();\n        },\n        mustUrlUseProxy(getHttpsProxy),\n        getUrlProxy(getHttpsProxy),\n        https.globalAgent,\n        configuration.socketConnectionTimeout,\n      );\n    }\n  };\n\n  const httpsAgent = new BoundHttpsProxyAgent();\n\n  // Overriding globalAgent was added in v11.7.\n  // @see https://nodejs.org/uk/blog/release/v11.7.0/\n  if (semver.gte(process.version, 'v11.7.0')) {\n    // @see https://github.com/facebook/flow/issues/7670\n    // $FlowFixMe\n    http.globalAgent = httpAgent;\n\n    // $FlowFixMe\n    https.globalAgent = httpsAgent;\n  }\n\n  // The reason this logic is used in addition to overriding http(s).globalAgent\n  // is because there is no guarantee that we set http(s).globalAgent variable\n  // before an instance of http(s).Agent has been already constructed by someone,\n  // e.g. Stripe SDK creates instances of http(s).Agent at the top-level.\n  // @see https://github.com/gajus/global-agent/pull/13\n  //\n  // We still want to override http(s).globalAgent when possible to enable logic\n  // in `bindHttpMethod`.\n  if (semver.gte(process.version, 'v10.0.0')) {\n    // $FlowFixMe\n    http.get = bindHttpMethod(httpGet, httpAgent, configuration.forceGlobalAgent);\n\n    // $FlowFixMe\n    http.request = bindHttpMethod(httpRequest, httpAgent, configuration.forceGlobalAgent);\n\n    // $FlowFixMe\n    https.get = bindHttpMethod(httpsGet, httpsAgent, configuration.forceGlobalAgent);\n\n    // $FlowFixMe\n    https.request = bindHttpMethod(httpsRequest, httpsAgent, configuration.forceGlobalAgent);\n  } else {\n    log.warn('attempt to initialize global-agent in unsupported Node.js version was ignored');\n  }\n\n  return proxyController;\n};\n"],"file":"createGlobalProxyAgent.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/factories/createProxyController.js b/node_modules/global-agent/dist/factories/createProxyController.js deleted file mode 100644 index 7746081..0000000 --- a/node_modules/global-agent/dist/factories/createProxyController.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _Logger = _interopRequireDefault(require("../Logger")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const log = _Logger.default.child({ -  namespace: 'createProxyController' -}); - -const KNOWN_PROPERTY_NAMES = ['HTTP_PROXY', 'HTTPS_PROXY', 'NO_PROXY']; - -const createProxyController = () => { -  // eslint-disable-next-line fp/no-proxy -  return new Proxy({ -    HTTP_PROXY: null, -    HTTPS_PROXY: null, -    NO_PROXY: null -  }, { -    set: (subject, name, value) => { -      if (!KNOWN_PROPERTY_NAMES.includes(name)) { -        throw new Error('Cannot set an unmapped property "' + name + '".'); -      } - -      subject[name] = value; -      log.info({ -        change: { -          name, -          value -        }, -        newConfiguration: subject -      }, 'configuration changed'); -      return true; -    } -  }); -}; - -var _default = createProxyController; -exports.default = _default; -//# sourceMappingURL=createProxyController.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/factories/createProxyController.js.flow b/node_modules/global-agent/dist/factories/createProxyController.js.flow deleted file mode 100644 index 5805ec8..0000000 --- a/node_modules/global-agent/dist/factories/createProxyController.js.flow +++ /dev/null @@ -1,46 +0,0 @@ -// @flow - -import Logger from '../Logger'; - -type ProxyControllerType = {| -  HTTP_PROXY: string | null, -  HTTPS_PROXY: string | null, -  NO_PROXY: string | null, -|}; - -const log = Logger.child({ -  namespace: 'createProxyController', -}); - -const KNOWN_PROPERTY_NAMES = [ -  'HTTP_PROXY', -  'HTTPS_PROXY', -  'NO_PROXY', -]; - -export default (): ProxyControllerType => { -  // eslint-disable-next-line fp/no-proxy -  return new Proxy({ -    HTTP_PROXY: null, -    HTTPS_PROXY: null, -    NO_PROXY: null, -  }, { -    set: (subject, name, value) => { -      if (!KNOWN_PROPERTY_NAMES.includes(name)) { -        throw new Error('Cannot set an unmapped property "' + name + '".'); -      } - -      subject[name] = value; - -      log.info({ -        change: { -          name, -          value, -        }, -        newConfiguration: subject, -      }, 'configuration changed'); - -      return true; -    }, -  }); -}; diff --git a/node_modules/global-agent/dist/factories/createProxyController.js.map b/node_modules/global-agent/dist/factories/createProxyController.js.map deleted file mode 100644 index da7b0e7..0000000 --- a/node_modules/global-agent/dist/factories/createProxyController.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/factories/createProxyController.js"],"names":["log","Logger","child","namespace","KNOWN_PROPERTY_NAMES","Proxy","HTTP_PROXY","HTTPS_PROXY","NO_PROXY","set","subject","name","value","includes","Error","info","change","newConfiguration"],"mappings":";;;;;;;AAEA;;;;AAQA,MAAMA,GAAG,GAAGC,gBAAOC,KAAP,CAAa;AACvBC,EAAAA,SAAS,EAAE;AADY,CAAb,CAAZ;;AAIA,MAAMC,oBAAoB,GAAG,CAC3B,YAD2B,EAE3B,aAF2B,EAG3B,UAH2B,CAA7B;;oCAM0C;AACxC;AACA,SAAO,IAAIC,KAAJ,CAAU;AACfC,IAAAA,UAAU,EAAE,IADG;AAEfC,IAAAA,WAAW,EAAE,IAFE;AAGfC,IAAAA,QAAQ,EAAE;AAHK,GAAV,EAIJ;AACDC,IAAAA,GAAG,EAAE,CAACC,OAAD,EAAUC,IAAV,EAAgBC,KAAhB,KAA0B;AAC7B,UAAI,CAACR,oBAAoB,CAACS,QAArB,CAA8BF,IAA9B,CAAL,EAA0C;AACxC,cAAM,IAAIG,KAAJ,CAAU,sCAAsCH,IAAtC,GAA6C,IAAvD,CAAN;AACD;;AAEDD,MAAAA,OAAO,CAACC,IAAD,CAAP,GAAgBC,KAAhB;AAEAZ,MAAAA,GAAG,CAACe,IAAJ,CAAS;AACPC,QAAAA,MAAM,EAAE;AACNL,UAAAA,IADM;AAENC,UAAAA;AAFM,SADD;AAKPK,QAAAA,gBAAgB,EAAEP;AALX,OAAT,EAMG,uBANH;AAQA,aAAO,IAAP;AACD;AAjBA,GAJI,CAAP;AAuBD,C","sourcesContent":["// @flow\n\nimport Logger from '../Logger';\n\ntype ProxyControllerType = {|\n  HTTP_PROXY: string | null,\n  HTTPS_PROXY: string | null,\n  NO_PROXY: string | null,\n|};\n\nconst log = Logger.child({\n  namespace: 'createProxyController',\n});\n\nconst KNOWN_PROPERTY_NAMES = [\n  'HTTP_PROXY',\n  'HTTPS_PROXY',\n  'NO_PROXY',\n];\n\nexport default (): ProxyControllerType => {\n  // eslint-disable-next-line fp/no-proxy\n  return new Proxy({\n    HTTP_PROXY: null,\n    HTTPS_PROXY: null,\n    NO_PROXY: null,\n  }, {\n    set: (subject, name, value) => {\n      if (!KNOWN_PROPERTY_NAMES.includes(name)) {\n        throw new Error('Cannot set an unmapped property \"' + name + '\".');\n      }\n\n      subject[name] = value;\n\n      log.info({\n        change: {\n          name,\n          value,\n        },\n        newConfiguration: subject,\n      }, 'configuration changed');\n\n      return true;\n    },\n  });\n};\n"],"file":"createProxyController.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/factories/index.js b/node_modules/global-agent/dist/factories/index.js deleted file mode 100644 index 3193022..0000000 --- a/node_modules/global-agent/dist/factories/index.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -Object.defineProperty(exports, "createGlobalProxyAgent", { -  enumerable: true, -  get: function () { -    return _createGlobalProxyAgent.default; -  } -}); -Object.defineProperty(exports, "createProxyController", { -  enumerable: true, -  get: function () { -    return _createProxyController.default; -  } -}); - -var _createGlobalProxyAgent = _interopRequireDefault(require("./createGlobalProxyAgent")); - -var _createProxyController = _interopRequireDefault(require("./createProxyController")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/factories/index.js.flow b/node_modules/global-agent/dist/factories/index.js.flow deleted file mode 100644 index c16eca6..0000000 --- a/node_modules/global-agent/dist/factories/index.js.flow +++ /dev/null @@ -1,4 +0,0 @@ -// @flow - -export {default as createGlobalProxyAgent} from './createGlobalProxyAgent'; -export {default as createProxyController} from './createProxyController'; diff --git a/node_modules/global-agent/dist/factories/index.js.map b/node_modules/global-agent/dist/factories/index.js.map deleted file mode 100644 index 2e61240..0000000 --- a/node_modules/global-agent/dist/factories/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/factories/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;;AACA","sourcesContent":["// @flow\n\nexport {default as createGlobalProxyAgent} from './createGlobalProxyAgent';\nexport {default as createProxyController} from './createProxyController';\n"],"file":"index.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/index.js b/node_modules/global-agent/dist/index.js deleted file mode 100644 index 242a88a..0000000 --- a/node_modules/global-agent/dist/index.js +++ /dev/null @@ -1,22 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -Object.defineProperty(exports, "bootstrap", { -  enumerable: true, -  get: function () { -    return _routines.bootstrap; -  } -}); -Object.defineProperty(exports, "createGlobalProxyAgent", { -  enumerable: true, -  get: function () { -    return _factories.createGlobalProxyAgent; -  } -}); - -var _routines = require("./routines"); - -var _factories = require("./factories"); -//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/index.js.flow b/node_modules/global-agent/dist/index.js.flow deleted file mode 100644 index 14da1ba..0000000 --- a/node_modules/global-agent/dist/index.js.flow +++ /dev/null @@ -1,4 +0,0 @@ -// @flow - -export {bootstrap} from './routines'; -export {createGlobalProxyAgent} from './factories'; diff --git a/node_modules/global-agent/dist/index.js.map b/node_modules/global-agent/dist/index.js.map deleted file mode 100644 index 42901df..0000000 --- a/node_modules/global-agent/dist/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;;AACA","sourcesContent":["// @flow\n\nexport {bootstrap} from './routines';\nexport {createGlobalProxyAgent} from './factories';\n"],"file":"index.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/routines/bootstrap.js b/node_modules/global-agent/dist/routines/bootstrap.js deleted file mode 100644 index 444df53..0000000 --- a/node_modules/global-agent/dist/routines/bootstrap.js +++ /dev/null @@ -1,30 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _Logger = _interopRequireDefault(require("../Logger")); - -var _factories = require("../factories"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const log = _Logger.default.child({ -  namespace: 'bootstrap' -}); - -const bootstrap = configurationInput => { -  if (global.GLOBAL_AGENT) { -    log.warn('found global.GLOBAL_AGENT; second attempt to bootstrap global-agent was ignored'); -    return false; -  } - -  global.GLOBAL_AGENT = (0, _factories.createGlobalProxyAgent)(configurationInput); -  return true; -}; - -var _default = bootstrap; -exports.default = _default; -//# sourceMappingURL=bootstrap.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/routines/bootstrap.js.flow b/node_modules/global-agent/dist/routines/bootstrap.js.flow deleted file mode 100644 index 038feb3..0000000 --- a/node_modules/global-agent/dist/routines/bootstrap.js.flow +++ /dev/null @@ -1,25 +0,0 @@ -// @flow - -import Logger from '../Logger'; -import { -  createGlobalProxyAgent, -} from '../factories'; -import type { -  ProxyAgentConfigurationInputType, -} from '../types'; - -const log = Logger.child({ -  namespace: 'bootstrap', -}); - -export default (configurationInput?: ProxyAgentConfigurationInputType): boolean => { -  if (global.GLOBAL_AGENT) { -    log.warn('found global.GLOBAL_AGENT; second attempt to bootstrap global-agent was ignored'); - -    return false; -  } - -  global.GLOBAL_AGENT = createGlobalProxyAgent(configurationInput); - -  return true; -}; diff --git a/node_modules/global-agent/dist/routines/bootstrap.js.map b/node_modules/global-agent/dist/routines/bootstrap.js.map deleted file mode 100644 index 84bbf79..0000000 --- a/node_modules/global-agent/dist/routines/bootstrap.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/routines/bootstrap.js"],"names":["log","Logger","child","namespace","configurationInput","global","GLOBAL_AGENT","warn"],"mappings":";;;;;;;AAEA;;AACA;;;;AAOA,MAAMA,GAAG,GAAGC,gBAAOC,KAAP,CAAa;AACvBC,EAAAA,SAAS,EAAE;AADY,CAAb,CAAZ;;kBAIgBC,kB,IAAmE;AACjF,MAAIC,MAAM,CAACC,YAAX,EAAyB;AACvBN,IAAAA,GAAG,CAACO,IAAJ,CAAS,iFAAT;AAEA,WAAO,KAAP;AACD;;AAEDF,EAAAA,MAAM,CAACC,YAAP,GAAsB,uCAAuBF,kBAAvB,CAAtB;AAEA,SAAO,IAAP;AACD,C","sourcesContent":["// @flow\n\nimport Logger from '../Logger';\nimport {\n  createGlobalProxyAgent,\n} from '../factories';\nimport type {\n  ProxyAgentConfigurationInputType,\n} from '../types';\n\nconst log = Logger.child({\n  namespace: 'bootstrap',\n});\n\nexport default (configurationInput?: ProxyAgentConfigurationInputType): boolean => {\n  if (global.GLOBAL_AGENT) {\n    log.warn('found global.GLOBAL_AGENT; second attempt to bootstrap global-agent was ignored');\n\n    return false;\n  }\n\n  global.GLOBAL_AGENT = createGlobalProxyAgent(configurationInput);\n\n  return true;\n};\n"],"file":"bootstrap.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/routines/index.js b/node_modules/global-agent/dist/routines/index.js deleted file mode 100644 index 2ae1be2..0000000 --- a/node_modules/global-agent/dist/routines/index.js +++ /dev/null @@ -1,16 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -Object.defineProperty(exports, "bootstrap", { -  enumerable: true, -  get: function () { -    return _bootstrap.default; -  } -}); - -var _bootstrap = _interopRequireDefault(require("./bootstrap")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/routines/index.js.flow b/node_modules/global-agent/dist/routines/index.js.flow deleted file mode 100644 index e47a8a0..0000000 --- a/node_modules/global-agent/dist/routines/index.js.flow +++ /dev/null @@ -1,3 +0,0 @@ -// @flow - -export {default as bootstrap} from './bootstrap'; diff --git a/node_modules/global-agent/dist/routines/index.js.map b/node_modules/global-agent/dist/routines/index.js.map deleted file mode 100644 index 97295d9..0000000 --- a/node_modules/global-agent/dist/routines/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/routines/index.js"],"names":[],"mappings":";;;;;;;;;;;;AAEA","sourcesContent":["// @flow\n\nexport {default as bootstrap} from './bootstrap';\n"],"file":"index.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/types.js b/node_modules/global-agent/dist/types.js deleted file mode 100644 index fb07a95..0000000 --- a/node_modules/global-agent/dist/types.js +++ /dev/null @@ -1,10 +0,0 @@ -"use strict"; - -var _net = require("net"); - -var _tls = require("tls"); - -var _http = require("http"); - -var _https = require("https"); -//# sourceMappingURL=types.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/types.js.flow b/node_modules/global-agent/dist/types.js.flow deleted file mode 100644 index e2f1a99..0000000 --- a/node_modules/global-agent/dist/types.js.flow +++ /dev/null @@ -1,66 +0,0 @@ -// @flow - -import { -  Socket, -} from 'net'; -import { -  TLSSocket, -} from 'tls'; -import { -  Agent as HttpAgent, -} from 'http'; -import { -  Agent as HttpsAgent, -} from 'https'; - -export type ProxyConfigurationType = {| -  +authorization: string, -  +hostname: string, -  +port: number, -|}; - -export type TlsConfigurationType = {| -  +ca?: string, -  +cert?: string, -  +ciphers?: string, -  +clientCertEngine?: string, -  +crl?: string, -  +dhparam?: string, -  +ecdhCurve?: string, -  +honorCipherOrder?: boolean, -  +key?: string, -  +passphrase?: string, -  +pfx?: string, -  +rejectUnauthorized?: boolean, -  +secureOptions?: number, -  +secureProtocol?: string, -  +servername?: string, -  +sessionIdContext?: string, -|}; - -export type ConnectionConfigurationType = {| -  +host: string, -  +port: number, -  +tls?: TlsConfigurationType, -  +proxy: ProxyConfigurationType, -|}; - -export type ConnectionCallbackType = (error: Error | null, socket?: Socket | TLSSocket) => void; - -export type AgentType = HttpAgent | HttpsAgent; -export type IsProxyConfiguredMethodType = () => boolean; -export type MustUrlUseProxyMethodType = (url: string) => boolean; -export type GetUrlProxyMethodType = (url: string) => ProxyConfigurationType; -export type ProtocolType = 'http:' | 'https:'; - -export type ProxyAgentConfigurationInputType = {| -  +environmentVariableNamespace?: string, -  +forceGlobalAgent?: boolean, -  +socketConnectionTimeout?: number, -|}; - -export type ProxyAgentConfigurationType = {| -  +environmentVariableNamespace: string, -  +forceGlobalAgent: boolean, -  +socketConnectionTimeout: number, -|}; diff --git a/node_modules/global-agent/dist/types.js.map b/node_modules/global-agent/dist/types.js.map deleted file mode 100644 index 46e65bc..0000000 --- a/node_modules/global-agent/dist/types.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/types.js"],"names":[],"mappings":";;AAEA;;AAGA;;AAGA;;AAGA","sourcesContent":["// @flow\n\nimport {\n  Socket,\n} from 'net';\nimport {\n  TLSSocket,\n} from 'tls';\nimport {\n  Agent as HttpAgent,\n} from 'http';\nimport {\n  Agent as HttpsAgent,\n} from 'https';\n\nexport type ProxyConfigurationType = {|\n  +authorization: string,\n  +hostname: string,\n  +port: number,\n|};\n\nexport type TlsConfigurationType = {|\n  +ca?: string,\n  +cert?: string,\n  +ciphers?: string,\n  +clientCertEngine?: string,\n  +crl?: string,\n  +dhparam?: string,\n  +ecdhCurve?: string,\n  +honorCipherOrder?: boolean,\n  +key?: string,\n  +passphrase?: string,\n  +pfx?: string,\n  +rejectUnauthorized?: boolean,\n  +secureOptions?: number,\n  +secureProtocol?: string,\n  +servername?: string,\n  +sessionIdContext?: string,\n|};\n\nexport type ConnectionConfigurationType = {|\n  +host: string,\n  +port: number,\n  +tls?: TlsConfigurationType,\n  +proxy: ProxyConfigurationType,\n|};\n\nexport type ConnectionCallbackType = (error: Error | null, socket?: Socket | TLSSocket) => void;\n\nexport type AgentType = HttpAgent | HttpsAgent;\nexport type IsProxyConfiguredMethodType = () => boolean;\nexport type MustUrlUseProxyMethodType = (url: string) => boolean;\nexport type GetUrlProxyMethodType = (url: string) => ProxyConfigurationType;\nexport type ProtocolType = 'http:' | 'https:';\n\nexport type ProxyAgentConfigurationInputType = {|\n  +environmentVariableNamespace?: string,\n  +forceGlobalAgent?: boolean,\n  +socketConnectionTimeout?: number,\n|};\n\nexport type ProxyAgentConfigurationType = {|\n  +environmentVariableNamespace: string,\n  +forceGlobalAgent: boolean,\n  +socketConnectionTimeout: number,\n|};\n"],"file":"types.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/bindHttpMethod.js b/node_modules/global-agent/dist/utilities/bindHttpMethod.js deleted file mode 100644 index 4ce571a..0000000 --- a/node_modules/global-agent/dist/utilities/bindHttpMethod.js +++ /dev/null @@ -1,62 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _http = _interopRequireDefault(require("http")); - -var _https = _interopRequireDefault(require("https")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -// eslint-disable-next-line flowtype/no-weak-types -const bindHttpMethod = (originalMethod, agent, forceGlobalAgent) => { -  // eslint-disable-next-line unicorn/prevent-abbreviations -  return (...args) => { -    let url; -    let options; -    let callback; - -    if (typeof args[0] === 'string' || args[0] instanceof URL) { -      url = args[0]; - -      if (typeof args[1] === 'function') { -        options = {}; -        callback = args[1]; -      } else { -        options = { ...args[1] -        }; -        callback = args[2]; -      } -    } else { -      options = { ...args[0] -      }; -      callback = args[1]; -    } - -    if (forceGlobalAgent) { -      options.agent = agent; -    } else { -      if (!options.agent) { -        options.agent = agent; -      } - -      if (options.agent === _http.default.globalAgent || options.agent === _https.default.globalAgent) { -        options.agent = agent; -      } -    } - -    if (url) { -      // $FlowFixMe -      return originalMethod(url, options, callback); -    } else { -      return originalMethod(options, callback); -    } -  }; -}; - -var _default = bindHttpMethod; -exports.default = _default; -//# sourceMappingURL=bindHttpMethod.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/bindHttpMethod.js.flow b/node_modules/global-agent/dist/utilities/bindHttpMethod.js.flow deleted file mode 100644 index f8859b5..0000000 --- a/node_modules/global-agent/dist/utilities/bindHttpMethod.js.flow +++ /dev/null @@ -1,54 +0,0 @@ -// @flow - -import http from 'http'; -import https from 'https'; - -type AgentType = http.Agent | https.Agent; - -// eslint-disable-next-line flowtype/no-weak-types -export default (originalMethod: Function, agent: AgentType, forceGlobalAgent: boolean) => { -  // eslint-disable-next-line unicorn/prevent-abbreviations -  return (...args: *) => { -    let url; -    let options; -    let callback; - -    if (typeof args[0] === 'string' || args[0] instanceof URL) { -      url = args[0]; - -      if (typeof args[1] === 'function') { -        options = {}; -        callback = args[1]; -      } else { -        options = { -          ...args[1], -        }; -        callback = args[2]; -      } -    } else { -      options = { -        ...args[0], -      }; -      callback = args[1]; -    } - -    if (forceGlobalAgent) { -      options.agent = agent; -    } else { -      if (!options.agent) { -        options.agent = agent; -      } - -      if (options.agent === http.globalAgent || options.agent === https.globalAgent) { -        options.agent = agent; -      } -    } - -    if (url) { -      // $FlowFixMe -      return originalMethod(url, options, callback); -    } else { -      return originalMethod(options, callback); -    } -  }; -}; diff --git a/node_modules/global-agent/dist/utilities/bindHttpMethod.js.map b/node_modules/global-agent/dist/utilities/bindHttpMethod.js.map deleted file mode 100644 index 0d49171..0000000 --- a/node_modules/global-agent/dist/utilities/bindHttpMethod.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/utilities/bindHttpMethod.js"],"names":["originalMethod","agent","forceGlobalAgent","args","url","options","callback","URL","http","globalAgent","https"],"mappings":";;;;;;;AAEA;;AACA;;;;AAIA;wBACgBA,c,EAA0BC,K,EAAkBC,gB,KAA8B;AACxF;AACA,SAAO,CAAC,GAAGC,IAAJ,KAAgB;AACrB,QAAIC,GAAJ;AACA,QAAIC,OAAJ;AACA,QAAIC,QAAJ;;AAEA,QAAI,OAAOH,IAAI,CAAC,CAAD,CAAX,KAAmB,QAAnB,IAA+BA,IAAI,CAAC,CAAD,CAAJ,YAAmBI,GAAtD,EAA2D;AACzDH,MAAAA,GAAG,GAAGD,IAAI,CAAC,CAAD,CAAV;;AAEA,UAAI,OAAOA,IAAI,CAAC,CAAD,CAAX,KAAmB,UAAvB,EAAmC;AACjCE,QAAAA,OAAO,GAAG,EAAV;AACAC,QAAAA,QAAQ,GAAGH,IAAI,CAAC,CAAD,CAAf;AACD,OAHD,MAGO;AACLE,QAAAA,OAAO,GAAG,EACR,GAAGF,IAAI,CAAC,CAAD;AADC,SAAV;AAGAG,QAAAA,QAAQ,GAAGH,IAAI,CAAC,CAAD,CAAf;AACD;AACF,KAZD,MAYO;AACLE,MAAAA,OAAO,GAAG,EACR,GAAGF,IAAI,CAAC,CAAD;AADC,OAAV;AAGAG,MAAAA,QAAQ,GAAGH,IAAI,CAAC,CAAD,CAAf;AACD;;AAED,QAAID,gBAAJ,EAAsB;AACpBG,MAAAA,OAAO,CAACJ,KAAR,GAAgBA,KAAhB;AACD,KAFD,MAEO;AACL,UAAI,CAACI,OAAO,CAACJ,KAAb,EAAoB;AAClBI,QAAAA,OAAO,CAACJ,KAAR,GAAgBA,KAAhB;AACD;;AAED,UAAII,OAAO,CAACJ,KAAR,KAAkBO,cAAKC,WAAvB,IAAsCJ,OAAO,CAACJ,KAAR,KAAkBS,eAAMD,WAAlE,EAA+E;AAC7EJ,QAAAA,OAAO,CAACJ,KAAR,GAAgBA,KAAhB;AACD;AACF;;AAED,QAAIG,GAAJ,EAAS;AACP;AACA,aAAOJ,cAAc,CAACI,GAAD,EAAMC,OAAN,EAAeC,QAAf,CAArB;AACD,KAHD,MAGO;AACL,aAAON,cAAc,CAACK,OAAD,EAAUC,QAAV,CAArB;AACD;AACF,GA1CD;AA2CD,C","sourcesContent":["// @flow\n\nimport http from 'http';\nimport https from 'https';\n\ntype AgentType = http.Agent | https.Agent;\n\n// eslint-disable-next-line flowtype/no-weak-types\nexport default (originalMethod: Function, agent: AgentType, forceGlobalAgent: boolean) => {\n  // eslint-disable-next-line unicorn/prevent-abbreviations\n  return (...args: *) => {\n    let url;\n    let options;\n    let callback;\n\n    if (typeof args[0] === 'string' || args[0] instanceof URL) {\n      url = args[0];\n\n      if (typeof args[1] === 'function') {\n        options = {};\n        callback = args[1];\n      } else {\n        options = {\n          ...args[1],\n        };\n        callback = args[2];\n      }\n    } else {\n      options = {\n        ...args[0],\n      };\n      callback = args[1];\n    }\n\n    if (forceGlobalAgent) {\n      options.agent = agent;\n    } else {\n      if (!options.agent) {\n        options.agent = agent;\n      }\n\n      if (options.agent === http.globalAgent || options.agent === https.globalAgent) {\n        options.agent = agent;\n      }\n    }\n\n    if (url) {\n      // $FlowFixMe\n      return originalMethod(url, options, callback);\n    } else {\n      return originalMethod(options, callback);\n    }\n  };\n};\n"],"file":"bindHttpMethod.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/index.js b/node_modules/global-agent/dist/utilities/index.js deleted file mode 100644 index 5b9ff43..0000000 --- a/node_modules/global-agent/dist/utilities/index.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -Object.defineProperty(exports, "bindHttpMethod", { -  enumerable: true, -  get: function () { -    return _bindHttpMethod.default; -  } -}); -Object.defineProperty(exports, "isUrlMatchingNoProxy", { -  enumerable: true, -  get: function () { -    return _isUrlMatchingNoProxy.default; -  } -}); -Object.defineProperty(exports, "parseProxyUrl", { -  enumerable: true, -  get: function () { -    return _parseProxyUrl.default; -  } -}); - -var _bindHttpMethod = _interopRequireDefault(require("./bindHttpMethod")); - -var _isUrlMatchingNoProxy = _interopRequireDefault(require("./isUrlMatchingNoProxy")); - -var _parseProxyUrl = _interopRequireDefault(require("./parseProxyUrl")); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } -//# sourceMappingURL=index.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/index.js.flow b/node_modules/global-agent/dist/utilities/index.js.flow deleted file mode 100644 index 3412387..0000000 --- a/node_modules/global-agent/dist/utilities/index.js.flow +++ /dev/null @@ -1,5 +0,0 @@ -// @flow - -export {default as bindHttpMethod} from './bindHttpMethod'; -export {default as isUrlMatchingNoProxy} from './isUrlMatchingNoProxy'; -export {default as parseProxyUrl} from './parseProxyUrl'; diff --git a/node_modules/global-agent/dist/utilities/index.js.map b/node_modules/global-agent/dist/utilities/index.js.map deleted file mode 100644 index 6861a5a..0000000 --- a/node_modules/global-agent/dist/utilities/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/utilities/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA;;AACA;;AACA","sourcesContent":["// @flow\n\nexport {default as bindHttpMethod} from './bindHttpMethod';\nexport {default as isUrlMatchingNoProxy} from './isUrlMatchingNoProxy';\nexport {default as parseProxyUrl} from './parseProxyUrl';\n"],"file":"index.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js b/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js deleted file mode 100644 index 92a3436..0000000 --- a/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js +++ /dev/null @@ -1,43 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _url = require("url"); - -var _matcher = _interopRequireDefault(require("matcher")); - -var _errors = require("../errors"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -const isUrlMatchingNoProxy = (subjectUrl, noProxy) => { -  const subjectUrlTokens = (0, _url.parse)(subjectUrl); -  const rules = noProxy.split(/[\s,]+/); - -  for (const rule of rules) { -    const ruleMatch = rule.replace(/^(?<leadingDot>\.)/, '*').match(/^(?<hostname>.+?)(?::(?<port>\d+))?$/); - -    if (!ruleMatch || !ruleMatch.groups) { -      throw new _errors.UnexpectedStateError('Invalid NO_PROXY pattern.'); -    } - -    if (!ruleMatch.groups.hostname) { -      throw new _errors.UnexpectedStateError('NO_PROXY entry pattern must include hostname. Use * to match any hostname.'); -    } - -    const hostnameIsMatch = _matcher.default.isMatch(subjectUrlTokens.hostname, ruleMatch.groups.hostname); - -    if (hostnameIsMatch && (!ruleMatch.groups || !ruleMatch.groups.port || subjectUrlTokens.port && subjectUrlTokens.port === ruleMatch.groups.port)) { -      return true; -    } -  } - -  return false; -}; - -var _default = isUrlMatchingNoProxy; -exports.default = _default; -//# sourceMappingURL=isUrlMatchingNoProxy.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js.flow b/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js.flow deleted file mode 100644 index f2de584..0000000 --- a/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js.flow +++ /dev/null @@ -1,37 +0,0 @@ -// @flow - -import { -  parse as parseUrl, -} from 'url'; -import matcher from 'matcher'; -import { -  UnexpectedStateError, -} from '../errors'; - -export default (subjectUrl: string, noProxy: string) => { -  const subjectUrlTokens = parseUrl(subjectUrl); - -  const rules = noProxy.split(/[\s,]+/); - -  for (const rule of rules) { -    const ruleMatch = rule -      .replace(/^(?<leadingDot>\.)/, '*') -      .match(/^(?<hostname>.+?)(?::(?<port>\d+))?$/); - -    if (!ruleMatch || !ruleMatch.groups) { -      throw new UnexpectedStateError('Invalid NO_PROXY pattern.'); -    } - -    if (!ruleMatch.groups.hostname) { -      throw new UnexpectedStateError('NO_PROXY entry pattern must include hostname. Use * to match any hostname.'); -    } - -    const hostnameIsMatch = matcher.isMatch(subjectUrlTokens.hostname, ruleMatch.groups.hostname); - -    if (hostnameIsMatch && (!ruleMatch.groups || !ruleMatch.groups.port || subjectUrlTokens.port && subjectUrlTokens.port === ruleMatch.groups.port)) { -      return true; -    } -  } - -  return false; -}; diff --git a/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js.map b/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js.map deleted file mode 100644 index 9f60970..0000000 --- a/node_modules/global-agent/dist/utilities/isUrlMatchingNoProxy.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/utilities/isUrlMatchingNoProxy.js"],"names":["subjectUrl","noProxy","subjectUrlTokens","rules","split","rule","ruleMatch","replace","match","groups","UnexpectedStateError","hostname","hostnameIsMatch","matcher","isMatch","port"],"mappings":";;;;;;;AAEA;;AAGA;;AACA;;;;8BAIgBA,U,EAAoBC,O,KAAoB;AACtD,QAAMC,gBAAgB,GAAG,gBAASF,UAAT,CAAzB;AAEA,QAAMG,KAAK,GAAGF,OAAO,CAACG,KAAR,CAAc,QAAd,CAAd;;AAEA,OAAK,MAAMC,IAAX,IAAmBF,KAAnB,EAA0B;AACxB,UAAMG,SAAS,GAAGD,IAAI,CACnBE,OADe,CACP,oBADO,EACe,GADf,EAEfC,KAFe,CAET,sCAFS,CAAlB;;AAIA,QAAI,CAACF,SAAD,IAAc,CAACA,SAAS,CAACG,MAA7B,EAAqC;AACnC,YAAM,IAAIC,4BAAJ,CAAyB,2BAAzB,CAAN;AACD;;AAED,QAAI,CAACJ,SAAS,CAACG,MAAV,CAAiBE,QAAtB,EAAgC;AAC9B,YAAM,IAAID,4BAAJ,CAAyB,4EAAzB,CAAN;AACD;;AAED,UAAME,eAAe,GAAGC,iBAAQC,OAAR,CAAgBZ,gBAAgB,CAACS,QAAjC,EAA2CL,SAAS,CAACG,MAAV,CAAiBE,QAA5D,CAAxB;;AAEA,QAAIC,eAAe,KAAK,CAACN,SAAS,CAACG,MAAX,IAAqB,CAACH,SAAS,CAACG,MAAV,CAAiBM,IAAvC,IAA+Cb,gBAAgB,CAACa,IAAjB,IAAyBb,gBAAgB,CAACa,IAAjB,KAA0BT,SAAS,CAACG,MAAV,CAAiBM,IAAxH,CAAnB,EAAkJ;AAChJ,aAAO,IAAP;AACD;AACF;;AAED,SAAO,KAAP;AACD,C","sourcesContent":["// @flow\n\nimport {\n  parse as parseUrl,\n} from 'url';\nimport matcher from 'matcher';\nimport {\n  UnexpectedStateError,\n} from '../errors';\n\nexport default (subjectUrl: string, noProxy: string) => {\n  const subjectUrlTokens = parseUrl(subjectUrl);\n\n  const rules = noProxy.split(/[\\s,]+/);\n\n  for (const rule of rules) {\n    const ruleMatch = rule\n      .replace(/^(?<leadingDot>\\.)/, '*')\n      .match(/^(?<hostname>.+?)(?::(?<port>\\d+))?$/);\n\n    if (!ruleMatch || !ruleMatch.groups) {\n      throw new UnexpectedStateError('Invalid NO_PROXY pattern.');\n    }\n\n    if (!ruleMatch.groups.hostname) {\n      throw new UnexpectedStateError('NO_PROXY entry pattern must include hostname. Use * to match any hostname.');\n    }\n\n    const hostnameIsMatch = matcher.isMatch(subjectUrlTokens.hostname, ruleMatch.groups.hostname);\n\n    if (hostnameIsMatch && (!ruleMatch.groups || !ruleMatch.groups.port || subjectUrlTokens.port && subjectUrlTokens.port === ruleMatch.groups.port)) {\n      return true;\n    }\n  }\n\n  return false;\n};\n"],"file":"isUrlMatchingNoProxy.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/parseProxyUrl.js b/node_modules/global-agent/dist/utilities/parseProxyUrl.js deleted file mode 100644 index e4f1185..0000000 --- a/node_modules/global-agent/dist/utilities/parseProxyUrl.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { -  value: true -}); -exports.default = void 0; - -var _url = require("url"); - -var _errors = require("../errors"); - -const parseProxyUrl = url => { -  const urlTokens = (0, _url.parse)(url); - -  if (urlTokens.query !== null) { -    throw new _errors.UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have query.'); -  } - -  if (urlTokens.hash !== null) { -    throw new _errors.UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have hash.'); -  } - -  if (urlTokens.protocol !== 'http:') { -    throw new _errors.UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL protocol must be "http:".'); -  } - -  let port = 80; - -  if (urlTokens.port) { -    port = Number.parseInt(urlTokens.port, 10); -  } - -  return { -    authorization: urlTokens.auth || null, -    hostname: urlTokens.hostname, -    port -  }; -}; - -var _default = parseProxyUrl; -exports.default = _default; -//# sourceMappingURL=parseProxyUrl.js.map
\ No newline at end of file diff --git a/node_modules/global-agent/dist/utilities/parseProxyUrl.js.flow b/node_modules/global-agent/dist/utilities/parseProxyUrl.js.flow deleted file mode 100644 index e2e9a6b..0000000 --- a/node_modules/global-agent/dist/utilities/parseProxyUrl.js.flow +++ /dev/null @@ -1,36 +0,0 @@ -// @flow - -import { -  parse as parseUrl, -} from 'url'; -import { -  UnexpectedStateError, -} from '../errors'; - -export default (url: string) => { -  const urlTokens = parseUrl(url); - -  if (urlTokens.query !== null) { -    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have query.'); -  } - -  if (urlTokens.hash !== null) { -    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have hash.'); -  } - -  if (urlTokens.protocol !== 'http:') { -    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL protocol must be "http:".'); -  } - -  let port = 80; - -  if (urlTokens.port) { -    port = Number.parseInt(urlTokens.port, 10); -  } - -  return { -    authorization: urlTokens.auth || null, -    hostname: urlTokens.hostname, -    port, -  }; -}; diff --git a/node_modules/global-agent/dist/utilities/parseProxyUrl.js.map b/node_modules/global-agent/dist/utilities/parseProxyUrl.js.map deleted file mode 100644 index 4457f10..0000000 --- a/node_modules/global-agent/dist/utilities/parseProxyUrl.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/utilities/parseProxyUrl.js"],"names":["url","urlTokens","query","UnexpectedStateError","hash","protocol","port","Number","parseInt","authorization","auth","hostname"],"mappings":";;;;;;;AAEA;;AAGA;;sBAIgBA,G,IAAgB;AAC9B,QAAMC,SAAS,GAAG,gBAASD,GAAT,CAAlB;;AAEA,MAAIC,SAAS,CAACC,KAAV,KAAoB,IAAxB,EAA8B;AAC5B,UAAM,IAAIC,4BAAJ,CAAyB,qFAAzB,CAAN;AACD;;AAED,MAAIF,SAAS,CAACG,IAAV,KAAmB,IAAvB,EAA6B;AAC3B,UAAM,IAAID,4BAAJ,CAAyB,oFAAzB,CAAN;AACD;;AAED,MAAIF,SAAS,CAACI,QAAV,KAAuB,OAA3B,EAAoC;AAClC,UAAM,IAAIF,4BAAJ,CAAyB,0FAAzB,CAAN;AACD;;AAED,MAAIG,IAAI,GAAG,EAAX;;AAEA,MAAIL,SAAS,CAACK,IAAd,EAAoB;AAClBA,IAAAA,IAAI,GAAGC,MAAM,CAACC,QAAP,CAAgBP,SAAS,CAACK,IAA1B,EAAgC,EAAhC,CAAP;AACD;;AAED,SAAO;AACLG,IAAAA,aAAa,EAAER,SAAS,CAACS,IAAV,IAAkB,IAD5B;AAELC,IAAAA,QAAQ,EAAEV,SAAS,CAACU,QAFf;AAGLL,IAAAA;AAHK,GAAP;AAKD,C","sourcesContent":["// @flow\n\nimport {\n  parse as parseUrl,\n} from 'url';\nimport {\n  UnexpectedStateError,\n} from '../errors';\n\nexport default (url: string) => {\n  const urlTokens = parseUrl(url);\n\n  if (urlTokens.query !== null) {\n    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have query.');\n  }\n\n  if (urlTokens.hash !== null) {\n    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have hash.');\n  }\n\n  if (urlTokens.protocol !== 'http:') {\n    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL protocol must be \"http:\".');\n  }\n\n  let port = 80;\n\n  if (urlTokens.port) {\n    port = Number.parseInt(urlTokens.port, 10);\n  }\n\n  return {\n    authorization: urlTokens.auth || null,\n    hostname: urlTokens.hostname,\n    port,\n  };\n};\n"],"file":"parseProxyUrl.js"}
\ No newline at end of file diff --git a/node_modules/global-agent/node_modules/.bin/semver b/node_modules/global-agent/node_modules/.bin/semver deleted file mode 120000 index 5aaadf4..0000000 --- a/node_modules/global-agent/node_modules/.bin/semver +++ /dev/null @@ -1 +0,0 @@ -../semver/bin/semver.js
\ No newline at end of file diff --git a/node_modules/global-agent/node_modules/semver/LICENSE b/node_modules/global-agent/node_modules/semver/LICENSE deleted file mode 100644 index 19129e3..0000000 --- a/node_modules/global-agent/node_modules/semver/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/node_modules/global-agent/node_modules/semver/README.md b/node_modules/global-agent/node_modules/semver/README.md deleted file mode 100644 index df54e7a..0000000 --- a/node_modules/global-agent/node_modules/semver/README.md +++ /dev/null @@ -1,568 +0,0 @@ -semver(1) -- The semantic versioner for npm -=========================================== - -## Install - -```bash -npm install semver -```` - -## Usage - -As a node module: - -```js -const semver = require('semver') - -semver.valid('1.2.3') // '1.2.3' -semver.valid('a.b.c') // null -semver.clean('  =v1.2.3   ') // '1.2.3' -semver.satisfies('1.2.3', '1.x || >=2.5.0 || 5.0.0 - 7.2.3') // true -semver.gt('1.2.3', '9.8.7') // false -semver.lt('1.2.3', '9.8.7') // true -semver.minVersion('>=1.0.0') // '1.0.0' -semver.valid(semver.coerce('v2')) // '2.0.0' -semver.valid(semver.coerce('42.6.7.9.3-alpha')) // '42.6.7' -``` - -You can also just load the module for the function that you care about, if -you'd like to minimize your footprint. - -```js -// load the whole API at once in a single object -const semver = require('semver') - -// or just load the bits you need -// all of them listed here, just pick and choose what you want - -// classes -const SemVer = require('semver/classes/semver') -const Comparator = require('semver/classes/comparator') -const Range = require('semver/classes/range') - -// functions for working with versions -const semverParse = require('semver/functions/parse') -const semverValid = require('semver/functions/valid') -const semverClean = require('semver/functions/clean') -const semverInc = require('semver/functions/inc') -const semverDiff = require('semver/functions/diff') -const semverMajor = require('semver/functions/major') -const semverMinor = require('semver/functions/minor') -const semverPatch = require('semver/functions/patch') -const semverPrerelease = require('semver/functions/prerelease') -const semverCompare = require('semver/functions/compare') -const semverRcompare = require('semver/functions/rcompare') -const semverCompareLoose = require('semver/functions/compare-loose') -const semverCompareBuild = require('semver/functions/compare-build') -const semverSort = require('semver/functions/sort') -const semverRsort = require('semver/functions/rsort') - -// low-level comparators between versions -const semverGt = require('semver/functions/gt') -const semverLt = require('semver/functions/lt') -const semverEq = require('semver/functions/eq') -const semverNeq = require('semver/functions/neq') -const semverGte = require('semver/functions/gte') -const semverLte = require('semver/functions/lte') -const semverCmp = require('semver/functions/cmp') -const semverCoerce = require('semver/functions/coerce') - -// working with ranges -const semverSatisfies = require('semver/functions/satisfies') -const semverMaxSatisfying = require('semver/ranges/max-satisfying') -const semverMinSatisfying = require('semver/ranges/min-satisfying') -const semverToComparators = require('semver/ranges/to-comparators') -const semverMinVersion = require('semver/ranges/min-version') -const semverValidRange = require('semver/ranges/valid') -const semverOutside = require('semver/ranges/outside') -const semverGtr = require('semver/ranges/gtr') -const semverLtr = require('semver/ranges/ltr') -const semverIntersects = require('semver/ranges/intersects') -const simplifyRange = require('semver/ranges/simplify') -const rangeSubset = require('semver/ranges/subset') -``` - -As a command-line utility: - -``` -$ semver -h - -A JavaScript implementation of the https://semver.org/ specification -Copyright Isaac Z. Schlueter - -Usage: semver [options] <version> [<version> [...]] -Prints valid versions sorted by SemVer precedence - -Options: --r --range <range> -        Print versions that match the specified range. - --i --increment [<level>] -        Increment a version by the specified level.  Level can -        be one of: major, minor, patch, premajor, preminor, -        prepatch, or prerelease.  Default level is 'patch'. -        Only one version may be specified. - ---preid <identifier> -        Identifier to be used to prefix premajor, preminor, -        prepatch or prerelease version increments. - --l --loose -        Interpret versions and ranges loosely - --p --include-prerelease -        Always include prerelease versions in range matching - --c --coerce -        Coerce a string into SemVer if possible -        (does not imply --loose) - ---rtl -        Coerce version strings right to left - ---ltr -        Coerce version strings left to right (default) - -Program exits successfully if any valid version satisfies -all supplied ranges, and prints all satisfying versions. - -If no satisfying versions are found, then exits failure. - -Versions are printed in ascending order, so supplying -multiple versions to the utility will just sort them. -``` - -## Versions - -A "version" is described by the `v2.0.0` specification found at -<https://semver.org/>. - -A leading `"="` or `"v"` character is stripped off and ignored. - -## Ranges - -A `version range` is a set of `comparators` which specify versions -that satisfy the range. - -A `comparator` is composed of an `operator` and a `version`.  The set -of primitive `operators` is: - -* `<` Less than -* `<=` Less than or equal to -* `>` Greater than -* `>=` Greater than or equal to -* `=` Equal.  If no operator is specified, then equality is assumed, -  so this operator is optional, but MAY be included. - -For example, the comparator `>=1.2.7` would match the versions -`1.2.7`, `1.2.8`, `2.5.3`, and `1.3.9`, but not the versions `1.2.6` -or `1.1.0`. - -Comparators can be joined by whitespace to form a `comparator set`, -which is satisfied by the **intersection** of all of the comparators -it includes. - -A range is composed of one or more comparator sets, joined by `||`.  A -version matches a range if and only if every comparator in at least -one of the `||`-separated comparator sets is satisfied by the version. - -For example, the range `>=1.2.7 <1.3.0` would match the versions -`1.2.7`, `1.2.8`, and `1.2.99`, but not the versions `1.2.6`, `1.3.0`, -or `1.1.0`. - -The range `1.2.7 || >=1.2.9 <2.0.0` would match the versions `1.2.7`, -`1.2.9`, and `1.4.6`, but not the versions `1.2.8` or `2.0.0`. - -### Prerelease Tags - -If a version has a prerelease tag (for example, `1.2.3-alpha.3`) then -it will only be allowed to satisfy comparator sets if at least one -comparator with the same `[major, minor, patch]` tuple also has a -prerelease tag. - -For example, the range `>1.2.3-alpha.3` would be allowed to match the -version `1.2.3-alpha.7`, but it would *not* be satisfied by -`3.4.5-alpha.9`, even though `3.4.5-alpha.9` is technically "greater -than" `1.2.3-alpha.3` according to the SemVer sort rules.  The version -range only accepts prerelease tags on the `1.2.3` version.  The -version `3.4.5` *would* satisfy the range, because it does not have a -prerelease flag, and `3.4.5` is greater than `1.2.3-alpha.7`. - -The purpose for this behavior is twofold.  First, prerelease versions -frequently are updated very quickly, and contain many breaking changes -that are (by the author's design) not yet fit for public consumption. -Therefore, by default, they are excluded from range matching -semantics. - -Second, a user who has opted into using a prerelease version has -clearly indicated the intent to use *that specific* set of -alpha/beta/rc versions.  By including a prerelease tag in the range, -the user is indicating that they are aware of the risk.  However, it -is still not appropriate to assume that they have opted into taking a -similar risk on the *next* set of prerelease versions. - -Note that this behavior can be suppressed (treating all prerelease -versions as if they were normal versions, for the purpose of range -matching) by setting the `includePrerelease` flag on the options -object to any -[functions](https://github.com/npm/node-semver#functions) that do -range matching. - -#### Prerelease Identifiers - -The method `.inc` takes an additional `identifier` string argument that -will append the value of the string as a prerelease identifier: - -```javascript -semver.inc('1.2.3', 'prerelease', 'beta') -// '1.2.4-beta.0' -``` - -command-line example: - -```bash -$ semver 1.2.3 -i prerelease --preid beta -1.2.4-beta.0 -``` - -Which then can be used to increment further: - -```bash -$ semver 1.2.4-beta.0 -i prerelease -1.2.4-beta.1 -``` - -### Advanced Range Syntax - -Advanced range syntax desugars to primitive comparators in -deterministic ways. - -Advanced ranges may be combined in the same way as primitive -comparators using white space or `||`. - -#### Hyphen Ranges `X.Y.Z - A.B.C` - -Specifies an inclusive set. - -* `1.2.3 - 2.3.4` := `>=1.2.3 <=2.3.4` - -If a partial version is provided as the first version in the inclusive -range, then the missing pieces are replaced with zeroes. - -* `1.2 - 2.3.4` := `>=1.2.0 <=2.3.4` - -If a partial version is provided as the second version in the -inclusive range, then all versions that start with the supplied parts -of the tuple are accepted, but nothing that would be greater than the -provided tuple parts. - -* `1.2.3 - 2.3` := `>=1.2.3 <2.4.0-0` -* `1.2.3 - 2` := `>=1.2.3 <3.0.0-0` - -#### X-Ranges `1.2.x` `1.X` `1.2.*` `*` - -Any of `X`, `x`, or `*` may be used to "stand in" for one of the -numeric values in the `[major, minor, patch]` tuple. - -* `*` := `>=0.0.0` (Any non-prerelease version satisfies, unless -  `includePrerelease` is specified, in which case any version at all -  satisfies) -* `1.x` := `>=1.0.0 <2.0.0-0` (Matching major version) -* `1.2.x` := `>=1.2.0 <1.3.0-0` (Matching major and minor versions) - -A partial version range is treated as an X-Range, so the special -character is in fact optional. - -* `""` (empty string) := `*` := `>=0.0.0` -* `1` := `1.x.x` := `>=1.0.0 <2.0.0-0` -* `1.2` := `1.2.x` := `>=1.2.0 <1.3.0-0` - -#### Tilde Ranges `~1.2.3` `~1.2` `~1` - -Allows patch-level changes if a minor version is specified on the -comparator.  Allows minor-level changes if not. - -* `~1.2.3` := `>=1.2.3 <1.(2+1).0` := `>=1.2.3 <1.3.0-0` -* `~1.2` := `>=1.2.0 <1.(2+1).0` := `>=1.2.0 <1.3.0-0` (Same as `1.2.x`) -* `~1` := `>=1.0.0 <(1+1).0.0` := `>=1.0.0 <2.0.0-0` (Same as `1.x`) -* `~0.2.3` := `>=0.2.3 <0.(2+1).0` := `>=0.2.3 <0.3.0-0` -* `~0.2` := `>=0.2.0 <0.(2+1).0` := `>=0.2.0 <0.3.0-0` (Same as `0.2.x`) -* `~0` := `>=0.0.0 <(0+1).0.0` := `>=0.0.0 <1.0.0-0` (Same as `0.x`) -* `~1.2.3-beta.2` := `>=1.2.3-beta.2 <1.3.0-0` Note that prereleases in -  the `1.2.3` version will be allowed, if they are greater than or -  equal to `beta.2`.  So, `1.2.3-beta.4` would be allowed, but -  `1.2.4-beta.2` would not, because it is a prerelease of a -  different `[major, minor, patch]` tuple. - -#### Caret Ranges `^1.2.3` `^0.2.5` `^0.0.4` - -Allows changes that do not modify the left-most non-zero element in the -`[major, minor, patch]` tuple.  In other words, this allows patch and -minor updates for versions `1.0.0` and above, patch updates for -versions `0.X >=0.1.0`, and *no* updates for versions `0.0.X`. - -Many authors treat a `0.x` version as if the `x` were the major -"breaking-change" indicator. - -Caret ranges are ideal when an author may make breaking changes -between `0.2.4` and `0.3.0` releases, which is a common practice. -However, it presumes that there will *not* be breaking changes between -`0.2.4` and `0.2.5`.  It allows for changes that are presumed to be -additive (but non-breaking), according to commonly observed practices. - -* `^1.2.3` := `>=1.2.3 <2.0.0-0` -* `^0.2.3` := `>=0.2.3 <0.3.0-0` -* `^0.0.3` := `>=0.0.3 <0.0.4-0` -* `^1.2.3-beta.2` := `>=1.2.3-beta.2 <2.0.0-0` Note that prereleases in -  the `1.2.3` version will be allowed, if they are greater than or -  equal to `beta.2`.  So, `1.2.3-beta.4` would be allowed, but -  `1.2.4-beta.2` would not, because it is a prerelease of a -  different `[major, minor, patch]` tuple. -* `^0.0.3-beta` := `>=0.0.3-beta <0.0.4-0`  Note that prereleases in the -  `0.0.3` version *only* will be allowed, if they are greater than or -  equal to `beta`.  So, `0.0.3-pr.2` would be allowed. - -When parsing caret ranges, a missing `patch` value desugars to the -number `0`, but will allow flexibility within that value, even if the -major and minor versions are both `0`. - -* `^1.2.x` := `>=1.2.0 <2.0.0-0` -* `^0.0.x` := `>=0.0.0 <0.1.0-0` -* `^0.0` := `>=0.0.0 <0.1.0-0` - -A missing `minor` and `patch` values will desugar to zero, but also -allow flexibility within those values, even if the major version is -zero. - -* `^1.x` := `>=1.0.0 <2.0.0-0` -* `^0.x` := `>=0.0.0 <1.0.0-0` - -### Range Grammar - -Putting all this together, here is a Backus-Naur grammar for ranges, -for the benefit of parser authors: - -```bnf -range-set  ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range      ::= hyphen | simple ( ' ' simple ) * | '' -hyphen     ::= partial ' - ' partial -simple     ::= primitive | partial | tilde | caret -primitive  ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial -partial    ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr         ::= 'x' | 'X' | '*' | nr -nr         ::= '0' | ['1'-'9'] ( ['0'-'9'] ) * -tilde      ::= '~' partial -caret      ::= '^' partial -qualifier  ::= ( '-' pre )? ( '+' build )? -pre        ::= parts -build      ::= parts -parts      ::= part ( '.' part ) * -part       ::= nr | [-0-9A-Za-z]+ -``` - -## Functions - -All methods and classes take a final `options` object argument.  All -options in this object are `false` by default.  The options supported -are: - -- `loose`  Be more forgiving about not-quite-valid semver strings. -  (Any resulting output will always be 100% strict compliant, of -  course.)  For backwards compatibility reasons, if the `options` -  argument is a boolean value instead of an object, it is interpreted -  to be the `loose` param. -- `includePrerelease`  Set to suppress the [default -  behavior](https://github.com/npm/node-semver#prerelease-tags) of -  excluding prerelease tagged versions from ranges unless they are -  explicitly opted into. - -Strict-mode Comparators and Ranges will be strict about the SemVer -strings that they parse. - -* `valid(v)`: Return the parsed version, or null if it's not valid. -* `inc(v, release)`: Return the version incremented by the release -  type (`major`,   `premajor`, `minor`, `preminor`, `patch`, -  `prepatch`, or `prerelease`), or null if it's not valid -  * `premajor` in one call will bump the version up to the next major -    version and down to a prerelease of that major version. -    `preminor`, and `prepatch` work the same way. -  * If called from a non-prerelease version, the `prerelease` will work the -    same as `prepatch`. It increments the patch version, then makes a -    prerelease. If the input version is already a prerelease it simply -    increments it. -* `prerelease(v)`: Returns an array of prerelease components, or null -  if none exist. Example: `prerelease('1.2.3-alpha.1') -> ['alpha', 1]` -* `major(v)`: Return the major version number. -* `minor(v)`: Return the minor version number. -* `patch(v)`: Return the patch version number. -* `intersects(r1, r2, loose)`: Return true if the two supplied ranges -  or comparators intersect. -* `parse(v)`: Attempt to parse a string as a semantic version, returning either -  a `SemVer` object or `null`. - -### Comparison - -* `gt(v1, v2)`: `v1 > v2` -* `gte(v1, v2)`: `v1 >= v2` -* `lt(v1, v2)`: `v1 < v2` -* `lte(v1, v2)`: `v1 <= v2` -* `eq(v1, v2)`: `v1 == v2` This is true if they're logically equivalent, -  even if they're not the exact same string.  You already know how to -  compare strings. -* `neq(v1, v2)`: `v1 != v2` The opposite of `eq`. -* `cmp(v1, comparator, v2)`: Pass in a comparison string, and it'll call -  the corresponding function above.  `"==="` and `"!=="` do simple -  string comparison, but are included for completeness.  Throws if an -  invalid comparison string is provided. -* `compare(v1, v2)`: Return `0` if `v1 == v2`, or `1` if `v1` is greater, or `-1` if -  `v2` is greater.  Sorts in ascending order if passed to `Array.sort()`. -* `rcompare(v1, v2)`: The reverse of compare.  Sorts an array of versions -  in descending order when passed to `Array.sort()`. -* `compareBuild(v1, v2)`: The same as `compare` but considers `build` when two versions -  are equal.  Sorts in ascending order if passed to `Array.sort()`. -  `v2` is greater.  Sorts in ascending order if passed to `Array.sort()`. -* `diff(v1, v2)`: Returns difference between two versions by the release type -  (`major`, `premajor`, `minor`, `preminor`, `patch`, `prepatch`, or `prerelease`), -  or null if the versions are the same. - -### Comparators - -* `intersects(comparator)`: Return true if the comparators intersect - -### Ranges - -* `validRange(range)`: Return the valid range or null if it's not valid -* `satisfies(version, range)`: Return true if the version satisfies the -  range. -* `maxSatisfying(versions, range)`: Return the highest version in the list -  that satisfies the range, or `null` if none of them do. -* `minSatisfying(versions, range)`: Return the lowest version in the list -  that satisfies the range, or `null` if none of them do. -* `minVersion(range)`: Return the lowest version that can possibly match -  the given range. -* `gtr(version, range)`: Return `true` if version is greater than all the -  versions possible in the range. -* `ltr(version, range)`: Return `true` if version is less than all the -  versions possible in the range. -* `outside(version, range, hilo)`: Return true if the version is outside -  the bounds of the range in either the high or low direction.  The -  `hilo` argument must be either the string `'>'` or `'<'`.  (This is -  the function called by `gtr` and `ltr`.) -* `intersects(range)`: Return true if any of the ranges comparators intersect -* `simplifyRange(versions, range)`: Return a "simplified" range that -  matches the same items in `versions` list as the range specified.  Note -  that it does *not* guarantee that it would match the same versions in all -  cases, only for the set of versions provided.  This is useful when -  generating ranges by joining together multiple versions with `||` -  programmatically, to provide the user with something a bit more -  ergonomic.  If the provided range is shorter in string-length than the -  generated range, then that is returned. -* `subset(subRange, superRange)`: Return `true` if the `subRange` range is -  entirely contained by the `superRange` range. - -Note that, since ranges may be non-contiguous, a version might not be -greater than a range, less than a range, *or* satisfy a range!  For -example, the range `1.2 <1.2.9 || >2.0.0` would have a hole from `1.2.9` -until `2.0.0`, so the version `1.2.10` would not be greater than the -range (because `2.0.1` satisfies, which is higher), nor less than the -range (since `1.2.8` satisfies, which is lower), and it also does not -satisfy the range. - -If you want to know if a version satisfies or does not satisfy a -range, use the `satisfies(version, range)` function. - -### Coercion - -* `coerce(version, options)`: Coerces a string to semver if possible - -This aims to provide a very forgiving translation of a non-semver string to -semver. It looks for the first digit in a string, and consumes all -remaining characters which satisfy at least a partial semver (e.g., `1`, -`1.2`, `1.2.3`) up to the max permitted length (256 characters).  Longer -versions are simply truncated (`4.6.3.9.2-alpha2` becomes `4.6.3`).  All -surrounding text is simply ignored (`v3.4 replaces v3.3.1` becomes -`3.4.0`).  Only text which lacks digits will fail coercion (`version one` -is not valid).  The maximum  length for any semver component considered for -coercion is 16 characters; longer components will be ignored -(`10000000000000000.4.7.4` becomes `4.7.4`).  The maximum value for any -semver component is `Number.MAX_SAFE_INTEGER || (2**53 - 1)`; higher value -components are invalid (`9999999999999999.4.7.4` is likely invalid). - -If the `options.rtl` flag is set, then `coerce` will return the right-most -coercible tuple that does not share an ending index with a longer coercible -tuple.  For example, `1.2.3.4` will return `2.3.4` in rtl mode, not -`4.0.0`.  `1.2.3/4` will return `4.0.0`, because the `4` is not a part of -any other overlapping SemVer tuple. - -### Clean - -* `clean(version)`: Clean a string to be a valid semver if possible - -This will return a cleaned and trimmed semver version. If the provided -version is not valid a null will be returned. This does not work for -ranges. - -ex. -* `s.clean(' = v 2.1.5foo')`: `null` -* `s.clean(' = v 2.1.5foo', { loose: true })`: `'2.1.5-foo'` -* `s.clean(' = v 2.1.5-foo')`: `null` -* `s.clean(' = v 2.1.5-foo', { loose: true })`: `'2.1.5-foo'` -* `s.clean('=v2.1.5')`: `'2.1.5'` -* `s.clean('  =v2.1.5')`: `2.1.5` -* `s.clean('      2.1.5   ')`: `'2.1.5'` -* `s.clean('~1.0.0')`: `null` - -## Exported Modules - -<!-- -TODO: Make sure that all of these items are documented (classes aren't, -eg), and then pull the module name into the documentation for that specific -thing. ---> - -You may pull in just the part of this semver utility that you need, if you -are sensitive to packing and tree-shaking concerns.  The main -`require('semver')` export uses getter functions to lazily load the parts -of the API that are used. - -The following modules are available: - -* `require('semver')` -* `require('semver/classes')` -* `require('semver/classes/comparator')` -* `require('semver/classes/range')` -* `require('semver/classes/semver')` -* `require('semver/functions/clean')` -* `require('semver/functions/cmp')` -* `require('semver/functions/coerce')` -* `require('semver/functions/compare')` -* `require('semver/functions/compare-build')` -* `require('semver/functions/compare-loose')` -* `require('semver/functions/diff')` -* `require('semver/functions/eq')` -* `require('semver/functions/gt')` -* `require('semver/functions/gte')` -* `require('semver/functions/inc')` -* `require('semver/functions/lt')` -* `require('semver/functions/lte')` -* `require('semver/functions/major')` -* `require('semver/functions/minor')` -* `require('semver/functions/neq')` -* `require('semver/functions/parse')` -* `require('semver/functions/patch')` -* `require('semver/functions/prerelease')` -* `require('semver/functions/rcompare')` -* `require('semver/functions/rsort')` -* `require('semver/functions/satisfies')` -* `require('semver/functions/sort')` -* `require('semver/functions/valid')` -* `require('semver/ranges/gtr')` -* `require('semver/ranges/intersects')` -* `require('semver/ranges/ltr')` -* `require('semver/ranges/max-satisfying')` -* `require('semver/ranges/min-satisfying')` -* `require('semver/ranges/min-version')` -* `require('semver/ranges/outside')` -* `require('semver/ranges/to-comparators')` -* `require('semver/ranges/valid')` diff --git a/node_modules/global-agent/node_modules/semver/bin/semver.js b/node_modules/global-agent/node_modules/semver/bin/semver.js deleted file mode 100755 index 8d1b557..0000000 --- a/node_modules/global-agent/node_modules/semver/bin/semver.js +++ /dev/null @@ -1,183 +0,0 @@ -#!/usr/bin/env node -// Standalone semver comparison program. -// Exits successfully and prints matching version(s) if -// any supplied version is valid and passes all tests. - -const argv = process.argv.slice(2) - -let versions = [] - -const range = [] - -let inc = null - -const version = require('../package.json').version - -let loose = false - -let includePrerelease = false - -let coerce = false - -let rtl = false - -let identifier - -const semver = require('../') - -let reverse = false - -let options = {} - -const main = () => { -  if (!argv.length) { -    return help() -  } -  while (argv.length) { -    let a = argv.shift() -    const indexOfEqualSign = a.indexOf('=') -    if (indexOfEqualSign !== -1) { -      const value = a.slice(indexOfEqualSign + 1) -      a = a.slice(0, indexOfEqualSign) -      argv.unshift(value) -    } -    switch (a) { -      case '-rv': case '-rev': case '--rev': case '--reverse': -        reverse = true -        break -      case '-l': case '--loose': -        loose = true -        break -      case '-p': case '--include-prerelease': -        includePrerelease = true -        break -      case '-v': case '--version': -        versions.push(argv.shift()) -        break -      case '-i': case '--inc': case '--increment': -        switch (argv[0]) { -          case 'major': case 'minor': case 'patch': case 'prerelease': -          case 'premajor': case 'preminor': case 'prepatch': -            inc = argv.shift() -            break -          default: -            inc = 'patch' -            break -        } -        break -      case '--preid': -        identifier = argv.shift() -        break -      case '-r': case '--range': -        range.push(argv.shift()) -        break -      case '-c': case '--coerce': -        coerce = true -        break -      case '--rtl': -        rtl = true -        break -      case '--ltr': -        rtl = false -        break -      case '-h': case '--help': case '-?': -        return help() -      default: -        versions.push(a) -        break -    } -  } - -  options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl } - -  versions = versions.map((v) => { -    return coerce ? (semver.coerce(v, options) || { version: v }).version : v -  }).filter((v) => { -    return semver.valid(v) -  }) -  if (!versions.length) { -    return fail() -  } -  if (inc && (versions.length !== 1 || range.length)) { -    return failInc() -  } - -  for (let i = 0, l = range.length; i < l; i++) { -    versions = versions.filter((v) => { -      return semver.satisfies(v, range[i], options) -    }) -    if (!versions.length) { -      return fail() -    } -  } -  return success(versions) -} - -const failInc = () => { -  console.error('--inc can only be used on a single version with no range') -  fail() -} - -const fail = () => process.exit(1) - -const success = () => { -  const compare = reverse ? 'rcompare' : 'compare' -  versions.sort((a, b) => { -    return semver[compare](a, b, options) -  }).map((v) => { -    return semver.clean(v, options) -  }).map((v) => { -    return inc ? semver.inc(v, inc, options, identifier) : v -  }).forEach((v, i, _) => { -    console.log(v) -  }) -} - -const help = () => console.log( -`SemVer ${version} - -A JavaScript implementation of the https://semver.org/ specification -Copyright Isaac Z. Schlueter - -Usage: semver [options] <version> [<version> [...]] -Prints valid versions sorted by SemVer precedence - -Options: --r --range <range> -        Print versions that match the specified range. - --i --increment [<level>] -        Increment a version by the specified level.  Level can -        be one of: major, minor, patch, premajor, preminor, -        prepatch, or prerelease.  Default level is 'patch'. -        Only one version may be specified. - ---preid <identifier> -        Identifier to be used to prefix premajor, preminor, -        prepatch or prerelease version increments. - --l --loose -        Interpret versions and ranges loosely - --p --include-prerelease -        Always include prerelease versions in range matching - --c --coerce -        Coerce a string into SemVer if possible -        (does not imply --loose) - ---rtl -        Coerce version strings right to left - ---ltr -        Coerce version strings left to right (default) - -Program exits successfully if any valid version satisfies -all supplied ranges, and prints all satisfying versions. - -If no satisfying versions are found, then exits failure. - -Versions are printed in ascending order, so supplying -multiple versions to the utility will just sort them.`) - -main() diff --git a/node_modules/global-agent/node_modules/semver/classes/comparator.js b/node_modules/global-agent/node_modules/semver/classes/comparator.js deleted file mode 100644 index 62cd204..0000000 --- a/node_modules/global-agent/node_modules/semver/classes/comparator.js +++ /dev/null @@ -1,136 +0,0 @@ -const ANY = Symbol('SemVer ANY') -// hoisted class for cyclic dependency -class Comparator { -  static get ANY () { -    return ANY -  } - -  constructor (comp, options) { -    options = parseOptions(options) - -    if (comp instanceof Comparator) { -      if (comp.loose === !!options.loose) { -        return comp -      } else { -        comp = comp.value -      } -    } - -    debug('comparator', comp, options) -    this.options = options -    this.loose = !!options.loose -    this.parse(comp) - -    if (this.semver === ANY) { -      this.value = '' -    } else { -      this.value = this.operator + this.semver.version -    } - -    debug('comp', this) -  } - -  parse (comp) { -    const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] -    const m = comp.match(r) - -    if (!m) { -      throw new TypeError(`Invalid comparator: ${comp}`) -    } - -    this.operator = m[1] !== undefined ? m[1] : '' -    if (this.operator === '=') { -      this.operator = '' -    } - -    // if it literally is just '>' or '' then allow anything. -    if (!m[2]) { -      this.semver = ANY -    } else { -      this.semver = new SemVer(m[2], this.options.loose) -    } -  } - -  toString () { -    return this.value -  } - -  test (version) { -    debug('Comparator.test', version, this.options.loose) - -    if (this.semver === ANY || version === ANY) { -      return true -    } - -    if (typeof version === 'string') { -      try { -        version = new SemVer(version, this.options) -      } catch (er) { -        return false -      } -    } - -    return cmp(version, this.operator, this.semver, this.options) -  } - -  intersects (comp, options) { -    if (!(comp instanceof Comparator)) { -      throw new TypeError('a Comparator is required') -    } - -    if (!options || typeof options !== 'object') { -      options = { -        loose: !!options, -        includePrerelease: false, -      } -    } - -    if (this.operator === '') { -      if (this.value === '') { -        return true -      } -      return new Range(comp.value, options).test(this.value) -    } else if (comp.operator === '') { -      if (comp.value === '') { -        return true -      } -      return new Range(this.value, options).test(comp.semver) -    } - -    const sameDirectionIncreasing = -      (this.operator === '>=' || this.operator === '>') && -      (comp.operator === '>=' || comp.operator === '>') -    const sameDirectionDecreasing = -      (this.operator === '<=' || this.operator === '<') && -      (comp.operator === '<=' || comp.operator === '<') -    const sameSemVer = this.semver.version === comp.semver.version -    const differentDirectionsInclusive = -      (this.operator === '>=' || this.operator === '<=') && -      (comp.operator === '>=' || comp.operator === '<=') -    const oppositeDirectionsLessThan = -      cmp(this.semver, '<', comp.semver, options) && -      (this.operator === '>=' || this.operator === '>') && -        (comp.operator === '<=' || comp.operator === '<') -    const oppositeDirectionsGreaterThan = -      cmp(this.semver, '>', comp.semver, options) && -      (this.operator === '<=' || this.operator === '<') && -        (comp.operator === '>=' || comp.operator === '>') - -    return ( -      sameDirectionIncreasing || -      sameDirectionDecreasing || -      (sameSemVer && differentDirectionsInclusive) || -      oppositeDirectionsLessThan || -      oppositeDirectionsGreaterThan -    ) -  } -} - -module.exports = Comparator - -const parseOptions = require('../internal/parse-options') -const { re, t } = require('../internal/re') -const cmp = require('../functions/cmp') -const debug = require('../internal/debug') -const SemVer = require('./semver') -const Range = require('./range') diff --git a/node_modules/global-agent/node_modules/semver/classes/index.js b/node_modules/global-agent/node_modules/semver/classes/index.js deleted file mode 100644 index 5e3f5c9..0000000 --- a/node_modules/global-agent/node_modules/semver/classes/index.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { -  SemVer: require('./semver.js'), -  Range: require('./range.js'), -  Comparator: require('./comparator.js'), -} diff --git a/node_modules/global-agent/node_modules/semver/classes/range.js b/node_modules/global-agent/node_modules/semver/classes/range.js deleted file mode 100644 index 7dc24bc..0000000 --- a/node_modules/global-agent/node_modules/semver/classes/range.js +++ /dev/null @@ -1,519 +0,0 @@ -// hoisted class for cyclic dependency -class Range { -  constructor (range, options) { -    options = parseOptions(options) - -    if (range instanceof Range) { -      if ( -        range.loose === !!options.loose && -        range.includePrerelease === !!options.includePrerelease -      ) { -        return range -      } else { -        return new Range(range.raw, options) -      } -    } - -    if (range instanceof Comparator) { -      // just put it in the set and return -      this.raw = range.value -      this.set = [[range]] -      this.format() -      return this -    } - -    this.options = options -    this.loose = !!options.loose -    this.includePrerelease = !!options.includePrerelease - -    // First, split based on boolean or || -    this.raw = range -    this.set = range -      .split('||') -      // map the range to a 2d array of comparators -      .map(r => this.parseRange(r.trim())) -      // throw out any comparator lists that are empty -      // this generally means that it was not a valid range, which is allowed -      // in loose mode, but will still throw if the WHOLE range is invalid. -      .filter(c => c.length) - -    if (!this.set.length) { -      throw new TypeError(`Invalid SemVer Range: ${range}`) -    } - -    // if we have any that are not the null set, throw out null sets. -    if (this.set.length > 1) { -      // keep the first one, in case they're all null sets -      const first = this.set[0] -      this.set = this.set.filter(c => !isNullSet(c[0])) -      if (this.set.length === 0) { -        this.set = [first] -      } else if (this.set.length > 1) { -        // if we have any that are *, then the range is just * -        for (const c of this.set) { -          if (c.length === 1 && isAny(c[0])) { -            this.set = [c] -            break -          } -        } -      } -    } - -    this.format() -  } - -  format () { -    this.range = this.set -      .map((comps) => { -        return comps.join(' ').trim() -      }) -      .join('||') -      .trim() -    return this.range -  } - -  toString () { -    return this.range -  } - -  parseRange (range) { -    range = range.trim() - -    // memoize range parsing for performance. -    // this is a very hot path, and fully deterministic. -    const memoOpts = Object.keys(this.options).join(',') -    const memoKey = `parseRange:${memoOpts}:${range}` -    const cached = cache.get(memoKey) -    if (cached) { -      return cached -    } - -    const loose = this.options.loose -    // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` -    const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE] -    range = range.replace(hr, hyphenReplace(this.options.includePrerelease)) -    debug('hyphen replace', range) -    // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` -    range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) -    debug('comparator trim', range) - -    // `~ 1.2.3` => `~1.2.3` -    range = range.replace(re[t.TILDETRIM], tildeTrimReplace) - -    // `^ 1.2.3` => `^1.2.3` -    range = range.replace(re[t.CARETTRIM], caretTrimReplace) - -    // normalize spaces -    range = range.split(/\s+/).join(' ') - -    // At this point, the range is completely trimmed and -    // ready to be split into comparators. - -    let rangeList = range -      .split(' ') -      .map(comp => parseComparator(comp, this.options)) -      .join(' ') -      .split(/\s+/) -      // >=0.0.0 is equivalent to * -      .map(comp => replaceGTE0(comp, this.options)) - -    if (loose) { -      // in loose mode, throw out any that are not valid comparators -      rangeList = rangeList.filter(comp => { -        debug('loose invalid filter', comp, this.options) -        return !!comp.match(re[t.COMPARATORLOOSE]) -      }) -    } -    debug('range list', rangeList) - -    // if any comparators are the null set, then replace with JUST null set -    // if more than one comparator, remove any * comparators -    // also, don't include the same comparator more than once -    const rangeMap = new Map() -    const comparators = rangeList.map(comp => new Comparator(comp, this.options)) -    for (const comp of comparators) { -      if (isNullSet(comp)) { -        return [comp] -      } -      rangeMap.set(comp.value, comp) -    } -    if (rangeMap.size > 1 && rangeMap.has('')) { -      rangeMap.delete('') -    } - -    const result = [...rangeMap.values()] -    cache.set(memoKey, result) -    return result -  } - -  intersects (range, options) { -    if (!(range instanceof Range)) { -      throw new TypeError('a Range is required') -    } - -    return this.set.some((thisComparators) => { -      return ( -        isSatisfiable(thisComparators, options) && -        range.set.some((rangeComparators) => { -          return ( -            isSatisfiable(rangeComparators, options) && -            thisComparators.every((thisComparator) => { -              return rangeComparators.every((rangeComparator) => { -                return thisComparator.intersects(rangeComparator, options) -              }) -            }) -          ) -        }) -      ) -    }) -  } - -  // if ANY of the sets match ALL of its comparators, then pass -  test (version) { -    if (!version) { -      return false -    } - -    if (typeof version === 'string') { -      try { -        version = new SemVer(version, this.options) -      } catch (er) { -        return false -      } -    } - -    for (let i = 0; i < this.set.length; i++) { -      if (testSet(this.set[i], version, this.options)) { -        return true -      } -    } -    return false -  } -} -module.exports = Range - -const LRU = require('lru-cache') -const cache = new LRU({ max: 1000 }) - -const parseOptions = require('../internal/parse-options') -const Comparator = require('./comparator') -const debug = require('../internal/debug') -const SemVer = require('./semver') -const { -  re, -  t, -  comparatorTrimReplace, -  tildeTrimReplace, -  caretTrimReplace, -} = require('../internal/re') - -const isNullSet = c => c.value === '<0.0.0-0' -const isAny = c => c.value === '' - -// take a set of comparators and determine whether there -// exists a version which can satisfy it -const isSatisfiable = (comparators, options) => { -  let result = true -  const remainingComparators = comparators.slice() -  let testComparator = remainingComparators.pop() - -  while (result && remainingComparators.length) { -    result = remainingComparators.every((otherComparator) => { -      return testComparator.intersects(otherComparator, options) -    }) - -    testComparator = remainingComparators.pop() -  } - -  return result -} - -// comprised of xranges, tildes, stars, and gtlt's at this point. -// already replaced the hyphen ranges -// turn into a set of JUST comparators. -const parseComparator = (comp, options) => { -  debug('comp', comp, options) -  comp = replaceCarets(comp, options) -  debug('caret', comp) -  comp = replaceTildes(comp, options) -  debug('tildes', comp) -  comp = replaceXRanges(comp, options) -  debug('xrange', comp) -  comp = replaceStars(comp, options) -  debug('stars', comp) -  return comp -} - -const isX = id => !id || id.toLowerCase() === 'x' || id === '*' - -// ~, ~> --> * (any, kinda silly) -// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0 -// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0 -// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 -// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 -// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 -const replaceTildes = (comp, options) => -  comp.trim().split(/\s+/).map((c) => { -    return replaceTilde(c, options) -  }).join(' ') - -const replaceTilde = (comp, options) => { -  const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE] -  return comp.replace(r, (_, M, m, p, pr) => { -    debug('tilde', comp, _, M, m, p, pr) -    let ret - -    if (isX(M)) { -      ret = '' -    } else if (isX(m)) { -      ret = `>=${M}.0.0 <${+M + 1}.0.0-0` -    } else if (isX(p)) { -      // ~1.2 == >=1.2.0 <1.3.0-0 -      ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0` -    } else if (pr) { -      debug('replaceTilde pr', pr) -      ret = `>=${M}.${m}.${p}-${pr -      } <${M}.${+m + 1}.0-0` -    } else { -      // ~1.2.3 == >=1.2.3 <1.3.0-0 -      ret = `>=${M}.${m}.${p -      } <${M}.${+m + 1}.0-0` -    } - -    debug('tilde return', ret) -    return ret -  }) -} - -// ^ --> * (any, kinda silly) -// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0 -// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0 -// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 -// ^1.2.3 --> >=1.2.3 <2.0.0-0 -// ^1.2.0 --> >=1.2.0 <2.0.0-0 -const replaceCarets = (comp, options) => -  comp.trim().split(/\s+/).map((c) => { -    return replaceCaret(c, options) -  }).join(' ') - -const replaceCaret = (comp, options) => { -  debug('caret', comp, options) -  const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET] -  const z = options.includePrerelease ? '-0' : '' -  return comp.replace(r, (_, M, m, p, pr) => { -    debug('caret', comp, _, M, m, p, pr) -    let ret - -    if (isX(M)) { -      ret = '' -    } else if (isX(m)) { -      ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0` -    } else if (isX(p)) { -      if (M === '0') { -        ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0` -      } else { -        ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0` -      } -    } else if (pr) { -      debug('replaceCaret pr', pr) -      if (M === '0') { -        if (m === '0') { -          ret = `>=${M}.${m}.${p}-${pr -          } <${M}.${m}.${+p + 1}-0` -        } else { -          ret = `>=${M}.${m}.${p}-${pr -          } <${M}.${+m + 1}.0-0` -        } -      } else { -        ret = `>=${M}.${m}.${p}-${pr -        } <${+M + 1}.0.0-0` -      } -    } else { -      debug('no pr') -      if (M === '0') { -        if (m === '0') { -          ret = `>=${M}.${m}.${p -          }${z} <${M}.${m}.${+p + 1}-0` -        } else { -          ret = `>=${M}.${m}.${p -          }${z} <${M}.${+m + 1}.0-0` -        } -      } else { -        ret = `>=${M}.${m}.${p -        } <${+M + 1}.0.0-0` -      } -    } - -    debug('caret return', ret) -    return ret -  }) -} - -const replaceXRanges = (comp, options) => { -  debug('replaceXRanges', comp, options) -  return comp.split(/\s+/).map((c) => { -    return replaceXRange(c, options) -  }).join(' ') -} - -const replaceXRange = (comp, options) => { -  comp = comp.trim() -  const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE] -  return comp.replace(r, (ret, gtlt, M, m, p, pr) => { -    debug('xRange', comp, ret, gtlt, M, m, p, pr) -    const xM = isX(M) -    const xm = xM || isX(m) -    const xp = xm || isX(p) -    const anyX = xp - -    if (gtlt === '=' && anyX) { -      gtlt = '' -    } - -    // if we're including prereleases in the match, then we need -    // to fix this to -0, the lowest possible prerelease value -    pr = options.includePrerelease ? '-0' : '' - -    if (xM) { -      if (gtlt === '>' || gtlt === '<') { -        // nothing is allowed -        ret = '<0.0.0-0' -      } else { -        // nothing is forbidden -        ret = '*' -      } -    } else if (gtlt && anyX) { -      // we know patch is an x, because we have any x at all. -      // replace X with 0 -      if (xm) { -        m = 0 -      } -      p = 0 - -      if (gtlt === '>') { -        // >1 => >=2.0.0 -        // >1.2 => >=1.3.0 -        gtlt = '>=' -        if (xm) { -          M = +M + 1 -          m = 0 -          p = 0 -        } else { -          m = +m + 1 -          p = 0 -        } -      } else if (gtlt === '<=') { -        // <=0.7.x is actually <0.8.0, since any 0.7.x should -        // pass.  Similarly, <=7.x is actually <8.0.0, etc. -        gtlt = '<' -        if (xm) { -          M = +M + 1 -        } else { -          m = +m + 1 -        } -      } - -      if (gtlt === '<') { -        pr = '-0' -      } - -      ret = `${gtlt + M}.${m}.${p}${pr}` -    } else if (xm) { -      ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0` -    } else if (xp) { -      ret = `>=${M}.${m}.0${pr -      } <${M}.${+m + 1}.0-0` -    } - -    debug('xRange return', ret) - -    return ret -  }) -} - -// Because * is AND-ed with everything else in the comparator, -// and '' means "any version", just remove the *s entirely. -const replaceStars = (comp, options) => { -  debug('replaceStars', comp, options) -  // Looseness is ignored here.  star is always as loose as it gets! -  return comp.trim().replace(re[t.STAR], '') -} - -const replaceGTE0 = (comp, options) => { -  debug('replaceGTE0', comp, options) -  return comp.trim() -    .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '') -} - -// This function is passed to string.replace(re[t.HYPHENRANGE]) -// M, m, patch, prerelease, build -// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5 -// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do -// 1.2 - 3.4 => >=1.2.0 <3.5.0-0 -const hyphenReplace = incPr => ($0, -  from, fM, fm, fp, fpr, fb, -  to, tM, tm, tp, tpr, tb) => { -  if (isX(fM)) { -    from = '' -  } else if (isX(fm)) { -    from = `>=${fM}.0.0${incPr ? '-0' : ''}` -  } else if (isX(fp)) { -    from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}` -  } else if (fpr) { -    from = `>=${from}` -  } else { -    from = `>=${from}${incPr ? '-0' : ''}` -  } - -  if (isX(tM)) { -    to = '' -  } else if (isX(tm)) { -    to = `<${+tM + 1}.0.0-0` -  } else if (isX(tp)) { -    to = `<${tM}.${+tm + 1}.0-0` -  } else if (tpr) { -    to = `<=${tM}.${tm}.${tp}-${tpr}` -  } else if (incPr) { -    to = `<${tM}.${tm}.${+tp + 1}-0` -  } else { -    to = `<=${to}` -  } - -  return (`${from} ${to}`).trim() -} - -const testSet = (set, version, options) => { -  for (let i = 0; i < set.length; i++) { -    if (!set[i].test(version)) { -      return false -    } -  } - -  if (version.prerelease.length && !options.includePrerelease) { -    // Find the set of versions that are allowed to have prereleases -    // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0 -    // That should allow `1.2.3-pr.2` to pass. -    // However, `1.2.4-alpha.notready` should NOT be allowed, -    // even though it's within the range set by the comparators. -    for (let i = 0; i < set.length; i++) { -      debug(set[i].semver) -      if (set[i].semver === Comparator.ANY) { -        continue -      } - -      if (set[i].semver.prerelease.length > 0) { -        const allowed = set[i].semver -        if (allowed.major === version.major && -            allowed.minor === version.minor && -            allowed.patch === version.patch) { -          return true -        } -      } -    } - -    // Version has a -pre, but it's not one of the ones we like. -    return false -  } - -  return true -} diff --git a/node_modules/global-agent/node_modules/semver/classes/semver.js b/node_modules/global-agent/node_modules/semver/classes/semver.js deleted file mode 100644 index af62955..0000000 --- a/node_modules/global-agent/node_modules/semver/classes/semver.js +++ /dev/null @@ -1,287 +0,0 @@ -const debug = require('../internal/debug') -const { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants') -const { re, t } = require('../internal/re') - -const parseOptions = require('../internal/parse-options') -const { compareIdentifiers } = require('../internal/identifiers') -class SemVer { -  constructor (version, options) { -    options = parseOptions(options) - -    if (version instanceof SemVer) { -      if (version.loose === !!options.loose && -          version.includePrerelease === !!options.includePrerelease) { -        return version -      } else { -        version = version.version -      } -    } else if (typeof version !== 'string') { -      throw new TypeError(`Invalid Version: ${version}`) -    } - -    if (version.length > MAX_LENGTH) { -      throw new TypeError( -        `version is longer than ${MAX_LENGTH} characters` -      ) -    } - -    debug('SemVer', version, options) -    this.options = options -    this.loose = !!options.loose -    // this isn't actually relevant for versions, but keep it so that we -    // don't run into trouble passing this.options around. -    this.includePrerelease = !!options.includePrerelease - -    const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]) - -    if (!m) { -      throw new TypeError(`Invalid Version: ${version}`) -    } - -    this.raw = version - -    // these are actually numbers -    this.major = +m[1] -    this.minor = +m[2] -    this.patch = +m[3] - -    if (this.major > MAX_SAFE_INTEGER || this.major < 0) { -      throw new TypeError('Invalid major version') -    } - -    if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) { -      throw new TypeError('Invalid minor version') -    } - -    if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) { -      throw new TypeError('Invalid patch version') -    } - -    // numberify any prerelease numeric ids -    if (!m[4]) { -      this.prerelease = [] -    } else { -      this.prerelease = m[4].split('.').map((id) => { -        if (/^[0-9]+$/.test(id)) { -          const num = +id -          if (num >= 0 && num < MAX_SAFE_INTEGER) { -            return num -          } -        } -        return id -      }) -    } - -    this.build = m[5] ? m[5].split('.') : [] -    this.format() -  } - -  format () { -    this.version = `${this.major}.${this.minor}.${this.patch}` -    if (this.prerelease.length) { -      this.version += `-${this.prerelease.join('.')}` -    } -    return this.version -  } - -  toString () { -    return this.version -  } - -  compare (other) { -    debug('SemVer.compare', this.version, this.options, other) -    if (!(other instanceof SemVer)) { -      if (typeof other === 'string' && other === this.version) { -        return 0 -      } -      other = new SemVer(other, this.options) -    } - -    if (other.version === this.version) { -      return 0 -    } - -    return this.compareMain(other) || this.comparePre(other) -  } - -  compareMain (other) { -    if (!(other instanceof SemVer)) { -      other = new SemVer(other, this.options) -    } - -    return ( -      compareIdentifiers(this.major, other.major) || -      compareIdentifiers(this.minor, other.minor) || -      compareIdentifiers(this.patch, other.patch) -    ) -  } - -  comparePre (other) { -    if (!(other instanceof SemVer)) { -      other = new SemVer(other, this.options) -    } - -    // NOT having a prerelease is > having one -    if (this.prerelease.length && !other.prerelease.length) { -      return -1 -    } else if (!this.prerelease.length && other.prerelease.length) { -      return 1 -    } else if (!this.prerelease.length && !other.prerelease.length) { -      return 0 -    } - -    let i = 0 -    do { -      const a = this.prerelease[i] -      const b = other.prerelease[i] -      debug('prerelease compare', i, a, b) -      if (a === undefined && b === undefined) { -        return 0 -      } else if (b === undefined) { -        return 1 -      } else if (a === undefined) { -        return -1 -      } else if (a === b) { -        continue -      } else { -        return compareIdentifiers(a, b) -      } -    } while (++i) -  } - -  compareBuild (other) { -    if (!(other instanceof SemVer)) { -      other = new SemVer(other, this.options) -    } - -    let i = 0 -    do { -      const a = this.build[i] -      const b = other.build[i] -      debug('prerelease compare', i, a, b) -      if (a === undefined && b === undefined) { -        return 0 -      } else if (b === undefined) { -        return 1 -      } else if (a === undefined) { -        return -1 -      } else if (a === b) { -        continue -      } else { -        return compareIdentifiers(a, b) -      } -    } while (++i) -  } - -  // preminor will bump the version up to the next minor release, and immediately -  // down to pre-release. premajor and prepatch work the same way. -  inc (release, identifier) { -    switch (release) { -      case 'premajor': -        this.prerelease.length = 0 -        this.patch = 0 -        this.minor = 0 -        this.major++ -        this.inc('pre', identifier) -        break -      case 'preminor': -        this.prerelease.length = 0 -        this.patch = 0 -        this.minor++ -        this.inc('pre', identifier) -        break -      case 'prepatch': -        // If this is already a prerelease, it will bump to the next version -        // drop any prereleases that might already exist, since they are not -        // relevant at this point. -        this.prerelease.length = 0 -        this.inc('patch', identifier) -        this.inc('pre', identifier) -        break -      // If the input is a non-prerelease version, this acts the same as -      // prepatch. -      case 'prerelease': -        if (this.prerelease.length === 0) { -          this.inc('patch', identifier) -        } -        this.inc('pre', identifier) -        break - -      case 'major': -        // If this is a pre-major version, bump up to the same major version. -        // Otherwise increment major. -        // 1.0.0-5 bumps to 1.0.0 -        // 1.1.0 bumps to 2.0.0 -        if ( -          this.minor !== 0 || -          this.patch !== 0 || -          this.prerelease.length === 0 -        ) { -          this.major++ -        } -        this.minor = 0 -        this.patch = 0 -        this.prerelease = [] -        break -      case 'minor': -        // If this is a pre-minor version, bump up to the same minor version. -        // Otherwise increment minor. -        // 1.2.0-5 bumps to 1.2.0 -        // 1.2.1 bumps to 1.3.0 -        if (this.patch !== 0 || this.prerelease.length === 0) { -          this.minor++ -        } -        this.patch = 0 -        this.prerelease = [] -        break -      case 'patch': -        // If this is not a pre-release version, it will increment the patch. -        // If it is a pre-release it will bump up to the same patch version. -        // 1.2.0-5 patches to 1.2.0 -        // 1.2.0 patches to 1.2.1 -        if (this.prerelease.length === 0) { -          this.patch++ -        } -        this.prerelease = [] -        break -      // This probably shouldn't be used publicly. -      // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction. -      case 'pre': -        if (this.prerelease.length === 0) { -          this.prerelease = [0] -        } else { -          let i = this.prerelease.length -          while (--i >= 0) { -            if (typeof this.prerelease[i] === 'number') { -              this.prerelease[i]++ -              i = -2 -            } -          } -          if (i === -1) { -            // didn't increment anything -            this.prerelease.push(0) -          } -        } -        if (identifier) { -          // 1.2.0-beta.1 bumps to 1.2.0-beta.2, -          // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 -          if (compareIdentifiers(this.prerelease[0], identifier) === 0) { -            if (isNaN(this.prerelease[1])) { -              this.prerelease = [identifier, 0] -            } -          } else { -            this.prerelease = [identifier, 0] -          } -        } -        break - -      default: -        throw new Error(`invalid increment argument: ${release}`) -    } -    this.format() -    this.raw = this.version -    return this -  } -} - -module.exports = SemVer diff --git a/node_modules/global-agent/node_modules/semver/functions/clean.js b/node_modules/global-agent/node_modules/semver/functions/clean.js deleted file mode 100644 index 811fe6b..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/clean.js +++ /dev/null @@ -1,6 +0,0 @@ -const parse = require('./parse') -const clean = (version, options) => { -  const s = parse(version.trim().replace(/^[=v]+/, ''), options) -  return s ? s.version : null -} -module.exports = clean diff --git a/node_modules/global-agent/node_modules/semver/functions/cmp.js b/node_modules/global-agent/node_modules/semver/functions/cmp.js deleted file mode 100644 index 4011909..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/cmp.js +++ /dev/null @@ -1,52 +0,0 @@ -const eq = require('./eq') -const neq = require('./neq') -const gt = require('./gt') -const gte = require('./gte') -const lt = require('./lt') -const lte = require('./lte') - -const cmp = (a, op, b, loose) => { -  switch (op) { -    case '===': -      if (typeof a === 'object') { -        a = a.version -      } -      if (typeof b === 'object') { -        b = b.version -      } -      return a === b - -    case '!==': -      if (typeof a === 'object') { -        a = a.version -      } -      if (typeof b === 'object') { -        b = b.version -      } -      return a !== b - -    case '': -    case '=': -    case '==': -      return eq(a, b, loose) - -    case '!=': -      return neq(a, b, loose) - -    case '>': -      return gt(a, b, loose) - -    case '>=': -      return gte(a, b, loose) - -    case '<': -      return lt(a, b, loose) - -    case '<=': -      return lte(a, b, loose) - -    default: -      throw new TypeError(`Invalid operator: ${op}`) -  } -} -module.exports = cmp diff --git a/node_modules/global-agent/node_modules/semver/functions/coerce.js b/node_modules/global-agent/node_modules/semver/functions/coerce.js deleted file mode 100644 index 2e01452..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/coerce.js +++ /dev/null @@ -1,52 +0,0 @@ -const SemVer = require('../classes/semver') -const parse = require('./parse') -const { re, t } = require('../internal/re') - -const coerce = (version, options) => { -  if (version instanceof SemVer) { -    return version -  } - -  if (typeof version === 'number') { -    version = String(version) -  } - -  if (typeof version !== 'string') { -    return null -  } - -  options = options || {} - -  let match = null -  if (!options.rtl) { -    match = version.match(re[t.COERCE]) -  } else { -    // Find the right-most coercible string that does not share -    // a terminus with a more left-ward coercible string. -    // Eg, '1.2.3.4' wants to coerce '2.3.4', not '3.4' or '4' -    // -    // Walk through the string checking with a /g regexp -    // Manually set the index so as to pick up overlapping matches. -    // Stop when we get a match that ends at the string end, since no -    // coercible string can be more right-ward without the same terminus. -    let next -    while ((next = re[t.COERCERTL].exec(version)) && -        (!match || match.index + match[0].length !== version.length) -    ) { -      if (!match || -            next.index + next[0].length !== match.index + match[0].length) { -        match = next -      } -      re[t.COERCERTL].lastIndex = next.index + next[1].length + next[2].length -    } -    // leave it in a clean state -    re[t.COERCERTL].lastIndex = -1 -  } - -  if (match === null) { -    return null -  } - -  return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options) -} -module.exports = coerce diff --git a/node_modules/global-agent/node_modules/semver/functions/compare-build.js b/node_modules/global-agent/node_modules/semver/functions/compare-build.js deleted file mode 100644 index 9eb881b..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/compare-build.js +++ /dev/null @@ -1,7 +0,0 @@ -const SemVer = require('../classes/semver') -const compareBuild = (a, b, loose) => { -  const versionA = new SemVer(a, loose) -  const versionB = new SemVer(b, loose) -  return versionA.compare(versionB) || versionA.compareBuild(versionB) -} -module.exports = compareBuild diff --git a/node_modules/global-agent/node_modules/semver/functions/compare-loose.js b/node_modules/global-agent/node_modules/semver/functions/compare-loose.js deleted file mode 100644 index 4881fbe..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/compare-loose.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const compareLoose = (a, b) => compare(a, b, true) -module.exports = compareLoose diff --git a/node_modules/global-agent/node_modules/semver/functions/compare.js b/node_modules/global-agent/node_modules/semver/functions/compare.js deleted file mode 100644 index 748b7af..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/compare.js +++ /dev/null @@ -1,5 +0,0 @@ -const SemVer = require('../classes/semver') -const compare = (a, b, loose) => -  new SemVer(a, loose).compare(new SemVer(b, loose)) - -module.exports = compare diff --git a/node_modules/global-agent/node_modules/semver/functions/diff.js b/node_modules/global-agent/node_modules/semver/functions/diff.js deleted file mode 100644 index 87200ef..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/diff.js +++ /dev/null @@ -1,23 +0,0 @@ -const parse = require('./parse') -const eq = require('./eq') - -const diff = (version1, version2) => { -  if (eq(version1, version2)) { -    return null -  } else { -    const v1 = parse(version1) -    const v2 = parse(version2) -    const hasPre = v1.prerelease.length || v2.prerelease.length -    const prefix = hasPre ? 'pre' : '' -    const defaultResult = hasPre ? 'prerelease' : '' -    for (const key in v1) { -      if (key === 'major' || key === 'minor' || key === 'patch') { -        if (v1[key] !== v2[key]) { -          return prefix + key -        } -      } -    } -    return defaultResult // may be undefined -  } -} -module.exports = diff diff --git a/node_modules/global-agent/node_modules/semver/functions/eq.js b/node_modules/global-agent/node_modules/semver/functions/eq.js deleted file mode 100644 index 271fed9..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/eq.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const eq = (a, b, loose) => compare(a, b, loose) === 0 -module.exports = eq diff --git a/node_modules/global-agent/node_modules/semver/functions/gt.js b/node_modules/global-agent/node_modules/semver/functions/gt.js deleted file mode 100644 index d9b2156..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/gt.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const gt = (a, b, loose) => compare(a, b, loose) > 0 -module.exports = gt diff --git a/node_modules/global-agent/node_modules/semver/functions/gte.js b/node_modules/global-agent/node_modules/semver/functions/gte.js deleted file mode 100644 index 5aeaa63..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/gte.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const gte = (a, b, loose) => compare(a, b, loose) >= 0 -module.exports = gte diff --git a/node_modules/global-agent/node_modules/semver/functions/inc.js b/node_modules/global-agent/node_modules/semver/functions/inc.js deleted file mode 100644 index 62d1da2..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/inc.js +++ /dev/null @@ -1,18 +0,0 @@ -const SemVer = require('../classes/semver') - -const inc = (version, release, options, identifier) => { -  if (typeof (options) === 'string') { -    identifier = options -    options = undefined -  } - -  try { -    return new SemVer( -      version instanceof SemVer ? version.version : version, -      options -    ).inc(release, identifier).version -  } catch (er) { -    return null -  } -} -module.exports = inc diff --git a/node_modules/global-agent/node_modules/semver/functions/lt.js b/node_modules/global-agent/node_modules/semver/functions/lt.js deleted file mode 100644 index b440ab7..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/lt.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const lt = (a, b, loose) => compare(a, b, loose) < 0 -module.exports = lt diff --git a/node_modules/global-agent/node_modules/semver/functions/lte.js b/node_modules/global-agent/node_modules/semver/functions/lte.js deleted file mode 100644 index 6dcc956..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/lte.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const lte = (a, b, loose) => compare(a, b, loose) <= 0 -module.exports = lte diff --git a/node_modules/global-agent/node_modules/semver/functions/major.js b/node_modules/global-agent/node_modules/semver/functions/major.js deleted file mode 100644 index 4283165..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/major.js +++ /dev/null @@ -1,3 +0,0 @@ -const SemVer = require('../classes/semver') -const major = (a, loose) => new SemVer(a, loose).major -module.exports = major diff --git a/node_modules/global-agent/node_modules/semver/functions/minor.js b/node_modules/global-agent/node_modules/semver/functions/minor.js deleted file mode 100644 index 57b3455..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/minor.js +++ /dev/null @@ -1,3 +0,0 @@ -const SemVer = require('../classes/semver') -const minor = (a, loose) => new SemVer(a, loose).minor -module.exports = minor diff --git a/node_modules/global-agent/node_modules/semver/functions/neq.js b/node_modules/global-agent/node_modules/semver/functions/neq.js deleted file mode 100644 index f944c01..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/neq.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const neq = (a, b, loose) => compare(a, b, loose) !== 0 -module.exports = neq diff --git a/node_modules/global-agent/node_modules/semver/functions/parse.js b/node_modules/global-agent/node_modules/semver/functions/parse.js deleted file mode 100644 index a66663a..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/parse.js +++ /dev/null @@ -1,33 +0,0 @@ -const { MAX_LENGTH } = require('../internal/constants') -const { re, t } = require('../internal/re') -const SemVer = require('../classes/semver') - -const parseOptions = require('../internal/parse-options') -const parse = (version, options) => { -  options = parseOptions(options) - -  if (version instanceof SemVer) { -    return version -  } - -  if (typeof version !== 'string') { -    return null -  } - -  if (version.length > MAX_LENGTH) { -    return null -  } - -  const r = options.loose ? re[t.LOOSE] : re[t.FULL] -  if (!r.test(version)) { -    return null -  } - -  try { -    return new SemVer(version, options) -  } catch (er) { -    return null -  } -} - -module.exports = parse diff --git a/node_modules/global-agent/node_modules/semver/functions/patch.js b/node_modules/global-agent/node_modules/semver/functions/patch.js deleted file mode 100644 index 63afca2..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/patch.js +++ /dev/null @@ -1,3 +0,0 @@ -const SemVer = require('../classes/semver') -const patch = (a, loose) => new SemVer(a, loose).patch -module.exports = patch diff --git a/node_modules/global-agent/node_modules/semver/functions/prerelease.js b/node_modules/global-agent/node_modules/semver/functions/prerelease.js deleted file mode 100644 index 06aa132..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/prerelease.js +++ /dev/null @@ -1,6 +0,0 @@ -const parse = require('./parse') -const prerelease = (version, options) => { -  const parsed = parse(version, options) -  return (parsed && parsed.prerelease.length) ? parsed.prerelease : null -} -module.exports = prerelease diff --git a/node_modules/global-agent/node_modules/semver/functions/rcompare.js b/node_modules/global-agent/node_modules/semver/functions/rcompare.js deleted file mode 100644 index 0ac509e..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/rcompare.js +++ /dev/null @@ -1,3 +0,0 @@ -const compare = require('./compare') -const rcompare = (a, b, loose) => compare(b, a, loose) -module.exports = rcompare diff --git a/node_modules/global-agent/node_modules/semver/functions/rsort.js b/node_modules/global-agent/node_modules/semver/functions/rsort.js deleted file mode 100644 index 82404c5..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/rsort.js +++ /dev/null @@ -1,3 +0,0 @@ -const compareBuild = require('./compare-build') -const rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose)) -module.exports = rsort diff --git a/node_modules/global-agent/node_modules/semver/functions/satisfies.js b/node_modules/global-agent/node_modules/semver/functions/satisfies.js deleted file mode 100644 index 50af1c1..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/satisfies.js +++ /dev/null @@ -1,10 +0,0 @@ -const Range = require('../classes/range') -const satisfies = (version, range, options) => { -  try { -    range = new Range(range, options) -  } catch (er) { -    return false -  } -  return range.test(version) -} -module.exports = satisfies diff --git a/node_modules/global-agent/node_modules/semver/functions/sort.js b/node_modules/global-agent/node_modules/semver/functions/sort.js deleted file mode 100644 index 4d10917..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/sort.js +++ /dev/null @@ -1,3 +0,0 @@ -const compareBuild = require('./compare-build') -const sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose)) -module.exports = sort diff --git a/node_modules/global-agent/node_modules/semver/functions/valid.js b/node_modules/global-agent/node_modules/semver/functions/valid.js deleted file mode 100644 index f27bae1..0000000 --- a/node_modules/global-agent/node_modules/semver/functions/valid.js +++ /dev/null @@ -1,6 +0,0 @@ -const parse = require('./parse') -const valid = (version, options) => { -  const v = parse(version, options) -  return v ? v.version : null -} -module.exports = valid diff --git a/node_modules/global-agent/node_modules/semver/index.js b/node_modules/global-agent/node_modules/semver/index.js deleted file mode 100644 index 57e2ae6..0000000 --- a/node_modules/global-agent/node_modules/semver/index.js +++ /dev/null @@ -1,48 +0,0 @@ -// just pre-load all the stuff that index.js lazily exports -const internalRe = require('./internal/re') -module.exports = { -  re: internalRe.re, -  src: internalRe.src, -  tokens: internalRe.t, -  SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION, -  SemVer: require('./classes/semver'), -  compareIdentifiers: require('./internal/identifiers').compareIdentifiers, -  rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers, -  parse: require('./functions/parse'), -  valid: require('./functions/valid'), -  clean: require('./functions/clean'), -  inc: require('./functions/inc'), -  diff: require('./functions/diff'), -  major: require('./functions/major'), -  minor: require('./functions/minor'), -  patch: require('./functions/patch'), -  prerelease: require('./functions/prerelease'), -  compare: require('./functions/compare'), -  rcompare: require('./functions/rcompare'), -  compareLoose: require('./functions/compare-loose'), -  compareBuild: require('./functions/compare-build'), -  sort: require('./functions/sort'), -  rsort: require('./functions/rsort'), -  gt: require('./functions/gt'), -  lt: require('./functions/lt'), -  eq: require('./functions/eq'), -  neq: require('./functions/neq'), -  gte: require('./functions/gte'), -  lte: require('./functions/lte'), -  cmp: require('./functions/cmp'), -  coerce: require('./functions/coerce'), -  Comparator: require('./classes/comparator'), -  Range: require('./classes/range'), -  satisfies: require('./functions/satisfies'), -  toComparators: require('./ranges/to-comparators'), -  maxSatisfying: require('./ranges/max-satisfying'), -  minSatisfying: require('./ranges/min-satisfying'), -  minVersion: require('./ranges/min-version'), -  validRange: require('./ranges/valid'), -  outside: require('./ranges/outside'), -  gtr: require('./ranges/gtr'), -  ltr: require('./ranges/ltr'), -  intersects: require('./ranges/intersects'), -  simplifyRange: require('./ranges/simplify'), -  subset: require('./ranges/subset'), -} diff --git a/node_modules/global-agent/node_modules/semver/internal/constants.js b/node_modules/global-agent/node_modules/semver/internal/constants.js deleted file mode 100644 index 4f0de59..0000000 --- a/node_modules/global-agent/node_modules/semver/internal/constants.js +++ /dev/null @@ -1,17 +0,0 @@ -// Note: this is the semver.org version of the spec that it implements -// Not necessarily the package version of this code. -const SEMVER_SPEC_VERSION = '2.0.0' - -const MAX_LENGTH = 256 -const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || -/* istanbul ignore next */ 9007199254740991 - -// Max safe segment length for coercion. -const MAX_SAFE_COMPONENT_LENGTH = 16 - -module.exports = { -  SEMVER_SPEC_VERSION, -  MAX_LENGTH, -  MAX_SAFE_INTEGER, -  MAX_SAFE_COMPONENT_LENGTH, -} diff --git a/node_modules/global-agent/node_modules/semver/internal/debug.js b/node_modules/global-agent/node_modules/semver/internal/debug.js deleted file mode 100644 index 1c00e13..0000000 --- a/node_modules/global-agent/node_modules/semver/internal/debug.js +++ /dev/null @@ -1,9 +0,0 @@ -const debug = ( -  typeof process === 'object' && -  process.env && -  process.env.NODE_DEBUG && -  /\bsemver\b/i.test(process.env.NODE_DEBUG) -) ? (...args) => console.error('SEMVER', ...args) -  : () => {} - -module.exports = debug diff --git a/node_modules/global-agent/node_modules/semver/internal/identifiers.js b/node_modules/global-agent/node_modules/semver/internal/identifiers.js deleted file mode 100644 index e612d0a..0000000 --- a/node_modules/global-agent/node_modules/semver/internal/identifiers.js +++ /dev/null @@ -1,23 +0,0 @@ -const numeric = /^[0-9]+$/ -const compareIdentifiers = (a, b) => { -  const anum = numeric.test(a) -  const bnum = numeric.test(b) - -  if (anum && bnum) { -    a = +a -    b = +b -  } - -  return a === b ? 0 -    : (anum && !bnum) ? -1 -    : (bnum && !anum) ? 1 -    : a < b ? -1 -    : 1 -} - -const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) - -module.exports = { -  compareIdentifiers, -  rcompareIdentifiers, -} diff --git a/node_modules/global-agent/node_modules/semver/internal/parse-options.js b/node_modules/global-agent/node_modules/semver/internal/parse-options.js deleted file mode 100644 index bbd9ec7..0000000 --- a/node_modules/global-agent/node_modules/semver/internal/parse-options.js +++ /dev/null @@ -1,11 +0,0 @@ -// parse out just the options we care about so we always get a consistent -// obj with keys in a consistent order. -const opts = ['includePrerelease', 'loose', 'rtl'] -const parseOptions = options => -  !options ? {} -  : typeof options !== 'object' ? { loose: true } -  : opts.filter(k => options[k]).reduce((o, k) => { -    o[k] = true -    return o -  }, {}) -module.exports = parseOptions diff --git a/node_modules/global-agent/node_modules/semver/internal/re.js b/node_modules/global-agent/node_modules/semver/internal/re.js deleted file mode 100644 index ed88398..0000000 --- a/node_modules/global-agent/node_modules/semver/internal/re.js +++ /dev/null @@ -1,182 +0,0 @@ -const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants') -const debug = require('./debug') -exports = module.exports = {} - -// The actual regexps go on exports.re -const re = exports.re = [] -const src = exports.src = [] -const t = exports.t = {} -let R = 0 - -const createToken = (name, value, isGlobal) => { -  const index = R++ -  debug(name, index, value) -  t[name] = index -  src[index] = value -  re[index] = new RegExp(value, isGlobal ? 'g' : undefined) -} - -// The following Regular Expressions can be used for tokenizing, -// validating, and parsing SemVer version strings. - -// ## Numeric Identifier -// A single `0`, or a non-zero digit followed by zero or more digits. - -createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*') -createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+') - -// ## Non-numeric Identifier -// Zero or more digits, followed by a letter or hyphen, and then zero or -// more letters, digits, or hyphens. - -createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*') - -// ## Main Version -// Three dot-separated numeric identifiers. - -createToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\.` + -                   `(${src[t.NUMERICIDENTIFIER]})\\.` + -                   `(${src[t.NUMERICIDENTIFIER]})`) - -createToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + -                        `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.` + -                        `(${src[t.NUMERICIDENTIFIERLOOSE]})`) - -// ## Pre-release Version Identifier -// A numeric identifier, or a non-numeric identifier. - -createToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER] -}|${src[t.NONNUMERICIDENTIFIER]})`) - -createToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE] -}|${src[t.NONNUMERICIDENTIFIER]})`) - -// ## Pre-release Version -// Hyphen, followed by one or more dot-separated pre-release version -// identifiers. - -createToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER] -}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`) - -createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE] -}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`) - -// ## Build Metadata Identifier -// Any combination of digits, letters, or hyphens. - -createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+') - -// ## Build Metadata -// Plus sign, followed by one or more period-separated build metadata -// identifiers. - -createToken('BUILD', `(?:\\+(${src[t.BUILDIDENTIFIER] -}(?:\\.${src[t.BUILDIDENTIFIER]})*))`) - -// ## Full Version String -// A main version, followed optionally by a pre-release version and -// build metadata. - -// Note that the only major, minor, patch, and pre-release sections of -// the version string are capturing groups.  The build metadata is not a -// capturing group, because it should not ever be used in version -// comparison. - -createToken('FULLPLAIN', `v?${src[t.MAINVERSION] -}${src[t.PRERELEASE]}?${ -  src[t.BUILD]}?`) - -createToken('FULL', `^${src[t.FULLPLAIN]}$`) - -// like full, but allows v1.2.3 and =1.2.3, which people do sometimes. -// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty -// common in the npm registry. -createToken('LOOSEPLAIN', `[v=\\s]*${src[t.MAINVERSIONLOOSE] -}${src[t.PRERELEASELOOSE]}?${ -  src[t.BUILD]}?`) - -createToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`) - -createToken('GTLT', '((?:<|>)?=?)') - -// Something like "2.*" or "1.2.x". -// Note that "x.x" is a valid xRange identifer, meaning "any version" -// Only the first item is strictly required. -createToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`) -createToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`) - -createToken('XRANGEPLAIN', `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})` + -                   `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + -                   `(?:\\.(${src[t.XRANGEIDENTIFIER]})` + -                   `(?:${src[t.PRERELEASE]})?${ -                     src[t.BUILD]}?` + -                   `)?)?`) - -createToken('XRANGEPLAINLOOSE', `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + -                        `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + -                        `(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + -                        `(?:${src[t.PRERELEASELOOSE]})?${ -                          src[t.BUILD]}?` + -                        `)?)?`) - -createToken('XRANGE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`) -createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`) - -// Coercion. -// Extract anything that could conceivably be a part of a valid semver -createToken('COERCE', `${'(^|[^\\d])' + -              '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` + -              `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + -              `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` + -              `(?:$|[^\\d])`) -createToken('COERCERTL', src[t.COERCE], true) - -// Tilde ranges. -// Meaning is "reasonably at or greater than" -createToken('LONETILDE', '(?:~>?)') - -createToken('TILDETRIM', `(\\s*)${src[t.LONETILDE]}\\s+`, true) -exports.tildeTrimReplace = '$1~' - -createToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`) -createToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`) - -// Caret ranges. -// Meaning is "at least and backwards compatible with" -createToken('LONECARET', '(?:\\^)') - -createToken('CARETTRIM', `(\\s*)${src[t.LONECARET]}\\s+`, true) -exports.caretTrimReplace = '$1^' - -createToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`) -createToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`) - -// A simple gt/lt/eq thing, or just "" to indicate "any version" -createToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`) -createToken('COMPARATOR', `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`) - -// An expression to strip any whitespace between the gtlt and the thing -// it modifies, so that `> 1.2.3` ==> `>1.2.3` -createToken('COMPARATORTRIM', `(\\s*)${src[t.GTLT] -}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true) -exports.comparatorTrimReplace = '$1$2$3' - -// Something like `1.2.3 - 1.2.4` -// Note that these all use the loose form, because they'll be -// checked against either the strict or loose comparator form -// later. -createToken('HYPHENRANGE', `^\\s*(${src[t.XRANGEPLAIN]})` + -                   `\\s+-\\s+` + -                   `(${src[t.XRANGEPLAIN]})` + -                   `\\s*$`) - -createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + -                        `\\s+-\\s+` + -                        `(${src[t.XRANGEPLAINLOOSE]})` + -                        `\\s*$`) - -// Star ranges basically just allow anything at all. -createToken('STAR', '(<|>)?=?\\s*\\*') -// >=0.0.0 is like a star -createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') -createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') diff --git a/node_modules/global-agent/node_modules/semver/package.json b/node_modules/global-agent/node_modules/semver/package.json deleted file mode 100644 index 7898f59..0000000 --- a/node_modules/global-agent/node_modules/semver/package.json +++ /dev/null @@ -1,75 +0,0 @@ -{ -  "name": "semver", -  "version": "7.3.7", -  "description": "The semantic version parser used by npm.", -  "main": "index.js", -  "scripts": { -    "test": "tap", -    "snap": "tap", -    "preversion": "npm test", -    "postversion": "npm publish", -    "postpublish": "git push origin --follow-tags", -    "lint": "eslint \"**/*.js\"", -    "postlint": "template-oss-check", -    "lintfix": "npm run lint -- --fix", -    "prepublishOnly": "git push origin --follow-tags", -    "posttest": "npm run lint", -    "template-oss-apply": "template-oss-apply --force" -  }, -  "devDependencies": { -    "@npmcli/eslint-config": "^3.0.1", -    "@npmcli/template-oss": "3.3.2", -    "tap": "^16.0.0" -  }, -  "license": "ISC", -  "repository": { -    "type": "git", -    "url": "https://github.com/npm/node-semver.git" -  }, -  "bin": { -    "semver": "bin/semver.js" -  }, -  "files": [ -    "bin/", -    "classes/", -    "functions/", -    "internal/", -    "ranges/", -    "index.js", -    "preload.js", -    "range.bnf" -  ], -  "tap": { -    "check-coverage": true, -    "coverage-map": "map.js" -  }, -  "engines": { -    "node": ">=10" -  }, -  "dependencies": { -    "lru-cache": "^6.0.0" -  }, -  "author": "GitHub Inc.", -  "templateOSS": { -    "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", -    "version": "3.3.2", -    "engines": ">=10", -    "ciVersions": [ -      "10.0.0", -      "10.x", -      "12.x", -      "14.x", -      "16.x" -    ], -    "distPaths": [ -      "bin/", -      "classes/", -      "functions/", -      "internal/", -      "ranges/", -      "index.js", -      "preload.js", -      "range.bnf" -    ] -  } -} diff --git a/node_modules/global-agent/node_modules/semver/preload.js b/node_modules/global-agent/node_modules/semver/preload.js deleted file mode 100644 index 947cd4f..0000000 --- a/node_modules/global-agent/node_modules/semver/preload.js +++ /dev/null @@ -1,2 +0,0 @@ -// XXX remove in v8 or beyond -module.exports = require('./index.js') diff --git a/node_modules/global-agent/node_modules/semver/range.bnf b/node_modules/global-agent/node_modules/semver/range.bnf deleted file mode 100644 index d4c6ae0..0000000 --- a/node_modules/global-agent/node_modules/semver/range.bnf +++ /dev/null @@ -1,16 +0,0 @@ -range-set  ::= range ( logical-or range ) * -logical-or ::= ( ' ' ) * '||' ( ' ' ) * -range      ::= hyphen | simple ( ' ' simple ) * | '' -hyphen     ::= partial ' - ' partial -simple     ::= primitive | partial | tilde | caret -primitive  ::= ( '<' | '>' | '>=' | '<=' | '=' ) partial -partial    ::= xr ( '.' xr ( '.' xr qualifier ? )? )? -xr         ::= 'x' | 'X' | '*' | nr -nr         ::= '0' | [1-9] ( [0-9] ) * -tilde      ::= '~' partial -caret      ::= '^' partial -qualifier  ::= ( '-' pre )? ( '+' build )? -pre        ::= parts -build      ::= parts -parts      ::= part ( '.' part ) * -part       ::= nr | [-0-9A-Za-z]+ diff --git a/node_modules/global-agent/node_modules/semver/ranges/gtr.js b/node_modules/global-agent/node_modules/semver/ranges/gtr.js deleted file mode 100644 index db7e355..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/gtr.js +++ /dev/null @@ -1,4 +0,0 @@ -// Determine if version is greater than all the versions possible in the range. -const outside = require('./outside') -const gtr = (version, range, options) => outside(version, range, '>', options) -module.exports = gtr diff --git a/node_modules/global-agent/node_modules/semver/ranges/intersects.js b/node_modules/global-agent/node_modules/semver/ranges/intersects.js deleted file mode 100644 index 3d1a6f3..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/intersects.js +++ /dev/null @@ -1,7 +0,0 @@ -const Range = require('../classes/range') -const intersects = (r1, r2, options) => { -  r1 = new Range(r1, options) -  r2 = new Range(r2, options) -  return r1.intersects(r2) -} -module.exports = intersects diff --git a/node_modules/global-agent/node_modules/semver/ranges/ltr.js b/node_modules/global-agent/node_modules/semver/ranges/ltr.js deleted file mode 100644 index 528a885..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/ltr.js +++ /dev/null @@ -1,4 +0,0 @@ -const outside = require('./outside') -// Determine if version is less than all the versions possible in the range -const ltr = (version, range, options) => outside(version, range, '<', options) -module.exports = ltr diff --git a/node_modules/global-agent/node_modules/semver/ranges/max-satisfying.js b/node_modules/global-agent/node_modules/semver/ranges/max-satisfying.js deleted file mode 100644 index 6e3d993..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/max-satisfying.js +++ /dev/null @@ -1,25 +0,0 @@ -const SemVer = require('../classes/semver') -const Range = require('../classes/range') - -const maxSatisfying = (versions, range, options) => { -  let max = null -  let maxSV = null -  let rangeObj = null -  try { -    rangeObj = new Range(range, options) -  } catch (er) { -    return null -  } -  versions.forEach((v) => { -    if (rangeObj.test(v)) { -      // satisfies(v, range, options) -      if (!max || maxSV.compare(v) === -1) { -        // compare(max, v, true) -        max = v -        maxSV = new SemVer(max, options) -      } -    } -  }) -  return max -} -module.exports = maxSatisfying diff --git a/node_modules/global-agent/node_modules/semver/ranges/min-satisfying.js b/node_modules/global-agent/node_modules/semver/ranges/min-satisfying.js deleted file mode 100644 index 9b60974..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/min-satisfying.js +++ /dev/null @@ -1,24 +0,0 @@ -const SemVer = require('../classes/semver') -const Range = require('../classes/range') -const minSatisfying = (versions, range, options) => { -  let min = null -  let minSV = null -  let rangeObj = null -  try { -    rangeObj = new Range(range, options) -  } catch (er) { -    return null -  } -  versions.forEach((v) => { -    if (rangeObj.test(v)) { -      // satisfies(v, range, options) -      if (!min || minSV.compare(v) === 1) { -        // compare(min, v, true) -        min = v -        minSV = new SemVer(min, options) -      } -    } -  }) -  return min -} -module.exports = minSatisfying diff --git a/node_modules/global-agent/node_modules/semver/ranges/min-version.js b/node_modules/global-agent/node_modules/semver/ranges/min-version.js deleted file mode 100644 index 350e1f7..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/min-version.js +++ /dev/null @@ -1,61 +0,0 @@ -const SemVer = require('../classes/semver') -const Range = require('../classes/range') -const gt = require('../functions/gt') - -const minVersion = (range, loose) => { -  range = new Range(range, loose) - -  let minver = new SemVer('0.0.0') -  if (range.test(minver)) { -    return minver -  } - -  minver = new SemVer('0.0.0-0') -  if (range.test(minver)) { -    return minver -  } - -  minver = null -  for (let i = 0; i < range.set.length; ++i) { -    const comparators = range.set[i] - -    let setMin = null -    comparators.forEach((comparator) => { -      // Clone to avoid manipulating the comparator's semver object. -      const compver = new SemVer(comparator.semver.version) -      switch (comparator.operator) { -        case '>': -          if (compver.prerelease.length === 0) { -            compver.patch++ -          } else { -            compver.prerelease.push(0) -          } -          compver.raw = compver.format() -          /* fallthrough */ -        case '': -        case '>=': -          if (!setMin || gt(compver, setMin)) { -            setMin = compver -          } -          break -        case '<': -        case '<=': -          /* Ignore maximum versions */ -          break -        /* istanbul ignore next */ -        default: -          throw new Error(`Unexpected operation: ${comparator.operator}`) -      } -    }) -    if (setMin && (!minver || gt(minver, setMin))) { -      minver = setMin -    } -  } - -  if (minver && range.test(minver)) { -    return minver -  } - -  return null -} -module.exports = minVersion diff --git a/node_modules/global-agent/node_modules/semver/ranges/outside.js b/node_modules/global-agent/node_modules/semver/ranges/outside.js deleted file mode 100644 index ae99b10..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/outside.js +++ /dev/null @@ -1,80 +0,0 @@ -const SemVer = require('../classes/semver') -const Comparator = require('../classes/comparator') -const { ANY } = Comparator -const Range = require('../classes/range') -const satisfies = require('../functions/satisfies') -const gt = require('../functions/gt') -const lt = require('../functions/lt') -const lte = require('../functions/lte') -const gte = require('../functions/gte') - -const outside = (version, range, hilo, options) => { -  version = new SemVer(version, options) -  range = new Range(range, options) - -  let gtfn, ltefn, ltfn, comp, ecomp -  switch (hilo) { -    case '>': -      gtfn = gt -      ltefn = lte -      ltfn = lt -      comp = '>' -      ecomp = '>=' -      break -    case '<': -      gtfn = lt -      ltefn = gte -      ltfn = gt -      comp = '<' -      ecomp = '<=' -      break -    default: -      throw new TypeError('Must provide a hilo val of "<" or ">"') -  } - -  // If it satisfies the range it is not outside -  if (satisfies(version, range, options)) { -    return false -  } - -  // From now on, variable terms are as if we're in "gtr" mode. -  // but note that everything is flipped for the "ltr" function. - -  for (let i = 0; i < range.set.length; ++i) { -    const comparators = range.set[i] - -    let high = null -    let low = null - -    comparators.forEach((comparator) => { -      if (comparator.semver === ANY) { -        comparator = new Comparator('>=0.0.0') -      } -      high = high || comparator -      low = low || comparator -      if (gtfn(comparator.semver, high.semver, options)) { -        high = comparator -      } else if (ltfn(comparator.semver, low.semver, options)) { -        low = comparator -      } -    }) - -    // If the edge version comparator has a operator then our version -    // isn't outside it -    if (high.operator === comp || high.operator === ecomp) { -      return false -    } - -    // If the lowest version comparator has an operator and our version -    // is less than it then it isn't higher than the range -    if ((!low.operator || low.operator === comp) && -        ltefn(version, low.semver)) { -      return false -    } else if (low.operator === ecomp && ltfn(version, low.semver)) { -      return false -    } -  } -  return true -} - -module.exports = outside diff --git a/node_modules/global-agent/node_modules/semver/ranges/simplify.js b/node_modules/global-agent/node_modules/semver/ranges/simplify.js deleted file mode 100644 index 618d5b6..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/simplify.js +++ /dev/null @@ -1,47 +0,0 @@ -// given a set of versions and a range, create a "simplified" range -// that includes the same versions that the original range does -// If the original range is shorter than the simplified one, return that. -const satisfies = require('../functions/satisfies.js') -const compare = require('../functions/compare.js') -module.exports = (versions, range, options) => { -  const set = [] -  let first = null -  let prev = null -  const v = versions.sort((a, b) => compare(a, b, options)) -  for (const version of v) { -    const included = satisfies(version, range, options) -    if (included) { -      prev = version -      if (!first) { -        first = version -      } -    } else { -      if (prev) { -        set.push([first, prev]) -      } -      prev = null -      first = null -    } -  } -  if (first) { -    set.push([first, null]) -  } - -  const ranges = [] -  for (const [min, max] of set) { -    if (min === max) { -      ranges.push(min) -    } else if (!max && min === v[0]) { -      ranges.push('*') -    } else if (!max) { -      ranges.push(`>=${min}`) -    } else if (min === v[0]) { -      ranges.push(`<=${max}`) -    } else { -      ranges.push(`${min} - ${max}`) -    } -  } -  const simplified = ranges.join(' || ') -  const original = typeof range.raw === 'string' ? range.raw : String(range) -  return simplified.length < original.length ? simplified : range -} diff --git a/node_modules/global-agent/node_modules/semver/ranges/subset.js b/node_modules/global-agent/node_modules/semver/ranges/subset.js deleted file mode 100644 index e0dea43..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/subset.js +++ /dev/null @@ -1,244 +0,0 @@ -const Range = require('../classes/range.js') -const Comparator = require('../classes/comparator.js') -const { ANY } = Comparator -const satisfies = require('../functions/satisfies.js') -const compare = require('../functions/compare.js') - -// Complex range `r1 || r2 || ...` is a subset of `R1 || R2 || ...` iff: -// - Every simple range `r1, r2, ...` is a null set, OR -// - Every simple range `r1, r2, ...` which is not a null set is a subset of -//   some `R1, R2, ...` -// -// Simple range `c1 c2 ...` is a subset of simple range `C1 C2 ...` iff: -// - If c is only the ANY comparator -//   - If C is only the ANY comparator, return true -//   - Else if in prerelease mode, return false -//   - else replace c with `[>=0.0.0]` -// - If C is only the ANY comparator -//   - if in prerelease mode, return true -//   - else replace C with `[>=0.0.0]` -// - Let EQ be the set of = comparators in c -// - If EQ is more than one, return true (null set) -// - Let GT be the highest > or >= comparator in c -// - Let LT be the lowest < or <= comparator in c -// - If GT and LT, and GT.semver > LT.semver, return true (null set) -// - If any C is a = range, and GT or LT are set, return false -// - If EQ -//   - If GT, and EQ does not satisfy GT, return true (null set) -//   - If LT, and EQ does not satisfy LT, return true (null set) -//   - If EQ satisfies every C, return true -//   - Else return false -// - If GT -//   - If GT.semver is lower than any > or >= comp in C, return false -//   - If GT is >=, and GT.semver does not satisfy every C, return false -//   - If GT.semver has a prerelease, and not in prerelease mode -//     - If no C has a prerelease and the GT.semver tuple, return false -// - If LT -//   - If LT.semver is greater than any < or <= comp in C, return false -//   - If LT is <=, and LT.semver does not satisfy every C, return false -//   - If GT.semver has a prerelease, and not in prerelease mode -//     - If no C has a prerelease and the LT.semver tuple, return false -// - Else return true - -const subset = (sub, dom, options = {}) => { -  if (sub === dom) { -    return true -  } - -  sub = new Range(sub, options) -  dom = new Range(dom, options) -  let sawNonNull = false - -  OUTER: for (const simpleSub of sub.set) { -    for (const simpleDom of dom.set) { -      const isSub = simpleSubset(simpleSub, simpleDom, options) -      sawNonNull = sawNonNull || isSub !== null -      if (isSub) { -        continue OUTER -      } -    } -    // the null set is a subset of everything, but null simple ranges in -    // a complex range should be ignored.  so if we saw a non-null range, -    // then we know this isn't a subset, but if EVERY simple range was null, -    // then it is a subset. -    if (sawNonNull) { -      return false -    } -  } -  return true -} - -const simpleSubset = (sub, dom, options) => { -  if (sub === dom) { -    return true -  } - -  if (sub.length === 1 && sub[0].semver === ANY) { -    if (dom.length === 1 && dom[0].semver === ANY) { -      return true -    } else if (options.includePrerelease) { -      sub = [new Comparator('>=0.0.0-0')] -    } else { -      sub = [new Comparator('>=0.0.0')] -    } -  } - -  if (dom.length === 1 && dom[0].semver === ANY) { -    if (options.includePrerelease) { -      return true -    } else { -      dom = [new Comparator('>=0.0.0')] -    } -  } - -  const eqSet = new Set() -  let gt, lt -  for (const c of sub) { -    if (c.operator === '>' || c.operator === '>=') { -      gt = higherGT(gt, c, options) -    } else if (c.operator === '<' || c.operator === '<=') { -      lt = lowerLT(lt, c, options) -    } else { -      eqSet.add(c.semver) -    } -  } - -  if (eqSet.size > 1) { -    return null -  } - -  let gtltComp -  if (gt && lt) { -    gtltComp = compare(gt.semver, lt.semver, options) -    if (gtltComp > 0) { -      return null -    } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { -      return null -    } -  } - -  // will iterate one or zero times -  for (const eq of eqSet) { -    if (gt && !satisfies(eq, String(gt), options)) { -      return null -    } - -    if (lt && !satisfies(eq, String(lt), options)) { -      return null -    } - -    for (const c of dom) { -      if (!satisfies(eq, String(c), options)) { -        return false -      } -    } - -    return true -  } - -  let higher, lower -  let hasDomLT, hasDomGT -  // if the subset has a prerelease, we need a comparator in the superset -  // with the same tuple and a prerelease, or it's not a subset -  let needDomLTPre = lt && -    !options.includePrerelease && -    lt.semver.prerelease.length ? lt.semver : false -  let needDomGTPre = gt && -    !options.includePrerelease && -    gt.semver.prerelease.length ? gt.semver : false -  // exception: <1.2.3-0 is the same as <1.2.3 -  if (needDomLTPre && needDomLTPre.prerelease.length === 1 && -      lt.operator === '<' && needDomLTPre.prerelease[0] === 0) { -    needDomLTPre = false -  } - -  for (const c of dom) { -    hasDomGT = hasDomGT || c.operator === '>' || c.operator === '>=' -    hasDomLT = hasDomLT || c.operator === '<' || c.operator === '<=' -    if (gt) { -      if (needDomGTPre) { -        if (c.semver.prerelease && c.semver.prerelease.length && -            c.semver.major === needDomGTPre.major && -            c.semver.minor === needDomGTPre.minor && -            c.semver.patch === needDomGTPre.patch) { -          needDomGTPre = false -        } -      } -      if (c.operator === '>' || c.operator === '>=') { -        higher = higherGT(gt, c, options) -        if (higher === c && higher !== gt) { -          return false -        } -      } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { -        return false -      } -    } -    if (lt) { -      if (needDomLTPre) { -        if (c.semver.prerelease && c.semver.prerelease.length && -            c.semver.major === needDomLTPre.major && -            c.semver.minor === needDomLTPre.minor && -            c.semver.patch === needDomLTPre.patch) { -          needDomLTPre = false -        } -      } -      if (c.operator === '<' || c.operator === '<=') { -        lower = lowerLT(lt, c, options) -        if (lower === c && lower !== lt) { -          return false -        } -      } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { -        return false -      } -    } -    if (!c.operator && (lt || gt) && gtltComp !== 0) { -      return false -    } -  } - -  // if there was a < or >, and nothing in the dom, then must be false -  // UNLESS it was limited by another range in the other direction. -  // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 -  if (gt && hasDomLT && !lt && gtltComp !== 0) { -    return false -  } - -  if (lt && hasDomGT && !gt && gtltComp !== 0) { -    return false -  } - -  // we needed a prerelease range in a specific tuple, but didn't get one -  // then this isn't a subset.  eg >=1.2.3-pre is not a subset of >=1.0.0, -  // because it includes prereleases in the 1.2.3 tuple -  if (needDomGTPre || needDomLTPre) { -    return false -  } - -  return true -} - -// >=1.2.3 is lower than >1.2.3 -const higherGT = (a, b, options) => { -  if (!a) { -    return b -  } -  const comp = compare(a.semver, b.semver, options) -  return comp > 0 ? a -    : comp < 0 ? b -    : b.operator === '>' && a.operator === '>=' ? b -    : a -} - -// <=1.2.3 is higher than <1.2.3 -const lowerLT = (a, b, options) => { -  if (!a) { -    return b -  } -  const comp = compare(a.semver, b.semver, options) -  return comp < 0 ? a -    : comp > 0 ? b -    : b.operator === '<' && a.operator === '<=' ? b -    : a -} - -module.exports = subset diff --git a/node_modules/global-agent/node_modules/semver/ranges/to-comparators.js b/node_modules/global-agent/node_modules/semver/ranges/to-comparators.js deleted file mode 100644 index 6c8bc7e..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/to-comparators.js +++ /dev/null @@ -1,8 +0,0 @@ -const Range = require('../classes/range') - -// Mostly just for testing and legacy API reasons -const toComparators = (range, options) => -  new Range(range, options).set -    .map(comp => comp.map(c => c.value).join(' ').trim().split(' ')) - -module.exports = toComparators diff --git a/node_modules/global-agent/node_modules/semver/ranges/valid.js b/node_modules/global-agent/node_modules/semver/ranges/valid.js deleted file mode 100644 index 365f356..0000000 --- a/node_modules/global-agent/node_modules/semver/ranges/valid.js +++ /dev/null @@ -1,11 +0,0 @@ -const Range = require('../classes/range') -const validRange = (range, options) => { -  try { -    // Return '*' instead of '' so that truthiness works. -    // This will throw if it's invalid anyway -    return new Range(range, options).range || '*' -  } catch (er) { -    return null -  } -} -module.exports = validRange diff --git a/node_modules/global-agent/package.json b/node_modules/global-agent/package.json deleted file mode 100644 index 85f31af..0000000 --- a/node_modules/global-agent/package.json +++ /dev/null @@ -1,105 +0,0 @@ -{ -  "author": { -    "email": "gajus@gajus.com", -    "name": "Gajus Kuizinas", -    "url": "http://gajus.com" -  }, -  "ava": { -    "babel": { -      "compileAsTests": [ -        "test/helpers/**/*" -      ] -    }, -    "files": [ -      "test/global-agent/**/*" -    ], -    "require": [ -      "@babel/register" -    ] -  }, -  "dependencies": { -    "boolean": "^3.0.1", -    "es6-error": "^4.1.1", -    "matcher": "^3.0.0", -    "roarr": "^2.15.3", -    "semver": "^7.3.2", -    "serialize-error": "^7.0.1" -  }, -  "description": "Global HTTP/HTTPS proxy configurable using environment variables.", -  "devDependencies": { -    "@ava/babel": "^1.0.1", -    "@babel/cli": "^7.10.1", -    "@babel/core": "^7.10.2", -    "@babel/node": "^7.10.1", -    "@babel/plugin-transform-flow-strip-types": "^7.10.1", -    "@babel/preset-env": "^7.10.2", -    "@babel/register": "^7.10.1", -    "anyproxy": "^4.1.2", -    "ava": "^3.8.2", -    "axios": "^0.19.2", -    "babel-plugin-istanbul": "^6.0.0", -    "babel-plugin-transform-export-default-name": "^2.0.4", -    "coveralls": "^3.1.0", -    "eslint": "^7.1.0", -    "eslint-config-canonical": "^20.0.5", -    "flow-bin": "^0.125.1", -    "flow-copy-source": "^2.0.9", -    "get-port": "^5.1.1", -    "got": "^11.1.4", -    "husky": "^4.2.5", -    "nyc": "^15.1.0", -    "pem": "^1.14.4", -    "request": "^2.88.2", -    "semantic-release": "^17.0.8", -    "sinon": "^9.0.2" -  }, -  "engines": { -    "node": ">=10.0" -  }, -  "husky": { -    "hooks": { -      "pre-commit": "npm run lint && npm run test && npm run build" -    } -  }, -  "keywords": [ -    "http", -    "global", -    "proxy", -    "agent" -  ], -  "license": "BSD-3-Clause", -  "main": "./dist/index.js", -  "name": "global-agent", -  "nyc": { -    "all": true, -    "exclude": [ -      "src/bin", -      "src/queries/*.js" -    ], -    "include": [ -      "src/**/*.js" -    ], -    "instrument": false, -    "reporter": [ -      "html", -      "text-summary" -    ], -    "require": [ -      "@babel/register" -    ], -    "silent": true, -    "sourceMap": false -  }, -  "repository": { -    "type": "git", -    "url": "https://github.com/gajus/global-agent" -  }, -  "scripts": { -    "build": "rm -fr ./dist && NODE_ENV=production babel ./src --out-dir ./dist --copy-files --source-maps && flow-copy-source src dist", -    "create-readme": "gitdown ./.README/README.md --output-file ./README.md", -    "dev": "NODE_ENV=development babel ./src --out-dir ./dist --copy-files --source-maps --watch", -    "lint": "eslint ./src ./test && flow", -    "test": "NODE_TLS_REJECT_UNAUTHORIZED=false NODE_ENV=test nyc ava --verbose --serial" -  }, -  "version": "3.0.0" -} diff --git a/node_modules/global-agent/src/Logger.js b/node_modules/global-agent/src/Logger.js deleted file mode 100644 index 166f1e4..0000000 --- a/node_modules/global-agent/src/Logger.js +++ /dev/null @@ -1,10 +0,0 @@ -// @flow - -import Roarr from 'roarr'; - -const Logger = Roarr -  .child({ -    package: 'global-agent', -  }); - -export default Logger; diff --git a/node_modules/global-agent/src/classes/Agent.js b/node_modules/global-agent/src/classes/Agent.js deleted file mode 100644 index 801dd1f..0000000 --- a/node_modules/global-agent/src/classes/Agent.js +++ /dev/null @@ -1,212 +0,0 @@ -// @flow - -import { -  serializeError, -} from 'serialize-error'; -import { -  boolean, -} from 'boolean'; -import Logger from '../Logger'; -import type { -  AgentType, -  GetUrlProxyMethodType, -  IsProxyConfiguredMethodType, -  MustUrlUseProxyMethodType, -  ProtocolType, -} from '../types'; - -const log = Logger.child({ -  namespace: 'Agent', -}); - -let requestId = 0; - -class Agent { -  defaultPort: number; - -  protocol: ProtocolType; - -  fallbackAgent: AgentType; - -  isProxyConfigured: IsProxyConfiguredMethodType; - -  mustUrlUseProxy: MustUrlUseProxyMethodType; - -  getUrlProxy: GetUrlProxyMethodType; - -  socketConnectionTimeout: number; - -  constructor ( -    isProxyConfigured: IsProxyConfiguredMethodType, -    mustUrlUseProxy: MustUrlUseProxyMethodType, -    getUrlProxy: GetUrlProxyMethodType, -    fallbackAgent: AgentType, -    socketConnectionTimeout: number, -  ) { -    this.fallbackAgent = fallbackAgent; -    this.isProxyConfigured = isProxyConfigured; -    this.mustUrlUseProxy = mustUrlUseProxy; -    this.getUrlProxy = getUrlProxy; -    this.socketConnectionTimeout = socketConnectionTimeout; -  } - -  addRequest (request: *, configuration: *) { -    let requestUrl; - -    // It is possible that addRequest was constructed for a proxied request already, e.g. -    // "request" package does this when it detects that a proxy should be used -    // https://github.com/request/request/blob/212570b6971a732b8dd9f3c73354bcdda158a737/request.js#L402 -    // https://gist.github.com/gajus/e2074cd3b747864ffeaabbd530d30218 -    if (request.path.startsWith('http://') || request.path.startsWith('https://')) { -      requestUrl = request.path; -    } else { -      requestUrl = this.protocol + '//' + (configuration.hostname || configuration.host) + (configuration.port === 80 || configuration.port === 443 ? '' : ':' + configuration.port) + request.path; -    } - -    if (!this.isProxyConfigured()) { -      log.trace({ -        destination: requestUrl, -      }, 'not proxying request; GLOBAL_AGENT.HTTP_PROXY is not configured'); - -      // $FlowFixMe It appears that Flow is missing the method description. -      this.fallbackAgent.addRequest(request, configuration); - -      return; -    } - -    if (!this.mustUrlUseProxy(requestUrl)) { -      log.trace({ -        destination: requestUrl, -      }, 'not proxying request; url matches GLOBAL_AGENT.NO_PROXY'); - -      // $FlowFixMe It appears that Flow is missing the method description. -      this.fallbackAgent.addRequest(request, configuration); - -      return; -    } - -    const currentRequestId = requestId++; - -    const proxy = this.getUrlProxy(requestUrl); - -    if (this.protocol === 'http:') { -      request.path = requestUrl; - -      if (proxy.authorization) { -        request.setHeader('proxy-authorization', 'Basic ' + Buffer.from(proxy.authorization).toString('base64')); -      } -    } - -    log.trace({ -      destination: requestUrl, -      proxy: 'http://' + proxy.hostname + ':' + proxy.port, -      requestId: currentRequestId, -    }, 'proxying request'); - -    request.on('error', (error) => { -      log.error({ -        error: serializeError(error), -      }, 'request error'); -    }); - -    request.once('response', (response) => { -      log.trace({ -        headers: response.headers, -        requestId: currentRequestId, -        statusCode: response.statusCode, -      }, 'proxying response'); -    }); - -    request.shouldKeepAlive = false; - -    const connectionConfiguration = { -      host: configuration.hostname || configuration.host, -      port: configuration.port || 80, -      proxy, -      tls: {}, -    }; - -    // add optional tls options for https requests. -    // @see https://nodejs.org/docs/latest-v12.x/api/https.html#https_https_request_url_options_callback : -    // > The following additional options from tls.connect() -    // >   - https://nodejs.org/docs/latest-v12.x/api/tls.html#tls_tls_connect_options_callback - -    // > are also accepted: -    // >   ca, cert, ciphers, clientCertEngine, crl, dhparam, ecdhCurve, honorCipherOrder, -    // >   key, passphrase, pfx, rejectUnauthorized, secureOptions, secureProtocol, servername, sessionIdContext. -    if (this.protocol === 'https:') { -      connectionConfiguration.tls = { -        ca: configuration.ca, -        cert: configuration.cert, -        ciphers: configuration.ciphers, -        clientCertEngine: configuration.clientCertEngine, -        crl: configuration.crl, -        dhparam: configuration.dhparam, -        ecdhCurve: configuration.ecdhCurve, -        honorCipherOrder: configuration.honorCipherOrder, -        key: configuration.key, -        passphrase: configuration.passphrase, -        pfx: configuration.pfx, -        rejectUnauthorized: configuration.rejectUnauthorized, -        secureOptions: configuration.secureOptions, -        secureProtocol: configuration.secureProtocol, -        servername: configuration.servername || connectionConfiguration.host, -        sessionIdContext: configuration.sessionIdContext, -      }; - -      // This is not ideal because there is no way to override this setting using `tls` configuration if `NODE_TLS_REJECT_UNAUTHORIZED=0`. -      // However, popular HTTP clients (such as https://github.com/sindresorhus/got) come with pre-configured value for `rejectUnauthorized`, -      // which makes it impossible to override that value globally and respect `rejectUnauthorized` for specific requests only. -      // -      // eslint-disable-next-line no-process-env -      if (typeof process.env.NODE_TLS_REJECT_UNAUTHORIZED === 'string' && boolean(process.env.NODE_TLS_REJECT_UNAUTHORIZED) === false) { -        connectionConfiguration.tls.rejectUnauthorized = false; -      } -    } - -    // $FlowFixMe It appears that Flow is missing the method description. -    this.createConnection(connectionConfiguration, (error, socket) => { -      log.trace({ -        target: connectionConfiguration, -      }, 'connecting'); - -      // @see https://github.com/nodejs/node/issues/5757#issuecomment-305969057 -      if (socket) { -        socket.setTimeout(this.socketConnectionTimeout, () => { -          socket.destroy(); -        }); - -        socket.once('connect', () => { -          log.trace({ -            target: connectionConfiguration, -          }, 'connected'); - -          socket.setTimeout(0); -        }); - -        socket.once('secureConnect', () => { -          log.trace({ -            target: connectionConfiguration, -          }, 'connected (secure)'); - -          socket.setTimeout(0); -        }); -      } - -      if (error) { -        request.emit('error', error); -      } else { -        log.debug('created socket'); - -        socket.on('error', (socketError) => { -          log.error({ -            error: serializeError(socketError), -          }, 'socket error'); -        }); - -        request.onSocket(socket); -      } -    }); -  } -} - -export default Agent; diff --git a/node_modules/global-agent/src/classes/HttpProxyAgent.js b/node_modules/global-agent/src/classes/HttpProxyAgent.js deleted file mode 100644 index 8b9b471..0000000 --- a/node_modules/global-agent/src/classes/HttpProxyAgent.js +++ /dev/null @@ -1,30 +0,0 @@ -// @flow - -import net from 'net'; -import type { -  ConnectionCallbackType, -  ConnectionConfigurationType, -} from '../types'; -import Agent from './Agent'; - -class HttpProxyAgent extends Agent { -  // @see https://github.com/sindresorhus/eslint-plugin-unicorn/issues/169#issuecomment-486980290 -  // eslint-disable-next-line unicorn/prevent-abbreviations -  constructor (...args: *) { -    super(...args); - -    this.protocol = 'http:'; -    this.defaultPort = 80; -  } - -  createConnection (configuration: ConnectionConfigurationType, callback: ConnectionCallbackType) { -    const socket = net.connect( -      configuration.proxy.port, -      configuration.proxy.hostname, -    ); - -    callback(null, socket); -  } -} - -export default HttpProxyAgent; diff --git a/node_modules/global-agent/src/classes/HttpsProxyAgent.js b/node_modules/global-agent/src/classes/HttpsProxyAgent.js deleted file mode 100644 index 24d724f..0000000 --- a/node_modules/global-agent/src/classes/HttpsProxyAgent.js +++ /dev/null @@ -1,54 +0,0 @@ -// @flow - -import net from 'net'; -import tls from 'tls'; -import type { -  ConnectionCallbackType, -  ConnectionConfigurationType, -} from '../types'; -import Agent from './Agent'; - -class HttpsProxyAgent extends Agent { -  // eslint-disable-next-line unicorn/prevent-abbreviations -  constructor (...args: *) { -    super(...args); - -    this.protocol = 'https:'; -    this.defaultPort = 443; -  } - -  createConnection (configuration: ConnectionConfigurationType, callback: ConnectionCallbackType) { -    const socket = net.connect( -      configuration.proxy.port, -      configuration.proxy.hostname, -    ); - -    socket.on('error', (error) => { -      callback(error); -    }); - -    socket.once('data', () => { -      const secureSocket = tls.connect({ -        ...configuration.tls, -        socket, -      }); - -      callback(null, secureSocket); -    }); - -    let connectMessage = ''; - -    connectMessage += 'CONNECT ' + configuration.host + ':' + configuration.port + ' HTTP/1.1\r\n'; -    connectMessage += 'Host: ' + configuration.host + ':' + configuration.port + '\r\n'; - -    if (configuration.proxy.authorization) { -      connectMessage += 'Proxy-Authorization: Basic ' + Buffer.from(configuration.proxy.authorization).toString('base64') + '\r\n'; -    } - -    connectMessage += '\r\n'; - -    socket.write(connectMessage); -  } -} - -export default HttpsProxyAgent; diff --git a/node_modules/global-agent/src/classes/index.js b/node_modules/global-agent/src/classes/index.js deleted file mode 100644 index 9e8418a..0000000 --- a/node_modules/global-agent/src/classes/index.js +++ /dev/null @@ -1,5 +0,0 @@ -// @flow - -export {default as Agent} from './Agent'; -export {default as HttpProxyAgent} from './HttpProxyAgent'; -export {default as HttpsProxyAgent} from './HttpsProxyAgent'; diff --git a/node_modules/global-agent/src/errors.js b/node_modules/global-agent/src/errors.js deleted file mode 100644 index d93ba6f..0000000 --- a/node_modules/global-agent/src/errors.js +++ /dev/null @@ -1,15 +0,0 @@ -// @flow - -/* eslint-disable fp/no-class, fp/no-this */ - -import ExtendableError from 'es6-error'; - -export class UnexpectedStateError extends ExtendableError { -  code: string; - -  constructor (message: string, code: string = 'UNEXPECTED_STATE_ERROR') { -    super(message); - -    this.code = code; -  } -} diff --git a/node_modules/global-agent/src/factories/createGlobalProxyAgent.js b/node_modules/global-agent/src/factories/createGlobalProxyAgent.js deleted file mode 100644 index d515a9d..0000000 --- a/node_modules/global-agent/src/factories/createGlobalProxyAgent.js +++ /dev/null @@ -1,197 +0,0 @@ -// @flow - -import http from 'http'; -import https from 'https'; -import { -  boolean as parseBoolean, -} from 'boolean'; -import semver from 'semver'; -import Logger from '../Logger'; -import { -  HttpProxyAgent, -  HttpsProxyAgent, -} from '../classes'; -import { -  UnexpectedStateError, -} from '../errors'; -import { -  bindHttpMethod, -  isUrlMatchingNoProxy, -  parseProxyUrl, -} from '../utilities'; -import type { -  ProxyAgentConfigurationInputType, -  ProxyAgentConfigurationType, -} from '../types'; -import createProxyController from './createProxyController'; - -const httpGet = http.get; -const httpRequest = http.request; -const httpsGet = https.get; -const httpsRequest = https.request; - -const log = Logger.child({ -  namespace: 'createGlobalProxyAgent', -}); - -const defaultConfigurationInput = { -  environmentVariableNamespace: undefined, -  forceGlobalAgent: undefined, -  socketConnectionTimeout: 60000, -}; - -const omitUndefined = (subject) => { -  const keys = Object.keys(subject); - -  const result = {}; - -  for (const key of keys) { -    const value = subject[key]; - -    if (value !== undefined) { -      result[key] = value; -    } -  } - -  return result; -}; - -const createConfiguration = (configurationInput: ProxyAgentConfigurationInputType): ProxyAgentConfigurationType => { -  // eslint-disable-next-line no-process-env -  const environment = process.env; - -  const defaultConfiguration = { -    environmentVariableNamespace: typeof environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE === 'string' ? environment.GLOBAL_AGENT_ENVIRONMENT_VARIABLE_NAMESPACE : 'GLOBAL_AGENT_', -    forceGlobalAgent: typeof environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT === 'string' ? parseBoolean(environment.GLOBAL_AGENT_FORCE_GLOBAL_AGENT) : true, -    socketConnectionTimeout: typeof environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT === 'string' ? Number.parseInt(environment.GLOBAL_AGENT_SOCKET_CONNECTION_TIMEOUT, 10) : defaultConfigurationInput.socketConnectionTimeout, -  }; - -  // $FlowFixMe -  return { -    ...defaultConfiguration, -    ...omitUndefined(configurationInput), -  }; -}; - -export default (configurationInput: ProxyAgentConfigurationInputType = defaultConfigurationInput) => { -  const configuration = createConfiguration(configurationInput); - -  const proxyController = createProxyController(); - -  // eslint-disable-next-line no-process-env -  proxyController.HTTP_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTP_PROXY'] || null; - -  // eslint-disable-next-line no-process-env -  proxyController.HTTPS_PROXY = process.env[configuration.environmentVariableNamespace + 'HTTPS_PROXY'] || null; - -  // eslint-disable-next-line no-process-env -  proxyController.NO_PROXY = process.env[configuration.environmentVariableNamespace + 'NO_PROXY'] || null; - -  log.info({ -    configuration, -    state: proxyController, -  }, 'global agent has been initialized'); - -  const mustUrlUseProxy = (getProxy) => { -    return (url) => { -      if (!getProxy()) { -        return false; -      } - -      if (!proxyController.NO_PROXY) { -        return true; -      } - -      return !isUrlMatchingNoProxy(url, proxyController.NO_PROXY); -    }; -  }; - -  const getUrlProxy = (getProxy) => { -    return () => { -      const proxy = getProxy(); - -      if (!proxy) { -        throw new UnexpectedStateError('HTTP(S) proxy must be configured.'); -      } - -      return parseProxyUrl(proxy); -    }; -  }; - -  const getHttpProxy = () => { -    return proxyController.HTTP_PROXY; -  }; - -  const BoundHttpProxyAgent = class extends HttpProxyAgent { -    constructor () { -      super( -        () => { -          return getHttpProxy(); -        }, -        mustUrlUseProxy(getHttpProxy), -        getUrlProxy(getHttpProxy), -        http.globalAgent, -        configuration.socketConnectionTimeout, -      ); -    } -  }; - -  const httpAgent = new BoundHttpProxyAgent(); - -  const getHttpsProxy = () => { -    return proxyController.HTTPS_PROXY || proxyController.HTTP_PROXY; -  }; - -  const BoundHttpsProxyAgent = class extends HttpsProxyAgent { -    constructor () { -      super( -        () => { -          return getHttpsProxy(); -        }, -        mustUrlUseProxy(getHttpsProxy), -        getUrlProxy(getHttpsProxy), -        https.globalAgent, -        configuration.socketConnectionTimeout, -      ); -    } -  }; - -  const httpsAgent = new BoundHttpsProxyAgent(); - -  // Overriding globalAgent was added in v11.7. -  // @see https://nodejs.org/uk/blog/release/v11.7.0/ -  if (semver.gte(process.version, 'v11.7.0')) { -    // @see https://github.com/facebook/flow/issues/7670 -    // $FlowFixMe -    http.globalAgent = httpAgent; - -    // $FlowFixMe -    https.globalAgent = httpsAgent; -  } - -  // The reason this logic is used in addition to overriding http(s).globalAgent -  // is because there is no guarantee that we set http(s).globalAgent variable -  // before an instance of http(s).Agent has been already constructed by someone, -  // e.g. Stripe SDK creates instances of http(s).Agent at the top-level. -  // @see https://github.com/gajus/global-agent/pull/13 -  // -  // We still want to override http(s).globalAgent when possible to enable logic -  // in `bindHttpMethod`. -  if (semver.gte(process.version, 'v10.0.0')) { -    // $FlowFixMe -    http.get = bindHttpMethod(httpGet, httpAgent, configuration.forceGlobalAgent); - -    // $FlowFixMe -    http.request = bindHttpMethod(httpRequest, httpAgent, configuration.forceGlobalAgent); - -    // $FlowFixMe -    https.get = bindHttpMethod(httpsGet, httpsAgent, configuration.forceGlobalAgent); - -    // $FlowFixMe -    https.request = bindHttpMethod(httpsRequest, httpsAgent, configuration.forceGlobalAgent); -  } else { -    log.warn('attempt to initialize global-agent in unsupported Node.js version was ignored'); -  } - -  return proxyController; -}; diff --git a/node_modules/global-agent/src/factories/createProxyController.js b/node_modules/global-agent/src/factories/createProxyController.js deleted file mode 100644 index 5805ec8..0000000 --- a/node_modules/global-agent/src/factories/createProxyController.js +++ /dev/null @@ -1,46 +0,0 @@ -// @flow - -import Logger from '../Logger'; - -type ProxyControllerType = {| -  HTTP_PROXY: string | null, -  HTTPS_PROXY: string | null, -  NO_PROXY: string | null, -|}; - -const log = Logger.child({ -  namespace: 'createProxyController', -}); - -const KNOWN_PROPERTY_NAMES = [ -  'HTTP_PROXY', -  'HTTPS_PROXY', -  'NO_PROXY', -]; - -export default (): ProxyControllerType => { -  // eslint-disable-next-line fp/no-proxy -  return new Proxy({ -    HTTP_PROXY: null, -    HTTPS_PROXY: null, -    NO_PROXY: null, -  }, { -    set: (subject, name, value) => { -      if (!KNOWN_PROPERTY_NAMES.includes(name)) { -        throw new Error('Cannot set an unmapped property "' + name + '".'); -      } - -      subject[name] = value; - -      log.info({ -        change: { -          name, -          value, -        }, -        newConfiguration: subject, -      }, 'configuration changed'); - -      return true; -    }, -  }); -}; diff --git a/node_modules/global-agent/src/factories/index.js b/node_modules/global-agent/src/factories/index.js deleted file mode 100644 index c16eca6..0000000 --- a/node_modules/global-agent/src/factories/index.js +++ /dev/null @@ -1,4 +0,0 @@ -// @flow - -export {default as createGlobalProxyAgent} from './createGlobalProxyAgent'; -export {default as createProxyController} from './createProxyController'; diff --git a/node_modules/global-agent/src/index.js b/node_modules/global-agent/src/index.js deleted file mode 100644 index 14da1ba..0000000 --- a/node_modules/global-agent/src/index.js +++ /dev/null @@ -1,4 +0,0 @@ -// @flow - -export {bootstrap} from './routines'; -export {createGlobalProxyAgent} from './factories'; diff --git a/node_modules/global-agent/src/routines/bootstrap.js b/node_modules/global-agent/src/routines/bootstrap.js deleted file mode 100644 index 038feb3..0000000 --- a/node_modules/global-agent/src/routines/bootstrap.js +++ /dev/null @@ -1,25 +0,0 @@ -// @flow - -import Logger from '../Logger'; -import { -  createGlobalProxyAgent, -} from '../factories'; -import type { -  ProxyAgentConfigurationInputType, -} from '../types'; - -const log = Logger.child({ -  namespace: 'bootstrap', -}); - -export default (configurationInput?: ProxyAgentConfigurationInputType): boolean => { -  if (global.GLOBAL_AGENT) { -    log.warn('found global.GLOBAL_AGENT; second attempt to bootstrap global-agent was ignored'); - -    return false; -  } - -  global.GLOBAL_AGENT = createGlobalProxyAgent(configurationInput); - -  return true; -}; diff --git a/node_modules/global-agent/src/routines/index.js b/node_modules/global-agent/src/routines/index.js deleted file mode 100644 index e47a8a0..0000000 --- a/node_modules/global-agent/src/routines/index.js +++ /dev/null @@ -1,3 +0,0 @@ -// @flow - -export {default as bootstrap} from './bootstrap'; diff --git a/node_modules/global-agent/src/types.js b/node_modules/global-agent/src/types.js deleted file mode 100644 index e2f1a99..0000000 --- a/node_modules/global-agent/src/types.js +++ /dev/null @@ -1,66 +0,0 @@ -// @flow - -import { -  Socket, -} from 'net'; -import { -  TLSSocket, -} from 'tls'; -import { -  Agent as HttpAgent, -} from 'http'; -import { -  Agent as HttpsAgent, -} from 'https'; - -export type ProxyConfigurationType = {| -  +authorization: string, -  +hostname: string, -  +port: number, -|}; - -export type TlsConfigurationType = {| -  +ca?: string, -  +cert?: string, -  +ciphers?: string, -  +clientCertEngine?: string, -  +crl?: string, -  +dhparam?: string, -  +ecdhCurve?: string, -  +honorCipherOrder?: boolean, -  +key?: string, -  +passphrase?: string, -  +pfx?: string, -  +rejectUnauthorized?: boolean, -  +secureOptions?: number, -  +secureProtocol?: string, -  +servername?: string, -  +sessionIdContext?: string, -|}; - -export type ConnectionConfigurationType = {| -  +host: string, -  +port: number, -  +tls?: TlsConfigurationType, -  +proxy: ProxyConfigurationType, -|}; - -export type ConnectionCallbackType = (error: Error | null, socket?: Socket | TLSSocket) => void; - -export type AgentType = HttpAgent | HttpsAgent; -export type IsProxyConfiguredMethodType = () => boolean; -export type MustUrlUseProxyMethodType = (url: string) => boolean; -export type GetUrlProxyMethodType = (url: string) => ProxyConfigurationType; -export type ProtocolType = 'http:' | 'https:'; - -export type ProxyAgentConfigurationInputType = {| -  +environmentVariableNamespace?: string, -  +forceGlobalAgent?: boolean, -  +socketConnectionTimeout?: number, -|}; - -export type ProxyAgentConfigurationType = {| -  +environmentVariableNamespace: string, -  +forceGlobalAgent: boolean, -  +socketConnectionTimeout: number, -|}; diff --git a/node_modules/global-agent/src/utilities/bindHttpMethod.js b/node_modules/global-agent/src/utilities/bindHttpMethod.js deleted file mode 100644 index f8859b5..0000000 --- a/node_modules/global-agent/src/utilities/bindHttpMethod.js +++ /dev/null @@ -1,54 +0,0 @@ -// @flow - -import http from 'http'; -import https from 'https'; - -type AgentType = http.Agent | https.Agent; - -// eslint-disable-next-line flowtype/no-weak-types -export default (originalMethod: Function, agent: AgentType, forceGlobalAgent: boolean) => { -  // eslint-disable-next-line unicorn/prevent-abbreviations -  return (...args: *) => { -    let url; -    let options; -    let callback; - -    if (typeof args[0] === 'string' || args[0] instanceof URL) { -      url = args[0]; - -      if (typeof args[1] === 'function') { -        options = {}; -        callback = args[1]; -      } else { -        options = { -          ...args[1], -        }; -        callback = args[2]; -      } -    } else { -      options = { -        ...args[0], -      }; -      callback = args[1]; -    } - -    if (forceGlobalAgent) { -      options.agent = agent; -    } else { -      if (!options.agent) { -        options.agent = agent; -      } - -      if (options.agent === http.globalAgent || options.agent === https.globalAgent) { -        options.agent = agent; -      } -    } - -    if (url) { -      // $FlowFixMe -      return originalMethod(url, options, callback); -    } else { -      return originalMethod(options, callback); -    } -  }; -}; diff --git a/node_modules/global-agent/src/utilities/index.js b/node_modules/global-agent/src/utilities/index.js deleted file mode 100644 index 3412387..0000000 --- a/node_modules/global-agent/src/utilities/index.js +++ /dev/null @@ -1,5 +0,0 @@ -// @flow - -export {default as bindHttpMethod} from './bindHttpMethod'; -export {default as isUrlMatchingNoProxy} from './isUrlMatchingNoProxy'; -export {default as parseProxyUrl} from './parseProxyUrl'; diff --git a/node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js b/node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js deleted file mode 100644 index f2de584..0000000 --- a/node_modules/global-agent/src/utilities/isUrlMatchingNoProxy.js +++ /dev/null @@ -1,37 +0,0 @@ -// @flow - -import { -  parse as parseUrl, -} from 'url'; -import matcher from 'matcher'; -import { -  UnexpectedStateError, -} from '../errors'; - -export default (subjectUrl: string, noProxy: string) => { -  const subjectUrlTokens = parseUrl(subjectUrl); - -  const rules = noProxy.split(/[\s,]+/); - -  for (const rule of rules) { -    const ruleMatch = rule -      .replace(/^(?<leadingDot>\.)/, '*') -      .match(/^(?<hostname>.+?)(?::(?<port>\d+))?$/); - -    if (!ruleMatch || !ruleMatch.groups) { -      throw new UnexpectedStateError('Invalid NO_PROXY pattern.'); -    } - -    if (!ruleMatch.groups.hostname) { -      throw new UnexpectedStateError('NO_PROXY entry pattern must include hostname. Use * to match any hostname.'); -    } - -    const hostnameIsMatch = matcher.isMatch(subjectUrlTokens.hostname, ruleMatch.groups.hostname); - -    if (hostnameIsMatch && (!ruleMatch.groups || !ruleMatch.groups.port || subjectUrlTokens.port && subjectUrlTokens.port === ruleMatch.groups.port)) { -      return true; -    } -  } - -  return false; -}; diff --git a/node_modules/global-agent/src/utilities/parseProxyUrl.js b/node_modules/global-agent/src/utilities/parseProxyUrl.js deleted file mode 100644 index e2e9a6b..0000000 --- a/node_modules/global-agent/src/utilities/parseProxyUrl.js +++ /dev/null @@ -1,36 +0,0 @@ -// @flow - -import { -  parse as parseUrl, -} from 'url'; -import { -  UnexpectedStateError, -} from '../errors'; - -export default (url: string) => { -  const urlTokens = parseUrl(url); - -  if (urlTokens.query !== null) { -    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have query.'); -  } - -  if (urlTokens.hash !== null) { -    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL must not have hash.'); -  } - -  if (urlTokens.protocol !== 'http:') { -    throw new UnexpectedStateError('Unsupported `GLOBAL_AGENT.HTTP_PROXY` configuration value: URL protocol must be "http:".'); -  } - -  let port = 80; - -  if (urlTokens.port) { -    port = Number.parseInt(urlTokens.port, 10); -  } - -  return { -    authorization: urlTokens.auth || null, -    hostname: urlTokens.hostname, -    port, -  }; -}; | 
