Skip to content

fix(npm/pnpm): revert "fix(npm/pnpm): redirect cache and store dir" to attempt to fix pnpm dedupe hanging #36554

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed

Conversation

karlhorky
Copy link
Contributor

@karlhorky karlhorky commented Jun 17, 2025

Reverts #35807

As per the discussion in #36336 and #35840 and #36006 and #36143 , Renovate is currently broken for pnpm due to pnpm dedupe hanging on stdin due to a store-dir misalignment.

"Broken" in this case can mean either:

  1. "errors in PRs" (example 2) - with temporary-error explanation (from @peterhirn's report in Upgrade `pnpm` to `v10.11.0` broken (timeout, SIGTERM) #36006 (comment))
  2. "silently failing to create new PRs" (example 2, example 3, example 4) (from my report in pnpm Dedupe Hits CLI Execution Timeout Limit #36336 (reply in thread)) (see screenshot below, showing that I checked the Dependency Dashboard checkboxes to trigger an upgrade 15 hours ago, and they stay checked, with no visible errors for the user in GitHub)

Screenshot 2025-06-17 at 09 17 56

Either way, it blocks usage of Renovate on pnpm repos - maybe specifically, pnpm repos which use the packageManager field in package.json.

What causes pnpm dedupe to be broken in this way? @dipunm's note from #35840 seems helpful:

Specifically, I found that after execing into the running docker image and cding to the repository path:

  • pnpm store path responded with /home/renovate/.local/share/pnpm/store/v10
  • cat node_modules/.modules.yaml shows: storeDir: /tmp/renovate/cache/others/pnpm-store/v10

In the version before, I can see that:

  • pnpm store path responded with /home/renovate/.local/share/pnpm/store/v10
  • cat node_modules/.modules.yaml shows: storeDir: /home/renovate/.local/share/pnpm/store/v10

How can we resolve it? From reading the discussions, it appears that @CHC383 has a good suggestion here:

we should either revert #35807 to stay on default, or also set the same path on pnpm (pnpm config set store-dir)

This unfortunately reverts #35807, but it looks like that PR broke pnpm compatibility.

Happy to adjust to change this.

Looking forward to having a non-broken Renovate experience with pnpm!

Reproduction

Minimal reproduction for 2. "silently failing to create new PRs" here:

Screenshot 2025-06-18 at 11 48 50

Screenshot 2025-06-18 at 11 52 58

cc @viceice @rarkins @peterhirn @dipunm @CHC383

@karlhorky karlhorky changed the title Revert "fix(npm/pnpm): redirect cache and store dir" fix: revert "fix(npm/pnpm): redirect cache and store dir" Jun 17, 2025
@karlhorky karlhorky changed the title fix: revert "fix(npm/pnpm): redirect cache and store dir" fix(npm/pnpm): revert "fix(npm/pnpm): redirect cache and store dir" Jun 17, 2025
Copy link
Member

@viceice viceice left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to investigate deeper. I'm also using pnpm with dedupe and don't see that issue 🤔

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 17, 2025

Thanks for the investigation!

I'll reply to your comment from the discussion here:

@viceice in discussion #36336 - comment #13493641: are you running the dedupe via post upgrade task or do you use pnpmDedupe post update option?

docs.renovatebot.com/configuration-options#postupdateoptions

the latter should work because it gets the same env variables.

Via postUpdateOptions: ['pnpmDedupe']:

My config:

{
  extends: [
    'config:base',
    // Upgrade all remark packages with URL prefix https://github.com/remarkjs/
    // https://github.com/renovatebot/renovate/pull/25969
    'group:remark',
  ],
  ignorePresets: [':prHourlyLimit2'],
  // Run `pnpm dedupe` after pnpm-lock.yaml updates
  // https://docs.renovatebot.com/configuration-options/#:~:text=for%20npm%20%3C%3D%206.-,pnpmDedupe,pnpm%20dedupe%20%2D%2Dconfig.ignore%2Dscripts%3Dtrue%20after%20pnpm%2Dlock.yaml%20updates.,-yarnDedupeFewer
  postUpdateOptions: ['pnpmDedupe'],
  // Allow the major versions in the `dependency upgrades - non-major` groups
  // below to be combined with the minors and patches
  // https://github.com/renovatebot/renovate/issues/18211#issuecomment-1272521018
  separateMajorMinor: false,
  packageRules: [
    {
      groupName: 'github-actions dependency upgrades - major',
      matchManagers: ['github-actions'],
      matchPackageNames: ['pnpm/action-setup'],
      matchPackagePatterns: ['^actions/'],
      updateTypes: ['major'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - non-major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['patch', 'minor'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - non-major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['major'],
      matchPackageNames: ['eslint-plugin-unicorn'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['major'],
      matchPackagePatterns: ['^eslint-plugin-unicorn'],
    },
    {
      description: 'Enable major version upgrades of @types/node https://github.com/renovatebot/renovate/issues/1463#issuecomment-875014401',
      matchManagers: ['npm'],
      matchPackageNames: ['@types/node'],
      versioning: 'npm',
    },
    // Disabled since these GitHub Actions don't get major version bumps often
    // {
    //   "groupName": "GitHub Official Actions - major",
    //   "matchDepTypes": ["action"],
    //   "updateTypes": ["major"],
    //   "matchPackageNames": ["actions/checkout", "actions/setup-node", "actions/upload-artifact"],
    //   "automerge": true
    // },
    {
      matchCurrentVersion: '>=4.0.0',
      matchDatasources: ['npm'],
      matchPackageNames: ['@upleveled/eslint-config-upleveled'],
      replacementName: 'eslint-config-upleveled',
      replacementVersion: '4.0.12',
    },
    {
      matchCurrentVersion: '>=2.0.0',
      matchDatasources: ['npm'],
      matchPackageNames: ['@upleveled/eslint-plugin-upleveled'],
      replacementName: 'eslint-plugin-upleveled',
      replacementVersion: '2.1.7',
    },
  ],
  schedule: 'after 4pm on thursday',
  vulnerabilityAlerts: {
    schedule: null,
  },
  // Remediate vulnerabilities in transitive dependencies
  // https://docs.renovatebot.com/configuration-options/#transitiveremediation
  transitiveRemediation: true,
}

Source: https://github.com/karlhorky/renovate-config/blob/main/default.json5

@karlhorky
Copy link
Contributor Author

It appears that @peterhirn is also configuring postUpdateOptions: ['pnpmDedupe']

{
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
  "extends": [
    ":semanticCommits",
    "config:best-practices",
    "group:monorepos",
    "group:recommended"
  ],
  "postUpdateOptions": ["pnpmDedupe"],
  "lockFileMaintenance": {
    "enabled": true,
    "automerge": true
  },
  "packageRules": [
    { "matchDepNames": ["node"], "ignoreUnstable": false },
    {
      "matchUpdateTypes": ["minor", "patch", "pin", "digest"],
      "matchCurrentVersion": "!/^0/",
      "automerge": true
    }
  ]
}

Source: https://github.com/phi-ag/ifc-guid/blob/17d41ee699ea03bf2fe17fa7f215e430e0336d14/renovate.json#L9

@viceice
Copy link
Member

viceice commented Jun 17, 2025

can you create a minimal reproduction please?

1 similar comment
@viceice

This comment has been minimized.

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 17, 2025

Sure, minimal reproduction here (also added to PR description above):

Screenshot 2025-06-18 at 11 48 50

Screenshot 2025-06-18 at 11 52 58

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 18, 2025

@viceice I checked the Dependency Dashboard of the reproduction just now, and I see that it is still hanging (screenshots above - I toggled the checkbox in the Dependency Dashboard yesterday)

The main parts of the reproduction:

renovate.json

{
  "extends": ["config:base"],
  "postUpdateOptions": ["pnpmDedupe"],
  "packageRules": [
    {
      "groupName": "dependency upgrades - non-major",
      "matchDepTypes": ["devDependencies", "packageManager"],
      "updateTypes": ["patch", "minor"]
    }
  ]
}

package.json

{
  "devDependencies": {
    "stylelint": "16.19.1"
  },
  "packageManager": "[email protected]+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
}
Show Renovate logs
DEBUG: Using RE2 regex engine
DEBUG: Parsing configs
DEBUG: Checking for config file in /runner/renovate/job_config.json
DEBUG: Detected config in env RENOVATE_CONFIG
{
  "config": {
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://developer-platform-bare-metal-prd.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "globalExtends": [
      "global:safeEnv"
    ],
    "logLevelRemap": [
      {
        "newLogLevel": "info",
        "matchMessage": "Cache fallback URLs"
      }
    ],
    "platformCommit": "enabled",
    "allowedCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90,
      "datasource-maven:metadata-xml": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "local",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "dependencyDashboardHeader": "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.<br>[View this repository on the Mend.io Web Portal](https://developer.mend.io/{{platform}}/{{repository}})."
  }
}

DEBUG: File config
{
  "config": {
    "token": "***********",
    "hostRules": [
      {
        "hostType": "docker",
        "matchHost": "docker.io",
        "username": "mdpprod2renovate",
        "password": "***********"
      },
      {
        "hostType": "docker",
        "matchHost": "hub.docker.com",
        "username": "mdpprodrenovatedc",
        "password": "***********"
      },
      {
        "hostType": "github",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-tags",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-releases",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "pod",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "terraform-provider",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "rubygems",
        "matchHost": "github.com",
        "token": "***********"
      }
    ],
    "secrets": {}
  }
}

DEBUG: CLI config
{
  "config": {}
}

DEBUG: Env config
{
  "config": {
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://developer-platform-bare-metal-prd.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "globalExtends": [
      "global:safeEnv"
    ],
    "logLevelRemap": [
      {
        "newLogLevel": "info",
        "matchMessage": "Cache fallback URLs"
      }
    ],
    "platformCommit": "enabled",
    "allowedCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90,
      "datasource-maven:metadata-xml": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "local",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "dependencyDashboardHeader": "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.<br>[View this repository on the Mend.io Web Portal](https://developer.mend.io/{{platform}}/{{repository}}).",
    "hostRules": [],
    "onboardingNoDeps": "enabled",
    "cacheDir": "/runner/cache",
    "onboarding": true,
    "forkProcessing": "enabled",
    "requireConfig": "required",
    "platform": "github",
    "username": "renovate[bot]",
    "repositories": [
      "karlhorky/repro-renovate-pnpm-dedupe-hanging"
    ],
    "gitAuthor": "renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
    "deleteConfigFile": true
  }
}

DEBUG: Resolved global extends
{
  "config": {
    "allowedEnv": [
      "GO*",
      "GRADLE_OPTS",
      "RUSTC_BOOTSTRAP"
    ],
    "description": [
      "Hopefully safe environment variables to allow users to configure."
    ]
  }
}

DEBUG: Combined config
{
  "config": {
    "allowedEnv": [
      "GO*",
      "GRADLE_OPTS",
      "RUSTC_BOOTSTRAP"
    ],
    "description": [
      "Hopefully safe environment variables to allow users to configure."
    ],
    "token": "***********",
    "hostRules": [
      {
        "hostType": "docker",
        "matchHost": "docker.io",
        "username": "mdpprod2renovate",
        "password": "***********"
      },
      {
        "hostType": "docker",
        "matchHost": "hub.docker.com",
        "username": "mdpprodrenovatedc",
        "password": "***********"
      },
      {
        "hostType": "github",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-tags",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-releases",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "pod",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "terraform-provider",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "rubygems",
        "matchHost": "github.com",
        "token": "***********"
      }
    ],
    "secrets": {},
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://developer-platform-bare-metal-prd.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "logLevelRemap": [
      {
        "newLogLevel": "info",
        "matchMessage": "Cache fallback URLs"
      }
    ],
    "platformCommit": "enabled",
    "allowedCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90,
      "datasource-maven:metadata-xml": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "local",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "dependencyDashboardHeader": "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.<br>[View this repository on the Mend.io Web Portal](https://developer.mend.io/{{platform}}/{{repository}}).",
    "onboardingNoDeps": "enabled",
    "cacheDir": "/runner/cache",
    "onboarding": true,
    "forkProcessing": "enabled",
    "requireConfig": "required",
    "platform": "github",
    "username": "renovate[bot]",
    "repositories": [
      "karlhorky/repro-renovate-pnpm-dedupe-hanging"
    ],
    "gitAuthor": "renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
    "deleteConfigFile": true
  }
}

DEBUG: Enabling forkProcessing while in non-autodiscover mode
DEBUG: Enabling onboardingNoDeps while in non-autodiscover mode
DEBUG: Found valid git version: 2.49.0
DEBUG: Setting global hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Using default github endpoint: https://api.github.com/
DEBUG: Platform config
{
  "platformConfig": {
    "hostType": "github",
    "endpoint": "https://api.github.com/",
    "isGHApp": true,
    "isGhe": false
  }
  "renovateUsername": "renovate[bot]"
}

DEBUG: Using configured gitAuthor (renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>)
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Using baseDir: /tmp/renovate
DEBUG: Using configured cacheDir: /runner/cache
DEBUG: Using containerbaseDir: /runner/cache/containerbase
DEBUG: Redis cache init
DEBUG: Redis cache connected
DEBUG: Commits limit = null
DEBUG: Setting global hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: validatePresets()
DEBUG: Reinitializing hostRules for repo
DEBUG: Clearing hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
INFO: Repository started
{
  "renovateVersion": "40.50.0"
}

DEBUG: Using localDir: /tmp/renovate/repos/github/karlhorky/repro-renovate-pnpm-dedupe-hanging
DEBUG: PackageFiles.clear() - Package files deleted
DEBUG: initRepo("karlhorky/repro-renovate-pnpm-dedupe-hanging")
DEBUG: hostRules: authentication already set for api.github.com
DEBUG: Using queue: host=api.github.com, concurrency=16
DEBUG: karlhorky/repro-renovate-pnpm-dedupe-hanging default branch = main
DEBUG: Using app token for git init
DEBUG: fetchBranchCommits(): url=https://**redacted**@github.com/karlhorky/repro-renovate-pnpm-dedupe-hanging.git
DEBUG: Repository cache is restored from revision 13
DEBUG: Resetting npmrc
DEBUG: Resetting npmrc
DEBUG: checkOnboarding()
DEBUG: isOnboarded()
DEBUG: findPr(renovate/configure, Configure Renovate, !open)
DEBUG: http cache: saving https://api.github.com/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/pulls?per_page=20&state=all&sort=updated&direction=desc&page=1 (etag=W/"8be292c17b3b0067fea20392710124e32eb8b32bc9dd07cced3e1f9cffa42329", lastModified=undefined)
DEBUG: getPrList success
{
  "pullsTotal": 2
  "requestsTotal": 1
  "apiQuotaAffected": true
}

DEBUG: findPr(renovate/configure, chore: Configure Renovate, !open)
DEBUG: Checking cached config file name
DEBUG: http cache: Using cached response: https://api.github.com/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/contents/renovate.json from 2025-06-17T09:34:49.623Z
DEBUG: Existing config file confirmed
DEBUG: Repository config
{
  "fileName": "renovate.json"
  "config": {
    "extends": [
      "config:base"
    ],
    "postUpdateOptions": [
      "pnpmDedupe"
    ],
    "packageRules": [
      {
        "groupName": "dependency upgrades - non-major",
        "matchDepTypes": [
          "devDependencies",
          "packageManager"
        ],
        "updateTypes": [
          "patch",
          "minor"
        ]
      }
    ]
  }
}

DEBUG: Repo is onboarded
DEBUG: http cache: Using cached response: https://api.github.com/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/contents/renovate.json from 2025-06-17T09:34:49.623Z
DEBUG: migrateAndValidate()
DEBUG: Config migration necessary
{
  "oldConfig": {
    "extends": [
      "mergeConfidence:all-badges",
      "config:base"
    ],
    "postUpdateOptions": [
      "pnpmDedupe"
    ],
    "packageRules": [
      {
        "groupName": "dependency upgrades - non-major",
        "matchDepTypes": [
          "devDependencies",
          "packageManager"
        ],
        "updateTypes": [
          "patch",
          "minor"
        ]
      }
    ]
  }
  "newConfig": {
    "extends": [
      "mergeConfidence:all-badges",
      "config:recommended"
    ],
    "postUpdateOptions": [
      "pnpmDedupe"
    ],
    "packageRules": [
      {
        "groupName": "dependency upgrades - non-major",
        "matchDepTypes": [
          "devDependencies",
          "packageManager"
        ],
        "matchUpdateTypes": [
          "patch",
          "minor"
        ]
      }
    ]
  }
}

DEBUG: Post-massage config
{
  "config": {
    "extends": [
      "mergeConfidence:all-badges",
      "config:recommended"
    ],
    "postUpdateOptions": [
      "pnpmDedupe"
    ],
    "packageRules": [
      {
        "groupName": "dependency upgrades - non-major",
        "matchDepTypes": [
          "devDependencies",
          "packageManager"
        ],
        "matchUpdateTypes": [
          "patch",
          "minor"
        ]
      }
    ]
  }
}

DEBUG: Found repo ignorePaths
{
  "ignorePaths": [
    "**/node_modules/**",
    "**/bower_components/**",
    "**/vendor/**",
    "**/examples/**",
    "**/__tests__/**",
    "**/test/**",
    "**/tests/**",
    "**/__fixtures__/**"
  ]
}

DEBUG: http cache: saving https://api.github.com/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/dependabot/alerts?state=open&direction=asc&per_page=100 (etag="0a8e0f3a5e9612357c0ea4b0b0762faf261d6737b8808f13be199def0097319c", lastModified=undefined)
DEBUG: No vulnerability alerts found
DEBUG: No vulnerability alerts found
DEBUG: findIssue(Dependency Dashboard)
DEBUG: Issues cache: synced
DEBUG: Found issue 4
DEBUG: http cache: saving https://api.github.com/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/issues/4 (etag=W/"e1b55a1b8d13e0f3f44f95d50a5f620a478c56d4ff25dbb174ed618d347be3a7", lastModified=Tue, 17 Jun 2025 09:51:34 GMT)
DEBUG: No baseBranches
DEBUG: extract()
DEBUG: Cached extract for sha=d5bb97813b63312ff56e1333e1b65d4d88277c3b is valid and can be used
DEBUG: Deleted cached dep updates
INFO: Dependency extraction complete
{
  "baseBranch": "main"
  "stats": {
    "managers": {
      "npm": {
        "fileCount": 1,
        "depCount": 2
      }
    },
    "total": {
      "fileCount": 1,
      "depCount": 2
    }
  }
}

DEBUG: hostRules: no authentication for registry.npmjs.org
DEBUG: Using queue: host=registry.npmjs.org, concurrency=999
DEBUG: http cache: Using cached response: https://registry.npmjs.org/stylelint from 2025-06-12T16:04:32.419Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/pnpm from 2025-06-15T14:40:52.199Z
DEBUG: PackageFiles.add() - Package file saved for base branch
{
  "baseBranch": "main"
}

DEBUG: Package releases lookups complete
{
  "baseBranch": "main"
}

DEBUG: Repository libYears
{
  "libYears": {
    "managers": {
      "npm": 0.20730319295408423
    },
    "total": 0.20730319295408423
  }
  "dependencyStatus": {
    "outdated": 2,
    "total": 2
  }
}

DEBUG: branchifyUpgrades
DEBUG: detectSemanticCommits()
DEBUG: semanticCommits: returning "disabled" from cache
DEBUG: 2 flattened updates found: stylelint, pnpm
DEBUG: Returning 1 branch(es)
DEBUG: config.repoIsOnboarded=true
DEBUG: packageFiles with updates
{
  "baseBranch": "main"
  "config": {
    "npm": [
      {
        "deps": [
          {
            "currentValue": "16.19.1",
            "currentVersion": "16.19.1",
            "currentVersionAgeInDays": 52,
            "currentVersionTimestamp": "2025-04-25T15:08:43.345Z",
            "datasource": "npm",
            "depName": "stylelint",
            "depType": "devDependencies",
            "fixedVersion": "16.19.1",
            "homepage": "https://stylelint.io",
            "isSingleVersion": true,
            "lockedVersion": "16.19.1",
            "mostRecentTimestamp": "2025-05-29T16:03:49.584Z",
            "packageName": "stylelint",
            "prettyDepType": "devDependency",
            "registryUrl": "https://registry.npmjs.org",
            "sourceUrl": "https://github.com/stylelint/stylelint",
            "versioning": "npm",
            "warnings": [],
            "updates": [
              {
                "bucket": "non-major",
                "newVersion": "16.20.0",
                "newValue": "16.20.0",
                "releaseTimestamp": "2025-05-29T16:03:49.584Z",
                "newVersionAgeInDays": 18,
                "newMajor": 16,
                "newMinor": 20,
                "newPatch": 0,
                "updateType": "minor",
                "isBreaking": false,
                "libYears": 0.09325552508244546,
                "branchName": "renovate/dependency-upgrades-non-major"
              }
            ]
          },
          {
            "commitMessageTopic": "pnpm",
            "currentValue": "10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39",
            "currentVersion": "10.10.0",
            "currentVersionAgeInDays": 50,
            "currentVersionTimestamp": "2025-04-27T23:18:02.369Z",
            "datasource": "npm",
            "depName": "pnpm",
            "depType": "packageManager",
            "fixedVersion": "10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39",
            "homepage": "https://pnpm.io",
            "isSingleVersion": true,
            "mostRecentTimestamp": "2025-06-08T14:21:29.623Z",
            "packageName": "pnpm",
            "prettyDepType": "packageManager",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "pnpm",
            "sourceUrl": "https://github.com/pnpm/pnpm",
            "versioning": "npm",
            "warnings": [],
            "updates": [
              {
                "bucket": "non-major",
                "newVersion": "10.12.1",
                "newValue": "10.12.1",
                "releaseTimestamp": "2025-06-08T14:21:29.623Z",
                "newVersionAgeInDays": 8,
                "newMajor": 10,
                "newMinor": 12,
                "newPatch": 1,
                "updateType": "minor",
                "isBreaking": false,
                "libYears": 0.11404766787163877,
                "branchName": "renovate/dependency-upgrades-non-major"
              }
            ]
          }
        ],
        "extractedConstraints": {
          "pnpm": "10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
        },
        "lockFiles": [
          "pnpm-lock.yaml"
        ],
        "managerData": {
          "hasPackageManager": true,
          "npmrcFileName": null,
          "pnpmShrinkwrap": "pnpm-lock.yaml",
          "yarnZeroInstall": false
        },
        "packageFile": "package.json",
        "skipInstalls": true
      }
    ]
  }
}

DEBUG: detectSemanticCommits()
DEBUG: semanticCommits: returning "disabled" from cache
DEBUG: processRepo()
DEBUG: Processing 1 branch: renovate/dependency-upgrades-non-major
DEBUG: getBranchPr(renovate/dependency-upgrades-non-major)
DEBUG: findPr(renovate/dependency-upgrades-non-major, undefined, open)
DEBUG: 0 PRs are currently open
DEBUG: ConcurrentPRs count = 0
DEBUG: 0 already existing branches found.
DEBUG: Branches count = 0
DEBUG: Calculating PRs created so far in this hour currentHourStart=2025-06-17T10:00:00.000Z
DEBUG: 0 PRs have been created so far in this hour.
DEBUG: HourlyPRs count = 0
DEBUG: syncBranchState() (branch="renovate/dependency-upgrades-non-major")
DEBUG: getBranchPr(renovate/dependency-upgrades-non-major) (branch="renovate/dependency-upgrades-non-major")
DEBUG: findPr(renovate/dependency-upgrades-non-major, undefined, open) (branch="renovate/dependency-upgrades-non-major")
DEBUG: branchExists=false (branch="renovate/dependency-upgrades-non-major")
DEBUG: dependencyDashboardCheck=unlimit (branch="renovate/dependency-upgrades-non-major")
DEBUG: recreateClosed is true. No need to check for closed PR. (branch="renovate/dependency-upgrades-non-major")
DEBUG: Open PR Count: 0, Existing Branch Count: 0, Hourly PR Count: 0 (branch="renovate/dependency-upgrades-non-major")
DEBUG: prHourlyLimit of the upgrades present in this branch (branch="renovate/dependency-upgrades-non-major")
{
  "limits": [
    {
      "depName": "pnpm",
      "prHourlyLimit": 2
    },
    {
      "depName": "stylelint",
      "prHourlyLimit": 2
    }
  ]
}

DEBUG: Calculated lowest prHourlyLimit among the upgrades present in this branch is 2. (branch="renovate/dependency-upgrades-non-major")
DEBUG: branchConcurrentLimit of the upgrades present in this branch (branch="renovate/dependency-upgrades-non-major")
{
  "limits": [
    {
      "depName": "pnpm",
      "branchConcurrentLimit": null
    },
    {
      "depName": "stylelint",
      "branchConcurrentLimit": null
    }
  ]
}

DEBUG: Calculated lowest branchConcurrentLimit among the upgrades present in this branch is 10. (branch="renovate/dependency-upgrades-non-major")
DEBUG: Checking schedule(schedule=at any time, tz=null, now=2025-06-17T10:07:32.964Z) (branch="renovate/dependency-upgrades-non-major")
DEBUG: No schedule defined (branch="renovate/dependency-upgrades-non-major")
DEBUG: GET https://api.github.com/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/branches/main/protection = (code=ERR_NON_2XX_3XX_RESPONSE, statusCode=404 retryCount=0, duration=75) (branch="renovate/dependency-upgrades-non-major")
DEBUG: No branch protection found for main (branch="renovate/dependency-upgrades-non-major")
DEBUG: Converting rebaseWhen=auto to rebaseWhen=conflicted because no rule for behind-base-branch applies (branch="renovate/dependency-upgrades-non-major")
DEBUG: Branch needs creating (branch="renovate/dependency-upgrades-non-major")
DEBUG: Using reuseExistingBranch: false (branch="renovate/dependency-upgrades-non-major")
DEBUG: Setting current branch to main (branch="renovate/dependency-upgrades-non-major")
DEBUG: syncGit(): Initializing git repository into /tmp/renovate/repos/github/karlhorky/repro-renovate-pnpm-dedupe-hanging (branch="renovate/dependency-upgrades-non-major")
DEBUG: Performing blobless clone (branch="renovate/dependency-upgrades-non-major")
DEBUG: git clone completed (branch="renovate/dependency-upgrades-non-major")
{
  "durationMs": 362
}

DEBUG: latest repository commit (branch="renovate/dependency-upgrades-non-major")
{
  "latestCommit": {
    "hash": "d5bb97813b63312ff56e1333e1b65d4d88277c3b",
    "date": "2025-06-17T11:34:57+02:00",
    "message": "Add lockfile and .gitignore",
    "refs": "HEAD -> main, origin/main, origin/HEAD",
    "body": "",
    "author_name": "Karl Horky",
    "author_email": "[email protected]"
  }
}

DEBUG: Current branch SHA: d5bb97813b63312ff56e1333e1b65d4d88277c3b (branch="renovate/dependency-upgrades-non-major")
DEBUG: latest commit (branch="renovate/dependency-upgrades-non-major")
{
  "branchName": "main"
  "latestCommitDate": "2025-06-17T11:34:57+02:00"
  "sha": "d5bb97813b63312ff56e1333e1b65d4d88277c3b"
}

DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=false (branch="renovate/dependency-upgrades-non-major")
DEBUG: npm.updateDependency(): packageManager.pnpm = 10.12.1 (branch="renovate/dependency-upgrades-non-major")
DEBUG: Updating pnpm in package.json (branch="renovate/dependency-upgrades-non-major")
DEBUG: npm.updateDependency(): devDependencies.stylelint = 16.20.0 (branch="renovate/dependency-upgrades-non-major")
DEBUG: Updating stylelint in package.json (branch="renovate/dependency-upgrades-non-major")
DEBUG: updateArtifacts for updatedPackageFiles (branch="renovate/dependency-upgrades-non-major")
DEBUG: npm.updateArtifacts(package.json) (branch="renovate/dependency-upgrades-non-major")
DEBUG: Found 0 npm host rule(s) (branch="renovate/dependency-upgrades-non-major")
DEBUG: Found 1 host rule(s) without host type (branch="renovate/dependency-upgrades-non-major")
DEBUG: Found 1 host rule(s) without host type after dropping duplicates (branch="renovate/dependency-upgrades-non-major")
DEBUG: No node constraint found - using latest (branch="renovate/dependency-upgrades-non-major")
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /runner/cache/containerbase (branch="renovate/dependency-upgrades-non-major")
DEBUG: Using containerbase dynamic installs (branch="renovate/dependency-upgrades-non-major")
DEBUG: Resolved stable matching version (branch="renovate/dependency-upgrades-non-major")
{
  "toolName": "node"
  "constraint": null
  "resolvedVersion": "22.16.0"
}

DEBUG: http cache: Using cached response: https://registry.npmjs.org/corepack from 2025-06-16T13:07:35.159Z (branch="renovate/dependency-upgrades-non-major")
DEBUG: Resolved stable matching version (branch="renovate/dependency-upgrades-non-major")
{
  "toolName": "corepack"
  "resolvedVersion": "0.33.0"
}

DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "install-tool node 22.16.0"
}

DEBUG: exec completed (branch="renovate/dependency-upgrades-non-major")
{
  "durationMs": 5563
  "stdout": "[10:07:34.278] INFO (911): Installing tool [email protected]...\nv22.16.0\n10.9.2\n0.32.0\n[10:07:39.290] INFO (911): Install tool node succeeded in 5s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "install-tool corepack 0.33.0"
}

DEBUG: exec completed (branch="renovate/dependency-upgrades-non-major")
{
  "durationMs": 2545
  "stdout": "[10:07:39.787] INFO (948): Installing npm [email protected]...\n0.33.0\n[10:07:41.317] INFO (948): Install tool corepack succeeded in 1.5s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "corepack use [email protected]"
}

DEBUG: exec completed (branch="renovate/dependency-upgrades-non-major")
{
  "durationMs": 5517
  "stdout": "Installing [email protected] in the project...\n\nProgress: resolved 1, reused 0, downloaded 0, added 0\nProgress: resolved 39, reused 0, downloaded 16, added 0\nProgress: resolved 89, reused 0, downloaded 85, added 0\nPackages: +113\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nProgress: resolved 113, reused 0, downloaded 113, added 113, done\n\ndevDependencies:\n+ stylelint 16.20.0\n\nDone in 3.8s using pnpm v10.12.1\n"
  "stderr": ""
}

DEBUG: Returning updated package.json (branch="renovate/dependency-upgrades-non-major")
DEBUG: Updated 1 package files (branch="renovate/dependency-upgrades-non-major")
DEBUG: Getting updated lock files (branch="renovate/dependency-upgrades-non-major")
DEBUG: Writing package.json files (branch="renovate/dependency-upgrades-non-major")
{
  "packageFiles": [
    "package.json"
  ]
}

DEBUG: Writing any updated package files (branch="renovate/dependency-upgrades-non-major")
DEBUG: Writing package.json (branch="renovate/dependency-upgrades-non-major")
DEBUG: Found 0 npm host rule(s) (branch="renovate/dependency-upgrades-non-major")
DEBUG: Found 1 host rule(s) without host type (branch="renovate/dependency-upgrades-non-major")
DEBUG: Found 1 host rule(s) without host type after dropping duplicates (branch="renovate/dependency-upgrades-non-major")
DEBUG: Generating pnpm-lock.yaml for . (branch="renovate/dependency-upgrades-non-major")
DEBUG: Spawning pnpm install to create pnpm-lock.yaml (branch="renovate/dependency-upgrades-non-major")
DEBUG: No node constraint found - using latest (branch="renovate/dependency-upgrades-non-major")
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /runner/cache/containerbase (branch="renovate/dependency-upgrades-non-major")
DEBUG: Using containerbase dynamic installs (branch="renovate/dependency-upgrades-non-major")
DEBUG: Resolved stable matching version (branch="renovate/dependency-upgrades-non-major")
{
  "toolName": "node"
  "constraint": null
  "resolvedVersion": "22.16.0"
}

DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "install-tool node 22.16.0"
}

DEBUG: exec completed (branch="renovate/dependency-upgrades-non-major")
{
  "durationMs": 573
  "stdout": "[10:07:47.752] INFO (1008): Installing tool [email protected]...\n[10:07:47.783] INFO (1008): tool already installed\n    tool: \"node\"\nv22.16.0\n10.9.2\n0.32.0\n[10:07:48.008] INFO (1008): Install tool node succeeded in 270ms.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "install-tool pnpm 10.12.1"
}

DEBUG: exec completed (branch="renovate/dependency-upgrades-non-major")
{
  "durationMs": 3438
  "stdout": "[10:07:48.396] INFO (1044): Installing npm [email protected]...\n10.12.1\n[10:07:51.485] INFO (1044): Install tool pnpm succeeded in 3.1s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "pnpm install --lockfile-only --ignore-scripts --ignore-pnpmfile"
}

DEBUG: exec completed (branch="renovate/dependency-upgrades-non-major")
{
  "durationMs": 838
  "stdout": "Done in 782ms using pnpm v10.12.1\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "pnpm dedupe --config.ignore-scripts=true"
}

DEBUG: rawExec err (branch="renovate/dependency-upgrades-non-major")
{
  "err": {
    "cmd": "/bin/sh -c pnpm dedupe --config.ignore-scripts=true",
    "stderr": "",
    "stdout": "\u001b[?25l\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/tmp/renovate/repos/github/karlhorky/repro-renovate-pnpm-dedupe-hanging/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m\u001b[4D",
    "options": {
      "cwd": "/tmp/renovate/repos/github/karlhorky/repro-renovate-pnpm-dedupe-hanging",
      "encoding": "utf-8",
      "env": {
        "NPM_CONFIG_CACHE": "/runner/cache/others/npm",
        "npm_config_store": "/runner/cache/others/pnpm",
        "npm_config_cache_dir": "/runner/cache/others/pnpm-cache",
        "npm_config_store_dir": "/runner/cache/others/pnpm-store",
        "HOME": "/home/ubuntu",
        "PATH": "/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "LC_ALL": "C.UTF-8",
        "LANG": "C.UTF-8",
        "CONTAINERBASE_CACHE_DIR": "/runner/cache/containerbase"
      },
      "maxBuffer": 10485760,
      "timeout": 900000
    },
    "signal": "SIGTERM",
    "name": "ExecError",
    "message": "Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM",
    "stack": "ExecError: Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM\n    at ChildProcess.<anonymous> (/usr/local/renovate/lib/util/exec/common.ts:111:11)\n    at ChildProcess.emit (node:events:530:35)\n    at ChildProcess.emit (node:domain:489:12)\n    at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)"
  }
  "durationMs": 900034
}

DEBUG: exec interrupted by SIGTERM - run needs to be aborted (branch="renovate/dependency-upgrades-non-major")
{
  "err": {
    "cmd": "/bin/sh -c pnpm dedupe --config.ignore-scripts=true",
    "stderr": "",
    "stdout": "\u001b[?25l\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/tmp/renovate/repos/github/karlhorky/repro-renovate-pnpm-dedupe-hanging/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m\u001b[4D",
    "options": {
      "cwd": "/tmp/renovate/repos/github/karlhorky/repro-renovate-pnpm-dedupe-hanging",
      "encoding": "utf-8",
      "env": {
        "NPM_CONFIG_CACHE": "/runner/cache/others/npm",
        "npm_config_store": "/runner/cache/others/pnpm",
        "npm_config_cache_dir": "/runner/cache/others/pnpm-cache",
        "npm_config_store_dir": "/runner/cache/others/pnpm-store",
        "HOME": "/home/ubuntu",
        "PATH": "/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "LC_ALL": "C.UTF-8",
        "LANG": "C.UTF-8",
        "CONTAINERBASE_CACHE_DIR": "/runner/cache/containerbase"
      },
      "maxBuffer": 10485760,
      "timeout": 900000
    },
    "signal": "SIGTERM",
    "name": "ExecError",
    "message": "Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM",
    "stack": "ExecError: Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM\n    at ChildProcess.<anonymous> (/usr/local/renovate/lib/util/exec/common.ts:111:11)\n    at ChildProcess.emit (node:events:530:35)\n    at ChildProcess.emit (node:domain:489:12)\n    at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)"
  }
}

DEBUG: Passing TEMPORARY_ERROR error up (branch="renovate/dependency-upgrades-non-major")
INFO: Temporary error - aborting
DEBUG: Repository result: temporary-error, status: onboarded, enabled: true, onboarded: true
DEBUG: Repository timing splits (milliseconds)
{
  "splits": {
    "init": 2961,
    "extract": 357,
    "lookup": 1595,
    "onboarding": 1
  }
  "total": 924660
}

DEBUG: Package cache statistics
{
  "get": {
    "count": 5,
    "avgMs": 56,
    "medianMs": 23,
    "maxMs": 175,
    "totalMs": 280
  }
  "set": {
    "count": 0,
    "avgMs": 0,
    "medianMs": 0,
    "maxMs": 0,
    "totalMs": 0
  }
}

DEBUG: HTTP statistics
{
  "hosts": {
    "api.github.com": {
      "count": 7,
      "reqAvgMs": 128,
      "reqMedianMs": 114,
      "reqMaxMs": 317,
      "queueAvgMs": 2,
      "queueMedianMs": 0,
      "queueMaxMs": 11
    },
    "registry.npmjs.org": {
      "count": 3,
      "reqAvgMs": 239,
      "reqMedianMs": 136,
      "reqMaxMs": 560,
      "queueAvgMs": 0,
      "queueMedianMs": 0,
      "queueMaxMs": 1
    }
  }
  "requests": 10
}

DEBUG: HTTP cache statistics
{
  "https://api.github.com": {
    "/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/contents/renovate.json": {
      "hit": 2,
      "miss": 0
    },
    "/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/dependabot/alerts": {
      "hit": 0,
      "miss": 1
    },
    "/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/issues/4": {
      "hit": 0,
      "miss": 1
    },
    "/repos/karlhorky/repro-renovate-pnpm-dedupe-hanging/pulls": {
      "hit": 0,
      "miss": 1
    }
  }
  "https://registry.npmjs.org": {
    "/corepack": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/pnpm": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/stylelint": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    }
  }
}

DEBUG: Lookup statistics
{
  "npm": {
    "count": 2,
    "avgMs": 1011,
    "medianMs": 1302,
    "maxMs": 1302,
    "totalMs": 2021
  }
}

INFO: Cache fallback URLs
{
  "count": 0
  "hits": {}
  "oldLevel": "debug"
}

INFO: Repository finished
{
  "cloned": true
  "durationMs": 924660
}

Any ideas?

@rarkins
Copy link
Collaborator

rarkins commented Jun 18, 2025

@karlhorky does it only hang if you have that packageRules grouping?

@viceice
Copy link
Member

viceice commented Jun 18, 2025

does it still reproduce without the package rule for grouping?

it seems we use the wrong pnpm version for dedupe when pnpm is updated in same PR.

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 18, 2025

I believe the hanging (2. "silently failing to create new PRs") only occurs with the grouping

But 1. "errors in PRs" still occurs without the grouping - @peterhirn's examples do not use grouping and show that PRs are created with the temporary error message

@rarkins rarkins added the auto:no-merge-from-main Advise contributors not to merge from main unnecessarily label Jun 19, 2025
Copy link
Contributor

Hi there,

Please don't merge from main into your PR's branch unless you have a merge conflict or have a specific reason to do so. Doing so consumes CI systems unnecessarily, and also resets CI approvals if this is your first PR to the repo. This repo uses GitHub's Merge Queue, which will automatically test your PR against main before merging, so it's no longer necessary to always keep branches up-to-date.

Thanks,

The Renovate team

@rarkins
Copy link
Collaborator

rarkins commented Jun 19, 2025

So are these problems only when pnpm itself is being upgraded?

@karlhorky
Copy link
Contributor Author

In my testing so far, yes.

@rarkins
Copy link
Collaborator

rarkins commented Jun 19, 2025

When I ran this PR/branch against https://github.com/renovate-reproductions/36554a it still had the same problem:

       "stdout": "[13:22:54.032] INFO (9): Installing tool [email protected]...\nv24.2.0\nnpm warn Unknown env config \"store\". This will stop working in the next major version of npm.\n11.3.0\n0.33.0\n[13:22:56.417] INFO (9): Install tool node succeeded in 2.3s.\n[13:22:57.168] INFO (45): Installing npm [email protected]...\n10.12.1\n[13:22:58.247] INFO (45): Install tool pnpm succeeded in 1s.\nDone in 188ms using pnpm v10.12.1\n\u001b[?25l\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/tmp/renovate/repos/github/renovate-reproductions/36554a/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m\u001b[4D\u001b[?25h",

I'm pretty sure I haven't made a mistake in my reproduction.

If this PR does not fix it, it's not the place to be having Discussions

@rarkins
Copy link
Collaborator

rarkins commented Jun 19, 2025

Removing pnpmDedupe from the reproduction let it complete successfully. Both reproduction repos work if the pnpmDedupe option excludes pnpm itself, e.g. { "matchPackageNames": ["!pnpm"], "postUpdateOptions": ["pnpmDedupe"] },

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 19, 2025

Removing pnpmDedupe from the reproduction let it complete successfully. Both reproduction repos work if the pnpmDedupe option excludes pnpm itself, e.g. { "matchPackageNames": ["!pnpm"], "postUpdateOptions": ["pnpmDedupe"] },

Oh nice, thanks for that!

Maybe that should be the default pnpmDedupe configuration in the Renovate docs?

Unusual that the pnpmDedupe stopped working recently - I added it in May 2024 and I haven't seen issues with it since then.

Committed in my shared Renovate config here, let's see what happens 🤞

@rarkins rarkins closed this Jun 19, 2025
@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 19, 2025

Hmm, first retry of other existing repos failed in the same way with "ExecError: Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM

upleveled/portfolio-cms#22

Screenshot 2025-06-19 at 17 41 22

Show logs
DEBUG: Executing command (branch="renovate/dependency-upgrades-non-major")
{
  "command": "pnpm dedupe --config.ignore-scripts=true"
}

DEBUG: rawExec err (branch="renovate/dependency-upgrades-non-major")
{
  "err": {
    "cmd": "/bin/sh -c pnpm dedupe --config.ignore-scripts=true",
    "stderr": "",
    "stdout": "\u001b[?25l\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/tmp/renovate/repos/github/upleveled/portfolio-cms/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m\u001b[4D",
    "options": {
      "cwd": "/tmp/renovate/repos/github/upleveled/portfolio-cms",
      "encoding": "utf-8",
      "env": {
        "NPM_CONFIG_CACHE": "/runner/cache/others/npm",
        "npm_config_store": "/runner/cache/others/pnpm",
        "npm_config_cache_dir": "/runner/cache/others/pnpm-cache",
        "npm_config_store_dir": "/runner/cache/others/pnpm-store",
        "HOME": "/home/ubuntu",
        "PATH": "/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "LC_ALL": "C.UTF-8",
        "LANG": "C.UTF-8",
        "CONTAINERBASE_CACHE_DIR": "/runner/cache/containerbase"
      },
      "maxBuffer": 10485760,
      "timeout": 900000
    },
    "signal": "SIGTERM",
    "name": "ExecError",
    "message": "Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM",
    "stack": "ExecError: Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM\n    at ChildProcess.<anonymous> (/usr/local/renovate/lib/util/exec/common.ts:111:11)\n    at ChildProcess.emit (node:events:530:35)\n    at ChildProcess.emit (node:domain:489:12)\n    at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)"
  }
  "durationMs": 900040
}

DEBUG: exec interrupted by SIGTERM - run needs to be aborted (branch="renovate/dependency-upgrades-non-major")
{
  "err": {
    "cmd": "/bin/sh -c pnpm dedupe --config.ignore-scripts=true",
    "stderr": "",
    "stdout": "\u001b[?25l\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/tmp/renovate/repos/github/upleveled/portfolio-cms/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m\u001b[4D",
    "options": {
      "cwd": "/tmp/renovate/repos/github/upleveled/portfolio-cms",
      "encoding": "utf-8",
      "env": {
        "NPM_CONFIG_CACHE": "/runner/cache/others/npm",
        "npm_config_store": "/runner/cache/others/pnpm",
        "npm_config_cache_dir": "/runner/cache/others/pnpm-cache",
        "npm_config_store_dir": "/runner/cache/others/pnpm-store",
        "HOME": "/home/ubuntu",
        "PATH": "/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "LC_ALL": "C.UTF-8",
        "LANG": "C.UTF-8",
        "CONTAINERBASE_CACHE_DIR": "/runner/cache/containerbase"
      },
      "maxBuffer": 10485760,
      "timeout": 900000
    },
    "signal": "SIGTERM",
    "name": "ExecError",
    "message": "Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM",
    "stack": "ExecError: Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM\n    at ChildProcess.<anonymous> (/usr/local/renovate/lib/util/exec/common.ts:111:11)\n    at ChildProcess.emit (node:events:530:35)\n    at ChildProcess.emit (node:domain:489:12)\n    at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)"
  }
}

DEBUG: Passing TEMPORARY_ERROR error up (branch="renovate/dependency-upgrades-non-major")
INFO: Temporary error - aborting
DEBUG: Repository result: temporary-error, status: onboarded, enabled: true, onboarded: true

I thought maybe there was some caching of the shared config going on here, but it appears that Renovate received my config update:

DEBUG: HTTP cache statistics
{
  "https://api.github.com": {
    "/repos/karlhorky/renovate-config/contents/default.json5": {
      "hit": 0,
      "miss": 1
    },
DEBUG: http cache: saving https://api.github.com/repos/karlhorky/renovate-config/contents/default.json5 (etag=W/"49eb767986e90e18575194948da98ef705f015c0", lastModified=Thu, 19 Jun 2025 15:13:03 GMT)

Wonder if it has to do with some bad cached state on Renovate with this particular repo... 🤔 I would try resetting this, if there were controls somewhere...

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 19, 2025

Yeah, still hanging for multiple runs now, with different repos now:

I'll fork my reproduction and see if I can reproduce it with the simple version without shared config - it will appear here:

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 19, 2025

Renovate fails to create Dependency Dashboard

Another interesting (potentially much worse for onboarding) hanging-type behavior with "postUpdateOptions": ["pnpmDedupe"] in the root of the config object:

The Dependency Dashboard issue does not appear for such repos - so if:

  1. a user sets up a new repo with Renovate
  2. this repo configures top-level "postUpdateOptions": ["pnpmDedupe"]
  3. this repo has old versions of a package and also packageManager pnpm version (common, since versions get updated a lot)
  4. this repo uses grouping of multiple updates

...a Dependency Dashboard issue will not appear at all and Renovate will appear to be not working at all.

That's what I'm currently experiencing on the new reproduction:

Screenshot 2025-06-19 at 18 19 38

Screenshot 2025-06-19 at 18 19 45

I'll leave this reproduction open at the karlhorky/repro-renovate-pnpm-dedupe-hanging-2 URL, to showcase this, in case this behavior ever changes in future.

@karlhorky
Copy link
Contributor Author

@rarkins @viceice another thing I can confirm is that the reproduction requires a pnpm lockfile.

Without the lockfile, the PR is created (only package.json is updated):

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 19, 2025

So I created a 3rd reproduction (always waiting ~16 minutes after any change).

I can confirm that it's possible to un-hang a repo with simple config (not using Shared Config Presets) by applying the { "matchPackageNames": ["!pnpm"], "postUpdateOptions": ["pnpmDedupe"] }, config proposed by @rarkins:

My commit applying the { "matchPackageNames": ["!pnpm"], "postUpdateOptions": ["pnpmDedupe"] }, config:

The created PR:

Screenshot 2025-06-19 at 19 15 58

So @peterhirn it may be worth a try for you, since you're not using Shared Config Presets.


For the repos upleveled/portfolio-cms#22 and upleveled/next-starter-peacock#34 (and many others) using Shared Config Presets of my Shared Config Preset karlhorky/renovate-config (which was updated to use { "matchPackageNames": ["!pnpm"], "postUpdateOptions": ["pnpmDedupe"] },), the problems:

  1. The checkboxes for Check this box to trigger a request for Renovate to run again on this repository or any PRs don't get unchecked by Renovate
  2. No new PR is created

So it appears as if there needs to be some kind of manual "reset" or "cache clearing" done for the bad state that Renovate is remembering about these Shared Config Presets repos - although I do not know how to do this 🤔

@karlhorky
Copy link
Contributor Author

Update: I tried committing invalid JSON in renovate.json in the hope this would invalidate the bad Renovated state causing the hanging with Shared Config Presets, but after fixing the JSON error again this did not resolve the problem, and the hanging happened again afterwards:

  1. Renovate opened an issue reporting the JSON error Action Required: Fix Renovate Configuration upleveled/portfolio-cms#177
  2. Back to pnpm dedupe hanging behavior afterwards
  3. Now the JSON issue is also not being closed in this repo anymore 🤪

@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 20, 2025

Update 2: I tried to change the "extends" value to "config:base", to ignore my shared config, with the hope that a successful run + PR merge would cause Renovate to forget its retained bad state for the repo / Shared Config Presets, but after merging one of the created PRs and changing it back to "extends": ["github>karlhorky/renovate-config:default.json5"], the pnpm dedupe error and the hanging behavior returned 😔

@rarkins @viceice @HonkingGoose is there a way for me to manually reset the bad saved state that Renovate appears to have about the repo / Shared Config Preset? Or maybe the suggested pnpmDedupe fix from @rarkins won't work for this Shared Config Preset?

My Shared Config Preset here:

{
  extends: [
    'config:base',
    // Upgrade all remark packages with URL prefix https://github.com/remarkjs/
    // https://github.com/renovatebot/renovate/pull/25969
    'group:remark',
  ],
  ignorePresets: [':prHourlyLimit2'],
  // Allow the major versions in the `dependency upgrades - non-major` groups
  // below to be combined with the minors and patches
  // https://github.com/renovatebot/renovate/issues/18211#issuecomment-1272521018
  separateMajorMinor: false,
  packageRules: [
    // Run `pnpm dedupe` after pnpm-lock.yaml updates
    // - https://docs.renovatebot.com/configuration-options/#:~:text=for%20npm%20%3C%3D%206.-,pnpmDedupe,pnpm%20dedupe%20%2D%2Dconfig.ignore%2Dscripts%3Dtrue%20after%20pnpm%2Dlock.yaml%20updates.,-yarnDedupeFewer
    // - https://github.com/renovatebot/renovate/pull/36554#issuecomment-2988439293
    {
      matchPackageNames: ['!pnpm'],
      postUpdateOptions: ['pnpmDedupe'],
    },
    {
      groupName: 'github-actions dependency upgrades - major',
      matchManagers: ['github-actions'],
      matchPackageNames: ['pnpm/action-setup'],
      matchPackagePatterns: ['^actions/'],
      updateTypes: ['major'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - non-major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['patch', 'minor'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - non-major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['major'],
      matchPackageNames: ['eslint-plugin-unicorn'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['major'],
      matchPackagePatterns: ['^eslint-plugin-unicorn'],
    },
    {
      description: 'Enable major version upgrades of @types/node https://github.com/renovatebot/renovate/issues/1463#issuecomment-875014401',
      matchManagers: ['npm'],
      matchPackageNames: ['@types/node'],
      versioning: 'npm',
    },
    // Disabled since these GitHub Actions don't get major version bumps often
    // {
    //   "groupName": "GitHub Official Actions - major",
    //   "matchDepTypes": ["action"],
    //   "updateTypes": ["major"],
    //   "matchPackageNames": ["actions/checkout", "actions/setup-node", "actions/upload-artifact"],
    //   "automerge": true
    // },
    {
      matchCurrentVersion: '>=4.0.0',
      matchDatasources: ['npm'],
      matchPackageNames: ['@upleveled/eslint-config-upleveled'],
      replacementName: 'eslint-config-upleveled',
      replacementVersion: '4.0.12',
    },
    {
      matchCurrentVersion: '>=2.0.0',
      matchDatasources: ['npm'],
      matchPackageNames: ['@upleveled/eslint-plugin-upleveled'],
      replacementName: 'eslint-plugin-upleveled',
      replacementVersion: '2.1.7',
    },
  ],
  schedule: 'after 4pm on thursday',
  vulnerabilityAlerts: {
    schedule: null,
  },
  // Remediate vulnerabilities in transitive dependencies
  // https://docs.renovatebot.com/configuration-options/#transitiveremediation
  transitiveRemediation: true,
}

I would change to a different Shared Config Preset URL (eg. by forking) to temporarily try that out to see if it helps, but if it does, I would want to afterwards switch back to the original URL and fix the bad saved state in Renovate...

@karlhorky
Copy link
Contributor Author

Another thing I could imagine trying is to remove the content of the pnpm lockfile, while leaving the file - maybe that would be a workaround? 🤔

peterhirn added a commit to phi-ag/rvt that referenced this pull request Jun 20, 2025
@karlhorky karlhorky changed the title fix(npm/pnpm): revert "fix(npm/pnpm): redirect cache and store dir" fix(npm/pnpm): revert "fix(npm/pnpm): redirect cache and store dir" to attempt to fix pnpm dedupe hanging Jun 20, 2025
@karlhorky
Copy link
Contributor Author

karlhorky commented Jun 20, 2025

⚠️ Edit: not working entirely, see comments below

Workaround for Shared Config Presets + pnpmDedupe

Exclude pnpm from the grouping rules and from the "postUpdateOptions": ["pnpmDedupe"] feature of Renovate:

 {
-  "postUpdateOptions": ["pnpmDedupe"],
   "packageRules": [
+    // "postUpdateOptions": ["pnpmDedupe"] currently cannot be applied to `pnpm`
+    // - https://github.com/renovatebot/renovate/pull/36554#issuecomment-2988439293
+    {
+      "matchPackageNames": ["!pnpm"],
+      "postUpdateOptions": ["pnpmDedupe"]
+    },
     {
       "groupName": "dependency upgrades - non-major",
       "matchDepTypes": ["devDependencies", "dependencies", "peerDependencies", "resolutions", "overrides", "pnpm.overrides", "packageManager"],
+      "matchPackageNames": [
+        // "postUpdateOptions": ["pnpmDedupe"] currently cannot be applied to `pnpm`
+        // - https://github.com/renovatebot/renovate/pull/36554#issuecomment-2991578549
+        "!pnpm"
+      ],
       "updateTypes": ["patch", "minor"],
       "automerge": true
     },
+    // "postUpdateOptions": ["pnpmDedupe"] currently cannot be applied to `pnpm`
+    // - https://github.com/renovatebot/renovate/pull/36554#issuecomment-2991578549
+    {
+      "groupName": "pnpm upgrades - non-major",
+      "matchDepTypes": ["packageManager"],
+      "matchPackageNames": ["pnpm"],
+      "updateTypes": ["patch", "minor"],
+      "automerge": true
+    },

@karlhorky
Copy link
Contributor Author

Hmm... spoke too soon - there is still hanging behavior even with the workaround above.

An Update dependency @types/node to v24 PR is also hanging with the same pnpm dedupe problem (rebase/retry checkbox clicked 20 minutes ago, jobs are hanging)

So this problem doesn't only affect the pnpm upgrades.

Screenshot 2025-06-20 at 15 28 59

Show logs
DEBUG: Using RE2 regex engine
DEBUG: Parsing configs
DEBUG: Checking for config file in /runner/renovate/job_config.json
DEBUG: Detected config in env RENOVATE_CONFIG
{
  "config": {
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://developer-platform-bare-metal-prd.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "globalExtends": [
      "global:safeEnv"
    ],
    "logLevelRemap": [
      {
        "newLogLevel": "info",
        "matchMessage": "Cache fallback URLs"
      }
    ],
    "platformCommit": "enabled",
    "allowedCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90,
      "datasource-maven:metadata-xml": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "local",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "dependencyDashboardHeader": "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.<br>[View this repository on the Mend.io Web Portal](https://developer.mend.io/{{platform}}/{{repository}})."
  }
}

DEBUG: File config
{
  "config": {
    "token": "***********",
    "hostRules": [
      {
        "hostType": "docker",
        "matchHost": "docker.io",
        "username": "mdpprod3renovate",
        "password": "***********"
      },
      {
        "hostType": "docker",
        "matchHost": "hub.docker.com",
        "username": "mdpprodrenovatedc2",
        "password": "***********"
      },
      {
        "hostType": "github",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-tags",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-releases",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "pod",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "terraform-provider",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "rubygems",
        "matchHost": "github.com",
        "token": "***********"
      }
    ],
    "secrets": {}
  }
}

DEBUG: CLI config
{
  "config": {}
}

DEBUG: Env config
{
  "config": {
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://developer-platform-bare-metal-prd.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "globalExtends": [
      "global:safeEnv"
    ],
    "logLevelRemap": [
      {
        "newLogLevel": "info",
        "matchMessage": "Cache fallback URLs"
      }
    ],
    "platformCommit": "enabled",
    "allowedCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90,
      "datasource-maven:metadata-xml": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "local",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "dependencyDashboardHeader": "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.<br>[View this repository on the Mend.io Web Portal](https://developer.mend.io/{{platform}}/{{repository}}).",
    "hostRules": [],
    "onboardingNoDeps": "enabled",
    "cacheDir": "/runner/cache",
    "onboarding": true,
    "forkProcessing": "enabled",
    "requireConfig": "required",
    "platform": "github",
    "username": "renovate[bot]",
    "repositories": [
      "karlhorky/project"
    ],
    "gitAuthor": "renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
    "deleteConfigFile": true
  }
}

DEBUG: Resolved global extends
{
  "config": {
    "allowedEnv": [
      "GO*",
      "GRADLE_OPTS",
      "RUSTC_BOOTSTRAP"
    ],
    "description": [
      "Hopefully safe environment variables to allow users to configure."
    ]
  }
}

DEBUG: Combined config
{
  "config": {
    "allowedEnv": [
      "GO*",
      "GRADLE_OPTS",
      "RUSTC_BOOTSTRAP"
    ],
    "description": [
      "Hopefully safe environment variables to allow users to configure."
    ],
    "token": "***********",
    "hostRules": [
      {
        "hostType": "docker",
        "matchHost": "docker.io",
        "username": "mdpprod3renovate",
        "password": "***********"
      },
      {
        "hostType": "docker",
        "matchHost": "hub.docker.com",
        "username": "mdpprodrenovatedc2",
        "password": "***********"
      },
      {
        "hostType": "github",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-tags",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "github-releases",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "pod",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "terraform-provider",
        "matchHost": "api.github.com",
        "token": "***********"
      },
      {
        "hostType": "rubygems",
        "matchHost": "github.com",
        "token": "***********"
      }
    ],
    "secrets": {},
    "extends": [
      "mergeConfidence:all-badges"
    ],
    "prFooter": "This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/{{platform}}/{{repository}}).",
    "redisUrl": "redis://developer-platform-bare-metal-prd.aqffol.ng.0001.use1.cache.amazonaws.com:6379",
    "binarySource": "install",
    "logLevelRemap": [
      {
        "newLogLevel": "info",
        "matchMessage": "Cache fallback URLs"
      }
    ],
    "platformCommit": "enabled",
    "allowedCommands": [
      "^git add --all$",
      "^git reset$",
      "^pwd$"
    ],
    "repositoryCache": "enabled",
    "cacheTtlOverride": {
      "datasource-docker-hub-tags": 90,
      "datasource-maven:metadata-xml": 90
    },
    "encryptedWarning": "Encrypted secrets were detected in the repository config. This feature has been deprecated. Please migrate them to this portal. See the guide at http://docs.renovatebot.com/mend-hosted/migrating-secrets/",
    "onboardingConfig": {
      "$schema": "https://docs.renovatebot.com/renovate-schema.json",
      "extends": [
        "config:recommended"
      ]
    },
    "gitIgnoredAuthors": [
      "29139614+renovate[bot]@users.noreply.github.com"
    ],
    "customizeDashboard": {
      "repoProblemsHeader": "These problems occurred while renovating this repository. [View logs](https://developer.mend.io//{{platform}}/{{repository}})."
    },
    "repositoryCacheType": "local",
    "dependencyDashboardFooter": "\n- [ ] <!-- manual job -->Check this box to trigger a request for Renovate to run again on this repository\n",
    "dependencyDashboardHeader": "This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.<br>[View this repository on the Mend.io Web Portal](https://developer.mend.io/{{platform}}/{{repository}}).",
    "onboardingNoDeps": "enabled",
    "cacheDir": "/runner/cache",
    "onboarding": true,
    "forkProcessing": "enabled",
    "requireConfig": "required",
    "platform": "github",
    "username": "renovate[bot]",
    "repositories": [
      "karlhorky/project"
    ],
    "gitAuthor": "renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
    "deleteConfigFile": true
  }
}

DEBUG: Enabling forkProcessing while in non-autodiscover mode
DEBUG: Enabling onboardingNoDeps while in non-autodiscover mode
DEBUG: Found valid git version: 2.49.0
DEBUG: Setting global hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Using default github endpoint: https://api.github.com/
DEBUG: Platform config
{
  "platformConfig": {
    "hostType": "github",
    "endpoint": "https://api.github.com/",
    "isGHApp": true,
    "isGhe": false
  }
  "renovateUsername": "renovate[bot]"
}

DEBUG: Using configured gitAuthor (renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>)
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Using baseDir: /tmp/renovate
DEBUG: Using configured cacheDir: /runner/cache
DEBUG: Using containerbaseDir: /runner/cache/containerbase
DEBUG: Redis cache init
DEBUG: Redis cache connected
DEBUG: Commits limit = null
DEBUG: Setting global hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: validatePresets()
DEBUG: Reinitializing hostRules for repo
DEBUG: Clearing hostRules
DEBUG: Adding password authentication for docker.io (hostType=docker) to hostRules
DEBUG: Adding password authentication for hub.docker.com (hostType=docker) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-tags) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github-releases) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=pod) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=terraform-provider) to hostRules
DEBUG: Adding token authentication for github.com (hostType=rubygems) to hostRules
DEBUG: Adding token authentication for api.github.com (hostType=github) to hostRules
INFO: Repository started
{
  "renovateVersion": "40.60.1"
}

DEBUG: Using localDir: /tmp/renovate/repos/github/karlhorky/project
DEBUG: PackageFiles.clear() - Package files deleted
DEBUG: initRepo("karlhorky/project")
DEBUG: hostRules: authentication already set for api.github.com
DEBUG: Using queue: host=api.github.com, concurrency=16
DEBUG: karlhorky/project default branch = main
DEBUG: Issues cache: Adding 2 issues to reconcile queue
DEBUG: Using app token for git init
DEBUG: fetchBranchCommits(): url=https://**redacted**@github.com/karlhorky/project.git
DEBUG: Repository cache is restored from revision 13
DEBUG: Resetting npmrc
DEBUG: Resetting npmrc
DEBUG: checkOnboarding()
DEBUG: isOnboarded()
DEBUG: findPr(renovate/configure, Configure Renovate, !open)
DEBUG: PR cache: sync fetch
DEBUG: http cache: saving https://api.github.com/repos/karlhorky/project/pulls?per_page=20&state=all&sort=updated&direction=desc&page=1 (etag=W/"a0047b423e14e71c079bb80f44963394cc030098c891e647b3d0ff6508bd7ed0", lastModified=undefined)
DEBUG: PR cache: Filtered 20 PRs to 19 (user=renovate[bot])
DEBUG: PR cache: updating item 879
DEBUG: PR cache: updating item 880
DEBUG: PR cache: getPrList success
{
  "pullsTotal": 504
  "requestsTotal": 1
  "apiQuotaAffected": true
}

DEBUG: Found PR #1
DEBUG: Checking cached config file name
DEBUG: http cache: Using cached response: https://api.github.com/repos/karlhorky/project/contents/renovate.json from 2025-06-08T22:00:10.356Z
DEBUG: Existing config file confirmed
DEBUG: Repository config
{
  "fileName": "renovate.json"
  "config": {
    "extends": [
      "github>karlhorky/renovate-config:default.json5"
    ]
  }
}

DEBUG: Repo is onboarded
DEBUG: http cache: Using cached response: https://api.github.com/repos/karlhorky/project/contents/renovate.json from 2025-06-08T22:00:10.356Z
DEBUG: migrateAndValidate()
DEBUG: No config migration necessary
DEBUG: http cache: Using cached response: https://api.github.com/repos/karlhorky/renovate-config/contents/default.json5 from 2025-06-20T12:59:30.741Z
DEBUG: Found repo ignorePaths
{
  "ignorePaths": [
    "**/node_modules/**",
    "**/bower_components/**",
    "**/vendor/**",
    "**/examples/**",
    "**/__tests__/**",
    "**/test/**",
    "**/tests/**",
    "**/__fixtures__/**"
  ]
}

DEBUG: http cache: saving https://api.github.com/repos/karlhorky/project/dependabot/alerts?state=open&direction=asc&per_page=100 (etag=W/"91acfebe6dc5b58f6e86bda70f121672f09d41c68a1f013671da68e378387062", lastModified=Fri, 13 Jun 2025 08:46:25 GMT)
DEBUG: GitHub vulnerability details
{
  "alerts": {
    "npm/@babel/runtime": {
      "< 7.26.10": "7.26.10"
    },
    "npm/@babel/helpers": {
      "< 7.26.10": "7.26.10"
    },
    "npm/brace-expansion": {
      ">= 2.0.0, <= 2.0.1": "2.0.2",
      ">= 1.0.0, <= 1.1.11": "1.1.12"
    }
  }
}

DEBUG: alert package rules
{
  "alertPackageRules": [
    {
      "matchDatasources": [
        "npm"
      ],
      "matchPackageNames": [
        "@babel/runtime"
      ],
      "matchFileNames": [
        "pnpm-lock.yaml"
      ],
      "matchCurrentVersion": "< 7.26.10",
      "vulnerabilityFixVersion": "7.26.10",
      "prBodyNotes": [
        "### GitHub Vulnerability Alerts",
        "#### [CVE-2025-27789](https://github.com/babel/babel/security/advisories/GHSA-968p-4wvh-cqc8)\n\n### Impact\n\nWhen using Babel to compile [regular expression named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group), Babel will generate a polyfill for the `.replace` method that has quadratic complexity on some specific replacement pattern strings (i.e. the second argument passed to `.replace`).\n\nYour generated code is vulnerable if _all_ the following conditions are true:\n- You use Babel to compile [regular expression named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group)\n- You use the `.replace` method on a regular expression that contains named capturing groups\n- **Your code uses untrusted strings as the second argument of `.replace`**\n\nIf you are using `@babel/preset-env` with the [`targets`](https://babeljs.io/docs/options#targets) option, the transform that injects the vulnerable code is automatically enabled if:\n- you use [_duplicated_ named capturing groups](https://github.com/tc39/proposal-duplicate-named-capturing-groups), and target any browser older than Chrome/Edge 126, Opera 112, Firefox 129, Safari 17.4, or Node.js 23\n- you use any [named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group), and target any browser older than Chrome 64, Opera 71, Edge 79, Firefox 78, Safari 11.1, or Node.js 10\n\nYou can verify what transforms `@babel/preset-env` is using by enabling the [`debug` option](https://babeljs.io/docs/babel-preset-env#debug).\n\n\n### Patches\n\nThis problem has been fixed in `@babel/helpers` and `@babel/runtime` 7.26.10 and 8.0.0-alpha.17, please upgrade. It's likely that you do not directly depend on `@babel/helpers`, and instead you depend on `@babel/core` (which itself depends on `@babel/helpers`). Upgrading to `@babel/core` 7.26.10 is not required, but it guarantees that you are on a new enough `@babel/helpers` version.\n\nPlease note that just updating your Babel dependencies is not enough: you will also need to re-compile your code.\n\n### Workarounds\n\nIf you are passing user-provided strings as the second argument of `.replace` on regular expressions that contain named capturing groups, validate the input and make sure it does not contain the substring `$<` if it's then not followed by `>` (possibly with other characters in between).\n\n### References\n\nThis vulnerability was reported and fixed in https://github.com/babel/babel/pull/17173."
      ],
      "isVulnerabilityAlert": true,
      "force": {
        "groupName": null,
        "schedule": null,
        "dependencyDashboardApproval": false,
        "minimumReleaseAge": null,
        "rangeStrategy": "update-lockfile",
        "commitMessageSuffix": "[SECURITY]",
        "branchTopic": "{{{datasource}}}-{{{depNameSanitized}}}-vulnerability",
        "prCreation": "immediate",
        "vulnerabilityFixStrategy": "lowest"
      }
    },
    {
      "matchDatasources": [
        "npm"
      ],
      "matchPackageNames": [
        "@babel/helpers"
      ],
      "matchFileNames": [
        "pnpm-lock.yaml"
      ],
      "matchCurrentVersion": "< 7.26.10",
      "vulnerabilityFixVersion": "7.26.10",
      "prBodyNotes": [
        "### GitHub Vulnerability Alerts",
        "#### [CVE-2025-27789](https://github.com/babel/babel/security/advisories/GHSA-968p-4wvh-cqc8)\n\n### Impact\n\nWhen using Babel to compile [regular expression named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group), Babel will generate a polyfill for the `.replace` method that has quadratic complexity on some specific replacement pattern strings (i.e. the second argument passed to `.replace`).\n\nYour generated code is vulnerable if _all_ the following conditions are true:\n- You use Babel to compile [regular expression named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group)\n- You use the `.replace` method on a regular expression that contains named capturing groups\n- **Your code uses untrusted strings as the second argument of `.replace`**\n\nIf you are using `@babel/preset-env` with the [`targets`](https://babeljs.io/docs/options#targets) option, the transform that injects the vulnerable code is automatically enabled if:\n- you use [_duplicated_ named capturing groups](https://github.com/tc39/proposal-duplicate-named-capturing-groups), and target any browser older than Chrome/Edge 126, Opera 112, Firefox 129, Safari 17.4, or Node.js 23\n- you use any [named capturing groups](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Regular_expressions/Named_capturing_group), and target any browser older than Chrome 64, Opera 71, Edge 79, Firefox 78, Safari 11.1, or Node.js 10\n\nYou can verify what transforms `@babel/preset-env` is using by enabling the [`debug` option](https://babeljs.io/docs/babel-preset-env#debug).\n\n\n### Patches\n\nThis problem has been fixed in `@babel/helpers` and `@babel/runtime` 7.26.10 and 8.0.0-alpha.17, please upgrade. It's likely that you do not directly depend on `@babel/helpers`, and instead you depend on `@babel/core` (which itself depends on `@babel/helpers`). Upgrading to `@babel/core` 7.26.10 is not required, but it guarantees that you are on a new enough `@babel/helpers` version.\n\nPlease note that just updating your Babel dependencies is not enough: you will also need to re-compile your code.\n\n### Workarounds\n\nIf you are passing user-provided strings as the second argument of `.replace` on regular expressions that contain named capturing groups, validate the input and make sure it does not contain the substring `$<` if it's then not followed by `>` (possibly with other characters in between).\n\n### References\n\nThis vulnerability was reported and fixed in https://github.com/babel/babel/pull/17173."
      ],
      "isVulnerabilityAlert": true,
      "force": {
        "groupName": null,
        "schedule": null,
        "dependencyDashboardApproval": false,
        "minimumReleaseAge": null,
        "rangeStrategy": "update-lockfile",
        "commitMessageSuffix": "[SECURITY]",
        "branchTopic": "{{{datasource}}}-{{{depNameSanitized}}}-vulnerability",
        "prCreation": "immediate",
        "vulnerabilityFixStrategy": "lowest"
      }
    },
    {
      "matchDatasources": [
        "npm"
      ],
      "matchPackageNames": [
        "brace-expansion"
      ],
      "matchFileNames": [
        "pnpm-lock.yaml"
      ],
      "matchCurrentVersion": "< 2.0.2",
      "vulnerabilityFixVersion": "2.0.2",
      "prBodyNotes": [
        "### GitHub Vulnerability Alerts",
        "#### [CVE-2025-5889](https://nvd.nist.gov/vuln/detail/CVE-2025-5889)\n\nA vulnerability was found in juliangruber brace-expansion up to 1.1.11/2.0.1/3.0.0/4.0.0. It has been rated as problematic. Affected by this issue is the function expand of the file index.js. The manipulation leads to inefficient regular expression complexity. The attack may be launched remotely. The complexity of an attack is rather high. The exploitation is known to be difficult. The exploit has been disclosed to the public and may be used. Upgrading to version 1.1.12, 2.0.2, 3.0.1 and 4.0.1 is able to address this issue. The name of the patch is `a5b98a4f30d7813266b221435e1eaaf25a1b0ac5`. It is recommended to upgrade the affected component.",
        "#### [CVE-2025-5889](https://nvd.nist.gov/vuln/detail/CVE-2025-5889)\n\nA vulnerability was found in juliangruber brace-expansion up to 1.1.11/2.0.1/3.0.0/4.0.0. It has been rated as problematic. Affected by this issue is the function expand of the file index.js. The manipulation leads to inefficient regular expression complexity. The attack may be launched remotely. The complexity of an attack is rather high. The exploitation is known to be difficult. The exploit has been disclosed to the public and may be used. Upgrading to version 1.1.12, 2.0.2, 3.0.1 and 4.0.1 is able to address this issue. The name of the patch is `a5b98a4f30d7813266b221435e1eaaf25a1b0ac5`. It is recommended to upgrade the affected component."
      ],
      "isVulnerabilityAlert": true,
      "force": {
        "groupName": null,
        "schedule": null,
        "dependencyDashboardApproval": false,
        "minimumReleaseAge": null,
        "rangeStrategy": "update-lockfile",
        "commitMessageSuffix": "[SECURITY]",
        "branchTopic": "{{{datasource}}}-{{{depNameSanitized}}}-vulnerability",
        "prCreation": "immediate",
        "vulnerabilityFixStrategy": "lowest"
      }
    }
  ]
}

DEBUG: findIssue(Dependency Dashboard)
DEBUG: Issues cache: Done reconciling at issue 28
DEBUG: Issues cache: Done reconciling by iterating over all items
DEBUG: Issues cache: synced
DEBUG: Found issue 154
DEBUG: http cache: saving https://api.github.com/repos/karlhorky/project/issues/154 (etag=W/"dac6b4d4c8e23a8b410fcf7f190a547a84db74738009a816672ffbca5694dce5", lastModified=Fri, 20 Jun 2025 13:04:50 GMT)
DEBUG: Issues cache: Updating issue 154 in cache
DEBUG: No baseBranches
DEBUG: extract()
DEBUG: Cached extract result cannot be used due to base branch SHA change (old=02715531cbc8f799f5cde02a17709936b03f79c1, new=69e72aaaa3701d56df6efadd6b53e76cfa2af48f)
DEBUG: Setting current branch to main
DEBUG: syncGit(): Initializing git repository into /tmp/renovate/repos/github/karlhorky/project
DEBUG: Performing blobless clone
DEBUG: git clone completed
{
  "durationMs": 2360
}

DEBUG: latest repository commit
{
  "latestCommit": {
    "hash": "69e72aaaa3701d56df6efadd6b53e76cfa2af48f",
    "date": "2025-06-20T13:03:21Z",
    "message": "Update dependency upgrades - non-major (#879)",
    "refs": "HEAD -> main, origin/main, origin/HEAD",
    "body": "Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>",
    "author_name": "renovate[bot]",
    "author_email": "29139614+renovate[bot]@users.noreply.github.com"
  }
}

DEBUG: Current branch SHA: 69e72aaaa3701d56df6efadd6b53e76cfa2af48f
DEBUG: latest commit
{
  "branchName": "main"
  "latestCommitDate": "2025-06-20T13:03:21Z"
  "sha": "69e72aaaa3701d56df6efadd6b53e76cfa2af48f"
}

DEBUG: Using file pattern: /(^|/)tasks/[^/]+\.ya?ml$/ for manager ansible
DEBUG: Using file pattern: /(^|/)(galaxy|requirements)(\.ansible)?\.ya?ml$/ for manager ansible-galaxy
DEBUG: Using file pattern: /(^|/)\.tool-versions$/ for manager asdf
DEBUG: Using file pattern: /(^|/).azuredevops/.+\.ya?ml$/ for manager azure-pipelines
DEBUG: Using file pattern: /azure.*pipelines?.*\.ya?ml$/ for manager azure-pipelines
DEBUG: Using file pattern: /(^|/)batect(-bundle)?\.ya?ml$/ for manager batect
DEBUG: Using file pattern: /(^|/)batect$/ for manager batect-wrapper
DEBUG: Using file pattern: /(^|/)WORKSPACE(|\.bazel|\.bzlmod)$/ for manager bazel
DEBUG: Using file pattern: /\.WORKSPACE\.bazel$/ for manager bazel
DEBUG: Using file pattern: /\.bzl$/ for manager bazel
DEBUG: Using file pattern: /(^|/|\.)MODULE\.bazel$/ for manager bazel-module
DEBUG: Using file pattern: /(^|/)\.bazelversion$/ for manager bazelisk
DEBUG: Using file pattern: /\.bicep$/ for manager bicep
DEBUG: Using file pattern: /(^|/)\.?bitbucket-pipelines\.ya?ml$/ for manager bitbucket-pipelines
DEBUG: Using file pattern: /(^|/)bitrise\.ya?ml$/ for manager bitrise
DEBUG: Using file pattern: /buildkite\.ya?ml/ for manager buildkite
DEBUG: Using file pattern: /\.buildkite/.+\.ya?ml$/ for manager buildkite
DEBUG: Using file pattern: /(^|/)project\.toml$/ for manager buildpacks
DEBUG: Using file pattern: /(^|/)bun\.lockb?$/ for manager bun
DEBUG: Using file pattern: /(^|/)package\.json$/ for manager bun
DEBUG: Using file pattern: /(^|/)\.bun-version$/ for manager bun-version
DEBUG: Using file pattern: /(^|/)Gemfile$/ for manager bundler
DEBUG: Using file pattern: /\.cake$/ for manager cake
DEBUG: Using file pattern: /(^|/)Cargo\.toml$/ for manager cargo
DEBUG: Using file pattern: /(^|/)\.circleci/.+\.ya?ml$/ for manager circleci
DEBUG: Using file pattern: /(^|/)cloudbuild\.ya?ml/ for manager cloudbuild
DEBUG: Using file pattern: /(^|/)Podfile$/ for manager cocoapods
DEBUG: Using file pattern: /(^|/)([\w-]*)composer\.json$/ for manager composer
DEBUG: Using file pattern: /(^|/)conanfile\.(txt|py)$/ for manager conan
DEBUG: Using file pattern: /(^|/)\.copier-answers(\..+)?\.ya?ml/ for manager copier
DEBUG: Using file pattern: /(^|/)cpanfile$/ for manager cpanfile
DEBUG: Using file pattern: /(^|/)(?:deps|bb)\.edn$/ for manager deps-edn
DEBUG: Using file pattern: /(^|/)devbox\.json$/ for manager devbox
DEBUG: Using file pattern: /^.devcontainer/devcontainer.json$/ for manager devcontainer
DEBUG: Using file pattern: /^.devcontainer.json$/ for manager devcontainer
DEBUG: Using file pattern: /(^|/)(?:docker-)?compose[^/]*\.ya?ml$/ for manager docker-compose
DEBUG: Using file pattern: /(^|/|\.)([Dd]ocker|[Cc]ontainer)file$/ for manager dockerfile
DEBUG: Using file pattern: /(^|/)([Dd]ocker|[Cc]ontainer)file[^/]*$/ for manager dockerfile
DEBUG: Using file pattern: /(^|/)\.drone\.yml$/ for manager droneci
DEBUG: Using file pattern: /(^|/)fleet\.ya?ml/ for manager fleet
DEBUG: Using file pattern: /(?:^|/)gotk-components\.ya?ml$/ for manager flux
DEBUG: Using file pattern: /(^|/)\.fvm/fvm_config\.json$/ for manager fvm
DEBUG: Using file pattern: /(^|/)\.fvmrc$/ for manager fvm
DEBUG: Using file pattern: /(^|/)\.gitmodules$/ for manager git-submodules
DEBUG: Using file pattern: /(^|/)(workflow-templates|\.(?:github|gitea|forgejo)/(?:workflows|actions))/.+\.ya?ml$/ for manager github-actions
DEBUG: Using file pattern: /(^|/)action\.ya?ml$/ for manager github-actions
DEBUG: Using file pattern: /\.gitlab-ci\.ya?ml$/ for manager gitlabci
DEBUG: Using file pattern: /\.gitlab-ci\.ya?ml$/ for manager gitlabci-include
DEBUG: Using file pattern: /(^|/)gleam.toml$/ for manager gleam
DEBUG: Using file pattern: /(^|/)go\.mod$/ for manager gomod
DEBUG: Using file pattern: /\.gradle(\.kts)?$/ for manager gradle
DEBUG: Using file pattern: /(^|/)gradle\.properties$/ for manager gradle
DEBUG: Using file pattern: /(^|/)gradle/.+\.toml$/ for manager gradle
DEBUG: Using file pattern: /(^|/)buildSrc/.+\.kt$/ for manager gradle
DEBUG: Using file pattern: /\.versions\.toml$/ for manager gradle
DEBUG: Using file pattern: /(^|/)versions.props$/ for manager gradle
DEBUG: Using file pattern: /(^|/)versions.lock$/ for manager gradle
DEBUG: Using file pattern: /(^|/)gradle/wrapper/gradle-wrapper\.properties$/ for manager gradle-wrapper
DEBUG: Using file pattern: /\.cabal$/ for manager haskell-cabal
DEBUG: Using file pattern: /(^|/)requirements\.ya?ml$/ for manager helm-requirements
DEBUG: Using file pattern: /(^|/)values\.ya?ml$/ for manager helm-values
DEBUG: Using file pattern: /(^|/)helmfile\.ya?ml(?:\.gotmpl)?$/ for manager helmfile
DEBUG: Using file pattern: /(^|/)Chart\.ya?ml$/ for manager helmv3
DEBUG: Using file pattern: /(^|/)bin/hermit$/ for manager hermit
DEBUG: Using file pattern: /^Formula/[^/]+[.]rb$/ for manager homebrew
DEBUG: Using file pattern: /\.html?$/ for manager html
DEBUG: Using file pattern: /(^|/)plugins\.(txt|ya?ml)$/ for manager jenkins
DEBUG: Using file pattern: /(^|/)jsonnetfile\.json$/ for manager jsonnet-bundler
DEBUG: Using file pattern: /^.+\.main\.kts$/ for manager kotlin-script
DEBUG: Using file pattern: /(^|/)kustomization\.ya?ml$/ for manager kustomize
DEBUG: Using file pattern: /(^|/)project\.clj$/ for manager leiningen
DEBUG: Using file pattern: /(^|/|\.)pom\.xml$/ for manager maven
DEBUG: Using file pattern: /^(((\.mvn)|(\.m2))/)?settings\.xml$/ for manager maven
DEBUG: Using file pattern: /(^|/)\.mvn/extensions\.xml$/ for manager maven
DEBUG: Using file pattern: /(^|\/).mvn/wrapper/maven-wrapper.properties$/ for manager maven-wrapper
DEBUG: Using file pattern: /(^|/)package\.js$/ for manager meteor
DEBUG: Using file pattern: /(^|/)Mintfile$/ for manager mint
DEBUG: Using file pattern: /(^|/)\.?mise\.toml$/ for manager mise
DEBUG: Using file pattern: /(^|/)\.?mise/config\.toml$/ for manager mise
DEBUG: Using file pattern: /(^|/)mix\.exs$/ for manager mix
DEBUG: Using file pattern: /(^|/)flake\.nix$/ for manager nix
DEBUG: Using file pattern: /(^|/)\.node-version$/ for manager nodenv
DEBUG: Using file pattern: /(^|/)package\.json$/ for manager npm
DEBUG: Using file pattern: /(^|/)pnpm-workspace\.yaml$/ for manager npm
DEBUG: Using file pattern: /\.(?:cs|fs|vb)proj$/ for manager nuget
DEBUG: Using file pattern: /\.(?:props|targets)$/ for manager nuget
DEBUG: Using file pattern: /(^|/)dotnet-tools\.json$/ for manager nuget
DEBUG: Using file pattern: /(^|/)global\.json$/ for manager nuget
DEBUG: Using file pattern: /(^|/)\.nvmrc$/ for manager nvm
DEBUG: Using file pattern: /(^|/)src/main/features/.+\.json$/ for manager osgi
DEBUG: Using file pattern: /(^|/)pyproject\.toml$/ for manager pep621
DEBUG: Using file pattern: /(^|/)[\w-]*requirements([-.]\w+)?\.(txt|pip)$/ for manager pip_requirements
DEBUG: Using file pattern: /(^|/)setup\.py$/ for manager pip_setup
DEBUG: Using file pattern: /(^|/)Pipfile$/ for manager pipenv
DEBUG: Using file pattern: /(^|/)pyproject\.toml$/ for manager pixi
DEBUG: Using file pattern: /(^|/)pixi\.toml$/ for manager pixi
DEBUG: Using file pattern: /(^|/)pyproject\.toml$/ for manager poetry
DEBUG: Using file pattern: /(^|/)\.pre-commit-config\.ya?ml$/ for manager pre-commit
DEBUG: Using file pattern: /(^|/)pubspec\.ya?ml$/ for manager pub
DEBUG: Using file pattern: /(^|/)Puppetfile$/ for manager puppet
DEBUG: Using file pattern: /(^|/)\.python-version$/ for manager pyenv
DEBUG: Using file pattern: renovate.json for manager renovate-config-presets
DEBUG: Using file pattern: renovate.json5 for manager renovate-config-presets
DEBUG: Using file pattern: .github/renovate.json for manager renovate-config-presets
DEBUG: Using file pattern: .github/renovate.json5 for manager renovate-config-presets
DEBUG: Using file pattern: .gitlab/renovate.json for manager renovate-config-presets
DEBUG: Using file pattern: .gitlab/renovate.json5 for manager renovate-config-presets
DEBUG: Using file pattern: .renovaterc for manager renovate-config-presets
DEBUG: Using file pattern: .renovaterc.json for manager renovate-config-presets
DEBUG: Using file pattern: .renovaterc.json5 for manager renovate-config-presets
DEBUG: Using file pattern: /(^|/)\.ruby-version$/ for manager ruby-version
DEBUG: Using file pattern: /(^|/)runtime.txt$/ for manager runtime-version
DEBUG: Using file pattern: /\.sbt$/ for manager sbt
DEBUG: Using file pattern: /project/[^/]*\.scala$/ for manager sbt
DEBUG: Using file pattern: /project/build\.properties$/ for manager sbt
DEBUG: Using file pattern: /(^|/)repositories$/ for manager sbt
DEBUG: Using file pattern: /(^|/)\.scalafmt.conf$/ for manager scalafmt
DEBUG: Using file pattern: /(^|/)setup\.cfg$/ for manager setup-cfg
DEBUG: Using file pattern: /(^|/)Package\.swift/ for manager swift
DEBUG: Using file pattern: /\.tf$/ for manager terraform
DEBUG: Using file pattern: /(^|/)\.terraform-version$/ for manager terraform-version
DEBUG: Using file pattern: /(^|/)terragrunt\.hcl$/ for manager terragrunt
DEBUG: Using file pattern: /(^|/)\.terragrunt-version$/ for manager terragrunt-version
DEBUG: Using file pattern: /\.tflint\.hcl$/ for manager tflint-plugin
DEBUG: Using file pattern: /^\.travis\.ya?ml$/ for manager travis
DEBUG: Using file pattern: **/ProjectSettings/ProjectVersion.txt for manager unity3d
DEBUG: Using file pattern: /(^|/)\.vela\.ya?ml$/ for manager velaci
DEBUG: Using file pattern: /(^|/)vendir\.yml$/ for manager vendir
DEBUG: Using file pattern: /^\.woodpecker(?:/[^/]+)?\.ya?ml$/ for manager woodpecker
DEBUG: Matched 1 file(s) for manager bun: package.json
DEBUG: No bun lockfiles found
DEBUG: Matched 3 file(s) for manager github-actions: .github/workflows/fix-webflow-export.yml, .github/workflows/lint-and-check-types.yml, .github/workflows/playwright-tests.yml
DEBUG: Matched 1 file(s) for manager html: public/tech-fundamentals-course.html
DEBUG: Matched 1 file(s) for manager nodenv: .node-version
DEBUG: Matched 1 file(s) for manager npm: package.json
DEBUG: Matched 1 file(s) for manager renovate-config-presets: renovate.json
DEBUG: npm file package.json has name "project"
DEBUG: Detecting pnpm Workspaces
DEBUG: Detecting workspaces
DEBUG: Finding locked versions
DEBUG: Found pnpm lock-file
DEBUG: manager extract durations (ms)
{
  "managers": {
    "bun": 4,
    "html": 30,
    "nodenv": 30,
    "renovate-config-presets": 50,
    "github-actions": 67,
    "npm": 843
  }
}

DEBUG: Found github-actions package files
DEBUG: Found nodenv package files
DEBUG: Found npm package files
DEBUG: Found renovate-config-presets package files
DEBUG: Found 6 package file(s)
INFO: Dependency extraction complete
{
  "baseBranch": "main"
  "stats": {
    "managers": {
      "github-actions": {
        "fileCount": 3,
        "depCount": 9
      },
      "nodenv": {
        "fileCount": 1,
        "depCount": 1
      },
      "npm": {
        "fileCount": 1,
        "depCount": 54
      },
      "renovate-config-presets": {
        "fileCount": 1,
        "depCount": 1
      }
    },
    "total": {
      "fileCount": 6,
      "depCount": 65
    }
  }
}

DEBUG: Dependency node has unsupported/unversioned value lts/* (versioning=node)
DEBUG: Skipping node because no currentDigest or pinDigests
DEBUG: Setting npmrc
DEBUG: hostRules: no authentication for registry.npmjs.org
DEBUG: Using queue: host=registry.npmjs.org, concurrency=999
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@emotion%2Fcache from 2025-06-19T19:49:18.356Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@emotion%2Fstyled from 2025-06-19T19:58:09.143Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@emotion%2Freact from 2025-06-19T19:59:01.753Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@netlify%2Fplugin-nextjs from 2025-06-19T17:47:03.008Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@styled-system%2Fshould-forward-prop from 2025-06-20T08:21:23.240Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@styled-system%2Fcss from 2025-06-20T10:54:19.170Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@svgr%2Fwebpack from 2025-06-19T19:59:51.093Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@reach%2Fvisually-hidden from 2025-06-20T11:53:08.536Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@reach%2Ftabs from 2025-06-20T11:34:12.952Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/fetch-jsonp from 2025-06-20T09:44:03.562Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/hex-rgb from 2025-06-20T10:11:05.272Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/dayjs from 2025-06-16T02:51:38.553Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@tailwindcss%2Fpostcss from 2025-06-20T10:32:55.918Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/crisp-sdk-web from 2025-06-20T08:42:53.595Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/prop-types from 2025-06-16T23:44:20.584Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/sharp from 2025-06-20T05:50:09.763Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/styled-system from 2025-06-19T00:02:26.615Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/rebass from 2025-06-20T11:12:14.532Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/react from 2025-06-20T08:09:01.491Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/tailwind-merge from 2025-06-17T20:27:19.044Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/yup from 2025-06-18T23:49:21.139Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Ffacebook-pixel from 2025-06-20T01:55:01.165Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/react-dom from 2025-06-20T08:10:01.425Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Fgtag.js from 2025-06-18T23:54:09.582Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Freact from 2025-06-18T13:42:19.432Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Freact-dom from 2025-06-16T03:04:09.943Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@playwright%2Ftest from 2025-06-20T12:22:51.981Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Frebass from 2025-06-20T11:24:02.303Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Fstyled-system from 2025-06-17T18:24:03.443Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/tailwindcss from 2025-06-20T10:32:41.370Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Fstyled-system__css from 2025-06-20T11:20:38.046Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/eslint from 2025-06-20T04:50:54.503Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Fstyled-system__should-forward-prop from 2025-06-20T12:07:14.379Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/eslint-config-upleveled from 2025-06-20T12:26:09.944Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/node-fetch from 2025-06-14T14:07:48.401Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/p-map from 2025-06-19T00:04:00.557Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/postcss-load-config from 2025-06-19T00:02:00.593Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/prettier from 2025-06-16T12:03:48.743Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/@types%2Fnode from 2025-06-20T09:08:55.671Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/prettier-plugin-tailwindcss from 2025-06-19T18:02:09.525Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/stylelint from 2025-06-19T08:39:14.919Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/typescript-eslint from 2025-06-18T02:07:30.560Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/next from 2025-06-19T23:35:29.631Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/webpack from 2025-06-16T06:01:50.091Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/pnpm from 2025-06-19T19:36:30.602Z
DEBUG: http cache: Using cached response: https://registry.npmjs.org/typescript from 2025-06-20T07:16:21.380Z
DEBUG: PackageFiles.add() - Package file saved for base branch
{
  "baseBranch": "main"
}

DEBUG: Package releases lookups complete
{
  "baseBranch": "main"
}

DEBUG: Repository libYears
{
  "libYears": {
    "managers": {
      "github-actions": 0,
      "nodenv": 0,
      "npm": 0.2205548626966007,
      "renovate-config-presets": 0
    },
    "total": 0.2205548626966007
  }
  "dependencyStatus": {
    "outdated": 2,
    "total": 56
  }
}

DEBUG: branchifyUpgrades
DEBUG: detectSemanticCommits()
DEBUG: getCommitMessages
DEBUG: semanticCommits: detected "unknown"
DEBUG: semanticCommits: disabled
DEBUG: 2 flattened updates found: @types/node, pnpm
DEBUG: Returning 2 branch(es)
DEBUG: config.repoIsOnboarded=true
DEBUG: packageFiles with updates
{
  "baseBranch": "main"
  "config": {
    "github-actions": [
      {
        "deps": [
          {
            "depName": "actions/checkout",
            "commitMessageTopic": "{{{depName}}} action",
            "datasource": "github-tags",
            "versioning": "docker",
            "depType": "action",
            "replaceString": "actions/checkout@v4",
            "autoReplaceStringTemplate": "{{depName}}@{{#if newDigest}}{{newDigest}}{{#if newValue}} # {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}{{/unless}}",
            "currentValue": "v4",
            "updates": [],
            "packageName": "actions/checkout",
            "warnings": [],
            "sourceUrl": "https://github.com/actions/checkout",
            "registryUrl": "https://github.com",
            "mostRecentTimestamp": "2024-10-23T14:24:28.000Z",
            "currentVersion": "v4",
            "currentVersionTimestamp": "2024-10-23T14:24:28.000Z",
            "currentVersionAgeInDays": 239,
            "fixedVersion": "v4"
          },
          {
            "depName": "ubuntu",
            "currentValue": "latest",
            "replaceString": "ubuntu-latest",
            "depType": "github-runner",
            "datasource": "github-runners",
            "autoReplaceStringTemplate": "{{depName}}-{{newValue}}",
            "skipReason": "invalid-version",
            "updates": [],
            "packageName": "ubuntu"
          }
        ],
        "packageFile": ".github/workflows/fix-webflow-export.yml"
      },
      {
        "deps": [
          {
            "depName": "actions/checkout",
            "commitMessageTopic": "{{{depName}}} action",
            "datasource": "github-tags",
            "versioning": "docker",
            "depType": "action",
            "replaceString": "actions/checkout@v4",
            "autoReplaceStringTemplate": "{{depName}}@{{#if newDigest}}{{newDigest}}{{#if newValue}} # {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}{{/unless}}",
            "currentValue": "v4",
            "updates": [],
            "packageName": "actions/checkout",
            "warnings": [],
            "sourceUrl": "https://github.com/actions/checkout",
            "registryUrl": "https://github.com",
            "mostRecentTimestamp": "2024-10-23T14:24:28.000Z",
            "currentVersion": "v4",
            "currentVersionTimestamp": "2024-10-23T14:24:28.000Z",
            "currentVersionAgeInDays": 239,
            "fixedVersion": "v4"
          },
          {
            "depName": "actions/cache",
            "commitMessageTopic": "{{{depName}}} action",
            "datasource": "github-tags",
            "versioning": "docker",
            "depType": "action",
            "replaceString": "actions/cache@v4",
            "autoReplaceStringTemplate": "{{depName}}@{{#if newDigest}}{{newDigest}}{{#if newValue}} # {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}{{/unless}}",
            "currentValue": "v4",
            "updates": [],
            "packageName": "actions/cache",
            "warnings": [],
            "sourceUrl": "https://github.com/actions/cache",
            "registryUrl": "https://github.com",
            "currentVersion": "v4",
            "currentVersionTimestamp": "2025-03-19T18:06:32.000Z",
            "currentVersionAgeInDays": 92,
            "fixedVersion": "v4"
          },
          {
            "depName": "ubuntu",
            "currentValue": "latest",
            "replaceString": "ubuntu-latest",
            "depType": "github-runner",
            "datasource": "github-runners",
            "autoReplaceStringTemplate": "{{depName}}-{{newValue}}",
            "skipReason": "invalid-version",
            "updates": [],
            "packageName": "ubuntu"
          }
        ],
        "packageFile": ".github/workflows/lint-and-check-types.yml"
      },
      {
        "deps": [
          {
            "depName": "actions/checkout",
            "commitMessageTopic": "{{{depName}}} action",
            "datasource": "github-tags",
            "versioning": "docker",
            "depType": "action",
            "replaceString": "actions/checkout@v4",
            "autoReplaceStringTemplate": "{{depName}}@{{#if newDigest}}{{newDigest}}{{#if newValue}} # {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}{{/unless}}",
            "currentValue": "v4",
            "updates": [],
            "packageName": "actions/checkout",
            "warnings": [],
            "sourceUrl": "https://github.com/actions/checkout",
            "registryUrl": "https://github.com",
            "mostRecentTimestamp": "2024-10-23T14:24:28.000Z",
            "currentVersion": "v4",
            "currentVersionTimestamp": "2024-10-23T14:24:28.000Z",
            "currentVersionAgeInDays": 239,
            "fixedVersion": "v4"
          },
          {
            "depName": "actions/cache",
            "commitMessageTopic": "{{{depName}}} action",
            "datasource": "github-tags",
            "versioning": "docker",
            "depType": "action",
            "replaceString": "actions/cache@v4",
            "autoReplaceStringTemplate": "{{depName}}@{{#if newDigest}}{{newDigest}}{{#if newValue}} # {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}{{/unless}}",
            "currentValue": "v4",
            "updates": [],
            "packageName": "actions/cache",
            "warnings": [],
            "sourceUrl": "https://github.com/actions/cache",
            "registryUrl": "https://github.com",
            "currentVersion": "v4",
            "currentVersionTimestamp": "2025-03-19T18:06:32.000Z",
            "currentVersionAgeInDays": 92,
            "fixedVersion": "v4"
          },
          {
            "depName": "actions/upload-artifact",
            "commitMessageTopic": "{{{depName}}} action",
            "datasource": "github-tags",
            "versioning": "docker",
            "depType": "action",
            "replaceString": "actions/upload-artifact@v4",
            "autoReplaceStringTemplate": "{{depName}}@{{#if newDigest}}{{newDigest}}{{#if newValue}} # {{newValue}}{{/if}}{{/if}}{{#unless newDigest}}{{newValue}}{{/unless}}",
            "currentValue": "v4",
            "updates": [],
            "packageName": "actions/upload-artifact",
            "warnings": [],
            "sourceUrl": "https://github.com/actions/upload-artifact",
            "registryUrl": "https://github.com",
            "mostRecentTimestamp": "2025-03-19T17:34:59.000Z",
            "currentVersion": "v4",
            "currentVersionTimestamp": "2025-03-19T17:34:59.000Z",
            "currentVersionAgeInDays": 92,
            "fixedVersion": "v4"
          },
          {
            "depName": "ubuntu",
            "currentValue": "latest",
            "replaceString": "ubuntu-latest",
            "depType": "github-runner",
            "datasource": "github-runners",
            "autoReplaceStringTemplate": "{{depName}}-{{newValue}}",
            "skipReason": "invalid-version",
            "updates": [],
            "packageName": "ubuntu"
          }
        ],
        "packageFile": ".github/workflows/playwright-tests.yml"
      }
    ],
    "nodenv": [
      {
        "deps": [
          {
            "depName": "node",
            "currentValue": "lts/*",
            "datasource": "node-version",
            "updates": [],
            "packageName": "node",
            "versioning": "node",
            "warnings": [],
            "skipReason": "invalid-value"
          }
        ],
        "packageFile": ".node-version"
      }
    ],
    "npm": [
      {
        "deps": [
          {
            "depType": "dependencies",
            "depName": "@emotion/cache",
            "currentValue": "11.14.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "11.14.0",
            "updates": [],
            "packageName": "@emotion/cache",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/emotion-js/emotion",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://github.com/emotion-js/emotion/tree/main#readme",
            "mostRecentTimestamp": "2024-12-09T08:43:28.087Z",
            "currentVersion": "11.14.0",
            "currentVersionTimestamp": "2024-12-09T08:43:28.087Z",
            "currentVersionAgeInDays": 193,
            "fixedVersion": "11.14.0"
          },
          {
            "depType": "dependencies",
            "depName": "@emotion/react",
            "currentValue": "11.14.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "11.14.0",
            "updates": [],
            "packageName": "@emotion/react",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/emotion-js/emotion",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://github.com/emotion-js/emotion/tree/main#readme",
            "mostRecentTimestamp": "2024-12-09T08:43:27.996Z",
            "currentVersion": "11.14.0",
            "currentVersionTimestamp": "2024-12-09T08:43:27.996Z",
            "currentVersionAgeInDays": 193,
            "fixedVersion": "11.14.0"
          },
          {
            "depType": "dependencies",
            "depName": "@emotion/styled",
            "currentValue": "11.14.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "11.14.0",
            "updates": [],
            "packageName": "@emotion/styled",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/emotion-js/emotion",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://github.com/emotion-js/emotion/tree/main#readme",
            "mostRecentTimestamp": "2024-12-09T08:43:28.080Z",
            "currentVersion": "11.14.0",
            "currentVersionTimestamp": "2024-12-09T08:43:28.080Z",
            "currentVersionAgeInDays": 193,
            "fixedVersion": "11.14.0"
          },
          {
            "depType": "dependencies",
            "depName": "@netlify/plugin-nextjs",
            "currentValue": "5.11.3",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "5.11.3",
            "updates": [],
            "packageName": "@netlify/plugin-nextjs",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/opennextjs/opennextjs-netlify",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://opennext.js.org/netlify",
            "mostRecentTimestamp": "2025-06-17T14:45:51.626Z",
            "currentVersion": "5.11.3",
            "currentVersionTimestamp": "2025-06-17T14:45:51.626Z",
            "currentVersionAgeInDays": 2,
            "fixedVersion": "5.11.3"
          },
          {
            "depType": "dependencies",
            "depName": "@reach/tabs",
            "currentValue": "0.18.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "0.18.0",
            "updates": [],
            "packageName": "@reach/tabs",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/reach/reach-ui",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "packages/tabs",
            "mostRecentTimestamp": "2022-10-13T00:04:44.801Z",
            "currentVersion": "0.18.0",
            "currentVersionTimestamp": "2022-10-13T00:04:44.801Z",
            "currentVersionAgeInDays": 981,
            "fixedVersion": "0.18.0"
          },
          {
            "depType": "dependencies",
            "depName": "@reach/visually-hidden",
            "currentValue": "0.18.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "0.18.0",
            "updates": [],
            "packageName": "@reach/visually-hidden",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/reach/reach-ui",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "packages/visually-hidden",
            "mostRecentTimestamp": "2022-10-13T00:04:48.456Z",
            "currentVersion": "0.18.0",
            "currentVersionTimestamp": "2022-10-13T00:04:48.456Z",
            "currentVersionAgeInDays": 981,
            "fixedVersion": "0.18.0"
          },
          {
            "depType": "dependencies",
            "depName": "@styled-system/css",
            "currentValue": "5.1.5",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "5.1.5",
            "updates": [],
            "packageName": "@styled-system/css",
            "versioning": "npm",
            "warnings": [],
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2020-02-17T20:32:42.403Z",
            "currentVersion": "5.1.5",
            "currentVersionTimestamp": "2020-02-17T20:32:42.403Z",
            "currentVersionAgeInDays": 1949,
            "fixedVersion": "5.1.5"
          },
          {
            "depType": "dependencies",
            "depName": "@styled-system/should-forward-prop",
            "currentValue": "5.1.5",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "5.1.5",
            "updates": [],
            "packageName": "@styled-system/should-forward-prop",
            "versioning": "npm",
            "warnings": [],
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2020-02-17T20:32:55.079Z",
            "currentVersion": "5.1.5",
            "currentVersionTimestamp": "2020-02-17T20:32:55.079Z",
            "currentVersionAgeInDays": 1949,
            "fixedVersion": "5.1.5"
          },
          {
            "depType": "dependencies",
            "depName": "@svgr/webpack",
            "currentValue": "8.1.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "8.1.0",
            "updates": [],
            "packageName": "@svgr/webpack",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/gregberge/svgr",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://react-svgr.com",
            "mostRecentTimestamp": "2023-08-15T06:46:24.158Z",
            "currentVersion": "8.1.0",
            "currentVersionTimestamp": "2023-08-15T06:46:24.158Z",
            "currentVersionAgeInDays": 675,
            "fixedVersion": "8.1.0"
          },
          {
            "depType": "dependencies",
            "depName": "@tailwindcss/postcss",
            "currentValue": "4.1.10",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "4.1.10",
            "updates": [],
            "packageName": "@tailwindcss/postcss",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/tailwindlabs/tailwindcss",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "packages/@tailwindcss-postcss",
            "homepage": "https://tailwindcss.com",
            "currentVersion": "4.1.10",
            "currentVersionTimestamp": "2025-06-11T20:46:26.086Z",
            "currentVersionAgeInDays": 8,
            "fixedVersion": "4.1.10"
          },
          {
            "depType": "dependencies",
            "depName": "crisp-sdk-web",
            "currentValue": "1.0.25",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "1.0.25",
            "updates": [],
            "packageName": "crisp-sdk-web",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/crisp-im/crisp-sdk-web",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2024-04-10T15:31:50.149Z",
            "currentVersion": "1.0.25",
            "currentVersionTimestamp": "2024-04-10T15:31:50.149Z",
            "currentVersionAgeInDays": 435,
            "fixedVersion": "1.0.25"
          },
          {
            "depType": "dependencies",
            "depName": "dayjs",
            "currentValue": "1.11.13",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "1.11.13",
            "updates": [],
            "packageName": "dayjs",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/iamkun/dayjs",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://day.js.org",
            "currentVersion": "1.11.13",
            "currentVersionTimestamp": "2024-08-20T14:59:52.917Z",
            "currentVersionAgeInDays": 303,
            "fixedVersion": "1.11.13"
          },
          {
            "depType": "dependencies",
            "depName": "fetch-jsonp",
            "currentValue": "1.3.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "1.3.0",
            "updates": [],
            "packageName": "fetch-jsonp",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/camsong/fetch-jsonp",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2023-07-06T01:05:53.382Z",
            "currentVersion": "1.3.0",
            "currentVersionTimestamp": "2023-07-06T01:05:53.382Z",
            "currentVersionAgeInDays": 715,
            "fixedVersion": "1.3.0"
          },
          {
            "depType": "dependencies",
            "depName": "hex-rgb",
            "currentValue": "5.0.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "5.0.0",
            "updates": [],
            "packageName": "hex-rgb",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/sindresorhus/hex-rgb",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2021-05-03T12:21:33.891Z",
            "currentVersion": "5.0.0",
            "currentVersionTimestamp": "2021-05-03T12:21:33.891Z",
            "currentVersionAgeInDays": 1509,
            "fixedVersion": "5.0.0"
          },
          {
            "depType": "dependencies",
            "depName": "next",
            "currentValue": "15.3.4",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "15.3.4",
            "updates": [],
            "packageName": "next",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/vercel/next.js",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://nextjs.org",
            "currentVersion": "15.3.4",
            "currentVersionTimestamp": "2025-06-18T17:09:02.725Z",
            "currentVersionAgeInDays": 1,
            "fixedVersion": "15.3.4"
          },
          {
            "depType": "dependencies",
            "depName": "prop-types",
            "currentValue": "15.8.1",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "15.8.1",
            "updates": [],
            "packageName": "prop-types",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/facebook/prop-types",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://facebook.github.io/react/",
            "mostRecentTimestamp": "2022-01-05T00:08:33.458Z",
            "currentVersion": "15.8.1",
            "currentVersionTimestamp": "2022-01-05T00:08:33.458Z",
            "currentVersionAgeInDays": 1262,
            "fixedVersion": "15.8.1"
          },
          {
            "depType": "dependencies",
            "depName": "react",
            "currentValue": "19.1.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "19.1.0",
            "updates": [],
            "packageName": "react",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/facebook/react",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "packages/react",
            "homepage": "https://react.dev/",
            "currentVersion": "19.1.0",
            "currentVersionTimestamp": "2025-03-28T19:59:42.053Z",
            "currentVersionAgeInDays": 83,
            "fixedVersion": "19.1.0"
          },
          {
            "depType": "dependencies",
            "depName": "react-dom",
            "currentValue": "19.1.0",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "19.1.0",
            "updates": [],
            "packageName": "react-dom",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/facebook/react",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "packages/react-dom",
            "homepage": "https://react.dev/",
            "currentVersion": "19.1.0",
            "currentVersionTimestamp": "2025-03-28T19:59:53.229Z",
            "currentVersionAgeInDays": 83,
            "fixedVersion": "19.1.0"
          },
          {
            "depType": "dependencies",
            "depName": "rebass",
            "currentValue": "4.0.7",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "4.0.7",
            "updates": [],
            "packageName": "rebass",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/rebassjs/rebass",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2019-10-28T19:08:45.057Z",
            "currentVersion": "4.0.7",
            "currentVersionTimestamp": "2019-10-28T19:08:45.057Z",
            "currentVersionAgeInDays": 2061,
            "fixedVersion": "4.0.7"
          },
          {
            "depType": "dependencies",
            "depName": "sharp",
            "currentValue": "0.34.2",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "0.34.2",
            "updates": [],
            "packageName": "sharp",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/lovell/sharp",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://sharp.pixelplumbing.com",
            "changelogUrl": "https://github.com/lovell/sharp/blob/main/docs/changelog.md",
            "mostRecentTimestamp": "2025-06-14T21:18:54.436Z",
            "currentVersion": "0.34.2",
            "currentVersionTimestamp": "2025-05-20T14:09:59.418Z",
            "currentVersionAgeInDays": 30,
            "fixedVersion": "0.34.2"
          },
          {
            "depType": "dependencies",
            "depName": "styled-system",
            "currentValue": "5.1.5",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "5.1.5",
            "updates": [],
            "packageName": "styled-system",
            "versioning": "npm",
            "warnings": [],
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2020-02-17T20:32:50.368Z",
            "currentVersion": "5.1.5",
            "currentVersionTimestamp": "2020-02-17T20:32:50.368Z",
            "currentVersionAgeInDays": 1949,
            "fixedVersion": "5.1.5"
          },
          {
            "depType": "dependencies",
            "depName": "tailwind-merge",
            "currentValue": "3.3.1",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "3.3.1",
            "updates": [],
            "packageName": "tailwind-merge",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/dcastil/tailwind-merge",
            "registryUrl": "https://registry.npmjs.org",
            "currentVersion": "3.3.1",
            "currentVersionTimestamp": "2025-06-10T20:04:17.692Z",
            "currentVersionAgeInDays": 9,
            "fixedVersion": "3.3.1"
          },
          {
            "depType": "dependencies",
            "depName": "tailwindcss",
            "currentValue": "4.1.10",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "4.1.10",
            "updates": [],
            "packageName": "tailwindcss",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/tailwindlabs/tailwindcss",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "packages/tailwindcss",
            "homepage": "https://tailwindcss.com",
            "currentVersion": "4.1.10",
            "currentVersionTimestamp": "2025-06-11T20:46:10.827Z",
            "currentVersionAgeInDays": 8,
            "fixedVersion": "4.1.10"
          },
          {
            "depType": "dependencies",
            "depName": "yup",
            "currentValue": "1.6.1",
            "datasource": "npm",
            "prettyDepType": "dependency",
            "lockedVersion": "1.6.1",
            "updates": [],
            "packageName": "yup",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/jquense/yup",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2024-12-17T17:43:02.872Z",
            "currentVersion": "1.6.1",
            "currentVersionTimestamp": "2024-12-17T17:43:02.872Z",
            "currentVersionAgeInDays": 184,
            "fixedVersion": "1.6.1"
          },
          {
            "depType": "devDependencies",
            "depName": "@playwright/test",
            "currentValue": "1.53.1",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "1.53.1",
            "updates": [],
            "packageName": "@playwright/test",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/microsoft/playwright",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://playwright.dev",
            "currentVersion": "1.53.1",
            "currentVersionTimestamp": "2025-06-18T18:04:00.248Z",
            "currentVersionAgeInDays": 1,
            "fixedVersion": "1.53.1"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/facebook-pixel",
            "currentValue": "0.0.31",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "0.0.31",
            "updates": [],
            "packageName": "@types/facebook-pixel",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/facebook-pixel",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/facebook-pixel",
            "mostRecentTimestamp": "2024-03-21T17:35:44.793Z",
            "currentVersion": "0.0.31",
            "currentVersionTimestamp": "2024-03-21T17:35:44.793Z",
            "currentVersionAgeInDays": 455,
            "fixedVersion": "0.0.31"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/gtag.js",
            "currentValue": "0.0.20",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "0.0.20",
            "updates": [],
            "packageName": "@types/gtag.js",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/gtag.js",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/gtag.js",
            "mostRecentTimestamp": "2024-05-31T17:06:50.609Z",
            "currentVersion": "0.0.20",
            "currentVersionTimestamp": "2024-05-31T17:06:50.609Z",
            "currentVersionAgeInDays": 384,
            "fixedVersion": "0.0.20"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/node",
            "currentValue": "22.15.17",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "22.15.17",
            "updates": [
              {
                "bucket": "latest",
                "newVersion": "24.0.3",
                "newValue": "24.0.3",
                "releaseTimestamp": "2025-06-16T11:02:31.285Z",
                "newVersionAgeInDays": 4,
                "newMajor": 24,
                "newMinor": 0,
                "newPatch": 3,
                "updateType": "major",
                "isBreaking": true,
                "libYears": 0.10650719482496195,
                "branchName": "renovate/node-24.x"
              }
            ],
            "packageName": "@types/node",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/node",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node",
            "currentVersion": "22.15.17",
            "currentVersionTimestamp": "2025-05-08T14:02:20.389Z",
            "currentVersionAgeInDays": 42,
            "isSingleVersion": true,
            "fixedVersion": "22.15.17"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/react",
            "currentValue": "19.1.8",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "19.1.8",
            "updates": [],
            "packageName": "@types/react",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/react",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react",
            "mostRecentTimestamp": "2025-06-11T13:41:18.158Z",
            "currentVersion": "19.1.8",
            "currentVersionTimestamp": "2025-06-11T13:41:18.158Z",
            "currentVersionAgeInDays": 8,
            "fixedVersion": "19.1.8"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/react-dom",
            "currentValue": "19.1.6",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "19.1.6",
            "updates": [],
            "packageName": "@types/react-dom",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/react-dom",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom",
            "mostRecentTimestamp": "2025-06-04T12:44:28.702Z",
            "currentVersion": "19.1.6",
            "currentVersionTimestamp": "2025-06-04T12:44:28.702Z",
            "currentVersionAgeInDays": 16,
            "fixedVersion": "19.1.6"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/rebass",
            "currentValue": "4.0.15",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "4.0.15",
            "updates": [],
            "packageName": "@types/rebass",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/rebass",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/rebass",
            "mostRecentTimestamp": "2024-10-29T16:38:10.236Z",
            "currentVersion": "4.0.15",
            "currentVersionTimestamp": "2024-10-29T16:38:10.236Z",
            "currentVersionAgeInDays": 233,
            "fixedVersion": "4.0.15"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/styled-system",
            "currentValue": "5.1.23",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "5.1.23",
            "updates": [],
            "packageName": "@types/styled-system",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/styled-system",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/styled-system",
            "mostRecentTimestamp": "2024-10-29T16:38:30.942Z",
            "currentVersion": "5.1.23",
            "currentVersionTimestamp": "2024-10-29T16:38:30.942Z",
            "currentVersionAgeInDays": 233,
            "fixedVersion": "5.1.23"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/styled-system__css",
            "currentValue": "5.0.21",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "5.0.21",
            "updates": [],
            "packageName": "@types/styled-system__css",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/styled-system__css",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/styled-system__css",
            "mostRecentTimestamp": "2023-11-07T17:17:07.200Z",
            "currentVersion": "5.0.21",
            "currentVersionTimestamp": "2023-11-07T17:17:07.200Z",
            "currentVersionAgeInDays": 590,
            "fixedVersion": "5.0.21"
          },
          {
            "depType": "devDependencies",
            "depName": "@types/styled-system__should-forward-prop",
            "currentValue": "5.1.4",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "5.1.4",
            "updates": [],
            "packageName": "@types/styled-system__should-forward-prop",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/styled-system__should-forward-prop",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/styled-system__should-forward-prop",
            "mostRecentTimestamp": "2023-11-07T17:17:25.857Z",
            "currentVersion": "5.1.4",
            "currentVersionTimestamp": "2023-11-07T17:17:25.857Z",
            "currentVersionAgeInDays": 590,
            "fixedVersion": "5.1.4"
          },
          {
            "depType": "devDependencies",
            "depName": "eslint",
            "currentValue": "9.29.0",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "9.29.0",
            "updates": [],
            "packageName": "eslint",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/eslint/eslint",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://eslint.org",
            "mostRecentTimestamp": "2025-06-13T17:33:10.533Z",
            "currentVersion": "9.29.0",
            "currentVersionTimestamp": "2025-06-13T17:33:10.533Z",
            "currentVersionAgeInDays": 6,
            "fixedVersion": "9.29.0"
          },
          {
            "depType": "devDependencies",
            "depName": "eslint-config-upleveled",
            "currentValue": "9.2.3",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "9.2.3",
            "updates": [],
            "packageName": "eslint-config-upleveled",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/upleveled/eslint-config-upleveled",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2025-03-25T10:16:13.575Z",
            "currentVersion": "9.2.3",
            "currentVersionTimestamp": "2025-03-25T10:16:13.575Z",
            "currentVersionAgeInDays": 87,
            "fixedVersion": "9.2.3"
          },
          {
            "depType": "devDependencies",
            "depName": "node-fetch",
            "currentValue": "3.3.2",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "3.3.2",
            "updates": [],
            "packageName": "node-fetch",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/node-fetch/node-fetch",
            "registryUrl": "https://registry.npmjs.org",
            "currentVersion": "3.3.2",
            "currentVersionTimestamp": "2023-07-25T11:50:17.626Z",
            "currentVersionAgeInDays": 696,
            "fixedVersion": "3.3.2"
          },
          {
            "depType": "devDependencies",
            "depName": "p-map",
            "currentValue": "7.0.3",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "7.0.3",
            "updates": [],
            "packageName": "p-map",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/sindresorhus/p-map",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2024-12-05T21:00:19.088Z",
            "currentVersion": "7.0.3",
            "currentVersionTimestamp": "2024-12-05T21:00:19.088Z",
            "currentVersionAgeInDays": 196,
            "fixedVersion": "7.0.3"
          },
          {
            "depType": "devDependencies",
            "depName": "postcss-load-config",
            "currentValue": "6.0.1",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "6.0.1",
            "updates": [],
            "packageName": "postcss-load-config",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/postcss/postcss-load-config",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2024-06-02T19:02:03.793Z",
            "currentVersion": "6.0.1",
            "currentVersionTimestamp": "2024-06-02T19:02:03.793Z",
            "currentVersionAgeInDays": 382,
            "fixedVersion": "6.0.1"
          },
          {
            "depType": "devDependencies",
            "depName": "prettier",
            "currentValue": "3.5.3",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "3.5.3",
            "updates": [],
            "packageName": "prettier",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/prettier/prettier",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://prettier.io",
            "mostRecentTimestamp": "2025-03-06T09:58:16.951Z",
            "currentVersion": "3.5.3",
            "currentVersionTimestamp": "2025-03-03T01:18:57.493Z",
            "currentVersionAgeInDays": 109,
            "fixedVersion": "3.5.3"
          },
          {
            "depType": "devDependencies",
            "depName": "prettier-plugin-tailwindcss",
            "currentValue": "0.6.13",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "0.6.13",
            "updates": [],
            "packageName": "prettier-plugin-tailwindcss",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/tailwindlabs/prettier-plugin-tailwindcss",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2025-06-19T17:47:38.982Z",
            "currentVersion": "0.6.13",
            "currentVersionTimestamp": "2025-06-19T17:47:38.982Z",
            "currentVersionAgeInDays": 0,
            "fixedVersion": "0.6.13"
          },
          {
            "depType": "devDependencies",
            "depName": "stylelint",
            "currentValue": "16.21.0",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "16.21.0",
            "updates": [],
            "packageName": "stylelint",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/stylelint/stylelint",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://stylelint.io",
            "mostRecentTimestamp": "2025-06-19T08:38:50.149Z",
            "currentVersion": "16.21.0",
            "currentVersionTimestamp": "2025-06-19T08:38:50.149Z",
            "currentVersionAgeInDays": 1,
            "fixedVersion": "16.21.0"
          },
          {
            "depType": "devDependencies",
            "depName": "stylelint-config-upleveled",
            "currentValue": "1.1.9",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "1.1.9",
            "updates": [],
            "packageName": "stylelint-config-upleveled",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/upleveled/stylelint-config-upleveled",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2025-01-24T15:03:11.303Z",
            "currentVersion": "1.1.9",
            "currentVersionTimestamp": "2025-01-24T15:03:11.303Z",
            "currentVersionAgeInDays": 146,
            "fixedVersion": "1.1.9"
          },
          {
            "depType": "devDependencies",
            "depName": "typescript",
            "currentValue": "5.8.3",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "5.8.3",
            "updates": [],
            "packageName": "typescript",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/microsoft/TypeScript",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://www.typescriptlang.org/",
            "mostRecentTimestamp": "2025-06-20T07:15:26.345Z",
            "currentVersion": "5.8.3",
            "currentVersionTimestamp": "2025-04-05T00:17:37.851Z",
            "currentVersionAgeInDays": 76,
            "fixedVersion": "5.8.3"
          },
          {
            "depType": "devDependencies",
            "depName": "typescript-eslint",
            "currentValue": "8.34.1",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "8.34.1",
            "updates": [],
            "packageName": "typescript-eslint",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/typescript-eslint/typescript-eslint",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "packages/typescript-eslint",
            "homepage": "https://typescript-eslint.io/packages/typescript-eslint",
            "mostRecentTimestamp": "2025-06-18T02:06:52.457Z",
            "currentVersion": "8.34.1",
            "currentVersionTimestamp": "2025-06-16T17:20:19.560Z",
            "currentVersionAgeInDays": 3,
            "fixedVersion": "8.34.1"
          },
          {
            "depType": "devDependencies",
            "depName": "webpack",
            "currentValue": "5.99.9",
            "datasource": "npm",
            "prettyDepType": "devDependency",
            "lockedVersion": "5.99.9",
            "updates": [],
            "packageName": "webpack",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/webpack/webpack",
            "registryUrl": "https://registry.npmjs.org",
            "mostRecentTimestamp": "2025-05-20T11:58:30.972Z",
            "currentVersion": "5.99.9",
            "currentVersionTimestamp": "2025-05-20T11:58:30.972Z",
            "currentVersionAgeInDays": 31,
            "fixedVersion": "5.99.9"
          },
          {
            "depType": "engines",
            "depName": "node",
            "currentValue": ">=22.16.0",
            "datasource": "node-version",
            "commitMessageTopic": "Node.js",
            "prettyDepType": "engine",
            "updates": [],
            "packageName": "node",
            "versioning": "node",
            "warnings": [],
            "sourceUrl": "https://github.com/nodejs/node",
            "registryUrl": "https://nodejs.org/dist",
            "homepage": "https://nodejs.org",
            "mostRecentTimestamp": "2025-06-09T00:00:00.000Z",
            "currentVersion": "v24.2.0",
            "currentVersionTimestamp": "2025-06-09T00:00:00.000Z",
            "currentVersionAgeInDays": 11
          },
          {
            "depType": "packageManager",
            "depName": "pnpm",
            "currentValue": "10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39",
            "datasource": "npm",
            "commitMessageTopic": "pnpm",
            "prettyDepType": "packageManager",
            "updates": [
              {
                "bucket": "latest",
                "newVersion": "10.12.1",
                "newValue": "10.12.1",
                "releaseTimestamp": "2025-06-08T14:21:29.623Z",
                "newVersionAgeInDays": 11,
                "newMajor": 10,
                "newMinor": 12,
                "newPatch": 1,
                "updateType": "minor",
                "isBreaking": false,
                "libYears": 0.11404766787163877,
                "branchName": "renovate/pnpm-10.x"
              }
            ],
            "packageName": "pnpm",
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/pnpm/pnpm",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "pnpm",
            "homepage": "https://pnpm.io",
            "mostRecentTimestamp": "2025-06-08T14:21:29.623Z",
            "currentVersion": "10.10.0",
            "currentVersionTimestamp": "2025-04-27T23:18:02.369Z",
            "currentVersionAgeInDays": 53,
            "isSingleVersion": true,
            "fixedVersion": "10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
          },
          {
            "depName": "@emotion/react",
            "packageName": "@emotion/react",
            "depType": "pnpm.overrides",
            "currentValue": "11.14.0",
            "datasource": "npm",
            "prettyDepType": "overrides",
            "updates": [],
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/emotion-js/emotion",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://github.com/emotion-js/emotion/tree/main#readme",
            "mostRecentTimestamp": "2024-12-09T08:43:27.996Z",
            "currentVersion": "11.14.0",
            "currentVersionTimestamp": "2024-12-09T08:43:27.996Z",
            "currentVersionAgeInDays": 193,
            "fixedVersion": "11.14.0"
          },
          {
            "depName": "@emotion/styled",
            "packageName": "@emotion/styled",
            "depType": "pnpm.overrides",
            "currentValue": "11.14.0",
            "datasource": "npm",
            "prettyDepType": "overrides",
            "updates": [],
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/emotion-js/emotion",
            "registryUrl": "https://registry.npmjs.org",
            "homepage": "https://github.com/emotion-js/emotion/tree/main#readme",
            "mostRecentTimestamp": "2024-12-09T08:43:28.080Z",
            "currentVersion": "11.14.0",
            "currentVersionTimestamp": "2024-12-09T08:43:28.080Z",
            "currentVersionAgeInDays": 193,
            "fixedVersion": "11.14.0"
          },
          {
            "depName": "@types/react",
            "packageName": "@types/react",
            "depType": "pnpm.overrides",
            "currentValue": "19.1.8",
            "datasource": "npm",
            "prettyDepType": "overrides",
            "updates": [],
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/react",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react",
            "mostRecentTimestamp": "2025-06-11T13:41:18.158Z",
            "currentVersion": "19.1.8",
            "currentVersionTimestamp": "2025-06-11T13:41:18.158Z",
            "currentVersionAgeInDays": 8,
            "fixedVersion": "19.1.8"
          },
          {
            "depName": "@types/react-dom",
            "packageName": "@types/react-dom",
            "depType": "pnpm.overrides",
            "currentValue": "19.1.6",
            "datasource": "npm",
            "prettyDepType": "overrides",
            "updates": [],
            "versioning": "npm",
            "warnings": [],
            "sourceUrl": "https://github.com/DefinitelyTyped/DefinitelyTyped",
            "registryUrl": "https://registry.npmjs.org",
            "sourceDirectory": "types/react-dom",
            "homepage": "https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/react-dom",
            "mostRecentTimestamp": "2025-06-04T12:44:28.702Z",
            "currentVersion": "19.1.6",
            "currentVersionTimestamp": "2025-06-04T12:44:28.702Z",
            "currentVersionAgeInDays": 16,
            "fixedVersion": "19.1.6"
          },
          {
            "depType": "pnpm",
            "depName": "patchedDependencies",
            "skipReason": "invalid-value",
            "prettyDepType": "pnpm",
            "updates": [],
            "packageName": "patchedDependencies"
          },
          {
            "depType": "pnpm",
            "depName": "onlyBuiltDependencies",
            "skipReason": "invalid-value",
            "prettyDepType": "pnpm",
            "updates": [],
            "packageName": "onlyBuiltDependencies"
          }
        ],
        "extractedConstraints": {
          "node": ">=22.16.0",
          "pnpm": "10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
        },
        "packageFileVersion": "1.0.0",
        "managerData": {
          "packageJsonName": "project",
          "hasPackageManager": true,
          "pnpmShrinkwrap": "pnpm-lock.yaml",
          "yarnZeroInstall": false,
          "npmrcFileName": ".npmrc"
        },
        "npmrc": "***********",
        "skipInstalls": true,
        "packageFile": "package.json",
        "lockFiles": [
          "pnpm-lock.yaml"
        ]
      }
    ],
    "renovate-config-presets": [
      {
        "deps": [
          {
            "depName": "karlhorky/renovate-config",
            "skipReason": "unspecified-version",
            "updates": [],
            "packageName": "karlhorky/renovate-config"
          }
        ],
        "packageFile": "renovate.json"
      }
    ]
  }
}

DEBUG: detectSemanticCommits()
DEBUG: semanticCommits: returning "disabled" from cache
DEBUG: processRepo()
DEBUG: Processing 2 branches: renovate/node-24.x, renovate/pnpm-10.x
DEBUG: getBranchPr(renovate/pnpm-10.x)
DEBUG: findPr(renovate/pnpm-10.x, undefined, open)
DEBUG: getBranchPr(renovate/node-24.x)
DEBUG: findPr(renovate/node-24.x, undefined, open)
DEBUG: Found PR #880
DEBUG: 1 PRs are currently open
DEBUG: ConcurrentPRs count = 1
DEBUG: 1 already existing branches found.
DEBUG: Branches count = 1
DEBUG: Calculating PRs created so far in this hour currentHourStart=2025-06-20T13:00:00.000Z
DEBUG: 2 PRs have been created so far in this hour.
DEBUG: HourlyPRs count = 2
DEBUG: syncBranchState() (branch="renovate/pnpm-10.x")
DEBUG: syncBranchState(): update baseBranchSha (branch="renovate/pnpm-10.x")
DEBUG: getBranchPr(renovate/pnpm-10.x) (branch="renovate/pnpm-10.x")
DEBUG: findPr(renovate/pnpm-10.x, undefined, open) (branch="renovate/pnpm-10.x")
DEBUG: branchExists=false (branch="renovate/pnpm-10.x")
DEBUG: dependencyDashboardCheck=unlimit (branch="renovate/pnpm-10.x")
DEBUG: Check for closed PR because recreating closed PRs is disabled. (branch="renovate/pnpm-10.x")
DEBUG: findPr(renovate/pnpm-10.x, Update pnpm to v10.12.1, !open) (branch="renovate/pnpm-10.x")
DEBUG: prAlreadyExisted=false (branch="renovate/pnpm-10.x")
DEBUG: Open PR Count: 1, Existing Branch Count: 1, Hourly PR Count: 2 (branch="renovate/pnpm-10.x")
DEBUG: prHourlyLimit of the upgrades present in this branch (branch="renovate/pnpm-10.x")
{
  "limits": [
    {
      "depName": "pnpm",
      "prHourlyLimit": 2
    }
  ]
}

DEBUG: Calculated lowest prHourlyLimit among the upgrades present in this branch is 2. (branch="renovate/pnpm-10.x")
DEBUG: Checking schedule(schedule=after 4pm on thursday, tz=null, now=2025-06-20T13:05:32.704Z) (branch="renovate/pnpm-10.x")
DEBUG: Checking 1 schedule(s) (branch="renovate/pnpm-10.x")
DEBUG: Checking schedule "after 4pm on thursday" (branch="renovate/pnpm-10.x")
{
  "parsedSchedule": {
    "schedules": [
      {
        "t_a": [
          57600
        ],
        "d": [
          5
        ]
      }
    ],
    "exceptions": [],
    "error": -1
  }
}

DEBUG: Package not scheduled (branch="renovate/pnpm-10.x")
DEBUG: http cache: saving https://api.github.com/repos/karlhorky/project/branches/main/protection (etag=W/"99fe14d6b4fd8f3b6a54d2d8b8534ddffc14eb207584625f2414074a1c72cd4b", lastModified=undefined) (branch="renovate/pnpm-10.x")
DEBUG: Found branch protection for branch main (branch="renovate/pnpm-10.x")
DEBUG: Branch protection: PRs must be up-to-date before merging for main (branch="renovate/pnpm-10.x")
DEBUG: Converting rebaseWhen=auto to rebaseWhen=behind-base-branch because platform is configured to require up-to-date branches (branch="renovate/pnpm-10.x")
DEBUG: Branch needs creating (branch="renovate/pnpm-10.x")
DEBUG: Using reuseExistingBranch: false (branch="renovate/pnpm-10.x")
DEBUG: Setting current branch to main (branch="renovate/pnpm-10.x")
DEBUG: latest commit (branch="renovate/pnpm-10.x")
{
  "branchName": "main"
  "latestCommitDate": "2025-06-20T13:03:21Z"
  "sha": "69e72aaaa3701d56df6efadd6b53e76cfa2af48f"
}

DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=false (branch="renovate/pnpm-10.x")
DEBUG: npm.updateDependency(): packageManager.pnpm = 10.12.1 (branch="renovate/pnpm-10.x")
DEBUG: Updating pnpm in package.json (branch="renovate/pnpm-10.x")
DEBUG: updateArtifacts for updatedPackageFiles (branch="renovate/pnpm-10.x")
DEBUG: npm.updateArtifacts(package.json) (branch="renovate/pnpm-10.x")
DEBUG: Found 0 npm host rule(s) (branch="renovate/pnpm-10.x")
DEBUG: Found 1 host rule(s) without host type (branch="renovate/pnpm-10.x")
DEBUG: Found 1 host rule(s) without host type after dropping duplicates (branch="renovate/pnpm-10.x")
DEBUG: npmrc file .npmrc found in repository (branch="renovate/pnpm-10.x")
DEBUG: Using node constraint ">=22.16.0" from package.json (branch="renovate/pnpm-10.x")
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /runner/cache/containerbase (branch="renovate/pnpm-10.x")
DEBUG: Using containerbase dynamic installs (branch="renovate/pnpm-10.x")
DEBUG: Resolved stable matching version (branch="renovate/pnpm-10.x")
{
  "toolName": "node"
  "constraint": ">=22.16.0"
  "resolvedVersion": "22.16.0"
}

DEBUG: http cache: Using cached response: https://registry.npmjs.org/corepack from 2025-06-16T13:07:35.159Z (branch="renovate/pnpm-10.x")
DEBUG: Resolved stable matching version (branch="renovate/pnpm-10.x")
{
  "toolName": "corepack"
  "resolvedVersion": "0.33.0"
}

DEBUG: Executing command (branch="renovate/pnpm-10.x")
{
  "command": "install-tool node 22.16.0"
}

DEBUG: exec completed (branch="renovate/pnpm-10.x")
{
  "durationMs": 6558
  "stdout": "[13:05:33.592] INFO (911): Installing tool [email protected]...\nv22.16.0\n10.9.2\n0.32.0\n[13:05:38.836] INFO (911): Install tool node succeeded in 5.2s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/pnpm-10.x")
{
  "command": "install-tool corepack 0.33.0"
}

DEBUG: exec completed (branch="renovate/pnpm-10.x")
{
  "durationMs": 2534
  "stdout": "[13:05:40.153] INFO (948): Installing npm [email protected]...\n0.33.0\n[13:05:41.765] INFO (948): Install tool corepack succeeded in 1.6s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/pnpm-10.x")
{
  "command": "corepack use [email protected]"
}

DEBUG: exec completed (branch="renovate/pnpm-10.x")
{
  "durationMs": 27068
  "stdout": "Installing [email protected] in the project...\n\nLockfile is up to date, resolution step is skipped\nProgress: resolved 1, reused 0, downloaded 0, added 0\nPackages: +818\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nProgress: resolved 818, reused 0, downloaded 12, added 0\nProgress: resolved 818, reused 0, downloaded 63, added 20\nProgress: resolved 818, reused 0, downloaded 123, added 42\nProgress: resolved 818, reused 0, downloaded 221, added 87\nProgress: resolved 818, reused 0, downloaded 251, added 95\nProgress: resolved 818, reused 0, downloaded 265, added 99\nProgress: resolved 818, reused 0, downloaded 274, added 103\nProgress: resolved 818, reused 0, downloaded 275, added 103\nProgress: resolved 818, reused 0, downloaded 288, added 107\nProgress: resolved 818, reused 0, downloaded 289, added 107\nProgress: resolved 818, reused 0, downloaded 290, added 107\nProgress: resolved 818, reused 0, downloaded 400, added 160\nProgress: resolved 818, reused 0, downloaded 490, added 193\nProgress: resolved 818, reused 0, downloaded 588, added 225\nProgress: resolved 818, reused 0, downloaded 644, added 249\nProgress: resolved 818, reused 0, downloaded 725, added 274\nProgress: resolved 818, reused 0, downloaded 725, added 275\nProgress: resolved 818, reused 0, downloaded 802, added 298\nProgress: resolved 818, reused 0, downloaded 818, added 798\nProgress: resolved 818, reused 0, downloaded 818, added 818, done\n.../node_modules/@tailwindcss/oxide postinstall$ node ./scripts/install.js\n.../[email protected]/node_modules/sharp install$ node install/check\n.../[email protected]/node_modules/sharp install: Done\n.../node_modules/@tailwindcss/oxide postinstall: Done\n\ndependencies:\n+ @emotion/cache 11.14.0\n+ @emotion/react 11.14.0\n+ @emotion/styled 11.14.0\n+ @netlify/plugin-nextjs 5.11.3\n+ @reach/tabs 0.18.0\n+ @reach/visually-hidden 0.18.0\n+ @styled-system/css 5.1.5\n+ @styled-system/should-forward-prop 5.1.5\n+ @svgr/webpack 8.1.0\n+ @tailwindcss/postcss 4.1.10\n+ crisp-sdk-web 1.0.25\n+ dayjs 1.11.13\n+ fetch-jsonp 1.3.0\n+ hex-rgb 5.0.0\n+ next 15.3.4\n+ prop-types 15.8.1\n+ react 19.1.0\n+ react-dom 19.1.0\n+ rebass 4.0.7\n+ sharp 0.34.2\n+ styled-system 5.1.5\n+ tailwind-merge 3.3.1\n+ tailwindcss 4.1.10\n+ yup 1.6.1\n\ndevDependencies:\n+ @playwright/test 1.53.1\n+ @types/facebook-pixel 0.0.31\n+ @types/gtag.js 0.0.20\n+ @types/node 22.15.17\n+ @types/react 19.1.8\n+ @types/react-dom 19.1.6\n+ @types/rebass 4.0.15\n+ @types/styled-system 5.1.23\n+ @types/styled-system__css 5.0.21\n+ @types/styled-system__should-forward-prop 5.1.4\n+ eslint 9.29.0\n+ eslint-config-upleveled 9.2.3\n+ node-fetch 3.3.2\n+ p-map 7.0.3\n+ postcss-load-config 6.0.1\n+ prettier 3.5.3\n+ prettier-plugin-tailwindcss 0.6.13\n+ stylelint 16.21.0\n+ stylelint-config-upleveled 1.1.9\n+ typescript 5.8.3\n+ typescript-eslint 8.34.1\n+ webpack 5.99.9\n\nDone in 25.7s using pnpm v10.12.1\n"
  "stderr": ""
}

DEBUG: Returning updated package.json (branch="renovate/pnpm-10.x")
DEBUG: Updated 1 package files (branch="renovate/pnpm-10.x")
DEBUG: Getting updated lock files (branch="renovate/pnpm-10.x")
DEBUG: Writing package.json files (branch="renovate/pnpm-10.x")
{
  "packageFiles": [
    "package.json"
  ]
}

DEBUG: Writing any updated package files (branch="renovate/pnpm-10.x")
DEBUG: Writing package.json (branch="renovate/pnpm-10.x")
DEBUG: Found 0 npm host rule(s) (branch="renovate/pnpm-10.x")
DEBUG: Found 1 host rule(s) without host type (branch="renovate/pnpm-10.x")
DEBUG: Found 1 host rule(s) without host type after dropping duplicates (branch="renovate/pnpm-10.x")
DEBUG: npmrc file .npmrc found in repository (branch="renovate/pnpm-10.x")
DEBUG: Generating pnpm-lock.yaml for . (branch="renovate/pnpm-10.x")
DEBUG: Spawning pnpm install to create pnpm-lock.yaml (branch="renovate/pnpm-10.x")
DEBUG: Using node constraint ">=22.16.0" from package.json (branch="renovate/pnpm-10.x")
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /runner/cache/containerbase (branch="renovate/pnpm-10.x")
DEBUG: Using containerbase dynamic installs (branch="renovate/pnpm-10.x")
DEBUG: Resolved stable matching version (branch="renovate/pnpm-10.x")
{
  "toolName": "node"
  "constraint": ">=22.16.0"
  "resolvedVersion": "22.16.0"
}

DEBUG: Executing command (branch="renovate/pnpm-10.x")
{
  "command": "install-tool node 22.16.0"
}

DEBUG: exec completed (branch="renovate/pnpm-10.x")
{
  "durationMs": 918
  "stdout": "[13:06:09.727] INFO (1030): Installing tool [email protected]...\n[13:06:09.761] INFO (1030): tool already installed\n    tool: \"node\"\nv22.16.0\n10.9.2\n0.32.0\n[13:06:10.053] INFO (1030): Install tool node succeeded in 351ms.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/pnpm-10.x")
{
  "command": "install-tool pnpm 10.12.1"
}

DEBUG: exec completed (branch="renovate/pnpm-10.x")
{
  "durationMs": 3367
  "stdout": "[13:06:10.586] INFO (1066): Installing npm [email protected]...\n10.12.1\n[13:06:12.804] INFO (1066): Install tool pnpm succeeded in 2.2s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/pnpm-10.x")
{
  "command": "pnpm install --lockfile-only --ignore-scripts --ignore-pnpmfile"
}

DEBUG: exec completed (branch="renovate/pnpm-10.x")
{
  "durationMs": 949
  "stdout": "Done in 900ms using pnpm v10.12.1\n"
  "stderr": ""
}

DEBUG: pnpm-lock.yaml hasn't changed (branch="renovate/pnpm-10.x")
DEBUG: Updated 1 lock files (branch="renovate/pnpm-10.x")
{
  "updatedArtifacts": [
    "package.json"
  ]
}

DEBUG: 1 file(s) to commit (branch="renovate/pnpm-10.x")
DEBUG: Preparing files for committing to branch renovate/pnpm-10.x (branch="renovate/pnpm-10.x")
DEBUG: Setting git author name: renovate[bot] (branch="renovate/pnpm-10.x")
DEBUG: Setting git author email: 29139614+renovate[bot]@users.noreply.github.com (branch="renovate/pnpm-10.x")
DEBUG: git commit (branch="renovate/pnpm-10.x")
{
  "deletedFiles": []
  "ignoredFiles": []
  "result": {
    "author": null,
    "branch": "renovate/pnpm-10.x",
    "commit": "a16c4776080c8be2f6a523fbe662979edee2fd29",
    "root": false,
    "summary": {
      "changes": 1,
      "insertions": 1,
      "deletions": 1
    }
  }
}

DEBUG: resetToCommit(69e72aaaa3701d56df6efadd6b53e76cfa2af48f) (branch="renovate/pnpm-10.x")
DEBUG: Fetching branch renovate/pnpm-10.x (branch="renovate/pnpm-10.x")
DEBUG: Setting current branch to main (branch="renovate/pnpm-10.x")
DEBUG: latest commit (branch="renovate/pnpm-10.x")
{
  "branchName": "main"
  "latestCommitDate": "2025-06-20T13:03:21Z"
  "sha": "69e72aaaa3701d56df6efadd6b53e76cfa2af48f"
}

INFO: Branch created (branch="renovate/pnpm-10.x")
{
  "commitSha": "a49794ac08898ef39cd8dadaa22a6c1e43a36c7e"
}

DEBUG: Ensuring PR (branch="renovate/pnpm-10.x")
DEBUG: There are 0 errors and 0 warnings (branch="renovate/pnpm-10.x")
DEBUG: getBranchPr(renovate/pnpm-10.x) (branch="renovate/pnpm-10.x")
DEBUG: findPr(renovate/pnpm-10.x, undefined, open) (branch="renovate/pnpm-10.x")
DEBUG: findPr(renovate/pnpm-10.x, undefined, closed) (branch="renovate/pnpm-10.x")
DEBUG: Fetching changelog: https://github.com/pnpm/pnpm (10.10.0 -> 10.12.1) (branch="renovate/pnpm-10.x")
DEBUG: http cache: Using cached response: https://registry.npmjs.org/pnpm from 2025-06-19T19:36:30.602Z (branch="renovate/pnpm-10.x")
DEBUG: http cache: saving https://api.github.com/repos/pnpm/pnpm (etag=W/"ab5c54bcec83b069e9ff591188767902dbba6da708446b19436b7372ccd869ea", lastModified=Fri, 20 Jun 2025 12:38:37 GMT) (branch="renovate/pnpm-10.x")
DEBUG: http cache: saving https://api.github.com/repos/pnpm/pnpm/git/trees/main?recursive=1 (etag=W/"ddea4cba70c9dd22031560c420734b3a936d6ba80abc44bc92cf5f2aac106f1e", lastModified=Fri, 20 Jun 2025 12:38:37 GMT) (branch="renovate/pnpm-10.x")
DEBUG: http cache: saving https://api.github.com/repos/pnpm/pnpm/git/blobs/9e5623a104e83667bf865be125648b52e9a6d300 (etag=W/"08455cf96a287d1cafc6395c08a19f355e6f146e4254822bd388710f7405fd6b", lastModified=undefined) (branch="renovate/pnpm-10.x")
DEBUG: Creating PR (branch="renovate/pnpm-10.x")
{
  "prTitle": "Update pnpm to v10.12.1"
}

DEBUG: Creating PR (branch="renovate/pnpm-10.x")
{
  "title": "Update pnpm to v10.12.1"
  "head": "karlhorky:renovate/pnpm-10.x"
  "base": "main"
  "draft": false
}

DEBUG: PR created (branch="renovate/pnpm-10.x")
{
  "pr": 881
  "draft": false
}

DEBUG: Adding labels '' to #881 (branch="renovate/pnpm-10.x")
INFO: PR created (branch="renovate/pnpm-10.x")
{
  "pr": 881
  "prTitle": "Update pnpm to v10.12.1"
}

DEBUG: addParticipants(pr=881) (branch="renovate/pnpm-10.x")
DEBUG: setPrCache() (branch="renovate/pnpm-10.x")
DEBUG: Created Pull Request #881 (branch="renovate/pnpm-10.x")
DEBUG: PR is not configured for automerge (branch="renovate/pnpm-10.x")
DEBUG: setBranchCommit() (branch="renovate/pnpm-10.x")
DEBUG: syncBranchState() (branch="renovate/node-24.x")
DEBUG: syncBranchState(): update baseBranchSha (branch="renovate/node-24.x")
DEBUG: branch.isUpToDate(): using cached result "true" (branch="renovate/node-24.x")
DEBUG: getBranchPr(renovate/node-24.x) (branch="renovate/node-24.x")
DEBUG: findPr(renovate/node-24.x, undefined, open) (branch="renovate/node-24.x")
DEBUG: Found PR #880 (branch="renovate/node-24.x")
DEBUG: branchExists=true (branch="renovate/node-24.x")
DEBUG: dependencyDashboardCheck=undefined (branch="renovate/node-24.x")
DEBUG: PR rebase requested=false (branch="renovate/node-24.x")
DEBUG: Open PR Count: 2, Existing Branch Count: 2, Hourly PR Count: 3 (branch="renovate/node-24.x")
DEBUG: Checking if PR has been edited (branch="renovate/node-24.x")
DEBUG: branch.isModified(): using cached result "false" (branch="renovate/node-24.x")
DEBUG: Found existing branch PR (branch="renovate/node-24.x")
DEBUG: Checking schedule(schedule=after 4pm on thursday, tz=null, now=2025-06-20T13:06:19.122Z) (branch="renovate/node-24.x")
DEBUG: Checking 1 schedule(s) (branch="renovate/node-24.x")
DEBUG: Checking schedule "after 4pm on thursday" (branch="renovate/node-24.x")
{
  "parsedSchedule": {
    "schedules": [
      {
        "t_a": [
          57600
        ],
        "d": [
          5
        ]
      }
    ],
    "exceptions": [],
    "error": -1
  }
}

DEBUG: Package not scheduled (branch="renovate/node-24.x")
DEBUG: Branch + PR exists but is not scheduled -- will update if necessary (branch="renovate/node-24.x")
DEBUG: Converting rebaseWhen=auto to rebaseWhen=behind-base-branch because platform is configured to require up-to-date branches (branch="renovate/node-24.x")
DEBUG: Branch already exists (branch="renovate/node-24.x")
DEBUG: branch.isBehindBase(): using git to calculate (branch="renovate/node-24.x")
DEBUG: branch.isBehindBase(): true (branch="renovate/node-24.x")
{
  "baseBranch": "main"
  "branchName": "renovate/node-24.x"
}

DEBUG: Branch is behind base branch and needs rebasing (branch="renovate/node-24.x")
DEBUG: Branch is unmodified, so can be rebased (branch="renovate/node-24.x")
DEBUG: Using reuseExistingBranch: false (branch="renovate/node-24.x")
DEBUG: Setting current branch to main (branch="renovate/node-24.x")
DEBUG: latest commit (branch="renovate/node-24.x")
{
  "branchName": "main"
  "latestCommitDate": "2025-06-20T13:03:21Z"
  "sha": "69e72aaaa3701d56df6efadd6b53e76cfa2af48f"
}

DEBUG: manager.getUpdatedPackageFiles() reuseExistingBranch=false (branch="renovate/node-24.x")
DEBUG: npm.updateDependency(): devDependencies.@types/node = 24.0.3 (branch="renovate/node-24.x")
DEBUG: Updating @types/node in package.json (branch="renovate/node-24.x")
DEBUG: updateArtifacts for updatedPackageFiles (branch="renovate/node-24.x")
DEBUG: npm.updateArtifacts(package.json) (branch="renovate/node-24.x")
DEBUG: No packageManager updates - returning null (branch="renovate/node-24.x")
DEBUG: Updated 1 package files (branch="renovate/node-24.x")
DEBUG: Getting updated lock files (branch="renovate/node-24.x")
DEBUG: Writing package.json files (branch="renovate/node-24.x")
{
  "packageFiles": [
    "package.json"
  ]
}

DEBUG: Writing any updated package files (branch="renovate/node-24.x")
DEBUG: Writing package.json (branch="renovate/node-24.x")
DEBUG: Found 0 npm host rule(s) (branch="renovate/node-24.x")
DEBUG: Found 1 host rule(s) without host type (branch="renovate/node-24.x")
DEBUG: Found 1 host rule(s) without host type after dropping duplicates (branch="renovate/node-24.x")
DEBUG: npmrc file .npmrc found in repository (branch="renovate/node-24.x")
DEBUG: Generating pnpm-lock.yaml for . (branch="renovate/node-24.x")
DEBUG: Spawning pnpm install to create pnpm-lock.yaml (branch="renovate/node-24.x")
DEBUG: Found pnpm constraint in package.json packageManager: 10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39 (branch="renovate/node-24.x")
DEBUG: Using node constraint ">=22.16.0" from package.json (branch="renovate/node-24.x")
DEBUG: Setting CONTAINERBASE_CACHE_DIR to /runner/cache/containerbase (branch="renovate/node-24.x")
DEBUG: Using containerbase dynamic installs (branch="renovate/node-24.x")
DEBUG: Resolved stable matching version (branch="renovate/node-24.x")
{
  "toolName": "node"
  "constraint": ">=22.16.0"
  "resolvedVersion": "22.16.0"
}

DEBUG: Executing command (branch="renovate/node-24.x")
{
  "command": "install-tool node 22.16.0"
}

DEBUG: exec completed (branch="renovate/node-24.x")
{
  "durationMs": 609
  "stdout": "[13:06:19.712] INFO (1185): Installing tool [email protected]...\n[13:06:19.743] INFO (1185): tool already installed\n    tool: \"node\"\nv22.16.0\n10.9.2\n0.32.0\n[13:06:19.948] INFO (1185): Install tool node succeeded in 255ms.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/node-24.x")
{
  "command": "install-tool pnpm 10.10.0+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39"
}

DEBUG: exec completed (branch="renovate/node-24.x")
{
  "durationMs": 2282
  "stdout": "[13:06:20.229] INFO (1221): Installing npm [email protected]+sha512.d615db246fe70f25dcfea6d8d73dee782ce23e2245e3c4f6f888249fb568149318637dca73c2c5c8ef2a4ca0d5657fb9567188bfab47f566d1ee6ce987815c39...\n10.10.0\n[13:06:21.893] INFO (1221): Install tool pnpm succeeded in 1.6s.\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/node-24.x")
{
  "command": "pnpm install --lockfile-only --ignore-scripts --ignore-pnpmfile"
}

DEBUG: exec completed (branch="renovate/node-24.x")
{
  "durationMs": 10925
  "stdout": " WARN  `node_modules` is present. Lockfile only installation will make it out-of-date\nProgress: resolved 1, reused 0, downloaded 0, added 0\nProgress: resolved 45, reused 0, downloaded 0, added 0\nProgress: resolved 137, reused 0, downloaded 0, added 0\nProgress: resolved 205, reused 0, downloaded 0, added 0\nProgress: resolved 271, reused 0, downloaded 0, added 0\nProgress: resolved 395, reused 0, downloaded 0, added 0\nProgress: resolved 548, reused 0, downloaded 0, added 0\nProgress: resolved 558, reused 0, downloaded 0, added 0\nProgress: resolved 635, reused 0, downloaded 0, added 0\nProgress: resolved 715, reused 0, downloaded 0, added 0\n WARN  3 deprecated subdependencies found: @babel/[email protected], [email protected], [email protected]\nProgress: resolved 874, reused 0, downloaded 0, added 0\nProgress: resolved 874, reused 0, downloaded 0, added 0, done\n WARN  Issues with peer dependencies found\n.\n├─┬ eslint-plugin-import 2.29.1\n│ └── ✕ unmet peer eslint@\"^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8\": found 9.29.0\n├─┬ eslint-config-upleveled 9.2.3\n│ └── ✕ unmet peer globals@^16.0.0: found 15.15.0\n├─┬ stylelint-config-upleveled 1.1.9\n│ └── ✕ unmet peer stylelint-scss@^6.10.1: found 6.7.0\n├─┬ @reach/tabs 0.18.0\n│ ├── ✕ unmet peer react@\"^16.8.0 || 17.x\": found 19.1.0\n│ ├── ✕ unmet peer react-dom@\"^16.8.0 || 17.x\": found 19.1.0\n│ ├─┬ @reach/polymorphic 0.18.0\n│ │ └── ✕ unmet peer react@\"^16.8.0 || 17.x\": found 19.1.0\n│ ├─┬ @reach/descendants 0.18.0\n│ │ ├── ✕ unmet peer react@\"^16.8.0 || 17.x\": found 19.1.0\n│ │ ├── ✕ unmet peer react-dom@\"^16.8.0 || 17.x\": found 19.1.0\n│ │ └─┬ @reach/utils 0.18.0\n│ │   ├── ✕ unmet peer react@\"^16.8.0 || 17.x\": found 19.1.0\n│ │   └── ✕ unmet peer react-dom@\"^16.8.0 || 17.x\": found 19.1.0\n│ └─┬ @reach/auto-id 0.18.0\n│   ├── ✕ unmet peer react@\"^16.8.0 || 17.x\": found 19.1.0\n│   └── ✕ unmet peer react-dom@\"^16.8.0 || 17.x\": found 19.1.0\n├─┬ @reach/visually-hidden 0.18.0\n│ ├── ✕ unmet peer react@\"^16.8.0 || 17.x || 18.x\": found 19.1.0\n│ └── ✕ unmet peer react-dom@\"^16.8.0 || 17.x || 18.x\": found 19.1.0\n└─┬ rebass 4.0.7\n  ├── ✕ unmet peer react@^16.8.6: found 19.1.0\n  └─┬ reflexbox 4.0.6\n    └── ✕ unmet peer react@^16.8.6: found 19.1.0\n\nDone in 10.8s using pnpm v10.10.0\n"
  "stderr": ""
}

DEBUG: Executing command (branch="renovate/node-24.x")
{
  "command": "pnpm dedupe --config.ignore-scripts=true"
}

DEBUG: rawExec err (branch="renovate/node-24.x")
{
  "err": {
    "cmd": "/bin/sh -c pnpm dedupe --config.ignore-scripts=true",
    "stderr": "",
    "stdout": "\u001b[?25l\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/tmp/renovate/repos/github/karlhorky/project/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m\u001b[4D",
    "options": {
      "cwd": "/tmp/renovate/repos/github/karlhorky/project",
      "encoding": "utf-8",
      "env": {
        "NPM_CONFIG_CACHE": "/runner/cache/others/npm",
        "npm_config_store": "/runner/cache/others/pnpm",
        "npm_config_cache_dir": "/runner/cache/others/pnpm-cache",
        "npm_config_store_dir": "/runner/cache/others/pnpm-store",
        "HOME": "/home/ubuntu",
        "PATH": "/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "LC_ALL": "C.UTF-8",
        "LANG": "C.UTF-8",
        "CONTAINERBASE_CACHE_DIR": "/runner/cache/containerbase"
      },
      "maxBuffer": 10485760,
      "timeout": 900000
    },
    "signal": "SIGTERM",
    "name": "ExecError",
    "message": "Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM",
    "stack": "ExecError: Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM\n    at ChildProcess.<anonymous> (/usr/local/renovate/lib/util/exec/common.ts:111:11)\n    at ChildProcess.emit (node:events:530:35)\n    at ChildProcess.emit (node:domain:489:12)\n    at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)"
  }
  "durationMs": 900023
}

DEBUG: exec interrupted by SIGTERM - run needs to be aborted (branch="renovate/node-24.x")
{
  "err": {
    "cmd": "/bin/sh -c pnpm dedupe --config.ignore-scripts=true",
    "stderr": "",
    "stdout": "\u001b[?25l\u001b[36m?\u001b[39m \u001b[1mThe modules directory at \"/tmp/renovate/repos/github/karlhorky/project/node_modules\" will be removed and reinstalled from scratch. Proceed?\u001b[22m \u001b[2m(Y/n)\u001b[22m \u001b[2m‣\u001b[22m \u001b[36mtrue\u001b[39m\u001b[4D",
    "options": {
      "cwd": "/tmp/renovate/repos/github/karlhorky/project",
      "encoding": "utf-8",
      "env": {
        "NPM_CONFIG_CACHE": "/runner/cache/others/npm",
        "npm_config_store": "/runner/cache/others/pnpm",
        "npm_config_cache_dir": "/runner/cache/others/pnpm-cache",
        "npm_config_store_dir": "/runner/cache/others/pnpm-store",
        "HOME": "/home/ubuntu",
        "PATH": "/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/bin:/home/ubuntu/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
        "LC_ALL": "C.UTF-8",
        "LANG": "C.UTF-8",
        "CONTAINERBASE_CACHE_DIR": "/runner/cache/containerbase"
      },
      "maxBuffer": 10485760,
      "timeout": 900000
    },
    "signal": "SIGTERM",
    "name": "ExecError",
    "message": "Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM",
    "stack": "ExecError: Command failed: pnpm dedupe --config.ignore-scripts=true\nInterrupted by SIGTERM\n    at ChildProcess.<anonymous> (/usr/local/renovate/lib/util/exec/common.ts:111:11)\n    at ChildProcess.emit (node:events:530:35)\n    at ChildProcess.emit (node:domain:489:12)\n    at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12)"
  }
}

DEBUG: Passing TEMPORARY_ERROR error up (branch="renovate/node-24.x")
INFO: Temporary error - aborting
DEBUG: Repository result: temporary-error, status: onboarded, enabled: true, onboarded: true
DEBUG: Repository timing splits (milliseconds)
{
  "splits": {
    "init": 4034,
    "extract": 5668,
    "lookup": 13846,
    "onboarding": 2
  }
  "total": 986741
}

DEBUG: Package cache statistics
{
  "get": {
    "count": 74,
    "avgMs": 562,
    "medianMs": 158,
    "maxMs": 8005,
    "totalMs": 41573
  }
  "set": {
    "count": 4,
    "avgMs": 4,
    "medianMs": 3,
    "maxMs": 8,
    "totalMs": 14
  }
}

DEBUG: Datasource cache statistics
{
  "node-version": {
    "https://nodejs.org/dist": {
      "hit": 1,
      "miss": 0,
      "set": 0,
      "skip": 0
    }
  }
}

DEBUG: HTTP statistics
{
  "hosts": {
    "api.github.com": {
      "count": 17,
      "reqAvgMs": 207,
      "reqMedianMs": 134,
      "reqMaxMs": 799,
      "queueAvgMs": 1,
      "queueMedianMs": 0,
      "queueMaxMs": 10
    },
    "registry.npmjs.org": {
      "count": 48,
      "reqAvgMs": 173,
      "reqMedianMs": 107,
      "reqMaxMs": 1155,
      "queueAvgMs": 0,
      "queueMedianMs": 0,
      "queueMaxMs": 2
    }
  }
  "requests": 65
}

DEBUG: HTTP cache statistics
{
  "https://api.github.com": {
    "/repos/karlhorky/renovate-config/contents/default.json5": {
      "hit": 1,
      "miss": 0
    },
    "/repos/karlhorky/project/branches/main/protection": {
      "hit": 0,
      "miss": 1
    },
    "/repos/karlhorky/project/contents/renovate.json": {
      "hit": 2,
      "miss": 0
    },
    "/repos/karlhorky/project/dependabot/alerts": {
      "hit": 0,
      "miss": 1
    },
    "/repos/karlhorky/project/issues/154": {
      "hit": 0,
      "miss": 1
    },
    "/repos/karlhorky/project/pulls": {
      "hit": 0,
      "miss": 1
    },
    "/repos/pnpm/pnpm": {
      "hit": 0,
      "miss": 1
    },
    "/repos/pnpm/pnpm/git/blobs/9e5623a104e83667bf865be125648b52e9a6d300": {
      "hit": 0,
      "miss": 1
    },
    "/repos/pnpm/pnpm/git/trees/main": {
      "hit": 0,
      "miss": 1
    }
  }
  "https://registry.npmjs.org": {
    "/@emotion%2Fcache": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@emotion%2Freact": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@emotion%2Fstyled": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@netlify%2Fplugin-nextjs": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@playwright%2Ftest": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@reach%2Ftabs": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@reach%2Fvisually-hidden": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@styled-system%2Fcss": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@styled-system%2Fshould-forward-prop": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@svgr%2Fwebpack": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@tailwindcss%2Fpostcss": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Ffacebook-pixel": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Fgtag.js": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Fnode": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Freact": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Freact-dom": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Frebass": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Fstyled-system": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Fstyled-system__css": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/@types%2Fstyled-system__should-forward-prop": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/corepack": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/crisp-sdk-web": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/dayjs": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/eslint": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/eslint-config-upleveled": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/fetch-jsonp": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/hex-rgb": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/next": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/node-fetch": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/p-map": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/pnpm": {
      "hit": 2,
      "miss": 0,
      "localMiss": 2
    },
    "/postcss-load-config": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/prettier": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/prettier-plugin-tailwindcss": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/prop-types": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/react": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/react-dom": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/rebass": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/sharp": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/styled-system": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/stylelint": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/stylelint-config-upleveled": {
      "hit": 0,
      "miss": 0,
      "localHit": 1
    },
    "/tailwind-merge": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/tailwindcss": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/typescript": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/typescript-eslint": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/webpack": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    },
    "/yup": {
      "hit": 1,
      "miss": 0,
      "localMiss": 1
    }
  }
}

DEBUG: Lookup statistics
{
  "node-version": {
    "count": 2,
    "avgMs": 596,
    "medianMs": 1182,
    "maxMs": 1182,
    "totalMs": 1191
  }
  "github-tags": {
    "count": 6,
    "avgMs": 625,
    "medianMs": 614,
    "maxMs": 721,
    "totalMs": 3750
  }
  "npm": {
    "count": 51,
    "avgMs": 1086,
    "medianMs": 594,
    "maxMs": 9292,
    "totalMs": 55395
  }
}

INFO: Cache fallback URLs
{
  "count": 0
  "hits": {}
  "oldLevel": "debug"
}

INFO: Repository finished
{
  "cloned": true
  "durationMs": 986741
}

Config:

{
  "extends": ["github>karlhorky/renovate-config:default.json5"]
}

Shared Config Preset:

{
  extends: [
    'config:base',
    // Upgrade all remark packages with URL prefix https://github.com/remarkjs/
    // https://github.com/renovatebot/renovate/pull/25969
    'group:remark',
  ],
  ignorePresets: [':prHourlyLimit2'],
  // Allow the major versions in the `dependency upgrades - non-major` groups
  // below to be combined with the minors and patches
  // https://github.com/renovatebot/renovate/issues/18211#issuecomment-1272521018
  separateMajorMinor: false,
  packageRules: [
    // Run `pnpm dedupe` after pnpm-lock.yaml updates
    // - https://docs.renovatebot.com/configuration-options/#:~:text=for%20npm%20%3C%3D%206.-,pnpmDedupe,pnpm%20dedupe%20%2D%2Dconfig.ignore%2Dscripts%3Dtrue%20after%20pnpm%2Dlock.yaml%20updates.,-yarnDedupeFewer
    // - https://github.com/renovatebot/renovate/pull/36554#issuecomment-2988439293
    {
      matchPackageNames: ['!pnpm'],
      postUpdateOptions: ['pnpmDedupe'],
    },
    {
      groupName: 'github-actions dependency upgrades - major',
      matchManagers: ['github-actions'],
      matchPackageNames: ['pnpm/action-setup'],
      matchPackagePatterns: ['^actions/'],
      updateTypes: ['major'],
      automerge: true,
    },
    // "postUpdateOptions": ["pnpmDedupe"] currently cannot be applied to `pnpm`
    // - https://github.com/renovatebot/renovate/pull/36554#issuecomment-2991578549
    {
      groupName: 'pnpm upgrades - non-major',
      matchDepTypes: ['packageManager'],
      matchPackageNames: ['pnpm'],
      updateTypes: ['patch', 'minor'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - non-major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      matchPackageNames: [
        // "postUpdateOptions": ["pnpmDedupe"] currently cannot be applied to `pnpm`
        // - https://github.com/renovatebot/renovate/pull/36554#issuecomment-2991578549
        '!pnpm',
      ],
      updateTypes: ['patch', 'minor'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - non-major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['major'],
      matchPackageNames: ['eslint-plugin-unicorn'],
      automerge: true,
    },
    {
      groupName: 'dependency upgrades - major',
      matchDepTypes: [
        'devDependencies',
        'dependencies',
        'peerDependencies',
        'resolutions',
        'overrides',
        'pnpm.overrides',
        'packageManager',
      ],
      updateTypes: ['major'],
      matchPackagePatterns: ['^eslint-plugin-unicorn'],
    },
    {
      description: 'Enable major version upgrades of @types/node https://github.com/renovatebot/renovate/issues/1463#issuecomment-875014401',
      matchManagers: ['npm'],
      matchPackageNames: ['@types/node'],
      versioning: 'npm',
    },
    // Disabled since these GitHub Actions don't get major version bumps often
    // {
    //   "groupName": "GitHub Official Actions - major",
    //   "matchDepTypes": ["action"],
    //   "updateTypes": ["major"],
    //   "matchPackageNames": ["actions/checkout", "actions/setup-node", "actions/upload-artifact"],
    //   "automerge": true
    // },
    {
      matchCurrentVersion: '>=4.0.0',
      matchDatasources: ['npm'],
      matchPackageNames: ['@upleveled/eslint-config-upleveled'],
      replacementName: 'eslint-config-upleveled',
      replacementVersion: '4.0.12',
    },
    {
      matchCurrentVersion: '>=2.0.0',
      matchDatasources: ['npm'],
      matchPackageNames: ['@upleveled/eslint-plugin-upleveled'],
      replacementName: 'eslint-plugin-upleveled',
      replacementVersion: '2.1.7',
    },
  ],
  schedule: 'after 4pm on thursday',
  vulnerabilityAlerts: {
    schedule: null,
  },
  // Remediate vulnerabilities in transitive dependencies
  // https://docs.renovatebot.com/configuration-options/#transitiveremediation
  transitiveRemediation: true,
}

https://github.com/karlhorky/renovate-config/blob/main/default.json5

@karlhorky
Copy link
Contributor Author

Current state: pnpmDedupe can lead to Renovate hanging or temporary-error

For anyone running into this pnpm dedupe error in the meantime

It appears the "postUpdateOptions": ["pnpmDedupe"] feature of Renovate doesn't currently work in some situations with Shared Config Presets and can lead to hanging behavior (see my posts above) or a temporary-error artifact update problem, possibly related to some bad saved state or pnpm store-dir misconfiguration in Renovate

I disabled the "postUpdateOptions": ["pnpmDedupe"] feature for now:

Maybe running the pnpm dedupe (or pnpm dedupe --config.ignore-scripts=true command) manually in a GitHub Actions CI step on all Renovate PRs is the way forward for now... 🤔

@CHC383
Copy link
Contributor

CHC383 commented Jun 25, 2025

If this PR does not fix it, it's not the place to be having Discussions

@rarkins @viceice With all the information and the reproduction in this PR, and the open Discussions, does it make sense for you to create an issue to keep track of this?

@rarkins
Copy link
Collaborator

rarkins commented Jun 25, 2025

No, Issues are for actionable tasks, not discussing.

@renovatebot renovatebot locked and limited conversation to collaborators Jun 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto:no-merge-from-main Advise contributors not to merge from main unnecessarily
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants