diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
index dcf83c5037b3a0..c8ffecbdfd78b5 100644
--- a/.devcontainer/Dockerfile
+++ b/.devcontainer/Dockerfile
@@ -1 +1,5 @@
-FROM ghcr.io/containerbase/devcontainer:13.7.2
+FROM ghcr.io/containerbase/devcontainer:13.7.5
+
+# https://github.com/pnpm/pnpm/issues/8971
+# renovate: datasource=npm
+RUN install-tool pnpm 9.15.4
diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh
index eae5da872d27d6..f368a583156f47 100755
--- a/.devcontainer/post-create.sh
+++ b/.devcontainer/post-create.sh
@@ -7,4 +7,4 @@ if [[ "${CODESPACES}" == true ]]; then
sudo chmod 1777 /tmp
fi
-COREPACK_ENABLE_DOWNLOAD_PROMPT=0 pnpm install
+pnpm install --reporter append-only --aggregate-output
diff --git a/.github/label-actions.yml b/.github/label-actions.yml
index d19aae3bbf4636..21115a3b3f0635 100644
--- a/.github/label-actions.yml
+++ b/.github/label-actions.yml
@@ -100,16 +100,6 @@
- ### Insufficient logs
-
- Select me to read instructions
-
-
- If you already gave us a log, and the Renovate team said it's not enough, then follow the instructions from the **No logs at all** section.
-
-
-
-
### Formatting your logs
Select me to read instructions
@@ -137,12 +127,31 @@
The Renovate team
+'auto:logs-insufficient':
+ comment: >
+ Hi there,
+
+
+ The logs you provided are insufficient to help you.
+
+
+ Please provide more logs, or more detailed logs, so we can help you. Be sure to include _DEBUG_ logs, and don't excessively redact or truncate them.
+
+
+ If you feel the logs are too large to paste here, please use a service like [GitHub Gist](https://gist.github.com/) and paste the link here.
+
+
+ Read the [Renovate docs, Troubleshooting](https://docs.renovatebot.com/troubleshooting/) to learn more about getting the correct logs.
+
+
+ Thanks, the Renovate team
+
'auto:logs-packages':
comment: >
Hi there,
- A maintainer wants you to find and share a specific log message (`packageFiles with updates`) from your repository or environment.
+ Please locate the debug message `packageFiles with updates` in your logs and paste the contents here. Depending on your question, we may need the full list of packages or only one.
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.
@@ -531,3 +540,25 @@
Thanks, the Renovate team
+
+'auto:inactive-pr':
+ comment: >
+ Hi there,
+
+
+ This PR appears to have been inactive for a while. Please let us know if you are still working on it, or if we can close it for now.
+
+
+ Thanks, the Renovate team
+
+'auto:close-inactive-pr':
+ comment: >
+ Hi there,
+
+
+ We're closing this PR due to inactivity, but we are happy for you, or others, to finish the PR if time allows.
+
+
+ Thanks, the Renovate team
+
+ close: true
diff --git a/docs/development/local-development.md b/docs/development/local-development.md
index 43e0b0ae7f513d..5bdfdef3dcc18f 100644
--- a/docs/development/local-development.md
+++ b/docs/development/local-development.md
@@ -12,7 +12,7 @@ You need the following dependencies for local development:
- Git `>=2.45.1`
- Node.js `^20.15.1`
-- pnpm `^9.0.0` (use corepack)
+- pnpm `^9.0.0`
- C++ compiler
We recommend you use the version of Node.js defined in the repository's `.nvmrc` or use [Volta](https://volta.sh/) to manage your tool versions.
@@ -26,12 +26,12 @@ You can use the following commands on Ubuntu.
curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get update
sudo apt-get install -y git build-essential nodejs
-corepack enable
+npm install -g pnpm@latest-10
```
#### Nix
-To enter a development shell with the necessary packages, run `nix-shell --packages gcc gitFull nodejs` and then `corepack enable`.
+To enter a development shell with the necessary packages, run `nix-shell --packages gcc gitFull nodejs` and then `npm install -global pnpm@latest-10`.
#### Windows
@@ -41,7 +41,7 @@ If you already installed a part, skip the corresponding step.
- Install [Git](https://git-scm.com/downloads). Make sure you've [configured your username and email](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup)
- Install [Node.js LTS](https://nodejs.org/en/download/)
- In an Administrator PowerShell prompt, run `npm install -global npm` and then `npm --debug install --global windows-build-tools`
-- Enable corepack with: `corepack enable`
+- Install pnpm with: `npm install -global pnpm@latest-10`
You can see what versions you're using like this:
diff --git a/docs/usage/configuration-options.md b/docs/usage/configuration-options.md
index 2691ea9ed826fe..042dc89b930e53 100644
--- a/docs/usage/configuration-options.md
+++ b/docs/usage/configuration-options.md
@@ -849,7 +849,7 @@ It will be compiled using Handlebars and the regex `groups` result.
It specifies the syntax of the package file that's managed by the custom `jsonata` manager.
This setting helps the system correctly parse and interpret the configuration file's contents.
-Only the `json` and `yaml` format is supported.
+Only the `json` and `yaml` formats are supported.
`yaml` files are parsed as multi document YAML files.
```json title="Parsing a JSON file with a custom manager"
diff --git a/docs/usage/docker.md b/docs/usage/docker.md
index 5a89606e671beb..6a9a9f2b973be7 100644
--- a/docs/usage/docker.md
+++ b/docs/usage/docker.md
@@ -478,7 +478,7 @@ Make sure to install the Google Cloud SDK into the custom image, as you need the
For example:
```Dockerfile
-FROM renovate/renovate:39.134.0
+FROM renovate/renovate:39.156.2
# Include the "Docker tip" which you can find here https://cloud.google.com/sdk/docs/install
# under "Installation" for "Debian/Ubuntu"
RUN ...
diff --git a/docs/usage/examples/self-hosting.md b/docs/usage/examples/self-hosting.md
index a333b13848e609..95360482f062d7 100644
--- a/docs/usage/examples/self-hosting.md
+++ b/docs/usage/examples/self-hosting.md
@@ -25,8 +25,8 @@ It builds `latest` based on the `main` branch and all SemVer tags are published
```sh title="Example of valid tags"
docker run --rm renovate/renovate
docker run --rm renovate/renovate:39
-docker run --rm renovate/renovate:39.134
-docker run --rm renovate/renovate:39.134.0
+docker run --rm renovate/renovate:39.156
+docker run --rm renovate/renovate:39.156.2
```
@@ -62,7 +62,7 @@ spec:
- name: renovate
# Update this to the latest available and then enable Renovate on
# the manifest
- image: renovate/renovate:39.134.0
+ image: renovate/renovate:39.156.2
args:
- user/repo
# Environment Variables
@@ -121,7 +121,7 @@ spec:
template:
spec:
containers:
- - image: renovate/renovate:39.134.0
+ - image: renovate/renovate:39.156.2
name: renovate-bot
env: # For illustration purposes, please use secrets.
- name: RENOVATE_PLATFORM
@@ -367,7 +367,7 @@ spec:
containers:
- name: renovate
# Update this to the latest available and then enable Renovate on the manifest
- image: renovate/renovate:39.134.0
+ image: renovate/renovate:39.156.2
volumeMounts:
- name: ssh-key-volume
readOnly: true
diff --git a/lib/data/monorepo.json b/lib/data/monorepo.json
index e35e42f1af885d..0ab42cab1780e9 100644
--- a/lib/data/monorepo.json
+++ b/lib/data/monorepo.json
@@ -463,6 +463,7 @@
"orleans": "https://github.com/dotnet/orleans",
"panda-css": "https://github.com/chakra-ui/panda",
"parcel": "https://github.com/parcel-bundler/parcel",
+ "payloadcms": "https://github.com/payloadcms/payload",
"percy-cli": "https://github.com/percy/cli",
"picassojs": "https://github.com/qlik-oss/picasso.js",
"pixijs": [
diff --git a/lib/modules/manager/pip-compile/artifacts.spec.ts b/lib/modules/manager/pip-compile/artifacts.spec.ts
index 6818e35d0550d6..d162929e55cd1e 100644
--- a/lib/modules/manager/pip-compile/artifacts.spec.ts
+++ b/lib/modules/manager/pip-compile/artifacts.spec.ts
@@ -28,6 +28,18 @@ jest.mock('../../../util/host-rules', () => mockDeep());
jest.mock('../../../util/http');
jest.mock('../../datasource', () => mockDeep());
+const requirementsWithUv = `# This file was autogenerated by uv via the following command:
+# uv pip compile --generate-hashes --output-file=requirements.txt --universal requirements.in
+attrs==21.2.0 \
+ --hash=sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1 \
+ --hash=sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb
+ # via -r requirements.in
+setuptools==59.2.0 \
+ --hash=sha256:157d21de9d055ab9e8ea3186d91e7f4f865e11f42deafa952d90842671fc2576 \
+ --hash=sha256:4adde3d1e1c89bde1c643c64d89cdd94cbfd8c75252ee459d4500bccb9c7d05d
+ # via -r requirements.in
+`;
+
function getCommandInHeader(command: string) {
return `#
# This file is autogenerated by pip-compile with Python 3.11
@@ -488,6 +500,16 @@ describe('modules/manager/pip-compile/artifacts', () => {
);
});
+ it('returns extracted arguments for uv ', () => {
+ expect(
+ constructPipCompileCmd(
+ extractHeaderCommand(requirementsWithUv, 'subdir/requirements.txt'),
+ ),
+ ).toBe(
+ 'uv pip compile --generate-hashes --output-file=requirements.txt --universal requirements.in',
+ );
+ });
+
it('returns --no-emit-index-url when credentials are found in PIP_INDEX_URL', () => {
process.env.PIP_INDEX_URL = 'https://user:pass@example.com/pypi/simple';
expect(
diff --git a/lib/modules/manager/pip-compile/artifacts.ts b/lib/modules/manager/pip-compile/artifacts.ts
index 5d8bafb46d4220..3608808a6a869b 100644
--- a/lib/modules/manager/pip-compile/artifacts.ts
+++ b/lib/modules/manager/pip-compile/artifacts.ts
@@ -57,7 +57,7 @@ export function constructPipCompileCmd(
compileArgs: PipCompileArgs,
upgradePackages: Upgrade[] = [],
): string {
- if (compileArgs.isCustomCommand) {
+ if (compileArgs.commandType === 'custom') {
throw new Error(
'Detected custom command, header modified or set by CUSTOM_COMPILE_COMMAND',
);
@@ -68,6 +68,7 @@ export function constructPipCompileCmd(
}
// safeguard against index url leak if not explicitly set by an option
if (
+ compileArgs.commandType === 'pip-compile' &&
!compileArgs.noEmitIndexUrl &&
!compileArgs.emitIndexUrl &&
haveCredentialsInPipEnvironmentVariables()
@@ -115,6 +116,7 @@ export async function updateArtifacts({
}
const compileArgs = extractHeaderCommand(existingOutput, outputFileName);
const pythonVersion = extractPythonVersion(
+ compileArgs.commandType,
existingOutput,
outputFileName,
);
diff --git a/lib/modules/manager/pip-compile/common.spec.ts b/lib/modules/manager/pip-compile/common.spec.ts
index a465e9a9bccf5f..5c91ad9729abf0 100644
--- a/lib/modules/manager/pip-compile/common.spec.ts
+++ b/lib/modules/manager/pip-compile/common.spec.ts
@@ -2,7 +2,7 @@ import { mockDeep } from 'jest-mock-extended';
import { hostRules } from '../../../../test/util';
import { logger } from '../../../logger';
import {
- allowedPipOptions,
+ allowedOptions,
extractHeaderCommand,
extractPythonVersion,
getRegistryCredVarsFromPackageFiles,
@@ -137,8 +137,8 @@ describe('modules/manager/pip-compile/common', () => {
).toEqual(exampleSourceFiles);
});
- it.each(allowedPipOptions)(
- 'returned sourceFiles must not contain options',
+ it.each(allowedOptions['pip-compile'])(
+ 'returned sourceFiles must not contain options (pip-compile)',
(argument: string) => {
const sourceFiles = extractHeaderCommand(
getCommandInHeader(`pip-compile ${argument}=reqs.txt reqs.in`),
@@ -149,13 +149,25 @@ describe('modules/manager/pip-compile/common', () => {
},
);
+ it.each(allowedOptions['uv'])(
+ 'returned sourceFiles must not contain options (uv)',
+ (argument: string) => {
+ const sourceFiles = extractHeaderCommand(
+ getCommandInHeader(`uv pip compile ${argument}=reqs.txt reqs.in`),
+ 'reqs.txt',
+ ).sourceFiles;
+ expect(sourceFiles).not.toContainEqual(argument);
+ expect(sourceFiles).toEqual(['reqs.in']);
+ },
+ );
+
it('detects custom command', () => {
expect(
extractHeaderCommand(
getCommandInHeader(`./pip-compile-wrapper reqs.in`),
'reqs.txt',
),
- ).toHaveProperty('isCustomCommand', true);
+ ).toHaveProperty('commandType', 'custom');
});
it.each([
@@ -176,6 +188,7 @@ describe('modules/manager/pip-compile/common', () => {
it('extracts Python version from valid header', () => {
expect(
extractPythonVersion(
+ 'pip-compile',
getCommandInHeader('pip-compile reqs.in'),
'reqs.txt',
),
@@ -183,7 +196,13 @@ describe('modules/manager/pip-compile/common', () => {
});
it('returns undefined if version cannot be extracted', () => {
- expect(extractPythonVersion('', 'reqs.txt')).toBeUndefined();
+ expect(
+ extractPythonVersion('pip-compile', '', 'reqs.txt'),
+ ).toBeUndefined();
+ });
+
+ it('returns undefined if the command type is uv', () => {
+ expect(extractPythonVersion('uv', '', 'reqs.txt')).toBeUndefined();
});
});
diff --git a/lib/modules/manager/pip-compile/common.ts b/lib/modules/manager/pip-compile/common.ts
index 5a2126198900be..a055edc0329b22 100644
--- a/lib/modules/manager/pip-compile/common.ts
+++ b/lib/modules/manager/pip-compile/common.ts
@@ -9,7 +9,7 @@ import { ensureLocalPath } from '../../../util/fs/util';
import * as hostRules from '../../../util/host-rules';
import { regEx } from '../../../util/regex';
import type { PackageFileContent, UpdateArtifactsConfig } from '../types';
-import type { PipCompileArgs, SupportedManagers } from './types';
+import type { CommandType, PipCompileArgs, SupportedManagers } from './types';
export function getPythonVersionConstraint(
config: UpdateArtifactsConfig,
@@ -83,24 +83,45 @@ export const constraintLineRegex = regEx(
export const disallowedPipOptions = [
'--no-header', // header is required by this manager
];
-export const optionsWithArguments = [
+const commonOptionsWithArguments = [
'--output-file',
'--extra',
'--extra-index-url',
+];
+const pipOptionsWithArguments = [
'--resolver',
'--constraint',
+ ...commonOptionsWithArguments,
];
-export const allowedPipOptions = [
+const uvOptionsWithArguments = ['--constraints', ...commonOptionsWithArguments];
+export const optionsWithArguments = [
+ ...pipOptionsWithArguments,
+ ...uvOptionsWithArguments,
+];
+const allowedCommonOptions = [
'-v',
- '--all-extras',
- '--allow-unsafe',
'--generate-hashes',
- '--no-emit-index-url',
'--emit-index-url',
- '--strip-extras',
'--index-url',
- ...optionsWithArguments,
];
+export const allowedOptions: Record = {
+ 'pip-compile': [
+ '--all-extras',
+ '--allow-unsafe',
+ '--generate-hashes',
+ '--no-emit-index-url',
+ '--strip-extras',
+ ...allowedCommonOptions,
+ ...pipOptionsWithArguments,
+ ],
+ uv: [
+ '--no-strip-extras',
+ '--universal',
+ ...allowedCommonOptions,
+ ...uvOptionsWithArguments,
+ ],
+ custom: [],
+};
// TODO(not7cd): test on all correct headers, even with CUSTOM_COMPILE_COMMAND
export function extractHeaderCommand(
@@ -118,23 +139,33 @@ export function extractHeaderCommand(
);
const command = compileCommand.groups.command;
const argv = [command];
- const isCustomCommand = command !== 'pip-compile';
+ let commandType: CommandType;
+ if (command === 'pip-compile') {
+ commandType = 'pip-compile';
+ } else if (command === 'uv') {
+ commandType = 'uv';
+ } else {
+ commandType = 'custom';
+ }
if (compileCommand.groups.arguments) {
argv.push(...split(compileCommand.groups.arguments));
}
logger.debug(
- { fileName, argv, isCustomCommand },
+ { fileName, argv, commandType },
`pip-compile: extracted command from header`,
);
const result: PipCompileArgs = {
argv,
command,
- isCustomCommand,
+ commandType,
outputFile: '',
sourceFiles: [],
};
for (const arg of argv.slice(1)) {
+ if (commandType === 'uv' && ['pip', 'compile'].includes(arg)) {
+ continue;
+ }
// TODO(not7cd): check for "--option -- argument" case
if (!arg.startsWith('-')) {
result.sourceFiles.push(arg);
@@ -142,7 +173,7 @@ export function extractHeaderCommand(
}
throwForDisallowedOption(arg);
throwForNoEqualSignInOptionWithArgument(arg);
- throwForUnknownOption(arg);
+ throwForUnknownOption(commandType, arg);
if (arg.includes('=')) {
const [option, value] = arg.split('=');
@@ -153,7 +184,7 @@ export function extractHeaderCommand(
result.extraIndexUrl = result.extraIndexUrl ?? [];
result.extraIndexUrl.push(value);
// TODO: add to secrets? next PR
- } else if (option === '--constraint') {
+ } else if (['--constraint', '--constraints'].includes(option)) {
result.constraintsFiles = result.constraintsFiles ?? [];
result.constraintsFiles.push(value);
} else if (option === '--output-file') {
@@ -210,9 +241,15 @@ const pythonVersionRegex = regEx(
);
export function extractPythonVersion(
+ commandType: CommandType,
content: string,
fileName: string,
): string | undefined {
+ // uv's headers do not include the Python version
+ // https://github.com/astral-sh/uv/issues/3588
+ if (commandType === 'uv') {
+ return;
+ }
const match = pythonVersionRegex.exec(content);
if (match?.groups === undefined) {
logger.warn(
@@ -244,14 +281,14 @@ function throwForNoEqualSignInOptionWithArgument(arg: string): void {
);
}
}
-function throwForUnknownOption(arg: string): void {
+function throwForUnknownOption(commandType: CommandType, arg: string): void {
if (arg.includes('=')) {
const [option] = arg.split('=');
- if (allowedPipOptions.includes(option)) {
+ if (allowedOptions[commandType].includes(option)) {
return;
}
}
- if (allowedPipOptions.includes(arg)) {
+ if (allowedOptions[commandType].includes(arg)) {
return;
}
throw new Error(`Option ${arg} not supported (yet)`);
diff --git a/lib/modules/manager/pip-compile/readme.md b/lib/modules/manager/pip-compile/readme.md
index cb846fb0a78d42..1432bb4f4c470a 100644
--- a/lib/modules/manager/pip-compile/readme.md
+++ b/lib/modules/manager/pip-compile/readme.md
@@ -1,6 +1,8 @@
Due to limited functionality, the `pip-compile` manager should be considered in an "alpha" stage, which means it's not ready for production use for the majority of end users.
We welcome feedback and bug reports!
+The `uv pip compile` command is also supported through this manager in the same fashion as `pip-compile`.
+
The current implementation has some limitations.
Read the full document before you start using the `pip-compile` manager.
diff --git a/lib/modules/manager/pip-compile/types.ts b/lib/modules/manager/pip-compile/types.ts
index c496e01c886a7d..ad0b9dcaf6c29b 100644
--- a/lib/modules/manager/pip-compile/types.ts
+++ b/lib/modules/manager/pip-compile/types.ts
@@ -5,10 +5,12 @@ export type SupportedManagers =
| 'setup-cfg'
| 'pep621';
+export type CommandType = 'pip-compile' | 'uv' | 'custom';
+
export interface PipCompileArgs {
argv: string[]; // all arguments as a list
command: string;
- isCustomCommand: boolean;
+ commandType: CommandType;
constraintsFiles?: string[];
extra?: string[];
allExtras?: boolean;
diff --git a/lib/modules/manager/terragrunt/__fixtures__/3.hcl b/lib/modules/manager/terragrunt/__fixtures__/3.hcl
index 24e81c345cfc7b..22079aae6c9fe9 100644
--- a/lib/modules/manager/terragrunt/__fixtures__/3.hcl
+++ b/lib/modules/manager/terragrunt/__fixtures__/3.hcl
@@ -155,6 +155,11 @@ terraform {
source = "git::ssh://git@mygit.com/hashicorp/example?ref=v1.0.3&depth=1"
}
+# gittags_ssh_subdir
+terraform {
+ source = "git::ssh://git@mygit.com/hashicorp/example//subdir/test?ref=v1.0.4&depth=1"
+}
+
# invalid, ignored by test since it does not have source on the next line
terraform {
}
diff --git a/lib/modules/manager/terragrunt/extract.spec.ts b/lib/modules/manager/terragrunt/extract.spec.ts
index a87f17f6002fe8..e8533f64f5e1eb 100644
--- a/lib/modules/manager/terragrunt/extract.spec.ts
+++ b/lib/modules/manager/terragrunt/extract.spec.ts
@@ -418,6 +418,13 @@ describe('modules/manager/terragrunt/extract', () => {
depType: 'gitTags',
packageName: 'ssh://git@mygit.com/hashicorp/example',
},
+ {
+ currentValue: 'v1.0.4',
+ datasource: 'git-tags',
+ depName: 'mygit.com/hashicorp/example',
+ depType: 'gitTags',
+ packageName: 'ssh://git@mygit.com/hashicorp/example',
+ },
{
skipReason: 'no-source',
},
@@ -466,7 +473,7 @@ describe('modules/manager/terragrunt/extract', () => {
},
],
});
- expect(res?.deps).toHaveLength(35);
+ expect(res?.deps).toHaveLength(36);
expect(res?.deps.filter((dep) => dep.skipReason)).toHaveLength(4);
});
diff --git a/lib/modules/manager/terragrunt/modules.ts b/lib/modules/manager/terragrunt/modules.ts
index 0079b18581303b..a6690cdc2c0726 100644
--- a/lib/modules/manager/terragrunt/modules.ts
+++ b/lib/modules/manager/terragrunt/modules.ts
@@ -71,7 +71,7 @@ export function analyseTerragruntModule(
dep.datasource = GithubTagsDatasource.id;
} else if (gitTagsRefMatch?.groups) {
const { url, tag } = gitTagsRefMatch.groups;
- const { hostname, host, origin, pathname, protocol } = new URL(url);
+ const { hostname, host, pathname, protocol } = new URL(url);
const containsSubDirectory = pathname.includes('//');
if (containsSubDirectory) {
logger.debug('Terragrunt module contains subdirectory');
@@ -87,7 +87,8 @@ export function analyseTerragruntModule(
dep.datasource = detectGitTagDatasource(url);
if (dep.datasource === GitTagsDatasource.id) {
if (containsSubDirectory) {
- dep.packageName = `${origin}${pathname.split('//')[0]}`;
+ const tempLookupName = url.split('//');
+ dep.packageName = tempLookupName[0] + '//' + tempLookupName[1];
} else {
dep.packageName = url;
}
diff --git a/package.json b/package.json
index 5fd097b81e6e9b..55f26a9d4afce1 100644
--- a/package.json
+++ b/package.json
@@ -271,7 +271,7 @@
"@openpgp/web-stream-tools": "0.1.3",
"@renovate/eslint-plugin": "file:tools/eslint",
"@semantic-release/exec": "6.0.3",
- "@swc/core": "1.10.9",
+ "@swc/core": "1.10.11",
"@types/auth-header": "1.0.6",
"@types/aws4": "1.11.6",
"@types/better-sqlite3": "7.6.12",
diff --git a/pdm.lock b/pdm.lock
index be933f80efbffc..6c5af4212bf5ae 100644
--- a/pdm.lock
+++ b/pdm.lock
@@ -5,14 +5,14 @@
groups = ["default"]
strategy = ["inherit_metadata"]
lock_version = "4.5.0"
-content_hash = "sha256:cb7ab4ded4a7ff81d1e6f461b57bd06ec2efafa0dbc1f980286e10fbb75c1a57"
+content_hash = "sha256:8314f1066faf3c76d51f55ac5db00e1bdb5b99f0a0545a87fa5a83c7efdbeb15"
[[metadata.targets]]
requires_python = ">=3.11"
[[package]]
name = "babel"
-version = "2.16.0"
+version = "2.17.0"
requires_python = ">=3.8"
summary = "Internationalization utilities"
groups = ["default"]
@@ -20,8 +20,8 @@ dependencies = [
"pytz>=2015.7; python_version < \"3.9\"",
]
files = [
- {file = "babel-2.16.0-py3-none-any.whl", hash = "sha256:368b5b98b37c06b7daf6696391c3240c938b37767d4584413e8438c5c435fa8b"},
- {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"},
+ {file = "babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2"},
+ {file = "babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d"},
]
[[package]]
@@ -297,7 +297,7 @@ files = [
[[package]]
name = "mkdocs-material"
-version = "9.6.1"
+version = "9.6.2"
requires_python = ">=3.8"
summary = "Documentation that simply works"
groups = ["default"]
@@ -315,8 +315,8 @@ dependencies = [
"requests~=2.26",
]
files = [
- {file = "mkdocs_material-9.6.1-py3-none-any.whl", hash = "sha256:c1742d410be29811a9b7e863cb25a578b9e255fe6f04c69f8c6838863a58e141"},
- {file = "mkdocs_material-9.6.1.tar.gz", hash = "sha256:da37dba220d9fbfc5f1fc567fafc4028e3c3d7d828f2779ed09ab726ceca77dc"},
+ {file = "mkdocs_material-9.6.2-py3-none-any.whl", hash = "sha256:71d90dbd63b393ad11a4d90151dfe3dcbfcd802c0f29ce80bebd9bbac6abc753"},
+ {file = "mkdocs_material-9.6.2.tar.gz", hash = "sha256:a3de1c5d4c745f10afa78b1a02f917b9dce0808fb206adc0f5bb48b58c1ca21f"},
]
[[package]]
@@ -397,7 +397,7 @@ files = [
[[package]]
name = "pymdown-extensions"
-version = "10.14.2"
+version = "10.14.3"
requires_python = ">=3.8"
summary = "Extension pack for Python Markdown."
groups = ["default"]
@@ -406,8 +406,8 @@ dependencies = [
"pyyaml",
]
files = [
- {file = "pymdown_extensions-10.14.2-py3-none-any.whl", hash = "sha256:f45bc5892410e54fd738ab8ccd736098b7ff0cb27fdb4bf24d0a0c6584bc90e1"},
- {file = "pymdown_extensions-10.14.2.tar.gz", hash = "sha256:7a77b8116dc04193f2c01143760a43387bd9dc4aa05efacb7d838885a7791253"},
+ {file = "pymdown_extensions-10.14.3-py3-none-any.whl", hash = "sha256:05e0bee73d64b9c71a4ae17c72abc2f700e8bc8403755a00580b49a4e9f189e9"},
+ {file = "pymdown_extensions-10.14.3.tar.gz", hash = "sha256:41e576ce3f5d650be59e900e4ceff231e0aed2a88cf30acaee41e02f063a061b"},
]
[[package]]
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 87f4559adb1cb6..d3431c9dbf0b75 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -383,8 +383,8 @@ importers:
specifier: 6.0.3
version: 6.0.3(semantic-release@24.2.1(typescript@5.7.3))
'@swc/core':
- specifier: 1.10.9
- version: 1.10.9
+ specifier: 1.10.11
+ version: 1.10.11
'@types/auth-header':
specifier: 1.0.6
version: 1.0.6
@@ -543,7 +543,7 @@ importers:
version: 2.31.0(@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@5.7.3))(eslint-import-resolver-typescript@3.7.0)(eslint@8.57.1)
eslint-plugin-jest:
specifier: 28.11.0
- version: 28.11.0(@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3)
+ version: 28.11.0(@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3)
eslint-plugin-jest-formatting:
specifier: 3.1.0
version: 3.1.0(eslint@8.57.1)
@@ -567,16 +567,16 @@ importers:
version: 9.1.7
jest:
specifier: 29.7.0
- version: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ version: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
jest-extended:
specifier: 4.0.2
- version: 4.0.2(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)))
+ version: 4.0.2(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)))
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@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3)
+ version: 3.0.7(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3)
jest-snapshot:
specifier: 29.7.0
version: 29.7.0
@@ -612,10 +612,10 @@ importers:
version: 3.0.3
ts-jest:
specifier: 29.2.5
- version: 29.2.5(@babel/core@7.26.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.7))(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3)
+ version: 29.2.5(@babel/core@7.26.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.7))(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3)
ts-node:
specifier: 10.9.2
- version: 10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)
+ version: 10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)
type-fest:
specifier: 4.33.0
version: 4.33.0
@@ -1875,68 +1875,68 @@ packages:
resolution: {integrity: sha512-piUTHyp2Axx3p/kc2CIJkYSv0BAaheBQmbACZgQSSfWUumWNW+R1lL+H9PDBxKJkvOeEX+hKYEFiwO8xagL8AQ==}
engines: {node: '>=18.0.0'}
- '@swc/core-darwin-arm64@1.10.9':
- resolution: {integrity: sha512-XTHLtijFervv2B+i1ngM993umhSj9K1IeMomvU/Db84Asjur2XmD4KXt9QPnGDRFgv2kLSjZ+DDL25Qk0f4r+w==}
+ '@swc/core-darwin-arm64@1.10.11':
+ resolution: {integrity: sha512-ZpgEaNcx2e5D+Pd0yZGVbpSrEDOEubn7r2JXoNBf0O85lPjUm3HDzGRfLlV/MwxRPAkwm93eLP4l7gYnc50l3g==}
engines: {node: '>=10'}
cpu: [arm64]
os: [darwin]
- '@swc/core-darwin-x64@1.10.9':
- resolution: {integrity: sha512-bi3el9/FV/la8HIsolSjeDar+tM7m9AmSF1w7X6ZByW2qgc4Z1tmq0A4M4H9aH3TfHesZbfq8hgaNtc2/VtzzQ==}
+ '@swc/core-darwin-x64@1.10.11':
+ resolution: {integrity: sha512-szObinnq2o7spXMDU5pdunmUeLrfV67Q77rV+DyojAiGJI1RSbEQotLOk+ONOLpoapwGUxOijFG4IuX1xiwQ2g==}
engines: {node: '>=10'}
cpu: [x64]
os: [darwin]
- '@swc/core-linux-arm-gnueabihf@1.10.9':
- resolution: {integrity: sha512-xsLHV02S+RTDuI+UJBkA2muNk/s0ETRpoc1K/gNt0i8BqTurPYkrvGDDALN9+leiUPydHvZi9P1qdExbgUJnXw==}
+ '@swc/core-linux-arm-gnueabihf@1.10.11':
+ resolution: {integrity: sha512-tVE8aXQwd8JUB9fOGLawFJa76nrpvp3dvErjozMmWSKWqtoeO7HV83aOrVtc8G66cj4Vq7FjTE9pOJeV1FbKRw==}
engines: {node: '>=10'}
cpu: [arm]
os: [linux]
- '@swc/core-linux-arm64-gnu@1.10.9':
- resolution: {integrity: sha512-41hJgPoGhIa12U6Tud+yLF/m64YA3mGut3TmBEkj2R7rdJdE0mljdtR0tf4J2RoQaWZPPi0DBSqGdROiAEx9dg==}
+ '@swc/core-linux-arm64-gnu@1.10.11':
+ resolution: {integrity: sha512-geFkENU5GMEKO7FqHOaw9HVlpQEW10nICoM6ubFc0hXBv8dwRXU4vQbh9s/isLSFRftw1m4jEEWixAnXSw8bxQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-arm64-musl@1.10.9':
- resolution: {integrity: sha512-DUMRhl49b9r7bLg9oNzCdW4lLcDJKrRBn87Iq5APPvixsm1auGnsVQycGkQcDDKvVllxIFSbmCYzjagx3l8Hnw==}
+ '@swc/core-linux-arm64-musl@1.10.11':
+ resolution: {integrity: sha512-2mMscXe/ivq8c4tO3eQSbQDFBvagMJGlalXCspn0DgDImLYTEnt/8KHMUMGVfh0gMJTZ9q4FlGLo7mlnbx99MQ==}
engines: {node: '>=10'}
cpu: [arm64]
os: [linux]
- '@swc/core-linux-x64-gnu@1.10.9':
- resolution: {integrity: sha512-xW0y88vQvmzYo3Gn7yFnY03TfHMwuca4aFH3ZmhwDNOYHmTOi6fmhAkg/13F/NrwjMYO+GnF5uJTjdjb3B6tdQ==}
+ '@swc/core-linux-x64-gnu@1.10.11':
+ resolution: {integrity: sha512-eu2apgDbC4xwsigpl6LS+iyw6a3mL6kB4I+6PZMbFF2nIb1Dh7RGnu70Ai6mMn1o80fTmRSKsCT3CKMfVdeNFg==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-linux-x64-musl@1.10.9':
- resolution: {integrity: sha512-jYs32BEx+CPVuxN6NdsWEpdehjnmAag25jyJzwjQx+NCGYwHEV3bT5y8TX4eFhaVB1rafmqJOlYQPs4+MSyGCg==}
+ '@swc/core-linux-x64-musl@1.10.11':
+ resolution: {integrity: sha512-0n+wPWpDigwqRay4IL2JIvAqSKCXv6nKxPig9M7+epAlEQlqX+8Oq/Ap3yHtuhjNPb7HmnqNJLCXT1Wx+BZo0w==}
engines: {node: '>=10'}
cpu: [x64]
os: [linux]
- '@swc/core-win32-arm64-msvc@1.10.9':
- resolution: {integrity: sha512-Uhh5T3Fq3Nyom96Bm3ACBNASH3iqNc76in7ewZz8PooUqeTIO8aZpsghnncjctRNE9T819/8btpiFIhHo3sKtg==}
+ '@swc/core-win32-arm64-msvc@1.10.11':
+ resolution: {integrity: sha512-7+bMSIoqcbXKosIVd314YjckDRPneA4OpG1cb3/GrkQTEDXmWT3pFBBlJf82hzJfw7b6lfv6rDVEFBX7/PJoLA==}
engines: {node: '>=10'}
cpu: [arm64]
os: [win32]
- '@swc/core-win32-ia32-msvc@1.10.9':
- resolution: {integrity: sha512-bD5BpbojEsDfrAvT+1qjQPf5RCKLg4UL+3Uwm019+ZR02hd8qO538BlOnQdOqRqccu+75DF6aRglQ7AJ24Cs0Q==}
+ '@swc/core-win32-ia32-msvc@1.10.11':
+ resolution: {integrity: sha512-6hkLl4+3KjP/OFTryWxpW7YFN+w4R689TSPwiII4fFgsFNupyEmLWWakKfkGgV2JVA59L4Oi02elHy/O1sbgtw==}
engines: {node: '>=10'}
cpu: [ia32]
os: [win32]
- '@swc/core-win32-x64-msvc@1.10.9':
- resolution: {integrity: sha512-NwkuUNeBBQnAaXVvcGw8Zr6RR8kylyjFUnlYZZ3G0QkQZ4rYLXYTafAmiRjrfzgVb0LcMF/sBzJvGOk7SwtIDg==}
+ '@swc/core-win32-x64-msvc@1.10.11':
+ resolution: {integrity: sha512-kKNE2BGu/La2k2WFHovenqZvGQAHRIU+rd2/6a7D6EiQ6EyimtbhUqjCCZ+N1f5fIAnvM+sMdLiQJq4jdd/oOQ==}
engines: {node: '>=10'}
cpu: [x64]
os: [win32]
- '@swc/core@1.10.9':
- resolution: {integrity: sha512-MQ97YSXu2oibzm7wi4GNa7hhndjLuVt/lmO2sq53+P37oZmyg/JQ/IYYtSiC6UGK3+cHoiVAykrK+glxLjJbag==}
+ '@swc/core@1.10.11':
+ resolution: {integrity: sha512-3zGU5y3S20cAwot9ZcsxVFNsSVaptG+dKdmAxORSE3EX7ixe1Xn5kUwLlgIsM4qrwTUWCJDLNhRS+2HLFivcDg==}
engines: {node: '>=10'}
peerDependencies:
'@swc/helpers': '*'
@@ -7508,7 +7508,7 @@ snapshots:
jest-util: 29.7.0
slash: 3.0.0
- '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))':
+ '@jest/core@29.7.0(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))':
dependencies:
'@jest/console': 29.7.0
'@jest/reporters': 29.7.0
@@ -7522,7 +7522,7 @@ snapshots:
exit: 0.1.2
graceful-fs: 4.2.11
jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest-config: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
jest-haste-map: 29.7.0
jest-message-util: 29.7.0
jest-regex-util: 29.6.3
@@ -8630,51 +8630,51 @@ snapshots:
'@smithy/types': 4.1.0
tslib: 2.8.1
- '@swc/core-darwin-arm64@1.10.9':
+ '@swc/core-darwin-arm64@1.10.11':
optional: true
- '@swc/core-darwin-x64@1.10.9':
+ '@swc/core-darwin-x64@1.10.11':
optional: true
- '@swc/core-linux-arm-gnueabihf@1.10.9':
+ '@swc/core-linux-arm-gnueabihf@1.10.11':
optional: true
- '@swc/core-linux-arm64-gnu@1.10.9':
+ '@swc/core-linux-arm64-gnu@1.10.11':
optional: true
- '@swc/core-linux-arm64-musl@1.10.9':
+ '@swc/core-linux-arm64-musl@1.10.11':
optional: true
- '@swc/core-linux-x64-gnu@1.10.9':
+ '@swc/core-linux-x64-gnu@1.10.11':
optional: true
- '@swc/core-linux-x64-musl@1.10.9':
+ '@swc/core-linux-x64-musl@1.10.11':
optional: true
- '@swc/core-win32-arm64-msvc@1.10.9':
+ '@swc/core-win32-arm64-msvc@1.10.11':
optional: true
- '@swc/core-win32-ia32-msvc@1.10.9':
+ '@swc/core-win32-ia32-msvc@1.10.11':
optional: true
- '@swc/core-win32-x64-msvc@1.10.9':
+ '@swc/core-win32-x64-msvc@1.10.11':
optional: true
- '@swc/core@1.10.9':
+ '@swc/core@1.10.11':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.17
optionalDependencies:
- '@swc/core-darwin-arm64': 1.10.9
- '@swc/core-darwin-x64': 1.10.9
- '@swc/core-linux-arm-gnueabihf': 1.10.9
- '@swc/core-linux-arm64-gnu': 1.10.9
- '@swc/core-linux-arm64-musl': 1.10.9
- '@swc/core-linux-x64-gnu': 1.10.9
- '@swc/core-linux-x64-musl': 1.10.9
- '@swc/core-win32-arm64-msvc': 1.10.9
- '@swc/core-win32-ia32-msvc': 1.10.9
- '@swc/core-win32-x64-msvc': 1.10.9
+ '@swc/core-darwin-arm64': 1.10.11
+ '@swc/core-darwin-x64': 1.10.11
+ '@swc/core-linux-arm-gnueabihf': 1.10.11
+ '@swc/core-linux-arm64-gnu': 1.10.11
+ '@swc/core-linux-arm64-musl': 1.10.11
+ '@swc/core-linux-x64-gnu': 1.10.11
+ '@swc/core-linux-x64-musl': 1.10.11
+ '@swc/core-win32-arm64-msvc': 1.10.11
+ '@swc/core-win32-ia32-msvc': 1.10.11
+ '@swc/core-win32-x64-msvc': 1.10.11
'@swc/counter@0.1.3': {}
@@ -9755,13 +9755,13 @@ snapshots:
optionalDependencies:
typescript: 5.7.3
- create-jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)):
+ create-jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)):
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@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest-config: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
jest-util: 29.7.0
prompts: 2.4.2
transitivePeerDependencies:
@@ -10184,13 +10184,13 @@ snapshots:
dependencies:
eslint: 8.57.1
- eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3):
+ eslint-plugin-jest@28.11.0(@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3):
dependencies:
'@typescript-eslint/utils': 8.21.0(eslint@8.57.1)(typescript@5.7.3)
eslint: 8.57.1
optionalDependencies:
'@typescript-eslint/eslint-plugin': 8.20.0(@typescript-eslint/parser@8.20.0(eslint@8.57.1)(typescript@5.7.3))(eslint@8.57.1)(typescript@5.7.3)
- jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
transitivePeerDependencies:
- supports-color
- typescript
@@ -11241,16 +11241,16 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-cli@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)):
+ jest-cli@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
'@jest/test-result': 29.7.0
'@jest/types': 29.6.3
chalk: 4.1.2
- create-jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ create-jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
exit: 0.1.2
import-local: 3.2.0
- jest-config: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest-config: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
jest-util: 29.7.0
jest-validate: 29.7.0
yargs: 17.7.2
@@ -11260,7 +11260,7 @@ snapshots:
- supports-color
- ts-node
- jest-config@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)):
+ jest-config@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)):
dependencies:
'@babel/core': 7.26.7
'@jest/test-sequencer': 29.7.0
@@ -11286,7 +11286,7 @@ snapshots:
strip-json-comments: 3.1.1
optionalDependencies:
'@types/node': 22.10.9
- ts-node: 10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)
+ ts-node: 10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)
transitivePeerDependencies:
- babel-plugin-macros
- supports-color
@@ -11319,12 +11319,12 @@ snapshots:
jest-mock: 29.7.0
jest-util: 29.7.0
- jest-extended@4.0.2(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))):
+ jest-extended@4.0.2(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))):
dependencies:
jest-diff: 29.7.0
jest-get-type: 29.6.3
optionalDependencies:
- jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
jest-get-type@29.6.3: {}
@@ -11375,9 +11375,9 @@ snapshots:
slash: 3.0.0
stack-utils: 2.0.6
- jest-mock-extended@3.0.7(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3):
+ jest-mock-extended@3.0.7(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3):
dependencies:
- jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
ts-essentials: 10.0.4(typescript@5.7.3)
typescript: 5.7.3
@@ -11526,12 +11526,12 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)):
+ jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)):
dependencies:
- '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ '@jest/core': 29.7.0(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
'@jest/types': 29.6.3
import-local: 3.2.0
- jest-cli: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest-cli: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -13457,12 +13457,12 @@ snapshots:
optionalDependencies:
typescript: 5.7.3
- ts-jest@29.2.5(@babel/core@7.26.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.7))(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3):
+ ts-jest@29.2.5(@babel/core@7.26.7)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.26.7))(jest@29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3)))(typescript@5.7.3):
dependencies:
bs-logger: 0.2.6
ejs: 3.1.10
fast-json-stable-stringify: 2.1.0
- jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3))
+ jest: 29.7.0(@types/node@22.10.9)(ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3))
jest-util: 29.7.0
json5: 2.2.3
lodash.memoize: 4.1.2
@@ -13476,7 +13476,7 @@ snapshots:
'@jest/types': 29.6.3
babel-jest: 29.7.0(@babel/core@7.26.7)
- ts-node@10.9.2(@swc/core@1.10.9)(@types/node@22.10.9)(typescript@5.7.3):
+ ts-node@10.9.2(@swc/core@1.10.11)(@types/node@22.10.9)(typescript@5.7.3):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
@@ -13494,7 +13494,7 @@ snapshots:
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
optionalDependencies:
- '@swc/core': 1.10.9
+ '@swc/core': 1.10.11
tsconfig-paths@3.15.0:
dependencies:
diff --git a/pyproject.toml b/pyproject.toml
index ab231c3855bc30..ff290ef1b9ea69 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
dependencies = [
- "mkdocs-material==9.6.1",
+ "mkdocs-material==9.6.2",
"mkdocs-awesome-pages-plugin==2.10.1",
]
requires-python = ">=3.11"
diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 5ee62910a8f079..6caca5c726d78d 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -23,9 +23,9 @@ FROM --platform=$BUILDPLATFORM ghcr.io/renovatebot/base-image:9.38.3@sha256:e4d3
# renovate: datasource=node-version
RUN install-tool node 22.13.1
-# temporary: install corepack via npm until upgrading to a newer version of node where
-# https://github.com/nodejs/corepack/issues/612#issuecomment-2616588603
-RUN npm install -g corepack@v0.31.0
+# corepack is too buggy 😞
+# renovate: datasource=npm
+RUN install-tool pnpm 9.15.4
WORKDIR /usr/local/renovate
@@ -67,14 +67,14 @@ ENV npm_config_arch=${ARCH} npm_config_platform_arch=${ARCH}
# only fetch deps from lockfile https://pnpm.io/cli/fetch
RUN set -ex; \
- corepack pnpm fetch --prod; \
+ pnpm fetch --prod; \
true
COPY --link . ./
# install npm packages
RUN set -ex; \
- corepack pnpm install --prod --offline --ignore-scripts; \
+ pnpm install --prod --offline --ignore-scripts; \
true
# --------------------------------------