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.
2.3 KiB
2.3 KiB
@pnpm/network.agent
An http/s agent factory with proxy support
Create an http/s agent from uri and options. This support http/s proxy server with different configuration.
In case there is matching proxy option that matching the uri protocol (httpProxy for http: uri and httpsProxy for https: uri), and the uri is not excluded by the noProxy config, it will create a proxy agent.
To read more about the proxy agent, read the docs of the proxy-agent component.
API:
function getAgent(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;
/**
* A comma-separated string of domain extensions that a proxy should not be used for.
*/
noProxy?: string;
/**
* The IP address of the local interface to use when making connections to the npm registry.
*/
localAddress?: string;
License
MIT