Skip to content

Commit

Permalink
fix(yarn): revert default proxy behavior (#28100)
Browse files Browse the repository at this point in the history
  • Loading branch information
rarkins committed Mar 24, 2024
1 parent e8493c5 commit 792bbb4
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 6 deletions.
4 changes: 2 additions & 2 deletions docs/usage/self-hosted-experimental.md
Expand Up @@ -177,6 +177,6 @@ Don't combine with `redisUrl`, Redis would be preferred over SQlite.

Suppress the pre-commit support warning in PR bodies.

## `RENOVATE_X_YARN_IGNORE_PROXY`
## `RENOVATE_X_YARN_PROXY`

Skip configuring global Yarn proxy settings if HTTP proxy environment variables are detected.
Configure global Yarn proxy settings if HTTP proxy environment variables are detected.
2 changes: 2 additions & 0 deletions lib/modules/manager/npm/post-update/yarn.spec.ts
Expand Up @@ -48,6 +48,7 @@ describe('modules/manager/npm/post-update/yarn', () => {
delete process.env.BUILDPACK;
delete process.env.HTTP_PROXY;
delete process.env.HTTPS_PROXY;
delete process.env.RENOVATE_X_YARN_PROXY;
Fixtures.reset();
GlobalConfig.set({ localDir: '.', cacheDir: '/tmp/cache' });
removeDockerContainer.mockResolvedValue();
Expand Down Expand Up @@ -152,6 +153,7 @@ describe('modules/manager/npm/post-update/yarn', () => {
it('sets http proxy', async () => {
process.env.HTTP_PROXY = 'http://proxy';
process.env.HTTPS_PROXY = 'http://proxy';
process.env.RENOVATE_X_YARN_PROXY = 'true';
GlobalConfig.set({
localDir: '.',
allowScripts: true,
Expand Down
2 changes: 1 addition & 1 deletion lib/modules/manager/npm/post-update/yarn.ts
Expand Up @@ -210,7 +210,7 @@ export async function generateLockFile(
commands.push(`yarn set version ${quote(yarnUpdate.newValue!)}`);
}

if (!process.env.RENOVATE_X_YARN_IGNORE_PROXY) {
if (process.env.RENOVATE_X_YARN_PROXY) {
if (process.env.HTTP_PROXY && !isYarn1) {
commands.push('yarn config unset --home httpProxy');
commands.push(
Expand Down
7 changes: 4 additions & 3 deletions lib/modules/manager/npm/readme.md
Expand Up @@ -17,9 +17,10 @@ If Renovate detects a `packageManager` setting for Yarn in `package.json` then i
#### HTTP Proxy Support

Yarn itself does not natively recognize/support the `HTTP_PROXY` and `HTTPS_PROXY` environment variables.
If Renovate detects Yarn 2+, and one or both of those variables are present, then it will run commands like `yarn config set --home httpProxy http://proxy` prior to executing `yarn install`.

You can configure `RENOVATE_X_YARN_PROXY=true` as an environment variable to enable configuring of Yarn proxy (e.g. if you cannot configure these proxy settings yourself in `~/.yarnrc.yml`).

If set, and Renovate detects Yarn 2+, and one or both of those variables are present, then Renovate will run commands like `yarn config set --home httpProxy http://proxy` prior to executing `yarn install`.
This will result in the `~/.yarnrc.yml` file being created or modified with these settings, and the settings are not removed afterwards.

Configuration/conversion of `NO_PROXY` to Yarn config is not supported.

You can configure `RENOVATE_X_YARN_IGNORE_PROXY=true` as an environment variable to skip the configuring of Yarn proxy (e.g. if you already configure these proxy settings yourself in `~/.yarnrc.yml`);

0 comments on commit 792bbb4

Please sign in to comment.