From 6ba2068029de15ef53e373fe63e39814c2fed919 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 00:15:55 +0000 Subject: [PATCH 01/56] docs: update references to renovate/renovate to v37.421.2 (#29954) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/usage/docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/usage/docker.md b/docs/usage/docker.md index 741c6a9c6451fb..4044921c9ca090 100644 --- a/docs/usage/docker.md +++ b/docs/usage/docker.md @@ -384,7 +384,7 @@ To get access to the token a custom Renovate Docker image is needed that include The Dockerfile to create such an image can look like this: ```Dockerfile -FROM renovate/renovate:37.414.1 +FROM renovate/renovate:37.421.2 # Include the "Docker tip" which you can find here https://cloud.google.com/sdk/docs/install # under "Installation" for "Debian/Ubuntu" RUN ... From 72caed734291c006b28b8820360a07aac0f86758 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 02:16:41 +0200 Subject: [PATCH 02/56] build(deps): update aws-sdk-js-v3 monorepo to v3.606.0 (#29953) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 12 +- pnpm-lock.yaml | 814 ++++++++++++++++++++++++------------------------- 2 files changed, 397 insertions(+), 429 deletions(-) diff --git a/package.json b/package.json index 3175235761d028..abd071a6d20b90 100644 --- a/package.json +++ b/package.json @@ -142,12 +142,12 @@ "node": "^18.12.0 || >=20.0.0" }, "dependencies": { - "@aws-sdk/client-codecommit": "3.588.0", - "@aws-sdk/client-ec2": "3.588.0", - "@aws-sdk/client-ecr": "3.588.0", - "@aws-sdk/client-rds": "3.588.0", - "@aws-sdk/client-s3": "3.588.0", - "@aws-sdk/credential-providers": "3.588.0", + "@aws-sdk/client-codecommit": "3.606.0", + "@aws-sdk/client-ec2": "3.606.0", + "@aws-sdk/client-ecr": "3.606.0", + "@aws-sdk/client-rds": "3.606.0", + "@aws-sdk/client-s3": "3.606.0", + "@aws-sdk/credential-providers": "3.606.0", "@breejs/later": "4.2.0", "@cdktf/hcl2json": "0.20.7", "@opentelemetry/api": "1.9.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 724275ce2e6882..64883f2d7654d7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,23 +12,23 @@ importers: .: dependencies: '@aws-sdk/client-codecommit': - specifier: 3.588.0 - version: 3.588.0 + specifier: 3.606.0 + version: 3.606.0 '@aws-sdk/client-ec2': - specifier: 3.588.0 - version: 3.588.0 + specifier: 3.606.0 + version: 3.606.0 '@aws-sdk/client-ecr': - specifier: 3.588.0 - version: 3.588.0 + specifier: 3.606.0 + version: 3.606.0 '@aws-sdk/client-rds': - specifier: 3.588.0 - version: 3.588.0 + specifier: 3.606.0 + version: 3.606.0 '@aws-sdk/client-s3': - specifier: 3.588.0 - version: 3.588.0 + specifier: 3.606.0 + version: 3.606.0 '@aws-sdk/credential-providers': - specifier: 3.588.0 - version: 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0)) + specifier: 3.606.0 + version: 3.606.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) '@breejs/later': specifier: 4.2.0 version: 4.2.0 @@ -623,208 +623,202 @@ packages: '@arcanis/slice-ansi@1.1.1': resolution: {integrity: sha512-xguP2WR2Dv0gQ7Ykbdb7BNCnPnIPB94uTi0Z2NvkRBEnhbwjOQ7QyQKJXrVQg4qDpiD9hA5l5cCwy/z2OXgc3w==} - '@aws-crypto/crc32@3.0.0': - resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} - '@aws-crypto/crc32@5.2.0': resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} engines: {node: '>=16.0.0'} - '@aws-crypto/crc32c@3.0.0': - resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} - - '@aws-crypto/ie11-detection@3.0.0': - resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} - - '@aws-crypto/sha1-browser@3.0.0': - resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} + '@aws-crypto/crc32c@5.2.0': + resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==} - '@aws-crypto/sha256-browser@3.0.0': - resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} + '@aws-crypto/sha1-browser@5.2.0': + resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==} - '@aws-crypto/sha256-js@3.0.0': - resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + '@aws-crypto/sha256-browser@5.2.0': + resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} - '@aws-crypto/supports-web-crypto@3.0.0': - resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} + '@aws-crypto/sha256-js@5.2.0': + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} - '@aws-crypto/util@3.0.0': - resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + '@aws-crypto/supports-web-crypto@5.2.0': + resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - '@aws-sdk/client-codecommit@3.588.0': - resolution: {integrity: sha512-XVy2KNp5qETTTbpGBz/Zp7bysLtQb3tQCAxNr31mCdAH2wQeqqhYMPGCguCvK4fwkD3RL4xZT0xbnZXeFGX/0A==} + '@aws-sdk/client-codecommit@3.606.0': + resolution: {integrity: sha512-zttJ22j5kwGDL0yj4haXNjMMVT06gUm7mqzPzc8rK3N4MSEVds5Q42vF5LeYcBjZ4OhnZg7zmVHL0dCtdsa8dQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-cognito-identity@3.588.0': - resolution: {integrity: sha512-UrucggmHTpcR1UmAyA6OtL5ezCGuC34fBGnYSNxgXzmIGtvGKwYZhu580NPWV+vW1MjXnELQxppR/jCuD4HxPg==} + '@aws-sdk/client-cognito-identity@3.606.0': + resolution: {integrity: sha512-CJ3kovUg7HAn3trqo0WxVw3PJoaHxiGU1U+Ok8Vx/sL81+auyyiasT09M/NcchRqwAooKvUi44sVD0ih7Zi9Nw==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-ec2@3.588.0': - resolution: {integrity: sha512-0EwJUG/Dl8CIRutINeucNZQCKmaIgqzzMNWiD+bEfqFVvZkZWbb6dP24fzxoPLrvV71ZJauf0MxV+/tMIxT+9g==} + '@aws-sdk/client-ec2@3.606.0': + resolution: {integrity: sha512-7CxvJNs3I2PQsyAWCBtRy7TjtdA+/Jf1BhIO1hlCKh7JvlcUY0XNpgpg7a3VWm7UTarh9J8SH6aDIMROS2vkXw==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-ecr@3.588.0': - resolution: {integrity: sha512-3UrJ+5VQ6YV+fQM7aq22MctuNURn6lt00HHiqjZQoDkpDJUVGdkFdduPRyHA0OxQNYpvP0cEtv5WOAVtEFjKmQ==} + '@aws-sdk/client-ecr@3.606.0': + resolution: {integrity: sha512-WwSeHXrCCYx48IxrwBnGl4t0+hYhka151R/8QyPTMINB2TcVBqbBsOGqV9wWJh3d0vK+hOhSJoOoQWN1XnkQYQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-rds@3.588.0': - resolution: {integrity: sha512-7TtKNskpOuyulnbgVufq7XAo6tmHjxmSjk8TOD5OsO8UX8xinokk3xyTN1unr2zCPleZGUEnfJKEduERbz9Dlw==} + '@aws-sdk/client-rds@3.606.0': + resolution: {integrity: sha512-cedTB6Tu/komKp+kxqcVZx3mtOci2bpAJfeOCNBLkeWMaAnwEvUYRvoO2A2wJrvaLkDwT1zo2Iyl3FaXk3KQjw==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-s3@3.588.0': - resolution: {integrity: sha512-MyJs3sbgRtVOdT2xxdg/CmLk+t+dMg26nfEZucBFeJKFAHfTA74sjef9y+GQ2xFUNq+kqG1CnP8JGMiGx2ht0w==} + '@aws-sdk/client-s3@3.606.0': + resolution: {integrity: sha512-IGM/E8kVk/NY/kZwLdmGRsX1QYtuPljoNutM5kBRdtGahQL5VwVAve5PElPUArcsTkfTyW+LfXpznDeeHxMCcA==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sso-oidc@3.588.0': - resolution: {integrity: sha512-CTbgtLSg0y2jIOtESuQKkRIqRe/FQmKuyzFWc+Qy6yGcbk1Pyusfz2BC+GGwpYU+1BlBBSNnLQHpx3XY87+aSA==} + '@aws-sdk/client-sso-oidc@3.606.0': + resolution: {integrity: sha512-gL1FHPS6hwgMNS/A+Qh5bUyHOeRVOqdb7c6+i+9gR3wtGvt2lvoSm8w5DhS08Xiiacz2AqYRDEapp0xuyCrbBQ==} engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.606.0 - '@aws-sdk/client-sso@3.588.0': - resolution: {integrity: sha512-zKS+xUkBLfwjbh77ZjtRUoG/vR/fyDteSE6rOAzwlmHQL8p+QUX+zNUNvCInvPi62zGBhEwXOvzs8zvnT4NzfQ==} + '@aws-sdk/client-sso@3.598.0': + resolution: {integrity: sha512-nOI5lqPYa+YZlrrzwAJywJSw3MKVjvu6Ge2fCqQUNYMfxFB0NAaDFnl0EPjXi+sEbtCuz/uWE77poHbqiZ+7Iw==} engines: {node: '>=16.0.0'} - '@aws-sdk/client-sts@3.588.0': - resolution: {integrity: sha512-UIMjcUikgG9NIENQxSyJNTHMD8TaTfK6Jjf1iuZSyQRyTrcGy0/xcDxrmwZQFAPkOPUf6w9KqydLkMLcYOBdPQ==} + '@aws-sdk/client-sts@3.606.0': + resolution: {integrity: sha512-b11mAhjrkm3MMiAPoMGcmd6vsaz2120lg8rHG/NZCo9vB1K6Kc7WP+a1Q05TRMseer2egTtpWJfn44aVO97VqA==} engines: {node: '>=16.0.0'} - '@aws-sdk/core@3.588.0': - resolution: {integrity: sha512-O1c2+9ce46Z+iiid+W3iC1IvPbfIo5ev9CBi54GdNB9SaI8/3+f8MJcux0D6c9toCF0ArMersN/gp8ek57e9uQ==} + '@aws-sdk/core@3.598.0': + resolution: {integrity: sha512-HaSjt7puO5Cc7cOlrXFCW0rtA0BM9lvzjl56x0A20Pt+0wxXGeTOZZOkXQIepbrFkV2e/HYukuT9e99vXDm59g==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-cognito-identity@3.588.0': - resolution: {integrity: sha512-KGwNFx2iKk/cY5T7J6BZ3Cvrrf45MdfKlBx+maNAA4NaX2bjL2BuA4Jvp+rxc2b2BsrKEUZUBdaMsLK+7KLTGQ==} + '@aws-sdk/credential-provider-cognito-identity@3.606.0': + resolution: {integrity: sha512-4wGvXilFLkozs4/dMnn9NvxZbL9oyyReoF9aR3kGUZ0QVO8cCBp/Zkr8IXZifhVBo9/esJdMFnR9lEXR7Yuleg==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-env@3.587.0': - resolution: {integrity: sha512-Hyg/5KFECIk2k5o8wnVEiniV86yVkhn5kzITUydmNGCkXdBFHMHRx6hleQ1bqwJHbBskyu8nbYamzcwymmGwmw==} + '@aws-sdk/credential-provider-env@3.598.0': + resolution: {integrity: sha512-vi1khgn7yXzLCcgSIzQrrtd2ilUM0dWodxj3PQ6BLfP0O+q1imO3hG1nq7DVyJtq7rFHs6+9N8G4mYvTkxby2w==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-http@3.587.0': - resolution: {integrity: sha512-Su1SRWVRCuR1e32oxX3C1V4c5hpPN20WYcRfdcr2wXwHqSvys5DrnmuCC+JoEnS/zt3adUJhPliTqpfKgSdMrA==} + '@aws-sdk/credential-provider-http@3.598.0': + resolution: {integrity: sha512-N7cIafi4HVlQvEgvZSo1G4T9qb/JMLGMdBsDCT5XkeJrF0aptQWzTFH0jIdZcLrMYvzPcuEyO3yCBe6cy/ba0g==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-ini@3.588.0': - resolution: {integrity: sha512-tP/YmEKvYpmp7pCR2OuhoOhAOtm6BbZ1hbeG9Sw9RFZi55dbGPHqMmfvvzHFAGsJ20z4/oDS+UnHaWVhRnV82w==} + '@aws-sdk/credential-provider-ini@3.598.0': + resolution: {integrity: sha512-/ppcIVUbRwDIwJDoYfp90X3+AuJo2mvE52Y1t2VSrvUovYn6N4v95/vXj6LS8CNDhz2jvEJYmu+0cTMHdhI6eA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.588.0 + '@aws-sdk/client-sts': ^3.598.0 - '@aws-sdk/credential-provider-node@3.588.0': - resolution: {integrity: sha512-8s4Ruo6q1YIrj8AZKBiUQG42051ytochDMSqdVOEZGxskfvmt2XALyi5SsWd0Ve3zR95zi+EtRBNPn2EU8sQpA==} + '@aws-sdk/credential-provider-node@3.600.0': + resolution: {integrity: sha512-1pC7MPMYD45J7yFjA90SxpR0yaSvy+yZiq23aXhAPZLYgJBAxHLu0s0mDCk/piWGPh8+UGur5K0bVdx4B1D5hw==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-process@3.587.0': - resolution: {integrity: sha512-V4xT3iCqkF8uL6QC4gqBJg/2asd/damswP1h9HCfqTllmPWzImS+8WD3VjgTLw5b0KbTy+ZdUhKc0wDnyzkzxg==} + '@aws-sdk/credential-provider-process@3.598.0': + resolution: {integrity: sha512-rM707XbLW8huMk722AgjVyxu2tMZee++fNA8TJVNgs1Ma02Wx6bBrfIvlyK0rCcIRb0WdQYP6fe3Xhiu4e8IBA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-sso@3.588.0': - resolution: {integrity: sha512-1GstMCyFzenVeppK7hWazMvo3P1DXKP70XkXAjH8H2ELBVg5X8Zt043cnQ7CMt4XjCV+ettHAtc9kz/gJTkDNQ==} + '@aws-sdk/credential-provider-sso@3.598.0': + resolution: {integrity: sha512-5InwUmrAuqQdOOgxTccRayMMkSmekdLk6s+az9tmikq0QFAHUCtofI+/fllMXSR9iL6JbGYi1940+EUmS4pHJA==} engines: {node: '>=16.0.0'} - '@aws-sdk/credential-provider-web-identity@3.587.0': - resolution: {integrity: sha512-XqIx/I2PG7kyuw3WjAP9wKlxy8IvFJwB8asOFT1xPFoVfZYKIogjG9oLP5YiRtfvDkWIztHmg5MlVv3HdJDGRw==} + '@aws-sdk/credential-provider-web-identity@3.598.0': + resolution: {integrity: sha512-GV5GdiMbz5Tz9JO4NJtRoFXjW0GPEujA0j+5J/B723rTN+REHthJu48HdBKouHGhdzkDWkkh1bu52V02Wprw8w==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.587.0 + '@aws-sdk/client-sts': ^3.598.0 - '@aws-sdk/credential-providers@3.588.0': - resolution: {integrity: sha512-AcxPB/mU6N9ZJnDx0eM62nu7BPQYrnllYoDa9H32o9zUvy3n3z6K4x5FT5hjAbDkjPKeHiRLrokwNuLMHTYdWg==} + '@aws-sdk/credential-providers@3.606.0': + resolution: {integrity: sha512-34hswGNDWBFvp4Hi4Gv9DIJ4Ks0Nbg8w3emFsPVHLqqI6X2Wd0hJTf+mi1kMhy/AQXt5LisKLw6wjNIKD2+KGg==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-bucket-endpoint@3.587.0': - resolution: {integrity: sha512-HkFXLPl8pr6BH/Q0JpOESqEKL0ZK3sk7aSZ1S6GE4RXET7H5R94THULXqQFZzD48gZcyFooO/yNKZTqrZFaWKg==} + '@aws-sdk/middleware-bucket-endpoint@3.598.0': + resolution: {integrity: sha512-PM7BcFfGUSkmkT6+LU9TyJiB4S8yI7dfuKQDwK5ZR3P7MKaK4Uj4yyDiv0oe5xvkF6+O2+rShj+eh8YuWkOZ/Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-expect-continue@3.577.0': - resolution: {integrity: sha512-6dPp8Tv4F0of4un5IAyG6q++GrRrNQQ4P2NAMB1W0VO4JoEu1C8GievbbDLi88TFIFmtKpnHB0ODCzwnoe8JsA==} + '@aws-sdk/middleware-expect-continue@3.598.0': + resolution: {integrity: sha512-ZuHW18kaeHR8TQyhEOYMr8VwiIh0bMvF7J1OTqXHxDteQIavJWA3CbfZ9sgS4XGtrBZDyHJhjZKeCfLhN2rq3w==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-flexible-checksums@3.587.0': - resolution: {integrity: sha512-URMwp/budDvKhIvZ4a6zIBfFTun/iDlPWXqsGKYjEtHt8jz27OSjCZtDtIeqW4WTBdKL8KZgQcl+DdaE5M1qiQ==} + '@aws-sdk/middleware-flexible-checksums@3.598.0': + resolution: {integrity: sha512-xukAzds0GQXvMEY9G6qt+CzwVzTx8NyKKh04O2Q+nOch6QQ8Rs+2kTRy3Z4wQmXq2pK9hlOWb5nXA7HWpmz6Ng==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-host-header@3.577.0': - resolution: {integrity: sha512-9ca5MJz455CODIVXs0/sWmJm7t3QO4EUa1zf8pE8grLpzf0J94bz/skDWm37Pli13T3WaAQBHCTiH2gUVfCsWg==} + '@aws-sdk/middleware-host-header@3.598.0': + resolution: {integrity: sha512-WiaG059YBQwQraNejLIi0gMNkX7dfPZ8hDIhvMr5aVPRbaHH8AYF3iNSsXYCHvA2Cfa1O9haYXsuMF9flXnCmA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-location-constraint@3.577.0': - resolution: {integrity: sha512-DKPTD2D2s+t2QUo/IXYtVa/6Un8GZ+phSTBkyBNx2kfZz4Kwavhl/JJzSqTV3GfCXkVdFu7CrjoX7BZ6qWeTUA==} + '@aws-sdk/middleware-location-constraint@3.598.0': + resolution: {integrity: sha512-8oybQxN3F1ISOMULk7JKJz5DuAm5hCUcxMW9noWShbxTJuStNvuHf/WLUzXrf8oSITyYzIHPtf8VPlKR7I3orQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-logger@3.577.0': - resolution: {integrity: sha512-aPFGpGjTZcJYk+24bg7jT4XdIp42mFXSuPt49lw5KygefLyJM/sB0bKKqPYYivW0rcuZ9brQ58eZUNthrzYAvg==} + '@aws-sdk/middleware-logger@3.598.0': + resolution: {integrity: sha512-bxBjf/VYiu3zfu8SYM2S9dQQc3tz5uBAOcPz/Bt8DyyK3GgOpjhschH/2XuUErsoUO1gDJqZSdGOmuHGZQn00Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-recursion-detection@3.577.0': - resolution: {integrity: sha512-pn3ZVEd2iobKJlR3H+bDilHjgRnNrQ6HMmK9ZzZw89Ckn3Dcbv48xOv4RJvu0aU8SDLl/SNCxppKjeLDTPGBNA==} + '@aws-sdk/middleware-recursion-detection@3.598.0': + resolution: {integrity: sha512-vjT9BeFY9FeN0f8hm2l6F53tI0N5bUq6RcDkQXKNabXBnQxKptJRad6oP2X5y3FoVfBLOuDkQgiC2940GIPxtQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-sdk-ec2@3.587.0': - resolution: {integrity: sha512-mbmgBdw5JVq6zDU54MM6ICSK2ngIkIsQJ/spsy27lXPskQwMuLG5BOYMQf7in5xfMjmnBT9Cxnk/YqaXN1K3+A==} + '@aws-sdk/middleware-sdk-ec2@3.598.0': + resolution: {integrity: sha512-s46eDkfA7/sqdNEhwvqkuFyo4eWhBAH7CnNJL9W8WBEveu8AQ0qFw5TK0xsdWNAxpe5BETys2qO/i+g+5BsG0g==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-sdk-rds@3.587.0': - resolution: {integrity: sha512-JvFSoPxExQChGGWyIQw11dzYsVJI0k4MbD3h/T6tSoStKSe8TLX97vAOu/UJzW3O9bYl3035fIOt7PNyEWDcZQ==} + '@aws-sdk/middleware-sdk-rds@3.598.0': + resolution: {integrity: sha512-R2ZuXb220wLBcu9/MilGVRMxJrsXRq7JBBzp2f7sJNiExX7UBJcXZox7KGzYhLNBGdBpoKtfkdMlmGPeYLCc5Q==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-sdk-s3@3.587.0': - resolution: {integrity: sha512-vtXTGEiw1E9Fax4LmcU2Z208gbrC8ShrdsSLmGcRPpu5NPOGBFBSDG5sy5EDNClrFxIl/Le8coQnD0EDBtx+uQ==} + '@aws-sdk/middleware-sdk-s3@3.598.0': + resolution: {integrity: sha512-5AGtLAh9wyK6ANPYfaKTqJY1IFJyePIxsEbxa7zS6REheAqyVmgJFaGu3oQ5XlxfGr5Uq59tFTRkyx26G1HkHA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-signing@3.587.0': - resolution: {integrity: sha512-tiZaTDj4RvhXGRAlncFn7CSEfL3iNPO67WSaxAq+Ls5j1VgczPhu5262cWONNoMgth3nXR1hhLC4ITSl/a6AzA==} + '@aws-sdk/middleware-signing@3.598.0': + resolution: {integrity: sha512-XKb05DYx/aBPqz6iCapsCbIl8aD8EihTuPCs51p75QsVfbQoVr4TlFfIl5AooMSITzojdAQqxt021YtvxjtxIQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-ssec@3.577.0': - resolution: {integrity: sha512-i2BPJR+rp8xmRVIGc0h1kDRFcM2J9GnClqqpc+NLSjmYadlcg4mPklisz9HzwFVcRPJ5XcGf3U4BYs5G8+iTyg==} + '@aws-sdk/middleware-ssec@3.598.0': + resolution: {integrity: sha512-f0p2xP8IC1uJ5e/tND1l81QxRtRFywEdnbtKCE0H6RSn4UIt2W3Dohe1qQDbnh27okF0PkNW6BJGdSAz3p7qbA==} engines: {node: '>=16.0.0'} - '@aws-sdk/middleware-user-agent@3.587.0': - resolution: {integrity: sha512-SyDomN+IOrygLucziG7/nOHkjUXES5oH5T7p8AboO8oakMQJdnudNXiYWTicQWO52R51U6CR27rcMPTGeMedYA==} + '@aws-sdk/middleware-user-agent@3.598.0': + resolution: {integrity: sha512-4tjESlHG5B5MdjUaLK7tQs/miUtHbb6deauQx8ryqSBYOhfHVgb1ZnzvQR0bTrhpqUg0WlybSkDaZAICf9xctg==} engines: {node: '>=16.0.0'} - '@aws-sdk/region-config-resolver@3.587.0': - resolution: {integrity: sha512-93I7IPZtulZQoRK+O20IJ4a1syWwYPzoO2gc3v+/GNZflZPV3QJXuVbIm0pxBsu0n/mzKGUKqSOLPIaN098HcQ==} + '@aws-sdk/region-config-resolver@3.598.0': + resolution: {integrity: sha512-oYXhmTokSav4ytmWleCr3rs/1nyvZW/S0tdi6X7u+dLNL5Jee+uMxWGzgOrWK6wrQOzucLVjS4E/wA11Kv2GTw==} engines: {node: '>=16.0.0'} - '@aws-sdk/signature-v4-multi-region@3.587.0': - resolution: {integrity: sha512-TR9+ZSjdXvXUz54ayHcCihhcvxI9W7102J1OK6MrLgBlPE7uRhAx42BR9L5lLJ86Xj3LuqPWf//o9d/zR9WVIg==} + '@aws-sdk/signature-v4-multi-region@3.598.0': + resolution: {integrity: sha512-1r/EyTrO1gSa1FirnR8V7mabr7gk+l+HkyTI0fcTSr8ucB7gmYyW6WjkY8JCz13VYHFK62usCEDS7yoJoJOzTA==} engines: {node: '>=16.0.0'} - '@aws-sdk/token-providers@3.587.0': - resolution: {integrity: sha512-ULqhbnLy1hmJNRcukANBWJmum3BbjXnurLPSFXoGdV0llXYlG55SzIla2VYqdveQEEjmsBuTZdFvXAtNpmS5Zg==} + '@aws-sdk/token-providers@3.598.0': + resolution: {integrity: sha512-TKY1EVdHVBnZqpyxyTHdpZpa1tUpb6nxVeRNn1zWG8QB5MvH4ALLd/jR+gtmWDNQbIG4cVuBOZFVL8hIYicKTA==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.587.0 + '@aws-sdk/client-sso-oidc': ^3.598.0 - '@aws-sdk/types@3.577.0': - resolution: {integrity: sha512-FT2JZES3wBKN/alfmhlo+3ZOq/XJ0C7QOZcDNrpKjB0kqYoKjhVKZ/Hx6ArR0czkKfHzBBEs6y40ebIHx2nSmA==} + '@aws-sdk/types@3.598.0': + resolution: {integrity: sha512-742uRl6z7u0LFmZwDrFP6r1wlZcgVPw+/TilluDJmCAR8BgRw3IR+743kUXKBGd8QZDRW2n6v/PYsi/AWCDDMQ==} engines: {node: '>=16.0.0'} '@aws-sdk/util-arn-parser@3.568.0': resolution: {integrity: sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-endpoints@3.587.0': - resolution: {integrity: sha512-8I1HG6Em8wQWqKcRW6m358mqebRVNpL8XrrEoT4In7xqkKkmYtHRNVYP6lcmiQh5pZ/c/FXu8dSchuFIWyEtqQ==} + '@aws-sdk/util-endpoints@3.598.0': + resolution: {integrity: sha512-Qo9UoiVVZxcOEdiOMZg3xb1mzkTxrhd4qSlg5QQrfWPJVx/QOg+Iy0NtGxPtHtVZNHZxohYwDwV/tfsnDSE2gQ==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-format-url@3.577.0': - resolution: {integrity: sha512-SyEGC2J+y/krFRuPgiF02FmMYhqbiIkOjDE6k4nYLJQRyS6XEAGxZoG+OHeOVEM+bsDgbxokXZiM3XKGu6qFIg==} + '@aws-sdk/util-format-url@3.598.0': + resolution: {integrity: sha512-1X0PlREk5K6tQg8rFZOjoKVtDyI1WgbKJNCymHhMye6STryY6fhuuayKstiDThkqDYxqahjUJz/Tl2p5W3rbcw==} engines: {node: '>=16.0.0'} '@aws-sdk/util-locate-window@3.568.0': resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==} engines: {node: '>=16.0.0'} - '@aws-sdk/util-user-agent-browser@3.577.0': - resolution: {integrity: sha512-zEAzHgR6HWpZOH7xFgeJLc6/CzMcx4nxeQolZxVZoB5pPaJd3CjyRhZN0xXeZB0XIRCWmb4yJBgyiugXLNMkLA==} + '@aws-sdk/util-user-agent-browser@3.598.0': + resolution: {integrity: sha512-36Sxo6F+ykElaL1mWzWjlg+1epMpSe8obwhCN1yGE7Js9ywy5U6k6l+A3q3YM9YRbm740sNxncbwLklMvuhTKw==} - '@aws-sdk/util-user-agent-node@3.587.0': - resolution: {integrity: sha512-Pnl+DUe/bvnbEEDHP3iVJrOtE3HbFJBPgsD6vJ+ml/+IYk1Eq49jEG+EHZdNTPz3SDG0kbp2+7u41MKYJHR/iQ==} + '@aws-sdk/util-user-agent-node@3.598.0': + resolution: {integrity: sha512-oyWGcOlfTdzkC6SVplyr0AGh54IMrDxbhg5RxJ5P+V4BKfcDoDcZV9xenUk9NsOi9MuUjxMumb9UJGkDhM1m0A==} engines: {node: '>=16.0.0'} peerDependencies: aws-crt: '>=1.0.0' @@ -832,11 +826,8 @@ packages: aws-crt: optional: true - '@aws-sdk/util-utf8-browser@3.259.0': - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} - - '@aws-sdk/xml-builder@3.575.0': - resolution: {integrity: sha512-cWgAwmbFYNCFzPwxL705+lWps0F3ZvOckufd2KKoEZUmtpVw9/txUXNrPySUXSmRTSRhoatIMABNfStWR043bQ==} + '@aws-sdk/xml-builder@3.598.0': + resolution: {integrity: sha512-ZIa2RK7CHFTZ4gwK77WRtsZ6vF7xwRXxJ8KQIxK2duhoTVcn0xYxpFLdW9WZZZvdP9GIF3Loqvf8DRdeU5Jc7Q==} engines: {node: '>=16.0.0'} '@babel/code-frame@7.24.7': @@ -6037,88 +6028,70 @@ snapshots: dependencies: grapheme-splitter: 1.0.4 - '@aws-crypto/crc32@3.0.0': - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 - tslib: 1.14.1 - '@aws-crypto/crc32@5.2.0': dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 tslib: 2.6.3 - '@aws-crypto/crc32c@3.0.0': + '@aws-crypto/crc32c@5.2.0': dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 - tslib: 1.14.1 - - '@aws-crypto/ie11-detection@3.0.0': - dependencies: - tslib: 1.14.1 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.598.0 + tslib: 2.6.3 - '@aws-crypto/sha1-browser@3.0.0': + '@aws-crypto/sha1-browser@5.2.0': dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.598.0 '@aws-sdk/util-locate-window': 3.568.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.3 - '@aws-crypto/sha256-browser@3.0.0': + '@aws-crypto/sha256-browser@5.2.0': dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-crypto/supports-web-crypto': 5.2.0 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.598.0 '@aws-sdk/util-locate-window': 3.568.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - - '@aws-crypto/sha256-js@3.0.0': - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 - tslib: 1.14.1 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.3 - '@aws-crypto/supports-web-crypto@3.0.0': + '@aws-crypto/sha256-js@5.2.0': dependencies: - tslib: 1.14.1 + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.598.0 + tslib: 2.6.3 - '@aws-crypto/util@3.0.0': + '@aws-crypto/supports-web-crypto@5.2.0': dependencies: - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 + tslib: 2.6.3 '@aws-crypto/util@5.2.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.3 - '@aws-sdk/client-codecommit@3.588.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-codecommit@3.606.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6149,23 +6122,23 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-cognito-identity@3.588.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-cognito-identity@3.606.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6195,24 +6168,24 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-ec2@3.588.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-sdk-ec2': 3.587.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-ec2@3.606.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-sdk-ec2': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6244,23 +6217,23 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-ecr@3.588.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-ecr@3.606.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6291,24 +6264,24 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-rds@3.588.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-sdk-rds': 3.587.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-rds@3.606.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-sdk-rds': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6339,33 +6312,33 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-s3@3.588.0': - dependencies: - '@aws-crypto/sha1-browser': 3.0.0 - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-bucket-endpoint': 3.587.0 - '@aws-sdk/middleware-expect-continue': 3.577.0 - '@aws-sdk/middleware-flexible-checksums': 3.587.0 - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-location-constraint': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-sdk-s3': 3.587.0 - '@aws-sdk/middleware-signing': 3.587.0 - '@aws-sdk/middleware-ssec': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/signature-v4-multi-region': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 - '@aws-sdk/xml-builder': 3.575.0 + '@aws-sdk/client-s3@3.606.0': + dependencies: + '@aws-crypto/sha1-browser': 5.2.0 + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-bucket-endpoint': 3.598.0 + '@aws-sdk/middleware-expect-continue': 3.598.0 + '@aws-sdk/middleware-flexible-checksums': 3.598.0 + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-location-constraint': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-sdk-s3': 3.598.0 + '@aws-sdk/middleware-signing': 3.598.0 + '@aws-sdk/middleware-ssec': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/signature-v4-multi-region': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 + '@aws-sdk/xml-builder': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/eventstream-serde-browser': 3.0.2 @@ -6402,22 +6375,22 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0)': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6445,23 +6418,22 @@ snapshots: '@smithy/util-utf8': 3.0.0 tslib: 2.6.3 transitivePeerDependencies: - - '@aws-sdk/client-sts' - aws-crt - '@aws-sdk/client-sso@3.588.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.588.0 - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-sso@3.598.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/core': 3.598.0 + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6491,22 +6463,22 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/client-sts@3.588.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/core': 3.588.0 - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.587.0 - '@aws-sdk/region-config-resolver': 3.587.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.587.0 + '@aws-sdk/client-sts@3.606.0': + dependencies: + '@aws-crypto/sha256-browser': 5.2.0 + '@aws-crypto/sha256-js': 5.2.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/core': 3.598.0 + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/middleware-host-header': 3.598.0 + '@aws-sdk/middleware-logger': 3.598.0 + '@aws-sdk/middleware-recursion-detection': 3.598.0 + '@aws-sdk/middleware-user-agent': 3.598.0 + '@aws-sdk/region-config-resolver': 3.598.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 + '@aws-sdk/util-user-agent-browser': 3.598.0 + '@aws-sdk/util-user-agent-node': 3.598.0 '@smithy/config-resolver': 3.0.2 '@smithy/core': 2.2.1 '@smithy/fetch-http-handler': 3.0.2 @@ -6536,7 +6508,7 @@ snapshots: transitivePeerDependencies: - aws-crt - '@aws-sdk/core@3.588.0': + '@aws-sdk/core@3.598.0': dependencies: '@smithy/core': 2.2.1 '@smithy/protocol-http': 4.0.1 @@ -6546,26 +6518,26 @@ snapshots: fast-xml-parser: 4.2.5 tslib: 2.6.3 - '@aws-sdk/credential-provider-cognito-identity@3.588.0': + '@aws-sdk/credential-provider-cognito-identity@3.606.0': dependencies: - '@aws-sdk/client-cognito-identity': 3.588.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/client-cognito-identity': 3.606.0 + '@aws-sdk/types': 3.598.0 '@smithy/property-provider': 3.1.1 '@smithy/types': 3.1.0 tslib: 2.6.3 transitivePeerDependencies: - aws-crt - '@aws-sdk/credential-provider-env@3.587.0': + '@aws-sdk/credential-provider-env@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/property-provider': 3.1.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/credential-provider-http@3.587.0': + '@aws-sdk/credential-provider-http@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/fetch-http-handler': 3.0.2 '@smithy/node-http-handler': 3.0.1 '@smithy/property-provider': 3.1.1 @@ -6575,15 +6547,15 @@ snapshots: '@smithy/util-stream': 3.0.2 tslib: 2.6.3 - '@aws-sdk/credential-provider-ini@3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0)': + '@aws-sdk/credential-provider-ini@3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0)': dependencies: - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/credential-provider-env': 3.587.0 - '@aws-sdk/credential-provider-http': 3.587.0 - '@aws-sdk/credential-provider-process': 3.587.0 - '@aws-sdk/credential-provider-sso': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0)) - '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/types': 3.577.0 + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/credential-provider-env': 3.598.0 + '@aws-sdk/credential-provider-http': 3.598.0 + '@aws-sdk/credential-provider-process': 3.598.0 + '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) + '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/types': 3.598.0 '@smithy/credential-provider-imds': 3.1.1 '@smithy/property-provider': 3.1.1 '@smithy/shared-ini-file-loader': 3.1.1 @@ -6593,15 +6565,15 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-node@3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0)': + '@aws-sdk/credential-provider-node@3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0)': dependencies: - '@aws-sdk/credential-provider-env': 3.587.0 - '@aws-sdk/credential-provider-http': 3.587.0 - '@aws-sdk/credential-provider-ini': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/credential-provider-process': 3.587.0 - '@aws-sdk/credential-provider-sso': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0)) - '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/types': 3.577.0 + '@aws-sdk/credential-provider-env': 3.598.0 + '@aws-sdk/credential-provider-http': 3.598.0 + '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/credential-provider-process': 3.598.0 + '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) + '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/types': 3.598.0 '@smithy/credential-provider-imds': 3.1.1 '@smithy/property-provider': 3.1.1 '@smithy/shared-ini-file-loader': 3.1.1 @@ -6612,19 +6584,19 @@ snapshots: - '@aws-sdk/client-sts' - aws-crt - '@aws-sdk/credential-provider-process@3.587.0': + '@aws-sdk/credential-provider-process@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/property-provider': 3.1.1 '@smithy/shared-ini-file-loader': 3.1.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/credential-provider-sso@3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))': + '@aws-sdk/credential-provider-sso@3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))': dependencies: - '@aws-sdk/client-sso': 3.588.0 - '@aws-sdk/token-providers': 3.587.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0)) - '@aws-sdk/types': 3.577.0 + '@aws-sdk/client-sso': 3.598.0 + '@aws-sdk/token-providers': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) + '@aws-sdk/types': 3.598.0 '@smithy/property-provider': 3.1.1 '@smithy/shared-ini-file-loader': 3.1.1 '@smithy/types': 3.1.0 @@ -6633,28 +6605,28 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/credential-provider-web-identity@3.587.0(@aws-sdk/client-sts@3.588.0)': + '@aws-sdk/credential-provider-web-identity@3.598.0(@aws-sdk/client-sts@3.606.0)': dependencies: - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/types': 3.598.0 '@smithy/property-provider': 3.1.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/credential-providers@3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))': - dependencies: - '@aws-sdk/client-cognito-identity': 3.588.0 - '@aws-sdk/client-sso': 3.588.0 - '@aws-sdk/client-sts': 3.588.0 - '@aws-sdk/credential-provider-cognito-identity': 3.588.0 - '@aws-sdk/credential-provider-env': 3.587.0 - '@aws-sdk/credential-provider-http': 3.587.0 - '@aws-sdk/credential-provider-ini': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/credential-provider-node': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/credential-provider-process': 3.587.0 - '@aws-sdk/credential-provider-sso': 3.588.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0)) - '@aws-sdk/credential-provider-web-identity': 3.587.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/types': 3.577.0 + '@aws-sdk/credential-providers@3.606.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))': + dependencies: + '@aws-sdk/client-cognito-identity': 3.606.0 + '@aws-sdk/client-sso': 3.598.0 + '@aws-sdk/client-sts': 3.606.0 + '@aws-sdk/credential-provider-cognito-identity': 3.606.0 + '@aws-sdk/credential-provider-env': 3.598.0 + '@aws-sdk/credential-provider-http': 3.598.0 + '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/credential-provider-process': 3.598.0 + '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0)) + '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/types': 3.598.0 '@smithy/credential-provider-imds': 3.1.1 '@smithy/property-provider': 3.1.1 '@smithy/types': 3.1.0 @@ -6663,9 +6635,9 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt - '@aws-sdk/middleware-bucket-endpoint@3.587.0': + '@aws-sdk/middleware-bucket-endpoint@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@aws-sdk/util-arn-parser': 3.568.0 '@smithy/node-config-provider': 3.1.1 '@smithy/protocol-http': 4.0.1 @@ -6673,54 +6645,54 @@ snapshots: '@smithy/util-config-provider': 3.0.0 tslib: 2.6.3 - '@aws-sdk/middleware-expect-continue@3.577.0': + '@aws-sdk/middleware-expect-continue@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/protocol-http': 4.0.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-flexible-checksums@3.587.0': + '@aws-sdk/middleware-flexible-checksums@3.598.0': dependencies: - '@aws-crypto/crc32': 3.0.0 - '@aws-crypto/crc32c': 3.0.0 - '@aws-sdk/types': 3.577.0 + '@aws-crypto/crc32': 5.2.0 + '@aws-crypto/crc32c': 5.2.0 + '@aws-sdk/types': 3.598.0 '@smithy/is-array-buffer': 3.0.0 '@smithy/protocol-http': 4.0.1 '@smithy/types': 3.1.0 '@smithy/util-utf8': 3.0.0 tslib: 2.6.3 - '@aws-sdk/middleware-host-header@3.577.0': + '@aws-sdk/middleware-host-header@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/protocol-http': 4.0.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-location-constraint@3.577.0': + '@aws-sdk/middleware-location-constraint@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-logger@3.577.0': + '@aws-sdk/middleware-logger@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-recursion-detection@3.577.0': + '@aws-sdk/middleware-recursion-detection@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/protocol-http': 4.0.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-sdk-ec2@3.587.0': + '@aws-sdk/middleware-sdk-ec2@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-format-url': 3.577.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-format-url': 3.598.0 '@smithy/middleware-endpoint': 3.0.2 '@smithy/protocol-http': 4.0.1 '@smithy/signature-v4': 3.1.0 @@ -6728,19 +6700,19 @@ snapshots: '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-sdk-rds@3.587.0': + '@aws-sdk/middleware-sdk-rds@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-format-url': 3.577.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-format-url': 3.598.0 '@smithy/middleware-endpoint': 3.0.2 '@smithy/protocol-http': 4.0.1 '@smithy/signature-v4': 3.1.0 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-sdk-s3@3.587.0': + '@aws-sdk/middleware-sdk-s3@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@aws-sdk/util-arn-parser': 3.568.0 '@smithy/node-config-provider': 3.1.1 '@smithy/protocol-http': 4.0.1 @@ -6750,9 +6722,9 @@ snapshots: '@smithy/util-config-provider': 3.0.0 tslib: 2.6.3 - '@aws-sdk/middleware-signing@3.587.0': + '@aws-sdk/middleware-signing@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/property-provider': 3.1.1 '@smithy/protocol-http': 4.0.1 '@smithy/signature-v4': 3.1.0 @@ -6760,48 +6732,48 @@ snapshots: '@smithy/util-middleware': 3.0.1 tslib: 2.6.3 - '@aws-sdk/middleware-ssec@3.577.0': + '@aws-sdk/middleware-ssec@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/middleware-user-agent@3.587.0': + '@aws-sdk/middleware-user-agent@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.587.0 + '@aws-sdk/types': 3.598.0 + '@aws-sdk/util-endpoints': 3.598.0 '@smithy/protocol-http': 4.0.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/region-config-resolver@3.587.0': + '@aws-sdk/region-config-resolver@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/node-config-provider': 3.1.1 '@smithy/types': 3.1.0 '@smithy/util-config-provider': 3.0.0 '@smithy/util-middleware': 3.0.1 tslib: 2.6.3 - '@aws-sdk/signature-v4-multi-region@3.587.0': + '@aws-sdk/signature-v4-multi-region@3.598.0': dependencies: - '@aws-sdk/middleware-sdk-s3': 3.587.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/middleware-sdk-s3': 3.598.0 + '@aws-sdk/types': 3.598.0 '@smithy/protocol-http': 4.0.1 '@smithy/signature-v4': 3.1.0 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/token-providers@3.587.0(@aws-sdk/client-sso-oidc@3.588.0(@aws-sdk/client-sts@3.588.0))': + '@aws-sdk/token-providers@3.598.0(@aws-sdk/client-sso-oidc@3.606.0(@aws-sdk/client-sts@3.606.0))': dependencies: - '@aws-sdk/client-sso-oidc': 3.588.0(@aws-sdk/client-sts@3.588.0) - '@aws-sdk/types': 3.577.0 + '@aws-sdk/client-sso-oidc': 3.606.0(@aws-sdk/client-sts@3.606.0) + '@aws-sdk/types': 3.598.0 '@smithy/property-provider': 3.1.1 '@smithy/shared-ini-file-loader': 3.1.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/types@3.577.0': + '@aws-sdk/types@3.598.0': dependencies: '@smithy/types': 3.1.0 tslib: 2.6.3 @@ -6810,16 +6782,16 @@ snapshots: dependencies: tslib: 2.6.3 - '@aws-sdk/util-endpoints@3.587.0': + '@aws-sdk/util-endpoints@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/types': 3.1.0 '@smithy/util-endpoints': 2.0.2 tslib: 2.6.3 - '@aws-sdk/util-format-url@3.577.0': + '@aws-sdk/util-format-url@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/querystring-builder': 3.0.1 '@smithy/types': 3.1.0 tslib: 2.6.3 @@ -6828,25 +6800,21 @@ snapshots: dependencies: tslib: 2.6.3 - '@aws-sdk/util-user-agent-browser@3.577.0': + '@aws-sdk/util-user-agent-browser@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/types': 3.1.0 bowser: 2.11.0 tslib: 2.6.3 - '@aws-sdk/util-user-agent-node@3.587.0': + '@aws-sdk/util-user-agent-node@3.598.0': dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.598.0 '@smithy/node-config-provider': 3.1.1 '@smithy/types': 3.1.0 tslib: 2.6.3 - '@aws-sdk/util-utf8-browser@3.259.0': - dependencies: - tslib: 2.6.3 - - '@aws-sdk/xml-builder@3.575.0': + '@aws-sdk/xml-builder@3.598.0': dependencies: '@smithy/types': 3.1.0 tslib: 2.6.3 From 6d30cc968033cb62b7e21cc452024ce370c14c0e Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Mon, 1 Jul 2024 08:18:32 +0200 Subject: [PATCH 03/56] fix(pypi): add .tgz extension (#29956) --- lib/modules/datasource/pypi/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/modules/datasource/pypi/index.ts b/lib/modules/datasource/pypi/index.ts index 532de67f592e2b..3d9d9eacd81f48 100644 --- a/lib/modules/datasource/pypi/index.ts +++ b/lib/modules/datasource/pypi/index.ts @@ -182,7 +182,7 @@ export class PypiDatasource extends Datasource { // source packages const srcText = PypiDatasource.normalizeName(text); const srcPrefix = `${packageName}-`; - const srcSuffixes = ['.tar.gz', '.tar.bz2', '.tar.xz', '.zip']; + const srcSuffixes = ['.tar.gz', '.tar.bz2', '.tar.xz', '.zip', '.tgz']; if ( srcText.startsWith(srcPrefix) && srcSuffixes.some((srcSuffix) => srcText.endsWith(srcSuffix)) From bd269be92b90689c3d0f7088a4141ec94fd2f7dd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 06:29:11 +0000 Subject: [PATCH 04/56] chore(deps): update containerbase/internal-tools action to v3.3.2 (#29957) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a8f281b81c0b9e..475f166c1e2438 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -632,7 +632,7 @@ jobs: show-progress: false - name: docker-config - uses: containerbase/internal-tools@e4c460a459854978aeebf7b7d03fa576fc0247e5 # v3.3.0 + uses: containerbase/internal-tools@0b4162e48b68b3521953c3c663376ca22a1f769b # v3.3.2 with: command: docker-config From 4f38e35f84be2dfad738e097ae32cef0809e9a84 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 07:40:45 +0000 Subject: [PATCH 05/56] chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v10.12.1 (#29958) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index cd37bcd41a64f1..b0debcc23ba65a 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1 +1 @@ -FROM ghcr.io/containerbase/devcontainer:10.12.0 +FROM ghcr.io/containerbase/devcontainer:10.12.1 From 0208d76027bbb2dd8748bbd07c62ff5f8946371b Mon Sep 17 00:00:00 2001 From: george-wilson-rea <106576487+george-wilson-rea@users.noreply.github.com> Date: Mon, 1 Jul 2024 19:54:33 +1000 Subject: [PATCH 06/56] fix(sbt-plugin): add new default registry URL (#29648) Co-authored-by: Sergei Zharinov Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com> Co-authored-by: Michael Kriese --- lib/modules/datasource/sbt-package/index.ts | 8 +- lib/modules/datasource/sbt-package/readme.md | 15 +++ .../datasource/sbt-plugin/index.spec.ts | 124 +++++++++--------- lib/modules/datasource/sbt-plugin/index.ts | 15 ++- lib/modules/datasource/sbt-plugin/readme.md | 20 +++ lib/modules/datasource/types.ts | 6 +- lib/modules/manager/sbt/extract.spec.ts | 16 +-- lib/modules/manager/sbt/extract.ts | 9 +- 8 files changed, 132 insertions(+), 81 deletions(-) create mode 100644 lib/modules/datasource/sbt-package/readme.md create mode 100644 lib/modules/datasource/sbt-plugin/readme.md diff --git a/lib/modules/datasource/sbt-package/index.ts b/lib/modules/datasource/sbt-package/index.ts index b714aae786c7b6..96f68b0fbf289e 100644 --- a/lib/modules/datasource/sbt-package/index.ts +++ b/lib/modules/datasource/sbt-package/index.ts @@ -8,7 +8,11 @@ import { compare } from '../../versioning/maven/compare'; import { MavenDatasource } from '../maven'; import { MAVEN_REPO } from '../maven/common'; import { downloadHttpProtocol } from '../maven/util'; -import type { GetReleasesConfig, ReleaseResult } from '../types'; +import type { + GetReleasesConfig, + RegistryStrategy, + ReleaseResult, +} from '../types'; import { getLatestVersion, normalizeRootRelativeUrls, @@ -22,7 +26,7 @@ export class SbtPackageDatasource extends MavenDatasource { override readonly defaultVersioning = ivyVersioning.id; - override readonly registryStrategy = 'hunt'; + override readonly registryStrategy: RegistryStrategy = 'hunt'; override readonly sourceUrlSupport = 'package'; override readonly sourceUrlNote = diff --git a/lib/modules/datasource/sbt-package/readme.md b/lib/modules/datasource/sbt-package/readme.md new file mode 100644 index 00000000000000..ff2e3d3a152b82 --- /dev/null +++ b/lib/modules/datasource/sbt-package/readme.md @@ -0,0 +1,15 @@ +This datasource finds SBT package updates from Maven repositories. + +By default, Renovate checks `https://repo.maven.apache.org/maven2` for SBT packages. +You can override the default behavior with the `registryUrls` config option. +For example: + +```json +{ + "matchDatasources": ["sbt-package"], + "registryUrls": [ + "https://repo.maven.apache.org/maven2", + "https://oss.sonatype.org/content/repositories/snapshots" + ] +} +``` diff --git a/lib/modules/datasource/sbt-plugin/index.spec.ts b/lib/modules/datasource/sbt-plugin/index.spec.ts index f2b3daaaa81df9..6387ff45e60a0e 100644 --- a/lib/modules/datasource/sbt-plugin/index.spec.ts +++ b/lib/modules/datasource/sbt-plugin/index.spec.ts @@ -1,3 +1,4 @@ +import { codeBlock, html } from 'common-tags'; import { getPkgReleases } from '..'; import { Fixtures } from '../../../../test/fixtures'; import * as httpMock from '../../../../test/http-mock'; @@ -37,10 +38,12 @@ describe('modules/datasource/sbt-plugin/index', () => { .get('/maven2/org/scalatest/') .reply( 200, - 'scalatest_2.12/\n' + - 'scalatest_2.12/\n' + - "scalatest_2.12/" + - "scalatest_2.12/", + html` + scalatest/ + scalatest_2.12/ + scalatest_sjs2.12/ + scalatest_native2.12/ + `, ); httpMock .scope('https://repo.maven.apache.org') @@ -52,53 +55,46 @@ describe('modules/datasource/sbt-plugin/index', () => { .reply(200, "4.5.6/"); httpMock - .scope('https://repo.scala-sbt.org') - .get('/scalasbt/sbt-plugin-releases/com.github.gseitz/') - .reply(200, ''); - httpMock - .scope('https://repo.scala-sbt.org') - .get('/scalasbt/sbt-plugin-releases/org.foundweekends/sbt-bintray/') + .scope('https://repo.maven.apache.org') + .get('/maven2/org/foundweekends/sbt-bintray/') .reply( 200, - '\n' + - '\n' + - '\n' + - '\n' + - '
scala_2.12/
\n' + - '\n' + - '', + html` + + + +
scala_2.12/
+ + + `, ); httpMock - .scope('https://repo.scala-sbt.org') - .get( - '/scalasbt/sbt-plugin-releases/org.foundweekends/sbt-bintray/scala_2.12/', - ) + .scope('https://repo.maven.apache.org') + .get('/maven2/org/foundweekends/sbt-bintray/scala_2.12/') .reply( 200, - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '
sbt_1.0/
\n' + - '\n' + - '\n', + html` + + + +
sbt_1.0/
+ + + `, ); httpMock - .scope('https://repo.scala-sbt.org') - .get( - '/scalasbt/sbt-plugin-releases/org.foundweekends/sbt-bintray/scala_2.12/sbt_1.0/', - ) + .scope('https://repo.maven.apache.org') + .get('/maven2/org/foundweekends/sbt-bintray/scala_2.12/sbt_1.0/') .reply( 200, - '\n' + - '\n' + - '\n' + - '\n' + - '\n' + - '
0.5.5/
\n' + - '\n' + - '\n', + html` + + + +
0.5.5/
+ + + `, ); httpMock @@ -106,20 +102,28 @@ describe('modules/datasource/sbt-plugin/index', () => { .get('/maven2/io/get-coursier/') .reply( 200, - 'sbt-coursier_2.10_0.13/\n' + - 'sbt-coursier_2.12_1.0/\n' + - 'sbt-coursier_2.12_1.0.0-M5/\n' + - 'sbt-coursier_2.12_1.0.0-M6/\n', + html` + sbt-coursier_2.10_0.13/ + sbt-coursier_2.12_1.0/ + sbt-coursier_2.12_1.0.0-M5/ + sbt-coursier_2.12_1.0.0-M6/ + `, ); httpMock .scope('https://repo.maven.apache.org') .get('/maven2/io/get-coursier/sbt-coursier_2.12_1.0/') .reply( 200, - '2.0.0-RC2/\n' + - '2.0.0-RC6-1/\n' + - '2.0.0-RC6-2/\n' + - '2.0.0-RC6-6/\n', + html` + 2.0.0-RC2/ + 2.0.0-RC6-1/ + 2.0.0-RC6-2/ + 2.0.0-RC6-6/ + `, ); httpMock .scope('https://repo.maven.apache.org') @@ -128,12 +132,14 @@ describe('modules/datasource/sbt-plugin/index', () => { ) .reply( 200, - '\n' + - 'https://get-coursier.io/\n' + - '\n' + - 'https://github.com/coursier/sbt-coursier\n' + - '\n' + - '\n', + codeBlock` + + https://get-coursier.io/ + + https://github.com/coursier/sbt-coursier + + + `, ); }); @@ -169,8 +175,8 @@ describe('modules/datasource/sbt-plugin/index', () => { }), ).toEqual({ dependencyUrl: - 'https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.foundweekends/sbt-bintray', - registryUrl: 'https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases', + 'https://repo.maven.apache.org/maven2/org/foundweekends/sbt-bintray', + registryUrl: 'https://repo.maven.apache.org/maven2', releases: [{ version: '0.5.5' }], }); }); @@ -185,8 +191,8 @@ describe('modules/datasource/sbt-plugin/index', () => { }), ).toEqual({ dependencyUrl: - 'https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/org.foundweekends/sbt-bintray', - registryUrl: 'https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases', + 'https://repo.maven.apache.org/maven2/org/foundweekends/sbt-bintray', + registryUrl: 'https://repo.maven.apache.org/maven2', releases: [{ version: '0.5.5' }], }); }); diff --git a/lib/modules/datasource/sbt-plugin/index.ts b/lib/modules/datasource/sbt-plugin/index.ts index 1d4c18a6ab039a..de9ca82afe2ae6 100644 --- a/lib/modules/datasource/sbt-plugin/index.ts +++ b/lib/modules/datasource/sbt-plugin/index.ts @@ -4,22 +4,27 @@ import { regEx } from '../../../util/regex'; import { ensureTrailingSlash } from '../../../util/url'; import * as ivyVersioning from '../../versioning/ivy'; import { compare } from '../../versioning/maven/compare'; +import { MAVEN_REPO } from '../maven/common'; import { downloadHttpProtocol } from '../maven/util'; import { SbtPackageDatasource } from '../sbt-package'; import { getLatestVersion, parseIndexDir } from '../sbt-package/util'; -import type { GetReleasesConfig, ReleaseResult } from '../types'; +import type { + GetReleasesConfig, + RegistryStrategy, + ReleaseResult, +} from '../types'; export const SBT_PLUGINS_REPO = 'https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases'; -export const defaultRegistryUrls = [SBT_PLUGINS_REPO]; +export const defaultRegistryUrls = [SBT_PLUGINS_REPO, MAVEN_REPO]; export class SbtPluginDatasource extends SbtPackageDatasource { static override readonly id = 'sbt-plugin'; override readonly defaultRegistryUrls = defaultRegistryUrls; - override readonly registryStrategy = 'hunt'; + override readonly registryStrategy: RegistryStrategy = 'merge'; override readonly defaultVersioning = ivyVersioning.id; @@ -98,7 +103,9 @@ export class SbtPluginDatasource extends SbtPackageDatasource { const repoRoot = ensureTrailingSlash(registryUrl); const searchRoots: string[] = []; // Optimize lookup order - searchRoots.push(`${repoRoot}${groupIdSplit.join('.')}`); + if (!registryUrl.startsWith(MAVEN_REPO)) { + searchRoots.push(`${repoRoot}${groupIdSplit.join('.')}`); + } searchRoots.push(`${repoRoot}${groupIdSplit.join('/')}`); for (let idx = 0; idx < searchRoots.length; idx += 1) { diff --git a/lib/modules/datasource/sbt-plugin/readme.md b/lib/modules/datasource/sbt-plugin/readme.md new file mode 100644 index 00000000000000..01f5302616dcae --- /dev/null +++ b/lib/modules/datasource/sbt-plugin/readme.md @@ -0,0 +1,20 @@ +This datasource finds SBT plugin updates from Maven repositories. + +By default, Renovate: + +1. Checks `https://repo1.maven.org/maven2/` for SBT plugins +1. If the above URL returns no results, then Renovate tries the _legacy_ URL: `https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases` + +You can override the default behavior with the `registryUrls` config option. +For example: + +```json +{ + "matchDatasources": ["sbt-plugin"], + "registryUrls": [ + "https://repo1.maven.org/maven2/", + "https://oss.sonatype.org/content/repositories/snapshots", + "https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases" + ] +} +``` diff --git a/lib/modules/datasource/types.ts b/lib/modules/datasource/types.ts index 98f6279ebb2101..ae8eaac067b28a 100644 --- a/lib/modules/datasource/types.ts +++ b/lib/modules/datasource/types.ts @@ -102,9 +102,9 @@ export interface DatasourceApi extends ModuleApi { /** * Strategy to use when multiple registryUrls are available to the datasource. - * first: only the first registryUrl will be tried and others ignored - * hunt: registryUrls will be tried in order until one returns a result - * merge: all registryUrls will be tried and the results merged if more than one returns a result + * - `first`: only the first registryUrl will be tried and others ignored + * - `hunt`: registryUrls will be tried in order until one returns a result + * - `merge`: all registryUrls will be tried and the results merged if more than one returns a result */ registryStrategy?: RegistryStrategy | undefined; diff --git a/lib/modules/manager/sbt/extract.spec.ts b/lib/modules/manager/sbt/extract.spec.ts index 29b09a5eae1600..7410b282ae382c 100644 --- a/lib/modules/manager/sbt/extract.spec.ts +++ b/lib/modules/manager/sbt/extract.spec.ts @@ -490,7 +490,7 @@ describe('modules/manager/sbt/extract', () => { registryUrls: [ 'http://example.org/repo', 'https://example.org/ivy-repo/', - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', ], }, { @@ -499,7 +499,7 @@ describe('modules/manager/sbt/extract', () => { registryUrls: [ 'http://example.org/repo', 'https://example.org/ivy-repo/', - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', ], }, { @@ -508,7 +508,7 @@ describe('modules/manager/sbt/extract', () => { registryUrls: [ 'http://example.org/repo', 'https://example.org/ivy-repo/', - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', ], }, { @@ -517,7 +517,7 @@ describe('modules/manager/sbt/extract', () => { registryUrls: [ 'http://example.org/repo', 'https://example.org/ivy-repo/', - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', ], }, { @@ -526,7 +526,7 @@ describe('modules/manager/sbt/extract', () => { registryUrls: [ 'http://example.org/repo', 'https://example.org/ivy-repo/', - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', ], }, { @@ -535,7 +535,7 @@ describe('modules/manager/sbt/extract', () => { registryUrls: [ 'http://example.org/repo', 'https://example.org/ivy-repo/', - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', ], }, ], @@ -551,7 +551,7 @@ describe('modules/manager/sbt/extract', () => { for (const dep of pkg.deps.filter((d) => d.depType === 'plugin')) { expect(dep.registryUrls).toStrictEqual([ 'https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases', - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', 'https://example.com/repos/1/', 'https://example.com/repos/2/', 'https://example.com/repos/3/', @@ -563,7 +563,7 @@ describe('modules/manager/sbt/extract', () => { for (const pkg of packages) { for (const dep of pkg.deps.filter((d) => d.depType !== 'plugin')) { expect(dep.registryUrls).toStrictEqual([ - 'https://repo1.maven.org/maven2', + 'https://repo.maven.apache.org/maven2', 'https://example.com/repos/1/', 'https://example.com/repos/2/', 'https://example.com/repos/3/', diff --git a/lib/modules/manager/sbt/extract.ts b/lib/modules/manager/sbt/extract.ts index 747245f1ae14ee..fd5a9173769dd0 100644 --- a/lib/modules/manager/sbt/extract.ts +++ b/lib/modules/manager/sbt/extract.ts @@ -5,6 +5,7 @@ import { newlineRegex, regEx } from '../../../util/regex'; import { parseUrl } from '../../../util/url'; import { GithubReleasesDatasource } from '../../datasource/github-releases'; import { MavenDatasource } from '../../datasource/maven'; +import { MAVEN_REPO } from '../../datasource/maven/common'; import { SbtPackageDatasource } from '../../datasource/sbt-package'; import { SBT_PLUGINS_REPO, @@ -41,8 +42,6 @@ interface Ctx { variableName?: string; } -const SBT_MVN_REPO = 'https://repo1.maven.org/maven2'; - const scala = lang.createLang('scala'); const sbtVersionRegex = regEx( @@ -308,7 +307,7 @@ export function extractProxyUrls( if (extraction?.groups?.proxy) { extractedProxyUrls.push(extraction.groups.proxy); } else if (line.trim() === 'maven-central') { - extractedProxyUrls.push(SBT_MVN_REPO); + extractedProxyUrls.push(MAVEN_REPO); } } return extractedProxyUrls; @@ -418,9 +417,9 @@ export async function extractAllPackageFiles( if (proxyUrls.length > 0) { dep.registryUrls!.unshift(...proxyUrls); } else if (dep.depType === 'plugin') { - dep.registryUrls!.unshift(SBT_PLUGINS_REPO, SBT_MVN_REPO); + dep.registryUrls!.unshift(SBT_PLUGINS_REPO, MAVEN_REPO); } else { - dep.registryUrls!.unshift(SBT_MVN_REPO); + dep.registryUrls!.unshift(MAVEN_REPO); } } } From c5eee75eee799a29c028011d592681e216bc0b21 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Mon, 1 Jul 2024 11:55:56 +0200 Subject: [PATCH 07/56] chore: add more label-actions for bugs (#29931) Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com> --- .github/label-actions.yml | 100 +++++++++++++++++++++++++++++++ docs/development/bug-handling.md | 78 ++++++++++++++++++++++++ 2 files changed, 178 insertions(+) create mode 100644 docs/development/bug-handling.md diff --git a/.github/label-actions.yml b/.github/label-actions.yml index 4758a918bcf121..328273cc4e131b 100644 --- a/.github/label-actions.yml +++ b/.github/label-actions.yml @@ -107,6 +107,25 @@ The Renovate team +'auto:logs-packages': + comment: > + Hi there, + + + Please give us specific logs, so we can help you more. + + + If you self-host Renovate: make sure you run Renovate with `LOG_LEVEL=debug` to get the debug log messages! Next, open the debug-level logs and search for `packageFiles with updates`. This text marks the start of a structured log message that shows every package file, dependency, and update that Renovate found. + + + Find the relevant dependency/dependencies in the log message, and copy/paste those parts into this discussion. If you do not know which bits we need, you can copy/paste the full log message. + + + Read the [Renovate docs, Troubleshooting](https://docs.renovatebot.com/troubleshooting/) to learn more about getting the docs, and getting the correct type of logs. + + + Thanks, the Renovate team + 'new package manager': comment: > Hi there, @@ -338,4 +357,85 @@ As a general rule, we will read and respond to all discussions in this repository, so there is no need to mention us. + Thanks, the Renovate team + +'auto:bug-to-idea': + comment: > + Hi there, + + + A maintainer reviewed the information, and decided that this is not a bug. To avoid confusing others, we will close this Discussion. Please keep reading as there is good news too! + + + The good news is that the maintainer likes your idea, in general. Please create a new [Suggest an Idea](https://github.com/renovatebot/renovate/discussions/new?category=suggest-an-idea) Discussion. Feel free to copy/paste what you need from this Discussion. Please focus on the feature request: explain what Renovate should do, and how Renovate can know when/what to do. We may convert that Discussion to an Issue when it is ready. Note that you will still have to wait for a maintainer, or someone else, to do the work needed for your feature. + + + Why are we closing your Discussion? For us, bug reports are about things that are not working as intended, or things that are not working as described in the docs. What you found may be bad behavior, but we do not think it is a bug. + + + For more details, please read [our development docs about bug handling](https://github.com/renovatebot/renovate/blob/main/docs/development/bug-handling.md). + + + Thanks, the Renovate team + +'auto:bug-invalid': + comment: > + Hi there, + + + A maintainer decided this is not a bug, and behaving as designed. The maintainer will explain why this behavior is correct. To avoid confusing future readers, we will close this Discussion. + + + We want Bug-type Discussions to be about things that we rate as bugs. For more details, please read [our development docs about bug handling](https://github.com/renovatebot/renovate/blob/main/docs/development/bug-handling.md). + + + If this bug report makes you think of an idea for a new feature, or how to improve a current feature, feel free to create a new [Suggest an Idea](https://github.com/renovatebot/renovate/discussions/new?category=suggest-an-idea) Discussion. + + + Thanks, the Renovate team + +'auto:bug-converted': + comment: > + Hi there, + + + A maintainer confirmed this is a bug, and converted this Discussion to an Issue. If you have more thoughts/info about the bug, please post them in the Issue. + + + We will close this Discussion, as we want new info to go in the Issue. + + + Thanks, the Renovate team + +'auto:idea-rewrite': + comment: > + Hi there, + + + The maintainers want to convert this idea into a Feature Request issue. Before we can convert, we need you update the Discussion title and/or the description(s). + + + We want the top post, and title, to match the current state of your idea/feature request. This is because a discussion often has lots of info, thoughts and comments. There may also be ideas that turn out to be dead ends. In simple terms, we only want the good stuff to go in the top post. + + + So please put the current information in the top post and update the title. Feel free to copy/paste examples, links or comments into the description. Let us know when you are finished updating, and we will convert your discussion to an Issue. + + + Thanks, the Renovate team + +'auto:no-slas': + comment: > + Hi there, + + + Please remember that there are no Service Level Agreements (SLAs) or roadmap commitments in Open Source projects like Renovate. The maintainers and contributors work on bugs/features/docs at their own pace. This means that sometimes you will have to wait for things to happen, or to get a response. + + + Please avoid comments like: "Any update on this?" or "When will this be fixed?". Do not chase a maintainer to get answers quickly. We will block you if you nudge us frequently. + + + Please read our [Code of Conduct, how we prioritize work](https://github.com/renovatebot/renovate/blob/main/CODE_OF_CONDUCT.md#how-we-prioritize-work) to learn more about how we prioritize what to work on. + If you are a paying Mend.io customer, please tell your support or customer contact that this issue is important to you. + + Thanks, the Renovate team diff --git a/docs/development/bug-handling.md b/docs/development/bug-handling.md new file mode 100644 index 00000000000000..601d3a0d55f148 --- /dev/null +++ b/docs/development/bug-handling.md @@ -0,0 +1,78 @@ +# Bug report handling + +## Start with a Discussion + +We use GitHub Discussions as a triaging stage for bug reports. +Users should [create a new Request Help discussion](https://github.com/renovatebot/renovate/discussions/new?category=request-help) and choose from the options there. + +We often need more information to resolve your bug report. +Maintainers may ask for such information directly, or use automated label comments, or both. +Maintainers may close bug reports that lack the extra information, for example when keeping the Discussion open does not help other users anymore. + +We only create issues in this repository when we: + +- consider them to be actionable +- are in a state where someone could work on it + +We often need a minimal reproduction or logs, or even _both_, to pinpoint the exact problem. +Because we need enough information for a actionable bug report, we may close Discussions that lack the needed info, even if it's highly likely the behavior is buggy. + +We have found that keeping Issues around that are not actionable just leads to them getting stale, and then closed. +The Issues list is meant as a list of actionable things for a contributor or maintainer to pick up eventually. + +## Discussion Resolution + +Bug reports are resolved in one of three ways: + +1. Confirmed as a bug. The Discussion will be converted to an Issue, and then closed. Any future comments go to the Issue and _not_ the Discussion. +1. Closed as "behaving as designed" with no further action. The Discussion will be closed with a relevant note. +1. Rejected as not a _bug_, but accepted as a _feature request_. The Discussion will be closed with a note suggesting that the poster create a new "Suggest an Idea" Discussion instead, which can then be converted to an Issue once actionable. + +## FAQ + +### What's your definition of bug? + +Bugs are behavior in Renovate which is _not_ as intended or documented. +Missing functionality or partial support is not automatically a bug. +For example, we're probably missing at least one feature from each package manager that Renovate supports. +If we labeled all those missing features as bugs, we lose sight of real bugs. + +### Why can't I create Bug Issues directly? + +It is really hard for users to decide if something is a bug. +Only a fraction of the incoming bug reports are for things we consider proper bugs. + +A while ago, users were allowed to create Bug Issues. +We ended up with many "bug, but not really" type issues, that polluted the repository. +Those issues made it tricky for maintainers and users to see what's really going on in the repository. +We have since closed many old user-created bug Issues, and now only allow maintainers to create bug Issues. +This way we do not end up in the same situation again. + +### What if I disagree with your definition of bug? + +We are not interested in debating you, we prefer to spend our time helping users solve their problems. +We are open to improve our approach to bugs, or this document, in good spirit. +Please do _not_ post comments like these: + +- "How dare you block users from creating Issues?!" +- "If the behavior was unexpected to me then that means it's a bug." + +Users who want to make our life difficult as maintainers will be blocked. +Read our [Code of Conduct](https://github.com/renovatebot/renovate/blob/main/CODE_OF_CONDUCT.md) to learn more. + +### Why do you close Bug discussions? + +It's important to move relevant reports to the next step of an Issue, and focus our attention there. +Bug reports that are not (going to be) an Issue, are marked as "not a bug". +This helps future users who browse or search the repository for similar terms, as they will not see any invalid Bug reports. + +If you are not sure if you have an _actual_ bug to report, please use the "Request Help" Discussion category. + +### When will you fix my bug? + +There are no Service Level Agreements (SLAs) in Open Source. +This means we are not required to respond to, or fix your problem within a certain time. + +If you are a paying Mend.io customer, please tell your support or customer contact that this bug is important to you. + +Please read our [Code of Conduct, how we prioritize work](https://github.com/renovatebot/renovate/blob/main/CODE_OF_CONDUCT.md#how-we-prioritize-work) to learn more. From 6d01a1d73e41d4cfd310714fa3ffae7e393fa7da Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Mon, 1 Jul 2024 13:27:43 +0200 Subject: [PATCH 08/56] ci: use node v20 for most jobs (#29959) --- .github/workflows/build.yml | 77 +++++++++++++++++++++---------- .github/workflows/update-data.yml | 2 +- package.json | 2 +- tools/check-re2.mjs | 11 ----- tools/prepare-deps.mjs | 65 ++++++++++++++++++++++++++ 5 files changed, 120 insertions(+), 37 deletions(-) delete mode 100644 tools/check-re2.mjs create mode 100644 tools/prepare-deps.mjs diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 475f166c1e2438..9de54ee6a332a5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -30,7 +30,8 @@ concurrency: env: DEFAULT_BRANCH: ${{ github.event.repository.default_branch }} - NODE_VERSION: 18 + NODE_VERSION_TEST: 18 + NODE_VERSION_BUILD: 20 DRY_RUN: true TEST_LEGACY_DECRYPTION: true SPARSE_CHECKOUT: |- @@ -105,13 +106,13 @@ jobs: with: repo: ${{ github.event.repository.full_name }} token: ${{ github.token }} - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ env.NODE_VERSION_TEST }} - - name: Prefetch modules for `ubuntu-latest` + - name: Prefetch test modules for `ubuntu-latest` id: setup-node uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ env.NODE_VERSION_TEST }} os: ${{ runner.os }} save-cache: true @@ -124,6 +125,27 @@ jobs: run: | echo "$(pnpm -s schedule-test-shards)" >> "$GITHUB_OUTPUT" + setup-build: + runs-on: ubuntu-latest + + outputs: + node-version: ${{ env.NODE_VERSION_BUILD }} + + steps: + - name: Checkout code + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + with: + filter: blob:none # we don't need all blobs + sparse-checkout: ${{ env.SPARSE_CHECKOUT }} + show-progress: false + + - name: Prefetch build modules for `ubuntu-latest` + uses: ./.github/actions/setup-node + with: + node-version: ${{ env.NODE_VERSION_BUILD }} + os: ${{ runner.os }} + save-cache: true + prefetch: needs: [setup] @@ -142,7 +164,6 @@ jobs: strategy: matrix: os: ${{ fromJSON(needs.setup.outputs.os-matrix-prefetch) }} - node-version: [18] runs-on: ${{ matrix.os }} @@ -161,12 +182,13 @@ jobs: if: needs.setup.outputs.os-matrix-is-full && runner.os != 'Linux' uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ env.NODE_VERSION_TEST }} os: ${{ runner.os }} save-cache: true lint-eslint: - needs: [setup] + needs: + - setup-build runs-on: ubuntu-latest timeout-minutes: 15 @@ -182,7 +204,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - name: Restore eslint cache @@ -211,7 +233,8 @@ jobs: key: eslint-main-cache lint-prettier: - needs: [setup] + needs: + - setup-build runs-on: ubuntu-latest timeout-minutes: 7 @@ -227,7 +250,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - name: Restore prettier cache @@ -256,7 +279,8 @@ jobs: key: prettier-main-cache lint-docs: - needs: [setup] + needs: + - setup-build runs-on: ubuntu-latest timeout-minutes: 7 @@ -269,7 +293,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - name: Lint markdown @@ -285,7 +309,8 @@ jobs: run: pnpm markdown-lint lint-other: - needs: [setup] + needs: + - setup-build runs-on: ubuntu-latest timeout-minutes: 7 @@ -298,7 +323,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - name: Type check @@ -337,7 +362,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ env.NODE_VERSION_TEST }} os: ${{ runner.os }} - name: Cache jest @@ -348,7 +373,7 @@ jobs: jest-cache-${{ runner.os }}-${{ - env.NODE_VERSION + env.NODE_VERSION_TEST }}-${{ hashFiles('pnpm-lock.yaml') }}-${{ @@ -416,6 +441,7 @@ jobs: coverage-threshold: needs: - test + - setup-build runs-on: ubuntu-latest timeout-minutes: 3 if: (success() || failure()) && github.event.pull_request.draft != true @@ -430,7 +456,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - name: Download coverage reports @@ -505,7 +531,8 @@ jobs: run: exit 1 build: - needs: setup + needs: + - setup-build runs-on: ubuntu-latest timeout-minutes: 15 if: github.event.pull_request.draft != true @@ -518,7 +545,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - name: Build @@ -539,7 +566,9 @@ jobs: path: renovate-0.0.0-semantic-release.tgz build-docs: - needs: [lint-docs] + needs: + - lint-docs + - setup-build runs-on: ubuntu-latest timeout-minutes: 5 if: github.event.pull_request.draft != true @@ -552,7 +581,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - name: Build @@ -588,7 +617,7 @@ jobs: - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ env.NODE_VERSION_TEST }} - name: Download package uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 @@ -603,7 +632,7 @@ jobs: release: needs: - - setup + - setup-build - lint-eslint - lint-prettier - lint-docs @@ -639,7 +668,7 @@ jobs: - name: Setup Node.js uses: ./.github/actions/setup-node with: - node-version: ${{ env.NODE_VERSION }} + node-version: ${{ needs.setup-build.outputs.node-version }} os: ${{ runner.os }} - uses: sigstore/cosign-installer@59acb6260d9c0ba8f4a2f9d9b48431a222b68e20 # v3.5.0 diff --git a/.github/workflows/update-data.yml b/.github/workflows/update-data.yml index aead3c9df7ad32..faf5970d86852d 100644 --- a/.github/workflows/update-data.yml +++ b/.github/workflows/update-data.yml @@ -5,7 +5,7 @@ on: workflow_dispatch: env: - NODE_VERSION: 18 + NODE_VERSION: 20 permissions: contents: read diff --git a/package.json b/package.json index abd071a6d20b90..f6f2ffbddc7e19 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "prepare": "run-s 'prepare:*'", "prepare:husky": "husky", "prepare:generate": "run-s 'generate:*'", - "prepare:re2": "node tools/check-re2.mjs", + "prepare:deps": "node tools/prepare-deps.mjs", "prestart": "run-s 'generate:*'", "pretest": "run-s 'generate:*'", "prettier": "prettier --cache --check '**/*.{ts,js,mjs,json,md,yml}'", diff --git a/tools/check-re2.mjs b/tools/check-re2.mjs deleted file mode 100644 index b86559956b8e6a..00000000000000 --- a/tools/check-re2.mjs +++ /dev/null @@ -1,11 +0,0 @@ -await (async () => { - console.log('Checking re2 ... '); - try { - const { default: RE2 } = await import('re2'); - new RE2('.*').exec('test'); - console.log(`ok.`); - } catch (e) { - console.error(`error.\n${e}`); - process.exit(1); - } -})(); diff --git a/tools/prepare-deps.mjs b/tools/prepare-deps.mjs new file mode 100644 index 00000000000000..9d62b542196b1d --- /dev/null +++ b/tools/prepare-deps.mjs @@ -0,0 +1,65 @@ +import { execSync } from 'child_process'; + +function testRe2() { + execSync( + `node -e "try{require('re2')('.*').exec('test')}catch(e){console.error(e);if(e.code === 'ERR_DLOPEN_FAILED' && e.message.includes('NODE_MODULE_VERSION')) process.exit(1); else process.exit(-1)}"`, + { stdio: 'inherit' }, + ); + console.log(`Ok.`); +} + +function testSqlite() { + execSync( + `node -e "try{new require('better-sqlite3')(':memory:')}catch(e){console.error(e);if(e.code === 'ERR_DLOPEN_FAILED' && e.message.includes('NODE_MODULE_VERSION')) process.exit(1); else process.exit(-1)}"`, + { stdio: 'inherit' }, + ); + console.log(`Ok.`); +} + +(() => { + console.log('Checking re2 ... '); + try { + testRe2(); + } catch (e) { + console.error(`Failed.\n${e}`); + try { + if (e.status === 1) { + console.log(`Retry re2 install ...`); + execSync('pnpm run install', { + stdio: 'inherit', + cwd: `${process.cwd()}/node_modules/re2`, + }); + testRe2(); + return; + } + } catch (e1) { + console.error(`Retry failed.\n${e1}`); + } + + process.exit(1); + } +})(); + +(() => { + console.log('Checking better-sqlite3 ... '); + try { + testSqlite(); + } catch (e) { + console.error(`Failed.\n${e}`); + try { + if (e.status === 1) { + console.log(`Retry better-sqlite3 install ...`); + execSync('pnpm run install', { + stdio: 'inherit', + cwd: `${process.cwd()}/node_modules/better-sqlite3`, + }); + testSqlite(); + return; + } + } catch (e1) { + console.error(`Retry failed.\n${e1}`); + } + + process.exit(1); + } +})(); From 174b1bf54ea73f3bd900e1e7782efaa4fc2805b7 Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Mon, 1 Jul 2024 14:51:37 +0200 Subject: [PATCH 09/56] ci: fix cache keys (#29962) --- .github/actions/setup-node/action.yml | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index 65777a99305b45..09108b4c65bbe0 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -47,6 +47,11 @@ runs: (steps.node-modules-restore.outputs.cache-hit == 'true') && 'true' || '' }}' >> "$GITHUB_ENV" + - name: Calculate `PNPM_STORE` + shell: bash + run: | + echo "PNPM_STORE=$(pnpm store path)" >> "$GITHUB_ENV" + - name: Setup pnpm uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0 with: @@ -56,7 +61,21 @@ runs: uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 with: node-version: ${{ inputs.node-version }} - cache: ${{ env.CACHE_HIT != 'true' && 'pnpm' || '' }} + + - name: Cache and restore `pnpm store` + if: env.CACHE_HIT != 'true' + uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 + with: + path: ${{ env.PNPM_STORE }} + key: | + pnpm_store-${{ + inputs.os + }}-${{ + inputs.node-version + }}-${{ + hashFiles('pnpm-lock.yaml', 'package.json') + }} + enableCrossOsArchive: true - name: Install dependencies uses: nick-fields/retry@7152eba30c6575329ac0576536151aca5a72780e # v3.0.0 From a0c447a82b64dc96e24da51fb46a070e4d0282d5 Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Mon, 1 Jul 2024 15:37:43 +0200 Subject: [PATCH 10/56] ci(setup-node): fix steps order (#29965) --- .github/actions/setup-node/action.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/actions/setup-node/action.yml b/.github/actions/setup-node/action.yml index 09108b4c65bbe0..bceeb0cc34288b 100644 --- a/.github/actions/setup-node/action.yml +++ b/.github/actions/setup-node/action.yml @@ -47,11 +47,6 @@ runs: (steps.node-modules-restore.outputs.cache-hit == 'true') && 'true' || '' }}' >> "$GITHUB_ENV" - - name: Calculate `PNPM_STORE` - shell: bash - run: | - echo "PNPM_STORE=$(pnpm store path)" >> "$GITHUB_ENV" - - name: Setup pnpm uses: pnpm/action-setup@fe02b34f77f8bc703788d5817da081398fad5dd2 # v4.0.0 with: @@ -62,6 +57,11 @@ runs: with: node-version: ${{ inputs.node-version }} + - name: Calculate `PNPM_STORE` + shell: bash + run: | + echo "PNPM_STORE=$(pnpm store path)" >> "$GITHUB_ENV" + - name: Cache and restore `pnpm store` if: env.CACHE_HIT != 'true' uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 From f05bf765d549a3a58e6161b234eef80e44ba9b9e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 13:42:47 +0000 Subject: [PATCH 11/56] chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v10.13.0 (#29966) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index b0debcc23ba65a..a8f8ba9ebe46a5 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1 +1 @@ -FROM ghcr.io/containerbase/devcontainer:10.12.1 +FROM ghcr.io/containerbase/devcontainer:10.13.0 From 1fcec7c35db7103b270048f7459703b14ea9443b Mon Sep 17 00:00:00 2001 From: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com> Date: Mon, 1 Jul 2024 18:20:21 +0200 Subject: [PATCH 12/56] docs(versioning/semver): rewrite readme (#29868) Co-authored-by: Sebastian Poxhofer --- lib/modules/versioning/semver/readme.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/modules/versioning/semver/readme.md b/lib/modules/versioning/semver/readme.md index 81e7f028d73016..01784677288a46 100644 --- a/lib/modules/versioning/semver/readme.md +++ b/lib/modules/versioning/semver/readme.md @@ -1,3 +1,5 @@ -Renovate's Semantic Versioning is a strict/independent implementation of [Semantic Versioning 2.0](https://semver.org). It has been developed to be used in situations where exact-only SemVer support is needed and not npm's extended semver implementation including ranges. +Renovate's `semver` versioning _strictly_ implements the [Semantic Versioning 2.0](https://semver.org) specification. +Because the SemVer 2.0 specification does _not_ allow ranges, Renovate's `semver` versioning also does _not_ support ranges. -Ranges are not supported, in line with the specification. +Only use the `semver` versioning when you mean to follow the full SemVer 2.0 specifications strictly. +If you need a more forgiving variant use `semver-coerced`. From cf988e51fb8fd430e864d82afbed8d6387dc8ccc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 16:33:35 +0000 Subject: [PATCH 13/56] build(deps): update dependency jsonc-parser to v3.3.0 (#29969) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index f6f2ffbddc7e19..e56a42c625eabf 100644 --- a/package.json +++ b/package.json @@ -211,7 +211,7 @@ "json-stringify-pretty-compact": "3.0.0", "json5": "2.2.3", "jsonata": "2.0.5", - "jsonc-parser": "3.2.1", + "jsonc-parser": "3.3.0", "klona": "2.0.6", "lru-cache": "10.2.2", "luxon": "3.4.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 64883f2d7654d7..4e9b1892a16576 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -219,8 +219,8 @@ importers: specifier: 2.0.5 version: 2.0.5 jsonc-parser: - specifier: 3.2.1 - version: 3.2.1 + specifier: 3.3.0 + version: 3.3.0 klona: specifier: 2.0.6 version: 2.0.6 @@ -4137,6 +4137,9 @@ packages: jsonc-parser@3.2.1: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + jsonc-parser@3.3.0: + resolution: {integrity: sha512-RK1Xb5alM78sdXpB2hqqK7jxAE5jTRH05GvUiLWqh7Vbp6OPHuJYlsAMRUDYNYJTAQgkmhHgkdwOEknxwP4ojQ==} + jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -10929,6 +10932,8 @@ snapshots: jsonc-parser@3.2.1: {} + jsonc-parser@3.3.0: {} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 From f19afb4dee5e5bf5b7ef6a67d6d817f2d38f6773 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 16:47:12 +0000 Subject: [PATCH 14/56] build(deps): update dependency jsonc-parser to v3.3.1 (#29970) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index e56a42c625eabf..45dac00d71aa9b 100644 --- a/package.json +++ b/package.json @@ -211,7 +211,7 @@ "json-stringify-pretty-compact": "3.0.0", "json5": "2.2.3", "jsonata": "2.0.5", - "jsonc-parser": "3.3.0", + "jsonc-parser": "3.3.1", "klona": "2.0.6", "lru-cache": "10.2.2", "luxon": "3.4.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4e9b1892a16576..51144969a5d437 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -219,8 +219,8 @@ importers: specifier: 2.0.5 version: 2.0.5 jsonc-parser: - specifier: 3.3.0 - version: 3.3.0 + specifier: 3.3.1 + version: 3.3.1 klona: specifier: 2.0.6 version: 2.0.6 @@ -4137,8 +4137,8 @@ packages: jsonc-parser@3.2.1: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - jsonc-parser@3.3.0: - resolution: {integrity: sha512-RK1Xb5alM78sdXpB2hqqK7jxAE5jTRH05GvUiLWqh7Vbp6OPHuJYlsAMRUDYNYJTAQgkmhHgkdwOEknxwP4ojQ==} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -10932,7 +10932,7 @@ snapshots: jsonc-parser@3.2.1: {} - jsonc-parser@3.3.0: {} + jsonc-parser@3.3.1: {} jsonfile@6.1.0: dependencies: From 67ad98c3d3b0f2e70e41e75caf47885b4d326521 Mon Sep 17 00:00:00 2001 From: Usman Date: Mon, 1 Jul 2024 21:50:00 +0200 Subject: [PATCH 15/56] chore: update discussions template (#29949) --- .github/DISCUSSION_TEMPLATE/request-help.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/DISCUSSION_TEMPLATE/request-help.yml b/.github/DISCUSSION_TEMPLATE/request-help.yml index 3dcb62a21aa156..db4c2073080476 100644 --- a/.github/DISCUSSION_TEMPLATE/request-help.yml +++ b/.github/DISCUSSION_TEMPLATE/request-help.yml @@ -27,6 +27,9 @@ body: id: the-question attributes: label: Please tell us more about your question or problem + description: | + Remember to [follow these guidelines](https://github.com/renovatebot/renovate/blob/main/docs/development/help-us-help-you.md) for maximum effectiveness. + It may help to include a [minimal reproduction](https://github.com/renovatebot/renovate/blob/main/docs/development/minimal-reproductions.md) as well. validations: required: true From d0e0bbeaafa2a3becbb7ff04156962e555e2f6ff Mon Sep 17 00:00:00 2001 From: Kyle Niewiada Date: Mon, 1 Jul 2024 15:54:22 -0400 Subject: [PATCH 16/56] fix(config): Remove usePlatformAutomerge restriction with gitLabIgnoreApprovals (#29972) --- docs/usage/configuration-options.md | 2 +- lib/modules/platform/gitlab/index.spec.ts | 43 +++++++++++++++++++++++ lib/modules/platform/gitlab/index.ts | 14 ++++---- 3 files changed, 51 insertions(+), 8 deletions(-) diff --git a/docs/usage/configuration-options.md b/docs/usage/configuration-options.md index 125bccf0971000..09dc38bc540f13 100644 --- a/docs/usage/configuration-options.md +++ b/docs/usage/configuration-options.md @@ -1510,7 +1510,7 @@ Example: Ignore the default project level approval(s), so that Renovate bot can automerge its merge requests, without needing approval(s). Under the hood, it creates a MR-level approval rule where `approvals_required` is set to `0`. -This option works only when `automerge=true`, `automergeType=pr` or `automergeType=branch`, and `platformAutomerge=true`. +This option works only when `automerge=true` and either `automergeType=pr` or `automergeType=branch`. Also, approval rules overriding should not be [prevented in GitLab settings](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/settings.html#prevent-editing-approval-rules-in-merge-requests). ## goGetDirs diff --git a/lib/modules/platform/gitlab/index.spec.ts b/lib/modules/platform/gitlab/index.spec.ts index 3878f49d6229f1..f327ec9a5d4ec9 100644 --- a/lib/modules/platform/gitlab/index.spec.ts +++ b/lib/modules/platform/gitlab/index.spec.ts @@ -2228,6 +2228,49 @@ describe('modules/platform/gitlab/index', () => { `); }); + it('adds approval rule to ignore all approvals when platformAutomerge is false', async () => { + await initPlatform('13.3.6-ee'); + httpMock + .scope(gitlabApiHost) + .post('/api/v4/projects/undefined/merge_requests') + .reply(200, { + id: 1, + iid: 12345, + title: 'some title', + }) + .get('/api/v4/projects/undefined/merge_requests/12345/approval_rules') + .reply(200, [ + { + name: 'AnyApproverRule', + rule_type: 'any_approver', + id: 50005, + }, + ]) + .put( + '/api/v4/projects/undefined/merge_requests/12345/approval_rules/50005', + ) + .reply(200); + expect( + await gitlab.createPr({ + sourceBranch: 'some-branch', + targetBranch: 'master', + prTitle: 'some-title', + prBody: 'the-body', + labels: [], + platformOptions: { + usePlatformAutomerge: false, + gitLabIgnoreApprovals: true, + }, + }), + ).toEqual({ + id: 1, + iid: 12345, + number: 12345, + sourceBranch: 'some-branch', + title: 'some title', + }); + }); + it('will modify a rule of type any_approvers, if such a rule exists', async () => { await initPlatform('13.3.6-ee'); httpMock diff --git a/lib/modules/platform/gitlab/index.ts b/lib/modules/platform/gitlab/index.ts index 90eccc206c9640..4a28db74a02aee 100644 --- a/lib/modules/platform/gitlab/index.ts +++ b/lib/modules/platform/gitlab/index.ts @@ -648,12 +648,12 @@ async function tryPrAutomerge( pr: number, platformOptions: PlatformPrOptions | undefined, ): Promise { - if (platformOptions?.usePlatformAutomerge) { - try { - if (platformOptions?.gitLabIgnoreApprovals) { - await ignoreApprovals(pr); - } + try { + if (platformOptions?.gitLabIgnoreApprovals) { + await ignoreApprovals(pr); + } + if (platformOptions?.usePlatformAutomerge) { // https://docs.gitlab.com/ee/api/merge_requests.html#merge-status const desiredDetailedMergeStatus = [ 'mergeable', @@ -730,9 +730,9 @@ async function tryPrAutomerge( } await setTimeout(mergeDelay * attempt ** 2); // exponential backoff } - } catch (err) /* istanbul ignore next */ { - logger.debug({ err }, 'Automerge on PR creation failed'); } + } catch (err) /* istanbul ignore next */ { + logger.debug({ err }, 'Automerge on PR creation failed'); } } From a6d03c5e4807a8a4bd3d6e206db38eceedb77939 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 20:04:08 +0000 Subject: [PATCH 17/56] chore(deps): update dependency conventional-changelog-conventionalcommits to v8 (#29974) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package.json b/package.json index 45dac00d71aa9b..8c596a26e474da 100644 --- a/package.json +++ b/package.json @@ -312,7 +312,7 @@ "aws-sdk-client-mock": "4.0.1", "callsite": "1.0.0", "common-tags": "1.8.2", - "conventional-changelog-conventionalcommits": "7.0.2", + "conventional-changelog-conventionalcommits": "8.0.0", "emojibase-data": "15.3.2", "eslint": "8.57.0", "eslint-formatter-gha": "1.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51144969a5d437..5829a38c84dbc4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -512,8 +512,8 @@ importers: specifier: 1.8.2 version: 1.8.2 conventional-changelog-conventionalcommits: - specifier: 7.0.2 - version: 7.0.2 + specifier: 8.0.0 + version: 8.0.0 emojibase-data: specifier: 15.3.2 version: 15.3.2(emojibase@15.3.1) @@ -2703,9 +2703,9 @@ packages: resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} engines: {node: '>=16'} - conventional-changelog-conventionalcommits@7.0.2: - resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} - engines: {node: '>=16'} + conventional-changelog-conventionalcommits@8.0.0: + resolution: {integrity: sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA==} + engines: {node: '>=18'} conventional-changelog-writer@7.0.1: resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==} @@ -9156,7 +9156,7 @@ snapshots: dependencies: compare-func: 2.0.0 - conventional-changelog-conventionalcommits@7.0.2: + conventional-changelog-conventionalcommits@8.0.0: dependencies: compare-func: 2.0.0 From 7ebc1642377039b9773189d73dbe5b72a9b2a722 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 20:20:30 +0000 Subject: [PATCH 18/56] build(deps): update dependency better-sqlite3 to v11 (#29975) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 8c596a26e474da..67552e2e64e171 100644 --- a/package.json +++ b/package.json @@ -250,7 +250,7 @@ "zod": "3.23.8" }, "optionalDependencies": { - "better-sqlite3": "9.6.0", + "better-sqlite3": "11.0.0", "openpgp": "5.11.2", "re2": "1.21.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5829a38c84dbc4..c0d65d9ab3f90d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -331,8 +331,8 @@ importers: version: 3.23.8 optionalDependencies: better-sqlite3: - specifier: 9.6.0 - version: 9.6.0 + specifier: 11.0.0 + version: 11.0.0 openpgp: specifier: 5.11.2 version: 5.11.2 @@ -2457,8 +2457,8 @@ packages: before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} - better-sqlite3@9.6.0: - resolution: {integrity: sha512-yR5HATnqeYNVnkaUTf4bOP2dJSnyhP4puJN/QPRyx4YkBEEUxib422n2XzPqDEHjQQqazoYoADdAm5vE15+dAQ==} + better-sqlite3@11.0.0: + resolution: {integrity: sha512-1NnNhmT3EZTsKtofJlMox1jkMxdedILury74PwUbQBjWgo4tL4kf7uTAjU55mgQwjdzqakSTjkf+E1imrFwjnA==} bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} @@ -8898,7 +8898,7 @@ snapshots: before-after-hook@2.2.3: {} - better-sqlite3@9.6.0: + better-sqlite3@11.0.0: dependencies: bindings: 1.5.0 prebuild-install: 7.1.2 From 71b28d110225668fa5025d8db07411f699b54fe6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jul 2024 20:56:27 +0000 Subject: [PATCH 19/56] build(deps): update dependency semantic-release to v24 (#29976) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Michael Kriese --- package.json | 3 +- pnpm-lock.yaml | 621 ++++++++++++++++++++++++++++++++----------------- 2 files changed, 415 insertions(+), 209 deletions(-) diff --git a/package.json b/package.json index 67552e2e64e171..67d3246f6ebe1c 100644 --- a/package.json +++ b/package.json @@ -338,7 +338,7 @@ "nyc": "17.0.0", "pretty-format": "29.7.0", "rimraf": "5.0.7", - "semantic-release": "22.0.12", + "semantic-release": "24.0.0", "tar": "6.2.1", "tmp-promise": "3.0.3", "ts-jest": "29.1.5", @@ -357,6 +357,7 @@ "dtrace-provider" ], "overrides": { + "@semantic-release/github>@octokit/plugin-paginate-rest": "11.3.0", "@types/linkify-it": "<5.0.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0d65d9ab3f90d..cb775e14dfafb6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: + '@semantic-release/github>@octokit/plugin-paginate-rest': 11.3.0 '@types/linkify-it': <5.0.0 importers: @@ -369,7 +370,7 @@ importers: version: '@renovatebot/eslint-plugin@file:tools/eslint' '@semantic-release/exec': specifier: 6.0.3 - version: 6.0.3(semantic-release@22.0.12(typescript@5.4.5)) + version: 6.0.3(semantic-release@24.0.0(typescript@5.4.5)) '@swc/core': specifier: 1.6.5 version: 1.6.5 @@ -590,8 +591,8 @@ importers: specifier: 5.0.7 version: 5.0.7 semantic-release: - specifier: 22.0.12 - version: 22.0.12(typescript@5.4.5) + specifier: 24.0.0 + version: 24.0.0(typescript@5.4.5) tar: specifier: 6.2.1 version: 6.2.1 @@ -1184,7 +1185,6 @@ packages: '@ls-lint/ls-lint@2.2.3': resolution: {integrity: sha512-ekM12jNm/7O2I/hsRv9HvYkRdfrHpiV1epVuI2NP+eTIcEgdIdKkKCs9KgQydu/8R5YXTov9aHdOgplmCHLupw==} - cpu: [x64, arm64, s390x] os: [darwin, linux, win32] hasBin: true @@ -1212,10 +1212,22 @@ packages: resolution: {integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==} engines: {node: '>= 18'} + '@octokit/auth-token@5.1.1': + resolution: {integrity: sha512-rh3G3wDO8J9wSjfI436JUKzHIxq8NaiL0tVeB2aXmG6p/9859aUOAjA9pmSPNGGZxfwmaJ9ozOJImuNVJdpvbA==} + engines: {node: '>= 18'} + '@octokit/core@5.2.0': resolution: {integrity: sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==} engines: {node: '>= 18'} + '@octokit/core@6.1.2': + resolution: {integrity: sha512-hEb7Ma4cGJGEUNOAVmyfdB/3WirWMg5hDuNFVejGEDFqupeOysLc2sG6HJxY2etBp5YQu5Wtxwi020jS9xlUwg==} + engines: {node: '>= 18'} + + '@octokit/endpoint@10.1.1': + resolution: {integrity: sha512-JYjh5rMOwXMJyUpj028cu0Gbp7qe/ihxfJMLc8VZBMMqSwLgOxDI1911gV4Enl1QSavAQNJcwmwBF9M0VvLh6Q==} + engines: {node: '>= 18'} + '@octokit/endpoint@9.0.5': resolution: {integrity: sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==} engines: {node: '>= 18'} @@ -1224,20 +1236,21 @@ packages: resolution: {integrity: sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==} engines: {node: '>= 18'} - '@octokit/openapi-types@20.0.0': - resolution: {integrity: sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==} + '@octokit/graphql@8.1.1': + resolution: {integrity: sha512-ukiRmuHTi6ebQx/HFRCXKbDlOh/7xEV6QUXaE7MJEKGNAncGI/STSbOkl12qVXZrfZdpXctx5O9X1AIaebiDBg==} + engines: {node: '>= 18'} '@octokit/openapi-types@22.2.0': resolution: {integrity: sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==} - '@octokit/plugin-paginate-rest@11.3.1': - resolution: {integrity: sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==} + '@octokit/plugin-paginate-rest@11.3.0': + resolution: {integrity: sha512-n4znWfRinnUQF6TPyxs7EctSAA3yVSP4qlJP2YgI3g9d4Ae2n5F3XDOjbUluKRxPU3rfsgpOboI4O4VtPc6Ilg==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '5' + '@octokit/core': '>=6' - '@octokit/plugin-paginate-rest@9.2.1': - resolution: {integrity: sha512-wfGhE/TAkXZRLjksFXuDZdmGnJQHvtU/joFQdweXUgzo1XwvBCD4o4+75NtFfjfLK5IwLf9vHTfSiU3sLRYpRw==} + '@octokit/plugin-paginate-rest@11.3.1': + resolution: {integrity: sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '5' @@ -1254,33 +1267,38 @@ packages: peerDependencies: '@octokit/core': ^5 - '@octokit/plugin-retry@6.0.1': - resolution: {integrity: sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==} + '@octokit/plugin-retry@7.1.1': + resolution: {integrity: sha512-G9Ue+x2odcb8E1XIPhaFBnTTIrrUDfXN05iFXiqhR+SeeeDMMILcAnysOsxUpEWcQp2e5Ft397FCXTcPkiPkLw==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': '>=5' + '@octokit/core': '>=6' - '@octokit/plugin-throttling@8.2.0': - resolution: {integrity: sha512-nOpWtLayKFpgqmgD0y3GqXafMFuKcA4tRPZIfu7BArd2lEZeb1988nhWhwx4aZWmjDmUfdgVf7W+Tt4AmvRmMQ==} + '@octokit/plugin-throttling@9.3.0': + resolution: {integrity: sha512-B5YTToSRTzNSeEyssnrT7WwGhpIdbpV9NKIs3KyTWHX6PhpYn7gqF/+lL3BvsASBM3Sg5BAUYk7KZx5p/Ec77w==} engines: {node: '>= 18'} peerDependencies: - '@octokit/core': ^5.0.0 + '@octokit/core': ^6.0.0 '@octokit/request-error@5.1.0': resolution: {integrity: sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==} engines: {node: '>= 18'} + '@octokit/request-error@6.1.1': + resolution: {integrity: sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==} + engines: {node: '>= 18'} + '@octokit/request@8.4.0': resolution: {integrity: sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==} engines: {node: '>= 18'} + '@octokit/request@9.1.1': + resolution: {integrity: sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==} + engines: {node: '>= 18'} + '@octokit/rest@20.1.1': resolution: {integrity: sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==} engines: {node: '>= 18'} - '@octokit/types@12.6.0': - resolution: {integrity: sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==} - '@octokit/types@13.5.0': resolution: {integrity: sha512-HdqWTf5Z3qwDVlzCrP8UJquMwunpDiMPt5er+QjGzL4hqr/vBVY/MauQgS1xWxCDT1oMx1EULyqxncdCY/NVSQ==} @@ -1534,9 +1552,12 @@ packages: '@seald-io/nedb@4.0.4': resolution: {integrity: sha512-CUNcMio7QUHTA+sIJ/DC5JzVNNsHe743TPmC4H5Gij9zDLMbmrCT2li3eVB72/gF63BPS8pWEZrjlAMRKA8FDw==} - '@semantic-release/commit-analyzer@11.1.0': - resolution: {integrity: sha512-cXNTbv3nXR2hlzHjAMgbuiQVtvWHTlwwISt60B+4NZv01y/QRY7p2HcJm8Eh2StzcTJoNnflvKjHH/cjFS7d5g==} - engines: {node: ^18.17 || >=20.6.1} + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + + '@semantic-release/commit-analyzer@13.0.0': + resolution: {integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==} + engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' @@ -1554,21 +1575,21 @@ packages: peerDependencies: semantic-release: '>=18.0.0' - '@semantic-release/github@9.2.6': - resolution: {integrity: sha512-shi+Lrf6exeNZF+sBhK+P011LSbhmIAoUEgEY6SsxF8irJ+J2stwI5jkyDQ+4gzYyDImzV6LCKdYB9FXnQRWKA==} - engines: {node: '>=18'} + '@semantic-release/github@10.0.7': + resolution: {integrity: sha512-J7JiFvOu/8QKqFF5FDTk/k19Z/Jku4LdDof/+LsjaGgLOISJR7TL66q89c2YXV6Dh5Jw5VmiT4uK4q6SSfbQGA==} + engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' - '@semantic-release/npm@11.0.3': - resolution: {integrity: sha512-KUsozQGhRBAnoVg4UMZj9ep436VEGwT536/jwSqB7vcEfA6oncCUU7UIYTRdLx7GvTtqn0kBjnkfLVkcnBa2YQ==} - engines: {node: ^18.17 || >=20} + '@semantic-release/npm@12.0.1': + resolution: {integrity: sha512-/6nntGSUGK2aTOI0rHPwY3ZjgY9FkXmEHbW9Kr+62NVOsyqpKKeP0lrCH+tphv+EsNdJNmqqwijTEnVWUMQ2Nw==} + engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' - '@semantic-release/release-notes-generator@12.1.0': - resolution: {integrity: sha512-g6M9AjUKAZUZnxaJZnouNBeDNTCUrJ5Ltj+VJ60gJeDaRRahcHsry9HW8yKrnKkKNkx5lbWiEP1FPMqVNQz8Kg==} - engines: {node: ^18.17 || >=20.6.1} + '@semantic-release/release-notes-generator@14.0.1': + resolution: {integrity: sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==} + engines: {node: '>=20.8.1'} peerDependencies: semantic-release: '>=20.1.0' @@ -1583,6 +1604,10 @@ packages: resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} + '@sindresorhus/merge-streams@4.0.0': + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -2255,10 +2280,6 @@ packages: engines: {node: '>=18.12.0'} hasBin: true - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - abbrev@2.0.0: resolution: {integrity: sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -2309,9 +2330,9 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} + ansi-escapes@7.0.0: + resolution: {integrity: sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==} + engines: {node: '>=18'} ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} @@ -2337,8 +2358,8 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - ansicolors@0.3.2: - resolution: {integrity: sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -2457,6 +2478,9 @@ packages: before-after-hook@2.2.3: resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + before-after-hook@3.0.2: + resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + better-sqlite3@11.0.0: resolution: {integrity: sha512-1NnNhmT3EZTsKtofJlMox1jkMxdedILury74PwUbQBjWgo4tL4kf7uTAjU55mgQwjdzqakSTjkf+E1imrFwjnA==} @@ -2571,10 +2595,6 @@ packages: caniuse-lite@1.0.30001636: resolution: {integrity: sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==} - cardinal@2.1.1: - resolution: {integrity: sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==} - hasBin: true - chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -2632,6 +2652,11 @@ packages: resolution: {integrity: sha512-TyUIUJgdFnCISzG5zu3291TAsE77ddchd0bepon1VVQrKLGKFED4iXFEDQ24mIPdPBbyE16PK3F8MYE1CmcBEQ==} engines: {node: '>=14.16'} + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + cli-table3@0.6.5: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} @@ -2644,6 +2669,9 @@ packages: cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} @@ -2699,17 +2727,17 @@ packages: config-chain@1.1.13: resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} - conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} + conventional-changelog-angular@8.0.0: + resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} + engines: {node: '>=18'} conventional-changelog-conventionalcommits@8.0.0: resolution: {integrity: sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA==} engines: {node: '>=18'} - conventional-changelog-writer@7.0.1: - resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==} - engines: {node: '>=16'} + conventional-changelog-writer@8.0.0: + resolution: {integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==} + engines: {node: '>=18'} hasBin: true conventional-commits-detector@1.0.3: @@ -2717,15 +2745,19 @@ packages: engines: {node: '>=6.9.0'} hasBin: true - conventional-commits-filter@4.0.0: - resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==} - engines: {node: '>=16'} + conventional-commits-filter@5.0.0: + resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} + engines: {node: '>=18'} - conventional-commits-parser@5.0.0: - resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} - engines: {node: '>=16'} + conventional-commits-parser@6.0.0: + resolution: {integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==} + engines: {node: '>=18'} hasBin: true + convert-hrtime@5.0.0: + resolution: {integrity: sha512-lOETlkIeYSJWcbbcvjRKGxVMXJR+8+OQb/mTPbA4ObPMytYIsUbuOE0Jzy60hjARYszq1id0j8KgVhC+WGZVTg==} + engines: {node: '>=12'} + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} @@ -2738,8 +2770,8 @@ packages: core-util-is@1.0.3: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + cosmiconfig@9.0.0: + resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==} engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' @@ -2990,14 +3022,18 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - env-ci@10.0.0: - resolution: {integrity: sha512-U4xcd/utDYFgMh0yWj07R1H6L5fwhVbmxBCpnL0DbVSDZVnsC82HONw0wxtxNkIAcua3KtbomQvIk5xFZGAQJw==} + env-ci@11.0.0: + resolution: {integrity: sha512-apikxMgkipkgTvMdRT9MNqWx5VLOci79F4VBd7Op/7OPjjoanjdAvn6fglMCCEf/1bAh8eOiuEVCUs4V3qP3nQ==} engines: {node: ^18.17 || >=20.6.1} env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} @@ -3194,6 +3230,10 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} + execa@9.3.0: + resolution: {integrity: sha512-l6JFbqnHEadBoVAVpN5dl2yCyfX28WoBAGaoQcNmLLSedOxTxcn2Qa83s8I/PA5i56vWru2OHOtrwF7Om2vqlg==} + engines: {node: ^18.19.0 || >=20.5.0} + exit@0.1.2: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} engines: {node: '>= 0.8.0'} @@ -3292,9 +3332,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-versions@5.1.0: - resolution: {integrity: sha512-+iwzCJ7C5v5KgcBuueqVoNiHVoQpwiUK5XFLjf0affFTep+Wcw93tPvmb8tqujDNmzhBDPddnWV/qgWSXgq+Hg==} - engines: {node: '>=12'} + find-versions@6.0.0: + resolution: {integrity: sha512-2kCCtc+JvcZ86IGAz3Z2Y0A1baIz9fL31pH/0S1IqZr9Iwnjq8izfPtrCyQKO6TLMPELLsQMre7VDqeIKCsHkA==} + engines: {node: '>=18'} flat-cache@3.2.0: resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} @@ -3346,6 +3386,10 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-timeout@1.0.2: + resolution: {integrity: sha512-939eZS4gJ3htTHAldmyyuzlrD58P03fHG49v2JfFXbV6OhvZKRC9j2yAtdHw/zrp2zXHuv05zMIy40F0ge7spA==} + engines: {node: '>=18'} + function.prototype.name@1.1.6: resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} engines: {node: '>= 0.4'} @@ -3397,6 +3441,10 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-symbol-description@1.0.2: resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} engines: {node: '>= 0.4'} @@ -3554,6 +3602,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + hook-std@3.0.0: resolution: {integrity: sha512-jHRQzjSDzMtFy34AGj1DN+vq54WVuhSvKgrHf0OMiFQTwDD4L/qqofVEWjLOBMTn5+lCD3fPg32W9yOfnEJTTw==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3595,6 +3646,10 @@ packages: resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} engines: {node: '>=16.17.0'} + human-signals@7.0.0: + resolution: {integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==} + engines: {node: '>=18.18.0'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -3805,6 +3860,10 @@ packages: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + is-regex@1.1.4: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} @@ -3828,6 +3887,10 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.0.7: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} @@ -3836,10 +3899,6 @@ packages: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} - is-text-path@2.0.0: - resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} - engines: {node: '>=8'} - is-typed-array@1.1.13: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} @@ -3879,9 +3938,9 @@ packages: resolution: {integrity: sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==} engines: {node: '>=16'} - issue-parser@6.0.0: - resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} - engines: {node: '>=10.13'} + issue-parser@7.0.1: + resolution: {integrity: sha512-3YZcUUR2Wt1WsapF+S/WiA2WmlW0cWAoPccMqne7AxEBhCdFeTPjfv/Axb8V2gyCgY3nRw+ksZ3xSUX+R47iAg==} + engines: {node: ^18.17 || >=20.6.1} istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} @@ -4143,10 +4202,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - just-extend@6.2.0: resolution: {integrity: sha512-cYofQu2Xpom82S6qD778jBDpwvvy39s1l/hrYij2u9AMdQcGRpaBu6kY4mVhuno5kJVi1DAz4aiphA2WI1/OAw==} @@ -4322,15 +4377,15 @@ packages: resolution: {integrity: sha512-qwGyuyKwjkEMOJ10XN6OTKNOVYvOIi35RNvDLNxTof5s8UmyGHlCdpngRHoRGNvQVGuxO3BJ7uNSgdeX166WXw==} engines: {node: '>=18'} - marked-terminal@6.2.0: - resolution: {integrity: sha512-ubWhwcBFHnXsjYNsu+Wndpg0zhY4CahSpPlA70PlO0rR9r2sZpkyU+rkCsOWH+KMEkx847UpALON+HWgxowFtw==} + marked-terminal@7.1.0: + resolution: {integrity: sha512-+pvwa14KZL74MVXjYdPR3nSInhGhNvPce/3mqLVZT2oUvt654sL1XImFuLZ1pkA866IYZ3ikDTOFUIC7XzpZZg==} engines: {node: '>=16.0.0'} peerDependencies: - marked: '>=1 <12' + marked: '>=1 <14' - marked@9.1.6: - resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} - engines: {node: '>= 16'} + marked@12.0.2: + resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} + engines: {node: '>= 18'} hasBin: true matcher@3.0.0: @@ -4363,9 +4418,9 @@ packages: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} - meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} + meow@13.2.0: + resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} + engines: {node: '>=18'} meow@7.1.1: resolution: {integrity: sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==} @@ -4513,6 +4568,9 @@ packages: resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==} engines: {node: '>=0.8.0'} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nan@2.20.0: resolution: {integrity: sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==} @@ -4710,6 +4768,10 @@ packages: engines: {node: '>=18'} hasBin: true + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -4877,12 +4939,25 @@ packages: parse-link-header@2.0.0: resolution: {integrity: sha512-xjU87V0VyHZybn2RrCX5TIFGxTVZE6zqqZWMPlIKiSKuWh/X5WZdt+w1Ki1nXB+8L/KtL+nZ4iq+sfI6MrhhMw==} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse-path@7.0.0: resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} parse-url@8.1.0: resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + path-exists@3.0.0: resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} engines: {node: '>=4'} @@ -4977,6 +5052,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@9.0.0: + resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} + engines: {node: '>=18'} + proc-log@3.0.0: resolution: {integrity: sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -5065,10 +5144,9 @@ packages: resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - read-pkg-up@11.0.0: - resolution: {integrity: sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==} + read-package-up@11.0.0: + resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} engines: {node: '>=18'} - deprecated: Renamed to read-package-up read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -5097,9 +5175,6 @@ packages: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - redeyed@2.1.1: - resolution: {integrity: sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==} - redis@4.6.14: resolution: {integrity: sha512-GrNg/e33HtsQwNXL7kJT+iNFPSwE1IPmd7wzV3j4f2z0EYxZfZE7FVTmUysgAtqQQtg5NXF5SNLR9OdO/UHOfw==} @@ -5231,9 +5306,9 @@ packages: sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - semantic-release@22.0.12: - resolution: {integrity: sha512-0mhiCR/4sZb00RVFJIUlMuiBkW3NMpVIW2Gse7noqEMoFGkvfPPAImEQbkBV8xga4KOPP4FdTRYuLLy32R1fPw==} - engines: {node: ^18.17 || >=20.6.1} + semantic-release@24.0.0: + resolution: {integrity: sha512-v46CRPw+9eI3ZuYGF2oAjqPqsfbnfFTwLBgQsv/lch4goD09ytwOTESMN4QIrx/wPLxUGey60/NMx+ANQtWRsA==} + engines: {node: '>=20.8.1'} hasBin: true semver-compare@1.0.0: @@ -5396,10 +5471,6 @@ packages: split2@3.2.2: resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -5477,6 +5548,10 @@ packages: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} + strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} @@ -5492,6 +5567,10 @@ packages: strnum@1.0.5: resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + super-regex@1.0.0: + resolution: {integrity: sha512-CY8u7DtbvucKuquCmOFEKhr9Besln7n9uN8eFbwcoGYWXOMW07u2o8njWaiXt11ylS3qoGF55pILjRmPlbodyg==} + engines: {node: '>=18'} + supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -5539,13 +5618,16 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - text-extensions@2.4.0: - resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} - engines: {node: '>=8'} - text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + thingies@1.21.0: resolution: {integrity: sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==} engines: {node: '>=10.18'} @@ -5561,8 +5643,9 @@ packages: through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + time-span@5.1.0: + resolution: {integrity: sha512-75voc/9G4rDIJleOo4jPvN4/YC4GRZrY8yy1uU4lwrB3XEQbWve8zXoO5No4eFrGcTAMYyoY67p8jRQdtA1HbA==} + engines: {node: '>=12'} tinylogic@2.0.0: resolution: {integrity: sha512-dljTkiLLITtsjqBvTA1MRZQK/sGP4kI3UJKc3yA9fMzYbMF2RhcN04SeROVqJBIYYOoJMM8u0WDnhFwMSFQotw==} @@ -5832,6 +5915,9 @@ packages: universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} + universal-user-agent@7.0.2: + resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -5999,6 +6085,10 @@ packages: resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} engines: {node: '>=8'} + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} @@ -6014,6 +6104,10 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} + yoctocolors@2.1.0: + resolution: {integrity: sha512-FsQpXXeOEe05tcJN4Z2eicuC6+6KiJdBbPOAChanSkwwjZ277XGsh8wh/HaPuGeifTiw/7dgAzabitu2bnDvRg==} + engines: {node: '>=18'} + zod@3.23.8: resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} @@ -7348,6 +7442,8 @@ snapshots: '@octokit/auth-token@4.0.0': {} + '@octokit/auth-token@5.1.1': {} + '@octokit/core@5.2.0': dependencies: '@octokit/auth-token': 4.0.0 @@ -7358,6 +7454,21 @@ snapshots: before-after-hook: 2.2.3 universal-user-agent: 6.0.1 + '@octokit/core@6.1.2': + dependencies: + '@octokit/auth-token': 5.1.1 + '@octokit/graphql': 8.1.1 + '@octokit/request': 9.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + before-after-hook: 3.0.2 + universal-user-agent: 7.0.2 + + '@octokit/endpoint@10.1.1': + dependencies: + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + '@octokit/endpoint@9.0.5': dependencies: '@octokit/types': 13.5.0 @@ -7369,19 +7480,23 @@ snapshots: '@octokit/types': 13.5.0 universal-user-agent: 6.0.1 - '@octokit/openapi-types@20.0.0': {} + '@octokit/graphql@8.1.1': + dependencies: + '@octokit/request': 9.1.1 + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 '@octokit/openapi-types@22.2.0': {} - '@octokit/plugin-paginate-rest@11.3.1(@octokit/core@5.2.0)': + '@octokit/plugin-paginate-rest@11.3.0(@octokit/core@6.1.2)': dependencies: - '@octokit/core': 5.2.0 + '@octokit/core': 6.1.2 '@octokit/types': 13.5.0 - '@octokit/plugin-paginate-rest@9.2.1(@octokit/core@5.2.0)': + '@octokit/plugin-paginate-rest@11.3.1(@octokit/core@5.2.0)': dependencies: '@octokit/core': 5.2.0 - '@octokit/types': 12.6.0 + '@octokit/types': 13.5.0 '@octokit/plugin-request-log@4.0.1(@octokit/core@5.2.0)': dependencies: @@ -7392,17 +7507,17 @@ snapshots: '@octokit/core': 5.2.0 '@octokit/types': 13.5.0 - '@octokit/plugin-retry@6.0.1(@octokit/core@5.2.0)': + '@octokit/plugin-retry@7.1.1(@octokit/core@6.1.2)': dependencies: - '@octokit/core': 5.2.0 - '@octokit/request-error': 5.1.0 - '@octokit/types': 12.6.0 + '@octokit/core': 6.1.2 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 bottleneck: 2.19.5 - '@octokit/plugin-throttling@8.2.0(@octokit/core@5.2.0)': + '@octokit/plugin-throttling@9.3.0(@octokit/core@6.1.2)': dependencies: - '@octokit/core': 5.2.0 - '@octokit/types': 12.6.0 + '@octokit/core': 6.1.2 + '@octokit/types': 13.5.0 bottleneck: 2.19.5 '@octokit/request-error@5.1.0': @@ -7411,6 +7526,10 @@ snapshots: deprecation: 2.3.1 once: 1.4.0 + '@octokit/request-error@6.1.1': + dependencies: + '@octokit/types': 13.5.0 + '@octokit/request@8.4.0': dependencies: '@octokit/endpoint': 9.0.5 @@ -7418,6 +7537,13 @@ snapshots: '@octokit/types': 13.5.0 universal-user-agent: 6.0.1 + '@octokit/request@9.1.1': + dependencies: + '@octokit/endpoint': 10.1.1 + '@octokit/request-error': 6.1.1 + '@octokit/types': 13.5.0 + universal-user-agent: 7.0.2 + '@octokit/rest@20.1.1': dependencies: '@octokit/core': 5.2.0 @@ -7425,10 +7551,6 @@ snapshots: '@octokit/plugin-request-log': 4.0.1(@octokit/core@5.2.0) '@octokit/plugin-rest-endpoint-methods': 13.2.2(@octokit/core@5.2.0) - '@octokit/types@12.6.0': - dependencies: - '@octokit/openapi-types': 20.0.0 - '@octokit/types@13.5.0': dependencies: '@octokit/openapi-types': 22.2.0 @@ -7716,16 +7838,19 @@ snapshots: localforage: 1.10.0 util: 0.12.5 - '@semantic-release/commit-analyzer@11.1.0(semantic-release@22.0.12(typescript@5.4.5))': + '@sec-ant/readable-stream@0.4.1': {} + + '@semantic-release/commit-analyzer@13.0.0(semantic-release@24.0.0(typescript@5.4.5))': dependencies: - conventional-changelog-angular: 7.0.0 - conventional-commits-filter: 4.0.0 - conventional-commits-parser: 5.0.0 + conventional-changelog-angular: 8.0.0 + conventional-changelog-writer: 8.0.0 + conventional-commits-filter: 5.0.0 + conventional-commits-parser: 6.0.0 debug: 4.3.5 import-from-esm: 1.3.4 lodash-es: 4.17.21 micromatch: 4.0.7 - semantic-release: 22.0.12(typescript@5.4.5) + semantic-release: 24.0.0(typescript@5.4.5) transitivePeerDependencies: - supports-color @@ -7733,7 +7858,7 @@ snapshots: '@semantic-release/error@4.0.0': {} - '@semantic-release/exec@6.0.3(semantic-release@22.0.12(typescript@5.4.5))': + '@semantic-release/exec@6.0.3(semantic-release@24.0.0(typescript@5.4.5))': dependencies: '@semantic-release/error': 3.0.0 aggregate-error: 3.1.0 @@ -7741,16 +7866,16 @@ snapshots: execa: 5.1.1 lodash: 4.17.21 parse-json: 5.2.0 - semantic-release: 22.0.12(typescript@5.4.5) + semantic-release: 24.0.0(typescript@5.4.5) transitivePeerDependencies: - supports-color - '@semantic-release/github@9.2.6(semantic-release@22.0.12(typescript@5.4.5))': + '@semantic-release/github@10.0.7(semantic-release@24.0.0(typescript@5.4.5))': dependencies: - '@octokit/core': 5.2.0 - '@octokit/plugin-paginate-rest': 9.2.1(@octokit/core@5.2.0) - '@octokit/plugin-retry': 6.0.1(@octokit/core@5.2.0) - '@octokit/plugin-throttling': 8.2.0(@octokit/core@5.2.0) + '@octokit/core': 6.1.2 + '@octokit/plugin-paginate-rest': 11.3.0(@octokit/core@6.1.2) + '@octokit/plugin-retry': 7.1.1(@octokit/core@6.1.2) + '@octokit/plugin-throttling': 9.3.0(@octokit/core@6.1.2) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 debug: 4.3.5 @@ -7758,20 +7883,20 @@ snapshots: globby: 14.0.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 - issue-parser: 6.0.0 + issue-parser: 7.0.1 lodash-es: 4.17.21 mime: 4.0.3 p-filter: 4.1.0 - semantic-release: 22.0.12(typescript@5.4.5) + semantic-release: 24.0.0(typescript@5.4.5) url-join: 5.0.0 transitivePeerDependencies: - supports-color - '@semantic-release/npm@11.0.3(semantic-release@22.0.12(typescript@5.4.5))': + '@semantic-release/npm@12.0.1(semantic-release@24.0.0(typescript@5.4.5))': dependencies: '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 - execa: 8.0.1 + execa: 9.3.0 fs-extra: 11.2.0 lodash-es: 4.17.21 nerf-dart: 1.0.0 @@ -7780,23 +7905,23 @@ snapshots: rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.0.2 - semantic-release: 22.0.12(typescript@5.4.5) + semantic-release: 24.0.0(typescript@5.4.5) semver: 7.6.2 tempy: 3.1.0 - '@semantic-release/release-notes-generator@12.1.0(semantic-release@22.0.12(typescript@5.4.5))': + '@semantic-release/release-notes-generator@14.0.1(semantic-release@24.0.0(typescript@5.4.5))': dependencies: - conventional-changelog-angular: 7.0.0 - conventional-changelog-writer: 7.0.1 - conventional-commits-filter: 4.0.0 - conventional-commits-parser: 5.0.0 + conventional-changelog-angular: 8.0.0 + conventional-changelog-writer: 8.0.0 + conventional-commits-filter: 5.0.0 + conventional-commits-parser: 6.0.0 debug: 4.3.5 get-stream: 7.0.1 import-from-esm: 1.3.4 into-stream: 7.0.0 lodash-es: 4.17.21 - read-pkg-up: 11.0.0 - semantic-release: 22.0.12(typescript@5.4.5) + read-package-up: 11.0.0 + semantic-release: 24.0.0(typescript@5.4.5) transitivePeerDependencies: - supports-color @@ -7806,6 +7931,8 @@ snapshots: '@sindresorhus/merge-streams@2.3.0': {} + '@sindresorhus/merge-streams@4.0.0': {} + '@sinonjs/commons@2.0.0': dependencies: type-detect: 4.0.8 @@ -8659,11 +8786,6 @@ snapshots: transitivePeerDependencies: - typanion - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - abbrev@2.0.0: optional: true @@ -8714,7 +8836,9 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-escapes@6.2.1: {} + ansi-escapes@7.0.0: + dependencies: + environment: 1.1.0 ansi-regex@5.0.1: {} @@ -8732,7 +8856,7 @@ snapshots: ansi-styles@6.2.1: {} - ansicolors@0.3.2: {} + any-promise@1.3.0: {} anymatch@3.1.3: dependencies: @@ -8898,6 +9022,8 @@ snapshots: before-after-hook@2.2.3: {} + before-after-hook@3.0.2: {} + better-sqlite3@11.0.0: dependencies: bindings: 1.5.0 @@ -9038,11 +9164,6 @@ snapshots: caniuse-lite@1.0.30001636: {} - cardinal@2.1.1: - dependencies: - ansicolors: 0.3.2 - redeyed: 2.1.1 - chalk@2.4.2: dependencies: ansi-styles: 3.2.1 @@ -9088,6 +9209,15 @@ snapshots: dependencies: escape-string-regexp: 5.0.0 + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + cli-table3@0.6.5: dependencies: string-width: 4.2.3 @@ -9104,6 +9234,12 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + cliui@8.0.1: dependencies: string-width: 4.2.3 @@ -9152,7 +9288,7 @@ snapshots: ini: 1.3.8 proto-list: 1.2.4 - conventional-changelog-angular@7.0.0: + conventional-changelog-angular@8.0.0: dependencies: compare-func: 2.0.0 @@ -9160,14 +9296,13 @@ snapshots: dependencies: compare-func: 2.0.0 - conventional-changelog-writer@7.0.1: + conventional-changelog-writer@8.0.0: dependencies: - conventional-commits-filter: 4.0.0 + '@types/semver': 7.5.8 + conventional-commits-filter: 5.0.0 handlebars: 4.7.8 - json-stringify-safe: 5.0.1 - meow: 12.1.1 + meow: 13.2.0 semver: 7.6.2 - split2: 4.2.0 conventional-commits-detector@1.0.3: dependencies: @@ -9176,14 +9311,13 @@ snapshots: meow: 7.1.1 through2-concurrent: 2.0.0 - conventional-commits-filter@4.0.0: {} + conventional-commits-filter@5.0.0: {} - conventional-commits-parser@5.0.0: + conventional-commits-parser@6.0.0: dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 + meow: 13.2.0 + + convert-hrtime@5.0.0: {} convert-source-map@1.9.0: {} @@ -9193,12 +9327,12 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig@8.3.6(typescript@5.4.5): + cosmiconfig@9.0.0(typescript@5.4.5): dependencies: + env-paths: 2.2.1 import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 - path-type: 4.0.0 optionalDependencies: typescript: 5.4.5 @@ -9444,13 +9578,14 @@ snapshots: entities@4.5.0: {} - env-ci@10.0.0: + env-ci@11.0.0: dependencies: execa: 8.0.1 java-properties: 1.0.2 - env-paths@2.2.1: - optional: true + env-paths@2.2.1: {} + + environment@1.1.0: {} err-code@2.0.3: optional: true @@ -9764,6 +9899,21 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 + execa@9.3.0: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.3 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 7.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 5.3.0 + pretty-ms: 9.0.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.1.0 + exit@0.1.2: {} expand-template@2.0.3: @@ -9879,9 +10029,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-versions@5.1.0: + find-versions@6.0.0: dependencies: semver-regex: 4.0.5 + super-regex: 1.0.0 flat-cache@3.2.0: dependencies: @@ -9936,6 +10087,8 @@ snapshots: function-bind@1.1.2: {} + function-timeout@1.0.2: {} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.7 @@ -9990,6 +10143,11 @@ snapshots: get-stream@8.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 @@ -10201,6 +10359,8 @@ snapshots: he@1.2.0: {} + highlight.js@10.7.3: {} + hook-std@3.0.0: {} hosted-git-info@2.8.9: {} @@ -10240,6 +10400,8 @@ snapshots: human-signals@5.0.0: {} + human-signals@7.0.0: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -10422,6 +10584,8 @@ snapshots: is-plain-obj@2.1.0: {} + is-plain-obj@4.1.0: {} + is-regex@1.1.4: dependencies: call-bind: 1.0.7 @@ -10441,6 +10605,8 @@ snapshots: is-stream@3.0.0: {} + is-stream@4.0.1: {} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 @@ -10449,10 +10615,6 @@ snapshots: dependencies: has-symbols: 1.0.3 - is-text-path@2.0.0: - dependencies: - text-extensions: 2.4.0 - is-typed-array@1.1.13: dependencies: which-typed-array: 1.1.15 @@ -10483,7 +10645,7 @@ snapshots: isexe@3.1.1: optional: true - issue-parser@6.0.0: + issue-parser@7.0.1: dependencies: lodash.capitalize: 4.2.1 lodash.escaperegexp: 4.1.2 @@ -10940,8 +11102,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsonparse@1.3.1: {} - just-extend@6.2.0: {} jwa@2.0.0: @@ -11125,17 +11285,17 @@ snapshots: markdown-it: 14.1.0 markdownlint-micromark: 0.1.9 - marked-terminal@6.2.0(marked@9.1.6): + marked-terminal@7.1.0(marked@12.0.2): dependencies: - ansi-escapes: 6.2.1 - cardinal: 2.1.1 + ansi-escapes: 7.0.0 chalk: 5.3.0 + cli-highlight: 2.1.11 cli-table3: 0.6.5 - marked: 9.1.6 + marked: 12.0.2 node-emoji: 2.1.3 supports-hyperlinks: 3.0.0 - marked@9.1.6: {} + marked@12.0.2: {} matcher@3.0.0: dependencies: @@ -11181,7 +11341,7 @@ snapshots: memorystream@0.3.1: {} - meow@12.1.1: {} + meow@13.2.0: {} meow@7.1.1: dependencies: @@ -11340,6 +11500,12 @@ snapshots: rimraf: 2.4.5 optional: true + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nan@2.20.0: optional: true @@ -11513,6 +11679,8 @@ snapshots: transitivePeerDependencies: - supports-color + object-assign@4.1.1: {} + object-inspect@1.13.1: {} object-is@1.1.6: @@ -11691,6 +11859,8 @@ snapshots: dependencies: xtend: 4.0.2 + parse-ms@4.0.0: {} + parse-path@7.0.0: dependencies: protocols: 2.0.1 @@ -11699,6 +11869,14 @@ snapshots: dependencies: parse-path: 7.0.0 + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5@5.1.1: {} + + parse5@6.0.1: {} + path-exists@3.0.0: {} path-exists@4.0.0: {} @@ -11776,6 +11954,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@9.0.0: + dependencies: + parse-ms: 4.0.0 + proc-log@3.0.0: optional: true @@ -11868,7 +12050,7 @@ snapshots: json-parse-even-better-errors: 3.0.2 npm-normalize-package-bin: 3.0.1 - read-pkg-up@11.0.0: + read-package-up@11.0.0: dependencies: find-up-simple: 1.0.0 read-pkg: 9.0.1 @@ -11921,10 +12103,6 @@ snapshots: indent-string: 4.0.0 strip-indent: 3.0.0 - redeyed@2.1.1: - dependencies: - esprima: 4.0.1 - redis@4.6.14: dependencies: '@redis/bloom': 1.2.0(@redis/client@1.5.16) @@ -12071,32 +12249,32 @@ snapshots: sax@1.4.1: {} - semantic-release@22.0.12(typescript@5.4.5): + semantic-release@24.0.0(typescript@5.4.5): dependencies: - '@semantic-release/commit-analyzer': 11.1.0(semantic-release@22.0.12(typescript@5.4.5)) + '@semantic-release/commit-analyzer': 13.0.0(semantic-release@24.0.0(typescript@5.4.5)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 9.2.6(semantic-release@22.0.12(typescript@5.4.5)) - '@semantic-release/npm': 11.0.3(semantic-release@22.0.12(typescript@5.4.5)) - '@semantic-release/release-notes-generator': 12.1.0(semantic-release@22.0.12(typescript@5.4.5)) + '@semantic-release/github': 10.0.7(semantic-release@24.0.0(typescript@5.4.5)) + '@semantic-release/npm': 12.0.1(semantic-release@24.0.0(typescript@5.4.5)) + '@semantic-release/release-notes-generator': 14.0.1(semantic-release@24.0.0(typescript@5.4.5)) aggregate-error: 5.0.0 - cosmiconfig: 8.3.6(typescript@5.4.5) + cosmiconfig: 9.0.0(typescript@5.4.5) debug: 4.3.5 - env-ci: 10.0.0 - execa: 8.0.1 + env-ci: 11.0.0 + execa: 9.3.0 figures: 6.1.0 - find-versions: 5.1.0 + find-versions: 6.0.0 get-stream: 6.0.1 git-log-parser: 1.2.0 hook-std: 3.0.0 hosted-git-info: 7.0.2 import-from-esm: 1.3.4 lodash-es: 4.17.21 - marked: 9.1.6 - marked-terminal: 6.2.0(marked@9.1.6) + marked: 12.0.2 + marked-terminal: 7.1.0(marked@12.0.2) micromatch: 4.0.7 p-each-series: 3.0.0 p-reduce: 3.0.0 - read-pkg-up: 11.0.0 + read-package-up: 11.0.0 resolve-from: 5.0.0 semver: 7.6.2 semver-diff: 4.0.0 @@ -12283,8 +12461,6 @@ snapshots: dependencies: readable-stream: 3.6.2 - split2@4.2.0: {} - sprintf-js@1.0.3: {} sprintf-js@1.1.3: {} @@ -12368,6 +12544,8 @@ snapshots: strip-final-newline@3.0.0: {} + strip-final-newline@4.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -12378,6 +12556,11 @@ snapshots: strnum@1.0.5: {} + super-regex@1.0.0: + dependencies: + function-timeout: 1.0.2 + time-span: 5.1.0 + supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -12440,10 +12623,16 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - text-extensions@2.4.0: {} - text-table@0.2.0: {} + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + thingies@1.21.0(tslib@2.6.3): dependencies: tslib: 2.6.3 @@ -12461,7 +12650,9 @@ snapshots: dependencies: readable-stream: 3.6.2 - through@2.3.8: {} + time-span@5.1.0: + dependencies: + convert-hrtime: 5.0.0 tinylogic@2.0.0: {} @@ -12724,6 +12915,8 @@ snapshots: universal-user-agent@6.0.1: {} + universal-user-agent@7.0.2: {} + universalify@2.0.1: {} upath@2.0.1: {} @@ -12913,6 +13106,16 @@ snapshots: y18n: 4.0.3 yargs-parser: 18.1.3 + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + yargs@17.7.2: dependencies: cliui: 8.0.1 @@ -12932,6 +13135,8 @@ snapshots: yocto-queue@0.1.0: {} + yoctocolors@2.1.0: {} + zod@3.23.8: {} zwitch@1.0.5: {} From 0a7ce18f4bb437b25410e7115bd785422a6bec6e Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Tue, 2 Jul 2024 01:47:39 -0300 Subject: [PATCH 20/56] test(pipenv): Rewrite test mocks (#29734) Co-authored-by: Michael Kriese --- lib/modules/manager/pipenv/artifacts.spec.ts | 454 ++++++++++++++----- 1 file changed, 331 insertions(+), 123 deletions(-) diff --git a/lib/modules/manager/pipenv/artifacts.spec.ts b/lib/modules/manager/pipenv/artifacts.spec.ts index a3975ef6c31603..d509a94b7d8574 100644 --- a/lib/modules/manager/pipenv/artifacts.spec.ts +++ b/lib/modules/manager/pipenv/artifacts.spec.ts @@ -1,10 +1,10 @@ +import * as _fsExtra from 'fs-extra'; import { mockDeep } from 'jest-mock-extended'; import { join } from 'upath'; import { envMock, mockExecAll } from '../../../../test/exec-util'; import { Fixtures } from '../../../../test/fixtures'; import { env, - fs, git, mocked, mockedFunction, @@ -30,9 +30,11 @@ import { updateArtifacts } from '.'; const datasource = mocked(_datasource); const find = mockedFunction(_find); +jest.mock('fs-extra'); +const fsExtra = mocked(_fsExtra); + jest.mock('../../../util/exec/env'); jest.mock('../../../util/git'); -jest.mock('../../../util/fs'); jest.mock('../../../util/host-rules', () => mockDeep()); jest.mock('../../../util/http'); jest.mock('../../datasource', () => mockDeep()); @@ -41,9 +43,9 @@ process.env.CONTAINERBASE = 'true'; const adminConfig: RepoGlobalConfig = { // `join` fixes Windows CI - localDir: join('/tmp/github/some/repo'), - cacheDir: join('/tmp/renovate/cache'), - containerbaseDir: join('/tmp/renovate/cache/containerbase'), + localDir: join(join('/tmp/github/some/repo')), + cacheDir: join(join('/tmp/renovate/cache')), + containerbaseDir: join(join('/tmp/renovate/cache/containerbase')), }; const dockerAdminConfig = { ...adminConfig, @@ -53,13 +55,34 @@ const dockerAdminConfig = { const config: UpdateArtifactsConfig = {}; const lockMaintenanceConfig = { ...config, isLockFileMaintenance: true }; -const pipenvCacheDir = '/tmp/renovate/cache/others/pipenv'; -const pipCacheDir = '/tmp/renovate/cache/others/pip'; -const virtualenvsCacheDir = '/tmp/renovate/cache/others/virtualenvs'; +const pipenvCacheDir = join('/tmp/renovate/cache/others/pipenv'); +const pipCacheDir = join('/tmp/renovate/cache/others/pip'); +const virtualenvsCacheDir = join('/tmp/renovate/cache/others/virtualenvs'); + +interface MockFiles { + [key: string]: string | string[]; +} + +function mockFiles(mockFiles: MockFiles): void { + fsExtra.readFile.mockImplementation(((name: string) => { + for (const [key, value] of Object.entries(mockFiles)) { + if (name.endsWith(key)) { + if (!Array.isArray(value)) { + return value; + } + + if (value.length > 1) { + return value.shift(); + } + + return value[0]; + } + } + throw new Error('File not found'); + }) as never); +} describe('modules/manager/pipenv/artifacts', () => { - let pipFileLock: PipfileLockSchema; - beforeEach(() => { env.getChildProcessEnv.mockReturnValue({ ...envMock.basic, @@ -69,11 +92,6 @@ describe('modules/manager/pipenv/artifacts', () => { GlobalConfig.set(adminConfig); docker.resetPrefetchedImages(); - pipFileLock = { - _meta: { requires: {} }, - default: { pipenv: {} }, - develop: { pipenv: {} }, - }; // python datasource.getPkgReleases.mockResolvedValueOnce({ @@ -109,12 +127,16 @@ describe('modules/manager/pipenv/artifacts', () => { }); it('returns null if unchanged', async () => { - pipFileLock._meta!.requires!.python_full_version = '3.7.6'; - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': JSON.stringify({ + _meta: { + requires: { python_full_version: '3.7.6' }, + }, + } satisfies PipfileLockSchema), + }); const execSnapshots = mockExecAll(); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); expect( await updateArtifacts({ @@ -129,23 +151,38 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, }, }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('gets python full version from Pipfile', async () => { GlobalConfig.set({ ...adminConfig, binarySource: 'install' }); - pipFileLock._meta!.requires!.python_full_version = '3.7.6'; - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + mockFiles({ + '/Pipfile.lock': JSON.stringify({ + _meta: { + requires: { python_full_version: '3.7.6' }, + }, + } satisfies PipfileLockSchema), + }); + + fsExtra.ensureDir.mockResolvedValue(undefined as never); + const execSnapshots = mockExecAll(); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); expect( await updateArtifacts({ @@ -162,23 +199,38 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, }, }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('gets python version from Pipfile', async () => { GlobalConfig.set({ ...adminConfig, binarySource: 'install' }); - pipFileLock._meta!.requires!.python_full_version = '3.7.6'; - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + mockFiles({ + '/Pipfile.lock': JSON.stringify({ + _meta: { + requires: { python_full_version: '3.7.6' }, + }, + } satisfies PipfileLockSchema), + }); + + fsExtra.ensureDir.mockResolvedValue(undefined as never); + const execSnapshots = mockExecAll(); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); expect( await updateArtifacts({ @@ -195,23 +247,35 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, }, }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('gets full python version from .python-version', async () => { GlobalConfig.set({ ...adminConfig, binarySource: 'install' }); - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + mockFiles({ + '/Pipfile.lock': '{}', + '/.python-version': '3.7.6', + }); + + fsExtra.ensureDir.mockResolvedValue(undefined as never); + const execSnapshots = mockExecAll(); - fs.getSiblingFileName.mockResolvedValueOnce('.python-version' as never); - fs.readLocalFile.mockResolvedValueOnce('3.7.6'); expect( await updateArtifacts({ @@ -228,23 +292,35 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, }, }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/.python-version')), 'utf8'], + ]); }); it('gets python stream, from .python-version', async () => { GlobalConfig.set({ ...adminConfig, binarySource: 'install' }); - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': '{}', + '/.python-version': '3.8', + }); const execSnapshots = mockExecAll(); - fs.getSiblingFileName.mockResolvedValueOnce('.python-version' as never); - fs.readLocalFile.mockResolvedValueOnce('3.8'); expect( await updateArtifacts({ @@ -261,22 +337,33 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, }, }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/.python-version')), 'utf8'], + ]); }); it('handles no constraint', async () => { - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce('unparseable pipfile lock'); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': 'unparseable pipfile lock', + }); + const execSnapshots = mockExecAll(); - fs.readLocalFile.mockResolvedValueOnce('unparseable pipfile lock'); expect( await updateArtifacts({ @@ -291,7 +378,7 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, PIP_CACHE_DIR: pipCacheDir, @@ -300,20 +387,29 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('returns updated Pipfile.lock', async () => { - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce('current pipfile.lock'); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': ['current pipfile.lock', 'new pipfile.lock'], + }); const execSnapshots = mockExecAll(); git.getRepoStatus.mockResolvedValue( partial({ modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('New Pipfile.lock'); expect( await updateArtifacts({ @@ -322,13 +418,21 @@ describe('modules/manager/pipenv/artifacts', () => { newPackageFileContent: 'some new content', config: { ...config, constraints: { python: '== 3.8.*' } }, }), - ).not.toBeNull(); + ).toEqual([ + { + file: { + contents: 'new pipfile.lock', + path: 'Pipfile.lock', + type: 'addition', + }, + }, + ]); expect(execSnapshots).toMatchObject([ { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, PIP_CACHE_DIR: pipCacheDir, @@ -337,15 +441,30 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('supports docker mode', async () => { GlobalConfig.set(dockerAdminConfig); - pipFileLock._meta!.requires!.python_version = '3.7'; - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + const pipFileLock = JSON.stringify({ + _meta: { requires: { python_version: '3.7' } }, + } satisfies PipfileLockSchema); + mockFiles({ + '/Pipfile.lock': [pipFileLock, 'new lock'], + }); + + fsExtra.ensureDir.mockResolvedValue(undefined as never); + // pipenv datasource.getPkgReleases.mockResolvedValueOnce({ releases: [{ version: '2023.1.2' }], @@ -356,7 +475,6 @@ describe('modules/manager/pipenv/artifacts', () => { modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('new lock'); expect( await updateArtifacts({ @@ -389,7 +507,7 @@ describe('modules/manager/pipenv/artifacts', () => { 'pipenv lock' + '"', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, PIP_CACHE_DIR: pipCacheDir, @@ -398,15 +516,30 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('supports install mode', async () => { GlobalConfig.set({ ...adminConfig, binarySource: 'install' }); - pipFileLock._meta!.requires!.python_version = '3.6'; - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + const pipFileLock = JSON.stringify({ + _meta: { requires: { python_version: '3.6' } }, + } satisfies PipfileLockSchema); + mockFiles({ + '/Pipfile.lock': [pipFileLock, 'new lock'], + }); + + fsExtra.ensureDir.mockResolvedValue(undefined as never); + // pipenv datasource.getPkgReleases.mockResolvedValueOnce({ releases: [{ version: '2023.1.2' }], @@ -417,7 +550,6 @@ describe('modules/manager/pipenv/artifacts', () => { modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('new lock'); expect( await updateArtifacts({ @@ -434,7 +566,7 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, PIP_CACHE_DIR: pipCacheDir, @@ -443,14 +575,26 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('defaults to latest if no lock constraints', async () => { GlobalConfig.set({ ...adminConfig, binarySource: 'install' }); - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': ['{}', 'new lock'], + }); + // pipenv datasource.getPkgReleases.mockResolvedValueOnce({ releases: [{ version: '2023.1.2' }], @@ -461,7 +605,6 @@ describe('modules/manager/pipenv/artifacts', () => { modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('new lock'); expect( await updateArtifacts({ @@ -478,7 +621,7 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, PIP_CACHE_DIR: pipCacheDir, @@ -487,17 +630,30 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/.python-version')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('catches errors', async () => { - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce('Current Pipfile.lock'); - fs.writeLocalFile.mockImplementationOnce(() => { - throw new Error('not found'); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': 'Current Pipfile.lock', }); + fsExtra.outputFile.mockImplementationOnce((() => { + throw new Error('not found'); + }) as never); + expect( await updateArtifacts({ packageFileName: 'Pipfile', @@ -508,20 +664,26 @@ describe('modules/manager/pipenv/artifacts', () => { ).toEqual([ { artifactError: { lockFile: 'Pipfile.lock', stderr: 'not found' } }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('returns updated Pipenv.lock when doing lockfile maintenance', async () => { - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce('Current Pipfile.lock'); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': ['Current Pipfile.lock', 'New Pipfile.lock'], + }); + const execSnapshots = mockExecAll(); git.getRepoStatus.mockResolvedValue( partial({ modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('New Pipfile.lock'); expect( await updateArtifacts({ @@ -536,7 +698,7 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, PIP_CACHE_DIR: pipCacheDir, @@ -548,19 +710,23 @@ describe('modules/manager/pipenv/artifacts', () => { }); it('uses pipenv version from Pipfile', async () => { - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + GlobalConfig.set(dockerAdminConfig); - pipFileLock.default!['pipenv'].version = '==2020.8.13'; - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + const oldLock = JSON.stringify({ + default: { pipenv: { version: '==2020.8.13' } }, + } satisfies PipfileLockSchema); + mockFiles({ + '/Pipfile.lock': [oldLock, 'new lock'], + }); + const execSnapshots = mockExecAll(); git.getRepoStatus.mockResolvedValue( partial({ modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('new lock'); expect( await updateArtifacts({ @@ -593,7 +759,7 @@ describe('modules/manager/pipenv/artifacts', () => { 'pipenv lock' + '"', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, WORKON_HOME: virtualenvsCacheDir, @@ -601,22 +767,37 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/.python-version')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('uses pipenv version from Pipfile dev packages', async () => { GlobalConfig.set(dockerAdminConfig); - pipFileLock.develop!['pipenv'].version = '==2020.8.13'; - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + const oldLock = JSON.stringify({ + develop: { pipenv: { version: '==2020.8.13' } }, + } satisfies PipfileLockSchema) as never; + mockFiles({ + '/Pipfile.lock': [oldLock, 'new lock'], + }); + const execSnapshots = mockExecAll(); git.getRepoStatus.mockResolvedValue( partial({ modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('new lock'); expect( await updateArtifacts({ @@ -649,7 +830,7 @@ describe('modules/manager/pipenv/artifacts', () => { 'pipenv lock' + '"', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, WORKON_HOME: virtualenvsCacheDir, @@ -657,22 +838,36 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/.python-version')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('uses pipenv version from config', async () => { GlobalConfig.set(dockerAdminConfig); - pipFileLock.default!['pipenv'].version = '==2020.8.13'; - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce(JSON.stringify(pipFileLock)); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + const oldLock = JSON.stringify({ + default: { pipenv: { version: '==2020.8.13' } }, + } satisfies PipfileLockSchema) as never; + mockFiles({ + '/Pipfile.lock': [oldLock, 'new lock'], + }); + const execSnapshots = mockExecAll(); git.getRepoStatus.mockResolvedValue( partial({ modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('new lock'); expect( await updateArtifacts({ @@ -705,7 +900,7 @@ describe('modules/manager/pipenv/artifacts', () => { 'pipenv lock' + '"', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, WORKON_HOME: virtualenvsCacheDir, @@ -713,20 +908,32 @@ describe('modules/manager/pipenv/artifacts', () => { }, }, ]); + + expect(fsExtra.ensureDir.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/renovate/cache/others/pipenv'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/pip'))], + [expect.toEndWith(join('/tmp/renovate/cache/others/virtualenvs'))], + ]); + expect(fsExtra.readFile.mock.calls).toEqual([ + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/.python-version')), 'utf8'], + [expect.toEndWith(join('/tmp/github/some/repo/Pipfile.lock')), 'utf8'], + ]); }); it('passes private credential environment vars', async () => { - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce('current pipfile.lock'); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': ['current Pipfile.lock', 'New Pipfile.lock'], + }); + const execSnapshots = mockExecAll(); git.getRepoStatus.mockResolvedValue( partial({ modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('New Pipfile.lock'); find.mockReturnValueOnce({ username: 'usernameOne', @@ -754,7 +961,7 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, WORKON_HOME: virtualenvsCacheDir, @@ -791,17 +998,18 @@ describe('modules/manager/pipenv/artifacts', () => { }); it('updates extraEnv if variable names differ from default', async () => { - fs.ensureCacheDir.mockResolvedValueOnce(pipenvCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(pipCacheDir); - fs.ensureCacheDir.mockResolvedValueOnce(virtualenvsCacheDir); - fs.readLocalFile.mockResolvedValueOnce('current pipfile.lock'); + fsExtra.ensureDir.mockResolvedValue(undefined as never); + + mockFiles({ + '/Pipfile.lock': ['current Pipfile.lock', 'New Pipfile.lock'], + }); + const execSnapshots = mockExecAll(); git.getRepoStatus.mockResolvedValue( partial({ modified: ['Pipfile.lock'], }), ); - fs.readLocalFile.mockResolvedValueOnce('New Pipfile.lock'); find.mockReturnValueOnce({ username: 'usernameOne', @@ -829,7 +1037,7 @@ describe('modules/manager/pipenv/artifacts', () => { { cmd: 'pipenv lock', options: { - cwd: '/tmp/github/some/repo', + cwd: join('/tmp/github/some/repo'), env: { PIPENV_CACHE_DIR: pipenvCacheDir, WORKON_HOME: virtualenvsCacheDir, From 7868301dee0db279c0401483f2fe98b6fa1ed091 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Tue, 2 Jul 2024 01:48:09 -0300 Subject: [PATCH 21/56] refactor: Revert compress utils deprecation (#29977) --- lib/util/compress.ts | 6 ------ 1 file changed, 6 deletions(-) diff --git a/lib/util/compress.ts b/lib/util/compress.ts index fc3a0e8bbce193..03ecd7ec10988c 100644 --- a/lib/util/compress.ts +++ b/lib/util/compress.ts @@ -4,9 +4,6 @@ import zlib, { constants } from 'node:zlib'; const brotliCompress = promisify(zlib.brotliCompress); const brotliDecompress = promisify(zlib.brotliDecompress); -/** - * @deprecated - */ export async function compressToBase64(input: string): Promise { const buf = await brotliCompress(input, { params: { @@ -17,9 +14,6 @@ export async function compressToBase64(input: string): Promise { return buf.toString('base64'); } -/** - * @deprecated - */ export async function decompressFromBase64(input: string): Promise { const buf = Buffer.from(input, 'base64'); const str = await brotliDecompress(buf); From 622c604610d69230efa592a92d91cd9caa282863 Mon Sep 17 00:00:00 2001 From: Rhys Arkins Date: Tue, 2 Jul 2024 07:59:38 +0200 Subject: [PATCH 22/56] fix(lookup): better warn logs for unexpected downgrade (#29978) --- lib/workers/repository/process/lookup/index.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index d2cc1510f2a817..0b97f426e5f4ed 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -460,7 +460,15 @@ export async function lookupUpdates( versioning.isGreaterThan(compareValue, update.newValue) ) { logger.warn( - { update, allVersions, filteredReleases }, + { + packageName: config.packageName, + currentValue: config.currentValue, + compareValue, + currentVersion: config.currentVersion, + update, + allVersionsLength: allVersions.length, + filteredReleaseVersions: filteredReleases.map((r) => r.version), + }, 'Unexpected downgrade detected: skipping', ); } else { From c7a52d7b86032f19adc26415b940c8e877732325 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 09:00:41 +0000 Subject: [PATCH 23/56] fix(deps): update ghcr.io/renovatebot/base-image docker tag to v2.23.2 (#29981) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 0574f2e4dc9515..fc85a788c0baad 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -3,12 +3,12 @@ ARG BASE_IMAGE_TYPE=slim # -------------------------------------- # slim image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.23.1@sha256:ba75ae8e5609d3d0803a4d555f44b5dbe55b4340a8e238ff4af18d742f529c7b AS slim-base +FROM ghcr.io/renovatebot/base-image:2.23.2@sha256:bb87563850163904df812354ba4562d60b6613a169305c5a65d2a2e12dcdb5db AS slim-base # -------------------------------------- # full image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.23.1-full@sha256:772da65d627fd3a54bb37ec2669bf98a4801cb94d7d402cb8d272cdb0ecc85c8 AS full-base +FROM ghcr.io/renovatebot/base-image:2.23.2-full@sha256:84b5acd7ae866c02495b71970b39615e73c6d6e36f757fd69607f9224d923494 AS full-base # -------------------------------------- # build image From 161bc2832a330a87129e3388d64730463122296a Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Tue, 2 Jul 2024 12:45:01 +0200 Subject: [PATCH 24/56] fix(bunyan): drop optional deps (#29982) --- package.json | 4 +-- pnpm-lock.yaml | 89 ++++---------------------------------------------- 2 files changed, 8 insertions(+), 85 deletions(-) diff --git a/package.json b/package.json index 67d3246f6ebe1c..6763a6e05417cd 100644 --- a/package.json +++ b/package.json @@ -353,9 +353,7 @@ "renovate-schema.json" ], "pnpm": { - "neverBuiltDependencies": [ - "dtrace-provider" - ], + "ignoredOptionalDependencies": ["dtrace-provider", "moment", "mv", "safe-json-stringify"], "overrides": { "@semantic-release/github>@octokit/plugin-paginate-rest": "11.3.0", "@types/linkify-it": "<5.0.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cb775e14dfafb6..a0fb01e1e4b05e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1042,7 +1042,6 @@ packages: '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -1050,7 +1049,6 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead '@hyrious/marshal@0.3.3': resolution: {integrity: sha512-Sprz5CmX+V5MEbgOfXB0iqJS2i703RsV2cXSKC3++Y+4EeUvZPJlv0tgvoBRNT7mvb6aUu7UeOzfiowXlAOmew==} @@ -2957,10 +2955,6 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dtrace-provider@0.8.8: - resolution: {integrity: sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg==} - engines: {node: '>=0.10'} - duplexer2@0.1.4: resolution: {integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==} @@ -3485,13 +3479,8 @@ packages: engines: {node: '>=16 || 14 >=14.18'} hasBin: true - glob@6.0.4: - resolution: {integrity: sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A==} - deprecated: Glob versions prior to v9 are no longer supported - glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Glob versions prior to v9 are no longer supported global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} @@ -3728,7 +3717,6 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4537,10 +4525,6 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -4549,9 +4533,6 @@ packages: module-details-from-path@1.0.3: resolution: {integrity: sha512-ySViT69/76t8VhE1xXHK6Ch4NcDd26gx0MzKXLO+F7NOtnqH68d9zF94nT8ZWSxXh8ELOERsnJO/sWt1xZYw5A==} - moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - moo@0.5.2: resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} @@ -4564,10 +4545,6 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - mv@2.1.1: - resolution: {integrity: sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg==} - engines: {node: '>=0.8.0'} - mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -4585,10 +4562,6 @@ packages: natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - ncp@2.0.0: - resolution: {integrity: sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA==} - hasBin: true - negotiator@0.6.3: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} engines: {node: '>= 0.6'} @@ -5257,14 +5230,8 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@2.4.5: - resolution: {integrity: sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@5.0.7: @@ -5289,9 +5256,6 @@ packages: safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-json-stringify@1.2.0: - resolution: {integrity: sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg==} - safe-regex-test@1.0.3: resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} engines: {node: '>= 0.4'} @@ -6114,6 +6078,12 @@ packages: zwitch@1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} +ignoredOptionalDependencies: + - dtrace-provider + - moment + - mv + - safe-json-stringify + snapshots: '@ampproject/remapping@2.3.0': @@ -9097,12 +9067,7 @@ snapshots: ieee754: 1.2.1 optional: true - bunyan@1.8.15: - optionalDependencies: - dtrace-provider: 0.8.8 - moment: 2.30.1 - mv: 2.1.1 - safe-json-stringify: 1.2.0 + bunyan@1.8.15: {} bzip-deflate@1.0.0: {} @@ -9518,11 +9483,6 @@ snapshots: dotenv@16.4.5: {} - dtrace-provider@0.8.8: - dependencies: - nan: 2.20.0 - optional: true - duplexer2@0.1.4: dependencies: readable-stream: 2.3.8 @@ -10206,15 +10166,6 @@ snapshots: package-json-from-dist: 1.0.0 path-scurry: 1.11.1 - glob@6.0.4: - dependencies: - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - optional: true - glob@7.2.3: dependencies: fs.realpath: 1.0.0 @@ -11471,18 +11422,10 @@ snapshots: mkdirp-classic@0.5.3: optional: true - mkdirp@0.5.6: - dependencies: - minimist: 1.2.8 - optional: true - mkdirp@1.0.4: {} module-details-from-path@1.0.3: {} - moment@2.30.1: - optional: true - moo@0.5.2: {} more-entropy@0.0.7: @@ -11493,13 +11436,6 @@ snapshots: ms@2.1.3: {} - mv@2.1.1: - dependencies: - mkdirp: 0.5.6 - ncp: 2.0.0 - rimraf: 2.4.5 - optional: true - mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -11516,9 +11452,6 @@ snapshots: natural-compare@1.4.0: {} - ncp@2.0.0: - optional: true - negotiator@0.6.3: optional: true @@ -12196,11 +12129,6 @@ snapshots: reusify@1.0.4: {} - rimraf@2.4.5: - dependencies: - glob: 6.0.4 - optional: true - rimraf@3.0.2: dependencies: glob: 7.2.3 @@ -12233,9 +12161,6 @@ snapshots: safe-buffer@5.2.1: {} - safe-json-stringify@1.2.0: - optional: true - safe-regex-test@1.0.3: dependencies: call-bind: 1.0.7 From 7b5809e47fd1785cbddf6910e916f61bbcd37bd3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 10:58:16 +0000 Subject: [PATCH 25/56] chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v10.13.1 (#29985) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index a8f8ba9ebe46a5..29909518a9ce7d 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1 +1 @@ -FROM ghcr.io/containerbase/devcontainer:10.13.0 +FROM ghcr.io/containerbase/devcontainer:10.13.1 From 74aa3d777b45b746c3b878914a92198b0d345e49 Mon Sep 17 00:00:00 2001 From: Felipe Santos Date: Tue, 2 Jul 2024 12:00:32 -0300 Subject: [PATCH 26/56] feat(gerrit): use commit message footers to store source branch name (#29802) Co-authored-by: HonkingGoose <34918129+HonkingGoose@users.noreply.github.com> Co-authored-by: Michael Kriese --- lib/modules/platform/gerrit/client.spec.ts | 6 +- lib/modules/platform/gerrit/client.ts | 13 +++- lib/modules/platform/gerrit/readme.md | 11 ++- lib/modules/platform/gerrit/scm.spec.ts | 21 ++++-- lib/modules/platform/gerrit/scm.ts | 6 +- lib/modules/platform/gerrit/types.ts | 3 + lib/modules/platform/gerrit/utils.spec.ts | 82 +++++++++++++++++++--- lib/modules/platform/gerrit/utils.ts | 22 +++++- 8 files changed, 136 insertions(+), 28 deletions(-) diff --git a/lib/modules/platform/gerrit/client.spec.ts b/lib/modules/platform/gerrit/client.spec.ts index 59a5dcd788ca21..4901128bb858b1 100644 --- a/lib/modules/platform/gerrit/client.spec.ts +++ b/lib/modules/platform/gerrit/client.spec.ts @@ -98,7 +98,11 @@ describe('modules/platform/gerrit/client', () => { ['owner:self', { branchName: 'dependency-xyz' }], ['project:repo', { branchName: 'dependency-xyz' }], ['-is:wip', { branchName: 'dependency-xyz' }], - ['hashtag:sourceBranch-dependency-xyz', { branchName: 'dependency-xyz' }], + [ + 'footer:Renovate-Branch=dependency-xyz', + { branchName: 'dependency-xyz' }, + ], + ['hashtag:sourceBranch-dependency-xyz', { branchName: 'dependency-xyz' }], // for backwards compatibility ['label:Code-Review=-2', { branchName: 'dependency-xyz', label: '-2' }], [ 'branch:otherTarget', diff --git a/lib/modules/platform/gerrit/client.ts b/lib/modules/platform/gerrit/client.ts index 3182db64db37b2..cd2dd1fc30bec6 100644 --- a/lib/modules/platform/gerrit/client.ts +++ b/lib/modules/platform/gerrit/client.ts @@ -231,8 +231,17 @@ class GerritClient { ): string[] { const filterState = mapPrStateToGerritFilter(searchConfig.state); const filters = ['owner:self', 'project:' + repository, filterState]; - if (searchConfig.branchName !== '') { - filters.push(`hashtag:sourceBranch-${searchConfig.branchName}`); + if (searchConfig.branchName) { + filters.push( + ...[ + '(', + `footer:Renovate-Branch=${searchConfig.branchName}`, + // for backwards compatibility + 'OR', + `hashtag:sourceBranch-${searchConfig.branchName}`, + ')', + ], + ); } if (searchConfig.targetBranch) { filters.push(`branch:${searchConfig.targetBranch}`); diff --git a/lib/modules/platform/gerrit/readme.md b/lib/modules/platform/gerrit/readme.md index 01a539311cf65d..7246f3f946dc78 100644 --- a/lib/modules/platform/gerrit/readme.md +++ b/lib/modules/platform/gerrit/readme.md @@ -3,11 +3,16 @@ ## Supported Gerrit versions Renovate supports all Gerrit 3.x versions. + Support for Gerrit is currently _experimental_, meaning that it _might_ still have some undiscovered bugs or design limitations, and that we _might_ need to change functionality in a non-backwards compatible manner in a non-major release. -The current implementation uses Gerrit's "hashtags" feature. -Therefore you must use a Gerrit version that uses the [NoteDB](https://gerrit-review.googlesource.com/Documentation/note-db.html) backend. -We did not test Gerrit `2.x` with NoteDB (only in `2.15` and `2.16`), but could work. +Renovate stores its metadata in the _commit message footer_. + +Previously Renovate stored metadata in Gerrit's _hashtags_. +To keep backwards compatibility, Renovate still reads metadata from hashtags. +But Renovate _always_ puts its metadata in the _commit message footer_! +When the Renovate maintainers mark Gerrit support as stable, the maintainers will remove the "read metadata from hashtags" feature. +This means changes without metadata in the commit message footer will be "forgotten" by Renovate. ## Authentication diff --git a/lib/modules/platform/gerrit/scm.spec.ts b/lib/modules/platform/gerrit/scm.spec.ts index 18667a04c4d4c5..9be155245ad15e 100644 --- a/lib/modules/platform/gerrit/scm.spec.ts +++ b/lib/modules/platform/gerrit/scm.spec.ts @@ -300,13 +300,18 @@ describe('modules/platform/gerrit/scm', () => { baseBranch: 'main', branchName: 'renovate/dependency-1.x', files: [], - message: ['commit msg', expect.stringMatching(/Change-Id: I.{32}/)], + message: [ + 'commit msg', + expect.stringMatching( + /^Renovate-Branch: renovate\/dependency-1\.x\nChange-Id: I[a-z0-9]{40}$/, + ), + ], force: true, }); expect(git.pushCommit).toHaveBeenCalledWith({ files: [], sourceRef: 'renovate/dependency-1.x', - targetRef: 'refs/for/main%t=sourceBranch-renovate/dependency-1.x', + targetRef: 'refs/for/main', }); }); @@ -339,7 +344,10 @@ describe('modules/platform/gerrit/scm', () => { baseBranch: 'main', branchName: 'renovate/dependency-1.x', files: [], - message: ['commit msg', 'Change-Id: ...'], + message: [ + 'commit msg', + 'Renovate-Branch: renovate/dependency-1.x\nChange-Id: ...', + ], force: true, }); expect(git.fetchRevSpec).toHaveBeenCalledWith('refs/changes/1/2'); @@ -377,14 +385,17 @@ describe('modules/platform/gerrit/scm', () => { baseBranch: 'main', branchName: 'renovate/dependency-1.x', files: [], - message: ['commit msg', 'Change-Id: ...'], + message: [ + 'commit msg', + 'Renovate-Branch: renovate/dependency-1.x\nChange-Id: ...', + ], force: true, }); expect(git.fetchRevSpec).toHaveBeenCalledWith('refs/changes/1/2'); expect(git.pushCommit).toHaveBeenCalledWith({ files: [], sourceRef: 'renovate/dependency-1.x', - targetRef: 'refs/for/main%t=sourceBranch-renovate/dependency-1.x', + targetRef: 'refs/for/main', }); expect(clientMock.wasApprovedBy).toHaveBeenCalledWith( existingChange, diff --git a/lib/modules/platform/gerrit/scm.ts b/lib/modules/platform/gerrit/scm.ts index f4369fa39e2877..d8500e95205251 100644 --- a/lib/modules/platform/gerrit/scm.ts +++ b/lib/modules/platform/gerrit/scm.ts @@ -109,7 +109,7 @@ export class GerritScm extends DefaultGitScm { typeof commit.message === 'string' ? [commit.message] : commit.message; commit.message = [ ...origMsg, - `Change-Id: ${existingChange?.change_id ?? generateChangeId()}`, + `Renovate-Branch: ${commit.branchName}\nChange-Id: ${existingChange?.change_id ?? generateChangeId()}`, ]; const commitResult = await git.prepareCommit({ ...commit, force: true }); if (commitResult) { @@ -123,9 +123,7 @@ export class GerritScm extends DefaultGitScm { if (hasChanges || commit.force) { const pushResult = await git.pushCommit({ sourceRef: commit.branchName, - targetRef: `refs/for/${commit.baseBranch!}%t=sourceBranch-${ - commit.branchName - }`, + targetRef: `refs/for/${commit.baseBranch!}`, files: commit.files, }); if (pushResult) { diff --git a/lib/modules/platform/gerrit/types.ts b/lib/modules/platform/gerrit/types.ts index 3aae7d47e6831e..0d1b5d90fed354 100644 --- a/lib/modules/platform/gerrit/types.ts +++ b/lib/modules/platform/gerrit/types.ts @@ -34,6 +34,9 @@ export type GerritReviewersType = 'REVIEWER' | 'CC' | 'REMOVED'; export interface GerritChange { branch: string; + /** + * for backwards compatibility + */ hashtags?: string[]; change_id: string; subject: string; diff --git a/lib/modules/platform/gerrit/utils.spec.ts b/lib/modules/platform/gerrit/utils.spec.ts index f5159804473bea..b609fdf7a88c0e 100644 --- a/lib/modules/platform/gerrit/utils.spec.ts +++ b/lib/modules/platform/gerrit/utils.spec.ts @@ -10,6 +10,7 @@ import type { GerritChangeMessageInfo, GerritChangeStatus, GerritLabelTypeInfo, + GerritRevisionInfo, } from './types'; import * as utils from './utils'; import { mapBranchStatusToLabel } from './utils'; @@ -83,7 +84,6 @@ describe('modules/platform/gerrit/utils', () => { const change = partial({ _number: 123456, status: 'NEW', - hashtags: ['other', 'sourceBranch-renovate/dependency-1.x'], branch: 'main', subject: 'Fix for', reviewers: { @@ -91,6 +91,15 @@ describe('modules/platform/gerrit/utils', () => { REMOVED: [], CC: [], }, + current_revision: 'abc', + revisions: { + abc: partial({ + commit: { + message: + 'Some change\n\nRenovate-Branch: renovate/dependency-1.x\nChange-Id: ...', + }, + }), + }, messages: [ partial({ id: '9d78ac236714cee8c2d86e95d638358925cf6853', @@ -122,11 +131,10 @@ describe('modules/platform/gerrit/utils', () => { }); }); - it('map a gerrit change without sourceBranch-tag and reviewers to Pr', () => { + it('map a gerrit change without source branch info and reviewers to Pr', () => { const change = partial({ _number: 123456, status: 'NEW', - hashtags: ['other'], branch: 'main', subject: 'Fix for', }); @@ -145,26 +153,80 @@ describe('modules/platform/gerrit/utils', () => { }); describe('extractSourceBranch()', () => { - it('without hashtags', () => { + it('no commit message', () => { + const change = partial(); + expect(utils.extractSourceBranch(change)).toBeUndefined(); + }); + + it('commit message with no footer', () => { const change = partial({ - hashtags: undefined, + current_revision: 'abc', + revisions: { + abc: partial({ + commit: { + message: 'some message...', + }, + }), + }, }); expect(utils.extractSourceBranch(change)).toBeUndefined(); }); - it('no hashtag with "sourceBranch-" prefix', () => { + it('commit message with footer', () => { const change = partial({ - hashtags: ['other', 'another'], + current_revision: 'abc', + revisions: { + abc: partial({ + commit: { + message: + 'Some change\n\nRenovate-Branch: renovate/dependency-1.x\nChange-Id: ...', + }, + }), + }, }); - expect(utils.extractSourceBranch(change)).toBeUndefined(); + expect(utils.extractSourceBranch(change)).toBe('renovate/dependency-1.x'); + }); + + // for backwards compatibility + it('no commit message but with hashtags', () => { + const change = partial({ + hashtags: ['sourceBranch-renovate/dependency-1.x'], + }); + expect(utils.extractSourceBranch(change)).toBe('renovate/dependency-1.x'); }); - it('hashtag with "sourceBranch-" prefix', () => { + // for backwards compatibility + it('commit message with no footer but with hashtags', () => { const change = partial({ - hashtags: ['other', 'sourceBranch-renovate/dependency-1.x', 'another'], + hashtags: ['sourceBranch-renovate/dependency-1.x'], + current_revision: 'abc', + revisions: { + abc: partial({ + commit: { + message: 'some message...', + }, + }), + }, }); expect(utils.extractSourceBranch(change)).toBe('renovate/dependency-1.x'); }); + + // for backwards compatibility + it('prefers the footer over the hashtags', () => { + const change = partial({ + hashtags: ['sourceBranch-renovate/dependency-1.x'], + current_revision: 'abc', + revisions: { + abc: partial({ + commit: { + message: + 'Some change\n\nRenovate-Branch: renovate/dependency-2.x\nChange-Id: ...', + }, + }), + }, + }); + expect(utils.extractSourceBranch(change)).toBe('renovate/dependency-2.x'); + }); }); describe('findPullRequestBody()', () => { diff --git a/lib/modules/platform/gerrit/utils.ts b/lib/modules/platform/gerrit/utils.ts index d42ec4a463b2e1..3eb28e4b8ece47 100644 --- a/lib/modules/platform/gerrit/utils.ts +++ b/lib/modules/platform/gerrit/utils.ts @@ -2,6 +2,7 @@ import { CONFIG_GIT_URL_UNAVAILABLE } from '../../../constants/error-messages'; import { logger } from '../../../logger'; import type { BranchStatus, PrState } from '../../../types'; import * as hostRules from '../../../util/host-rules'; +import { regEx } from '../../../util/regex'; import { joinUrlParts, parseUrl } from '../../../util/url'; import { hashBody } from '../pr-body'; import type { Pr } from '../types'; @@ -90,9 +91,24 @@ export function mapGerritChangeStateToPrState( return 'all'; } export function extractSourceBranch(change: GerritChange): string | undefined { - return change.hashtags - ?.find((tag) => tag.startsWith('sourceBranch-')) - ?.replace('sourceBranch-', ''); + let sourceBranch: string | undefined = undefined; + + if (change.current_revision) { + const re = regEx(/^Renovate-Branch: (.+)$/m); + const message = change.revisions[change.current_revision]?.commit?.message; + if (message) { + sourceBranch = re.exec(message)?.[1]; + } + } + + // for backwards compatibility + if (!sourceBranch) { + sourceBranch = change.hashtags + ?.find((tag) => tag.startsWith('sourceBranch-')) + ?.replace('sourceBranch-', ''); + } + + return sourceBranch ?? undefined; } export function findPullRequestBody(change: GerritChange): string | undefined { From 7b4798cd1935fa8864bdd6a1ab8a963e5c3fcfb7 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Tue, 2 Jul 2024 15:49:35 -0300 Subject: [PATCH 27/56] refactor: Log release filtering caused by vulnerability alert (#29997) --- lib/workers/repository/process/lookup/index.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/workers/repository/process/lookup/index.ts b/lib/workers/repository/process/lookup/index.ts index 0b97f426e5f4ed..63aae5d76c4fcc 100644 --- a/lib/workers/repository/process/lookup/index.ts +++ b/lib/workers/repository/process/lookup/index.ts @@ -363,6 +363,10 @@ export async function lookupUpdates( ); if (config.isVulnerabilityAlert) { filteredReleases = filteredReleases.slice(0, 1); + logger.debug( + { filteredReleases }, + 'Vulnerability alert found: limiting results to a single release', + ); } const buckets: Record = {}; for (const release of filteredReleases) { From 61aff8faf019f5266196beba1f21db21d9325c38 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 23:09:24 +0000 Subject: [PATCH 28/56] build(deps): update dependency minimatch to v9.0.5 (#30001) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 22 ++++++++++++++-------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/package.json b/package.json index 6763a6e05417cd..1018a800f9d6fc 100644 --- a/package.json +++ b/package.json @@ -217,7 +217,7 @@ "luxon": "3.4.4", "markdown-it": "14.1.0", "markdown-table": "2.0.0", - "minimatch": "9.0.4", + "minimatch": "9.0.5", "moo": "0.5.2", "ms": "2.1.3", "nanoid": "3.3.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a0fb01e1e4b05e..e9f7d327c5df8d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -238,8 +238,8 @@ importers: specifier: 2.0.0 version: 2.0.0 minimatch: - specifier: 9.0.4 - version: 9.0.4 + specifier: 9.0.5 + version: 9.0.5 moo: specifier: 0.5.2 version: 0.5.2 @@ -1042,6 +1042,7 @@ packages: '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} @@ -1049,6 +1050,7 @@ packages: '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + deprecated: Use @eslint/object-schema instead '@hyrious/marshal@0.3.3': resolution: {integrity: sha512-Sprz5CmX+V5MEbgOfXB0iqJS2i703RsV2cXSKC3++Y+4EeUvZPJlv0tgvoBRNT7mvb6aUu7UeOzfiowXlAOmew==} @@ -1183,6 +1185,7 @@ packages: '@ls-lint/ls-lint@2.2.3': resolution: {integrity: sha512-ekM12jNm/7O2I/hsRv9HvYkRdfrHpiV1epVuI2NP+eTIcEgdIdKkKCs9KgQydu/8R5YXTov9aHdOgplmCHLupw==} + cpu: [x64, arm64, s390x] os: [darwin, linux, win32] hasBin: true @@ -3481,6 +3484,7 @@ packages: glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Glob versions prior to v9 are no longer supported global-agent@3.0.0: resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} @@ -3717,6 +3721,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4471,8 +4476,8 @@ packages: resolution: {integrity: sha512-PZOT9g5v2ojiTL7r1xF6plNHLtOeTpSlDI007As2NlA2aYBMfVom17yqa6QzhmDP8QOhn7LjHTg7DFCVSSa6yg==} engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + minimatch@9.0.5: + resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} minimist-options@4.1.0: @@ -5232,6 +5237,7 @@ packages: rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true rimraf@5.0.7: @@ -8651,7 +8657,7 @@ snapshots: debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 - minimatch: 9.0.4 + minimatch: 9.0.5 semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -10161,7 +10167,7 @@ snapshots: dependencies: foreground-child: 3.2.1 jackspeak: 3.4.0 - minimatch: 9.0.4 + minimatch: 9.0.5 minipass: 7.1.2 package-json-from-dist: 1.0.0 path-scurry: 1.11.1 @@ -11366,7 +11372,7 @@ snapshots: dependencies: brace-expansion: 2.0.1 - minimatch@9.0.4: + minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 @@ -11561,7 +11567,7 @@ snapshots: ansi-styles: 6.2.1 cross-spawn: 7.0.3 memorystream: 0.3.1 - minimatch: 9.0.4 + minimatch: 9.0.5 pidtree: 0.6.0 read-package-json-fast: 3.0.2 shell-quote: 1.8.1 From 862e91bf715325dcd1383e7d18a1c75d4990a2ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jul 2024 03:07:53 +0000 Subject: [PATCH 29/56] fix(deps): update ghcr.io/renovatebot/base-image docker tag to v2.23.3 (#30003) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index fc85a788c0baad..ef4df001e1d18f 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -3,12 +3,12 @@ ARG BASE_IMAGE_TYPE=slim # -------------------------------------- # slim image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.23.2@sha256:bb87563850163904df812354ba4562d60b6613a169305c5a65d2a2e12dcdb5db AS slim-base +FROM ghcr.io/renovatebot/base-image:2.23.3@sha256:7623b63bf731dd2750032bc914a1bf8a5ef730c58afcfccb1ef3ff6c0ac800a1 AS slim-base # -------------------------------------- # full image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.23.2-full@sha256:84b5acd7ae866c02495b71970b39615e73c6d6e36f757fd69607f9224d923494 AS full-base +FROM ghcr.io/renovatebot/base-image:2.23.3-full@sha256:3d5857e717320108e82ef5de328254eed64c6b67b55abb958ae17e57fda0c36e AS full-base # -------------------------------------- # build image From 1f567198582e4c9d1da2f9c1087c2277bc43e1ed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jul 2024 03:09:56 +0000 Subject: [PATCH 30/56] build(deps): update dependency toml-eslint-parser to v0.10.0 (#30004) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1018a800f9d6fc..674e7f0575fbb4 100644 --- a/package.json +++ b/package.json @@ -239,7 +239,7 @@ "simple-git": "3.25.0", "slugify": "1.6.6", "source-map-support": "0.5.21", - "toml-eslint-parser": "0.9.3", + "toml-eslint-parser": "0.10.0", "traverse": "0.6.9", "tslib": "2.6.3", "upath": "2.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e9f7d327c5df8d..38a357de943590 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -304,8 +304,8 @@ importers: specifier: 0.5.21 version: 0.5.21 toml-eslint-parser: - specifier: 0.9.3 - version: 0.9.3 + specifier: 0.10.0 + version: 0.10.0 traverse: specifier: 0.6.9 version: 0.6.9 @@ -5638,8 +5638,8 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toml-eslint-parser@0.9.3: - resolution: {integrity: sha512-moYoCvkNUAPCxSW9jmHmRElhm4tVJpHL8ItC/+uYD0EpPSFXbck7yREz9tNdJVTSpHVod8+HoipcpbQ0oE6gsw==} + toml-eslint-parser@0.10.0: + resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} tr46@0.0.3: @@ -12601,7 +12601,7 @@ snapshots: dependencies: is-number: 7.0.0 - toml-eslint-parser@0.9.3: + toml-eslint-parser@0.10.0: dependencies: eslint-visitor-keys: 3.4.3 From a794c43e65427b9354b5b880d62822402750d3eb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jul 2024 06:39:14 +0000 Subject: [PATCH 31/56] build(deps): update dependency better-sqlite3 to v11.1.2 (#30007) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 674e7f0575fbb4..dd290fb3a8ed78 100644 --- a/package.json +++ b/package.json @@ -250,7 +250,7 @@ "zod": "3.23.8" }, "optionalDependencies": { - "better-sqlite3": "11.0.0", + "better-sqlite3": "11.1.2", "openpgp": "5.11.2", "re2": "1.21.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 38a357de943590..df6aed2c7ec159 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -332,8 +332,8 @@ importers: version: 3.23.8 optionalDependencies: better-sqlite3: - specifier: 11.0.0 - version: 11.0.0 + specifier: 11.1.2 + version: 11.1.2 openpgp: specifier: 5.11.2 version: 5.11.2 @@ -2482,8 +2482,8 @@ packages: before-after-hook@3.0.2: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} - better-sqlite3@11.0.0: - resolution: {integrity: sha512-1NnNhmT3EZTsKtofJlMox1jkMxdedILury74PwUbQBjWgo4tL4kf7uTAjU55mgQwjdzqakSTjkf+E1imrFwjnA==} + better-sqlite3@11.1.2: + resolution: {integrity: sha512-gujtFwavWU4MSPT+h9B+4pkvZdyOUkH54zgLdIrMmmmd4ZqiBIrRNBzNzYVFO417xo882uP5HBu4GjOfaSrIQw==} bignumber.js@9.1.2: resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} @@ -9000,7 +9000,7 @@ snapshots: before-after-hook@3.0.2: {} - better-sqlite3@11.0.0: + better-sqlite3@11.1.2: dependencies: bindings: 1.5.0 prebuild-install: 7.1.2 From 5b8ac36ed7cb2d347d5f2b08eda8a743b34928b4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jul 2024 08:42:04 +0200 Subject: [PATCH 32/56] build(deps): update dependency azure-devops-node-api to v14 (#30008) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 38 +++++++++++++++++++++++++++----------- 2 files changed, 28 insertions(+), 12 deletions(-) diff --git a/package.json b/package.json index dd290fb3a8ed78..b2009b6dc7b9ca 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "aggregate-error": "3.1.0", "auth-header": "1.0.0", "aws4": "1.13.0", - "azure-devops-node-api": "13.0.0", + "azure-devops-node-api": "14.0.0", "bunyan": "1.8.15", "cacache": "18.0.3", "cacheable-lookup": "5.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index df6aed2c7ec159..a42745ede6ab34 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -103,8 +103,8 @@ importers: specifier: 1.13.0 version: 1.13.0 azure-devops-node-api: - specifier: 13.0.0 - version: 13.0.0 + specifier: 14.0.0 + version: 14.0.0 bunyan: specifier: 1.8.15 version: 1.8.15 @@ -2436,8 +2436,9 @@ packages: aws4@1.13.0: resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} - azure-devops-node-api@13.0.0: - resolution: {integrity: sha512-T/i3pt2Dxb2//1+TJT05Ff5heUmQEWKwa8sdguIhdRYT3Zge9FYw98zpfFvCD7CZsz6AN74SKGgqF3ISVN2TGg==} + azure-devops-node-api@14.0.0: + resolution: {integrity: sha512-VjMPCkaM3Z4ZRyzbZWlBz/AQvDlt+gPLzPoInkl3OcUs0xLtyFQpCa9Ni4Z9MmfMxTn9kuQuYCzBOmBIoM2WnQ==} + engines: {node: '>= 16.0.0'} babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} @@ -2898,6 +2899,9 @@ packages: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} + des.js@1.1.0: + resolution: {integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==} + detect-indent@6.1.0: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} @@ -4123,6 +4127,9 @@ packages: node-notifier: optional: true + js-md4@0.3.2: + resolution: {integrity: sha512-/GDnfQYsltsjRswQhN9fhv3EMw2sCpUdrdxyWDOUK7eyD++r3gRhzgiQgc/x4MAv2i1iuQ4lxO5mvqM3vj4bwA==} + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -5812,8 +5819,9 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} - typed-rest-client@1.8.11: - resolution: {integrity: sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==} + typed-rest-client@2.0.1: + resolution: {integrity: sha512-LSfgVu+jKUbkceVBGJ6bdIMzzpvjhw6A+aKsVnGa2S7bT82QCALh/RAtq/fdV3aLXxHqsChuClrQ93fXMrIckA==} + engines: {node: '>= 16.0.0'} typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -8931,10 +8939,10 @@ snapshots: aws4@1.13.0: {} - azure-devops-node-api@13.0.0: + azure-devops-node-api@14.0.0: dependencies: tunnel: 0.0.6 - typed-rest-client: 1.8.11 + typed-rest-client: 2.0.1 babel-jest@29.7.0(@babel/core@7.24.7): dependencies: @@ -9438,6 +9446,11 @@ snapshots: dequal@2.0.3: {} + des.js@1.1.0: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + detect-indent@6.1.0: {} detect-libc@2.0.3: @@ -11001,6 +11014,8 @@ snapshots: - supports-color - ts-node + js-md4@0.3.2: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -11361,8 +11376,7 @@ snapshots: min-indent@1.0.1: {} - minimalistic-assert@1.0.1: - optional: true + minimalistic-assert@1.0.1: {} minimatch@3.1.2: dependencies: @@ -12763,8 +12777,10 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - typed-rest-client@1.8.11: + typed-rest-client@2.0.1: dependencies: + des.js: 1.1.0 + js-md4: 0.3.2 qs: 6.12.1 tunnel: 0.0.6 underscore: 1.13.6 From c13315e4963f29b3de895e6bc15feca774c02afa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jul 2024 07:19:03 +0000 Subject: [PATCH 33/56] build(deps): update dependency azure-devops-node-api to v14.0.1 (#30010) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index b2009b6dc7b9ca..dfb85755d77e7a 100644 --- a/package.json +++ b/package.json @@ -172,7 +172,7 @@ "aggregate-error": "3.1.0", "auth-header": "1.0.0", "aws4": "1.13.0", - "azure-devops-node-api": "14.0.0", + "azure-devops-node-api": "14.0.1", "bunyan": "1.8.15", "cacache": "18.0.3", "cacheable-lookup": "5.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a42745ede6ab34..d60d3c11629e65 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -103,8 +103,8 @@ importers: specifier: 1.13.0 version: 1.13.0 azure-devops-node-api: - specifier: 14.0.0 - version: 14.0.0 + specifier: 14.0.1 + version: 14.0.1 bunyan: specifier: 1.8.15 version: 1.8.15 @@ -2436,8 +2436,8 @@ packages: aws4@1.13.0: resolution: {integrity: sha512-3AungXC4I8kKsS9PuS4JH2nc+0bVY/mjgrephHTIi8fpEeGsTHBUJeosp0Wc1myYMElmD0B3Oc4XL/HVJ4PV2g==} - azure-devops-node-api@14.0.0: - resolution: {integrity: sha512-VjMPCkaM3Z4ZRyzbZWlBz/AQvDlt+gPLzPoInkl3OcUs0xLtyFQpCa9Ni4Z9MmfMxTn9kuQuYCzBOmBIoM2WnQ==} + azure-devops-node-api@14.0.1: + resolution: {integrity: sha512-oVnFfTNmergd3JU852EpGY64d1nAxW8lCyzZqFDPhfQVZkdApBeK/ZMN7yoFiq/C50Ru304X1L/+BFblh2SRJw==} engines: {node: '>= 16.0.0'} babel-jest@29.7.0: @@ -8939,7 +8939,7 @@ snapshots: aws4@1.13.0: {} - azure-devops-node-api@14.0.0: + azure-devops-node-api@14.0.1: dependencies: tunnel: 0.0.6 typed-rest-client: 2.0.1 From a0d8d2be849cac7a4c424d650c01b7b8fa446f4b Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Wed, 3 Jul 2024 13:10:44 -0300 Subject: [PATCH 34/56] refactor: Simplify lambda function in lookup result filtering (#30018) --- .../repository/process/lookup/filter.ts | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts index a4c15b2f997563..0f81f89b72acf9 100644 --- a/lib/workers/repository/process/lookup/filter.ts +++ b/lib/workers/repository/process/lookup/filter.ts @@ -9,6 +9,18 @@ import * as poetryVersioning from '../../../../modules/versioning/poetry'; import { getRegexPredicate } from '../../../../util/string-match'; import type { FilterConfig } from './types'; +function isReleaseStable(release: Release, versioning: VersioningApi): boolean { + if (!versioning.isStable(release.version)) { + return false; + } + + if (release.isStable === false) { + return false; + } + + return true; +} + export function filterVersions( config: FilterConfig, currentVersion: string, @@ -18,17 +30,7 @@ export function filterVersions( ): Release[] { const { ignoreUnstable, ignoreDeprecated, respectLatest, allowedVersions } = config; - function isVersionStable(version: string): boolean { - if (!versioning.isStable(version)) { - return false; - } - // Check if the datasource returned isStable = false - const release = releases.find((r) => r.version === version); - if (release?.isStable === false) { - return false; - } - return true; - } + // istanbul ignore if: shouldn't happen if (!currentVersion) { return []; @@ -125,18 +127,19 @@ export function filterVersions( return filteredVersions; } - if (isVersionStable(currentVersion)) { - return filteredVersions.filter((v) => isVersionStable(v.version)); + const currentRelease = releases.find((r) => r.version === currentVersion); + if (currentRelease && isReleaseStable(currentRelease, versioning)) { + return filteredVersions.filter((r) => isReleaseStable(r, versioning)); } // if current is unstable then allow unstable in the current major only // Allow unstable only in current major - return filteredVersions.filter((v) => { - if (isVersionStable(v.version)) { + return filteredVersions.filter((r) => { + if (isReleaseStable(r, versioning)) { return true; } if ( - versioning.getMajor(v.version) !== versioning.getMajor(currentVersion) + versioning.getMajor(r.version) !== versioning.getMajor(currentVersion) ) { return false; } @@ -145,8 +148,8 @@ export function filterVersions( return true; } return ( - versioning.getMinor(v.version) === versioning.getMinor(currentVersion) && - versioning.getPatch(v.version) === versioning.getPatch(currentVersion) + versioning.getMinor(r.version) === versioning.getMinor(currentVersion) && + versioning.getPatch(r.version) === versioning.getPatch(currentVersion) ); }); } From c6f9b5bcb76d8574e7d0fe4347b70cb3ca7a18fb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jul 2024 21:33:48 +0000 Subject: [PATCH 35/56] feat(deps): update ghcr.io/renovatebot/base-image docker tag to v2.24.0 (#30023) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index ef4df001e1d18f..2ff2a4965c0f11 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -3,12 +3,12 @@ ARG BASE_IMAGE_TYPE=slim # -------------------------------------- # slim image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.23.3@sha256:7623b63bf731dd2750032bc914a1bf8a5ef730c58afcfccb1ef3ff6c0ac800a1 AS slim-base +FROM ghcr.io/renovatebot/base-image:2.24.0@sha256:f659e0c7589ef608805887ab0d668f67c4b5d5ce0612e62538b17322a92f928d AS slim-base # -------------------------------------- # full image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.23.3-full@sha256:3d5857e717320108e82ef5de328254eed64c6b67b55abb958ae17e57fda0c36e AS full-base +FROM ghcr.io/renovatebot/base-image:2.24.0-full@sha256:323eb53c3a1706e6bf87d4e8ebf5a2d15de4509b75dab613c7b32ddc5826b49a AS full-base # -------------------------------------- # build image From 1d0e6ffcae3baf57228f4cf9e3acd7d7e131a3e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Jul 2024 03:42:15 +0000 Subject: [PATCH 36/56] chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v10.15.1 (#30024) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 29909518a9ce7d..993c2bdd0bbc10 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1 +1 @@ -FROM ghcr.io/containerbase/devcontainer:10.13.1 +FROM ghcr.io/containerbase/devcontainer:10.15.1 From 8f77da6f059f4c2c634e7f77098f1e1377b20884 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Jul 2024 06:58:50 +0000 Subject: [PATCH 37/56] chore(deps): update ghcr.io/containerbase/devcontainer docker tag to v10.15.2 (#30028) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .devcontainer/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 993c2bdd0bbc10..4a7db0c79db266 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1 +1 @@ -FROM ghcr.io/containerbase/devcontainer:10.15.1 +FROM ghcr.io/containerbase/devcontainer:10.15.2 From a044db23c5032ae594ff579a2aa3cbc13cdbf9d9 Mon Sep 17 00:00:00 2001 From: Michael Kriese Date: Thu, 4 Jul 2024 12:30:46 +0200 Subject: [PATCH 38/56] build(docker): use cross platform builds (#29983) --- tools/docker/Dockerfile | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 2ff2a4965c0f11..42bb4c1fb3d9d4 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -13,16 +13,34 @@ FROM ghcr.io/renovatebot/base-image:2.24.0-full@sha256:323eb53c3a1706e6bf87d4e8e # -------------------------------------- # build image # -------------------------------------- -FROM slim-base as build +FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:2.24.0@sha256:f659e0c7589ef608805887ab0d668f67c4b5d5ce0612e62538b17322a92f928d AS build + +ARG TARGETPLATFORM +ARG BUILDPLATFORM + +RUN set -ex; \ + echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM"; \ + uname -a; \ + true WORKDIR /usr/local/renovate -ENV CI=1 npm_config_modules_cache_max_age=0 +ENV CI=1 npm_config_modules_cache_max_age=0 \ + npm_config_loglevel=info \ + ARCH=arm64 COPY pnpm-lock.yaml ./ +# trim `linux/` from TARGETPLATFORM +# replace `amd64` with `x64` for `node` +# set `npm_config_arch` for `prebuild-install` +# set `npm_config_platform_arch` for `install-artifact-from-github` # only fetch deps from lockfile https://pnpm.io/cli/fetch -RUN corepack pnpm fetch --prod +RUN set -ex; \ + arch=${TARGETPLATFORM:6}; \ + export npm_config_arch=${arch/amd64/x64} npm_config_platform_arch=${arch/amd64/x64}; \ + corepack pnpm fetch --prod; \ + true COPY . ./ @@ -33,10 +51,11 @@ RUN set -ex; \ # test COPY tools/docker/bin/ /usr/local/bin/ +# RE2 doesn't work on cross compile +ENV RENOVATE_X_IGNORE_RE2=true RUN set -ex; \ renovate --version; \ renovate-config-validator; \ - node -e "new require('re2')('.*').exec('test')"; \ true # -------------------------------------- @@ -68,8 +87,7 @@ RUN set -ex; \ RUN set -ex; \ renovate --version; \ - renovate-config-validator; \ - node -e "new require('re2')('.*').exec('test')"; \ + node -e "new require('re2')('.*').exec('test');new require('better-sqlite3')(':memory:')"; \ true LABEL \ From 96668485c33163f8e645b704d06d3efefeacd260 Mon Sep 17 00:00:00 2001 From: Mathias Brodala Date: Thu, 4 Jul 2024 18:14:58 +0200 Subject: [PATCH 39/56] docs(platform/gitlab): Mention Deploy Token (#30042) --- lib/modules/platform/gitlab/readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/modules/platform/gitlab/readme.md b/lib/modules/platform/gitlab/readme.md index 57d48ee3898187..c9293f90d26b38 100644 --- a/lib/modules/platform/gitlab/readme.md +++ b/lib/modules/platform/gitlab/readme.md @@ -8,6 +8,7 @@ To start, create either: - a [Personal Access Token](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html) for the bot account - or a [Group Access Token](https://docs.gitlab.com/ee/user/group/settings/group_access_tokens.html#bot-users-for-groups) for the bot account +- or a [Deploy Token](https://docs.gitlab.com/ee/user/project/deploy_tokens/index.html) for the bot account The bot account must have at least the Developer role in order to [create issues and merge requests](https://docs.gitlab.com/ee/user/permissions.html#project-members-permissions). If you are using automerge, the bot account must have the appropriate ["Allowed to merge" permission on the protected branch](https://docs.gitlab.com/ee/user/project/protected_branches.html#require-everyone-to-submit-merge-requests-for-a-protected-branch) of your projects. From c30f7a32cd4fe3856d6b8dfc3d8a4359f702ab83 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Jul 2024 16:28:12 +0000 Subject: [PATCH 40/56] chore(deps): update dependency @types/lodash to v4.17.6 (#30044) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index dfb85755d77e7a..5937f8d6df881c 100644 --- a/package.json +++ b/package.json @@ -287,7 +287,7 @@ "@types/js-yaml": "4.0.9", "@types/json-dup-key-validator": "1.0.2", "@types/linkify-markdown": "1.0.3", - "@types/lodash": "4.17.5", + "@types/lodash": "4.17.6", "@types/luxon": "3.4.2", "@types/markdown-it": "14.0.1", "@types/markdown-table": "2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d60d3c11629e65..d8c2912ddf0c2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -438,8 +438,8 @@ importers: specifier: 1.0.3 version: 1.0.3 '@types/lodash': - specifier: 4.17.5 - version: 4.17.5 + specifier: 4.17.6 + version: 4.17.6 '@types/luxon': specifier: 3.4.2 version: 3.4.2 @@ -2065,8 +2065,8 @@ packages: '@types/linkify-markdown@1.0.3': resolution: {integrity: sha512-BnuGqDmpzmXCDMXHzgle/vMRUnbFcWclts0+n7Or421exav3XG6efl9gsxamLET6QPhX+pMnxcsHgnAO/daj9w==} - '@types/lodash@4.17.5': - resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} + '@types/lodash@4.17.6': + resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} '@types/luxon@3.4.2': resolution: {integrity: sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA==} @@ -8492,7 +8492,7 @@ snapshots: '@types/linkify-markdown@1.0.3': {} - '@types/lodash@4.17.5': {} + '@types/lodash@4.17.6': {} '@types/luxon@3.4.2': {} From c55dc8e4ec9dd2ba897553291b5c5bc80c7b8c03 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Thu, 4 Jul 2024 13:31:03 -0300 Subject: [PATCH 41/56] refactor: Simplify release filtering internals (#30021) --- .../repository/process/lookup/filter.ts | 52 ++++++++----------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts index 0f81f89b72acf9..dbaed9dcd0fc62 100644 --- a/lib/workers/repository/process/lookup/filter.ts +++ b/lib/workers/repository/process/lookup/filter.ts @@ -37,25 +37,20 @@ export function filterVersions( } // Leave only versions greater than current - let filteredVersions = releases.filter( - (v) => - versioning.isVersion(v.version) && - versioning.isGreaterThan(v.version, currentVersion), + let filteredReleases = releases.filter( + (r) => + versioning.isVersion(r.version) && + versioning.isGreaterThan(r.version, currentVersion), ); + const currentRelease = releases.find((r) => r.version === currentVersion); + // Don't upgrade from non-deprecated to deprecated - const fromRelease = releases.find( - (release) => release.version === currentVersion, - ); - if (ignoreDeprecated && fromRelease && !fromRelease.isDeprecated) { - filteredVersions = filteredVersions.filter((v) => { - const versionRelease = releases.find( - (release) => release.version === v.version, - ); - // TODO: types (#22198) - if (versionRelease!.isDeprecated) { + if (ignoreDeprecated && currentRelease && !currentRelease.isDeprecated) { + filteredReleases = filteredReleases.filter((r) => { + if (r.isDeprecated) { logger.trace( - `Skipping ${config.depName!}@${v.version} because it is deprecated`, + `Skipping ${config.depName!}@${r.version} because it is deprecated`, ); return false; } @@ -66,12 +61,12 @@ export function filterVersions( if (allowedVersions) { const isAllowedPred = getRegexPredicate(allowedVersions); if (isAllowedPred) { - filteredVersions = filteredVersions.filter(({ version }) => + filteredReleases = filteredReleases.filter(({ version }) => isAllowedPred(version), ); } else if (versioning.isValid(allowedVersions)) { - filteredVersions = filteredVersions.filter((v) => - versioning.matches(v.version, allowedVersions), + filteredReleases = filteredReleases.filter((r) => + versioning.matches(r.version, allowedVersions), ); } else if ( config.versioning !== npmVersioning.id && @@ -81,9 +76,9 @@ export function filterVersions( { depName: config.depName }, 'Falling back to npm semver syntax for allowedVersions', ); - filteredVersions = filteredVersions.filter((v) => + filteredReleases = filteredReleases.filter((r) => semver.satisfies( - semver.valid(v.version) ? v.version : semver.coerce(v.version)!, + semver.valid(r.version) ? r.version : semver.coerce(r.version)!, allowedVersions, ), ); @@ -95,8 +90,8 @@ export function filterVersions( { depName: config.depName }, 'Falling back to pypi syntax for allowedVersions', ); - filteredVersions = filteredVersions.filter((v) => - pep440.matches(v.version, allowedVersions), + filteredReleases = filteredReleases.filter((r) => + pep440.matches(r.version, allowedVersions), ); } else { const error = new Error(CONFIG_VALIDATION); @@ -110,7 +105,7 @@ export function filterVersions( } if (config.followTag) { - return filteredVersions; + return filteredReleases; } if ( @@ -118,23 +113,22 @@ export function filterVersions( latestVersion && !versioning.isGreaterThan(currentVersion, latestVersion) ) { - filteredVersions = filteredVersions.filter( - (v) => !versioning.isGreaterThan(v.version, latestVersion), + filteredReleases = filteredReleases.filter( + (r) => !versioning.isGreaterThan(r.version, latestVersion), ); } if (!ignoreUnstable) { - return filteredVersions; + return filteredReleases; } - const currentRelease = releases.find((r) => r.version === currentVersion); if (currentRelease && isReleaseStable(currentRelease, versioning)) { - return filteredVersions.filter((r) => isReleaseStable(r, versioning)); + return filteredReleases.filter((r) => isReleaseStable(r, versioning)); } // if current is unstable then allow unstable in the current major only // Allow unstable only in current major - return filteredVersions.filter((r) => { + return filteredReleases.filter((r) => { if (isReleaseStable(r, versioning)) { return true; } From 8fc2a7bdb294bafcacc6f62e63699d68f52e4119 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Thu, 4 Jul 2024 16:57:26 -0300 Subject: [PATCH 42/56] feat: Add `cachePrivatePackages` global config option (#30045) --- docs/usage/self-hosted-configuration.md | 4 ++++ lib/config/global.ts | 1 + lib/config/options/index.ts | 8 ++++++++ lib/config/types.ts | 1 + lib/util/cache/package/decorator.spec.ts | 23 +++++++++++++++++++++++ lib/util/cache/package/decorator.ts | 7 ++++++- 6 files changed, 43 insertions(+), 1 deletion(-) diff --git a/docs/usage/self-hosted-configuration.md b/docs/usage/self-hosted-configuration.md index 5f57ff5212e93b..f72124f0233706 100644 --- a/docs/usage/self-hosted-configuration.md +++ b/docs/usage/self-hosted-configuration.md @@ -327,6 +327,10 @@ Results which are soft expired are reused in the following manner: - The `etag` from the cached results will be reused, and may result in a 304 response, meaning cached results are revalidated - If an error occurs when querying the `npmjs` registry, then soft expired results will be reused if they are present +## cachePrivatePackages + +In the self-hosted setup, use option to enable caching of private packages to improve performance. + ## cacheTtlOverride Utilize this key-value map to override the default package cache TTL values for a specific namespace. This object contains pairs of namespaces and their corresponding TTL values in minutes. diff --git a/lib/config/global.ts b/lib/config/global.ts index 3008fb6117f004..b1b1205dbd50cd 100644 --- a/lib/config/global.ts +++ b/lib/config/global.ts @@ -37,6 +37,7 @@ export class GlobalConfig { 'autodiscoverRepoSort', 'autodiscoverRepoOrder', 'userAgent', + 'cachePrivatePackages', ]; private static config: RepoGlobalConfig = {}; diff --git a/lib/config/options/index.ts b/lib/config/options/index.ts index 627efe28c3f0f9..3bec15eefb2d24 100644 --- a/lib/config/options/index.ts +++ b/lib/config/options/index.ts @@ -3117,6 +3117,14 @@ const options: RenovateOptions[] = [ default: 90, globalOnly: true, }, + { + name: 'cachePrivatePackages', + description: + 'Cache private packages in the datasource cache. This is useful for self-hosted setups', + type: 'boolean', + default: false, + globalOnly: true, + }, ]; export function getOptions(): RenovateOptions[] { diff --git a/lib/config/types.ts b/lib/config/types.ts index f62e4d2484e458..796731ebc1e693 100644 --- a/lib/config/types.ts +++ b/lib/config/types.ts @@ -166,6 +166,7 @@ export interface RepoGlobalConfig { autodiscoverRepoSort?: RepoSortMethod; autodiscoverRepoOrder?: SortMethod; userAgent?: string; + cachePrivatePackages?: boolean; } export interface LegacyAdminConfig { diff --git a/lib/util/cache/package/decorator.spec.ts b/lib/util/cache/package/decorator.spec.ts index c8716c410f3313..2cf76c495a1b98 100644 --- a/lib/util/cache/package/decorator.spec.ts +++ b/lib/util/cache/package/decorator.spec.ts @@ -67,6 +67,29 @@ describe('util/cache/package/decorator', () => { expect(setCache).not.toHaveBeenCalled(); }); + it('forces cache if cachePrivatePackages=true', async () => { + GlobalConfig.set({ cachePrivatePackages: true }); + + class Class { + @cache({ + namespace: '_test-namespace', + key: 'key', + cacheable: () => false, + }) + public fn(): Promise { + return getValue(); + } + } + const obj = new Class(); + + expect(await obj.fn()).toBe('111'); + expect(await obj.fn()).toBe('111'); + expect(await obj.fn()).toBe('111'); + + expect(getValue).toHaveBeenCalledTimes(1); + expect(setCache).toHaveBeenCalledOnce(); + }); + it('caches null values', async () => { class Class { @cache({ namespace: '_test-namespace', key: 'key' }) diff --git a/lib/util/cache/package/decorator.ts b/lib/util/cache/package/decorator.ts index f81d01895dbee7..052ac79c79d349 100644 --- a/lib/util/cache/package/decorator.ts +++ b/lib/util/cache/package/decorator.ts @@ -50,7 +50,12 @@ export function cache({ ttlMinutes = 30, }: CacheParameters): Decorator { return decorate(async ({ args, instance, callback, methodName }) => { - if (!cacheable.apply(instance, args)) { + const cachePrivatePackages = GlobalConfig.get( + 'cachePrivatePackages', + false, + ); + const isCacheable = cachePrivatePackages || cacheable.apply(instance, args); + if (!isCacheable) { return callback(); } From 98d4e26e956ab022866542dc1f1b9b59552445af Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 04:40:37 +0000 Subject: [PATCH 43/56] chore(deps): update containerbase/internal-tools action to v3.3.3 (#30047) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9de54ee6a332a5..37bfe658327d54 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -661,7 +661,7 @@ jobs: show-progress: false - name: docker-config - uses: containerbase/internal-tools@0b4162e48b68b3521953c3c663376ca22a1f769b # v3.3.2 + uses: containerbase/internal-tools@f3b5cf0d18d03e0cbc001037e1a669f6a2b1afca # v3.3.3 with: command: docker-config From 3e3bb63751bea8d4539e272604e128364d5d9ded Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 04:43:00 +0000 Subject: [PATCH 44/56] build(deps): update dependency lru-cache to v10.3.0 (#30048) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package.json b/package.json index 5937f8d6df881c..64667508800ca5 100644 --- a/package.json +++ b/package.json @@ -213,7 +213,7 @@ "jsonata": "2.0.5", "jsonc-parser": "3.3.1", "klona": "2.0.6", - "lru-cache": "10.2.2", + "lru-cache": "10.3.0", "luxon": "3.4.4", "markdown-it": "14.1.0", "markdown-table": "2.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d8c2912ddf0c2c..9cb9feab4bd024 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -226,8 +226,8 @@ importers: specifier: 2.0.6 version: 2.0.6 lru-cache: - specifier: 10.2.2 - version: 10.2.2 + specifier: 10.3.0 + version: 10.3.0 luxon: specifier: 3.4.4 version: 3.4.4 @@ -4311,8 +4311,8 @@ packages: resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} engines: {node: '>=8'} - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + lru-cache@10.3.0: + resolution: {integrity: sha512-CQl19J/g+Hbjbv4Y3mFNNXFEL/5t/KCg8POCuUqd4rMKjGG+j1ybER83hxV58zL+dFI1PTkt3GNFSHRt+d8qEQ==} engines: {node: 14 || >=16.14} lru-cache@5.1.1: @@ -7414,7 +7414,7 @@ snapshots: agent-base: 7.1.1 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 - lru-cache: 10.2.2 + lru-cache: 10.3.0 socks-proxy-agent: 8.0.3 transitivePeerDependencies: - supports-color @@ -9090,7 +9090,7 @@ snapshots: '@npmcli/fs': 3.1.1 fs-minipass: 3.0.3 glob: 10.4.2 - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 minipass-collect: 2.0.1 minipass-flush: 1.0.5 @@ -10341,7 +10341,7 @@ snapshots: hosted-git-info@7.0.2: dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 html-escaper@2.0.2: {} @@ -11176,7 +11176,7 @@ snapshots: lowercase-keys@2.0.0: {} - lru-cache@10.2.2: {} + lru-cache@10.3.0: {} lru-cache@5.1.1: dependencies: @@ -11844,7 +11844,7 @@ snapshots: path-scurry@1.11.1: dependencies: - lru-cache: 10.2.2 + lru-cache: 10.3.0 minipass: 7.1.2 path-to-regexp@6.2.2: {} From d88f6a4b0d6eb7125171787989a57b329f9a4ff6 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Fri, 5 Jul 2024 12:37:43 -0300 Subject: [PATCH 45/56] refactor: Lookup filtering of unstable releases (#30054) --- .../repository/process/lookup/filter.spec.ts | 78 ++++++++++++------- .../repository/process/lookup/filter.ts | 30 ++++--- 2 files changed, 70 insertions(+), 38 deletions(-) diff --git a/lib/workers/repository/process/lookup/filter.spec.ts b/lib/workers/repository/process/lookup/filter.spec.ts index 0d75534e35ec27..5fe0a6a9acd97b 100644 --- a/lib/workers/repository/process/lookup/filter.spec.ts +++ b/lib/workers/repository/process/lookup/filter.spec.ts @@ -1,37 +1,38 @@ import { partial } from '../../../../../test/util'; +import type { Release } from '../../../../modules/datasource/types'; import * as allVersioning from '../../../../modules/versioning'; import { filterVersions } from './filter'; import type { FilterConfig } from './types'; const versioning = allVersioning.get('semver'); -const releases = [ - { - version: '1.0.1', - releaseTimestamp: '2021-01-01T00:00:01.000Z', - }, - { - version: '1.2.0', - releaseTimestamp: '2021-01-03T00:00:00.000Z', - }, - { - version: '2.0.0', - releaseTimestamp: '2021-01-05T00:00:00.000Z', - }, - { - version: '2.1.0', - releaseTimestamp: '2021-01-07T00:00:00.000Z', - }, - // for coverage - { - version: 'invalid.version', - releaseTimestamp: '2021-01-07T00:00:00.000Z', - }, -]; - describe('workers/repository/process/lookup/filter', () => { describe('.filterVersions()', () => { it('should filter versions allowed by semver syntax when allowedVersions is not valid version, range or pypi syntax', () => { + const releases = [ + { + version: '1.0.1', + releaseTimestamp: '2021-01-01T00:00:01.000Z', + }, + { + version: '1.2.0', + releaseTimestamp: '2021-01-03T00:00:00.000Z', + }, + { + version: '2.0.0', + releaseTimestamp: '2021-01-05T00:00:00.000Z', + }, + { + version: '2.1.0', + releaseTimestamp: '2021-01-07T00:00:00.000Z', + }, + // for coverage + { + version: 'invalid.version', + releaseTimestamp: '2021-01-07T00:00:00.000Z', + }, + ] satisfies Release[]; + const config = partial({ ignoreUnstable: false, ignoreDeprecated: false, @@ -41,9 +42,6 @@ describe('workers/repository/process/lookup/filter', () => { const currentVersion = '1.0.0'; const latestVersion = '2.0.0'; - jest.spyOn(versioning, 'isVersion').mockReturnValue(true); - jest.spyOn(versioning, 'isGreaterThan').mockReturnValue(true); - const filteredVersions = filterVersions( config, currentVersion, @@ -57,5 +55,31 @@ describe('workers/repository/process/lookup/filter', () => { { version: '2.1.0', releaseTimestamp: '2021-01-07T00:00:00.000Z' }, ]); }); + + it('allows unstable major upgrades', () => { + const nodeVersioning = allVersioning.get('node'); + + const releases = [ + { version: '1.0.0-alpha' }, + { version: '1.2.3-beta' }, + ] satisfies Release[]; + + const config = partial({ + ignoreUnstable: true, + ignoreDeprecated: true, + }); + const currentVersion = '1.0.0-alpha'; + const latestVersion = '1.2.3-beta'; + + const filteredVersions = filterVersions( + config, + currentVersion, + latestVersion, + releases, + nodeVersioning, + ); + + expect(filteredVersions).toEqual([{ version: '1.2.3-beta' }]); + }); }); }); diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts index dbaed9dcd0fc62..71e85ec3d1c57d 100644 --- a/lib/workers/repository/process/lookup/filter.ts +++ b/lib/workers/repository/process/lookup/filter.ts @@ -78,7 +78,11 @@ export function filterVersions( ); filteredReleases = filteredReleases.filter((r) => semver.satisfies( - semver.valid(r.version) ? r.version : semver.coerce(r.version)!, + semver.valid(r.version) + ? r.version + : /* istanbul ignore next: not reachable, but it's safer to preserve it */ semver.coerce( + r.version, + )!, allowedVersions, ), ); @@ -126,24 +130,28 @@ export function filterVersions( return filteredReleases.filter((r) => isReleaseStable(r, versioning)); } - // if current is unstable then allow unstable in the current major only - // Allow unstable only in current major + const currentMajor = versioning.getMajor(currentVersion); + const currentMinor = versioning.getMinor(currentVersion); + const currentPatch = versioning.getPatch(currentVersion); + return filteredReleases.filter((r) => { if (isReleaseStable(r, versioning)) { return true; } - if ( - versioning.getMajor(r.version) !== versioning.getMajor(currentVersion) - ) { + + const major = versioning.getMajor(r.version); + + if (major !== currentMajor) { return false; } - // istanbul ignore if: test passes without touching this + if (versioning.allowUnstableMajorUpgrades) { return true; } - return ( - versioning.getMinor(r.version) === versioning.getMinor(currentVersion) && - versioning.getPatch(r.version) === versioning.getPatch(currentVersion) - ); + + const minor = versioning.getMinor(r.version); + const patch = versioning.getPatch(r.version); + + return minor === currentMinor && patch === currentPatch; }); } From d724f1e4dfbcf1991c8b6f8aef44e3e6b1e7cc81 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 15:48:13 +0000 Subject: [PATCH 46/56] chore(deps): update actions/download-artifact action to v4.1.8 (#30056) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 37bfe658327d54..78b80ba9f9a4c4 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -424,7 +424,7 @@ jobs: show-progress: false - name: Download coverage reports - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: pattern: coverage-* path: coverage @@ -460,7 +460,7 @@ jobs: os: ${{ runner.os }} - name: Download coverage reports - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: pattern: coverage-* path: coverage @@ -620,7 +620,7 @@ jobs: node-version: ${{ env.NODE_VERSION_TEST }} - name: Download package - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 with: name: renovate-package From 8f9964889ad011c58ce38f1c24aef42b2451d966 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 17:48:54 +0200 Subject: [PATCH 47/56] chore(deps): update actions/upload-artifact action to v4.3.4 (#30057) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/build.yml | 6 +++--- .github/workflows/scorecard.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 78b80ba9f9a4c4..fa27126819edb7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -404,7 +404,7 @@ jobs: - name: Save coverage artifacts if: (success() || failure()) && github.event.pull_request.draft != true && matrix.coverage - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: ${{ matrix.upload-artifact-name }} path: | @@ -560,7 +560,7 @@ jobs: run: pnpm test-e2e:pack - name: Upload - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: renovate-package path: renovate-0.0.0-semantic-release.tgz @@ -591,7 +591,7 @@ jobs: run: pnpm test:docs - name: Upload - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: docs path: tmp/docs/ diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index d6d91e20b931ea..0aa63ab58b5011 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -43,7 +43,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: 'Upload artifact' - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: SARIF file path: results.sarif From f5dfe3f2b2e2564a5c0cc3160eb1552efab3fd4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Jul 2024 22:45:41 +0000 Subject: [PATCH 48/56] fix(deps): update ghcr.io/renovatebot/base-image docker tag to v2.24.1 (#30060) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/docker/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 42bb4c1fb3d9d4..3f884162598dc8 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -3,17 +3,17 @@ ARG BASE_IMAGE_TYPE=slim # -------------------------------------- # slim image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.24.0@sha256:f659e0c7589ef608805887ab0d668f67c4b5d5ce0612e62538b17322a92f928d AS slim-base +FROM ghcr.io/renovatebot/base-image:2.24.1@sha256:3ce9895bce94ae22146e4399d49af8a820ec24ec247252c7a4c08fc10badb143 AS slim-base # -------------------------------------- # full image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.24.0-full@sha256:323eb53c3a1706e6bf87d4e8ebf5a2d15de4509b75dab613c7b32ddc5826b49a AS full-base +FROM ghcr.io/renovatebot/base-image:2.24.1-full@sha256:a3ea4cb6d8c804113e1c724427abcc96ec9b447e3cae9e31c1b575ff595ef799 AS full-base # -------------------------------------- # build image # -------------------------------------- -FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:2.24.0@sha256:f659e0c7589ef608805887ab0d668f67c4b5d5ce0612e62538b17322a92f928d AS build +FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:2.24.1@sha256:3ce9895bce94ae22146e4399d49af8a820ec24ec247252c7a4c08fc10badb143 AS build ARG TARGETPLATFORM ARG BUILDPLATFORM From f403b99b3cdd364adb2819f70524df1076d21138 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 11:26:48 +0000 Subject: [PATCH 49/56] fix(deps): update ghcr.io/renovatebot/base-image docker tag to v2.24.2 (#30062) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/docker/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 3f884162598dc8..4c8e77644c7cb0 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -3,17 +3,17 @@ ARG BASE_IMAGE_TYPE=slim # -------------------------------------- # slim image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.24.1@sha256:3ce9895bce94ae22146e4399d49af8a820ec24ec247252c7a4c08fc10badb143 AS slim-base +FROM ghcr.io/renovatebot/base-image:2.24.2@sha256:4e5cb168adf292fd89276831187c8ed0fb174201242597bd368d617850dafaad AS slim-base # -------------------------------------- # full image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.24.1-full@sha256:a3ea4cb6d8c804113e1c724427abcc96ec9b447e3cae9e31c1b575ff595ef799 AS full-base +FROM ghcr.io/renovatebot/base-image:2.24.2-full@sha256:3cb1693cc92b6bdeea34c356b67b5cc623ac1c594c0c68c135055724236ac583 AS full-base # -------------------------------------- # build image # -------------------------------------- -FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:2.24.1@sha256:3ce9895bce94ae22146e4399d49af8a820ec24ec247252c7a4c08fc10badb143 AS build +FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:2.24.2@sha256:4e5cb168adf292fd89276831187c8ed0fb174201242597bd368d617850dafaad AS build ARG TARGETPLATFORM ARG BUILDPLATFORM From c241d0470acf4a8dea44b93501c8a80fde1898ba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 13:31:31 +0000 Subject: [PATCH 50/56] chore(deps): update dependency @swc/core to v1.6.6 (#30063) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 148 ++++++++++++++++++++++++------------------------- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index 64667508800ca5..fbfb35a562ba78 100644 --- a/package.json +++ b/package.json @@ -265,7 +265,7 @@ "@openpgp/web-stream-tools": "0.0.14", "@renovate/eslint-plugin": "file:tools/eslint", "@semantic-release/exec": "6.0.3", - "@swc/core": "1.6.5", + "@swc/core": "1.6.6", "@types/auth-header": "1.0.6", "@types/aws4": "1.11.6", "@types/better-sqlite3": "7.6.10", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9cb9feab4bd024..b45c3624bc5371 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -372,8 +372,8 @@ importers: specifier: 6.0.3 version: 6.0.3(semantic-release@24.0.0(typescript@5.4.5)) '@swc/core': - specifier: 1.6.5 - version: 1.6.5 + specifier: 1.6.6 + version: 1.6.6 '@types/auth-header': specifier: 1.0.6 version: 1.0.6 @@ -532,7 +532,7 @@ importers: version: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jest: specifier: 27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) + version: 27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) eslint-plugin-jest-formatting: specifier: 3.1.0 version: 3.1.0(eslint@8.57.0) @@ -556,16 +556,16 @@ importers: version: 9.0.11 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + version: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) jest-extended: specifier: 4.0.2 - version: 4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5))) + version: 4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5))) jest-mock: specifier: 29.7.0 version: 29.7.0 jest-mock-extended: specifier: 3.0.7 - version: 3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) + version: 3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) jest-snapshot: specifier: 29.7.0 version: 29.7.0 @@ -601,10 +601,10 @@ importers: version: 3.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5) type-fest: specifier: 4.20.1 version: 4.20.1 @@ -1830,68 +1830,68 @@ packages: resolution: {integrity: sha512-wwnrVQdjQxvWGOAiLmqlEhENGCcDIN+XJ/+usPOgSZObAslrCXgKlkX7rNVwIWW2RhPguTKthvF+4AoO0Z6KpA==} engines: {node: '>=16.0.0'} - '@swc/core-darwin-arm64@1.6.5': - resolution: {integrity: sha512-RGQhMdni2v1/ANQ/2K+F+QYdzaucekYBewZcX1ogqJ8G5sbPaBdYdDN1qQ4kHLCIkPtGP6qC7c71qPEqL2RidQ==} + '@swc/core-darwin-arm64@1.6.6': + resolution: {integrity: sha512-5DA8NUGECcbcK1YLKJwNDKqdtTYDVnkfDU1WvQSXq/rU+bjYCLtn5gCe8/yzL7ISXA6rwqPU1RDejhbNt4ARLQ==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.6.5': - resolution: {integrity: sha512-/pSN0/Jtcbbb9+ovS9rKxR3qertpFAM3OEJr/+Dh/8yy7jK5G5EFPIrfsw/7Q5987ERPIJIH6BspK2CBB2tgcg==} + '@swc/core-darwin-x64@1.6.6': + resolution: {integrity: sha512-2nbh/RHpweNRsJiYDFk1KcX7UtaKgzzTNUjwtvK5cp0wWrpbXmPvdlWOx3yzwoiSASDFx78242JHHXCIOlEdsw==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.6.5': - resolution: {integrity: sha512-B0g/dROCE747RRegs/jPHuKJgwXLracDhnqQa80kFdgWEMjlcb7OMCgs5OX86yJGRS4qcYbiMGD0Pp7Kbqn3yw==} + '@swc/core-linux-arm-gnueabihf@1.6.6': + resolution: {integrity: sha512-YgytuyUfR7b0z0SRHKV+ylr83HmgnROgeT7xryEkth6JGpAEHooCspQ4RrWTU8+WKJ7aXiZlGXPgybQ4TiS+TA==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.6.5': - resolution: {integrity: sha512-W8meapgXTq8AOtSvDG4yKR8ant2WWD++yOjgzAleB5VAC+oC+aa8YJROGxj8HepurU8kurqzcialwoMeq5SZZQ==} + '@swc/core-linux-arm64-gnu@1.6.6': + resolution: {integrity: sha512-yGwx9fddzEE0iURqRVwKBQ4IwRHE6hNhl15WliHpi/PcYhzmYkUIpcbRXjr0dssubXAVPVnx6+jZVDSbutvnfg==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.6.5': - resolution: {integrity: sha512-jyCKqoX50Fg8rJUQqh4u5PqnE7nqYKXHjVH2WcYr114/MU21zlsI+YL6aOQU1XP8bJQ2gPQ1rnlnGJdEHiKS/w==} + '@swc/core-linux-arm64-musl@1.6.6': + resolution: {integrity: sha512-a6fMbqzSAsS5KCxFJyg1mD5kwN3ZFO8qQLyJ75R/htZP/eCt05jrhmOI7h2n+1HjiG332jLnZ9S8lkVE5O8Nqw==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.6.5': - resolution: {integrity: sha512-G6HmUn/RRIlXC0YYFfBz2qh6OZkHS/KUPkhoG4X9ADcgWXXjOFh6JrefwsYj8VBAJEnr5iewzjNfj+nztwHaeA==} + '@swc/core-linux-x64-gnu@1.6.6': + resolution: {integrity: sha512-hRGsUKNzzZle28YF0dYIpN0bt9PceR9LaVBq7x8+l9TAaDLFbgksSxcnU/ubTtsy+WsYSYGn+A83w3xWC0O8CQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.6.5': - resolution: {integrity: sha512-AQpBjBnelQDSbeTJA50AXdS6+CP66LsXIMNTwhPSgUfE7Bx1ggZV11Fsi4Q5SGcs6a8Qw1cuYKN57ZfZC5QOuA==} + '@swc/core-linux-x64-musl@1.6.6': + resolution: {integrity: sha512-NokIUtFxJDVv3LzGeEtYMTV3j2dnGKLac59luTeq36DQLZdJQawQIdTbzzWl2jE7lxxTZme+dhsVOH9LxE3ceg==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.6.5': - resolution: {integrity: sha512-MZTWM8kUwS30pVrtbzSGEXtek46aXNb/mT9D6rsS7NvOuv2w+qZhjR1rzf4LNbbn5f8VnR4Nac1WIOYZmfC5ng==} + '@swc/core-win32-arm64-msvc@1.6.6': + resolution: {integrity: sha512-lzYdI4qb4k1dFG26yv+9Jaq/bUMAhgs/2JsrLncGjLof86+uj74wKYCQnbzKAsq2hDtS5DqnHnl+//J+miZfGA==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.6.5': - resolution: {integrity: sha512-WZdu4gISAr3yOm1fVwKhhk6+MrP7kVX0KMP7+ZQFTN5zXQEiDSDunEJKVgjMVj3vlR+6mnAqa/L0V9Qa8+zKlQ==} + '@swc/core-win32-ia32-msvc@1.6.6': + resolution: {integrity: sha512-bvl7FMaXIJQ76WZU0ER4+RyfKIMGb6S2MgRkBhJOOp0i7VFx4WLOnrmMzaeoPJaJSkityVKAftfNh7NBzTIydQ==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.6.5': - resolution: {integrity: sha512-ezXgucnMTzlFIxQZw7ls/5r2hseFaRoDL04cuXUOs97E8r+nJSmFsRQm/ygH5jBeXNo59nyZCalrjJAjwfgACA==} + '@swc/core-win32-x64-msvc@1.6.6': + resolution: {integrity: sha512-WAP0JoCTfgeYKgOeYJoJV4ZS0sQUmU3OwvXa2dYYtMLF7zsNqOiW4niU7QlThBHgUv/qNZm2p6ITEgh3w1cltw==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.6.5': - resolution: {integrity: sha512-tyVvUK/HDOUUsK6/GmWvnqUtD9oDpPUA4f7f7JCOV8hXxtfjMtAZeBKf93yrB1XZet69TDR7EN0hFC6i4MF0Ig==} + '@swc/core@1.6.6': + resolution: {integrity: sha512-sHfmIUPUXNrQTwFMVCY5V5Ena2GTOeaWjS2GFUpjLhAgVfP90OP67DWow7+cYrfFtqBdILHuWnjkTcd0+uPKlg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -7192,7 +7192,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -7206,7 +7206,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -8269,51 +8269,51 @@ snapshots: '@smithy/types': 3.1.0 tslib: 2.6.3 - '@swc/core-darwin-arm64@1.6.5': + '@swc/core-darwin-arm64@1.6.6': optional: true - '@swc/core-darwin-x64@1.6.5': + '@swc/core-darwin-x64@1.6.6': optional: true - '@swc/core-linux-arm-gnueabihf@1.6.5': + '@swc/core-linux-arm-gnueabihf@1.6.6': optional: true - '@swc/core-linux-arm64-gnu@1.6.5': + '@swc/core-linux-arm64-gnu@1.6.6': optional: true - '@swc/core-linux-arm64-musl@1.6.5': + '@swc/core-linux-arm64-musl@1.6.6': optional: true - '@swc/core-linux-x64-gnu@1.6.5': + '@swc/core-linux-x64-gnu@1.6.6': optional: true - '@swc/core-linux-x64-musl@1.6.5': + '@swc/core-linux-x64-musl@1.6.6': optional: true - '@swc/core-win32-arm64-msvc@1.6.5': + '@swc/core-win32-arm64-msvc@1.6.6': optional: true - '@swc/core-win32-ia32-msvc@1.6.5': + '@swc/core-win32-ia32-msvc@1.6.6': optional: true - '@swc/core-win32-x64-msvc@1.6.5': + '@swc/core-win32-x64-msvc@1.6.6': optional: true - '@swc/core@1.6.5': + '@swc/core@1.6.6': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.9 optionalDependencies: - '@swc/core-darwin-arm64': 1.6.5 - '@swc/core-darwin-x64': 1.6.5 - '@swc/core-linux-arm-gnueabihf': 1.6.5 - '@swc/core-linux-arm64-gnu': 1.6.5 - '@swc/core-linux-arm64-musl': 1.6.5 - '@swc/core-linux-x64-gnu': 1.6.5 - '@swc/core-linux-x64-musl': 1.6.5 - '@swc/core-win32-arm64-msvc': 1.6.5 - '@swc/core-win32-ia32-msvc': 1.6.5 - '@swc/core-win32-x64-msvc': 1.6.5 + '@swc/core-darwin-arm64': 1.6.6 + '@swc/core-darwin-x64': 1.6.6 + '@swc/core-linux-arm-gnueabihf': 1.6.6 + '@swc/core-linux-arm64-gnu': 1.6.6 + '@swc/core-linux-arm64-musl': 1.6.6 + '@swc/core-linux-x64-gnu': 1.6.6 + '@swc/core-linux-x64-musl': 1.6.6 + '@swc/core-win32-arm64-msvc': 1.6.6 + '@swc/core-win32-ia32-msvc': 1.6.6 + '@swc/core-win32-x64-msvc': 1.6.6 '@swc/counter@0.1.3': {} @@ -9315,13 +9315,13 @@ snapshots: optionalDependencies: typescript: 5.4.5 - create-jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)): + create-jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -9752,13 +9752,13 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) transitivePeerDependencies: - supports-color - typescript @@ -10717,16 +10717,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)): + jest-cli@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + create-jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -10736,7 +10736,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)): + jest-config@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -10762,7 +10762,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.19.39 - ts-node: 10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5) + ts-node: 10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -10795,12 +10795,12 @@ snapshots: jest-mock: 29.7.0 jest-util: 29.7.0 - jest-extended@4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5))): + jest-extended@4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5))): dependencies: jest-diff: 29.7.0 jest-get-type: 29.6.3 optionalDependencies: - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) jest-get-type@29.6.3: {} @@ -10851,9 +10851,9 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock-extended@3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): + jest-mock-extended@3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): dependencies: - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) ts-essentials: 10.0.0(typescript@5.4.5) typescript: 5.4.5 @@ -11002,12 +11002,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)): + jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest-cli: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -12654,11 +12654,11 @@ snapshots: optionalDependencies: typescript: 5.4.5 - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -12672,7 +12672,7 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.7) - ts-node@10.9.2(@swc/core@1.6.5)(@types/node@18.19.39)(typescript@5.4.5): + ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -12690,7 +12690,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.6.5 + '@swc/core': 1.6.6 tsconfig-paths@3.15.0: dependencies: From f69b171354adecd7d53b313259acf00f50e9bf92 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 13:45:26 +0000 Subject: [PATCH 51/56] chore(deps): update dependency @swc/core to v1.6.12 (#30064) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 148 ++++++++++++++++++++++++------------------------- 2 files changed, 75 insertions(+), 75 deletions(-) diff --git a/package.json b/package.json index fbfb35a562ba78..b209d9fa758f32 100644 --- a/package.json +++ b/package.json @@ -265,7 +265,7 @@ "@openpgp/web-stream-tools": "0.0.14", "@renovate/eslint-plugin": "file:tools/eslint", "@semantic-release/exec": "6.0.3", - "@swc/core": "1.6.6", + "@swc/core": "1.6.12", "@types/auth-header": "1.0.6", "@types/aws4": "1.11.6", "@types/better-sqlite3": "7.6.10", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b45c3624bc5371..95c49ae317ac11 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -372,8 +372,8 @@ importers: specifier: 6.0.3 version: 6.0.3(semantic-release@24.0.0(typescript@5.4.5)) '@swc/core': - specifier: 1.6.6 - version: 1.6.6 + specifier: 1.6.12 + version: 1.6.12 '@types/auth-header': specifier: 1.0.6 version: 1.0.6 @@ -532,7 +532,7 @@ importers: version: 2.29.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-jest: specifier: 27.9.0 - version: 27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) + version: 27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) eslint-plugin-jest-formatting: specifier: 3.1.0 version: 3.1.0(eslint@8.57.0) @@ -556,16 +556,16 @@ importers: version: 9.0.11 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + version: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) jest-extended: specifier: 4.0.2 - version: 4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5))) + version: 4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5))) jest-mock: specifier: 29.7.0 version: 29.7.0 jest-mock-extended: specifier: 3.0.7 - version: 3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) + version: 3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) jest-snapshot: specifier: 29.7.0 version: 29.7.0 @@ -601,10 +601,10 @@ importers: version: 3.0.3 ts-jest: specifier: 29.1.5 - version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) + version: 29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5) ts-node: specifier: 10.9.2 - version: 10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5) + version: 10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5) type-fest: specifier: 4.20.1 version: 4.20.1 @@ -1830,68 +1830,68 @@ packages: resolution: {integrity: sha512-wwnrVQdjQxvWGOAiLmqlEhENGCcDIN+XJ/+usPOgSZObAslrCXgKlkX7rNVwIWW2RhPguTKthvF+4AoO0Z6KpA==} engines: {node: '>=16.0.0'} - '@swc/core-darwin-arm64@1.6.6': - resolution: {integrity: sha512-5DA8NUGECcbcK1YLKJwNDKqdtTYDVnkfDU1WvQSXq/rU+bjYCLtn5gCe8/yzL7ISXA6rwqPU1RDejhbNt4ARLQ==} + '@swc/core-darwin-arm64@1.6.12': + resolution: {integrity: sha512-aVDdQ5BNn6pFedCZIE/756rGo+6P7ue1sYtTseBlGe94yfj6jr0I7nAffBnXAA9cbQ46aMtmKvVfv023HmUwNg==} engines: {node: '>=10'} cpu: [arm64] os: [darwin] - '@swc/core-darwin-x64@1.6.6': - resolution: {integrity: sha512-2nbh/RHpweNRsJiYDFk1KcX7UtaKgzzTNUjwtvK5cp0wWrpbXmPvdlWOx3yzwoiSASDFx78242JHHXCIOlEdsw==} + '@swc/core-darwin-x64@1.6.12': + resolution: {integrity: sha512-ud+wlkWdQKawtpdjWNP2+ZLiwZU2xkKuC3L8uhlLy6MGNmRl6OGIpD/ASEDfOy3O77UhrjYRuOiOxsgBmXwuow==} engines: {node: '>=10'} cpu: [x64] os: [darwin] - '@swc/core-linux-arm-gnueabihf@1.6.6': - resolution: {integrity: sha512-YgytuyUfR7b0z0SRHKV+ylr83HmgnROgeT7xryEkth6JGpAEHooCspQ4RrWTU8+WKJ7aXiZlGXPgybQ4TiS+TA==} + '@swc/core-linux-arm-gnueabihf@1.6.12': + resolution: {integrity: sha512-I5370gbWGsyrlgQQ0bB3j2TALUTr/AZpOXFbwhB45HsUwpV+W1ZpuB0L5d6uzlX+UvMtoNXtUYiDCcdFWw2UXA==} engines: {node: '>=10'} cpu: [arm] os: [linux] - '@swc/core-linux-arm64-gnu@1.6.6': - resolution: {integrity: sha512-yGwx9fddzEE0iURqRVwKBQ4IwRHE6hNhl15WliHpi/PcYhzmYkUIpcbRXjr0dssubXAVPVnx6+jZVDSbutvnfg==} + '@swc/core-linux-arm64-gnu@1.6.12': + resolution: {integrity: sha512-5SzAKf+rzsTwU/OCbEF+v7sUO5DVHbM5v2nYhZf8Otq4Lqphr9X65CIlmyakv77s7vIN4IrX+e8FOffSVF+OpQ==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-arm64-musl@1.6.6': - resolution: {integrity: sha512-a6fMbqzSAsS5KCxFJyg1mD5kwN3ZFO8qQLyJ75R/htZP/eCt05jrhmOI7h2n+1HjiG332jLnZ9S8lkVE5O8Nqw==} + '@swc/core-linux-arm64-musl@1.6.12': + resolution: {integrity: sha512-Hsy04ZPUSs6oti2ZqCoMa+3r9wBU/rhEyYYoTiqWKtdH2zxqXyph8ZfEdJfAop5STX6w318iqMiAh0p7TBM3ew==} engines: {node: '>=10'} cpu: [arm64] os: [linux] - '@swc/core-linux-x64-gnu@1.6.6': - resolution: {integrity: sha512-hRGsUKNzzZle28YF0dYIpN0bt9PceR9LaVBq7x8+l9TAaDLFbgksSxcnU/ubTtsy+WsYSYGn+A83w3xWC0O8CQ==} + '@swc/core-linux-x64-gnu@1.6.12': + resolution: {integrity: sha512-86PsFFQsTXdJWXM/VjNLNE2s0JFB05Pi6DwSOa2/5g7HIHk1QuD8TCusB4zcky4F3MX78QDRHKLpxIEnOV6Tnw==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-linux-x64-musl@1.6.6': - resolution: {integrity: sha512-NokIUtFxJDVv3LzGeEtYMTV3j2dnGKLac59luTeq36DQLZdJQawQIdTbzzWl2jE7lxxTZme+dhsVOH9LxE3ceg==} + '@swc/core-linux-x64-musl@1.6.12': + resolution: {integrity: sha512-qqylxwMWRVYh0XiozJLajX25yqCABkaySGS1eNXIDQsc7uV8Z7qq5OB07Ilpm6FxIkyRnrjUfGG9WO4UfBWiXQ==} engines: {node: '>=10'} cpu: [x64] os: [linux] - '@swc/core-win32-arm64-msvc@1.6.6': - resolution: {integrity: sha512-lzYdI4qb4k1dFG26yv+9Jaq/bUMAhgs/2JsrLncGjLof86+uj74wKYCQnbzKAsq2hDtS5DqnHnl+//J+miZfGA==} + '@swc/core-win32-arm64-msvc@1.6.12': + resolution: {integrity: sha512-nl6/7kOKSx5R4j25yANfKJntJpFy41bAIhEcI3bpm8Xay2BDp6YrDQtpaYT/MeBFzg6EUWg/YYQLcOhZsSvmaw==} engines: {node: '>=10'} cpu: [arm64] os: [win32] - '@swc/core-win32-ia32-msvc@1.6.6': - resolution: {integrity: sha512-bvl7FMaXIJQ76WZU0ER4+RyfKIMGb6S2MgRkBhJOOp0i7VFx4WLOnrmMzaeoPJaJSkityVKAftfNh7NBzTIydQ==} + '@swc/core-win32-ia32-msvc@1.6.12': + resolution: {integrity: sha512-GfWyYotHr3u6QvmGxagcIOiheK/fxP/+CTJ+SdtkADBHGLfgs/Bc9ePqzTY033sdjTVzPCOujV/JRVizmOnavA==} engines: {node: '>=10'} cpu: [ia32] os: [win32] - '@swc/core-win32-x64-msvc@1.6.6': - resolution: {integrity: sha512-WAP0JoCTfgeYKgOeYJoJV4ZS0sQUmU3OwvXa2dYYtMLF7zsNqOiW4niU7QlThBHgUv/qNZm2p6ITEgh3w1cltw==} + '@swc/core-win32-x64-msvc@1.6.12': + resolution: {integrity: sha512-W00XNkFQnGf+2JXTPjxg3qhgYfblETXqeQBN1nAg2OXoMuvyU+xs+Qp9CryO+mOGt613GlZ/etmOvkC2xX1l7Q==} engines: {node: '>=10'} cpu: [x64] os: [win32] - '@swc/core@1.6.6': - resolution: {integrity: sha512-sHfmIUPUXNrQTwFMVCY5V5Ena2GTOeaWjS2GFUpjLhAgVfP90OP67DWow7+cYrfFtqBdILHuWnjkTcd0+uPKlg==} + '@swc/core@1.6.12': + resolution: {integrity: sha512-XWS4fQrmZUsMUOzKWZHoSO5sBNUlLpbi++WpCtGyoXC279IKBnWL90YS7SxjYudiKuGDBWrS7Ph25yN63vTZYg==} engines: {node: '>=10'} peerDependencies: '@swc/helpers': '*' @@ -7192,7 +7192,7 @@ snapshots: jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5))': + '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -7206,7 +7206,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -8269,51 +8269,51 @@ snapshots: '@smithy/types': 3.1.0 tslib: 2.6.3 - '@swc/core-darwin-arm64@1.6.6': + '@swc/core-darwin-arm64@1.6.12': optional: true - '@swc/core-darwin-x64@1.6.6': + '@swc/core-darwin-x64@1.6.12': optional: true - '@swc/core-linux-arm-gnueabihf@1.6.6': + '@swc/core-linux-arm-gnueabihf@1.6.12': optional: true - '@swc/core-linux-arm64-gnu@1.6.6': + '@swc/core-linux-arm64-gnu@1.6.12': optional: true - '@swc/core-linux-arm64-musl@1.6.6': + '@swc/core-linux-arm64-musl@1.6.12': optional: true - '@swc/core-linux-x64-gnu@1.6.6': + '@swc/core-linux-x64-gnu@1.6.12': optional: true - '@swc/core-linux-x64-musl@1.6.6': + '@swc/core-linux-x64-musl@1.6.12': optional: true - '@swc/core-win32-arm64-msvc@1.6.6': + '@swc/core-win32-arm64-msvc@1.6.12': optional: true - '@swc/core-win32-ia32-msvc@1.6.6': + '@swc/core-win32-ia32-msvc@1.6.12': optional: true - '@swc/core-win32-x64-msvc@1.6.6': + '@swc/core-win32-x64-msvc@1.6.12': optional: true - '@swc/core@1.6.6': + '@swc/core@1.6.12': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.9 optionalDependencies: - '@swc/core-darwin-arm64': 1.6.6 - '@swc/core-darwin-x64': 1.6.6 - '@swc/core-linux-arm-gnueabihf': 1.6.6 - '@swc/core-linux-arm64-gnu': 1.6.6 - '@swc/core-linux-arm64-musl': 1.6.6 - '@swc/core-linux-x64-gnu': 1.6.6 - '@swc/core-linux-x64-musl': 1.6.6 - '@swc/core-win32-arm64-msvc': 1.6.6 - '@swc/core-win32-ia32-msvc': 1.6.6 - '@swc/core-win32-x64-msvc': 1.6.6 + '@swc/core-darwin-arm64': 1.6.12 + '@swc/core-darwin-x64': 1.6.12 + '@swc/core-linux-arm-gnueabihf': 1.6.12 + '@swc/core-linux-arm64-gnu': 1.6.12 + '@swc/core-linux-arm64-musl': 1.6.12 + '@swc/core-linux-x64-gnu': 1.6.12 + '@swc/core-linux-x64-musl': 1.6.12 + '@swc/core-win32-arm64-msvc': 1.6.12 + '@swc/core-win32-ia32-msvc': 1.6.12 + '@swc/core-win32-x64-msvc': 1.6.12 '@swc/counter@0.1.3': {} @@ -9315,13 +9315,13 @@ snapshots: optionalDependencies: typescript: 5.4.5 - create-jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): + create-jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -9752,13 +9752,13 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) transitivePeerDependencies: - supports-color - typescript @@ -10717,16 +10717,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): + jest-cli@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + create-jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest-config: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -10736,7 +10736,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): + jest-config@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -10762,7 +10762,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 18.19.39 - ts-node: 10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5) + ts-node: 10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -10795,12 +10795,12 @@ snapshots: jest-mock: 29.7.0 jest-util: 29.7.0 - jest-extended@4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5))): + jest-extended@4.0.2(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5))): dependencies: jest-diff: 29.7.0 jest-get-type: 29.6.3 optionalDependencies: - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) jest-get-type@29.6.3: {} @@ -10851,9 +10851,9 @@ snapshots: slash: 3.0.0 stack-utils: 2.0.6 - jest-mock-extended@3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): + jest-mock-extended@3.0.7(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): dependencies: - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) ts-essentials: 10.0.0(typescript@5.4.5) typescript: 5.4.5 @@ -11002,12 +11002,12 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)): + jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest-cli: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -12654,11 +12654,11 @@ snapshots: optionalDependencies: typescript: 5.4.5 - ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): + ts-jest@29.1.5(@babel/core@7.24.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.7))(jest@29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)))(typescript@5.4.5): dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5)) + jest: 29.7.0(@types/node@18.19.39)(ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -12672,7 +12672,7 @@ snapshots: '@jest/types': 29.6.3 babel-jest: 29.7.0(@babel/core@7.24.7) - ts-node@10.9.2(@swc/core@1.6.6)(@types/node@18.19.39)(typescript@5.4.5): + ts-node@10.9.2(@swc/core@1.6.12)(@types/node@18.19.39)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -12690,7 +12690,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.6.6 + '@swc/core': 1.6.12 tsconfig-paths@3.15.0: dependencies: From 5ce4999e4cc19960517ceb157bdb4fcfe47d44a8 Mon Sep 17 00:00:00 2001 From: Pratik Gupta <66073063+inomag@users.noreply.github.com> Date: Sat, 6 Jul 2024 23:37:18 +0530 Subject: [PATCH 52/56] refactor: extends doc migration (#30065) --- lib/config/presets/internal/group.ts | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/lib/config/presets/internal/group.ts b/lib/config/presets/internal/group.ts index 2a9756eb5d5e6c..a7100038e935bf 100644 --- a/lib/config/presets/internal/group.ts +++ b/lib/config/presets/internal/group.ts @@ -27,7 +27,7 @@ const staticGroups = { description: 'Group all packages published by Apollo GraphQL together.', packageRules: [ { - extends: 'packages:apollographql', + extends: ['packages:apollographql'], groupName: 'Apollo GraphQL packages', }, ], @@ -130,7 +130,7 @@ const staticGroups = { description: 'Group `googleapis` packages together.', packageRules: [ { - extends: 'packages:googleapis', + extends: ['packages:googleapis'], groupName: 'googleapis packages', }, ], @@ -228,7 +228,7 @@ const staticGroups = { description: 'Group JS test packages together.', packageRules: [ { - extends: 'packages:jsTest', + extends: ['packages:jsTest'], groupName: 'JS test packages', }, ], @@ -237,7 +237,7 @@ const staticGroups = { description: 'Group non-major JS test package updates together.', packageRules: [ { - extends: 'packages:jsTest', + extends: ['packages:jsTest'], groupName: 'JS test packages', matchUpdateTypes: ['minor', 'patch'], }, @@ -247,7 +247,7 @@ const staticGroups = { description: 'Group JavaScript unit test packages together.', packageRules: [ { - extends: 'packages:jsUnitTest', + extends: ['packages:jsUnitTest'], groupName: 'JS unit test packages', }, ], @@ -257,7 +257,7 @@ const staticGroups = { 'Group JavaScipt unit test packages together for non-major updates.', packageRules: [ { - extends: 'packages:jsUnitTest', + extends: ['packages:jsUnitTest'], groupName: 'JS unit test packages', matchUpdateTypes: ['minor', 'patch'], }, @@ -316,7 +316,7 @@ const staticGroups = { description: 'Group various lint packages together.', packageRules: [ { - extends: 'packages:linters', + extends: ['packages:linters'], groupName: 'linters', }, ], @@ -361,7 +361,7 @@ const staticGroups = { description: 'Group PostCSS packages together.', packageRules: [ { - extends: 'packages:postcss', + extends: ['packages:postcss'], groupName: 'postcss packages', }, ], @@ -756,7 +756,7 @@ const staticGroups = { description: 'Group all test packages together.', packageRules: [ { - extends: 'packages:test', + extends: ['packages:test'], groupName: 'test packages', }, ], @@ -765,7 +765,7 @@ const staticGroups = { description: 'Group all non-major test package updates together.', packageRules: [ { - extends: 'packages:test', + extends: ['packages:test'], groupName: 'test packages', matchUpdateTypes: ['minor', 'patch'], }, @@ -775,7 +775,7 @@ const staticGroups = { description: 'Group all unit test packages together.', packageRules: [ { - extends: 'packages:unitTest', + extends: ['packages:unitTest'], groupName: 'unit test packages', }, ], @@ -784,7 +784,7 @@ const staticGroups = { description: 'Group all unit test packages together for non-major updates.', packageRules: [ { - extends: 'packages:unitTest', + extends: ['packages:unitTest'], groupName: 'unit test packages', matchUpdateTypes: ['minor', 'patch'], }, @@ -794,7 +794,7 @@ const staticGroups = { description: 'Group all Vite related packages together.', packageRules: [ { - extends: 'packages:vite', + extends: ['packages:vite'], groupName: 'Vite packages', }, ], @@ -811,7 +811,7 @@ for (const monorepo of Object.keys(monorepos.presets)) { packageRules: [ { description: `Group packages from ${monorepo} monorepo together.`, - extends: `monorepo:${monorepo}`, + extends: [`monorepo:${monorepo}`], groupName: `${monorepo} monorepo`, matchUpdateTypes: nonPinUpdateTypes, }, From a1708c06828c77293bc041e59989f32c506c0a15 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 7 Jul 2024 00:38:59 +0000 Subject: [PATCH 53/56] fix(deps): update ghcr.io/renovatebot/base-image docker tag to v2.24.3 (#30070) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- tools/docker/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile index 4c8e77644c7cb0..47729565193956 100644 --- a/tools/docker/Dockerfile +++ b/tools/docker/Dockerfile @@ -3,17 +3,17 @@ ARG BASE_IMAGE_TYPE=slim # -------------------------------------- # slim image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.24.2@sha256:4e5cb168adf292fd89276831187c8ed0fb174201242597bd368d617850dafaad AS slim-base +FROM ghcr.io/renovatebot/base-image:2.24.3@sha256:e7704e885fb948f01b9b81430b1f80f5c14169db9cc89a92d2a781fd1e2d2f12 AS slim-base # -------------------------------------- # full image # -------------------------------------- -FROM ghcr.io/renovatebot/base-image:2.24.2-full@sha256:3cb1693cc92b6bdeea34c356b67b5cc623ac1c594c0c68c135055724236ac583 AS full-base +FROM ghcr.io/renovatebot/base-image:2.24.3-full@sha256:1804690db9a7dbb1a225aa519bb7da748b0dfc3bb2a4569eef9e5889cd61ee93 AS full-base # -------------------------------------- # build image # -------------------------------------- -FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:2.24.2@sha256:4e5cb168adf292fd89276831187c8ed0fb174201242597bd368d617850dafaad AS build +FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:2.24.3@sha256:e7704e885fb948f01b9b81430b1f80f5c14169db9cc89a92d2a781fd1e2d2f12 AS build ARG TARGETPLATFORM ARG BUILDPLATFORM From 06349b9ac760082dd9ee86f0bb019b75411a7615 Mon Sep 17 00:00:00 2001 From: super-mcgin <103895120+super-mcgin@users.noreply.github.com> Date: Sun, 7 Jul 2024 10:20:44 +0100 Subject: [PATCH 54/56] feat(datasource/docker): Enable additional authentication mechansim for private ECR repositories (#30053) --- docs/usage/docker.md | 23 ++++++++++++++++++ lib/modules/datasource/docker/ecr.ts | 10 +++++++- lib/modules/datasource/docker/index.spec.ts | 27 +++++++++++++++++++++ 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/docs/usage/docker.md b/docs/usage/docker.md index 4044921c9ca090..43b0113102ce8b 100644 --- a/docs/usage/docker.md +++ b/docs/usage/docker.md @@ -237,6 +237,8 @@ module.exports = { #### AWS ECR (Amazon Web Services Elastic Container Registry) +#### Using access key id & secret + Renovate can authenticate with AWS ECR using AWS access key id & secret as the username & password, for example: ```json @@ -254,6 +256,27 @@ Renovate can authenticate with AWS ECR using AWS access key id & secret as the u } ``` +##### Using `get-login-password` + +Renovate can also authenticate with AWS ECR using the output from the `aws ecr get-login-password` command as outlined in +the [AWS documentation](https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html#registry-auth-token). +To make use of this authentication mechanism, specify the username as `AWS`: + +```json +{ + "hostRules": [ + { + "hostType": "docker", + "matchHost": "12345612312.dkr.ecr.us-east-1.amazonaws.com", + "username": "AWS", + "encrypted": { + "password": "w...A" + } + } + ] +} +``` + #### Google Container Registry / Google Artifact Registry ##### Using Application Default Credentials / Workload Identity (Self-Hosted only) diff --git a/lib/modules/datasource/docker/ecr.ts b/lib/modules/datasource/docker/ecr.ts index f90a6608495a5b..4a2d1be216f777 100644 --- a/lib/modules/datasource/docker/ecr.ts +++ b/lib/modules/datasource/docker/ecr.ts @@ -16,7 +16,15 @@ export async function getECRAuthToken( opts: HostRule, ): Promise { const config: ECRClientConfig = { region }; - if (opts.username && opts.password) { + if (opts.username === `AWS` && opts.password) { + logger.trace( + `AWS user specified, encoding basic auth credentials for ECR registry`, + ); + return Buffer.from(`AWS:${opts.password}`).toString('base64'); + } else if (opts.username && opts.password) { + logger.trace( + `Using AWS accessKey to get Authorization token for ECR registry`, + ); config.credentials = { accessKeyId: opts.username, secretAccessKey: opts.password, diff --git a/lib/modules/datasource/docker/index.spec.ts b/lib/modules/datasource/docker/index.spec.ts index 52a8fef2588ac2..96e576aa07a261 100644 --- a/lib/modules/datasource/docker/index.spec.ts +++ b/lib/modules/datasource/docker/index.spec.ts @@ -358,6 +358,33 @@ describe('modules/datasource/docker/index', () => { expect(res).toBeNull(); }); + it('supports ECR authentication for private repositories', async () => { + httpMock + .scope(amazonUrl) + .get('/') + .reply(401, '', { + 'www-authenticate': 'Basic realm="My Private Docker Registry Server"', + }) + .head('/node/manifests/some-tag') + .matchHeader('authorization', 'Basic QVdTOnNvbWUtcGFzc3dvcmQ=') + .reply(200, '', { 'docker-content-digest': 'some-digest' }); + + hostRules.find.mockReturnValue({ + username: 'AWS', + password: 'some-password', + }); + + const res = await getDigest( + { + datasource: 'docker', + packageName: '123456789.dkr.ecr.us-east-1.amazonaws.com/node', + }, + 'some-tag', + ); + + expect(res).toBe('some-digest'); + }); + it('supports Google ADC authentication for gcr', async () => { httpMock .scope(gcrUrl) From 5eacc5e16f2bc21def65f7a277d24add4f44b395 Mon Sep 17 00:00:00 2001 From: Sergei Zharinov Date: Sun, 7 Jul 2024 06:39:37 -0300 Subject: [PATCH 55/56] fix: Use versioning comparison for release lookup filtering (#30059) --- .../repository/process/lookup/filter.spec.ts | 29 +++++++++++++++++++ .../repository/process/lookup/filter.ts | 9 +++++- 2 files changed, 37 insertions(+), 1 deletion(-) diff --git a/lib/workers/repository/process/lookup/filter.spec.ts b/lib/workers/repository/process/lookup/filter.spec.ts index 5fe0a6a9acd97b..e445a9b0fdffdb 100644 --- a/lib/workers/repository/process/lookup/filter.spec.ts +++ b/lib/workers/repository/process/lookup/filter.spec.ts @@ -81,5 +81,34 @@ describe('workers/repository/process/lookup/filter', () => { expect(filteredVersions).toEqual([{ version: '1.2.3-beta' }]); }); + + it('ignores version insufficient prefixes', () => { + const releases = [ + { version: '1.0.1' }, + { version: '1.2.0' }, + { version: '2.0.0', isDeprecated: true }, + { version: '2.1.0' }, + ] satisfies Release[]; + + const config = partial({ + ignoreUnstable: true, + ignoreDeprecated: true, + }); + const currentVersion = 'v1.0.1'; + const latestVersion = 'v2.0.0'; + + const filteredVersions = filterVersions( + config, + currentVersion, + latestVersion, + releases, + versioning, + ); + + expect(filteredVersions).toEqual([ + { version: '1.2.0' }, + { version: '2.1.0' }, + ]); + }); }); }); diff --git a/lib/workers/repository/process/lookup/filter.ts b/lib/workers/repository/process/lookup/filter.ts index 71e85ec3d1c57d..7c2bd0aa2619be 100644 --- a/lib/workers/repository/process/lookup/filter.ts +++ b/lib/workers/repository/process/lookup/filter.ts @@ -43,7 +43,14 @@ export function filterVersions( versioning.isGreaterThan(r.version, currentVersion), ); - const currentRelease = releases.find((r) => r.version === currentVersion); + const currentRelease = releases.find( + (r) => + versioning.isValid(r.version) && + versioning.isVersion(r.version) && + versioning.isValid(currentVersion) && + versioning.isVersion(currentVersion) && + versioning.equals(r.version, currentVersion), + ); // Don't upgrade from non-deprecated to deprecated if (ignoreDeprecated && currentRelease && !currentRelease.isDeprecated) { From 95a7af366652b175b1aa3d6792265886c7a4fea0 Mon Sep 17 00:00:00 2001 From: Aleksandr Mezin Date: Sun, 7 Jul 2024 17:16:07 +0300 Subject: [PATCH 56/56] refactor: extract commitMessage and prTitle functions (#30049) --- lib/workers/repository/updates/generate.ts | 182 +++++++++++---------- 1 file changed, 97 insertions(+), 85 deletions(-) diff --git a/lib/workers/repository/updates/generate.ts b/lib/workers/repository/updates/generate.ts index 81ea7801975905..2072995ccf2891 100644 --- a/lib/workers/repository/updates/generate.ts +++ b/lib/workers/repository/updates/generate.ts @@ -64,6 +64,101 @@ function getTableValues(upgrade: BranchUpgradeConfig): string[] | null { return null; } +function compileCommitMessage(upgrade: BranchUpgradeConfig): string { + if (upgrade.semanticCommits === 'enabled' && !upgrade.commitMessagePrefix) { + logger.trace('Upgrade has semantic commits enabled'); + let semanticPrefix = upgrade.semanticCommitType; + if (upgrade.semanticCommitScope) { + semanticPrefix += `(${template.compile( + upgrade.semanticCommitScope, + upgrade, + )})`; + } + upgrade.commitMessagePrefix = CommitMessage.formatPrefix(semanticPrefix!); + upgrade.toLowerCase = + regEx(/[A-Z]/).exec(upgrade.semanticCommitType!) === null && + !upgrade.semanticCommitType!.startsWith(':'); + } + + // Compile a few times in case there are nested templates + upgrade.commitMessage = template.compile( + upgrade.commitMessage ?? '', + upgrade, + ); + upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade); + upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade); + // istanbul ignore if + if (upgrade.commitMessage !== sanitize(upgrade.commitMessage)) { + logger.debug( + { branchName: upgrade.branchName }, + 'Secrets exposed in commit message', + ); + throw new Error(CONFIG_SECRETS_EXPOSED); + } + upgrade.commitMessage = upgrade.commitMessage.trim(); // Trim exterior whitespace + upgrade.commitMessage = upgrade.commitMessage.replace(regEx(/\s+/g), ' '); // Trim extra whitespace inside string + upgrade.commitMessage = upgrade.commitMessage.replace( + regEx(/to vv(\d)/), + 'to v$1', + ); + if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') { + // We only need to lowercase the first line + const splitMessage = upgrade.commitMessage.split(newlineRegex); + splitMessage[0] = splitMessage[0].toLowerCase(); + upgrade.commitMessage = splitMessage.join('\n'); + } + + logger.trace(`commitMessage: ` + JSON.stringify(upgrade.commitMessage)); + return upgrade.commitMessage; +} + +function compilePrTitle( + upgrade: BranchUpgradeConfig, + commitMessage: string, +): void { + if (upgrade.prTitle) { + upgrade.prTitle = template.compile(upgrade.prTitle, upgrade); + upgrade.prTitle = template.compile(upgrade.prTitle, upgrade); + upgrade.prTitle = template + .compile(upgrade.prTitle, upgrade) + .trim() + .replace(regEx(/\s+/g), ' '); + // istanbul ignore if + if (upgrade.prTitle !== sanitize(upgrade.prTitle)) { + logger.debug( + { branchName: upgrade.branchName }, + 'Secrets were exposed in PR title', + ); + throw new Error(CONFIG_SECRETS_EXPOSED); + } + if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') { + upgrade.prTitle = upgrade.prTitle.toLowerCase(); + } + } else { + [upgrade.prTitle] = commitMessage.split(newlineRegex); + } + if (!upgrade.prTitleStrict) { + upgrade.prTitle += upgrade.hasBaseBranches ? ' ({{baseBranch}})' : ''; + if (upgrade.isGroup) { + upgrade.prTitle += + upgrade.updateType === 'major' && upgrade.separateMajorMinor + ? ' (major)' + : ''; + upgrade.prTitle += + upgrade.updateType === 'minor' && upgrade.separateMinorPatch + ? ' (minor)' + : ''; + upgrade.prTitle += + upgrade.updateType === 'patch' && upgrade.separateMinorPatch + ? ' (patch)' + : ''; + } + } + // Compile again to allow for nested templates + upgrade.prTitle = template.compile(upgrade.prTitle, upgrade); + logger.trace(`prTitle: ` + JSON.stringify(upgrade.prTitle)); +} + export function generateBranchConfig( upgrades: BranchUpgradeConfig[], ): BranchConfig { @@ -208,91 +303,8 @@ export function generateBranchConfig( upgrade.isRange = false; } // Use templates to generate strings - if (upgrade.semanticCommits === 'enabled' && !upgrade.commitMessagePrefix) { - logger.trace('Upgrade has semantic commits enabled'); - let semanticPrefix = upgrade.semanticCommitType; - if (upgrade.semanticCommitScope) { - semanticPrefix += `(${template.compile( - upgrade.semanticCommitScope, - upgrade, - )})`; - } - upgrade.commitMessagePrefix = CommitMessage.formatPrefix(semanticPrefix!); - upgrade.toLowerCase = - regEx(/[A-Z]/).exec(upgrade.semanticCommitType!) === null && - !upgrade.semanticCommitType!.startsWith(':'); - } - - // Compile a few times in case there are nested templates - upgrade.commitMessage = template.compile( - upgrade.commitMessage ?? '', - upgrade, - ); - upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade); - upgrade.commitMessage = template.compile(upgrade.commitMessage, upgrade); - // istanbul ignore if - if (upgrade.commitMessage !== sanitize(upgrade.commitMessage)) { - logger.debug( - { branchName: config.branchName }, - 'Secrets exposed in commit message', - ); - throw new Error(CONFIG_SECRETS_EXPOSED); - } - upgrade.commitMessage = upgrade.commitMessage.trim(); // Trim exterior whitespace - upgrade.commitMessage = upgrade.commitMessage.replace(regEx(/\s+/g), ' '); // Trim extra whitespace inside string - upgrade.commitMessage = upgrade.commitMessage.replace( - regEx(/to vv(\d)/), - 'to v$1', - ); - if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') { - // We only need to lowercase the first line - const splitMessage = upgrade.commitMessage.split(newlineRegex); - splitMessage[0] = splitMessage[0].toLowerCase(); - upgrade.commitMessage = splitMessage.join('\n'); - } - - logger.trace(`commitMessage: ` + JSON.stringify(upgrade.commitMessage)); - if (upgrade.prTitle) { - upgrade.prTitle = template.compile(upgrade.prTitle, upgrade); - upgrade.prTitle = template.compile(upgrade.prTitle, upgrade); - upgrade.prTitle = template - .compile(upgrade.prTitle, upgrade) - .trim() - .replace(regEx(/\s+/g), ' '); - // istanbul ignore if - if (upgrade.prTitle !== sanitize(upgrade.prTitle)) { - logger.debug( - { branchName: config.branchName }, - 'Secrets were exposed in PR title', - ); - throw new Error(CONFIG_SECRETS_EXPOSED); - } - if (upgrade.toLowerCase && upgrade.commitMessageLowerCase !== 'never') { - upgrade.prTitle = upgrade.prTitle.toLowerCase(); - } - } else { - [upgrade.prTitle] = upgrade.commitMessage.split(newlineRegex); - } - if (!upgrade.prTitleStrict) { - upgrade.prTitle += upgrade.hasBaseBranches ? ' ({{baseBranch}})' : ''; - if (upgrade.isGroup) { - upgrade.prTitle += - upgrade.updateType === 'major' && upgrade.separateMajorMinor - ? ' (major)' - : ''; - upgrade.prTitle += - upgrade.updateType === 'minor' && upgrade.separateMinorPatch - ? ' (minor)' - : ''; - upgrade.prTitle += - upgrade.updateType === 'patch' && upgrade.separateMinorPatch - ? ' (patch)' - : ''; - } - } - // Compile again to allow for nested templates - upgrade.prTitle = template.compile(upgrade.prTitle, upgrade); - logger.trace(`prTitle: ` + JSON.stringify(upgrade.prTitle)); + const commitMessage = compileCommitMessage(upgrade); + compilePrTitle(upgrade, commitMessage); config.upgrades.push(upgrade); if (upgrade.releaseTimestamp) { if (releaseTimestamp!) {