The remaining packages of the pnpm/components Bit workspace now live under pnpm11/ and are published from here, keeping their npm names: @pnpm/config.env-replace -> pnpm11/config/env-replace @pnpm/log.group -> pnpm11/log/group @pnpm/network.agent -> pnpm11/network/agent @pnpm/network.ca-file -> pnpm11/network/ca-file @pnpm/network.config -> pnpm11/network/config @pnpm/network.proxy-agent -> pnpm11/network/proxy-agent @pnpm/os.env.path-extender -> pnpm11/os/env/path-extender @pnpm/os.env.path-extender-posix -> pnpm11/os/env/path-extender-posix @pnpm/os.env.path-extender-windows -> pnpm11/os/env/path-extender-windows lex-comparator and nerf-dart were already moved under new names, and the Bit env component is build tooling with no counterpart here. The sources are carried over from pnpm/components at 42ec0f7, which includes the Windows fix that rewrites a PNPM_HOME value stored with the wrong registry type. pnpm v12 got the same fix in pnpm/pnpm#15746, so its changeset now also covers pnpm v11, which bundles the workspace copy. Porting to the monorepo's ES module setup: - relative imports carry .js and type re-exports are marked `type`; - tests use jest.unstable_mockModule and import through the package; - string.prototype.matchall and graceful-fs give way to built-ins; - safe-execa and lru-cache move to the catalog versions (0.3, 11); - network.config depends on @pnpm/config.registry-auth-key; - the strict-ssl proxy test uses node:https and proxy v4 instead of node-fetch and proxy v1. The packages start at 1100.0.0 to sit in the pnpm11 version band.
1.9 KiB
1.9 KiB
@pnpm/network.proxy-agent
Creates an http/s/socks proxy agent
Create a http/s/socks proxy agent from uri and options.
This is usually used from within the agent component, to create an agent or proxy agent according to the config.
The return agent will match the proxy protocol (http / https / socks).
API:
function getProxyAgent(uri: string, opts: AgentOptions)
Available configuration (AgentOptions):
/**
* A proxy server for out going network requests by the package manager
* Used for both http and https requests (unless the httpsProxy is defined)
*/
httpProxy?: string;
/**
* A proxy server for outgoing https requests by the package manager (fallback to proxy server if not defined)
* Use this in case you want different proxy for http and https requests.
*/
httpsProxy?: string;
/**
* A path to a file containing one or multiple Certificate Authority signing certificates.
* allows for multiple CA's, as well as for the CA information to be stored in a file on disk.
*/
ca?: string;
/**
* Whether or not to do SSL key validation when making requests to the registry via https
*/
strictSsl?: string;
/**
* A client certificate to pass when accessing the registry. Values should be in PEM format (Windows calls it "Base-64 encoded X.509 (.CER)") with newlines replaced by the string "\n". For example:
* cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
* It is not the path to a certificate file (and there is no "certfile" option).
*/
cert?: string;
/**
* A client key to pass when accessing the registry. Values should be in PEM format with newlines replaced by the string "\n". For example:
* key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"
* It is not the path to a key file (and there is no "keyfile" option).
*/
key?: string;
License
MIT