diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 77e45848..5fb5dd9d 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -36,16 +36,37 @@ ] }, - // Pin @types/node to the deployed Node runtime major (22.x, see Dockerfile - // and .nvmrc). Bumping the typings ahead of the runtime lets the compiler - // accept Node-24-only APIs that won't exist in production. Bump + // CI installs Node from .nvmrc while production runs the Dockerfile base + // image, so any update that moves one without the other leaves CI testing + // a runtime production doesn't run. Group ALL Node updates (base image + + // .nvmrc) into a single, manually reviewed PR: enabled overrides + // docker:disableMajor for majors, and automerge overrides the blanket + // docker automerge rule above so a base-image bump can't ship on its own. + { + description: 'Group Node.js updates (Dockerfile base image + .nvmrc)', + groupName: 'Node.js', + groupSlug: 'node', + matchDepNames: [ + 'node', + ], + matchDatasources: [ + 'docker', + 'node-version', + ], + enabled: true, + automerge: false, + }, + + // Pin @types/node to the deployed Node runtime major (see Dockerfile and + // .nvmrc). Bumping the typings ahead of the runtime lets the compiler + // accept newer-Node APIs that don't exist in the production runtime. Bump // allowedVersions in lockstep when the Node base image is upgraded. { description: 'Pin @types/node to the deployed Node runtime major', matchPackageNames: [ '@types/node', ], - allowedVersions: '<23', + allowedVersions: '<25', }, ], } diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f0a57d7e..f72f760d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -53,7 +53,7 @@ jobs: - name: Set up Node.js uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7 with: - node-version: lts/* + node-version-file: .nvmrc cache: pnpm - name: Check pnpm-lock.yaml diff --git a/.nix/flakes/nodejs/flake.nix b/.nix/flakes/nodejs/flake.nix index 6ab4de54..6ebfc495 100644 --- a/.nix/flakes/nodejs/flake.nix +++ b/.nix/flakes/nodejs/flake.nix @@ -21,9 +21,10 @@ }); }; - # This gives us a central place to set the node version + # This gives us a central place to set the node version. Keep the major in + # sync with .nvmrc and the Dockerfile base image. node_overlay = final: prev: { - nodejs = prev.nodejs; + nodejs = prev.nodejs_24; }; eachSystem = f: diff --git a/.nvmrc b/.nvmrc index f9e7451e..ca5c3500 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.23.1 +24.18.0 diff --git a/Dockerfile b/Dockerfile index 8a5b6e6b..84460547 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,5 @@ -FROM node:22.23.1-alpine@sha256:16e22a550f3863206a3f701448c45f7912c6896a62de43add43bb9c86130c3e2 +FROM node:24.18.0-alpine@sha256:a0b9bf06e4e6193cf7a0f58816cc935ff8c2a908f81e6f1a95432d679c54fbfd -RUN apk add python3 g++ make RUN apk add --no-cache ca-certificates WORKDIR /opt/activitypub @@ -20,8 +19,6 @@ COPY vitest.config.ts vitest.config.ts ENV NODE_ENV=production RUN pnpm build -RUN apk del python3 g++ make - EXPOSE 8080 CMD ["node", "dist/app.js"] diff --git a/package.json b/package.json index 525d9025..9209606c 100644 --- a/package.json +++ b/package.json @@ -6,6 +6,9 @@ "license": "MIT", "main": "src/app.ts", "type": "module", + "engines": { + "node": "24" + }, "packageManager": "pnpm@11.15.0", "scripts": { "build": "esbuild src/app.ts --sourcemap --platform=neutral --bundle --packages=external --outfile=dist/app.js", @@ -50,7 +53,7 @@ "@fedify/cli": "2.3.2", "@types/html-to-text": "9.0.4", "@types/jsonwebtoken": "9.0.10", - "@types/node": "22.20.1", + "@types/node": "24.13.3", "@types/node-jose": "1.1.13", "@types/sanitize-html": "2.16.1", "@types/sinon": "22.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5b7abbf2..c995d4c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,7 +85,7 @@ importers: version: 9.0.3 knex: specifier: 3.3.0 - version: 3.3.0(mysql2@3.23.0(@types/node@22.20.1))(supports-color@10.2.2) + version: 3.3.0(mysql2@3.23.0(@types/node@24.13.3))(supports-color@10.2.2) ky: specifier: 2.0.2 version: 2.0.2 @@ -97,7 +97,7 @@ importers: version: 4.3.3 mysql2: specifier: 3.23.0 - version: 3.23.0(@types/node@22.20.1) + version: 3.23.0(@types/node@24.13.3) node-html-parser: specifier: 9.0.0 version: 9.0.0 @@ -112,7 +112,7 @@ importers: version: 2.17.6 sharp: specifier: 0.35.3 - version: 0.35.3(@types/node@22.20.1) + version: 0.35.3(@types/node@24.13.3) uuid: specifier: 14.0.1 version: 14.0.1 @@ -134,7 +134,7 @@ importers: version: 10.5.0 '@fedify/cli': specifier: 2.3.2 - version: 2.3.2(@jimp/custom@0.22.12)(@types/node@22.20.1)(supports-color@10.2.2)(typescript@7.0.2) + version: 2.3.2(@jimp/custom@0.22.12)(@types/node@24.13.3)(supports-color@10.2.2)(typescript@7.0.2) '@types/html-to-text': specifier: 9.0.4 version: 9.0.4 @@ -142,8 +142,8 @@ importers: specifier: 9.0.10 version: 9.0.10 '@types/node': - specifier: 22.20.1 - version: 22.20.1 + specifier: 24.13.3 + version: 24.13.3 '@types/node-jose': specifier: 1.1.13 version: 1.1.13 @@ -173,10 +173,10 @@ importers: version: 7.0.2 vite-tsconfig-paths: specifier: 6.1.1 - version: 6.1.1(supports-color@10.2.2)(typescript@7.0.2)(vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0)) + version: 6.1.1(supports-color@10.2.2)(typescript@7.0.2)(vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0)) vitest: specifier: 4.1.10 - version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0)) + version: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0)) wiremock-captain: specifier: 4.1.3 version: 4.1.3 @@ -1576,8 +1576,8 @@ packages: '@types/node@20.19.43': resolution: {integrity: sha512-6oYBAi5ikg4Pl+kGsoYtawUMBT2zZMCvPNF7pVLnHZfd1zf38DRiWn/gT01RYCdUqkv7Fhr+C9ot4/tb+2sVvA==} - '@types/node@22.20.1': - resolution: {integrity: sha512-EANqOCF9QFyra+4pfxUcX9STKJpCLjMbObVzljIJomAWSnuSIEAvyzEU53GaajbXJEgdh0iEcPL+DGvpUd4k1Q==} + '@types/node@24.13.3': + resolution: {integrity: sha512-Dh8vAsV36ig5wa9OX4pXvMc9D3Veibfw2wix0CUwYODLD8nkj9UsLjASr49nPg+2eKzxhBV+v7L8pXvT4e639Q==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3657,6 +3657,9 @@ packages: undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} + undici-types@7.18.2: + resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} + undici@6.27.0: resolution: {integrity: sha512-YmfV3YnEDzXRC5lZ2jWtWWHKGUm1zIt8AhesR1tens+HTNv+YZlN/dp6G727LOvMJ8xjP9Be7Y2Sdr96LDm+pg==} engines: {node: '>=18.17'} @@ -4238,11 +4241,11 @@ snapshots: '@faker-js/faker@10.5.0': {} - '@fedify/cli@2.3.2(@jimp/custom@0.22.12)(@types/node@22.20.1)(supports-color@10.2.2)(typescript@7.0.2)': + '@fedify/cli@2.3.2(@jimp/custom@0.22.12)(@types/node@24.13.3)(supports-color@10.2.2)(typescript@7.0.2)': dependencies: '@cfworker/json-schema': 4.1.1 '@fedify/fedify': 2.3.2 - '@fedify/init': 2.3.2(@types/node@22.20.1) + '@fedify/init': 2.3.2(@types/node@24.13.3) '@fedify/relay': 2.3.2 '@fedify/sqlite': 2.3.2(@fedify/fedify@2.3.2) '@fedify/vocab': 2.3.2 @@ -4251,7 +4254,7 @@ snapshots: '@fedify/webfinger': 2.3.2 '@fxts/core': 1.26.0 '@hongminhee/localtunnel': 0.3.1 - '@inquirer/prompts': 7.10.1(@types/node@22.20.1) + '@inquirer/prompts': 7.10.1(@types/node@24.13.3) '@jimp/core': 1.6.1(supports-color@10.2.2) '@jimp/wasm-webp': 1.6.1 '@js-temporal/polyfill': 0.5.1 @@ -4272,7 +4275,7 @@ snapshots: fetch-mock: 12.6.0 hono: 4.12.31 icojs: 0.19.5(@jimp/custom@0.22.12) - inquirer: 12.11.1(@types/node@22.20.1) + inquirer: 12.11.1(@types/node@24.13.3) inquirer-toggle: 1.0.1 jimp: 1.6.1(supports-color@10.2.2) ora: 8.2.0 @@ -4313,11 +4316,11 @@ snapshots: '@fedify/fedify': 2.3.2 hono: 4.12.31 - '@fedify/init@2.3.2(@types/node@22.20.1)': + '@fedify/init@2.3.2(@types/node@24.13.3)': dependencies: '@david/dax': dax@0.46.1 '@fxts/core': 1.26.0 - '@inquirer/prompts': 7.10.1(@types/node@22.20.1) + '@inquirer/prompts': 7.10.1(@types/node@24.13.3) '@logtape/logtape': 2.2.4 '@optique/core': 1.1.1 '@optique/run': 1.1.1 @@ -4613,35 +4616,35 @@ snapshots: '@inquirer/ansi@1.0.2': {} - '@inquirer/checkbox@4.3.2(@types/node@22.20.1)': + '@inquirer/checkbox@4.3.2(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/confirm@5.1.21(@types/node@22.20.1)': + '@inquirer/confirm@5.1.21(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/core@10.3.2(@types/node@22.20.1)': + '@inquirer/core@10.3.2(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/type': 3.0.10(@types/node@24.13.3) cli-width: 4.1.0 mute-stream: 2.0.0 signal-exit: 4.1.0 wrap-ansi: 6.2.0 yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@inquirer/core@8.2.4': dependencies: @@ -4659,102 +4662,102 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - '@inquirer/editor@4.2.23(@types/node@22.20.1)': + '@inquirer/editor@4.2.23(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/external-editor': 1.0.3(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/external-editor': 1.0.3(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/expand@4.0.23(@types/node@22.20.1)': + '@inquirer/expand@4.0.23(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/external-editor@1.0.3(@types/node@22.20.1)': + '@inquirer/external-editor@1.0.3(@types/node@24.13.3)': dependencies: chardet: 2.2.0 iconv-lite: 0.7.3 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@inquirer/figures@1.0.15': {} - '@inquirer/input@4.3.1(@types/node@22.20.1)': + '@inquirer/input@4.3.1(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/number@3.0.23(@types/node@22.20.1)': + '@inquirer/number@3.0.23(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/password@4.0.23(@types/node@22.20.1)': + '@inquirer/password@4.0.23(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) optionalDependencies: - '@types/node': 22.20.1 - - '@inquirer/prompts@7.10.1(@types/node@22.20.1)': - dependencies: - '@inquirer/checkbox': 4.3.2(@types/node@22.20.1) - '@inquirer/confirm': 5.1.21(@types/node@22.20.1) - '@inquirer/editor': 4.2.23(@types/node@22.20.1) - '@inquirer/expand': 4.0.23(@types/node@22.20.1) - '@inquirer/input': 4.3.1(@types/node@22.20.1) - '@inquirer/number': 3.0.23(@types/node@22.20.1) - '@inquirer/password': 4.0.23(@types/node@22.20.1) - '@inquirer/rawlist': 4.1.11(@types/node@22.20.1) - '@inquirer/search': 3.2.2(@types/node@22.20.1) - '@inquirer/select': 4.4.2(@types/node@22.20.1) + '@types/node': 24.13.3 + + '@inquirer/prompts@7.10.1(@types/node@24.13.3)': + dependencies: + '@inquirer/checkbox': 4.3.2(@types/node@24.13.3) + '@inquirer/confirm': 5.1.21(@types/node@24.13.3) + '@inquirer/editor': 4.2.23(@types/node@24.13.3) + '@inquirer/expand': 4.0.23(@types/node@24.13.3) + '@inquirer/input': 4.3.1(@types/node@24.13.3) + '@inquirer/number': 3.0.23(@types/node@24.13.3) + '@inquirer/password': 4.0.23(@types/node@24.13.3) + '@inquirer/rawlist': 4.1.11(@types/node@24.13.3) + '@inquirer/search': 3.2.2(@types/node@24.13.3) + '@inquirer/select': 4.4.2(@types/node@24.13.3) optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/rawlist@4.1.11(@types/node@22.20.1)': + '@inquirer/rawlist@4.1.11(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/search@3.2.2(@types/node@22.20.1)': + '@inquirer/search@3.2.2(@types/node@24.13.3)': dependencies: - '@inquirer/core': 10.3.2(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 - '@inquirer/select@4.4.2(@types/node@22.20.1)': + '@inquirer/select@4.4.2(@types/node@24.13.3)': dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) '@inquirer/figures': 1.0.15 - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/type': 3.0.10(@types/node@24.13.3) yoctocolors-cjs: 2.1.3 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@inquirer/type@1.5.5': dependencies: mute-stream: 1.0.0 - '@inquirer/type@3.0.10(@types/node@22.20.1)': + '@inquirer/type@3.0.10(@types/node@24.13.3)': optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@ioredis/commands@1.10.0': {} @@ -5433,7 +5436,7 @@ snapshots: '@types/jsonwebtoken@9.0.10': dependencies: '@types/ms': 2.1.0 - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@types/mdast@4.0.4': dependencies: @@ -5443,11 +5446,11 @@ snapshots: '@types/mute-stream@0.0.4': dependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@types/node-jose@1.1.13': dependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@types/node@16.9.1': {} @@ -5455,16 +5458,16 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.20.1': + '@types/node@24.13.3': dependencies: - undici-types: 6.21.0 + undici-types: 7.18.2 '@types/normalize-package-data@2.4.4': {} '@types/request@2.48.13': dependencies: '@types/caseless': 0.12.5 - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@types/tough-cookie': 4.0.5 form-data: 2.5.6 @@ -5562,7 +5565,7 @@ snapshots: obug: 2.1.3 std-env: 4.2.0 tinyrainbow: 3.1.0 - vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0)) + vitest: 4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0)) '@vitest/expect@4.1.10': dependencies: @@ -5573,13 +5576,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.10(vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0))': + '@vitest/mocker@4.1.10(vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0) + vite: 8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0) '@vitest/pretty-format@4.1.10': dependencies: @@ -6469,17 +6472,17 @@ snapshots: dependencies: '@inquirer/core': 8.2.4 - inquirer@12.11.1(@types/node@22.20.1): + inquirer@12.11.1(@types/node@24.13.3): dependencies: '@inquirer/ansi': 1.0.2 - '@inquirer/core': 10.3.2(@types/node@22.20.1) - '@inquirer/prompts': 7.10.1(@types/node@22.20.1) - '@inquirer/type': 3.0.10(@types/node@22.20.1) + '@inquirer/core': 10.3.2(@types/node@24.13.3) + '@inquirer/prompts': 7.10.1(@types/node@24.13.3) + '@inquirer/type': 3.0.10(@types/node@24.13.3) mute-stream: 2.0.0 run-async: 4.0.6 rxjs: 7.8.2 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 interpret@2.2.0: {} @@ -6645,7 +6648,7 @@ snapshots: jwa: 2.0.1 safe-buffer: 5.2.1 - knex@3.3.0(mysql2@3.23.0(@types/node@22.20.1))(supports-color@10.2.2): + knex@3.3.0(mysql2@3.23.0(@types/node@24.13.3))(supports-color@10.2.2): dependencies: colorette: 2.0.19 commander: 10.0.1 @@ -6662,7 +6665,7 @@ snapshots: tarn: 3.1.2 tildify: 2.0.0 optionalDependencies: - mysql2: 3.23.0(@types/node@22.20.1) + mysql2: 3.23.0(@types/node@24.13.3) transitivePeerDependencies: - supports-color @@ -6862,9 +6865,9 @@ snapshots: mute-stream@2.0.0: {} - mysql2@3.23.0(@types/node@22.20.1): + mysql2@3.23.0(@types/node@24.13.3): dependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 aws-ssl-profiles: 1.1.2 denque: 2.1.0 generate-function: 2.3.1 @@ -7094,7 +7097,7 @@ snapshots: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.2 - '@types/node': 22.20.1 + '@types/node': 24.13.3 long: 5.3.2 pvtsutils@1.3.6: @@ -7282,7 +7285,7 @@ snapshots: setimmediate@1.0.5: {} - sharp@0.35.3(@types/node@22.20.1): + sharp@0.35.3(@types/node@24.13.3): dependencies: '@img/colour': 1.1.0 detect-libc: 2.1.2 @@ -7313,7 +7316,7 @@ snapshots: '@img/sharp-win32-arm64': 0.35.3 '@img/sharp-win32-ia32': 0.35.3 '@img/sharp-win32-x64': 0.35.3 - '@types/node': 22.20.1 + '@types/node': 24.13.3 shebang-command@2.0.0: dependencies: @@ -7577,6 +7580,8 @@ snapshots: undici-types@6.21.0: {} + undici-types@7.18.2: {} + undici@6.27.0: {} unicorn-magic@0.4.0: {} @@ -7637,17 +7642,17 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-tsconfig-paths@6.1.1(supports-color@10.2.2)(typescript@7.0.2)(vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0)): + vite-tsconfig-paths@6.1.1(supports-color@10.2.2)(typescript@7.0.2)(vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0)): dependencies: debug: 4.4.3(supports-color@10.2.2) globrex: 0.1.2 tsconfck: 3.1.6(typescript@7.0.2) - vite: 8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0) + vite: 8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0) transitivePeerDependencies: - supports-color - typescript - vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0): + vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0): dependencies: lightningcss: 1.32.0 picomatch: 4.0.5 @@ -7655,15 +7660,15 @@ snapshots: rolldown: 1.1.5 tinyglobby: 0.2.17 optionalDependencies: - '@types/node': 22.20.1 + '@types/node': 24.13.3 esbuild: 0.28.1 fsevents: 2.3.3 yaml: 2.9.0 - vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@22.20.1)(@vitest/coverage-v8@4.1.10)(vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0)): + vitest@4.1.10(@opentelemetry/api@1.9.1)(@types/node@24.13.3)(@vitest/coverage-v8@4.1.10)(vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0)) + '@vitest/mocker': 4.1.10(vite@8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -7680,11 +7685,11 @@ snapshots: tinyexec: 1.2.4 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.1.4(@types/node@22.20.1)(esbuild@0.28.1)(yaml@2.9.0) + vite: 8.1.4(@types/node@24.13.3)(esbuild@0.28.1)(yaml@2.9.0) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.1 - '@types/node': 22.20.1 + '@types/node': 24.13.3 '@vitest/coverage-v8': 4.1.10(vitest@4.1.10) transitivePeerDependencies: - msw