diff --git a/README.md b/README.md index 8fb486d4..50ce5106 100644 --- a/README.md +++ b/README.md @@ -137,8 +137,9 @@ disable, set the `ELECTRON_GET_NO_PROGRESS` environment variable to any non-empt ### Proxies -Downstream packages should utilize the `initializeProxy` function to add HTTP(S) proxy support. If -the environment variable `ELECTRON_GET_USE_PROXY` is set, it is called automatically. +Proxy support is built-in via [`proxy-agent`](https://github.com/TooTallNate/proxy-agents). The standard +`HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables are automatically detected +for all downloads. No additional configuration is required. ### Debug diff --git a/package.json b/package.json index 9e14074f..26afef00 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ "got": "^14.4.5", "graceful-fs": "^4.2.11", "progress": "^2.0.3", + "proxy-agent": "^6.5.0", "semver": "^7.6.3", "sumchecker": "^3.0.1" }, @@ -78,8 +79,5 @@ "artifact", "release" ], - "optionalDependencies": { - "global-agent": "^3.0.0" - }, "packageManager": "yarn@4.10.3+sha512.c38cafb5c7bb273f3926d04e55e1d8c9dfa7d9c3ea1f36a4868fa028b9e5f72298f0b7f401ad5eb921749eb012eb1c3bb74bf7503df3ee43fd600d14a018266f" } diff --git a/src/GotDownloader.ts b/src/GotDownloader.ts index e5438fe5..02b1900f 100644 --- a/src/GotDownloader.ts +++ b/src/GotDownloader.ts @@ -3,12 +3,26 @@ import fs from 'graceful-fs'; import path from 'node:path'; import ProgressBar from 'progress'; +import { ProxyAgent } from 'proxy-agent'; import { Downloader } from './Downloader.js'; import { pipeline } from 'node:stream/promises'; const PROGRESS_BAR_DELAY_IN_SECONDS = 30; +const proxyAgent = new ProxyAgent(); + +/** + * Default `got` options with proxy support. + * Proxy is automatically detected from `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables. + */ +const defaultGotOptions = { + agent: { + http: proxyAgent, + https: proxyAgent, + }, +}; + /** * Options for the default [`got`](https://github.com/sindresorhus/got) Downloader implementation. * @@ -66,7 +80,7 @@ export class GotDownloader implements Downloader { } }, PROGRESS_BAR_DELAY_IN_SECONDS * 1000); } - const downloadStream = got.stream(url, gotOptions); + const downloadStream = got.stream(url, { ...defaultGotOptions, ...gotOptions }); downloadStream.on('downloadProgress', async (progress: Progress) => { progressPercent = progress.percent; if (bar) { diff --git a/src/index.ts b/src/index.ts index 1ce46baf..5b006a31 100644 --- a/src/index.ts +++ b/src/index.ts @@ -16,7 +16,6 @@ import { } from './types.js'; import { Cache } from './Cache.js'; import { getDownloaderForSystem } from './downloader-resolver.js'; -import { initializeProxy } from './proxy.js'; import { withTempDirectoryIn, getHostArch, @@ -31,14 +30,17 @@ import { } from './utils.js'; export { getHostArch } from './utils.js'; -export { initializeProxy } from './proxy.js'; export * from './types.js'; -const d = debug('@electron/get:index'); +/** + * @deprecated Proxy support is now built-in and enabled automatically. + * This function is a no-op and will be removed in a future major release. + * Standard `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables + * are detected automatically for all downloads. + */ +export function initializeProxy(): void {} -if (process.env.ELECTRON_GET_USE_PROXY) { - initializeProxy(); -} +const d = debug('@electron/get:index'); type ArtifactDownloader = ( _artifactDetails: ElectronPlatformArtifactDetailsWithDefaults | ElectronGenericArtifactDetails, diff --git a/src/proxy.ts b/src/proxy.ts deleted file mode 100644 index 7f5bfc67..00000000 --- a/src/proxy.ts +++ /dev/null @@ -1,40 +0,0 @@ -import debug from 'debug'; -import { getEnv, setEnv } from './utils.js'; - -const d = debug('@electron/get:proxy'); - -/** - * Initializes a third-party proxy module for HTTP(S) requests. Call this function before - * using the {@link download} and {@link downloadArtifact} APIs if you need proxy support. - * - * If the `ELECTRON_GET_USE_PROXY` environment variable is set to `true`, this function will be - * called automatically for `@electron/get` requests. - * - * @category Utility - * @see {@link https://github.com/gajus/global-agent?tab=readme-ov-file#environment-variables | `global-agent`} - * documentation for available environment variables. - * - * @example - * ```sh - * export GLOBAL_AGENT_HTTPS_PROXY="$HTTPS_PROXY" - * ``` - */ -export function initializeProxy(): void { - try { - // See: https://github.com/electron/get/pull/214#discussion_r798845713 - const env = getEnv('GLOBAL_AGENT_'); - - setEnv('GLOBAL_AGENT_HTTP_PROXY', env('HTTP_PROXY')); - setEnv('GLOBAL_AGENT_HTTPS_PROXY', env('HTTPS_PROXY')); - setEnv('GLOBAL_AGENT_NO_PROXY', env('NO_PROXY')); - - /** - * TODO: replace global-agent with a hpagent. @BlackHole1 - * https://github.com/sindresorhus/got/blob/HEAD/documentation/tips.md#proxying - */ - // eslint-disable-next-line @typescript-eslint/no-require-imports - require('global-agent').bootstrap(); - } catch (e) { - d('Could not load either proxy modules, built-in proxy support not available:', e); - } -} diff --git a/src/utils.ts b/src/utils.ts index cf655300..3a951ee3 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -115,35 +115,6 @@ export function isOfficialLinuxIA32Download( typeof mirrorOptions === 'undefined' ); } - -/** - * Find the value of a environment variable which may or may not have the - * prefix, in a case-insensitive manner. - */ -export function getEnv(prefix = ''): (name: string) => string | undefined { - const envsLowerCase: NodeJS.ProcessEnv = {}; - - for (const envKey in process.env) { - envsLowerCase[envKey.toLowerCase()] = process.env[envKey]; - } - - return (name: string): string | undefined => { - return ( - envsLowerCase[`${prefix}${name}`.toLowerCase()] || - envsLowerCase[name.toLowerCase()] || - undefined - ); - }; -} - -export function setEnv(key: string, value: string | undefined): void { - // The `void` operator always returns `undefined`. - // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/void - if (value !== void 0) { - process.env[key] = value; - } -} - export function effectiveCacheMode( artifactDetails: ElectronPlatformArtifactDetailsWithDefaults | ElectronGenericArtifactDetails, ): ElectronDownloadCacheMode { diff --git a/test/utils.spec.ts b/test/utils.spec.ts index 4ef83291..79946500 100644 --- a/test/utils.spec.ts +++ b/test/utils.spec.ts @@ -1,6 +1,6 @@ import fs from 'graceful-fs'; -import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest'; +import { describe, expect, it, vi } from 'vitest'; import { normalizeVersion, @@ -9,8 +9,6 @@ import { getHostArch, ensureIsTruthyString, isOfficialLinuxIA32Download, - getEnv, - setEnv, TempDirCleanUpMode, } from '../src/utils'; @@ -154,61 +152,4 @@ describe('utils', () => { expect(isOfficialLinuxIA32Download('linux', 'x64', 'v4.0.0')).toEqual(false); }); }); - - describe('getEnv()', () => { - const [prefix, envName] = ['TeSt_EnV_vAr_', 'eNv_Key']; - const prefixEnvName = `${prefix}${envName}`; - const [hasPrefixValue, noPrefixValue] = ['yes_prefix', 'no_prefix']; - - beforeAll(() => { - process.env[prefixEnvName] = hasPrefixValue; - process.env[envName] = noPrefixValue; - }); - - afterAll(() => { - delete process.env[prefixEnvName]; - delete process.env[envName]; - }); - - it('should return prefixed environment variable if prefixed variable found', () => { - const env = getEnv(prefix); - expect(env(envName)).toEqual(hasPrefixValue); - expect(env(envName.toLowerCase())).toEqual(hasPrefixValue); - expect(env(envName.toUpperCase())).toEqual(hasPrefixValue); - }); - - it('should return non-prefixed environment variable if no prefixed variable found', () => { - expect(getEnv()(envName)).toEqual(noPrefixValue); - expect(getEnv()(envName.toLowerCase())).toEqual(noPrefixValue); - expect(getEnv()(envName.toUpperCase())).toEqual(noPrefixValue); - }); - - it('should return undefined if no match', () => { - const randomStr = 'AAAAA_electron_'; - expect(getEnv()(randomStr)).toEqual(undefined); - expect(getEnv()(randomStr.toLowerCase())).toEqual(undefined); - expect(getEnv()(randomStr.toUpperCase())).toEqual(undefined); - }); - }); -}); - -describe('setEnv()', () => { - it("doesn't set the environment variable if the value is undefined", () => { - const [key, value] = ['Set_AAA_electron', undefined]; - setEnv(key, value); - expect(process.env[key]).toEqual(void 0); - }); - - it('successfully sets the environment variable when the value is defined', () => { - const [key, value] = ['Set_BBB_electron', 'Test']; - setEnv(key, value); - expect(process.env[key]).toEqual(value); - }); - - it('successfully sets the environment variable when the value is falsey', () => { - const [key, value] = ['Set_AAA_electron', false]; - // @ts-expect-error - we want to ensure that the boolean gets converted to string accordingly - setEnv(key, value); - expect(process.env[key]).toEqual('false'); - }); }); diff --git a/yarn.lock b/yarn.lock index c5d16acc..5bc6bcd6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -76,21 +76,18 @@ __metadata: eslint: "npm:^8.57.0" eslint-config-prettier: "npm:^6.15.0" eslint-plugin-import: "npm:^2.31.0" - global-agent: "npm:^3.0.0" got: "npm:^14.4.5" graceful-fs: "npm:^4.2.11" husky: "npm:^9.1.7" lint-staged: "npm:^16.2.7" prettier: "npm:^3.4.2" progress: "npm:^2.0.3" + proxy-agent: "npm:^6.5.0" semver: "npm:^7.6.3" sumchecker: "npm:^3.0.1" typedoc: "npm:~0.25.13" typescript: "npm:~5.4.5" vitest: "npm:^3.0.5" - dependenciesMeta: - global-agent: - optional: true languageName: unknown linkType: soft @@ -655,6 +652,13 @@ __metadata: languageName: node linkType: hard +"@tootallnate/quickjs-emscripten@npm:^0.23.0": + version: 0.23.0 + resolution: "@tootallnate/quickjs-emscripten@npm:0.23.0" + checksum: 10c0/2a939b781826fb5fd3edd0f2ec3b321d259d760464cf20611c9877205aaca3ccc0b7304dea68416baa0d568e82cd86b17d29548d1e5139fa3155a4a86a2b4b49 + languageName: node + linkType: hard + "@tsconfig/node22@npm:^22.0.0": version: 22.0.0 resolution: "@tsconfig/node22@npm:22.0.0" @@ -1145,6 +1149,15 @@ __metadata: languageName: node linkType: hard +"ast-types@npm:^0.13.4": + version: 0.13.4 + resolution: "ast-types@npm:0.13.4" + dependencies: + tslib: "npm:^2.0.1" + checksum: 10c0/3a1a409764faa1471601a0ad01b3aa699292991aa9c8a30c7717002cabdf5d98008e7b53ae61f6e058f757fc6ba965e147967a93c13e62692c907d79cfb245f8 + languageName: node + linkType: hard + "available-typed-arrays@npm:^1.0.7": version: 1.0.7 resolution: "available-typed-arrays@npm:1.0.7" @@ -1161,10 +1174,10 @@ __metadata: languageName: node linkType: hard -"boolean@npm:^3.0.1": - version: 3.1.4 - resolution: "boolean@npm:3.1.4" - checksum: 10c0/bf8c524e2cadfa80fbd84436089b33aecb06b041b25f4db6d561457315980f46086b2b90a056b3f1affb92b9e9120957a5a9d8055132b5301148440eabb38da6 +"basic-ftp@npm:^5.0.2": + version: 5.1.0 + resolution: "basic-ftp@npm:5.1.0" + checksum: 10c0/397d5ed490f4d3b8b2dcd7afdf8e9fcf714a7d1c394a6c66b31704baf49c9fc250f1742f6189136a76b983675edf3d986b7ed93d253dc6477e65a567cf1e04c0 languageName: node linkType: hard @@ -1388,6 +1401,13 @@ __metadata: languageName: node linkType: hard +"data-uri-to-buffer@npm:^6.0.2": + version: 6.0.2 + resolution: "data-uri-to-buffer@npm:6.0.2" + checksum: 10c0/f76922bf895b3d7d443059ff278c9cc5efc89d70b8b80cd9de0aa79b3adc6d7a17948eefb8692e30398c43635f70ece1673d6085cc9eba2878dbc6c6da5292ac + languageName: node + linkType: hard + "data-view-buffer@npm:^1.0.2": version: 1.0.2 resolution: "data-view-buffer@npm:1.0.2" @@ -1507,15 +1527,6 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3": - version: 1.1.3 - resolution: "define-properties@npm:1.1.3" - dependencies: - object-keys: "npm:^1.0.12" - checksum: 10c0/a2fa03d97ee44bb7c679bac7c3b3e63431a2efd83c12c0d61c7f5adf4fa1cf0a669c77afd274babbc5400926bdc2befb25679e4bf687140b078c0fe14f782e4f - languageName: node - linkType: hard - "define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" @@ -1527,10 +1538,14 @@ __metadata: languageName: node linkType: hard -"detect-node@npm:^2.0.4": - version: 2.0.4 - resolution: "detect-node@npm:2.0.4" - checksum: 10c0/51357b37b1b26afef72fa3fa70ae7aeb37346874a41802cd5e2c9a81400eeeeec04293b153e3b30bcb982997b0952b608bb7d1c08777325da4dd93bd25891e0a +"degenerator@npm:^5.0.0": + version: 5.0.1 + resolution: "degenerator@npm:5.0.1" + dependencies: + ast-types: "npm:^0.13.4" + escodegen: "npm:^2.1.0" + esprima: "npm:^4.0.1" + checksum: 10c0/e48d8a651edeb512a648711a09afec269aac6de97d442a4bb9cf121a66877e0eec11b9727100a10252335c0666ae1c84a8bc1e3a3f47788742c975064d2c7b1c languageName: node linkType: hard @@ -1749,13 +1764,6 @@ __metadata: languageName: node linkType: hard -"es6-error@npm:^4.1.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef - languageName: node - linkType: hard - "esbuild-plugin-file-path-extensions@npm:^2.1.4": version: 2.1.4 resolution: "esbuild-plugin-file-path-extensions@npm:2.1.4" @@ -1859,6 +1867,24 @@ __metadata: languageName: node linkType: hard +"escodegen@npm:^2.1.0": + version: 2.1.0 + resolution: "escodegen@npm:2.1.0" + dependencies: + esprima: "npm:^4.0.1" + estraverse: "npm:^5.2.0" + esutils: "npm:^2.0.2" + source-map: "npm:~0.6.1" + dependenciesMeta: + source-map: + optional: true + bin: + escodegen: bin/escodegen.js + esgenerate: bin/esgenerate.js + checksum: 10c0/e1450a1f75f67d35c061bf0d60888b15f62ab63aef9df1901cffc81cffbbb9e8b3de237c5502cf8613a017c1df3a3003881307c78835a1ab54d8c8d2206e01d3 + languageName: node + linkType: hard + "eslint-config-prettier@npm:^6.15.0": version: 6.15.0 resolution: "eslint-config-prettier@npm:6.15.0" @@ -2007,6 +2033,16 @@ __metadata: languageName: node linkType: hard +"esprima@npm:^4.0.1": + version: 4.0.1 + resolution: "esprima@npm:4.0.1" + bin: + esparse: ./bin/esparse.js + esvalidate: ./bin/esvalidate.js + checksum: 10c0/ad4bab9ead0808cf56501750fd9d3fb276f6b105f987707d059005d57e182d18a7c9ec7f3a01794ebddcca676773e42ca48a32d67a250c9d35e009ca613caba3 + languageName: node + linkType: hard + "esquery@npm:^1.4.2": version: 1.6.0 resolution: "esquery@npm:1.6.0" @@ -2329,6 +2365,17 @@ __metadata: languageName: node linkType: hard +"get-uri@npm:^6.0.1": + version: 6.0.5 + resolution: "get-uri@npm:6.0.5" + dependencies: + basic-ftp: "npm:^5.0.2" + data-uri-to-buffer: "npm:^6.0.2" + debug: "npm:^4.3.4" + checksum: 10c0/c7ff5d5d55de53d23ecce7c5108cc3ed0db1174db43c9aa15506d640283d36ee0956fd8ba1fc50b06a718466cc85794ae9d8860193f91318afe846e3e7010f3a + languageName: node + linkType: hard + "glob-parent@npm:^5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" @@ -2377,20 +2424,6 @@ __metadata: languageName: node linkType: hard -"global-agent@npm:^3.0.0": - version: 3.0.0 - resolution: "global-agent@npm:3.0.0" - dependencies: - boolean: "npm:^3.0.1" - es6-error: "npm:^4.1.1" - matcher: "npm:^3.0.0" - roarr: "npm:^2.15.3" - semver: "npm:^7.3.2" - serialize-error: "npm:^7.0.1" - checksum: 10c0/bb8750d026b25da437072762fd739098bad92ff72f66483c3929db4579e072f5523960f7e7fd70ee0d75db48898067b5dc1c9c1d17888128cff008fcc34d1bd3 - languageName: node - linkType: hard - "globals@npm:^13.19.0": version: 13.24.0 resolution: "globals@npm:13.24.0" @@ -2400,15 +2433,6 @@ __metadata: languageName: node linkType: hard -"globalthis@npm:^1.0.1": - version: 1.0.2 - resolution: "globalthis@npm:1.0.2" - dependencies: - define-properties: "npm:^1.1.3" - checksum: 10c0/dcb1f502192d1bdcd9bf07911e44567c4d7041d62ed65a31cc1df00e0e8fc1ac9669844c78c763cc89533a34f2e62c008260d3d1dc775954f7ca59027d0694b4 - languageName: node - linkType: hard - "globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" @@ -2530,7 +2554,7 @@ __metadata: languageName: node linkType: hard -"http-proxy-agent@npm:^7.0.0": +"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.1": version: 7.0.2 resolution: "http-proxy-agent@npm:7.0.2" dependencies: @@ -2550,7 +2574,7 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1": +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": version: 7.0.6 resolution: "https-proxy-agent@npm:7.0.6" dependencies: @@ -3005,13 +3029,6 @@ __metadata: languageName: node linkType: hard -"json-stringify-safe@npm:^5.0.1": - version: 5.0.1 - resolution: "json-stringify-safe@npm:5.0.1" - checksum: 10c0/7dbf35cd0411d1d648dceb6d59ce5857ec939e52e4afc37601aa3da611f0987d5cee5b38d58329ceddf3ed48bd7215229c8d52059ab01f2444a338bf24ed0f37 - languageName: node - linkType: hard - "json5@npm:^1.0.2": version: 1.0.2 resolution: "json5@npm:1.0.2" @@ -3130,6 +3147,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^7.14.1": + version: 7.18.3 + resolution: "lru-cache@npm:7.18.3" + checksum: 10c0/b3a452b491433db885beed95041eb104c157ef7794b9c9b4d647be503be91769d11206bb573849a16b4cc0d03cbd15ffd22df7960997788b74c1d399ac7a4fed + languageName: node + linkType: hard + "lunr@npm:^2.3.9": version: 2.3.9 resolution: "lunr@npm:2.3.9" @@ -3194,15 +3218,6 @@ __metadata: languageName: node linkType: hard -"matcher@npm:^3.0.0": - version: 3.0.0 - resolution: "matcher@npm:3.0.0" - dependencies: - escape-string-regexp: "npm:^4.0.0" - checksum: 10c0/2edf24194a2879690bcdb29985fc6bc0d003df44e04df21ebcac721fa6ce2f6201c579866bb92f9380bffe946f11ecd8cd31f34117fb67ebf8aca604918e127e - languageName: node - linkType: hard - "math-intrinsics@npm:^1.1.0": version: 1.1.0 resolution: "math-intrinsics@npm:1.1.0" @@ -3400,6 +3415,13 @@ __metadata: languageName: node linkType: hard +"netmask@npm:^2.0.2": + version: 2.0.2 + resolution: "netmask@npm:2.0.2" + checksum: 10c0/cafd28388e698e1138ace947929f842944d0f1c0b87d3fa2601a61b38dc89397d33c0ce2c8e7b99e968584b91d15f6810b91bef3f3826adf71b1833b61d4bf4f + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 11.4.2 resolution: "node-gyp@npm:11.4.2" @@ -3445,7 +3467,7 @@ __metadata: languageName: node linkType: hard -"object-keys@npm:^1.0.12, object-keys@npm:^1.1.1": +"object-keys@npm:^1.1.1": version: 1.1.1 resolution: "object-keys@npm:1.1.1" checksum: 10c0/b11f7ccdbc6d406d1f186cdadb9d54738e347b2692a14439ca5ac70c225fa6db46db809711b78589866d47b25fc3e8dee0b4c722ac751e11180f9380e3d8601d @@ -3576,6 +3598,32 @@ __metadata: languageName: node linkType: hard +"pac-proxy-agent@npm:^7.1.0": + version: 7.2.0 + resolution: "pac-proxy-agent@npm:7.2.0" + dependencies: + "@tootallnate/quickjs-emscripten": "npm:^0.23.0" + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + get-uri: "npm:^6.0.1" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.6" + pac-resolver: "npm:^7.0.1" + socks-proxy-agent: "npm:^8.0.5" + checksum: 10c0/0265c17c9401c2ea735697931a6553a0c6d8b20c4d7d4e3b3a0506080ba69a8d5ad656e2a6be875411212e2b6ed7a4d9526dd3997e08581fdfb1cbcad454c296 + languageName: node + linkType: hard + +"pac-resolver@npm:^7.0.1": + version: 7.0.1 + resolution: "pac-resolver@npm:7.0.1" + dependencies: + degenerator: "npm:^5.0.0" + netmask: "npm:^2.0.2" + checksum: 10c0/5f3edd1dd10fded31e7d1f95776442c3ee51aa098c28b74ede4927d9677ebe7cebb2636750c24e945f5b84445e41ae39093d3a1014a994e5ceb9f0b1b88ebff5 + languageName: node + linkType: hard + "package-json-from-dist@npm:^1.0.0": version: 1.0.1 resolution: "package-json-from-dist@npm:1.0.1" @@ -3732,6 +3780,29 @@ __metadata: languageName: node linkType: hard +"proxy-agent@npm:^6.5.0": + version: 6.5.0 + resolution: "proxy-agent@npm:6.5.0" + dependencies: + agent-base: "npm:^7.1.2" + debug: "npm:^4.3.4" + http-proxy-agent: "npm:^7.0.1" + https-proxy-agent: "npm:^7.0.6" + lru-cache: "npm:^7.14.1" + pac-proxy-agent: "npm:^7.1.0" + proxy-from-env: "npm:^1.1.0" + socks-proxy-agent: "npm:^8.0.5" + checksum: 10c0/7fd4e6f36bf17098a686d4aee3b8394abfc0b0537c2174ce96b0a4223198b9fafb16576c90108a3fcfc2af0168bd7747152bfa1f58e8fee91d3780e79aab7fd8 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + "punycode@npm:^2.1.0": version: 2.1.1 resolution: "punycode@npm:2.1.1" @@ -3874,20 +3945,6 @@ __metadata: languageName: node linkType: hard -"roarr@npm:^2.15.3": - version: 2.15.4 - resolution: "roarr@npm:2.15.4" - dependencies: - boolean: "npm:^3.0.1" - detect-node: "npm:^2.0.4" - globalthis: "npm:^1.0.1" - json-stringify-safe: "npm:^5.0.1" - semver-compare: "npm:^1.0.0" - sprintf-js: "npm:^1.1.2" - checksum: 10c0/7d01d4c14513c461778dd673a8f9e53255221f8d04173aafeb8e11b23d8b659bb83f1c90cfe81af7f9c213b8084b404b918108fd792bda76678f555340cc64ec - languageName: node - linkType: hard - "rollup@npm:^4.34.9": version: 4.52.4 resolution: "rollup@npm:4.52.4" @@ -4019,13 +4076,6 @@ __metadata: languageName: node linkType: hard -"semver-compare@npm:^1.0.0": - version: 1.0.0 - resolution: "semver-compare@npm:1.0.0" - checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 - languageName: node - linkType: hard - "semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -4035,15 +4085,6 @@ __metadata: languageName: node linkType: hard -"semver@npm:^7.3.2, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.3": - version: 7.6.3 - resolution: "semver@npm:7.6.3" - bin: - semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf - languageName: node - linkType: hard - "semver@npm:^7.3.5": version: 7.7.3 resolution: "semver@npm:7.7.3" @@ -4053,12 +4094,12 @@ __metadata: languageName: node linkType: hard -"serialize-error@npm:^7.0.1": - version: 7.0.1 - resolution: "serialize-error@npm:7.0.1" - dependencies: - type-fest: "npm:^0.13.1" - checksum: 10c0/7982937d578cd901276c8ab3e2c6ed8a4c174137730f1fb0402d005af209a0e84d04acc874e317c936724c7b5b26c7a96ff7e4b8d11a469f4924a4b0ea814c05 +"semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.3": + version: 7.6.3 + resolution: "semver@npm:7.6.3" + bin: + semver: bin/semver.js + checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf languageName: node linkType: hard @@ -4206,7 +4247,7 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.3": +"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": version: 8.0.5 resolution: "socks-proxy-agent@npm:8.0.5" dependencies: @@ -4234,10 +4275,10 @@ __metadata: languageName: node linkType: hard -"sprintf-js@npm:^1.1.2": - version: 1.1.2 - resolution: "sprintf-js@npm:1.1.2" - checksum: 10c0/6cc8382f746348bd64b31bc5c99d8ebda7efff716025c41bf501e0e8be4f6744a9fa507e18513554753553d0bcb57fd5fc8dc8c42f94f8008127a52a2c544d21 +"source-map@npm:~0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 languageName: node linkType: hard @@ -4515,6 +4556,13 @@ __metadata: languageName: node linkType: hard +"tslib@npm:^2.0.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 + languageName: node + linkType: hard + "type-check@npm:^0.4.0, type-check@npm:~0.4.0": version: 0.4.0 resolution: "type-check@npm:0.4.0" @@ -4524,13 +4572,6 @@ __metadata: languageName: node linkType: hard -"type-fest@npm:^0.13.1": - version: 0.13.1 - resolution: "type-fest@npm:0.13.1" - checksum: 10c0/0c0fa07ae53d4e776cf4dac30d25ad799443e9eef9226f9fddbb69242db86b08584084a99885cfa5a9dfe4c063ebdc9aa7b69da348e735baede8d43f1aeae93b - languageName: node - linkType: hard - "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2"