From 7b0e4e0a7cfc50822a59314f1a34584da1a7991c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 11:41:10 +0200 Subject: [PATCH 1/7] chore(deps): bump github/codeql-action/analyze from 4.37.7 to 4.37.8 (#12394) Signed-off-by: dependabot[bot] --- .github/workflows/codeql-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 94a98df3f3f5..2fa24214ae83 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -37,4 +37,4 @@ jobs: config-file: ./.github/codeql/codeql-config.yml - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # 4.37.7 + uses: github/codeql-action/analyze@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # 4.37.8 From cb3bebe4414af1c868b21271f0a9aeceae31a537 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 11:41:34 +0200 Subject: [PATCH 2/7] chore(deps): bump npm-to-yarn from 3.0.1 to 3.2.0 (#12395) Signed-off-by: dependabot[bot] --- pnpm-lock.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c81cc8b82551..3c4889d56d16 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1493,7 +1493,7 @@ importers: version: 3.0.0 npm-to-yarn: specifier: ^3.0.1 - version: 3.0.1 + version: 3.2.0 tslib: specifier: ^2.6.0 version: 2.8.1 @@ -8584,7 +8584,7 @@ packages: git-raw-commits@3.0.0: resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==} engines: {node: '>=14'} - deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. + deprecated: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead. hasBin: true git-remote-origin-url@2.0.0: @@ -8594,7 +8594,7 @@ packages: git-semver-tags@5.0.1: resolution: {integrity: sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==} engines: {node: '>=14'} - deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. + deprecated: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead. hasBin: true git-up@7.0.0: @@ -10447,8 +10447,8 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-to-yarn@3.0.1: - resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==} + npm-to-yarn@3.2.0: + resolution: {integrity: sha512-K1HmQeZT2HrjpsR6KgqbN2FAXL2NrJJmNUSD9ck7HGTVu1JKXox8n9SB+tjbU8m8JGLF4OscrroPepew/L7/Xw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} nprogress@0.2.0: @@ -13708,7 +13708,7 @@ snapshots: jsonpointer: 5.0.1 leven: 3.1.0 - '@argos-ci/api-client@0.31.0(supports-color@7.2.0)': + '@argos-ci/api-client@0.31.0': dependencies: debug: 4.4.3(supports-color@7.2.0) openapi-fetch: 0.17.0 @@ -13720,7 +13720,7 @@ snapshots: '@argos-ci/cli@6.9.0(@types/node@25.9.1)(supports-color@7.2.0)': dependencies: - '@argos-ci/api-client': 0.31.0(supports-color@7.2.0) + '@argos-ci/api-client': 0.31.0 '@argos-ci/core': 6.8.1(@types/node@25.9.1)(supports-color@7.2.0) '@vercel/detect-agent': 1.2.5 commander: 15.0.0 @@ -13732,7 +13732,7 @@ snapshots: '@argos-ci/core@6.8.1(@types/node@25.9.1)(supports-color@7.2.0)': dependencies: - '@argos-ci/api-client': 0.31.0(supports-color@7.2.0) + '@argos-ci/api-client': 0.31.0 '@argos-ci/util': 4.1.0 convict: 6.2.5 debug: 4.4.3(supports-color@7.2.0) @@ -23182,7 +23182,7 @@ snapshots: dependencies: path-key: 3.1.1 - npm-to-yarn@3.0.1: {} + npm-to-yarn@3.2.0: {} nprogress@0.2.0: {} From f2124d5b6e8a3450de0805c542d78dcd47ebc6b5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 11:43:25 +0200 Subject: [PATCH 3/7] chore(deps-dev): bump typescript-eslint from 8.63.0 to 8.68.0 (#12393) Signed-off-by: dependabot[bot] --- pnpm-lock.yaml | 170 +++++++++++++++++++++++++++++-------------------- 1 file changed, 101 insertions(+), 69 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3c4889d56d16..2fa425146fe8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -72,7 +72,7 @@ importers: version: 6.0.2(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) '@vitest/eslint-plugin': specifier: ^1.6.17 - version: 1.6.20(@typescript-eslint/eslint-plugin@8.63.0(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))) + version: 1.6.20(@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))) cross-env: specifier: ^10.1.0 version: 10.1.0 @@ -93,7 +93,7 @@ importers: version: 3.1.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-import: specifier: ^2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) + version: 2.32.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) @@ -183,7 +183,7 @@ importers: version: 6.0.3 typescript-eslint: specifier: ^8.59.3 - version: 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + version: 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) vitest: specifier: ^4.0.0 version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) @@ -6048,11 +6048,11 @@ packages: '@types/yargs@17.0.35': resolution: {integrity: sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==} - '@typescript-eslint/eslint-plugin@8.63.0': - resolution: {integrity: sha512-rvwSgqT+DHpWdzfSzPatRLm02a0GlESt++9iy3hLCDY4BgkaLcl8LBi9Yh7XGFBpwcBE/K3024QuXWTpbz4FfQ==} + '@typescript-eslint/eslint-plugin@8.68.0': + resolution: {integrity: sha512-WASHDpCm6qO5jj9g1a+8NiW5+GCkAyLReR56/4VruYmNgfUmqpxOfZ2Yfb8xGfJPWv5Qi6LSD8sXdces3vbp/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.63.0 + '@typescript-eslint/parser': ^8.68.0 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' @@ -6063,8 +6063,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/parser@8.63.0': - resolution: {integrity: sha512-gwh4gvvlaVDKKxyfxMG+Gnu1u9X0OQBwyGLkbwB65dIzBKnxeRiJlNFqlI3zwVhNXJIs6qV7mlFCn/BIajlVig==} + '@typescript-eslint/parser@8.68.0': + resolution: {integrity: sha512-fHq2VC1kpyYfvEcbiMjOpySY4WS7voEp89yAThrHRX5sm9j2lzYppCb2umFMEed4fWcyeLjHxrz0mpjNBaBxMQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -6082,8 +6082,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.63.0': - resolution: {integrity: sha512-e5dh0/UI0ok53AlZ5wRkXCB32z/f2jUZqPR/ygAw5WYaSw8j9EoJWlS7wQjr/dmOaqWjnPIn2m+HhVPCMWGZVQ==} + '@typescript-eslint/project-service@8.68.0': + resolution: {integrity: sha512-5GQtWZCXFcFYux955pvoS02WLc49pXNlvIxocKjS0clvwo3in1RdlzVKyiqQH9vE5AKWFLTaUgeQkOrTS+0Qxw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' @@ -6103,8 +6103,8 @@ packages: resolution: {integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.63.0': - resolution: {integrity: sha512-uUyfMWCnDSN8bCpcrY8nGP2BLkQ9Xn0GsipcONcpIDWhwhO4ZSyHvyS14U3X75mzxWxL3I2UZIrenTzdzcJO8A==} + '@typescript-eslint/scope-manager@8.68.0': + resolution: {integrity: sha512-T5eXpcaJNg8bhjHJ8Rjp68Vq/QBteYtTKY8TZqVNPaUbuz0f6jI9t6aDkylwvalpAB9XTTFeFOjrjXAZ3YvmVA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/tsconfig-utils@8.60.0': @@ -6125,8 +6125,14 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.63.0': - resolution: {integrity: sha512-Nzzh/OGxVCOjObjaj1CQF2RUasyYy2Jfuh+zZ3PjLzG2fYRriAiZLib9UKtO+CpQAS3YHiAS+ckZDclwqI1TPA==} + '@typescript-eslint/tsconfig-utils@8.68.0': + resolution: {integrity: sha512-F7zrGQfiJHojPwi8vhxZQC1tWtJzvL74cK/nqri2lk8YUXvYaYwl263xOJ69jDWPUk1hmcdoayFwk9lX09npVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/type-utils@8.68.0': + resolution: {integrity: sha512-X77zqoY1EjeWGs/0JNxeaMfp5C5lIz4Tw8y66F1Ne8Faq6g424sBNYM6xBAqElfGZPLpWS+CZAp0DXyKDzWiHg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -6144,6 +6150,10 @@ packages: resolution: {integrity: sha512-xyLtl9DUBBFrcJS4x2pIqGLH68/tC2uOa4Z7pUteW09D3bXnnXUom4dyPikzWgB7llmIc1zoeI3aoUdC4rPK/Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.68.0': + resolution: {integrity: sha512-9RnpsGJjrAllCMefGVVsImJM24YurhC0Q1h4UbvivtvOqXmR/vEJge2OoE++z9m6hyg8T1Q8t5SNT6tHSbrxcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.60.0': resolution: {integrity: sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -6156,8 +6166,8 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/typescript-estree@8.63.0': - resolution: {integrity: sha512-ygBkU+B7ex5UI/gKhaqexWev79uISfIv7XQCRNYO/jmD8rGLPyWLAb3KMRT6nd8Gt9bmUBi9+iX6tBdYfOY81Q==} + '@typescript-eslint/typescript-estree@8.68.0': + resolution: {integrity: sha512-OKKsD0tYmoNiU5PW2zehO1yO56jYOm1ShYlxon/Z0SJNidAkdVg86eg9ruRuoXf8xfnuWZGbwDsStkoXbZtIIA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' @@ -6176,8 +6186,8 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.63.0': - resolution: {integrity: sha512-fUKaeAvrTuQg/Tgt3nliAUSZHJM6DlCcfyEmxCvlX8kieWSStBX+5O5Fnidtc3i2JrH+9c/GL4RY2iasd/GPTA==} + '@typescript-eslint/utils@8.68.0': + resolution: {integrity: sha512-PB5gJMMOg0Q5P1tsgWtEAqQacJXq0qEqRHDX/YJ4FaTMLfZPpHB3gjl2EJuiZyPABxmj4ZQYiY9m1bdAJ5y7tQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -6191,8 +6201,8 @@ packages: resolution: {integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.63.0': - resolution: {integrity: sha512-UexrHGnGTpbuQHct2ExOc2ZcFbGUS9FOesCxxqdBGcpI1BxYu/LZ6U8Aq6/72XtF/qRBk9nhuGHFJIXXMhPMdw==} + '@typescript-eslint/visitor-keys@8.68.0': + resolution: {integrity: sha512-YR65gGdGvTUAWLldC3xLOvOzamdGzB4A5/N8rehEaHs3Zvoe39BhgY+u0SPch1OvrVTfLcc55wsSgK2NcnTS/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.3.1': @@ -6770,6 +6780,10 @@ packages: resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==} engines: {node: 18 || 20 || >=22} + brace-expansion@5.0.9: + resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==} + engines: {node: 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -10199,6 +10213,10 @@ packages: resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} engines: {node: 18 || 20 || >=22} + minimatch@10.2.6: + resolution: {integrity: sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A==} + engines: {node: 18 || 20 || >=22} + minimatch@3.1.4: resolution: {integrity: sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==} @@ -12813,8 +12831,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript-eslint@8.63.0: - resolution: {integrity: sha512-xgwXyzG4sK9ALkBxbyGkTMMOS+imnW65iPhxCQMK83KhxyoDNW7l+IDqEf9vMdoUidHpOoS967RCq4eMiTexwQ==} + typescript-eslint@8.68.0: + resolution: {integrity: sha512-MHy0Y0ynqeEbx/S45+i/bBssdy3X6KNBfmJAP35GrgtNxu2TQ5K5xsFDhAnmsq1jvpdoZOPG1LGtJo0HWqYCrQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -17811,14 +17829,14 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.63.0(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/scope-manager': 8.63.0 - '@typescript-eslint/type-utils': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) - '@typescript-eslint/utils': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.63.0 + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.68.0 + '@typescript-eslint/type-utils': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.68.0 eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) ignore: 7.0.5 natural-compare: 1.4.0 @@ -17839,12 +17857,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': + '@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/scope-manager': 8.63.0 - '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) - '@typescript-eslint/visitor-keys': 8.63.0 + '@typescript-eslint/scope-manager': 8.68.0 + '@typescript-eslint/types': 8.68.0 + '@typescript-eslint/typescript-estree': 8.68.0(typescript@6.0.3) + '@typescript-eslint/visitor-keys': 8.68.0 debug: 4.4.3(supports-color@7.2.0) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) typescript: 6.0.3 @@ -17862,17 +17880,17 @@ snapshots: '@typescript-eslint/project-service@8.62.1(supports-color@7.2.0)(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@6.0.3) - '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) + '@typescript-eslint/types': 8.63.0 debug: 4.4.3(supports-color@7.2.0) typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.63.0(typescript@6.0.3)': + '@typescript-eslint/project-service@8.68.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) - '@typescript-eslint/types': 8.63.0 + '@typescript-eslint/tsconfig-utils': 8.68.0(typescript@6.0.3) + '@typescript-eslint/types': 8.68.0 debug: 4.4.3(supports-color@7.2.0) typescript: 6.0.3 transitivePeerDependencies: @@ -17902,10 +17920,10 @@ snapshots: '@typescript-eslint/types': 8.62.1 '@typescript-eslint/visitor-keys': 8.62.1 - '@typescript-eslint/scope-manager@8.63.0': + '@typescript-eslint/scope-manager@8.68.0': dependencies: - '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/visitor-keys': 8.63.0 + '@typescript-eslint/types': 8.68.0 + '@typescript-eslint/visitor-keys': 8.68.0 '@typescript-eslint/tsconfig-utils@8.60.0(typescript@6.0.3)': dependencies: @@ -17919,11 +17937,15 @@ snapshots: dependencies: typescript: 6.0.3 - '@typescript-eslint/type-utils@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': + '@typescript-eslint/tsconfig-utils@8.68.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + typescript: 6.0.3 + + '@typescript-eslint/type-utils@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': + dependencies: + '@typescript-eslint/types': 8.68.0 + '@typescript-eslint/typescript-estree': 8.68.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) debug: 4.4.3(supports-color@7.2.0) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) ts-api-utils: 2.5.0(typescript@6.0.3) @@ -17937,6 +17959,8 @@ snapshots: '@typescript-eslint/types@8.63.0': {} + '@typescript-eslint/types@8.68.0': {} + '@typescript-eslint/typescript-estree@8.60.0(typescript@6.0.3)': dependencies: '@typescript-eslint/project-service': 8.60.0(typescript@6.0.3) @@ -17967,14 +17991,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.63.0(typescript@6.0.3)': + '@typescript-eslint/typescript-estree@8.68.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.63.0(typescript@6.0.3) - '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) - '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/visitor-keys': 8.63.0 + '@typescript-eslint/project-service': 8.68.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.68.0(typescript@6.0.3) + '@typescript-eslint/types': 8.68.0 + '@typescript-eslint/visitor-keys': 8.68.0 debug: 4.4.3(supports-color@7.2.0) - minimatch: 10.2.5 + minimatch: 10.2.6 semver: 7.8.5 tinyglobby: 0.2.17 ts-api-utils: 2.5.0(typescript@6.0.3) @@ -18004,12 +18028,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': + '@typescript-eslint/utils@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) - '@typescript-eslint/scope-manager': 8.63.0 - '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) + '@typescript-eslint/scope-manager': 8.68.0 + '@typescript-eslint/types': 8.68.0 + '@typescript-eslint/typescript-estree': 8.68.0(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) typescript: 6.0.3 transitivePeerDependencies: @@ -18025,9 +18049,9 @@ snapshots: '@typescript-eslint/types': 8.62.1 eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.63.0': + '@typescript-eslint/visitor-keys@8.68.0': dependencies: - '@typescript-eslint/types': 8.63.0 + '@typescript-eslint/types': 8.68.0 eslint-visitor-keys: 5.0.1 '@ungap/structured-clone@1.3.1': {} @@ -18050,13 +18074,13 @@ snapshots: '@rolldown/pluginutils': 1.0.1 vite: 8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) - '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.63.0(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))': + '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))': dependencies: '@typescript-eslint/scope-manager': 8.62.1 '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.63.0(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) typescript: 6.0.3 vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) transitivePeerDependencies: @@ -18649,6 +18673,10 @@ snapshots: dependencies: balanced-match: 4.0.4 + brace-expansion@5.0.9: + dependencies: + balanced-match: 4.0.4 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -20127,11 +20155,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) eslint-import-resolver-node: 0.3.10 transitivePeerDependencies: @@ -20147,7 +20175,7 @@ snapshots: dependencies: eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -20158,7 +20186,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) eslint-import-resolver-node: 0.3.10 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) hasown: 2.0.3 is-core-module: 2.16.2 is-glob: 4.0.3 @@ -20170,7 +20198,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -22908,6 +22936,10 @@ snapshots: dependencies: brace-expansion: 5.0.6 + minimatch@10.2.6: + dependencies: + brace-expansion: 5.0.9 + minimatch@3.1.4: dependencies: brace-expansion: 1.1.15 @@ -26039,12 +26071,12 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): + typescript-eslint@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.63.0(@typescript-eslint/parser@8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) - '@typescript-eslint/utils': 8.63.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.68.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) typescript: 6.0.3 transitivePeerDependencies: From 7d105a5368b5acfb6a8479929a1e532b5d7a00a4 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 11:43:56 +0200 Subject: [PATCH 4/7] chore(deps): bump browserslist from 4.28.2 to 4.28.8 (#12400) Signed-off-by: dependabot[bot] --- pnpm-lock.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2fa425146fe8..f57fa4ff2436 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -18821,7 +18821,7 @@ snapshots: caniuse-api@3.0.0: dependencies: browserslist: 4.28.2 - caniuse-lite: 1.0.30001793 + caniuse-lite: 1.0.30001809 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 From deca844eb5c7dc1504986dcc2a3b71e5c3092e0f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 3 Sep 2026 11:44:26 +0200 Subject: [PATCH 5/7] chore(deps): bump github/codeql-action/init from 4.37.7 to 4.37.8 (#12392) Signed-off-by: dependabot[bot] --- .github/workflows/codeql-analysis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 2fa24214ae83..827d38edb419 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -31,7 +31,7 @@ jobs: uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 - name: Initialize CodeQL - uses: github/codeql-action/init@ff2f1c621b7f889edc0d3c761ac2e6a3f8cdb0dd # 4.37.7 + uses: github/codeql-action/init@db488ddef3bf6cb639b32c2e9a7c0a7ea8271d28 # 4.37.8 with: languages: javascript-typescript config-file: ./.github/codeql/codeql-config.yml From 23e6a41db15f17251fe22e93537ebede354e20c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Thu, 3 Sep 2026 14:02:53 +0200 Subject: [PATCH 6/7] chore: upgrade to execa v10 (#12402) --- admin/scripts/generateExamples.js | 72 +++++--- package.json | 2 +- packages/create-docusaurus/src/commands.ts | 1 - packages/docusaurus-utils/package.json | 2 +- .../src/vcs/__tests__/gitUtils.test.ts | 25 +-- packages/docusaurus-utils/src/vcs/gitUtils.ts | 81 ++------- packages/docusaurus/bin/beforeCli.mjs | 18 +- packages/docusaurus/package.json | 2 +- packages/docusaurus/src/commands/deploy.ts | 120 ++++++------- pnpm-lock.yaml | 162 ++++++++++++++---- website/package.json | 1 - 11 files changed, 274 insertions(+), 212 deletions(-) diff --git a/admin/scripts/generateExamples.js b/admin/scripts/generateExamples.js index f4e9b3495441..b1b34e938f98 100644 --- a/admin/scripts/generateExamples.js +++ b/admin/scripts/generateExamples.js @@ -8,7 +8,7 @@ // @ts-check import fs from 'fs-extra'; -import shell from 'shelljs'; +import {execa} from 'execa'; /** * Generate one example per init template @@ -23,17 +23,28 @@ async function generateTemplateExample(template) { ); // Run the docusaurus script to create the template in the examples folder - const command = template.endsWith('-typescript') - ? template.replace('-typescript', ' -- --typescript') - : `${template} -- --javascript`; - - shell.exec( + const isTypeScript = template.endsWith('-typescript'); + const templateName = isTypeScript + ? template.replace('-typescript', '') + : template; + const templateFlag = isTypeScript ? '--typescript' : '--javascript'; + + await execa( + 'yarn', // We use the published init script on purpose, because the local init is // too new and could generate upcoming/unavailable config options. // Remember CodeSandbox templates will use the published version, // not the repo version. // Using "yarn create" because "npm init" still try to use local pkg - `yarn create docusaurus examples/${template} ${command}`, + [ + 'create', + 'docusaurus', + `examples/${template}`, + templateName, + '--', + templateFlag, + ], + {stdio: 'inherit'}, ); const templatePackageJson = @@ -103,24 +114,35 @@ async function generateTemplateExample(template) { * See https://github.com/jamstack/jamstack.org/pull/609 * Button visible here: https://jamstack.org/generators/ */ -function updateStarters() { +async function updateStarters() { /** * @param {Object} param0 * @param {string} param0.subfolder * @param {string} param0.remote * @param {string} param0.remoteBranch */ - function forcePushGitSubtree({subfolder, remote, remoteBranch}) { + async function forcePushGitSubtree({subfolder, remote, remoteBranch}) { console.log(''); // See https://stackoverflow.com/questions/33172857/how-do-i-force-a-subtree-push-to-overwrite-remote-changes - const command = `git push ${remote} \`git subtree split --prefix ${subfolder}\`:${remoteBranch} --force`; try { - console.log(`forcePushGitSubtree command: ${command}`); - shell.exec(command); + console.log(`forcePushGitSubtree: splitting subtree ${subfolder}`); + const {stdout: splitCommit} = await execa( + 'git', + ['subtree', 'split', '--prefix', subfolder], + {stderr: 'inherit'}, + ); + console.log( + `forcePushGitSubtree: pushing ${splitCommit} to ${remote} ${remoteBranch}`, + ); + await execa( + 'git', + ['push', remote, `${splitCommit}:${remoteBranch}`, '--force'], + {stdio: 'inherit'}, + ); console.log('forcePushGitSubtree success!'); } catch (err) { console.error( - `Can't force push to git subtree with command '${command}'`, + `Can't force push to git subtree ${subfolder} on ${remote} ${remoteBranch}`, ); console.error(`If it's a permission problem, ask @slorber`); console.error(err); @@ -131,7 +153,7 @@ function updateStarters() { console.log(''); console.log('Updating https://github.com/facebook/docusaurus/tree/starter'); - forcePushGitSubtree({ + await forcePushGitSubtree({ subfolder: 'examples/classic', remote: 'origin', remoteBranch: 'starter', @@ -142,7 +164,7 @@ function updateStarters() { // TODO replace by starter repo in Docusaurus-community org (if we get it) console.log('Updating https://github.com/slorber/docusaurus-starter'); - forcePushGitSubtree({ + await forcePushGitSubtree({ subfolder: 'examples/classic', remote: 'git@github.com:slorber/docusaurus-starter.git', remoteBranch: 'main', @@ -151,13 +173,21 @@ function updateStarters() { console.log(''); } -const branch = shell.exec('git rev-parse --abbrev-ref HEAD').stdout; +const {stdout: branch} = await execa('git', [ + 'rev-parse', + '--abbrev-ref', + 'HEAD', +]); if (branch === 'main') { throw new Error( "Please don't generate Docusaurus examples from the main branch!\nWe are going to commit during this process!", ); } -if (shell.exec('git diff --exit-code').code !== 0) { +const gitDiffResult = await execa('git', ['diff', '--exit-code'], { + stdio: 'inherit', + reject: false, +}); +if (gitDiffResult.exitCode !== 0) { throw new Error( 'Please run the generate examples command with a clean Git state and no uncommitted local changes. git diff should display nothing!', ); @@ -188,8 +218,10 @@ for (const template of templates) { await generateTemplateExample(template); } console.log('Committing changes'); -shell.exec('git add examples'); -shell.exec("git commit -am 'update examples' --allow-empty"); +await execa('git', ['add', 'examples'], {stdio: 'inherit'}); +await execa('git', ['commit', '-am', 'update examples', '--allow-empty'], { + stdio: 'inherit', +}); // Update starters console.log(` @@ -197,7 +229,7 @@ console.log(` # Updating starter repos and branches ... It can take some time... please wait until done... `); -updateStarters(); +await updateStarters(); console.log(` ------- diff --git a/package.json b/package.json index b2d7f28b13c5..5ddcd90f44c5 100644 --- a/package.json +++ b/package.json @@ -89,7 +89,6 @@ "@types/prompts": "^2.4.4", "@types/react": "^19.2.14", "@types/semver": "^7.7.1", - "@types/shelljs": "^0.8.12", "@vitejs/plugin-react": "^6.0.2", "@vitest/eslint-plugin": "^1.6.17", "cross-env": "^10.1.0", @@ -103,6 +102,7 @@ "eslint-plugin-react": "^7.37.5", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-regexp": "^3.1.0", + "execa": "^10.0.0", "globals": "^17.6.0", "husky": "^9.1.7", "image-size": "^2.0.2", diff --git a/packages/create-docusaurus/src/commands.ts b/packages/create-docusaurus/src/commands.ts index 1e582e599f99..b07aae06b4df 100644 --- a/packages/create-docusaurus/src/commands.ts +++ b/packages/create-docusaurus/src/commands.ts @@ -7,7 +7,6 @@ // We use cross-spawn instead of spawn because of Windows compatibility issues. // For example, "yarn" doesn't work on Windows, it requires "yarn.cmd" -// Tools like execa() use cross-spawn under the hood, and "resolve" the command import crossSpawn from 'cross-spawn'; import supportsColor from 'supports-color'; import { diff --git a/packages/docusaurus-utils/package.json b/packages/docusaurus-utils/package.json index fbb72a78a311..30052aa7e891 100644 --- a/packages/docusaurus-utils/package.json +++ b/packages/docusaurus-utils/package.json @@ -21,7 +21,7 @@ "@docusaurus/logger": "3.10.1", "@docusaurus/types": "3.10.1", "@docusaurus/utils-common": "3.10.1", - "execa": "^5.1.1", + "execa": "^10.0.0", "file-loader": "^6.2.0", "fs-extra": "^11.2.0", "github-slugger": "^2.0.0", diff --git a/packages/docusaurus-utils/src/vcs/__tests__/gitUtils.test.ts b/packages/docusaurus-utils/src/vcs/__tests__/gitUtils.test.ts index 5c8347d99010..89d13fb7dc24 100644 --- a/packages/docusaurus-utils/src/vcs/__tests__/gitUtils.test.ts +++ b/packages/docusaurus-utils/src/vcs/__tests__/gitUtils.test.ts @@ -9,7 +9,7 @@ import {describe, expect, it} from 'vitest'; import fs from 'fs-extra'; import path from 'path'; import os from 'os'; -import execa from 'execa'; +import {execa, type Options, type Result} from 'execa'; import { FileNotTrackedError, @@ -38,22 +38,13 @@ class Git { cwd: string; args: string[]; cmd: string; - options?: execa.Options; - }): Promise { - const res = await execa(cmd, args, { + options?: Options; + }): Promise { + return execa(cmd, args, { cwd, - silent: true, shell: true, ...options, }); - if (res.exitCode !== 0) { - throw new Error( - `Git command failed with code ${res.exitCode}: ${cmd} ${args.join( - ' ', - )}`, - ); - } - return res; } static async initializeRepo(dir: string): Promise { @@ -83,8 +74,8 @@ class Git { async runOptimisticGitCommand( cmd: string, args?: string[], - options?: execa.Options, - ): Promise { + options?: Options, + ): Promise { return Git.runOptimisticGitCommand({cwd: this.dir, cmd, args, options}); } @@ -538,8 +529,10 @@ describe('submodules APIs', () => { [Error: Couldn't find the git superproject root directory Failure while running \`git rev-parse --show-superproject-working-tree\` from cwd="" The command executed throws an error: Command failed with exit code 128: git rev-parse --show-superproject-working-tree + fatal: not a git repository (or any of the parent directories): .git] - Cause: [Error: Command failed with exit code 128: git rev-parse --show-superproject-working-tree + Cause: [ExecaError: Command failed with exit code 128: git rev-parse --show-superproject-working-tree + fatal: not a git repository (or any of the parent directories): .git] `); }); diff --git a/packages/docusaurus-utils/src/vcs/gitUtils.ts b/packages/docusaurus-utils/src/vcs/gitUtils.ts index 46b19eddf9b7..10364167ccb0 100644 --- a/packages/docusaurus-utils/src/vcs/gitUtils.ts +++ b/packages/docusaurus-utils/src/vcs/gitUtils.ts @@ -9,7 +9,7 @@ import path from 'path'; import fs from 'fs-extra'; import os from 'os'; import _ from 'lodash'; -import execa from 'execa'; +import {execa, execaSync} from 'execa'; import PQueue from 'p-queue'; import logger from '@docusaurus/logger'; @@ -34,7 +34,7 @@ const GitCommandQueue = new PQueue({ const realHasGitFn = () => { try { - return execa.sync('git', ['--version']).exitCode === 0; + return execaSync('git', ['--version']).exitCode === 0; } catch { return false; } @@ -164,12 +164,6 @@ export async function getFileCommitDate( ); }))!; - if (result.exitCode !== 0) { - throw new Error( - `Failed to retrieve the git history for file "${file}" with exit code ${result.exitCode}: ${result.stderr}`, - ); - } - // We only parse the output line starting with our "RESULT:" prefix // See why https://github.com/facebook/docusaurus/pull/10022 const regex = includeAuthor @@ -276,33 +270,20 @@ export async function isGitInsideWorktree(cwd: string): Promise { } export async function getGitRepoRoot(cwd: string): Promise { - const createErrorMessageBase = () => { - return `Couldn't find the git repository root directory -Failure while running ${logger.code( - 'git rev-parse --show-toplevel', - )} from cwd=${logger.path(cwd)}`; - }; - const result = await execa('git', ['rev-parse', '--show-toplevel'], { cwd, }).catch((error) => { // We enter this rejection when cwd is not a dir for example throw new Error( - `${createErrorMessageBase()} + `Couldn't find the git repository root directory +Failure while running ${logger.code( + 'git rev-parse --show-toplevel', + )} from cwd=${logger.path(cwd)} The command executed throws an error: ${error.message}`, {cause: error}, ); }); - if (result.exitCode !== 0) { - throw new Error( - `${createErrorMessageBase()} -The command returned exit code ${logger.code(result.exitCode)}: ${logger.subdue( - result.stderr, - )}`, - ); - } - return fs.realpath.native(result.stdout.trim()); } @@ -312,13 +293,6 @@ The command returned exit code ${logger.code(result.exitCode)}: ${logger.subdue( export async function getGitSuperProjectRoot( cwd: string, ): Promise { - const createErrorMessageBase = () => { - return `Couldn't find the git superproject root directory -Failure while running ${logger.code( - 'git rev-parse --show-superproject-working-tree', - )} from cwd=${logger.path(cwd)}`; - }; - const result = await execa( 'git', ['rev-parse', '--show-superproject-working-tree'], @@ -328,21 +302,15 @@ Failure while running ${logger.code( ).catch((error) => { // We enter this rejection when cwd is not a dir for example throw new Error( - `${createErrorMessageBase()} + `Couldn't find the git superproject root directory +Failure while running ${logger.code( + 'git rev-parse --show-superproject-working-tree', + )} from cwd=${logger.path(cwd)} The command executed throws an error: ${error.message}`, {cause: error}, ); }); - if (result.exitCode !== 0) { - throw new Error( - `${createErrorMessageBase()} -The command returned exit code ${logger.code(result.exitCode)}: ${logger.subdue( - result.stderr, - )}`, - ); - } - const output = result.stdout.trim(); // this command only works when inside submodules // otherwise it doesn't return anything when we are inside the main repo @@ -354,33 +322,20 @@ The command returned exit code ${logger.code(result.exitCode)}: ${logger.subdue( // See https://git-scm.com/book/en/v2/Git-Tools-Submodules export async function getGitSubmodulePaths(cwd: string): Promise { - const createErrorMessageBase = () => { - return `Couldn't read the list of git submodules -Failure while running ${logger.code( - 'git submodule status', - )} from cwd=${logger.path(cwd)}`; - }; - const result = await execa('git', ['submodule', 'status'], { cwd, }).catch((error) => { // We enter this rejection when cwd is not a dir for example throw new Error( - `${createErrorMessageBase()} + `Couldn't read the list of git submodules +Failure while running ${logger.code( + 'git submodule status', + )} from cwd=${logger.path(cwd)} The command executed throws an error: ${error.message}`, {cause: error}, ); }); - if (result.exitCode !== 0) { - throw new Error( - `${createErrorMessageBase()} -The command returned exit code ${logger.code(result.exitCode)}: ${logger.subdue( - result.stderr, - )}`, - ); - } - const output = result.stdout.trim(); if (!output) { @@ -461,20 +416,12 @@ export async function getGitRepositoryFilesInfo( ], { cwd, - encoding: 'utf-8', // TODO use streaming to avoid a large buffer // See https://github.com/withastro/starlight/issues/3154 maxBuffer: 20 * 1024 * 1024, }, ); - if (result.exitCode !== 0) { - throw new Error( - `Docusaurus failed to run the 'git log' to retrieve tracked files last update date/author. -The command exited with code ${result.exitCode}: ${result.stderr}`, - ); - } - const logLines = result.stdout.split('\n'); const now = Date.now(); diff --git a/packages/docusaurus/bin/beforeCli.mjs b/packages/docusaurus/bin/beforeCli.mjs index 42140564b3b8..95b06a133e72 100644 --- a/packages/docusaurus/bin/beforeCli.mjs +++ b/packages/docusaurus/bin/beforeCli.mjs @@ -10,7 +10,7 @@ import fs from 'fs-extra'; import path from 'path'; import {createRequire} from 'module'; -import execa from 'execa'; +import {execa} from 'execa'; import {logger} from '@docusaurus/logger'; import semver from 'semver'; import updateNotifier from 'update-notifier'; @@ -111,15 +111,13 @@ export default async function beforeCli() { return undefined; } - const yarnVersionResult = await execa.command('yarn --version'); - if (yarnVersionResult.exitCode === 0) { - const majorVersion = parseInt( - yarnVersionResult.stdout?.trim().split('.')[0] ?? '', - 10, - ); - if (!Number.isNaN(majorVersion)) { - return majorVersion; - } + const yarnVersionResult = await execa`yarn --version`; + const majorVersion = parseInt( + yarnVersionResult.stdout?.trim().split('.')[0] ?? '', + 10, + ); + if (!Number.isNaN(majorVersion)) { + return majorVersion; } return undefined; diff --git a/packages/docusaurus/package.json b/packages/docusaurus/package.json index 13ff3da23ad0..d32fb86d13c1 100644 --- a/packages/docusaurus/package.json +++ b/packages/docusaurus/package.json @@ -51,7 +51,7 @@ "escape-html": "^1.0.3", "eta": "^2.2.0", "eval": "^0.1.8", - "execa": "^5.1.1", + "execa": "^10.0.0", "fs-extra": "^11.2.0", "html-tags": "^3.3.1", "html-webpack-plugin": "^5.6.7", diff --git a/packages/docusaurus/src/commands/deploy.ts b/packages/docusaurus/src/commands/deploy.ts index 22f40c915c68..cbcb8d31baa3 100644 --- a/packages/docusaurus/src/commands/deploy.ts +++ b/packages/docusaurus/src/commands/deploy.ts @@ -9,7 +9,7 @@ import fs from 'fs-extra'; import path from 'path'; import os from 'os'; import logger from '@docusaurus/logger'; -import execa from 'execa'; +import {execa} from 'execa'; import {hasSSHProtocol, buildSshUrl, buildHttpsUrl} from '@docusaurus/utils'; import {loadContext, type LoadContextParams} from '../server/site'; import {build} from './build/build'; @@ -30,14 +30,16 @@ const debugMode = !!process.env.DOCUSAURUS_DEPLOY_DEBUG; // Log executed commands so that user can figure out mistakes on his own // for example: https://github.com/facebook/docusaurus/issues/3875 -function exec(cmd: string, options?: {log?: boolean; failfast?: boolean}) { +async function exec( + file: string, + args: string[], + options?: {log?: boolean; failfast?: boolean}, +) { const log = options?.log ?? true; - const failfast = options?.failfast ?? false; + const failfast = options?.failfast ?? true; + const cmd = [file, ...args].join(' '); try { - // TODO migrate to execa(file,[...args]) instead - // Use async/await everything - // Avoid execa.command: the args need to be escaped manually - const result = execa.commandSync(cmd); + const result = await execa(file, args, {reject: false}); if (log || debugMode) { logger.info`code=${obfuscateGitPass( cmd, @@ -48,7 +50,8 @@ function exec(cmd: string, options?: {log?: boolean; failfast?: boolean}) { } if (failfast && result.exitCode !== 0) { throw new Error( - `Command returned unexpected exitCode ${result.exitCode}`, + `Command returned unexpected exitCode ${result.exitCode} +${result.stderr}`, ); } return result; @@ -63,14 +66,8 @@ In CWD code=${process.cwd()}`, } } -// Execa escape args and add necessary quotes automatically -// When using Execa.command, the args containing spaces must be escaped manually -function escapeArg(arg: string): string { - return arg.replaceAll(' ', '\\ '); -} - -function hasGit() { - return exec('git --version').exitCode === 0; +async function hasGit() { + return (await exec('git', ['--version'], {failfast: false})).exitCode === 0; } export async function deploy( @@ -93,26 +90,23 @@ This behavior can have SEO impacts and create relative link issues. } logger.info('Deploy command invoked...'); - if (!hasGit()) { + if (!(await hasGit())) { throw new Error('Git not installed or not added to PATH!'); } // Source repo is the repo from where the command is invoked - const {stdout} = exec('git remote get-url origin', { - log: false, - failfast: true, - }); - const sourceRepoUrl = stdout.trim(); + const sourceRepoUrl = ( + await exec('git', ['remote', 'get-url', 'origin'], { + log: false, + }) + ).stdout.trim(); // The source branch; defaults to the currently checked out branch const sourceBranch = process.env.CURRENT_BRANCH ?? - exec('git rev-parse --abbrev-ref HEAD', { - log: false, - failfast: true, - }) - ?.stdout?.toString() - .trim(); + ( + await exec('git', ['rev-parse', '--abbrev-ref', 'HEAD'], {log: false}) + ).stdout.trim(); const gitUser = process.env.GIT_USER; @@ -157,10 +151,7 @@ This behavior can have SEO impacts and create relative link issues. const isPullRequest = process.env.CI_PULL_REQUEST ?? process.env.CIRCLE_PULL_REQUEST; if (isPullRequest) { - exec('echo "Skipping deploy on a pull request."', { - log: false, - failfast: true, - }); + logger.info('Skipping deploy on a pull request.'); process.exit(0); } @@ -225,7 +216,9 @@ You can also set the deploymentBranch property in docusaurus.config.js .`); // Save the commit hash that triggers publish-gh-pages before checking // out to deployment branch. - const currentCommit = exec('git rev-parse HEAD')?.stdout?.toString().trim(); + const currentCommit = ( + await exec('git', ['rev-parse', 'HEAD']) + ).stdout.trim(); const runDeploy = async (outputDirectory: string) => { const targetDirectory = cliOptions.targetDir ?? '.'; @@ -238,56 +231,67 @@ You can also set the deploymentBranch property in docusaurus.config.js .`); // Clones the repo into the temp folder and checks out the target branch. // If the branch doesn't exist, it creates a new one based on the // repository default branch. - if ( - exec( - `git clone --depth 1 --branch ${deploymentBranch} ${deploymentRepoURL} ${escapeArg( - toPath, - )}`, - ).exitCode !== 0 - ) { - exec(`git clone --depth 1 ${deploymentRepoURL} ${escapeArg(toPath)}`); - exec(`git checkout -b ${deploymentBranch}`); + const cloneResult = await exec( + 'git', + [ + 'clone', + '--depth', + '1', + '--branch', + deploymentBranch, + deploymentRepoURL, + toPath, + ], + {failfast: false}, + ); + if (cloneResult.exitCode !== 0) { + await exec('git', ['clone', '--depth', '1', deploymentRepoURL, toPath]); + await exec('git', ['checkout', '-b', deploymentBranch]); } // Clear out any existing contents in the target directory - exec(`git rm -rf ${escapeArg(targetDirectory)}`, { - log: false, - failfast: true, - }); + await exec('git', ['rm', '-rf', targetDirectory], {log: false}); const targetPath = path.join(toPath, targetDirectory); try { await fs.copy(fromPath, targetPath); } catch (err) { - logger.error`Copying build assets from path=${fromPath} to path=${targetPath} failed.`; - throw err; + throw new Error( + `Failed to copy build assets from path=${fromPath} to path=${targetPath}.`, + {cause: err}, + ); } - exec('git add --all', {failfast: true}); + await exec('git', ['add', '--all']); const gitUserName = process.env.GIT_USER_NAME; if (gitUserName) { - exec(`git config user.name ${escapeArg(gitUserName)}`, {failfast: true}); + await exec('git', ['config', 'user.name', gitUserName]); } const gitUserEmail = process.env.GIT_USER_EMAIL; if (gitUserEmail) { - exec(`git config user.email ${escapeArg(gitUserEmail)}`, { - failfast: true, - }); + await exec('git', ['config', 'user.email', gitUserEmail]); } const commitMessage = process.env.CUSTOM_COMMIT_MESSAGE ?? `Deploy website - based on ${currentCommit}`; - const commitResults = exec( - `git commit -m ${escapeArg(commitMessage)} --allow-empty`, + // The commit might return a non-zero value when site is up to date. + const commitResults = await exec( + 'git', + ['commit', '-m', commitMessage, '--allow-empty'], + {failfast: false}, + ); + const pushResult = await exec( + 'git', + ['push', '--force', 'origin', deploymentBranch], + {failfast: false}, ); - if (exec(`git push --force origin ${deploymentBranch}`).exitCode !== 0) { + if (pushResult.exitCode !== 0) { throw new Error( 'Running "git push" command failed. Does the GitHub user account you are using have push access to the repository?', ); } else if (commitResults.exitCode === 0) { - // The commit might return a non-zero value when site is up to date. let websiteURL; if (githubHost === 'github.com') { websiteURL = projectName.includes('.github.io') @@ -297,7 +301,7 @@ You can also set the deploymentBranch property in docusaurus.config.js .`); // GitHub enterprise hosting. websiteURL = `https://${githubHost}/pages/${organizationName}/${projectName}/`; } - exec(`echo "Website is live at ${websiteURL}."`, {failfast: true}); + logger.success`Website is live at url=${websiteURL}.`; process.exit(0); } }; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f57fa4ff2436..d0ed8455c95a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,15 +64,12 @@ importers: '@types/semver': specifier: ^7.7.1 version: 7.7.1 - '@types/shelljs': - specifier: ^0.8.12 - version: 0.8.17 '@vitejs/plugin-react': specifier: ^6.0.2 version: 6.0.2(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) '@vitest/eslint-plugin': specifier: ^1.6.17 - version: 1.6.20(@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))) + version: 1.6.20(@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))) cross-env: specifier: ^10.1.0 version: 10.1.0 @@ -93,7 +90,7 @@ importers: version: 3.1.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-import: specifier: ^2.32.0 - version: 2.32.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) + version: 2.32.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-jsx-a11y: specifier: ^6.10.2 version: 6.10.2(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) @@ -106,6 +103,9 @@ importers: eslint-plugin-regexp: specifier: ^3.1.0 version: 3.1.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) + execa: + specifier: ^10.0.0 + version: 10.0.1 globals: specifier: ^17.6.0 version: 17.6.0 @@ -183,7 +183,7 @@ importers: version: 6.0.3 typescript-eslint: specifier: ^8.59.3 - version: 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + version: 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) vitest: specifier: ^4.0.0 version: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) @@ -392,8 +392,8 @@ importers: specifier: ^0.1.8 version: 0.1.8 execa: - specifier: ^5.1.1 - version: 5.1.1 + specifier: ^10.0.0 + version: 10.0.1 fs-extra: specifier: ^11.2.0 version: 11.3.5 @@ -1921,8 +1921,8 @@ importers: specifier: 3.10.1 version: link:../docusaurus-utils-common execa: - specifier: ^5.1.1 - version: 5.1.1 + specifier: ^10.0.0 + version: 10.0.1 file-loader: specifier: ^6.2.0 version: 6.2.0(webpack@5.107.2(@swc/core@1.15.43)(postcss@8.5.15)) @@ -2155,9 +2155,6 @@ importers: color: specifier: ^4.2.3 version: 4.2.3 - execa: - specifier: ^5.1.1 - version: 5.1.1 fs-extra: specifier: ^11.2.0 version: 11.3.5 @@ -5280,6 +5277,9 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} + '@sec-ant/readable-stream@0.4.1': + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@sigstore/bundle@4.0.0': resolution: {integrity: sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==} engines: {node: ^20.17.0 || >=22.9.0} @@ -5990,9 +5990,6 @@ packages: '@types/serve-static@2.2.0': resolution: {integrity: sha512-8mam4H1NHLtu7nmtalF7eyBH14QyOASmcxHhSfEoRyr0nP/YdoesEtU+uSRvMe96TW/HPTtkoKqQLl53N7UXMQ==} - '@types/shelljs@0.8.17': - resolution: {integrity: sha512-IDksKYmQA2W9MkQjiyptbMmcQx+8+Ol6b7h6dPU5S05JyiQDSb/nZKnrMrZqGwgV6VkVdl6/SPCKPDlMRvqECg==} - '@types/sockjs@0.3.36': resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==} @@ -8304,6 +8301,10 @@ packages: resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==} engines: {node: '>=18.0.0'} + execa@10.0.1: + resolution: {integrity: sha512-ge98qjkRK4IB7tL7Ju/6qmm5LHoH1eEMt5FNZrz3f4UIYhF28lggX20z3FaX1sgc67msLEn0N0BscOs29iuwyw==} + engines: {node: '>=22'} + execa@5.0.0: resolution: {integrity: sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==} engines: {node: '>=10'} @@ -8384,6 +8385,10 @@ packages: resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} engines: {node: '>=8'} + figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + file-entry-cache@11.1.3: resolution: {integrity: sha512-oMbq0PD6VIiIwMF6LIa7MEwd/l9huKwmqRKXqmrkqIZv8CvRbfowL+L0ryAl8h//HfAS0zS+4SbYoRyAoA6BJA==} @@ -8588,6 +8593,10 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} engines: {node: '>=10'} + get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + get-symbol-description@1.1.0: resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} engines: {node: '>= 0.4'} @@ -8598,7 +8607,7 @@ packages: git-raw-commits@3.0.0: resolution: {integrity: sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==} engines: {node: '>=14'} - deprecated: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead. + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-remote-origin-url@2.0.0: @@ -8608,7 +8617,7 @@ packages: git-semver-tags@5.0.1: resolution: {integrity: sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==} engines: {node: '>=14'} - deprecated: Deprecated and no longer maintained. Use @conventional-changelog/git-client instead. + deprecated: This package is no longer maintained. For the JavaScript API, please use @conventional-changelog/git-client instead. hasBin: true git-up@7.0.0: @@ -8956,6 +8965,10 @@ packages: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} + human-signals@8.0.1: + resolution: {integrity: sha512-eKCa6bwnJhvxj14kZk5NCPc6Hb6BdsU9DZcOnmQKSnO1VKrfV0zCvtttPZUsBvjmNDn8rpcJfpwSYnHBjc95MQ==} + engines: {node: '>=18.18.0'} + humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} @@ -9339,6 +9352,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + is-string@1.1.1: resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} @@ -10465,6 +10482,10 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} + npm-run-path@6.0.0: + resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} + engines: {node: '>=18'} + npm-to-yarn@3.2.0: resolution: {integrity: sha512-K1HmQeZT2HrjpsR6KgqbN2FAXL2NrJJmNUSD9ck7HGTVu1JKXox8n9SB+tjbU8m8JGLF4OscrroPepew/L7/Xw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -10757,6 +10778,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + parse-numeric-range@1.3.0: resolution: {integrity: sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==} @@ -10820,6 +10845,10 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} @@ -11356,6 +11385,10 @@ packages: resolution: {integrity: sha512-K6KiKMHTL4jjX4u3Kir2EW07nRfcqVTXIImx50wbjHQTcZPgg+gjVeNTIT3l3L1Rd4UefxfogquC9J37SoFyyw==} engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0} + pretty-ms@9.3.0: + resolution: {integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==} + engines: {node: '>=18'} + pretty-time@1.1.0: resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} engines: {node: '>=4'} @@ -12360,6 +12393,10 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + 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'} @@ -12892,6 +12929,10 @@ packages: resolution: {integrity: sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==} engines: {node: '>=4'} + unicorn-magic@0.3.0: + resolution: {integrity: sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==} + engines: {node: '>=18'} + unicorn-magic@0.4.0: resolution: {integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==} engines: {node: '>=20'} @@ -13276,6 +13317,11 @@ packages: resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} engines: {node: '>= 0.4'} + which-command@0.1.0: + resolution: {integrity: sha512-XZyoF5/5hZtXitIwzrU4NKK+Wtbb9aB9CezUEw2Q0wlYK8NUYQxC1rRXgNueYLtBAJwXIb+/tFVk4dozciNJMA==} + engines: {node: '>=22'} + hasBin: true + which-typed-array@1.1.21: resolution: {integrity: sha512-zbRA8cVm6io/d5W8uIe2hblzN76/Wm3v/yiythQvr+dpBWeqhPSWIDNj4zOyHi4zKbMK6DN34Xsr9jPHJERAEw==} engines: {node: '>= 0.4'} @@ -17002,6 +17048,8 @@ snapshots: '@rtsao/scc@1.1.0': {} + '@sec-ant/readable-stream@0.4.1': {} + '@sigstore/bundle@4.0.0': dependencies: '@sigstore/protobuf-specs': 0.5.1 @@ -17744,11 +17792,6 @@ snapshots: '@types/http-errors': 2.0.5 '@types/node': 25.9.5 - '@types/shelljs@0.8.17': - dependencies: - '@types/node': 25.9.1 - glob: 11.1.0 - '@types/sockjs@0.3.36': dependencies: '@types/node': 25.9.5 @@ -17829,10 +17872,10 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 - '@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': + '@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) '@typescript-eslint/scope-manager': 8.68.0 '@typescript-eslint/type-utils': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) '@typescript-eslint/utils': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) @@ -17857,7 +17900,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3)': + '@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)': dependencies: '@typescript-eslint/scope-manager': 8.68.0 '@typescript-eslint/types': 8.68.0 @@ -18074,13 +18117,13 @@ snapshots: '@rolldown/pluginutils': 1.0.1 vite: 8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) - '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))': + '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))': dependencies: '@typescript-eslint/scope-manager': 8.62.1 '@typescript-eslint/utils': 8.62.1(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) typescript: 6.0.3 vitest: 4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) transitivePeerDependencies: @@ -20155,11 +20198,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) eslint-import-resolver-node: 0.3.10 transitivePeerDependencies: @@ -20175,7 +20218,7 @@ snapshots: dependencies: eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) - eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -20186,7 +20229,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) eslint-import-resolver-node: 0.3.10 - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint-import-resolver-node@0.3.10)(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0)) hasown: 2.0.3 is-core-module: 2.16.2 is-glob: 4.0.3 @@ -20198,7 +20241,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -20445,6 +20488,21 @@ snapshots: eventsource-parser@3.1.0: {} + execa@10.0.1: + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + which-command: 0.1.0 + yoctocolors: 2.2.0 + execa@5.0.0: dependencies: cross-spawn: 7.0.6 @@ -20561,6 +20619,10 @@ snapshots: dependencies: escape-string-regexp: 1.0.5 + figures@6.1.0: + dependencies: + is-unicode-supported: 2.1.0 + file-entry-cache@11.1.3: dependencies: flat-cache: 6.1.22 @@ -20770,6 +20832,11 @@ snapshots: get-stream@6.0.1: {} + get-stream@9.0.1: + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + get-symbol-description@1.1.0: dependencies: call-bound: 1.0.4 @@ -21291,6 +21358,8 @@ snapshots: human-signals@2.1.0: {} + human-signals@8.0.1: {} + humanize-ms@1.2.1: dependencies: ms: 2.1.3 @@ -21601,6 +21670,8 @@ snapshots: is-stream@2.0.1: {} + is-stream@4.0.1: {} + is-string@1.1.1: dependencies: call-bound: 1.0.4 @@ -23214,6 +23285,11 @@ snapshots: dependencies: path-key: 3.1.1 + npm-run-path@6.0.0: + dependencies: + path-key: 4.0.0 + unicorn-magic: 0.3.0 + npm-to-yarn@3.2.0: {} nprogress@0.2.0: {} @@ -23702,6 +23778,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@4.0.0: {} + parse-numeric-range@1.3.0: {} parse-path@7.1.0: @@ -23756,6 +23834,8 @@ snapshots: path-key@3.1.1: {} + path-key@4.0.0: {} + path-parse@1.0.7: {} path-scurry@2.0.2: @@ -24318,6 +24398,10 @@ snapshots: react-is-18: react-is@18.3.1 react-is-19: react-is@19.2.7 + pretty-ms@9.3.0: + dependencies: + parse-ms: 4.0.0 + pretty-time@1.1.0: {} prism-react-renderer@2.4.1(react@19.2.6): @@ -25581,6 +25665,8 @@ snapshots: strip-final-newline@2.0.0: {} + strip-final-newline@4.0.0: {} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 @@ -26071,10 +26157,10 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3): + typescript-eslint@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) - '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/eslint-plugin': 8.68.0(@typescript-eslint/parser@8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) '@typescript-eslint/typescript-estree': 8.68.0(typescript@6.0.3) '@typescript-eslint/utils': 8.68.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3) eslint: 9.39.4(jiti@2.7.0)(supports-color@7.2.0) @@ -26117,6 +26203,8 @@ snapshots: unicode-property-aliases-ecmascript@2.2.0: {} + unicorn-magic@0.3.0: {} + unicorn-magic@0.4.0: {} unified@11.0.5: @@ -26650,6 +26738,8 @@ snapshots: is-weakmap: 2.0.2 is-weakset: 2.0.4 + which-command@0.1.0: {} + which-typed-array@1.1.21: dependencies: available-typed-arrays: 1.0.7 diff --git a/website/package.json b/website/package.json index 63fa4cdd0e9e..a65adf568f53 100644 --- a/website/package.json +++ b/website/package.json @@ -62,7 +62,6 @@ "@mermaid-js/layout-elk": "^0.2.2", "clsx": "^2.0.0", "color": "^4.2.3", - "execa": "^5.1.1", "fs-extra": "^11.2.0", "netlify-plugin-cache": "^1.0.3", "raw-loader": "^4.0.2", From 26def6460d5f0c078f57d2765ecc93b284d312ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Thu, 3 Sep 2026 14:45:58 +0200 Subject: [PATCH 7/7] chore: upgrade crowdin CLI to v5 (#12403) --- package.json | 2 +- pnpm-lock.yaml | 158 +++++++++++++++++++++---------------------- pnpm-workspace.yaml | 2 + website/package.json | 2 +- 4 files changed, 80 insertions(+), 84 deletions(-) diff --git a/package.json b/package.json index 5ddcd90f44c5..261e57d8722c 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,7 @@ }, "devDependencies": { "@ai-sdk/react": "^3.0.177", - "@crowdin/cli": "^4.14.2", + "@crowdin/cli": "^5.0.1", "@docusaurus/eslint-plugin": "3.10.1", "@docusaurus/plugin-content-blog": "3.10.1", "@docusaurus/plugin-content-docs": "3.10.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d0ed8455c95a..18a664ad4dc9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,8 +17,8 @@ importers: specifier: ^3.0.177 version: 3.0.219(react@19.2.6)(zod@4.4.3) '@crowdin/cli': - specifier: ^4.14.2 - version: 4.14.2(encoding@0.1.13) + specifier: ^5.0.1 + version: 5.0.1 '@docusaurus/eslint-plugin': specifier: 3.10.1 version: link:packages/eslint-plugin @@ -2081,8 +2081,8 @@ importers: website: dependencies: '@crowdin/cli': - specifier: ^4.14.2 - version: 4.14.2(encoding@0.1.13) + specifier: ^5.0.1 + version: 5.0.1 '@crowdin/crowdin-api-client': specifier: ^1.55.1 version: 1.55.2 @@ -2970,8 +2970,48 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@crowdin/cli@4.14.2': - resolution: {integrity: sha512-JRrHvitc0w+r/h6XXSOq917HxsjRoxPEtyNYSmylKirjiPNrRx84VKtqFlOIWIFCOZI5BoXg6hNpE0Zq7CwVBA==} + '@crowdin/cli-darwin-arm64@5.0.1': + resolution: {integrity: sha512-x8sfmegf4Rqdyw6mTH5Dvj+MKpSNrU32xLZjjZZ3SZ9jDGIke/ULOTO4mbd2UA+ryNrk+a9PgHxcKX5CF0LDgg==} + cpu: [arm64] + os: [darwin] + + '@crowdin/cli-darwin-x64@5.0.1': + resolution: {integrity: sha512-tKWIGOKJVW+0L40E5pEhy4ghlFd5nYzJLdYbrTnOtmK+g3D/QkQpmY5Y3yujZah1A9KOewg5AgNDl2sEZFASLQ==} + cpu: [x64] + os: [darwin] + + '@crowdin/cli-linux-arm64-musl@5.0.1': + resolution: {integrity: sha512-88r2zA+QwgzqqY6cY2qdFlO8r5gmMkv4WYFeiCh6fIFMFcFFpKkJh1xyAu/bg+Gt6/ltOXHWXtflkxppncvmpg==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@crowdin/cli-linux-arm64@5.0.1': + resolution: {integrity: sha512-cZrzCGNeN6n0QVTYnSBy18mdv4M+PcXyJ/MAAIq4E603WEP2pKQ5KM9eS32tdQIIaCl3NZ8miXundFcYOAlHEQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@crowdin/cli-linux-x64-musl@5.0.1': + resolution: {integrity: sha512-4MGZ+1M+A2cp8RyuQC2cvX5wwEpPS4i/qOVTGJ3QIYK0xn3IR/GKt9QObKqIjZNYCsn8tUDzwDiyHuM+LZmhUw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@crowdin/cli-linux-x64@5.0.1': + resolution: {integrity: sha512-a76gwEcI0EUPcZKhjHsWP6V8BhoLqK7Qo19avQ5Fdque+uh7YTfYZ5CYM8oI2PIozkpL7rXECj4PY7Ul07vxTA==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@crowdin/cli-win32-x64@5.0.1': + resolution: {integrity: sha512-wqPqWsCtw2s2eVopy2ZEYC6KfIcphI/1dVo+ikJAb47OQwzRot3JWN2n9GS+WKtRqtfuCTug3QVOx6Ypbme43Q==} + cpu: [x64] + os: [win32] + + '@crowdin/cli@5.0.1': + resolution: {integrity: sha512-4CUJYUNK8qVB2htvdbGWsmToC2wB9L3L7O41jfhlWs5QK/YpeMjnDJIkN5fDL6bq9Iq9AlgsGqVojamQwmqWkw==} + engines: {node: '>=20'} hasBin: true '@crowdin/crowdin-api-client@1.55.2': @@ -6802,9 +6842,6 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -7111,10 +7148,6 @@ packages: comma-separated-tokens@2.0.3: resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==} - command-exists-promise@2.0.2: - resolution: {integrity: sha512-T6PB6vdFrwnHXg/I0kivM3DqaCGZLjjYSOe0a5WgFKcz1sOnmOeIjnhQPXVXX3QjVbLyTJ85lJkX6lUpukTzaA==} - engines: {node: '>=6'} - commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} @@ -10378,15 +10411,6 @@ packages: resolution: {integrity: sha512-pyFS63ptit/P5WqUkt+UUfe+4oevH+bFeIiPPdfb0pFeYEu/1ELnJu5l+5EcTKYL5M7zaAa7S8ddywgXypqKCw==} engines: {node: '>= 0.4'} - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - node-gyp@12.3.0: resolution: {integrity: sha512-QNcUWM+HgJplcPzBvFBZ9VXacyGZ4+VTOb80PwWR+TlVzoHbRKULNEzpRsnaoxG3Wzr7Qh7BYxGDU3CbKib2Yg==} engines: {node: ^20.17.0 || >=22.9.0} @@ -10876,9 +10900,6 @@ packages: pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - pend@1.2.0: - resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} - picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -12083,10 +12104,6 @@ packages: resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==} engines: {node: '>= 0.4'} - shelljs@0.10.0: - resolution: {integrity: sha512-Jex+xw5Mg2qMZL3qnzXIfaxEtBaC4n7xifqaqtrZDdlheR70OGkydrPJWT0V1cA1k3nanC86x9FwAmQl6w3Klw==} - engines: {node: '>=18'} - side-channel-list@1.0.1: resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==} engines: {node: '>= 0.4'} @@ -12733,9 +12750,6 @@ packages: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} @@ -13211,9 +13225,6 @@ packages: web-worker@1.5.0: resolution: {integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==} - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -13299,9 +13310,6 @@ packages: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} @@ -13563,10 +13571,6 @@ packages: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - yauzl@3.3.1: - resolution: {integrity: sha512-RNPCUkiE/ZgO4w8i9U5yDQVHaFDdnzaFANElRvpJteCspvmv2VqrRb9lvS6odVD+jqI/zDsxAHJVsafpcheVQQ==} - engines: {node: '>=12'} - yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -14617,15 +14621,36 @@ snapshots: '@colors/colors@1.5.0': optional: true - '@crowdin/cli@4.14.2(encoding@0.1.13)': - dependencies: - command-exists-promise: 2.0.2 - node-fetch: 2.7.0(encoding@0.1.13) - shelljs: 0.10.0 - tar: 7.5.16 - yauzl: 3.3.1 - transitivePeerDependencies: - - encoding + '@crowdin/cli-darwin-arm64@5.0.1': + optional: true + + '@crowdin/cli-darwin-x64@5.0.1': + optional: true + + '@crowdin/cli-linux-arm64-musl@5.0.1': + optional: true + + '@crowdin/cli-linux-arm64@5.0.1': + optional: true + + '@crowdin/cli-linux-x64-musl@5.0.1': + optional: true + + '@crowdin/cli-linux-x64@5.0.1': + optional: true + + '@crowdin/cli-win32-x64@5.0.1': + optional: true + + '@crowdin/cli@5.0.1': + optionalDependencies: + '@crowdin/cli-darwin-arm64': 5.0.1 + '@crowdin/cli-darwin-x64': 5.0.1 + '@crowdin/cli-linux-arm64': 5.0.1 + '@crowdin/cli-linux-arm64-musl': 5.0.1 + '@crowdin/cli-linux-x64': 5.0.1 + '@crowdin/cli-linux-x64-musl': 5.0.1 + '@crowdin/cli-win32-x64': 5.0.1 '@crowdin/crowdin-api-client@1.55.2': dependencies: @@ -18746,8 +18771,6 @@ snapshots: node-releases: 2.0.53 update-browserslist-db: 1.3.1(browserslist@4.28.8) - buffer-crc32@0.2.13: {} - buffer-from@1.1.2: {} buffer@5.7.1: @@ -19077,8 +19100,6 @@ snapshots: comma-separated-tokens@2.0.3: {} - command-exists-promise@2.0.2: {} - commander@10.0.1: {} commander@11.1.0: {} @@ -23154,12 +23175,6 @@ snapshots: object.entries: 1.1.9 semver: 6.3.1 - node-fetch@2.7.0(encoding@0.1.13): - dependencies: - whatwg-url: 5.0.0 - optionalDependencies: - encoding: 0.1.13 - node-gyp@12.3.0: dependencies: env-paths: 2.2.1 @@ -23859,8 +23874,6 @@ snapshots: pathe@2.0.3: {} - pend@1.2.0: {} - picocolors@1.1.1: {} picomatch@2.3.2: {} @@ -25273,11 +25286,6 @@ snapshots: shell-quote@1.8.4: {} - shelljs@0.10.0: - dependencies: - execa: 5.1.1 - fast-glob: 3.3.3 - side-channel-list@1.0.1: dependencies: es-errors: 1.3.0 @@ -26026,8 +26034,6 @@ snapshots: dependencies: tldts: 6.1.86 - tr46@0.0.3: {} - tr46@1.0.1: dependencies: punycode: 2.3.1 @@ -26469,8 +26475,6 @@ snapshots: web-worker@1.5.0: {} - webidl-conversions@3.0.1: {} - webidl-conversions@4.0.2: {} webidl-conversions@7.0.0: {} @@ -26696,11 +26700,6 @@ snapshots: tr46: 5.1.1 webidl-conversions: 7.0.0 - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - whatwg-url@7.1.0: dependencies: lodash.sortby: 4.7.0 @@ -27021,11 +27020,6 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yauzl@3.3.1: - dependencies: - buffer-crc32: 0.2.13 - pend: 1.2.0 - yocto-queue@0.1.0: {} yoctocolors-cjs@2.1.3: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 740c10a09ed1..fb05f9e5bf36 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -30,6 +30,7 @@ minimumReleaseAgeExclude: - tar@7.5.16 - pnpm - '@rspack/*' + - '@crowdin/*' trustPolicy: no-downgrade trustPolicyIgnoreAfter: 525600 # ignore packages published 1+ year ago @@ -38,6 +39,7 @@ trustPolicyExclude: - '@trickfilm400/rollup-plugin-off-main-thread@3.0.0-pre1' - 'browserslist-load-config@1.0.2' - '@vercel/detect-agent@1.2.5' # See https://github.com/vercel/vercel/issues/17408 + - '@crowdin/cli@5.0.1' # Moved from staged to trusted publishing :s trustLockfile: false blockExoticSubdeps: true diff --git a/website/package.json b/website/package.json index a65adf568f53..b4aafb2566e1 100644 --- a/website/package.json +++ b/website/package.json @@ -37,7 +37,7 @@ "typecheck": "tsc" }, "dependencies": { - "@crowdin/cli": "^4.14.2", + "@crowdin/cli": "^5.0.1", "@crowdin/crowdin-api-client": "^1.55.1", "@docusaurus/core": "3.10.1", "@docusaurus/logger": "3.10.1",