From 695e360e1b87c42a9bac755fa13b43a6e56ee99d Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 16 Feb 2026 15:17:51 +0000 Subject: [PATCH 1/9] [ci] format --- packages/astro/src/core/dev/adapter-validation.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/astro/src/core/dev/adapter-validation.ts b/packages/astro/src/core/dev/adapter-validation.ts index 445a1aaefc51..6118492e0643 100644 --- a/packages/astro/src/core/dev/adapter-validation.ts +++ b/packages/astro/src/core/dev/adapter-validation.ts @@ -49,7 +49,13 @@ export function validateSetAdapter( } if (adapter.entrypointResolution === undefined) { - logger.warn(null, `The adapter ${adapter.name} uses \`entrypointResolution: "explicit"\` by default, which is deprecated and will be removed in a future major version.`) - logger.warn(null, 'Update your adapter to use \`entrypointResolution: "auto"\` or contact the maintainers to update.'); + logger.warn( + null, + `The adapter ${adapter.name} uses \`entrypointResolution: "explicit"\` by default, which is deprecated and will be removed in a future major version.`, + ); + logger.warn( + null, + 'Update your adapter to use \`entrypointResolution: "auto"\` or contact the maintainers to update.', + ); } } From ce27e9792c731b2ee557dabd535c45837146b50f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 16 Feb 2026 16:25:37 +0100 Subject: [PATCH 2/9] fix(deps): update astro adapters (#15537) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/integrations/cloudflare/package.json | 4 +- .../fixtures/astro-dev-platform/package.json | 2 +- .../test/fixtures/astro-env/package.json | 2 +- .../fixtures/custom-entryfile/package.json | 2 +- .../fixtures/routing-priority/package.json | 2 +- .../test/fixtures/sessions/package.json | 2 +- .../test/fixtures/vite-plugin/package.json | 8 +- .../test/fixtures/with-svelte/package.json | 2 +- .../test/fixtures/with-vue/package.json | 2 +- packages/integrations/netlify/package.json | 6 +- packages/integrations/node/package.json | 2 +- packages/integrations/vercel/package.json | 6 +- pnpm-lock.yaml | 670 +++++++++--------- 13 files changed, 355 insertions(+), 355 deletions(-) diff --git a/packages/integrations/cloudflare/package.json b/packages/integrations/cloudflare/package.json index 57ab11c17f93..455fdda23688 100644 --- a/packages/integrations/cloudflare/package.json +++ b/packages/integrations/cloudflare/package.json @@ -43,7 +43,7 @@ "dependencies": { "@astrojs/internal-helpers": "workspace:*", "@astrojs/underscore-redirects": "workspace:*", - "@cloudflare/vite-plugin": "^1.23.0", + "@cloudflare/vite-plugin": "^1.25.0", "piccolore": "^0.1.3", "tinyglobby": "^0.2.15", "vite": "^7.3.1" @@ -53,7 +53,7 @@ "wrangler": "^4.61.1" }, "devDependencies": { - "@cloudflare/workers-types": "^4.20260131.0", + "@cloudflare/workers-types": "^4.20260213.0", "@types/node": "^25.2.2", "astro": "workspace:*", "astro-scripts": "workspace:*", diff --git a/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json index f5666de6954a..3835ec112ef9 100644 --- a/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json +++ b/packages/integrations/cloudflare/test/fixtures/astro-dev-platform/package.json @@ -7,6 +7,6 @@ "astro": "workspace:*" }, "devDependencies": { - "wrangler": "^4.61.1" + "wrangler": "^4.65.0" } } diff --git a/packages/integrations/cloudflare/test/fixtures/astro-env/package.json b/packages/integrations/cloudflare/test/fixtures/astro-env/package.json index e17b570cd1ba..004a72612a2b 100644 --- a/packages/integrations/cloudflare/test/fixtures/astro-env/package.json +++ b/packages/integrations/cloudflare/test/fixtures/astro-env/package.json @@ -7,6 +7,6 @@ "astro": "workspace:*" }, "devDependencies": { - "wrangler": "^4.61.1" + "wrangler": "^4.65.0" } } diff --git a/packages/integrations/cloudflare/test/fixtures/custom-entryfile/package.json b/packages/integrations/cloudflare/test/fixtures/custom-entryfile/package.json index d0084331d5c8..30f94fd3ebad 100644 --- a/packages/integrations/cloudflare/test/fixtures/custom-entryfile/package.json +++ b/packages/integrations/cloudflare/test/fixtures/custom-entryfile/package.json @@ -5,6 +5,6 @@ "dependencies": { "@astrojs/cloudflare": "workspace:*", "astro": "workspace:*", - "wrangler": "^4.61.1" + "wrangler": "^4.65.0" } } diff --git a/packages/integrations/cloudflare/test/fixtures/routing-priority/package.json b/packages/integrations/cloudflare/test/fixtures/routing-priority/package.json index ed1305d16599..a8c6a8dc9f14 100644 --- a/packages/integrations/cloudflare/test/fixtures/routing-priority/package.json +++ b/packages/integrations/cloudflare/test/fixtures/routing-priority/package.json @@ -7,6 +7,6 @@ "@astrojs/cloudflare": "workspace:*" }, "devDependencies": { - "wrangler": "^4.61.1" + "wrangler": "^4.65.0" } } diff --git a/packages/integrations/cloudflare/test/fixtures/sessions/package.json b/packages/integrations/cloudflare/test/fixtures/sessions/package.json index 3b90abe8969a..67c0f8b874d1 100644 --- a/packages/integrations/cloudflare/test/fixtures/sessions/package.json +++ b/packages/integrations/cloudflare/test/fixtures/sessions/package.json @@ -7,7 +7,7 @@ }, "devDependencies": { "astro": "workspace:*", - "wrangler": "^4.61.1" + "wrangler": "^4.65.0" }, "scripts": { "build": "astro build", diff --git a/packages/integrations/cloudflare/test/fixtures/vite-plugin/package.json b/packages/integrations/cloudflare/test/fixtures/vite-plugin/package.json index f808e10c0dae..4d478d497002 100644 --- a/packages/integrations/cloudflare/test/fixtures/vite-plugin/package.json +++ b/packages/integrations/cloudflare/test/fixtures/vite-plugin/package.json @@ -12,10 +12,10 @@ "@astrojs/react": "workspace:*", "@astrojs/vue": "workspace:*", "@astrojs/svelte": "workspace:*", - "svelte":"^5.49.1", - "vue": "^3.5.27", - "@vitejs/plugin-vue": "^6.0.3", - "@types/react": "^18.3.27", + "svelte":"^5.50.3", + "vue": "^3.5.28", + "@vitejs/plugin-vue": "^6.0.4", + "@types/react": "^18.3.28", "@types/react-dom": "^18.3.7", "astro": "workspace:*", "react": "^18.3.1", diff --git a/packages/integrations/cloudflare/test/fixtures/with-svelte/package.json b/packages/integrations/cloudflare/test/fixtures/with-svelte/package.json index c3aa3d2a20ec..f6699b54da28 100644 --- a/packages/integrations/cloudflare/test/fixtures/with-svelte/package.json +++ b/packages/integrations/cloudflare/test/fixtures/with-svelte/package.json @@ -6,6 +6,6 @@ "@astrojs/cloudflare": "workspace:*", "@astrojs/svelte": "workspace:*", "astro": "workspace:*", - "svelte": "^5.49.1" + "svelte": "^5.50.3" } } diff --git a/packages/integrations/cloudflare/test/fixtures/with-vue/package.json b/packages/integrations/cloudflare/test/fixtures/with-vue/package.json index ed6cdb4c50ef..3da953acb031 100644 --- a/packages/integrations/cloudflare/test/fixtures/with-vue/package.json +++ b/packages/integrations/cloudflare/test/fixtures/with-vue/package.json @@ -6,6 +6,6 @@ "@astrojs/cloudflare": "workspace:*", "@astrojs/vue": "^5.1.4", "astro": "workspace:*", - "vue": "^3.5.27" + "vue": "^3.5.28" } } diff --git a/packages/integrations/netlify/package.json b/packages/integrations/netlify/package.json index f744739c5bab..085c4a186212 100644 --- a/packages/integrations/netlify/package.json +++ b/packages/integrations/netlify/package.json @@ -41,10 +41,10 @@ "dependencies": { "@astrojs/internal-helpers": "workspace:*", "@astrojs/underscore-redirects": "workspace:*", - "@netlify/blobs": "^10.5.0", + "@netlify/blobs": "^10.6.0", "@netlify/functions": "^5.1.2", - "@netlify/vite-plugin": "^2.8.0", - "@vercel/nft": "^1.3.0", + "@netlify/vite-plugin": "^2.9.0", + "@vercel/nft": "^1.3.1", "esbuild": "^0.25.0", "tinyglobby": "^0.2.15", "vite": "^7.3.1" diff --git a/packages/integrations/node/package.json b/packages/integrations/node/package.json index 2217d532cc7a..5d2f2e78520a 100644 --- a/packages/integrations/node/package.json +++ b/packages/integrations/node/package.json @@ -49,7 +49,7 @@ "cheerio": "1.2.0", "devalue": "^5.6.2", "express": "^5.2.1", - "fastify": "^5.7.2", + "fastify": "^5.7.4", "@fastify/middie": "^9.1.0", "@fastify/static": "^9.0.0", "node-mocks-http": "^1.17.2" diff --git a/packages/integrations/vercel/package.json b/packages/integrations/vercel/package.json index d5c25834bd54..c744aae4df64 100644 --- a/packages/integrations/vercel/package.json +++ b/packages/integrations/vercel/package.json @@ -48,9 +48,9 @@ "dependencies": { "@astrojs/internal-helpers": "workspace:*", "@vercel/analytics": "^1.6.1", - "@vercel/functions": "^3.4.0", - "@vercel/nft": "^1.3.0", - "@vercel/routing-utils": "^5.3.2", + "@vercel/functions": "^3.4.2", + "@vercel/nft": "^1.3.1", + "@vercel/routing-utils": "^5.3.3", "esbuild": "^0.25.0", "tinyglobby": "^0.2.15" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f807ebdf6031..03915868b174 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -651,7 +651,7 @@ importers: version: 5.1.0 unstorage: specifier: ^1.17.4 - version: 1.17.4(@azure/identity@4.13.0)(@netlify/blobs@10.5.0)(@vercel/functions@3.4.1) + version: 1.17.4(@azure/identity@4.13.0)(@netlify/blobs@10.6.0)(@vercel/functions@3.4.2) vfile: specifier: ^6.0.3 version: 6.0.3 @@ -4673,7 +4673,7 @@ importers: version: 1.0.2 drizzle-orm: specifier: ^0.42.0 - version: 0.42.0(@cloudflare/workers-types@4.20260203.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0) + version: 0.42.0(@cloudflare/workers-types@4.20260214.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0) nanoid: specifier: ^5.1.6 version: 5.1.6 @@ -4922,8 +4922,8 @@ importers: specifier: workspace:* version: link:../../underscore-redirects '@cloudflare/vite-plugin': - specifier: ^1.23.0 - version: 1.23.0(@cloudflare/workers-types@4.20260203.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260131.0) + specifier: ^1.25.0 + version: 1.25.0(@cloudflare/workers-types@4.20260214.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260212.0) piccolore: specifier: ^0.1.3 version: 0.1.3 @@ -4935,8 +4935,8 @@ importers: version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) devDependencies: '@cloudflare/workers-types': - specifier: ^4.20260131.0 - version: 4.20260203.0 + specifier: ^4.20260213.0 + version: 4.20260214.0 '@types/node': specifier: ^25.2.2 version: 25.2.2 @@ -4963,8 +4963,8 @@ importers: version: link:../../../../../astro devDependencies: wrangler: - specifier: ^4.61.1 - version: 4.62.0(@cloudflare/workers-types@4.20260203.0) + specifier: ^4.65.0 + version: 4.65.0(@cloudflare/workers-types@4.20260214.0) packages/integrations/cloudflare/test/fixtures/astro-env: dependencies: @@ -4976,8 +4976,8 @@ importers: version: link:../../../../../astro devDependencies: wrangler: - specifier: ^4.61.1 - version: 4.62.0(@cloudflare/workers-types@4.20260203.0) + specifier: ^4.65.0 + version: 4.65.0(@cloudflare/workers-types@4.20260214.0) packages/integrations/cloudflare/test/fixtures/binding-image-service: dependencies: @@ -5006,8 +5006,8 @@ importers: specifier: workspace:* version: link:../../../../../astro wrangler: - specifier: ^4.61.1 - version: 4.62.0(@cloudflare/workers-types@4.20260203.0) + specifier: ^4.65.0 + version: 4.65.0(@cloudflare/workers-types@4.20260214.0) packages/integrations/cloudflare/test/fixtures/external-image-service: dependencies: @@ -5052,8 +5052,8 @@ importers: version: link:../../../../../astro devDependencies: wrangler: - specifier: ^4.61.1 - version: 4.62.0(@cloudflare/workers-types@4.20260203.0) + specifier: ^4.65.0 + version: 4.65.0(@cloudflare/workers-types@4.20260214.0) packages/integrations/cloudflare/test/fixtures/server-entry: dependencies: @@ -5074,8 +5074,8 @@ importers: specifier: workspace:* version: link:../../../../../astro wrangler: - specifier: ^4.61.1 - version: 4.62.0(@cloudflare/workers-types@4.20260203.0) + specifier: ^4.65.0 + version: 4.65.0(@cloudflare/workers-types@4.20260214.0) packages/integrations/cloudflare/test/fixtures/sql-import: dependencies: @@ -5125,13 +5125,13 @@ importers: specifier: workspace:* version: link:../../../../vue '@types/react': - specifier: ^18.3.27 + specifier: ^18.3.28 version: 18.3.28 '@types/react-dom': specifier: ^18.3.7 version: 18.3.7(@types/react@18.3.28) '@vitejs/plugin-vue': - specifier: ^6.0.3 + specifier: ^6.0.4 version: 6.0.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) astro: specifier: workspace:* @@ -5146,10 +5146,10 @@ importers: specifier: ^0.34.3 version: 0.34.5 svelte: - specifier: ^5.49.1 + specifier: ^5.50.3 version: 5.50.3 vue: - specifier: ^3.5.27 + specifier: ^3.5.28 version: 3.5.28(typescript@5.9.3) packages/integrations/cloudflare/test/fixtures/with-base: @@ -5188,7 +5188,7 @@ importers: specifier: workspace:* version: link:../../../../../astro svelte: - specifier: ^5.49.1 + specifier: ^5.50.3 version: 5.50.3 packages/integrations/cloudflare/test/fixtures/with-vue: @@ -5203,7 +5203,7 @@ importers: specifier: workspace:* version: link:../../../../../astro vue: - specifier: ^3.5.27 + specifier: ^3.5.28 version: 3.5.28(typescript@5.9.3) packages/integrations/cloudflare/test/fixtures/wrangler-preview-platform: @@ -5697,17 +5697,17 @@ importers: specifier: workspace:* version: link:../../underscore-redirects '@netlify/blobs': - specifier: ^10.5.0 - version: 10.5.0 + specifier: ^10.6.0 + version: 10.6.0 '@netlify/functions': specifier: ^5.1.2 version: 5.1.2 '@netlify/vite-plugin': - specifier: ^2.8.0 - version: 2.8.0(@azure/identity@4.13.0)(@vercel/functions@3.4.1)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + specifier: ^2.9.0 + version: 2.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@vercel/nft': - specifier: ^1.3.0 - version: 1.3.0(rollup@4.57.1) + specifier: ^1.3.1 + version: 1.3.1(rollup@4.57.1) esbuild: specifier: ^0.25.0 version: 0.25.5 @@ -5862,7 +5862,7 @@ importers: specifier: ^5.2.1 version: 5.2.1 fastify: - specifier: ^5.7.2 + specifier: ^5.7.4 version: 5.7.4 node-mocks-http: specifier: ^1.17.2 @@ -6288,14 +6288,14 @@ importers: specifier: ^1.6.1 version: 1.6.1(react@19.2.4)(svelte@5.50.3)(vue@3.5.28(typescript@5.9.3)) '@vercel/functions': - specifier: ^3.4.0 - version: 3.4.1 + specifier: ^3.4.2 + version: 3.4.2 '@vercel/nft': - specifier: ^1.3.0 - version: 1.3.0(rollup@4.57.1) + specifier: ^1.3.1 + version: 1.3.1(rollup@4.57.1) '@vercel/routing-utils': - specifier: ^5.3.2 - version: 5.3.2 + specifier: ^5.3.3 + version: 5.3.3 esbuild: specifier: ^0.25.0 version: 0.25.5 @@ -7569,8 +7569,8 @@ packages: resolution: {integrity: sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==} engines: {node: '>=18.0.0'} - '@cloudflare/unenv-preset@2.12.0': - resolution: {integrity: sha512-NK4vN+2Z/GbfGS4BamtbbVk1rcu5RmqaYGiyHJQrA09AoxdZPHDF3W/EhgI0YSK8p3vRo/VNCtbSJFPON7FWMQ==} + '@cloudflare/unenv-preset@2.12.1': + resolution: {integrity: sha512-tP/Wi+40aBJovonSNJSsS7aFJY0xjuckKplmzDs2Xat06BJ68B6iG7YDUWXJL8gNn0gqW7YC5WhlYhO3QbugQA==} peerDependencies: unenv: 2.0.0-rc.24 workerd: ^1.20260115.0 @@ -7578,43 +7578,43 @@ packages: workerd: optional: true - '@cloudflare/vite-plugin@1.23.0': - resolution: {integrity: sha512-Pz3kF5wxUx99NOOYPq/jgaknKQuamN52FQkc8WBmLfbzBd9fWu+4NaJeZjDtFTXUBA0FEA7bOROuV52YFOA2TA==} + '@cloudflare/vite-plugin@1.25.0': + resolution: {integrity: sha512-IZV17IekBxc7dcu8TZw5I8DTQ+F6CT8f/rUwLYrQZdsPnfaqbPoc8t9/2V9ci+XNfgGRBNJxd/4YGuyJg+h1pQ==} peerDependencies: vite: ^6.1.0 || ^7.0.0 - '@cloudflare/workerd-darwin-64@1.20260131.0': - resolution: {integrity: sha512-+1X4qErc715NUhJZNhtlpuCxajhD5YNre7Cz50WPMmj+BMUrh9h7fntKEadtrUo5SM2YONY7CDzK7wdWbJJBVA==} + '@cloudflare/workerd-darwin-64@1.20260212.0': + resolution: {integrity: sha512-kLxuYutk88Wlo7edp8mlkN68TgZZ9237SUnuX9kNaD5jcOdblUqiBctMRZeRcPsuoX/3g2t0vS4ga02NBEVRNg==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20260131.0': - resolution: {integrity: sha512-M84mXR8WEMEBuX4/dL2IQ4wHV/ALwYjx9if5ePZR8rdbD7if/fkEEoMBq0bGS/1gMLRqqCZLstabxHV+g92NNg==} + '@cloudflare/workerd-darwin-arm64@1.20260212.0': + resolution: {integrity: sha512-fqoqQWMA1D0ZzDOD8sp0allREM2M8GHdpxMXQ8EdZpZ70z5bJbJ9Vr4qe35++FNIZJspsDHfTw3Xm/M4ELm/dQ==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20260131.0': - resolution: {integrity: sha512-SWzr48bCL9y5wjkj23tXS6t/6us99EAH9T5TAscMV0hfJFZQt97RY/gaHKyRRjFv6jfJZvk7d4g+OmGeYBnwcg==} + '@cloudflare/workerd-linux-64@1.20260212.0': + resolution: {integrity: sha512-bCSQoZzDzV5MSh4ueWo1DgmOn4Hf3QBu4Yo3eQFXA2llYFIu/sZgRtkEehw1X2/SY5Sn6O0EMCqxJYRf82Wdeg==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20260131.0': - resolution: {integrity: sha512-mL0kLPGIBJRPeHS3+erJ2t5dJT3ODhsKvR9aA4BcsY7M30/QhlgJIF6wsgwNisTJ23q8PbobZNHBUKIe8l/E9A==} + '@cloudflare/workerd-linux-arm64@1.20260212.0': + resolution: {integrity: sha512-GPvp1iiKQodtbUDi6OmR5I0vD75lawB54tdYGtmypuHC7ZOI2WhBmhb3wCxgnQNOG1z7mhCQrzRCoqrKwYbVWQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20260131.0': - resolution: {integrity: sha512-hoQqTFBpP1zntP2OQSpt5dEWbd9vSBliK+G7LmDXjKitPkmkRFo2PB4P9aBRE1edPAIO/fpdoJv928k2HaAn4A==} + '@cloudflare/workerd-windows-64@1.20260212.0': + resolution: {integrity: sha512-wHRI218Xn4ndgWJCUHH4Zx0YlU5q/o6OmcxXkcw95tJOsQn4lDrhppioPh4eScxJZALf2X+ODeZcyQTCq5exGw==} engines: {node: '>=16'} cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260203.0': - resolution: {integrity: sha512-XD2uglpGbVppjXXLuAdalKkcTi/i4TyQSx0w/ijJbvrR1Cfm7zNkxtvFBNy3tBNxZOiFIJtw5bszifQB1eow6A==} + '@cloudflare/workers-types@4.20260214.0': + resolution: {integrity: sha512-qb8rgbAdJR4BAPXolXhFL/wuGtecHLh1veOyZ1mK6QqWuCdI3vK1biKC0i3lzmzdLR/DZvsN3mNtpUE8zpWGEg==} '@codspeed/core@5.2.0': resolution: {integrity: sha512-CmDhpWjcOJg2iBOQ/BmBnSBq8qxlM3r4h8uvYDkoUaba+EKRT3T73BZtKuml/48jZMsB+4/FG2UbTBinDWtuvw==} @@ -7997,14 +7997,14 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.0': - resolution: {integrity: sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==} + '@esbuild/aix-ppc64@0.27.2': + resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.27.2': - resolution: {integrity: sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==} + '@esbuild/aix-ppc64@0.27.3': + resolution: {integrity: sha512-9fJMTNFTWZMh5qwrBItuziu834eOCUcEqymSH7pY+zoMVEZg3gcPuBNxH1EvfVYe9h0x/Ptw8KBzv7qxb7l8dg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -8027,14 +8027,14 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.0': - resolution: {integrity: sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==} + '@esbuild/android-arm64@0.27.2': + resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.27.2': - resolution: {integrity: sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==} + '@esbuild/android-arm64@0.27.3': + resolution: {integrity: sha512-YdghPYUmj/FX2SYKJ0OZxf+iaKgMsKHVPF1MAq/P8WirnSpCStzKJFjOjzsW0QQ7oIAiccHdcqjbHmJxRb/dmg==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -8057,14 +8057,14 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.0': - resolution: {integrity: sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==} + '@esbuild/android-arm@0.27.2': + resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-arm@0.27.2': - resolution: {integrity: sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==} + '@esbuild/android-arm@0.27.3': + resolution: {integrity: sha512-i5D1hPY7GIQmXlXhs2w8AWHhenb00+GxjxRncS2ZM7YNVGNfaMxgzSGuO8o8SJzRc/oZwU2bcScvVERk03QhzA==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -8087,14 +8087,14 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.0': - resolution: {integrity: sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==} + '@esbuild/android-x64@0.27.2': + resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/android-x64@0.27.2': - resolution: {integrity: sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==} + '@esbuild/android-x64@0.27.3': + resolution: {integrity: sha512-IN/0BNTkHtk8lkOM8JWAYFg4ORxBkZQf9zXiEOfERX/CzxW3Vg1ewAhU7QSWQpVIzTW+b8Xy+lGzdYXV6UZObQ==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -8117,14 +8117,14 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.0': - resolution: {integrity: sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==} + '@esbuild/darwin-arm64@0.27.2': + resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.27.2': - resolution: {integrity: sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==} + '@esbuild/darwin-arm64@0.27.3': + resolution: {integrity: sha512-Re491k7ByTVRy0t3EKWajdLIr0gz2kKKfzafkth4Q8A5n1xTHrkqZgLLjFEHVD+AXdUGgQMq+Godfq45mGpCKg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -8147,14 +8147,14 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.0': - resolution: {integrity: sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==} + '@esbuild/darwin-x64@0.27.2': + resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.27.2': - resolution: {integrity: sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==} + '@esbuild/darwin-x64@0.27.3': + resolution: {integrity: sha512-vHk/hA7/1AckjGzRqi6wbo+jaShzRowYip6rt6q7VYEDX4LEy1pZfDpdxCBnGtl+A5zq8iXDcyuxwtv3hNtHFg==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -8177,14 +8177,14 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.0': - resolution: {integrity: sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==} + '@esbuild/freebsd-arm64@0.27.2': + resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.27.2': - resolution: {integrity: sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==} + '@esbuild/freebsd-arm64@0.27.3': + resolution: {integrity: sha512-ipTYM2fjt3kQAYOvo6vcxJx3nBYAzPjgTCk7QEgZG8AUO3ydUhvelmhrbOheMnGOlaSFUoHXB6un+A7q4ygY9w==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -8207,14 +8207,14 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.0': - resolution: {integrity: sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==} + '@esbuild/freebsd-x64@0.27.2': + resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.27.2': - resolution: {integrity: sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==} + '@esbuild/freebsd-x64@0.27.3': + resolution: {integrity: sha512-dDk0X87T7mI6U3K9VjWtHOXqwAMJBNN2r7bejDsc+j03SEjtD9HrOl8gVFByeM0aJksoUuUVU9TBaZa2rgj0oA==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -8237,14 +8237,14 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.0': - resolution: {integrity: sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==} + '@esbuild/linux-arm64@0.27.2': + resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.27.2': - resolution: {integrity: sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==} + '@esbuild/linux-arm64@0.27.3': + resolution: {integrity: sha512-sZOuFz/xWnZ4KH3YfFrKCf1WyPZHakVzTiqji3WDc0BCl2kBwiJLCXpzLzUBLgmp4veFZdvN5ChW4Eq/8Fc2Fg==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -8267,14 +8267,14 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.0': - resolution: {integrity: sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==} + '@esbuild/linux-arm@0.27.2': + resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.27.2': - resolution: {integrity: sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==} + '@esbuild/linux-arm@0.27.3': + resolution: {integrity: sha512-s6nPv2QkSupJwLYyfS+gwdirm0ukyTFNl3KTgZEAiJDd+iHZcbTPPcWCcRYH+WlNbwChgH2QkE9NSlNrMT8Gfw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -8297,14 +8297,14 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.0': - resolution: {integrity: sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==} + '@esbuild/linux-ia32@0.27.2': + resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.27.2': - resolution: {integrity: sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==} + '@esbuild/linux-ia32@0.27.3': + resolution: {integrity: sha512-yGlQYjdxtLdh0a3jHjuwOrxQjOZYD/C9PfdbgJJF3TIZWnm/tMd/RcNiLngiu4iwcBAOezdnSLAwQDPqTmtTYg==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -8327,14 +8327,14 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.0': - resolution: {integrity: sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==} + '@esbuild/linux-loong64@0.27.2': + resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.27.2': - resolution: {integrity: sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==} + '@esbuild/linux-loong64@0.27.3': + resolution: {integrity: sha512-WO60Sn8ly3gtzhyjATDgieJNet/KqsDlX5nRC5Y3oTFcS1l0KWba+SEa9Ja1GfDqSF1z6hif/SkpQJbL63cgOA==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -8357,14 +8357,14 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.0': - resolution: {integrity: sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==} + '@esbuild/linux-mips64el@0.27.2': + resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.27.2': - resolution: {integrity: sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==} + '@esbuild/linux-mips64el@0.27.3': + resolution: {integrity: sha512-APsymYA6sGcZ4pD6k+UxbDjOFSvPWyZhjaiPyl/f79xKxwTnrn5QUnXR5prvetuaSMsb4jgeHewIDCIWljrSxw==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -8387,14 +8387,14 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.0': - resolution: {integrity: sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==} + '@esbuild/linux-ppc64@0.27.2': + resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.27.2': - resolution: {integrity: sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==} + '@esbuild/linux-ppc64@0.27.3': + resolution: {integrity: sha512-eizBnTeBefojtDb9nSh4vvVQ3V9Qf9Df01PfawPcRzJH4gFSgrObw+LveUyDoKU3kxi5+9RJTCWlj4FjYXVPEA==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -8417,14 +8417,14 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.0': - resolution: {integrity: sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==} + '@esbuild/linux-riscv64@0.27.2': + resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.27.2': - resolution: {integrity: sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==} + '@esbuild/linux-riscv64@0.27.3': + resolution: {integrity: sha512-3Emwh0r5wmfm3ssTWRQSyVhbOHvqegUDRd0WhmXKX2mkHJe1SFCMJhagUleMq+Uci34wLSipf8Lagt4LlpRFWQ==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -8447,14 +8447,14 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.0': - resolution: {integrity: sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==} + '@esbuild/linux-s390x@0.27.2': + resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.27.2': - resolution: {integrity: sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==} + '@esbuild/linux-s390x@0.27.3': + resolution: {integrity: sha512-pBHUx9LzXWBc7MFIEEL0yD/ZVtNgLytvx60gES28GcWMqil8ElCYR4kvbV2BDqsHOvVDRrOxGySBM9Fcv744hw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -8477,14 +8477,14 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.0': - resolution: {integrity: sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==} + '@esbuild/linux-x64@0.27.2': + resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.27.2': - resolution: {integrity: sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==} + '@esbuild/linux-x64@0.27.3': + resolution: {integrity: sha512-Czi8yzXUWIQYAtL/2y6vogER8pvcsOsk5cpwL4Gk5nJqH5UZiVByIY8Eorm5R13gq+DQKYg0+JyQoytLQas4dA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -8501,14 +8501,14 @@ packages: cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.0': - resolution: {integrity: sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==} + '@esbuild/netbsd-arm64@0.27.2': + resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-arm64@0.27.2': - resolution: {integrity: sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==} + '@esbuild/netbsd-arm64@0.27.3': + resolution: {integrity: sha512-sDpk0RgmTCR/5HguIZa9n9u+HVKf40fbEUt+iTzSnCaGvY9kFP0YKBWZtJaraonFnqef5SlJ8/TiPAxzyS+UoA==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] @@ -8531,14 +8531,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.0': - resolution: {integrity: sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==} + '@esbuild/netbsd-x64@0.27.2': + resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.27.2': - resolution: {integrity: sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==} + '@esbuild/netbsd-x64@0.27.3': + resolution: {integrity: sha512-P14lFKJl/DdaE00LItAukUdZO5iqNH7+PjoBm+fLQjtxfcfFE20Xf5CrLsmZdq5LFFZzb5JMZ9grUwvtVYzjiA==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -8555,14 +8555,14 @@ packages: cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.0': - resolution: {integrity: sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==} + '@esbuild/openbsd-arm64@0.27.2': + resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-arm64@0.27.2': - resolution: {integrity: sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==} + '@esbuild/openbsd-arm64@0.27.3': + resolution: {integrity: sha512-AIcMP77AvirGbRl/UZFTq5hjXK+2wC7qFRGoHSDrZ5v5b8DK/GYpXW3CPRL53NkvDqb9D+alBiC/dV0Fb7eJcw==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] @@ -8585,26 +8585,26 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.0': - resolution: {integrity: sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==} + '@esbuild/openbsd-x64@0.27.2': + resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.27.2': - resolution: {integrity: sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==} + '@esbuild/openbsd-x64@0.27.3': + resolution: {integrity: sha512-DnW2sRrBzA+YnE70LKqnM3P+z8vehfJWHXECbwBmH/CU51z6FiqTQTHFenPlHmo3a8UgpLyH3PT+87OViOh1AQ==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.27.0': - resolution: {integrity: sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==} + '@esbuild/openharmony-arm64@0.27.2': + resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/openharmony-arm64@0.27.2': - resolution: {integrity: sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==} + '@esbuild/openharmony-arm64@0.27.3': + resolution: {integrity: sha512-NinAEgr/etERPTsZJ7aEZQvvg/A6IsZG/LgZy+81wON2huV7SrK3e63dU0XhyZP4RKGyTm7aOgmQk0bGp0fy2g==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] @@ -8627,14 +8627,14 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.0': - resolution: {integrity: sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==} + '@esbuild/sunos-x64@0.27.2': + resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.27.2': - resolution: {integrity: sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==} + '@esbuild/sunos-x64@0.27.3': + resolution: {integrity: sha512-PanZ+nEz+eWoBJ8/f8HKxTTD172SKwdXebZ0ndd953gt1HRBbhMsaNqjTyYLGLPdoWHy4zLU7bDVJztF5f3BHA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -8657,14 +8657,14 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.0': - resolution: {integrity: sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==} + '@esbuild/win32-arm64@0.27.2': + resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.27.2': - resolution: {integrity: sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==} + '@esbuild/win32-arm64@0.27.3': + resolution: {integrity: sha512-B2t59lWWYrbRDw/tjiWOuzSsFh1Y/E95ofKz7rIVYSQkUYBjfSgf6oeYPNWHToFRr2zx52JKApIcAS/D5TUBnA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -8687,14 +8687,14 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.0': - resolution: {integrity: sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==} + '@esbuild/win32-ia32@0.27.2': + resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.27.2': - resolution: {integrity: sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==} + '@esbuild/win32-ia32@0.27.3': + resolution: {integrity: sha512-QLKSFeXNS8+tHW7tZpMtjlNb7HKau0QDpwm49u0vUp9y1WOF+PEzkU84y9GqYaAVW8aH8f3GcBck26jh54cX4Q==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -8717,14 +8717,14 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.0': - resolution: {integrity: sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==} + '@esbuild/win32-x64@0.27.2': + resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.27.2': - resolution: {integrity: sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==} + '@esbuild/win32-x64@0.27.3': + resolution: {integrity: sha512-4uJGhsxuptu3OcpVAzli+/gWusVGwZZHTlS63hh++ehExkVT8SgiEf7/uC/PclrPPkLhZqGgCTjd0VWLo6xMqA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -9167,12 +9167,12 @@ packages: '@netlify/binary-info@1.0.0': resolution: {integrity: sha512-4wMPu9iN3/HL97QblBsBay3E1etIciR84izI3U+4iALY+JHCrI+a2jO0qbAZ/nxKoegypYEaiiqWXylm+/zfrw==} - '@netlify/blobs@10.5.0': - resolution: {integrity: sha512-yrdt6H1X56DYz7pS3exU/iHO+iOW5sVzseaQwRQQ9OYChB/pVjXQzkBKAjS9dHIecSpv0oynkLxd/mwSJfAJLQ==} + '@netlify/blobs@10.6.0': + resolution: {integrity: sha512-orUfaNjUg0SDCRt/Zhtl1v3nCjYWb1NVqKwbB92lqpJWpHRZezxFViOoUoxv5UgHaXtjxgLitE24lL3hUm1bmg==} engines: {node: ^14.16.0 || >=16.0.0} - '@netlify/cache@3.3.4': - resolution: {integrity: sha512-Fl4/KxP8NS7+skjfRixgekuqBNvLPay/J6qC2mxvHjkkZNu1oUs8QOc+T3Nvt4n+UMrltnt9ggg0q/q4hmBIVw==} + '@netlify/cache@3.3.5': + resolution: {integrity: sha512-u4wx2se/wRvLsU/sQlT5ruofEwMjo5kg6ybEdQLuIswH6+6+9BCFF8VX4ByBP3MZJl3/pxExmcPiFqo0TBP3tg==} engines: {node: '>=20.6.1'} '@netlify/config@24.3.0': @@ -9184,8 +9184,8 @@ packages: resolution: {integrity: sha512-qziF8R9kf7mRNgSpmUH96O0aV1ZiwK4c9ZecFQbDSQuYhgy9GY1WTjiQF0oQnohjTjWNtXhrU39LAeXWNLaBJg==} engines: {node: ^18.14.0 || >=20} - '@netlify/dev@4.9.0': - resolution: {integrity: sha512-mQ9WIrqG8csuyXlVrVdukk+lgfFkyXngmGgeCOYr1RRlSqmN34rnRsQhMyxV0D3xS8QwiV1FyAqBJSzrGOZYmw==} + '@netlify/dev@4.10.0': + resolution: {integrity: sha512-swS/f2FFrpUv/7LPuZ3TZu7QLh1kXaYRbxzoZ7zwpVnnCn4zBbZurmc0Q8B1nv+nU0tI9ty3+lff+VPg/RgrIQ==} engines: {node: '>=20.6.1'} '@netlify/edge-bundler@14.9.5': @@ -9195,16 +9195,16 @@ packages: '@netlify/edge-functions-bootstrap@2.16.0': resolution: {integrity: sha512-v8QQihSbBHj3JxtJsHoepXALpNumD9M7egHoc8z62FYl5it34dWczkaJoFFopEyhiBVKi4K/n0ZYpdzwfujd6g==} - '@netlify/edge-functions-dev@1.0.9': - resolution: {integrity: sha512-MRgi+IZ8QG2V4sArOEUhuX8iGovcaJbgN6Ui/ZZxUHUbgzYiUC19buWKeL+hVlrAE0AakRfDnfv4S6O7f64mSg==} + '@netlify/edge-functions-dev@1.0.10': + resolution: {integrity: sha512-4MXn0Klbvfd8u308q/63ikMYXgOCDU+zjWs/pFpLfdnznddCYxVqPMyWyECJS3HLK7isAyQLupt34Lw1QdU1GA==} engines: {node: '>=20.6.1'} '@netlify/edge-functions@3.0.3': resolution: {integrity: sha512-grElRK+rTBdYrPsULPKrhcHhrW+fwpDRLPbGByqa6Xrz0fhzcFJ2D9ijxEQ/onFcSVPYHT1u1mI48GhS5bZ/Ag==} engines: {node: '>=18.0.0'} - '@netlify/functions-dev@1.1.9': - resolution: {integrity: sha512-m5ZUuaRM6i2z2jtqO1iBRHhlZBIqNZP6/IsiFp32imFyfka6ExXjReAuPHQZ89k9Jkaksbjk5qlig4ibCZJx7Q==} + '@netlify/functions-dev@1.1.10': + resolution: {integrity: sha512-8ho8j/9voKQQZ4+tFxw+yezi1k5xdoy9DupOcrzItUYNSqtl4Gdc7yALxWC1e1MCgIgxOXjxjdz2Bh6N3sSNqA==} engines: {node: '>=20.6.1'} '@netlify/functions@5.1.2': @@ -9239,12 +9239,12 @@ packages: resolution: {integrity: sha512-2FcF/0Q24JA+VmpWlVRp835UvhBHQe3XGVaxAQfHiDd5aXztaz2U5Y4VEZyrZJOubY5xnxr2yqumDfClAiCKxw==} engines: {node: '>=20.6.1'} - '@netlify/runtime-utils@2.2.1': - resolution: {integrity: sha512-dyJeuggzQM8+Dsi0T8Z9UjfLJ6vCmNC36W6WE2aqzfTdTw4wPkh2xlEu4LoD75+TGuYK7jIhEoU2QcCXOzfyAQ==} + '@netlify/runtime-utils@2.3.0': + resolution: {integrity: sha512-cW8weDvsKV7zfia2m5EcBy6KILGoPD+eYZ3qWNGnIo05DGF28goPES0xKSDkNYgAF/2rRSIhie2qcBhbGVgSRg==} engines: {node: ^18.14.0 || >=20} - '@netlify/runtime@4.1.13': - resolution: {integrity: sha512-pnexwAHckodyApbNaHiEzNyVlw+zx33wIwUSAopkq7qU8YYUQbDWIMi5gpGE6FsIvv/CCR8uxMgeIPOBLuVk5Q==} + '@netlify/runtime@4.1.14': + resolution: {integrity: sha512-lkue7cv4rUkyYXoBgP2Ho0tofVMRm3+fSh5mJONnFNFTEnoLa+8nQK0QjLAjGsEdJjmjDdnsYD1jIc3uqDr+eA==} engines: {node: '>=20.6.1'} '@netlify/serverless-functions-api@2.8.3': @@ -9259,8 +9259,8 @@ packages: resolution: {integrity: sha512-5gxMWh/S7wr0uHKSTbMv4bjWmWSpwpeLYvErWeVNAPll5/QNFo9aWimMAUuh8ReLY3/fg92XAroVVu7+z27Snw==} engines: {node: ^18.14.0 || >=20} - '@netlify/vite-plugin@2.8.0': - resolution: {integrity: sha512-KJz3X06m5kN72qq8AwP9igqx8qfxxzaPtLa+NkxCa7t8UpEFKrdG9YFklVaY0vy7EYHf9TNpL6EQDd08LoHzqw==} + '@netlify/vite-plugin@2.9.0': + resolution: {integrity: sha512-rIBsYu57VXacM6SmPBU6MMctwarOSunbZdJAI87/zO/ErHs+yaL0JDkLdvjLRd1xh3mKZDdiBzKpSgUsX40tLQ==} engines: {node: ^20.6.1 || >=22} peerDependencies: vite: ^5 || ^6 || ^7 @@ -10404,8 +10404,8 @@ packages: vue-router: optional: true - '@vercel/functions@3.4.1': - resolution: {integrity: sha512-+wqs1fscC1l2NZYL8Ahxe/vba4YzcuhxTV99Kf8sNwNeATaxQ9rbR6BILksoGDmm99YiD0wc0hBJcYxVNwiNaw==} + '@vercel/functions@3.4.2': + resolution: {integrity: sha512-WDsNNuGOOUhRYxfcSgk8nlXaYW/6u1Lw2eaKm0y4+gDPGK/hwmYIeP2hESfccuCiPXd5ZGO8Jz/V5Ud3ZByoUQ==} engines: {node: '>= 20'} peerDependencies: '@aws-sdk/credential-provider-web-identity': '*' @@ -10418,17 +10418,17 @@ packages: engines: {node: '>=18'} hasBin: true - '@vercel/nft@1.3.0': - resolution: {integrity: sha512-i4EYGkCsIjzu4vorDUbqglZc5eFtQI2syHb++9ZUDm6TU4edVywGpVnYDein35x9sevONOn9/UabfQXuNXtuzQ==} + '@vercel/nft@1.3.1': + resolution: {integrity: sha512-ihNT1rswiq3cy4WKQAV5kJi6UjWX1vLUzlLc+Vvq83G8CU9nMgfDWz5f1tOnSlS8LeC4Wp4qTB3+HGj/ccUrFQ==} engines: {node: '>=20'} hasBin: true - '@vercel/oidc@3.1.0': - resolution: {integrity: sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==} + '@vercel/oidc@3.2.0': + resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} - '@vercel/routing-utils@5.3.2': - resolution: {integrity: sha512-OKKhHKAON4vcwuPQvtxFRv7Ney0IGlp9CTsScKGbUsYYutRValK2GVdj7y4RRqm7RgzhuUMT/fSoK0ENKwrx9A==} + '@vercel/routing-utils@5.3.3': + resolution: {integrity: sha512-KYm2sLNUD48gDScv8ob4ejc3Gww2jcJyW80hTdYlenAPz/5BQar1Gyh38xrUuZ532TUwSb5mV1uRbAuiykq0EQ==} '@vitejs/plugin-react@4.7.0': resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} @@ -11945,13 +11945,13 @@ packages: engines: {node: '>=18'} hasBin: true - esbuild@0.27.0: - resolution: {integrity: sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==} + esbuild@0.27.2: + resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} engines: {node: '>=18'} hasBin: true - esbuild@0.27.2: - resolution: {integrity: sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==} + esbuild@0.27.3: + resolution: {integrity: sha512-8VwMnyGCONIs6cWue2IdpHxHnAjzxnw2Zr7MkVxB2vjmQ2ivqGFb4LEG3SMnv0Gb2F/G/2yA8zUaiL1gywDCCg==} engines: {node: '>=18'} hasBin: true @@ -13556,8 +13556,8 @@ packages: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} - miniflare@4.20260131.0: - resolution: {integrity: sha512-CtObRzlAzOUpCFH+MgImykxmDNKthrgIYtC+oLC3UGpve6bGLomKUW4u4EorTvzlQFHe66/9m/+AYbBbpzG0mQ==} + miniflare@4.20260212.0: + resolution: {integrity: sha512-Lgxq83EuR2q/0/DAVOSGXhXS1V7GDB04HVggoPsenQng8sqEDR3hO4FigIw5ZI2Sv2X7kIc30NCzGHJlCFIYWg==} engines: {node: '>=18.0.0'} hasBin: true @@ -16166,20 +16166,20 @@ packages: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} - workerd@1.20260131.0: - resolution: {integrity: sha512-4zZxOdWeActbRfydQQlj7vZ2ay01AjjNC4K3stjmWC3xZHeXeN3EAROwsWE83SZHhtw4rn18srrhtXoQvQMw3Q==} + workerd@1.20260212.0: + resolution: {integrity: sha512-4B9BoZUzKSRv3pVZGEPh7OX+Q817hpUqAUtz5O0TxJVqo4OsYJAUA/sY177Q5ha/twjT9KaJt2DtQzE+oyCOzw==} engines: {node: '>=16'} hasBin: true workerpool@9.3.4: resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} - wrangler@4.62.0: - resolution: {integrity: sha512-DogP9jifqw85g33BqwF6m21YBW5J7+Ep9IJLgr6oqHU0RkA79JMN5baeWXdmnIWZl+VZh6bmtNtR+5/Djd32tg==} + wrangler@4.65.0: + resolution: {integrity: sha512-R+n3o3tlGzLK9I4fGocPReOuvcnjhtOL2aCVKkHMeuEwt9pPbOO4FxJtx/ec5cIUG/otRyJnfQGCAr9DplBVng==} engines: {node: '>=20.0.0'} hasBin: true peerDependencies: - '@cloudflare/workers-types': ^4.20260131.0 + '@cloudflare/workers-types': ^4.20260212.0 peerDependenciesMeta: '@cloudflare/workers-types': optional: true @@ -17118,19 +17118,19 @@ snapshots: '@cloudflare/kv-asset-handler@0.4.2': {} - '@cloudflare/unenv-preset@2.12.0(unenv@2.0.0-rc.24)(workerd@1.20260131.0)': + '@cloudflare/unenv-preset@2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0)': dependencies: unenv: 2.0.0-rc.24 optionalDependencies: - workerd: 1.20260131.0 + workerd: 1.20260212.0 - '@cloudflare/vite-plugin@1.23.0(@cloudflare/workers-types@4.20260203.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260131.0)': + '@cloudflare/vite-plugin@1.25.0(@cloudflare/workers-types@4.20260214.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260212.0)': dependencies: - '@cloudflare/unenv-preset': 2.12.0(unenv@2.0.0-rc.24)(workerd@1.20260131.0) - miniflare: 4.20260131.0 + '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) + miniflare: 4.20260212.0 unenv: 2.0.0-rc.24 vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - wrangler: 4.62.0(@cloudflare/workers-types@4.20260203.0) + wrangler: 4.65.0(@cloudflare/workers-types@4.20260214.0) ws: 8.18.0 transitivePeerDependencies: - '@cloudflare/workers-types' @@ -17138,22 +17138,22 @@ snapshots: - utf-8-validate - workerd - '@cloudflare/workerd-darwin-64@1.20260131.0': + '@cloudflare/workerd-darwin-64@1.20260212.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20260131.0': + '@cloudflare/workerd-darwin-arm64@1.20260212.0': optional: true - '@cloudflare/workerd-linux-64@1.20260131.0': + '@cloudflare/workerd-linux-64@1.20260212.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20260131.0': + '@cloudflare/workerd-linux-arm64@1.20260212.0': optional: true - '@cloudflare/workerd-windows-64@1.20260131.0': + '@cloudflare/workerd-windows-64@1.20260212.0': optional: true - '@cloudflare/workers-types@4.20260203.0': {} + '@cloudflare/workers-types@4.20260214.0': {} '@codspeed/core@5.2.0': dependencies: @@ -17558,10 +17558,10 @@ snapshots: '@esbuild/aix-ppc64@0.25.5': optional: true - '@esbuild/aix-ppc64@0.27.0': + '@esbuild/aix-ppc64@0.27.2': optional: true - '@esbuild/aix-ppc64@0.27.2': + '@esbuild/aix-ppc64@0.27.3': optional: true '@esbuild/android-arm64@0.17.19': @@ -17573,10 +17573,10 @@ snapshots: '@esbuild/android-arm64@0.25.5': optional: true - '@esbuild/android-arm64@0.27.0': + '@esbuild/android-arm64@0.27.2': optional: true - '@esbuild/android-arm64@0.27.2': + '@esbuild/android-arm64@0.27.3': optional: true '@esbuild/android-arm@0.17.19': @@ -17588,10 +17588,10 @@ snapshots: '@esbuild/android-arm@0.25.5': optional: true - '@esbuild/android-arm@0.27.0': + '@esbuild/android-arm@0.27.2': optional: true - '@esbuild/android-arm@0.27.2': + '@esbuild/android-arm@0.27.3': optional: true '@esbuild/android-x64@0.17.19': @@ -17603,10 +17603,10 @@ snapshots: '@esbuild/android-x64@0.25.5': optional: true - '@esbuild/android-x64@0.27.0': + '@esbuild/android-x64@0.27.2': optional: true - '@esbuild/android-x64@0.27.2': + '@esbuild/android-x64@0.27.3': optional: true '@esbuild/darwin-arm64@0.17.19': @@ -17618,10 +17618,10 @@ snapshots: '@esbuild/darwin-arm64@0.25.5': optional: true - '@esbuild/darwin-arm64@0.27.0': + '@esbuild/darwin-arm64@0.27.2': optional: true - '@esbuild/darwin-arm64@0.27.2': + '@esbuild/darwin-arm64@0.27.3': optional: true '@esbuild/darwin-x64@0.17.19': @@ -17633,10 +17633,10 @@ snapshots: '@esbuild/darwin-x64@0.25.5': optional: true - '@esbuild/darwin-x64@0.27.0': + '@esbuild/darwin-x64@0.27.2': optional: true - '@esbuild/darwin-x64@0.27.2': + '@esbuild/darwin-x64@0.27.3': optional: true '@esbuild/freebsd-arm64@0.17.19': @@ -17648,10 +17648,10 @@ snapshots: '@esbuild/freebsd-arm64@0.25.5': optional: true - '@esbuild/freebsd-arm64@0.27.0': + '@esbuild/freebsd-arm64@0.27.2': optional: true - '@esbuild/freebsd-arm64@0.27.2': + '@esbuild/freebsd-arm64@0.27.3': optional: true '@esbuild/freebsd-x64@0.17.19': @@ -17663,10 +17663,10 @@ snapshots: '@esbuild/freebsd-x64@0.25.5': optional: true - '@esbuild/freebsd-x64@0.27.0': + '@esbuild/freebsd-x64@0.27.2': optional: true - '@esbuild/freebsd-x64@0.27.2': + '@esbuild/freebsd-x64@0.27.3': optional: true '@esbuild/linux-arm64@0.17.19': @@ -17678,10 +17678,10 @@ snapshots: '@esbuild/linux-arm64@0.25.5': optional: true - '@esbuild/linux-arm64@0.27.0': + '@esbuild/linux-arm64@0.27.2': optional: true - '@esbuild/linux-arm64@0.27.2': + '@esbuild/linux-arm64@0.27.3': optional: true '@esbuild/linux-arm@0.17.19': @@ -17693,10 +17693,10 @@ snapshots: '@esbuild/linux-arm@0.25.5': optional: true - '@esbuild/linux-arm@0.27.0': + '@esbuild/linux-arm@0.27.2': optional: true - '@esbuild/linux-arm@0.27.2': + '@esbuild/linux-arm@0.27.3': optional: true '@esbuild/linux-ia32@0.17.19': @@ -17708,10 +17708,10 @@ snapshots: '@esbuild/linux-ia32@0.25.5': optional: true - '@esbuild/linux-ia32@0.27.0': + '@esbuild/linux-ia32@0.27.2': optional: true - '@esbuild/linux-ia32@0.27.2': + '@esbuild/linux-ia32@0.27.3': optional: true '@esbuild/linux-loong64@0.17.19': @@ -17723,10 +17723,10 @@ snapshots: '@esbuild/linux-loong64@0.25.5': optional: true - '@esbuild/linux-loong64@0.27.0': + '@esbuild/linux-loong64@0.27.2': optional: true - '@esbuild/linux-loong64@0.27.2': + '@esbuild/linux-loong64@0.27.3': optional: true '@esbuild/linux-mips64el@0.17.19': @@ -17738,10 +17738,10 @@ snapshots: '@esbuild/linux-mips64el@0.25.5': optional: true - '@esbuild/linux-mips64el@0.27.0': + '@esbuild/linux-mips64el@0.27.2': optional: true - '@esbuild/linux-mips64el@0.27.2': + '@esbuild/linux-mips64el@0.27.3': optional: true '@esbuild/linux-ppc64@0.17.19': @@ -17753,10 +17753,10 @@ snapshots: '@esbuild/linux-ppc64@0.25.5': optional: true - '@esbuild/linux-ppc64@0.27.0': + '@esbuild/linux-ppc64@0.27.2': optional: true - '@esbuild/linux-ppc64@0.27.2': + '@esbuild/linux-ppc64@0.27.3': optional: true '@esbuild/linux-riscv64@0.17.19': @@ -17768,10 +17768,10 @@ snapshots: '@esbuild/linux-riscv64@0.25.5': optional: true - '@esbuild/linux-riscv64@0.27.0': + '@esbuild/linux-riscv64@0.27.2': optional: true - '@esbuild/linux-riscv64@0.27.2': + '@esbuild/linux-riscv64@0.27.3': optional: true '@esbuild/linux-s390x@0.17.19': @@ -17783,10 +17783,10 @@ snapshots: '@esbuild/linux-s390x@0.25.5': optional: true - '@esbuild/linux-s390x@0.27.0': + '@esbuild/linux-s390x@0.27.2': optional: true - '@esbuild/linux-s390x@0.27.2': + '@esbuild/linux-s390x@0.27.3': optional: true '@esbuild/linux-x64@0.17.19': @@ -17798,10 +17798,10 @@ snapshots: '@esbuild/linux-x64@0.25.5': optional: true - '@esbuild/linux-x64@0.27.0': + '@esbuild/linux-x64@0.27.2': optional: true - '@esbuild/linux-x64@0.27.2': + '@esbuild/linux-x64@0.27.3': optional: true '@esbuild/netbsd-arm64@0.24.2': @@ -17810,10 +17810,10 @@ snapshots: '@esbuild/netbsd-arm64@0.25.5': optional: true - '@esbuild/netbsd-arm64@0.27.0': + '@esbuild/netbsd-arm64@0.27.2': optional: true - '@esbuild/netbsd-arm64@0.27.2': + '@esbuild/netbsd-arm64@0.27.3': optional: true '@esbuild/netbsd-x64@0.17.19': @@ -17825,10 +17825,10 @@ snapshots: '@esbuild/netbsd-x64@0.25.5': optional: true - '@esbuild/netbsd-x64@0.27.0': + '@esbuild/netbsd-x64@0.27.2': optional: true - '@esbuild/netbsd-x64@0.27.2': + '@esbuild/netbsd-x64@0.27.3': optional: true '@esbuild/openbsd-arm64@0.24.2': @@ -17837,10 +17837,10 @@ snapshots: '@esbuild/openbsd-arm64@0.25.5': optional: true - '@esbuild/openbsd-arm64@0.27.0': + '@esbuild/openbsd-arm64@0.27.2': optional: true - '@esbuild/openbsd-arm64@0.27.2': + '@esbuild/openbsd-arm64@0.27.3': optional: true '@esbuild/openbsd-x64@0.17.19': @@ -17852,18 +17852,18 @@ snapshots: '@esbuild/openbsd-x64@0.25.5': optional: true - '@esbuild/openbsd-x64@0.27.0': - optional: true - '@esbuild/openbsd-x64@0.27.2': optional: true - '@esbuild/openharmony-arm64@0.27.0': + '@esbuild/openbsd-x64@0.27.3': optional: true '@esbuild/openharmony-arm64@0.27.2': optional: true + '@esbuild/openharmony-arm64@0.27.3': + optional: true + '@esbuild/sunos-x64@0.17.19': optional: true @@ -17873,10 +17873,10 @@ snapshots: '@esbuild/sunos-x64@0.25.5': optional: true - '@esbuild/sunos-x64@0.27.0': + '@esbuild/sunos-x64@0.27.2': optional: true - '@esbuild/sunos-x64@0.27.2': + '@esbuild/sunos-x64@0.27.3': optional: true '@esbuild/win32-arm64@0.17.19': @@ -17888,10 +17888,10 @@ snapshots: '@esbuild/win32-arm64@0.25.5': optional: true - '@esbuild/win32-arm64@0.27.0': + '@esbuild/win32-arm64@0.27.2': optional: true - '@esbuild/win32-arm64@0.27.2': + '@esbuild/win32-arm64@0.27.3': optional: true '@esbuild/win32-ia32@0.17.19': @@ -17903,10 +17903,10 @@ snapshots: '@esbuild/win32-ia32@0.25.5': optional: true - '@esbuild/win32-ia32@0.27.0': + '@esbuild/win32-ia32@0.27.2': optional: true - '@esbuild/win32-ia32@0.27.2': + '@esbuild/win32-ia32@0.27.3': optional: true '@esbuild/win32-x64@0.17.19': @@ -17918,10 +17918,10 @@ snapshots: '@esbuild/win32-x64@0.25.5': optional: true - '@esbuild/win32-x64@0.27.0': + '@esbuild/win32-x64@0.27.2': optional: true - '@esbuild/win32-x64@0.27.2': + '@esbuild/win32-x64@0.27.3': optional: true '@eslint-community/eslint-utils@4.9.1(eslint@9.39.2(jiti@2.6.1))': @@ -18381,17 +18381,17 @@ snapshots: '@netlify/binary-info@1.0.0': {} - '@netlify/blobs@10.5.0': + '@netlify/blobs@10.6.0': dependencies: '@netlify/dev-utils': 4.3.3 '@netlify/otel': 5.1.1 - '@netlify/runtime-utils': 2.2.1 + '@netlify/runtime-utils': 2.3.0 transitivePeerDependencies: - supports-color - '@netlify/cache@3.3.4': + '@netlify/cache@3.3.5': dependencies: - '@netlify/runtime-utils': 2.2.1 + '@netlify/runtime-utils': 2.3.0 '@netlify/config@24.3.0': dependencies: @@ -18439,18 +18439,18 @@ snapshots: uuid: 13.0.0 write-file-atomic: 5.0.1 - '@netlify/dev@4.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.1)(rollup@4.57.1)': + '@netlify/dev@4.10.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1)': dependencies: '@netlify/ai': 0.3.6 - '@netlify/blobs': 10.5.0 + '@netlify/blobs': 10.6.0 '@netlify/config': 24.3.0 '@netlify/dev-utils': 4.3.3 - '@netlify/edge-functions-dev': 1.0.9 - '@netlify/functions-dev': 1.1.9(rollup@4.57.1) + '@netlify/edge-functions-dev': 1.0.10 + '@netlify/functions-dev': 1.1.10(rollup@4.57.1) '@netlify/headers': 2.1.3 - '@netlify/images': 1.3.3(@azure/identity@4.13.0)(@netlify/blobs@10.5.0)(@vercel/functions@3.4.1) + '@netlify/images': 1.3.3(@azure/identity@4.13.0)(@netlify/blobs@10.6.0)(@vercel/functions@3.4.2) '@netlify/redirects': 3.1.4 - '@netlify/runtime': 4.1.13 + '@netlify/runtime': 4.1.14 '@netlify/static': 3.1.3 ulid: 3.0.1 transitivePeerDependencies: @@ -18503,22 +18503,22 @@ snapshots: '@netlify/edge-functions-bootstrap@2.16.0': {} - '@netlify/edge-functions-dev@1.0.9': + '@netlify/edge-functions-dev@1.0.10': dependencies: '@netlify/dev-utils': 4.3.3 '@netlify/edge-bundler': 14.9.5 '@netlify/edge-functions': 3.0.3 '@netlify/edge-functions-bootstrap': 2.16.0 - '@netlify/runtime-utils': 2.2.1 + '@netlify/runtime-utils': 2.3.0 get-port: 7.1.0 '@netlify/edge-functions@3.0.3': dependencies: '@netlify/types': 2.3.0 - '@netlify/functions-dev@1.1.9(rollup@4.57.1)': + '@netlify/functions-dev@1.1.10(rollup@4.57.1)': dependencies: - '@netlify/blobs': 10.5.0 + '@netlify/blobs': 10.6.0 '@netlify/dev-utils': 4.3.3 '@netlify/functions': 5.1.2 '@netlify/zip-it-and-ship-it': 14.3.1(rollup@4.57.1) @@ -18555,9 +18555,9 @@ snapshots: dependencies: '@netlify/headers-parser': 9.0.2 - '@netlify/images@1.3.3(@azure/identity@4.13.0)(@netlify/blobs@10.5.0)(@vercel/functions@3.4.1)': + '@netlify/images@1.3.3(@azure/identity@4.13.0)(@netlify/blobs@10.6.0)(@vercel/functions@3.4.2)': dependencies: - ipx: 3.1.1(@azure/identity@4.13.0)(@netlify/blobs@10.5.0)(@vercel/functions@3.4.1) + ipx: 3.1.1(@azure/identity@4.13.0)(@netlify/blobs@10.6.0)(@vercel/functions@3.4.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -18606,13 +18606,13 @@ snapshots: jsonwebtoken: 9.0.2 netlify-redirector: 0.5.0 - '@netlify/runtime-utils@2.2.1': {} + '@netlify/runtime-utils@2.3.0': {} - '@netlify/runtime@4.1.13': + '@netlify/runtime@4.1.14': dependencies: - '@netlify/blobs': 10.5.0 - '@netlify/cache': 3.3.4 - '@netlify/runtime-utils': 2.2.1 + '@netlify/blobs': 10.6.0 + '@netlify/cache': 3.3.5 + '@netlify/runtime-utils': 2.3.0 '@netlify/types': 2.3.0 transitivePeerDependencies: - supports-color @@ -18625,9 +18625,9 @@ snapshots: '@netlify/types@2.3.0': {} - '@netlify/vite-plugin@2.8.0(@azure/identity@4.13.0)(@vercel/functions@3.4.1)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@netlify/vite-plugin@2.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@netlify/dev': 4.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.1)(rollup@4.57.1) + '@netlify/dev': 4.10.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1) '@netlify/dev-utils': 4.3.3 dedent: 1.7.0 vite: 7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) @@ -19714,9 +19714,9 @@ snapshots: svelte: 5.50.3 vue: 3.5.28(typescript@5.9.3) - '@vercel/functions@3.4.1': + '@vercel/functions@3.4.2': dependencies: - '@vercel/oidc': 3.1.0 + '@vercel/oidc': 3.2.0 '@vercel/nft@0.29.4(rollup@4.57.1)': dependencies: @@ -19737,7 +19737,7 @@ snapshots: - rollup - supports-color - '@vercel/nft@1.3.0(rollup@4.57.1)': + '@vercel/nft@1.3.1(rollup@4.57.1)': dependencies: '@mapbox/node-pre-gyp': 2.0.0 '@rollup/pluginutils': 5.3.0(rollup@4.57.1) @@ -19756,9 +19756,9 @@ snapshots: - rollup - supports-color - '@vercel/oidc@3.1.0': {} + '@vercel/oidc@3.2.0': {} - '@vercel/routing-utils@5.3.2': + '@vercel/routing-utils@5.3.3': dependencies: path-to-regexp: 6.1.0 path-to-regexp-updated: path-to-regexp@6.3.0 @@ -21225,9 +21225,9 @@ snapshots: dotenv@8.6.0: {} - drizzle-orm@0.42.0(@cloudflare/workers-types@4.20260203.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0): + drizzle-orm@0.42.0(@cloudflare/workers-types@4.20260214.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0): optionalDependencies: - '@cloudflare/workers-types': 4.20260203.0 + '@cloudflare/workers-types': 4.20260214.0 '@libsql/client': 0.17.0 '@opentelemetry/api': 1.9.0 @@ -21429,35 +21429,6 @@ snapshots: '@esbuild/win32-ia32': 0.25.5 '@esbuild/win32-x64': 0.25.5 - esbuild@0.27.0: - optionalDependencies: - '@esbuild/aix-ppc64': 0.27.0 - '@esbuild/android-arm': 0.27.0 - '@esbuild/android-arm64': 0.27.0 - '@esbuild/android-x64': 0.27.0 - '@esbuild/darwin-arm64': 0.27.0 - '@esbuild/darwin-x64': 0.27.0 - '@esbuild/freebsd-arm64': 0.27.0 - '@esbuild/freebsd-x64': 0.27.0 - '@esbuild/linux-arm': 0.27.0 - '@esbuild/linux-arm64': 0.27.0 - '@esbuild/linux-ia32': 0.27.0 - '@esbuild/linux-loong64': 0.27.0 - '@esbuild/linux-mips64el': 0.27.0 - '@esbuild/linux-ppc64': 0.27.0 - '@esbuild/linux-riscv64': 0.27.0 - '@esbuild/linux-s390x': 0.27.0 - '@esbuild/linux-x64': 0.27.0 - '@esbuild/netbsd-arm64': 0.27.0 - '@esbuild/netbsd-x64': 0.27.0 - '@esbuild/openbsd-arm64': 0.27.0 - '@esbuild/openbsd-x64': 0.27.0 - '@esbuild/openharmony-arm64': 0.27.0 - '@esbuild/sunos-x64': 0.27.0 - '@esbuild/win32-arm64': 0.27.0 - '@esbuild/win32-ia32': 0.27.0 - '@esbuild/win32-x64': 0.27.0 - esbuild@0.27.2: optionalDependencies: '@esbuild/aix-ppc64': 0.27.2 @@ -21487,6 +21458,35 @@ snapshots: '@esbuild/win32-ia32': 0.27.2 '@esbuild/win32-x64': 0.27.2 + esbuild@0.27.3: + optionalDependencies: + '@esbuild/aix-ppc64': 0.27.3 + '@esbuild/android-arm': 0.27.3 + '@esbuild/android-arm64': 0.27.3 + '@esbuild/android-x64': 0.27.3 + '@esbuild/darwin-arm64': 0.27.3 + '@esbuild/darwin-x64': 0.27.3 + '@esbuild/freebsd-arm64': 0.27.3 + '@esbuild/freebsd-x64': 0.27.3 + '@esbuild/linux-arm': 0.27.3 + '@esbuild/linux-arm64': 0.27.3 + '@esbuild/linux-ia32': 0.27.3 + '@esbuild/linux-loong64': 0.27.3 + '@esbuild/linux-mips64el': 0.27.3 + '@esbuild/linux-ppc64': 0.27.3 + '@esbuild/linux-riscv64': 0.27.3 + '@esbuild/linux-s390x': 0.27.3 + '@esbuild/linux-x64': 0.27.3 + '@esbuild/netbsd-arm64': 0.27.3 + '@esbuild/netbsd-x64': 0.27.3 + '@esbuild/openbsd-arm64': 0.27.3 + '@esbuild/openbsd-x64': 0.27.3 + '@esbuild/openharmony-arm64': 0.27.3 + '@esbuild/sunos-x64': 0.27.3 + '@esbuild/win32-arm64': 0.27.3 + '@esbuild/win32-ia32': 0.27.3 + '@esbuild/win32-x64': 0.27.3 + escalade@3.2.0: {} escape-html@1.0.3: {} @@ -22414,7 +22414,7 @@ snapshots: ipaddr.js@2.3.0: {} - ipx@3.1.1(@azure/identity@4.13.0)(@netlify/blobs@10.5.0)(@vercel/functions@3.4.1): + ipx@3.1.1(@azure/identity@4.13.0)(@netlify/blobs@10.6.0)(@vercel/functions@3.4.2): dependencies: '@fastify/accept-negotiator': 2.0.1 citty: 0.1.6 @@ -22430,7 +22430,7 @@ snapshots: sharp: 0.34.5 svgo: 4.0.0 ufo: 1.6.3 - unstorage: 1.17.4(@azure/identity@4.13.0)(@netlify/blobs@10.5.0)(@vercel/functions@3.4.1) + unstorage: 1.17.4(@azure/identity@4.13.0)(@netlify/blobs@10.6.0)(@vercel/functions@3.4.2) xss: 1.0.15 transitivePeerDependencies: - '@azure/app-configuration' @@ -23557,12 +23557,12 @@ snapshots: mimic-response@3.1.0: optional: true - miniflare@4.20260131.0: + miniflare@4.20260212.0: dependencies: '@cspotcode/source-map-support': 0.8.1 sharp: 0.34.5 undici: 7.18.2 - workerd: 1.20260131.0 + workerd: 1.20260212.0 ws: 8.18.0 youch: 4.1.0-beta.10 transitivePeerDependencies: @@ -25623,7 +25623,7 @@ snapshots: tsx@4.21.0: dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 get-tsconfig: 4.13.1 optionalDependencies: fsevents: 2.3.3 @@ -25855,7 +25855,7 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 - unstorage@1.17.4(@azure/identity@4.13.0)(@netlify/blobs@10.5.0)(@vercel/functions@3.4.1): + unstorage@1.17.4(@azure/identity@4.13.0)(@netlify/blobs@10.6.0)(@vercel/functions@3.4.2): dependencies: anymatch: 3.1.3 chokidar: 5.0.0 @@ -25867,8 +25867,8 @@ snapshots: ufo: 1.6.3 optionalDependencies: '@azure/identity': 4.13.0 - '@netlify/blobs': 10.5.0 - '@vercel/functions': 3.4.1 + '@netlify/blobs': 10.6.0 + '@vercel/functions': 3.4.2 untun@0.1.3: dependencies: @@ -26143,7 +26143,7 @@ snapshots: vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 @@ -26160,7 +26160,7 @@ snapshots: vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: - esbuild: 0.27.2 + esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 @@ -26504,28 +26504,28 @@ snapshots: word-wrap@1.2.5: {} - workerd@1.20260131.0: + workerd@1.20260212.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20260131.0 - '@cloudflare/workerd-darwin-arm64': 1.20260131.0 - '@cloudflare/workerd-linux-64': 1.20260131.0 - '@cloudflare/workerd-linux-arm64': 1.20260131.0 - '@cloudflare/workerd-windows-64': 1.20260131.0 + '@cloudflare/workerd-darwin-64': 1.20260212.0 + '@cloudflare/workerd-darwin-arm64': 1.20260212.0 + '@cloudflare/workerd-linux-64': 1.20260212.0 + '@cloudflare/workerd-linux-arm64': 1.20260212.0 + '@cloudflare/workerd-windows-64': 1.20260212.0 workerpool@9.3.4: {} - wrangler@4.62.0(@cloudflare/workers-types@4.20260203.0): + wrangler@4.65.0(@cloudflare/workers-types@4.20260214.0): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 - '@cloudflare/unenv-preset': 2.12.0(unenv@2.0.0-rc.24)(workerd@1.20260131.0) + '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) blake3-wasm: 2.1.5 - esbuild: 0.27.0 - miniflare: 4.20260131.0 + esbuild: 0.27.3 + miniflare: 4.20260212.0 path-to-regexp: 6.3.0 unenv: 2.0.0-rc.24 - workerd: 1.20260131.0 + workerd: 1.20260212.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260203.0 + '@cloudflare/workers-types': 4.20260214.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil From dfe2e22042f92172442ab32777b3cce90685b76a Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 16 Feb 2026 16:29:14 +0100 Subject: [PATCH 3/9] feat: deprecate NodeApp (#15535) * move stuff around * deprecate * utils * usage * changesets * Update .changeset/good-clubs-cover.md * Update .changeset/polite-terms-shop.md * changeset * fix: lint --- .changeset/big-cups-drive.md | 5 + .changeset/good-clubs-cover.md | 21 + .changeset/olive-dots-jam.md | 5 + .changeset/polite-terms-shop.md | 5 + benchmark/packages/timer/src/server.ts | 27 +- packages/astro/package.json | 12 +- packages/astro/src/core/app/entrypoint.ts | 1 - .../astro/src/core/app/entrypoints/index.ts | 13 + .../src/core/app/entrypoints/manifest.ts | 8 + .../astro/src/core/app/entrypoints/node.ts | 1 + .../virtual}/dev.ts | 10 +- .../src/core/app/entrypoints/virtual/index.ts | 4 + .../virtual}/prod.ts | 4 +- packages/astro/src/core/app/index.ts | 13 - packages/astro/src/core/app/node.ts | 387 ++++++++++-------- packages/astro/src/core/app/types.ts | 1 + packages/astro/src/core/build/app.ts | 2 +- packages/astro/src/core/build/pipeline.ts | 2 +- .../src/core/build/plugins/plugin-manifest.ts | 2 +- .../astro/src/core/routing/manifest/create.ts | 2 +- packages/astro/src/manifest/serialized.ts | 2 +- packages/astro/src/virtual-modules/i18n.ts | 2 +- packages/astro/src/vite-plugin-app/app.ts | 2 +- .../src/vite-plugin-astro-server/plugin.ts | 2 +- .../astro/src/vite-plugin-routes/index.ts | 2 +- packages/astro/test/astro-global.test.js | 2 +- packages/astro/test/middleware.test.js | 2 +- packages/astro/test/sessions.test.js | 2 +- packages/astro/test/test-utils.js | 2 +- packages/astro/test/units/app/node.test.js | 82 ++-- 30 files changed, 359 insertions(+), 266 deletions(-) create mode 100644 .changeset/big-cups-drive.md create mode 100644 .changeset/good-clubs-cover.md create mode 100644 .changeset/olive-dots-jam.md create mode 100644 .changeset/polite-terms-shop.md delete mode 100644 packages/astro/src/core/app/entrypoint.ts create mode 100644 packages/astro/src/core/app/entrypoints/index.ts create mode 100644 packages/astro/src/core/app/entrypoints/manifest.ts create mode 100644 packages/astro/src/core/app/entrypoints/node.ts rename packages/astro/src/core/app/{entrypoint => entrypoints/virtual}/dev.ts (77%) create mode 100644 packages/astro/src/core/app/entrypoints/virtual/index.ts rename packages/astro/src/core/app/{entrypoint => entrypoints/virtual}/prod.ts (59%) delete mode 100644 packages/astro/src/core/app/index.ts diff --git a/.changeset/big-cups-drive.md b/.changeset/big-cups-drive.md new file mode 100644 index 000000000000..48d783374449 --- /dev/null +++ b/.changeset/big-cups-drive.md @@ -0,0 +1,5 @@ +--- +'astro': major +--- + +Deprecates `loadManifest()` and `loadApp()` from `astro/app/node` (Adapter API) - ([v6 upgrade guidance](https://v6.docs.astro.build/en/guides/upgrade-to/v6/#deprecated-loadmanifest-and-loadapp-from-astroappnode-adapter-api)) diff --git a/.changeset/good-clubs-cover.md b/.changeset/good-clubs-cover.md new file mode 100644 index 000000000000..58a81043b9d1 --- /dev/null +++ b/.changeset/good-clubs-cover.md @@ -0,0 +1,21 @@ +--- +'astro': minor +--- + +Exports new `createRequest()` and `writeResponse()` utilities from `astro/app/node` + +To replace the deprecated `NodeApp.createRequest()` and `NodeApp.writeResponse()` methods, the `astro/app/node` module now exposes new `createRequest()` and `writeResponse()` utilities. These can be used to convert a NodeJS `IncomingMessage` into a web-standard `Request` and stream a web-standard `Response` into a NodeJS `ServerResponse`: + +```js +import { createApp } from 'astro/app/entrypoint'; +import { createRequest, writeResponse } from 'astro/app/node'; +import { createServer } from 'node:http'; + +const app = createApp(); + +const server = createServer(async (req, res) => { + const request = createRequest(req); + const response = await app.render(request); + await writeResponse(response, res); +}) +``` \ No newline at end of file diff --git a/.changeset/olive-dots-jam.md b/.changeset/olive-dots-jam.md new file mode 100644 index 000000000000..996eceb5c065 --- /dev/null +++ b/.changeset/olive-dots-jam.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Fixes the types of `createApp()` exported from `astro/app/entrypoint` diff --git a/.changeset/polite-terms-shop.md b/.changeset/polite-terms-shop.md new file mode 100644 index 000000000000..1f3f58b3067d --- /dev/null +++ b/.changeset/polite-terms-shop.md @@ -0,0 +1,5 @@ +--- +'astro': major +--- + +Deprecates `NodeApp` from `astro/app/node` (Adapter API) - ([v6 upgrade guidance](https://v6.docs.astro.build/en/guides/upgrade-to/v6/#deprecated-nodeapp-from-astroappnode-adapter-api)) diff --git a/benchmark/packages/timer/src/server.ts b/benchmark/packages/timer/src/server.ts index d9f5802cf29a..797d140dc7e3 100644 --- a/benchmark/packages/timer/src/server.ts +++ b/benchmark/packages/timer/src/server.ts @@ -1,16 +1,17 @@ import type { IncomingMessage, ServerResponse } from 'node:http'; -import type { SSRManifest } from 'astro'; -import { NodeApp } from 'astro/app/node'; +import { createApp } from 'astro/app/entrypoint'; +import { createRequest } from 'astro/app/node'; -export function createExports(manifest: SSRManifest) { - const app = new NodeApp(manifest); - return { - handler: async (req: IncomingMessage, res: ServerResponse) => { - const start = performance.now(); - await app.render(req); - const end = performance.now(); - res.write(end - start + ''); - res.end(); - }, - }; +const app = createApp(); + +export async function handler(req: IncomingMessage, res: ServerResponse): Promise { + const start = performance.now(); + await app.render( + createRequest(req, { + allowedDomains: app.manifest.allowedDomains, + }), + ); + const end = performance.now(); + res.write(end - start + ''); + res.end(); } diff --git a/packages/astro/package.json b/packages/astro/package.json index 161d9d923cca..14480932e9b7 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -49,12 +49,12 @@ "./runtime/*": "./dist/runtime/*", "./config": "./dist/config/entrypoint.js", "./container": "./dist/container/index.js", - "./app": "./dist/core/app/index.js", - "./app/node": "./dist/core/app/node.js", - "./app/entrypoint": "./dist/core/app/entrypoint.js", - "./app/entrypoint/dev": "./dist/core/app/entrypoint/dev.js", - "./app/entrypoint/prod": "./dist/core/app/entrypoint/prod.js", - "./app/manifest": "./dist/core/app/manifest.js", + "./app": "./dist/core/app/entrypoints/index.js", + "./app/node": "./dist/core/app/entrypoints/node.js", + "./app/entrypoint": "./dist/core/app/entrypoints/virtual/index.js", + "./app/entrypoint/dev": "./dist/core/app/entrypoints/virtual/dev.js", + "./app/entrypoint/prod": "./dist/core/app/entrypoints/virtual/prod.js", + "./app/manifest": "./dist/core/app/entrypoints/manifest.js", "./entrypoints/prerender": "./dist/entrypoints/prerender.js", "./entrypoints/legacy": "./dist/entrypoints/legacy.js", "./client/*": "./dist/runtime/client/*", diff --git a/packages/astro/src/core/app/entrypoint.ts b/packages/astro/src/core/app/entrypoint.ts deleted file mode 100644 index d5c75e3d9041..000000000000 --- a/packages/astro/src/core/app/entrypoint.ts +++ /dev/null @@ -1 +0,0 @@ -export { createApp } from 'virtual:astro:app'; diff --git a/packages/astro/src/core/app/entrypoints/index.ts b/packages/astro/src/core/app/entrypoints/index.ts new file mode 100644 index 000000000000..63fdafd87d91 --- /dev/null +++ b/packages/astro/src/core/app/entrypoints/index.ts @@ -0,0 +1,13 @@ +export type { RoutesList } from '../../../types/astro.js'; +export { App } from '../app.js'; +export { BaseApp, type RenderErrorOptions, type RenderOptions } from '../base.js'; +export { fromRoutingStrategy, toRoutingStrategy } from '../common.js'; +export { createConsoleLogger } from '../logging.js'; +export { + deserializeManifest, + deserializeRouteData, + deserializeRouteInfo, + serializeRouteData, + serializeRouteInfo, +} from '../manifest.js'; +export { AppPipeline } from '../pipeline.js'; diff --git a/packages/astro/src/core/app/entrypoints/manifest.ts b/packages/astro/src/core/app/entrypoints/manifest.ts new file mode 100644 index 000000000000..f199b51af071 --- /dev/null +++ b/packages/astro/src/core/app/entrypoints/manifest.ts @@ -0,0 +1,8 @@ +export { + type SerializedRouteData, + deserializeManifest, + deserializeRouteData, + deserializeRouteInfo, + serializeRouteData, + serializeRouteInfo, +} from '../manifest.js'; diff --git a/packages/astro/src/core/app/entrypoints/node.ts b/packages/astro/src/core/app/entrypoints/node.ts new file mode 100644 index 000000000000..022735aac6a6 --- /dev/null +++ b/packages/astro/src/core/app/entrypoints/node.ts @@ -0,0 +1 @@ +export { NodeApp, loadApp, loadManifest, createRequest, writeResponse } from '../node.js'; diff --git a/packages/astro/src/core/app/entrypoint/dev.ts b/packages/astro/src/core/app/entrypoints/virtual/dev.ts similarity index 77% rename from packages/astro/src/core/app/entrypoint/dev.ts rename to packages/astro/src/core/app/entrypoints/virtual/dev.ts index 824f31e8e67a..53bf243624c4 100644 --- a/packages/astro/src/core/app/entrypoint/dev.ts +++ b/packages/astro/src/core/app/entrypoints/virtual/dev.ts @@ -1,9 +1,9 @@ import { manifest } from 'virtual:astro:manifest'; -import type { BaseApp } from '../base.js'; -import { DevApp } from '../dev/app.js'; -import { createConsoleLogger } from '../logging.js'; -import type { RouteInfo } from '../types.js'; -import type { RoutesList } from '../../../types/astro.js'; +import type { BaseApp } from '../../base.js'; +import { DevApp } from '../../dev/app.js'; +import { createConsoleLogger } from '../../logging.js'; +import type { RouteInfo } from '../../types.js'; +import type { RoutesList } from '../../../../types/astro.js'; let currentDevApp: DevApp | null = null; diff --git a/packages/astro/src/core/app/entrypoints/virtual/index.ts b/packages/astro/src/core/app/entrypoints/virtual/index.ts new file mode 100644 index 000000000000..88bbdd19485b --- /dev/null +++ b/packages/astro/src/core/app/entrypoints/virtual/index.ts @@ -0,0 +1,4 @@ +import { createApp as _createApp } from 'virtual:astro:app'; +import type { BaseApp } from '../../base.js'; + +export const createApp: () => BaseApp = _createApp; diff --git a/packages/astro/src/core/app/entrypoint/prod.ts b/packages/astro/src/core/app/entrypoints/virtual/prod.ts similarity index 59% rename from packages/astro/src/core/app/entrypoint/prod.ts rename to packages/astro/src/core/app/entrypoints/virtual/prod.ts index 314944c8c32d..75135148e60a 100644 --- a/packages/astro/src/core/app/entrypoint/prod.ts +++ b/packages/astro/src/core/app/entrypoints/virtual/prod.ts @@ -1,6 +1,6 @@ import { manifest } from 'virtual:astro:manifest'; -import type { BaseApp } from '../base.js'; -import { App } from '../app.js'; +import type { BaseApp } from '../../base.js'; +import { App } from '../../app.js'; export function createApp(): BaseApp { return new App(manifest); diff --git a/packages/astro/src/core/app/index.ts b/packages/astro/src/core/app/index.ts deleted file mode 100644 index 6d6307f9e2b1..000000000000 --- a/packages/astro/src/core/app/index.ts +++ /dev/null @@ -1,13 +0,0 @@ -export type { RoutesList } from '../../types/astro.js'; -export { App } from './app.js'; -export { BaseApp, type RenderErrorOptions, type RenderOptions } from './base.js'; -export { fromRoutingStrategy, toRoutingStrategy } from './common.js'; -export { createConsoleLogger } from './logging.js'; -export { - deserializeManifest, - deserializeRouteData, - deserializeRouteInfo, - serializeRouteData, - serializeRouteInfo, -} from './manifest.js'; -export { AppPipeline } from './pipeline.js'; diff --git a/packages/astro/src/core/app/node.ts b/packages/astro/src/core/app/node.ts index e0c4b04d3566..11635e2718ec 100644 --- a/packages/astro/src/core/app/node.ts +++ b/packages/astro/src/core/app/node.ts @@ -6,8 +6,8 @@ import type { RemotePattern } from '../../types/public/config.js'; import { clientAddressSymbol, nodeRequestAbortControllerCleanupSymbol } from '../constants.js'; import { deserializeManifest } from './manifest.js'; import { createOutgoingHttpHeaders } from './createOutgoingHttpHeaders.js'; -import type { RenderOptions } from './index.js'; -import { App } from './index.js'; +import type { RenderOptions } from './base.js'; +import { App } from './app.js'; import type { NodeAppHeadersJson, SerializedSSRManifest, SSRManifest } from './types.js'; import { validateForwardedHeaders, validateHost } from './validate-headers.js'; @@ -19,6 +19,213 @@ interface NodeRequest extends IncomingMessage { body?: unknown; } +/** + * Converts a NodeJS IncomingMessage into a web standard Request. + * ```js + * import { createApp } from 'astro/app/entrypoint'; + * import { createRequest } from 'astro/app/node'; + * import { createServer } from 'node:http'; + * + * const app = createApp(); + * + * const server = createServer(async (req, res) => { + * const request = createRequest(req); + * const response = await app.render(request); + * }) + * ``` + */ +export function createRequest( + req: NodeRequest, + { + skipBody = false, + allowedDomains = [], + }: { skipBody?: boolean; allowedDomains?: Partial[] } = {}, +): Request { + const controller = new AbortController(); + + const isEncrypted = 'encrypted' in req.socket && req.socket.encrypted; + + // Parses multiple header and returns first value if available. + const getFirstForwardedValue = (multiValueHeader?: string | string[]) => { + return multiValueHeader + ?.toString() + ?.split(',') + .map((e) => e.trim())?.[0]; + }; + + const providedProtocol = isEncrypted ? 'https' : 'http'; + const untrustedHostname = req.headers.host ?? req.headers[':authority']; + + // Validate forwarded headers + // NOTE: Header values may have commas/spaces from proxy chains, extract first value + const validated = validateForwardedHeaders( + getFirstForwardedValue(req.headers['x-forwarded-proto']), + getFirstForwardedValue(req.headers['x-forwarded-host']), + getFirstForwardedValue(req.headers['x-forwarded-port']), + allowedDomains, + ); + + const protocol = validated.protocol ?? providedProtocol; + // validated.host is already validated against allowedDomains + // For the Host header, we also need to validate against allowedDomains to prevent SSRF + // The Host header is only trusted if allowedDomains is configured AND the host matches + // Otherwise, fall back to 'localhost' to prevent SSRF attacks + const validatedHostname = validateHost( + typeof untrustedHostname === 'string' ? untrustedHostname : undefined, + protocol, + allowedDomains, + ); + const hostname = validated.host ?? validatedHostname ?? 'localhost'; + const port = validated.port; + + let url: URL; + try { + const hostnamePort = getHostnamePort(hostname, port); + url = new URL(`${protocol}://${hostnamePort}${req.url}`); + } catch { + // Fallback using validated hostname to prevent SSRF + const hostnamePort = getHostnamePort(hostname, port); + url = new URL(`${protocol}://${hostnamePort}`); + } + + const options: RequestInit = { + method: req.method || 'GET', + headers: makeRequestHeaders(req), + signal: controller.signal, + }; + const bodyAllowed = options.method !== 'HEAD' && options.method !== 'GET' && skipBody === false; + if (bodyAllowed) { + Object.assign(options, makeRequestBody(req)); + } + + const request = new Request(url, options); + + const socket = getRequestSocket(req); + if (socket && typeof socket.on === 'function') { + const existingCleanup = getAbortControllerCleanup(req); + if (existingCleanup) { + existingCleanup(); + } + let cleanedUp = false; + + const removeSocketListener = () => { + if (typeof socket.off === 'function') { + socket.off('close', onSocketClose); + } else if (typeof socket.removeListener === 'function') { + socket.removeListener('close', onSocketClose); + } + }; + + const cleanup = () => { + if (cleanedUp) return; + cleanedUp = true; + removeSocketListener(); + controller.signal.removeEventListener('abort', cleanup); + Reflect.deleteProperty(req, nodeRequestAbortControllerCleanupSymbol); + }; + + const onSocketClose = () => { + cleanup(); + if (!controller.signal.aborted) { + controller.abort(); + } + }; + + socket.on('close', onSocketClose); + controller.signal.addEventListener('abort', cleanup, { once: true }); + Reflect.set(req, nodeRequestAbortControllerCleanupSymbol, cleanup); + + if (socket.destroyed) { + onSocketClose(); + } + } + + // Get the IP of end client behind the proxy. + // @example "1.1.1.1,8.8.8.8" => "1.1.1.1" + const forwardedClientIp = getFirstForwardedValue(req.headers['x-forwarded-for']); + const clientIp = forwardedClientIp || req.socket?.remoteAddress; + if (clientIp) { + Reflect.set(request, clientAddressSymbol, clientIp); + } + + return request; +} + +/** + * Streams a web-standard Response into a NodeJS Server Response. + * ```js + * import { createApp } from 'astro/app/entrypoint'; + * import { createRequest, writeResponse } from 'astro/app/node'; + * import { createServer } from 'node:http'; + * + * const app = createApp(); + * + * const server = createServer(async (req, res) => { + * const request = createRequest(req); + * const response = await app.render(request); + * await writeResponse(response, res); + * }) + * ``` + * @param source WhatWG Response + * @param destination NodeJS ServerResponse + */ +export async function writeResponse(source: Response, destination: ServerResponse) { + const { status, headers, body, statusText } = source; + // HTTP/2 doesn't support statusMessage + if (!(destination instanceof Http2ServerResponse)) { + destination.statusMessage = statusText; + } + destination.writeHead(status, createOutgoingHttpHeaders(headers)); + + const cleanupAbortFromDestination = getAbortControllerCleanup( + (destination.req as NodeRequest | undefined) ?? undefined, + ); + if (cleanupAbortFromDestination) { + const runCleanup = () => { + cleanupAbortFromDestination(); + if (typeof destination.off === 'function') { + destination.off('finish', runCleanup); + destination.off('close', runCleanup); + } else { + destination.removeListener?.('finish', runCleanup); + destination.removeListener?.('close', runCleanup); + } + }; + destination.on('finish', runCleanup); + destination.on('close', runCleanup); + } + if (!body) return destination.end(); + try { + const reader = body.getReader(); + destination.on('close', () => { + // Cancelling the reader may reject not just because of + // an error in the ReadableStream's cancel callback, but + // also because of an error anywhere in the stream. + reader.cancel().catch((err) => { + console.error( + `There was an uncaught error in the middle of the stream while rendering ${destination.req.url}.`, + err, + ); + }); + }); + let result = await reader.read(); + while (!result.done) { + destination.write(result.value); + result = await reader.read(); + } + destination.end(); + // the error will be logged by the "on end" callback above + } catch (err) { + destination.write('Internal server error', () => { + err instanceof Error ? destination.destroy(err) : destination.destroy(); + }); + } +} + +/** + * @deprecated Use `App` or `createApp()` instead, and use in conjunction with `convertRequest()` + * and `writeResponse()` helpers. This will be removed in a future major version. + */ export class NodeApp extends App { headersMap: NodeAppHeadersJson | undefined = undefined; @@ -28,7 +235,7 @@ export class NodeApp extends App { match(req: NodeRequest | Request, allowPrerenderedRoutes = false) { if (!(req instanceof Request)) { - req = NodeApp.createRequest(req, { + req = createRequest(req, { skipBody: true, allowedDomains: this.manifest.allowedDomains, }); @@ -38,7 +245,7 @@ export class NodeApp extends App { render(request: NodeRequest | Request, options?: RenderOptions): Promise { if (!(request instanceof Request)) { - request = NodeApp.createRequest(request, { + request = createRequest(request, { allowedDomains: this.manifest.allowedDomains, }); } @@ -58,122 +265,7 @@ export class NodeApp extends App { * }) * ``` */ - static createRequest( - req: NodeRequest, - { - skipBody = false, - allowedDomains = [], - }: { skipBody?: boolean; allowedDomains?: Partial[] } = {}, - ): Request { - const controller = new AbortController(); - - const isEncrypted = 'encrypted' in req.socket && req.socket.encrypted; - - // Parses multiple header and returns first value if available. - const getFirstForwardedValue = (multiValueHeader?: string | string[]) => { - return multiValueHeader - ?.toString() - ?.split(',') - .map((e) => e.trim())?.[0]; - }; - - const providedProtocol = isEncrypted ? 'https' : 'http'; - const untrustedHostname = req.headers.host ?? req.headers[':authority']; - - // Validate forwarded headers - // NOTE: Header values may have commas/spaces from proxy chains, extract first value - const validated = validateForwardedHeaders( - getFirstForwardedValue(req.headers['x-forwarded-proto']), - getFirstForwardedValue(req.headers['x-forwarded-host']), - getFirstForwardedValue(req.headers['x-forwarded-port']), - allowedDomains, - ); - - const protocol = validated.protocol ?? providedProtocol; - // validated.host is already validated against allowedDomains - // For the Host header, we also need to validate against allowedDomains to prevent SSRF - // The Host header is only trusted if allowedDomains is configured AND the host matches - // Otherwise, fall back to 'localhost' to prevent SSRF attacks - const validatedHostname = validateHost( - typeof untrustedHostname === 'string' ? untrustedHostname : undefined, - protocol, - allowedDomains, - ); - const hostname = validated.host ?? validatedHostname ?? 'localhost'; - const port = validated.port; - - let url: URL; - try { - const hostnamePort = getHostnamePort(hostname, port); - url = new URL(`${protocol}://${hostnamePort}${req.url}`); - } catch { - // Fallback using validated hostname to prevent SSRF - const hostnamePort = getHostnamePort(hostname, port); - url = new URL(`${protocol}://${hostnamePort}`); - } - - const options: RequestInit = { - method: req.method || 'GET', - headers: makeRequestHeaders(req), - signal: controller.signal, - }; - const bodyAllowed = options.method !== 'HEAD' && options.method !== 'GET' && skipBody === false; - if (bodyAllowed) { - Object.assign(options, makeRequestBody(req)); - } - - const request = new Request(url, options); - - const socket = getRequestSocket(req); - if (socket && typeof socket.on === 'function') { - const existingCleanup = getAbortControllerCleanup(req); - if (existingCleanup) { - existingCleanup(); - } - let cleanedUp = false; - - const removeSocketListener = () => { - if (typeof socket.off === 'function') { - socket.off('close', onSocketClose); - } else if (typeof socket.removeListener === 'function') { - socket.removeListener('close', onSocketClose); - } - }; - - const cleanup = () => { - if (cleanedUp) return; - cleanedUp = true; - removeSocketListener(); - controller.signal.removeEventListener('abort', cleanup); - Reflect.deleteProperty(req, nodeRequestAbortControllerCleanupSymbol); - }; - - const onSocketClose = () => { - cleanup(); - if (!controller.signal.aborted) { - controller.abort(); - } - }; - - socket.on('close', onSocketClose); - controller.signal.addEventListener('abort', cleanup, { once: true }); - Reflect.set(req, nodeRequestAbortControllerCleanupSymbol, cleanup); - - if (socket.destroyed) { - onSocketClose(); - } - } - - // Get the IP of end client behind the proxy. - // @example "1.1.1.1,8.8.8.8" => "1.1.1.1" - const forwardedClientIp = getFirstForwardedValue(req.headers['x-forwarded-for']); - const clientIp = forwardedClientIp || req.socket?.remoteAddress; - if (clientIp) { - Reflect.set(request, clientAddressSymbol, clientIp); - } - - return request; - } + static createRequest = createRequest; /** * Streams a web-standard Response into a NodeJS Server Response. @@ -190,58 +282,7 @@ export class NodeApp extends App { * @param source WhatWG Response * @param destination NodeJS ServerResponse */ - static async writeResponse(source: Response, destination: ServerResponse) { - const { status, headers, body, statusText } = source; - // HTTP/2 doesn't support statusMessage - if (!(destination instanceof Http2ServerResponse)) { - destination.statusMessage = statusText; - } - destination.writeHead(status, createOutgoingHttpHeaders(headers)); - - const cleanupAbortFromDestination = getAbortControllerCleanup( - (destination.req as NodeRequest | undefined) ?? undefined, - ); - if (cleanupAbortFromDestination) { - const runCleanup = () => { - cleanupAbortFromDestination(); - if (typeof destination.off === 'function') { - destination.off('finish', runCleanup); - destination.off('close', runCleanup); - } else { - destination.removeListener?.('finish', runCleanup); - destination.removeListener?.('close', runCleanup); - } - }; - destination.on('finish', runCleanup); - destination.on('close', runCleanup); - } - if (!body) return destination.end(); - try { - const reader = body.getReader(); - destination.on('close', () => { - // Cancelling the reader may reject not just because of - // an error in the ReadableStream's cancel callback, but - // also because of an error anywhere in the stream. - reader.cancel().catch((err) => { - console.error( - `There was an uncaught error in the middle of the stream while rendering ${destination.req.url}.`, - err, - ); - }); - }); - let result = await reader.read(); - while (!result.done) { - destination.write(result.value); - result = await reader.read(); - } - destination.end(); - // the error will be logged by the "on end" callback above - } catch (err) { - destination.write('Internal server error', () => { - err instanceof Error ? destination.destroy(err) : destination.destroy(); - }); - } - } + static writeResponse = writeResponse; } function getHostnamePort(hostname: string | string[] | undefined, port?: string): string { @@ -322,6 +363,7 @@ function getRequestSocket(req: NodeRequest): Socket | undefined { return undefined; } +/** @deprecated This will be removed in a future major version. */ export async function loadManifest(rootFolder: URL): Promise { const manifestFile = new URL('./manifest.json', rootFolder); const rawManifest = await fs.promises.readFile(manifestFile, 'utf-8'); @@ -329,6 +371,7 @@ export async function loadManifest(rootFolder: URL): Promise { return deserializeManifest(serializedManifest); } +/** @deprecated This will be removed in a future major version. */ export async function loadApp(rootFolder: URL): Promise { const manifest = await loadManifest(rootFolder); return new NodeApp(manifest); diff --git a/packages/astro/src/core/app/types.ts b/packages/astro/src/core/app/types.ts index bc5ccfecc304..e56a6445a586 100644 --- a/packages/astro/src/core/app/types.ts +++ b/packages/astro/src/core/app/types.ts @@ -197,6 +197,7 @@ export type SerializedSSRManifest = Omit< key: string; }; +/** @deprecated This will be removed in a future major version. */ export type NodeAppHeadersJson = { pathname: string; headers: { diff --git a/packages/astro/src/core/build/app.ts b/packages/astro/src/core/build/app.ts index 6bda9d6883e8..92900bbc80fd 100644 --- a/packages/astro/src/core/build/app.ts +++ b/packages/astro/src/core/build/app.ts @@ -1,4 +1,4 @@ -import { BaseApp, type RenderErrorOptions } from '../app/index.js'; +import { BaseApp, type RenderErrorOptions } from '../app/entrypoints/index.js'; import type { SSRManifest } from '../app/types.js'; import type { BuildInternals } from './internal.js'; import { BuildPipeline } from './pipeline.js'; diff --git a/packages/astro/src/core/build/pipeline.ts b/packages/astro/src/core/build/pipeline.ts index bcf1af3d3138..5e835607d389 100644 --- a/packages/astro/src/core/build/pipeline.ts +++ b/packages/astro/src/core/build/pipeline.ts @@ -4,7 +4,7 @@ import type { RouteData, SSRElement, SSRResult } from '../../types/public/intern import { VIRTUAL_PAGE_RESOLVED_MODULE_ID } from '../../vite-plugin-pages/const.js'; import { getVirtualModulePageName } from '../../vite-plugin-pages/util.js'; import { BEFORE_HYDRATION_SCRIPT_ID, PAGE_SCRIPT_ID } from '../../vite-plugin-scripts/index.js'; -import { createConsoleLogger } from '../app/index.js'; +import { createConsoleLogger } from '../app/entrypoints/index.js'; import type { SSRManifest } from '../app/types.js'; import type { TryRewriteResult } from '../base-pipeline.js'; import { RedirectSinglePageBuiltModule } from '../redirects/component.js'; diff --git a/packages/astro/src/core/build/plugins/plugin-manifest.ts b/packages/astro/src/core/build/plugins/plugin-manifest.ts index 5aab13b876e4..8ef56913e876 100644 --- a/packages/astro/src/core/build/plugins/plugin-manifest.ts +++ b/packages/astro/src/core/build/plugins/plugin-manifest.ts @@ -7,7 +7,7 @@ import { SERIALIZED_MANIFEST_RESOLVED_ID } from '../../../manifest/serialized.js import type { ExtractedChunk } from '../static-build.js'; import { BEFORE_HYDRATION_SCRIPT_ID, PAGE_SCRIPT_ID } from '../../../vite-plugin-scripts/index.js'; import { toFallbackType } from '../../app/common.js'; -import { serializeRouteData, toRoutingStrategy } from '../../app/index.js'; +import { serializeRouteData, toRoutingStrategy } from '../../app/entrypoints/index.js'; import type { SerializedRouteInfo, SerializedSSRManifest, diff --git a/packages/astro/src/core/routing/manifest/create.ts b/packages/astro/src/core/routing/manifest/create.ts index 3cba6332f5e4..64d4d724348d 100644 --- a/packages/astro/src/core/routing/manifest/create.ts +++ b/packages/astro/src/core/routing/manifest/create.ts @@ -10,7 +10,7 @@ import { getPrerenderDefault } from '../../../prerender/utils.js'; import type { AstroSettings, RoutesList } from '../../../types/astro.js'; import type { AstroConfig } from '../../../types/public/config.js'; import type { RouteData, RoutePart } from '../../../types/public/internal.js'; -import { toRoutingStrategy } from '../../app/index.js'; +import { toRoutingStrategy } from '../../app/entrypoints/index.js'; import { SUPPORTED_MARKDOWN_FILE_EXTENSIONS } from '../../constants.js'; import { InvalidRedirectDestination, diff --git a/packages/astro/src/manifest/serialized.ts b/packages/astro/src/manifest/serialized.ts index 1837d95828ad..8560496147e4 100644 --- a/packages/astro/src/manifest/serialized.ts +++ b/packages/astro/src/manifest/serialized.ts @@ -1,7 +1,7 @@ import type { Plugin, ViteDevServer } from 'vite'; import { ACTIONS_ENTRYPOINT_VIRTUAL_MODULE_ID } from '../actions/consts.js'; import { toFallbackType } from '../core/app/common.js'; -import { toRoutingStrategy } from '../core/app/index.js'; +import { toRoutingStrategy } from '../core/app/entrypoints/index.js'; import type { SerializedSSRManifest, SSRManifestCSP, SSRManifestI18n } from '../core/app/types.js'; import { MANIFEST_REPLACE } from '../core/build/plugins/plugin-manifest.js'; import { diff --git a/packages/astro/src/virtual-modules/i18n.ts b/packages/astro/src/virtual-modules/i18n.ts index 48e714dfd5ca..e736381f8ad9 100644 --- a/packages/astro/src/virtual-modules/i18n.ts +++ b/packages/astro/src/virtual-modules/i18n.ts @@ -1,7 +1,7 @@ // @ts-expect-error This is an internal module import * as config from 'astro:config/server'; import { toFallbackType } from '../core/app/common.js'; -import { toRoutingStrategy } from '../core/app/index.js'; +import { toRoutingStrategy } from '../core/app/entrypoints/index.js'; import type { SSRManifest } from '../core/app/types.js'; import { IncorrectStrategyForI18n, diff --git a/packages/astro/src/vite-plugin-app/app.ts b/packages/astro/src/vite-plugin-app/app.ts index 086367a62558..bb2258ddcd4a 100644 --- a/packages/astro/src/vite-plugin-app/app.ts +++ b/packages/astro/src/vite-plugin-app/app.ts @@ -1,6 +1,6 @@ import type http from 'node:http'; import { removeTrailingForwardSlash } from '@astrojs/internal-helpers/path'; -import { BaseApp, type RenderErrorOptions } from '../core/app/index.js'; +import { BaseApp, type RenderErrorOptions } from '../core/app/entrypoints/index.js'; import { shouldAppendForwardSlash } from '../core/build/util.js'; import { clientLocalsSymbol } from '../core/constants.js'; import { diff --git a/packages/astro/src/vite-plugin-astro-server/plugin.ts b/packages/astro/src/vite-plugin-astro-server/plugin.ts index 91edffe613e5..1ab92fc2e69f 100644 --- a/packages/astro/src/vite-plugin-astro-server/plugin.ts +++ b/packages/astro/src/vite-plugin-astro-server/plugin.ts @@ -3,7 +3,7 @@ import { IncomingMessage } from 'node:http'; import type * as vite from 'vite'; import { isRunnableDevEnvironment, type RunnableDevEnvironment } from 'vite'; import { toFallbackType } from '../core/app/common.js'; -import { toRoutingStrategy } from '../core/app/index.js'; +import { toRoutingStrategy } from '../core/app/entrypoints/index.js'; import type { SSRManifest, SSRManifestCSP, SSRManifestI18n } from '../core/app/types.js'; import { ASTRO_VITE_ENVIRONMENT_NAMES } from '../core/constants.js'; import { diff --git a/packages/astro/src/vite-plugin-routes/index.ts b/packages/astro/src/vite-plugin-routes/index.ts index 68cd74721c6a..5161154905a6 100644 --- a/packages/astro/src/vite-plugin-routes/index.ts +++ b/packages/astro/src/vite-plugin-routes/index.ts @@ -3,7 +3,7 @@ import { extname } from 'node:path'; import { fileURLToPath, pathToFileURL } from 'node:url'; import colors from 'piccolore'; import { normalizePath, type Plugin, type ViteDevServer } from 'vite'; -import { serializeRouteData } from '../core/app/index.js'; +import { serializeRouteData } from '../core/app/entrypoints/index.js'; import type { SerializedRouteInfo } from '../core/app/types.js'; import { warnMissingAdapter } from '../core/dev/adapter-validation.js'; import type { Logger } from '../core/logger/core.js'; diff --git a/packages/astro/test/astro-global.test.js b/packages/astro/test/astro-global.test.js index 9ee3ab9ee9fb..21dfea26e181 100644 --- a/packages/astro/test/astro-global.test.js +++ b/packages/astro/test/astro-global.test.js @@ -141,7 +141,7 @@ describe('Astro Global', () => { }); describe('app', () => { - /** @type {import('../dist/core/app/index.js').App} */ + /** @type {import('../dist/core/app/app.js').App} */ let app; before(async () => { diff --git a/packages/astro/test/middleware.test.js b/packages/astro/test/middleware.test.js index 6f029f9b7cc6..c47d1604618f 100644 --- a/packages/astro/test/middleware.test.js +++ b/packages/astro/test/middleware.test.js @@ -225,7 +225,7 @@ describe('Middleware API in PROD mode, SSR', () => { /** @type {import('./test-utils').Fixture} */ let fixture; let middlewarePath; - /** @type {import('../src/core/app/index').App} */ + /** @type {import('../src/core/app/app.js').App} */ let app; before(async () => { diff --git a/packages/astro/test/sessions.test.js b/packages/astro/test/sessions.test.js index c48d1c03f31f..b65201e43d60 100644 --- a/packages/astro/test/sessions.test.js +++ b/packages/astro/test/sessions.test.js @@ -8,7 +8,7 @@ describe('Astro.session', () => { describe('Production', () => { /** @type {import('./test-utils').Fixture} */ let fixture; - /** @type {import('../src/core/app/index').App} response */ + /** @type {import('../src/core/app/app.js').App} response */ let app; before(async () => { diff --git a/packages/astro/test/test-utils.js b/packages/astro/test/test-utils.js index c455be231a08..f6b7cff026a8 100644 --- a/packages/astro/test/test-utils.js +++ b/packages/astro/test/test-utils.js @@ -22,7 +22,7 @@ process.env.ASTRO_TELEMETRY_DISABLED = true; * @typedef {Omit & { root?: string | URL }} AstroInlineConfig * @typedef {import('../src/types/public/config.js').AstroConfig} AstroConfig * @typedef {import('../src/core/preview/index').PreviewServer} PreviewServer - * @typedef {import('../src/core/app/index').App} App + * @typedef {import('../src/core/app/app.js').App} App * @typedef {import('../src/cli/check/index').AstroChecker} AstroChecker * @typedef {import('../src/cli/check/index').CheckPayload} CheckPayload * @typedef {import('http').IncomingMessage} NodeRequest diff --git a/packages/astro/test/units/app/node.test.js b/packages/astro/test/units/app/node.test.js index 33dbd6f3663c..f461e13d3e09 100644 --- a/packages/astro/test/units/app/node.test.js +++ b/packages/astro/test/units/app/node.test.js @@ -1,7 +1,7 @@ import * as assert from 'node:assert/strict'; import { EventEmitter } from 'node:events'; import { describe, it } from 'node:test'; -import { NodeApp } from '../../../dist/core/app/node.js'; +import { createRequest, writeResponse } from '../../../dist/core/app/node.js'; const mockNodeRequest = { url: '/', @@ -15,11 +15,11 @@ const mockNodeRequest = { }, }; -describe('NodeApp', () => { +describe('node', () => { describe('createRequest', () => { describe('x-forwarded-for', () => { it('parses client IP from single-value x-forwarded-for header', () => { - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, headers: { 'x-forwarded-for': '1.1.1.1', @@ -29,7 +29,7 @@ describe('NodeApp', () => { }); it('parses client IP from multi-value x-forwarded-for header', () => { - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, headers: { 'x-forwarded-for': '1.1.1.1,8.8.8.8', @@ -39,7 +39,7 @@ describe('NodeApp', () => { }); it('parses client IP from multi-value x-forwarded-for header with spaces', () => { - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, headers: { 'x-forwarded-for': ' 1.1.1.1, 8.8.8.8, 8.8.8.2', @@ -49,7 +49,7 @@ describe('NodeApp', () => { }); it('fallbacks to remoteAddress when no x-forwarded-for header is present', () => { - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, headers: {}, }); @@ -59,7 +59,7 @@ describe('NodeApp', () => { describe('x-forwarded-host', () => { it('parses host from single-value x-forwarded-host header', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -72,7 +72,7 @@ describe('NodeApp', () => { }); it('parses host from multi-value x-forwarded-host header', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -85,7 +85,7 @@ describe('NodeApp', () => { }); it('fallbacks to host header when no x-forwarded-host header is present', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -98,7 +98,7 @@ describe('NodeApp', () => { }); it('bad values are ignored and fallback to host header', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -112,7 +112,7 @@ describe('NodeApp', () => { }); it('rejects empty x-forwarded-host and falls back to host header', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -126,7 +126,7 @@ describe('NodeApp', () => { }); it('rejects x-forwarded-host with no dots (e.g. localhost) against single wildcard pattern', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -141,7 +141,7 @@ describe('NodeApp', () => { }); it('rejects x-forwarded-host with path separator (path injection attempt)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -156,7 +156,7 @@ describe('NodeApp', () => { }); it('rejects x-forwarded-host with multiple path segments', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -171,7 +171,7 @@ describe('NodeApp', () => { }); it('rejects x-forwarded-host with backslash path separator (path injection attempt)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -186,7 +186,7 @@ describe('NodeApp', () => { }); it('parses x-forwarded-host with embedded port when allowedDomains has port pattern', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -202,7 +202,7 @@ describe('NodeApp', () => { }); it('rejects Host header with path separator (path injection attempt)', () => { - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, headers: { host: 'example.com/admin', @@ -213,7 +213,7 @@ describe('NodeApp', () => { }); it('rejects Host header with backslash path separator (path injection attempt)', () => { - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, headers: { host: 'example.com\\admin', @@ -225,7 +225,7 @@ describe('NodeApp', () => { describe('Host header validation', () => { it('rejects Host header when allowedDomains is configured but host does not match', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -239,7 +239,7 @@ describe('NodeApp', () => { }); it('accepts Host header when it matches allowedDomains', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -252,7 +252,7 @@ describe('NodeApp', () => { }); it('accepts Host header with port when it matches allowedDomains pattern', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -265,7 +265,7 @@ describe('NodeApp', () => { }); it('accepts Host header with wildcard pattern in allowedDomains', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -278,7 +278,7 @@ describe('NodeApp', () => { }); it('falls back to localhost when no allowedDomains is configured', () => { - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, headers: { host: 'any-host.com', @@ -289,7 +289,7 @@ describe('NodeApp', () => { }); it('falls back to localhost when allowedDomains is empty', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -303,7 +303,7 @@ describe('NodeApp', () => { }); it('prefers x-forwarded-host over Host header when both match allowedDomains', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -319,7 +319,7 @@ describe('NodeApp', () => { describe('x-forwarded-proto', () => { it('parses protocol from single-value x-forwarded-proto header', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -334,7 +334,7 @@ describe('NodeApp', () => { }); it('parses protocol from multi-value x-forwarded-proto header', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -349,7 +349,7 @@ describe('NodeApp', () => { }); it('fallbacks to encrypted property when no x-forwarded-proto header is present', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -362,7 +362,7 @@ describe('NodeApp', () => { }); it('rejects malicious x-forwarded-proto with URL injection (https://www.malicious-url.com/?tank=)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -376,7 +376,7 @@ describe('NodeApp', () => { }); it('rejects malicious x-forwarded-proto with middleware bypass attempt (x:admin?)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -390,7 +390,7 @@ describe('NodeApp', () => { }); it('rejects malicious x-forwarded-proto with cache poison attempt (https://localhost/vulnerable?)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -404,7 +404,7 @@ describe('NodeApp', () => { }); it('rejects malicious x-forwarded-proto with XSS attempt (javascript:alert(document.cookie)//)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -418,7 +418,7 @@ describe('NodeApp', () => { }); it('rejects empty x-forwarded-proto and falls back to encrypted property', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -434,7 +434,7 @@ describe('NodeApp', () => { describe('x-forwarded-port', () => { it('parses port from single-value x-forwarded-port header (with allowedDomains)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -453,7 +453,7 @@ describe('NodeApp', () => { }); it('parses port from multi-value x-forwarded-port header (with allowedDomains)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -472,7 +472,7 @@ describe('NodeApp', () => { }); it('rejects x-forwarded-port without allowedDomains patterns (strict security default)', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -486,7 +486,7 @@ describe('NodeApp', () => { }); it('prefers port from host', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -500,7 +500,7 @@ describe('NodeApp', () => { }); it('uses port embedded in x-forwarded-host', () => { - const result = NodeApp.createRequest( + const result = createRequest( { ...mockNodeRequest, headers: { @@ -521,7 +521,7 @@ describe('NodeApp', () => { socket.encrypted = true; socket.remoteAddress = '2.2.2.2'; socket.destroyed = false; - const result = NodeApp.createRequest({ + const result = createRequest({ ...mockNodeRequest, socket, }); @@ -540,13 +540,13 @@ describe('NodeApp', () => { ...mockNodeRequest, socket, }; - const result = NodeApp.createRequest(nodeRequest); + const result = createRequest(nodeRequest); assert.equal(typeof result.signal.addEventListener, 'function'); assert.equal(socket.listenerCount('close') > 0, true); const response = new Response('ok'); const destination = new MockServerResponse(nodeRequest); - await NodeApp.writeResponse(response, destination); + await writeResponse(response, destination); assert.equal(result.signal.aborted, false); assert.equal(socket.listenerCount('close'), 0); From c6c62bc0e68a88bc37360d3cdbeeeff28f7b3f50 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 16 Feb 2026 15:31:57 +0000 Subject: [PATCH 4/9] [ci] format --- packages/astro/src/core/app/node.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/astro/src/core/app/node.ts b/packages/astro/src/core/app/node.ts index 11635e2718ec..716ec5205f76 100644 --- a/packages/astro/src/core/app/node.ts +++ b/packages/astro/src/core/app/node.ts @@ -159,7 +159,7 @@ export function createRequest( * import { createServer } from 'node:http'; * * const app = createApp(); - * + * * const server = createServer(async (req, res) => { * const request = createRequest(req); * const response = await app.render(request); From 478816e1fdc975e5939d8f5b8dc75056220653ca Mon Sep 17 00:00:00 2001 From: "Houston (Bot)" <108291165+astrobot-houston@users.noreply.github.com> Date: Mon, 16 Feb 2026 07:44:09 -0800 Subject: [PATCH 5/9] [ci] release (beta) (#15481) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/pre.json | 17 +++++ examples/basics/package.json | 2 +- examples/blog/package.json | 2 +- examples/component/package.json | 2 +- examples/container-with-vitest/package.json | 2 +- examples/framework-alpine/package.json | 2 +- examples/framework-multiple/package.json | 2 +- examples/framework-preact/package.json | 2 +- examples/framework-react/package.json | 2 +- examples/framework-solid/package.json | 2 +- examples/framework-svelte/package.json | 2 +- examples/framework-vue/package.json | 2 +- examples/hackernews/package.json | 2 +- examples/integration/package.json | 2 +- examples/minimal/package.json | 2 +- examples/portfolio/package.json | 2 +- examples/ssr/package.json | 2 +- examples/starlog/package.json | 2 +- examples/toolbar-app/package.json | 2 +- examples/with-markdoc/package.json | 4 +- examples/with-mdx/package.json | 2 +- examples/with-nanostores/package.json | 2 +- examples/with-tailwindcss/package.json | 2 +- examples/with-vitest/package.json | 2 +- packages/astro/CHANGELOG.md | 76 +++++++++++++++++++ packages/astro/package.json | 2 +- packages/db/CHANGELOG.md | 6 ++ packages/db/package.json | 2 +- packages/integrations/cloudflare/CHANGELOG.md | 15 ++++ packages/integrations/cloudflare/package.json | 2 +- packages/integrations/markdoc/CHANGELOG.md | 10 +++ packages/integrations/markdoc/package.json | 2 +- packages/integrations/netlify/CHANGELOG.md | 9 +++ packages/integrations/netlify/package.json | 2 +- packages/integrations/vercel/CHANGELOG.md | 6 ++ packages/integrations/vercel/package.json | 2 +- packages/language-tools/vscode/CHANGELOG.md | 6 ++ packages/language-tools/vscode/package.json | 2 +- pnpm-lock.yaml | 60 ++++++--------- 39 files changed, 200 insertions(+), 67 deletions(-) diff --git a/.changeset/pre.json b/.changeset/pre.json index b0b4907d559e..a3737e9890a2 100644 --- a/.changeset/pre.json +++ b/.changeset/pre.json @@ -51,10 +51,13 @@ "beta-tag-solid", "beta-tag-upgrade", "better-redirect-error", + "big-cups-drive", "big-forks-lead", + "big-laws-dig", "bold-ghosts-sink", "bright-parrots-hear", "bright-pens-dance", + "bright-symbols-see", "bright-worlds-juggle", "brown-beds-pay", "busy-actors-follow", @@ -91,7 +94,9 @@ "fancy-bananas-sing", "fast-bushes-fall", "fifty-dingos-study", + "fix-content-hmr", "fix-create-astro-registry-hang", + "fix-markdoc-table-attributes", "fix-mdx-slot-hydration", "fix-preact-cloudflare-hooks", "fix-rewrite-non-ascii-paths", @@ -111,6 +116,7 @@ "funny-planes-lick", "giant-areas-press", "good-camels-pull", + "good-clubs-cover", "great-nails-brake", "green-garlics-heal", "grumpy-tables-serve", @@ -132,8 +138,10 @@ "late-carrots-cough", "late-spiders-change", "legacy-collections-backwards-compat-docs", + "light-parrots-find", "long-trams-see", "lovely-mice-sniff", + "lowercase-style-tags", "many-banks-hammer", "markdoc-emit-client-asset", "markdoc-emit-image-metadata", @@ -145,13 +153,16 @@ "new-beans-obey", "nice-clouds-pull", "old-donuts-visit", + "olive-dots-jam", "open-days-watch", "open-monkeys-boil", "optional-wrangler-config", + "polite-terms-shop", "pretty-forks-smash", "proud-pans-change", "public-files-priority", "public-lemons-mate", + "puny-dragons-fail", "puny-poems-create", "quick-dingos-itch", "quiet-cars-burn", @@ -161,9 +172,11 @@ "render-markdown-file-url", "render-markdown-frontmatter", "rich-horses-begin", + "ripe-nights-feel", "route-data-breaking", "sad-lines-hear", "sad-teams-end", + "short-pears-hammer", "shy-cats-grin", "six-women-visit", "sixty-deer-fold", @@ -183,12 +196,14 @@ "sql-import-fix", "ssr-manifest-breaking", "stale-ads-see", + "static-output-cloudflare", "strict-regions-drop", "strong-islands-say", "strong-wolves-march", "sweet-buttons-jam", "swift-planets-swim", "tall-needles-cross", + "tall-worms-live", "tangy-days-wink", "tangy-years-grin", "tender-bats-tan", @@ -200,6 +215,7 @@ "tricky-donkeys-camp", "true-bats-punch", "true-dingos-attack", + "upset-dodos-rhyme", "vite-environments-breaking", "vite-plugin-react-v5", "vite-plugin-vue-v6", @@ -209,6 +225,7 @@ "whole-geckos-think", "wrangler-main-field", "young-banks-camp", + "young-pandas-talk", "yummy-peas-carry" ] } diff --git a/examples/basics/package.json b/examples/basics/package.json index d3d0fe62e1ed..e28fdb8e2817 100644 --- a/examples/basics/package.json +++ b/examples/basics/package.json @@ -13,6 +13,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" } } diff --git a/examples/blog/package.json b/examples/blog/package.json index 0b78ebe10970..a9330ce13076 100644 --- a/examples/blog/package.json +++ b/examples/blog/package.json @@ -16,7 +16,7 @@ "@astrojs/mdx": "^5.0.0-beta.7", "@astrojs/rss": "^4.0.15-beta.3", "@astrojs/sitemap": "^3.6.1-beta.3", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "sharp": "^0.34.3" } } diff --git a/examples/component/package.json b/examples/component/package.json index b4daaaac1fde..91a72ae1bed0 100644 --- a/examples/component/package.json +++ b/examples/component/package.json @@ -18,7 +18,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" }, "peerDependencies": { "astro": "^5.0.0 || ^6.0.0" diff --git a/examples/container-with-vitest/package.json b/examples/container-with-vitest/package.json index fa99e42ed9df..052be2638d89 100644 --- a/examples/container-with-vitest/package.json +++ b/examples/container-with-vitest/package.json @@ -15,7 +15,7 @@ }, "dependencies": { "@astrojs/react": "^5.0.0-beta.3", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "react": "^18.3.1", "react-dom": "^18.3.1", "vitest": "^3.2.4" diff --git a/examples/framework-alpine/package.json b/examples/framework-alpine/package.json index 010815ed11eb..225227a50511 100644 --- a/examples/framework-alpine/package.json +++ b/examples/framework-alpine/package.json @@ -16,6 +16,6 @@ "@astrojs/alpinejs": "^0.5.0-beta.1", "@types/alpinejs": "^3.13.11", "alpinejs": "^3.15.8", - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" } } diff --git a/examples/framework-multiple/package.json b/examples/framework-multiple/package.json index 8bfbb7bf5e74..81ca8e4c081e 100644 --- a/examples/framework-multiple/package.json +++ b/examples/framework-multiple/package.json @@ -20,7 +20,7 @@ "@astrojs/vue": "^6.0.0-beta.1", "@types/react": "^18.3.28", "@types/react-dom": "^18.3.7", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "preact": "^10.28.3", "react": "^18.3.1", "react-dom": "^18.3.1", diff --git a/examples/framework-preact/package.json b/examples/framework-preact/package.json index cde296373e4f..a963ff23f0a0 100644 --- a/examples/framework-preact/package.json +++ b/examples/framework-preact/package.json @@ -15,7 +15,7 @@ "dependencies": { "@astrojs/preact": "^5.0.0-beta.3", "@preact/signals": "^2.7.1", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "preact": "^10.28.3" } } diff --git a/examples/framework-react/package.json b/examples/framework-react/package.json index 242f4b14c2fa..b11ecccc69e2 100644 --- a/examples/framework-react/package.json +++ b/examples/framework-react/package.json @@ -16,7 +16,7 @@ "@astrojs/react": "^5.0.0-beta.3", "@types/react": "^18.3.28", "@types/react-dom": "^18.3.7", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "react": "^18.3.1", "react-dom": "^18.3.1" } diff --git a/examples/framework-solid/package.json b/examples/framework-solid/package.json index 2a05aba9f9f9..0c4d6ad835ed 100644 --- a/examples/framework-solid/package.json +++ b/examples/framework-solid/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@astrojs/solid-js": "^6.0.0-beta.2", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "solid-js": "^1.9.11" } } diff --git a/examples/framework-svelte/package.json b/examples/framework-svelte/package.json index b49bb482b4b9..e87cfe53cad8 100644 --- a/examples/framework-svelte/package.json +++ b/examples/framework-svelte/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@astrojs/svelte": "^8.0.0-beta.2", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "svelte": "^5.50.3" } } diff --git a/examples/framework-vue/package.json b/examples/framework-vue/package.json index de7d4dca378e..bc8e48cee290 100644 --- a/examples/framework-vue/package.json +++ b/examples/framework-vue/package.json @@ -14,7 +14,7 @@ }, "dependencies": { "@astrojs/vue": "^6.0.0-beta.1", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "vue": "^3.5.28" } } diff --git a/examples/hackernews/package.json b/examples/hackernews/package.json index 01a2f0edcfe4..60466223c2a3 100644 --- a/examples/hackernews/package.json +++ b/examples/hackernews/package.json @@ -14,6 +14,6 @@ }, "dependencies": { "@astrojs/node": "^10.0.0-beta.4", - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" } } diff --git a/examples/integration/package.json b/examples/integration/package.json index 1519ca026129..c25d9e396058 100644 --- a/examples/integration/package.json +++ b/examples/integration/package.json @@ -18,7 +18,7 @@ ], "scripts": {}, "devDependencies": { - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" }, "peerDependencies": { "astro": "^4.0.0" diff --git a/examples/minimal/package.json b/examples/minimal/package.json index 4d794d270d3c..aa7cb6b9b121 100644 --- a/examples/minimal/package.json +++ b/examples/minimal/package.json @@ -13,6 +13,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" } } diff --git a/examples/portfolio/package.json b/examples/portfolio/package.json index de52005f672a..946940e7de07 100644 --- a/examples/portfolio/package.json +++ b/examples/portfolio/package.json @@ -13,6 +13,6 @@ "astro": "astro" }, "dependencies": { - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" } } diff --git a/examples/ssr/package.json b/examples/ssr/package.json index 48bcc13d7f36..5ab6df5dba5a 100644 --- a/examples/ssr/package.json +++ b/examples/ssr/package.json @@ -16,7 +16,7 @@ "dependencies": { "@astrojs/node": "^10.0.0-beta.4", "@astrojs/svelte": "^8.0.0-beta.2", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "svelte": "^5.50.3" } } diff --git a/examples/starlog/package.json b/examples/starlog/package.json index 52b8dd834e6c..834107c6010f 100644 --- a/examples/starlog/package.json +++ b/examples/starlog/package.json @@ -9,7 +9,7 @@ "astro": "astro" }, "dependencies": { - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "sass": "^1.97.3", "sharp": "^0.34.3" }, diff --git a/examples/toolbar-app/package.json b/examples/toolbar-app/package.json index a22ccfa9fe85..63a2b2164c62 100644 --- a/examples/toolbar-app/package.json +++ b/examples/toolbar-app/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@types/node": "^18.17.8", - "astro": "^6.0.0-beta.11" + "astro": "^6.0.0-beta.12" }, "engines": { "node": ">=22.12.0" diff --git a/examples/with-markdoc/package.json b/examples/with-markdoc/package.json index 9fe5dd94c404..770cef6479d3 100644 --- a/examples/with-markdoc/package.json +++ b/examples/with-markdoc/package.json @@ -13,7 +13,7 @@ "astro": "astro" }, "dependencies": { - "@astrojs/markdoc": "^1.0.0-beta.9", - "astro": "^6.0.0-beta.11" + "@astrojs/markdoc": "^1.0.0-beta.10", + "astro": "^6.0.0-beta.12" } } diff --git a/examples/with-mdx/package.json b/examples/with-mdx/package.json index 1feaffe0f6fe..d1c1e1860736 100644 --- a/examples/with-mdx/package.json +++ b/examples/with-mdx/package.json @@ -15,7 +15,7 @@ "dependencies": { "@astrojs/mdx": "^5.0.0-beta.7", "@astrojs/preact": "^5.0.0-beta.3", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "preact": "^10.28.3" } } diff --git a/examples/with-nanostores/package.json b/examples/with-nanostores/package.json index d0a7b8bf492a..eaefb196c692 100644 --- a/examples/with-nanostores/package.json +++ b/examples/with-nanostores/package.json @@ -15,7 +15,7 @@ "dependencies": { "@astrojs/preact": "^5.0.0-beta.3", "@nanostores/preact": "^1.0.0", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "nanostores": "^1.1.0", "preact": "^10.28.3" } diff --git a/examples/with-tailwindcss/package.json b/examples/with-tailwindcss/package.json index 8591a85fdbcf..8efd75c50959 100644 --- a/examples/with-tailwindcss/package.json +++ b/examples/with-tailwindcss/package.json @@ -16,7 +16,7 @@ "@astrojs/mdx": "^5.0.0-beta.7", "@tailwindcss/vite": "^4.1.18", "@types/canvas-confetti": "^1.9.0", - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "canvas-confetti": "^1.9.4", "tailwindcss": "^4.1.18" } diff --git a/examples/with-vitest/package.json b/examples/with-vitest/package.json index a0febc1c1b23..43cd504d7eac 100644 --- a/examples/with-vitest/package.json +++ b/examples/with-vitest/package.json @@ -14,7 +14,7 @@ "test": "vitest" }, "dependencies": { - "astro": "^6.0.0-beta.11", + "astro": "^6.0.0-beta.12", "vitest": "^3.2.4" } } diff --git a/packages/astro/CHANGELOG.md b/packages/astro/CHANGELOG.md index 9da463098440..a64a0f79b4df 100644 --- a/packages/astro/CHANGELOG.md +++ b/packages/astro/CHANGELOG.md @@ -1,5 +1,81 @@ # astro +## 6.0.0-beta.12 + +### Major Changes + +- [#15535](https://github.com/withastro/astro/pull/15535) [`dfe2e22`](https://github.com/withastro/astro/commit/dfe2e22042f92172442ab32777b3cce90685b76a) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Deprecates `loadManifest()` and `loadApp()` from `astro/app/node` (Adapter API) - ([v6 upgrade guidance](https://v6.docs.astro.build/en/guides/upgrade-to/v6/#deprecated-loadmanifest-and-loadapp-from-astroappnode-adapter-api)) + +- [#15461](https://github.com/withastro/astro/pull/15461) [`9f21b24`](https://github.com/withastro/astro/commit/9f21b243d21478cdc5fb0193e05adad8e753839f) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - **BREAKING CHANGE to the v6 beta Adapter API only**: renames `entryType` to `entrypointResolution` and updates possible values + + Astro 6 introduced a way to let adapters have more control over the entrypoint by passing `entryType: 'self'` to `setAdapter()`. However during beta development, the name was unclear and confusing. + + `entryType` is now renamed to `entrypointResolution` and its possible values are updated: + - `legacy-dynamic` becomes `explicit`. + - `self` becomes `auto`. + + If you are building an adapter with v6 beta and specifying `entryType`, update it: + + ```diff + setAdapter({ + // ... + - entryType: 'legacy-dynamic' + + entrypointResolution: 'explicit' + }) + + setAdapter({ + // ... + - entryType: 'self' + + entrypointResolution: 'auto' + }) + ``` + +- [#15461](https://github.com/withastro/astro/pull/15461) [`9f21b24`](https://github.com/withastro/astro/commit/9f21b243d21478cdc5fb0193e05adad8e753839f) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Deprecates `createExports()` and `start()` (Adapter API) - ([v6 upgrade guidance](https://v6.docs.astro.build/en/guides/upgrade-to/v6/#deprecated-createexports-and-start-adapter-api)) + +- [#15535](https://github.com/withastro/astro/pull/15535) [`dfe2e22`](https://github.com/withastro/astro/commit/dfe2e22042f92172442ab32777b3cce90685b76a) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Deprecates `NodeApp` from `astro/app/node` (Adapter API) - ([v6 upgrade guidance](https://v6.docs.astro.build/en/guides/upgrade-to/v6/#deprecated-nodeapp-from-astroappnode-adapter-api)) + +- [#15407](https://github.com/withastro/astro/pull/15407) [`aedbbd8`](https://github.com/withastro/astro/commit/aedbbd818628bed0533cdd627b73e2c5365aa17e) Thanks [@ematipico](https://github.com/ematipico)! - Changes how styles of responsive images are emitted - ([v6 upgrade guidance](https://v6.docs.astro.build/en/guides/upgrade-to/v6/#changed-how-responsive-image-styles-are-emitted)) + +### Minor Changes + +- [#15535](https://github.com/withastro/astro/pull/15535) [`dfe2e22`](https://github.com/withastro/astro/commit/dfe2e22042f92172442ab32777b3cce90685b76a) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Exports new `createRequest()` and `writeResponse()` utilities from `astro/app/node` + + To replace the deprecated `NodeApp.createRequest()` and `NodeApp.writeResponse()` methods, the `astro/app/node` module now exposes new `createRequest()` and `writeResponse()` utilities. These can be used to convert a NodeJS `IncomingMessage` into a web-standard `Request` and stream a web-standard `Response` into a NodeJS `ServerResponse`: + + ```js + import { createApp } from 'astro/app/entrypoint'; + import { createRequest, writeResponse } from 'astro/app/node'; + import { createServer } from 'node:http'; + + const app = createApp(); + + const server = createServer(async (req, res) => { + const request = createRequest(req); + const response = await app.render(request); + await writeResponse(response, res); + }); + ``` + +- [#15407](https://github.com/withastro/astro/pull/15407) [`aedbbd8`](https://github.com/withastro/astro/commit/aedbbd818628bed0533cdd627b73e2c5365aa17e) Thanks [@ematipico](https://github.com/ematipico)! - Adds support for responsive images when `security.csp` is enabled, out of the box. + + Astro's implementation of responsive image styles has been updated to be compatible with a configured Content Security Policy. + + Instead of, injecting style elements at runtime, Astro will now generate your styles at build time using a combination of `class=""` and `data-*` attributes. This means that your processed styles are loaded and hashed out of the box by Astro. + + If you were previously choosing between Astro's CSP feature and including responsive images on your site, you may now use them together. + +### Patch Changes + +- [#15508](https://github.com/withastro/astro/pull/15508) [`2c6484a`](https://github.com/withastro/astro/commit/2c6484a4c34e86b8a26342a48986da26768de27b) Thanks [@KTibow](https://github.com/KTibow)! - Fixes behavior when shortcuts are used before server is ready + +- [#15497](https://github.com/withastro/astro/pull/15497) [`a93c81d`](https://github.com/withastro/astro/commit/a93c81de493e912aeba1d829d9ccf6997b2eb806) Thanks [@matthewp](https://github.com/matthewp)! - Fix dev reloads for content collection Markdown updates under Vite 7. + +- [#15535](https://github.com/withastro/astro/pull/15535) [`dfe2e22`](https://github.com/withastro/astro/commit/dfe2e22042f92172442ab32777b3cce90685b76a) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Fixes the types of `createApp()` exported from `astro/app/entrypoint` + +- [#15491](https://github.com/withastro/astro/pull/15491) [`6c60b05`](https://github.com/withastro/astro/commit/6c60b05b8d6774da04567dc8b85b5f2956e9da0c) Thanks [@matthewp](https://github.com/matthewp)! - Fixes a case where setting `vite.server.allowedHosts: true` was turned into an invalid array + +- [#14589](https://github.com/withastro/astro/pull/14589) [`7038f07`](https://github.com/withastro/astro/commit/7038f0700898a17cb87b5a2e408480c1226a47f4) Thanks [@43081j](https://github.com/43081j)! - Improves CLI styling + ## 6.0.0-beta.11 ### Major Changes diff --git a/packages/astro/package.json b/packages/astro/package.json index 14480932e9b7..c512538c33bf 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -1,6 +1,6 @@ { "name": "astro", - "version": "6.0.0-beta.11", + "version": "6.0.0-beta.12", "description": "Astro is a modern site builder with web best practices, performance, and DX front-of-mind.", "type": "module", "author": "withastro", diff --git a/packages/db/CHANGELOG.md b/packages/db/CHANGELOG.md index 0de01cc9b295..ebb7b3ea2fc5 100644 --- a/packages/db/CHANGELOG.md +++ b/packages/db/CHANGELOG.md @@ -1,5 +1,11 @@ # @astrojs/db +## 0.19.0-beta.4 + +### Patch Changes + +- [#14589](https://github.com/withastro/astro/pull/14589) [`7038f07`](https://github.com/withastro/astro/commit/7038f0700898a17cb87b5a2e408480c1226a47f4) Thanks [@43081j](https://github.com/43081j)! - Improves CLI styling + ## 0.19.0-beta.3 ### Patch Changes diff --git a/packages/db/package.json b/packages/db/package.json index b69520fef98c..71481ae11e89 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -1,6 +1,6 @@ { "name": "@astrojs/db", - "version": "0.19.0-beta.3", + "version": "0.19.0-beta.4", "description": "Add libSQL support to your Astro site", "license": "MIT", "repository": { diff --git a/packages/integrations/cloudflare/CHANGELOG.md b/packages/integrations/cloudflare/CHANGELOG.md index 7e2a645eb55c..7c8d4b69400e 100644 --- a/packages/integrations/cloudflare/CHANGELOG.md +++ b/packages/integrations/cloudflare/CHANGELOG.md @@ -1,5 +1,20 @@ # @astrojs/cloudflare +## 13.0.0-beta.8 + +### Major Changes + +- [#15480](https://github.com/withastro/astro/pull/15480) [`e118214`](https://github.com/withastro/astro/commit/e118214eeaaa27384528c882af8b68e8daa61e2c) Thanks [@alexanderniebuhr](https://github.com/alexanderniebuhr)! - Drops official support for Cloudflare Pages in favor of Cloudflare Workers + + The Astro Cloudflare adapter now only supports deployment to Cloudflare Workers by default in order to comply with Cloudflare's recommendations for new projects. If you are currently deploying to Cloudflare Pages, consider [migrating to Workers by following the Cloudflare guide](https://developers.cloudflare.com/workers/static-assets/migration-guides/migrate-from-pages/) for an optimal experience and full feature support. + +### Patch Changes + +- [#15478](https://github.com/withastro/astro/pull/15478) [`ee519e5`](https://github.com/withastro/astro/commit/ee519e5eda8704c62871f3da2566f0e103ca630e) Thanks [@matthewp](https://github.com/matthewp)! - Fixes fully static sites to not output server-side worker code. When all routes are prerendered, the `_worker.js` directory is now removed from the build output. + +- Updated dependencies []: + - @astrojs/underscore-redirects@1.0.0 + ## 13.0.0-beta.7 ### Patch Changes diff --git a/packages/integrations/cloudflare/package.json b/packages/integrations/cloudflare/package.json index 455fdda23688..45916614b135 100644 --- a/packages/integrations/cloudflare/package.json +++ b/packages/integrations/cloudflare/package.json @@ -1,7 +1,7 @@ { "name": "@astrojs/cloudflare", "description": "Deploy your site to Cloudflare Workers", - "version": "13.0.0-beta.7", + "version": "13.0.0-beta.8", "type": "module", "types": "./dist/index.d.ts", "author": "withastro", diff --git a/packages/integrations/markdoc/CHANGELOG.md b/packages/integrations/markdoc/CHANGELOG.md index bd2bfa697824..f1688dadb8c7 100644 --- a/packages/integrations/markdoc/CHANGELOG.md +++ b/packages/integrations/markdoc/CHANGELOG.md @@ -1,5 +1,15 @@ # @astrojs/markdoc +## 1.0.0-beta.10 + +### Patch Changes + +- [#15457](https://github.com/withastro/astro/pull/15457) [`6e8da44`](https://github.com/withastro/astro/commit/6e8da44efbbe5094f540c6e70a20908d65492b09) Thanks [@AhmadYasser1](https://github.com/AhmadYasser1)! - Fixes custom attributes on Markdoc's built-in `{% table %}` tag causing "Invalid attribute" validation errors. + + In Markdoc, `table` exists as both a tag (`{% table %}`) and a node (the inner table structure). When users defined custom attributes on either `nodes.table` or `tags.table`, the attributes weren't synced to the counterpart, causing validation to fail on whichever side was missing the declaration. + + The fix automatically syncs custom attribute declarations between tags and nodes that share the same name, so users can define attributes on either side and have them work correctly. + ## 1.0.0-beta.9 ### Minor Changes diff --git a/packages/integrations/markdoc/package.json b/packages/integrations/markdoc/package.json index 9923a6b0d83b..0c9ebc026af8 100644 --- a/packages/integrations/markdoc/package.json +++ b/packages/integrations/markdoc/package.json @@ -1,7 +1,7 @@ { "name": "@astrojs/markdoc", "description": "Add support for Markdoc in your Astro site", - "version": "1.0.0-beta.9", + "version": "1.0.0-beta.10", "type": "module", "types": "./dist/index.d.ts", "author": "withastro", diff --git a/packages/integrations/netlify/CHANGELOG.md b/packages/integrations/netlify/CHANGELOG.md index 76b53a096ea1..6920c5b9b826 100644 --- a/packages/integrations/netlify/CHANGELOG.md +++ b/packages/integrations/netlify/CHANGELOG.md @@ -1,5 +1,14 @@ # @astrojs/netlify +## 7.0.0-beta.10 + +### Patch Changes + +- [#15461](https://github.com/withastro/astro/pull/15461) [`9f21b24`](https://github.com/withastro/astro/commit/9f21b243d21478cdc5fb0193e05adad8e753839f) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Updates to new Adapter API introduced in v6 + +- Updated dependencies []: + - @astrojs/underscore-redirects@1.0.0 + ## 7.0.0-beta.9 ### Patch Changes diff --git a/packages/integrations/netlify/package.json b/packages/integrations/netlify/package.json index 085c4a186212..abbf2d3bb65b 100644 --- a/packages/integrations/netlify/package.json +++ b/packages/integrations/netlify/package.json @@ -1,7 +1,7 @@ { "name": "@astrojs/netlify", "description": "Deploy your site to Netlify", - "version": "7.0.0-beta.9", + "version": "7.0.0-beta.10", "type": "module", "types": "./dist/index.d.ts", "author": "withastro", diff --git a/packages/integrations/vercel/CHANGELOG.md b/packages/integrations/vercel/CHANGELOG.md index 7ff3b2aab439..176e1ce82f2b 100644 --- a/packages/integrations/vercel/CHANGELOG.md +++ b/packages/integrations/vercel/CHANGELOG.md @@ -1,5 +1,11 @@ # @astrojs/vercel +## 10.0.0-beta.5 + +### Patch Changes + +- [#15461](https://github.com/withastro/astro/pull/15461) [`9f21b24`](https://github.com/withastro/astro/commit/9f21b243d21478cdc5fb0193e05adad8e753839f) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Updates to new Adapter API introduced in v6 + ## 10.0.0-beta.4 ### Patch Changes diff --git a/packages/integrations/vercel/package.json b/packages/integrations/vercel/package.json index c744aae4df64..4308f2e7945d 100644 --- a/packages/integrations/vercel/package.json +++ b/packages/integrations/vercel/package.json @@ -1,7 +1,7 @@ { "name": "@astrojs/vercel", "description": "Deploy your site to Vercel", - "version": "10.0.0-beta.4", + "version": "10.0.0-beta.5", "type": "module", "author": "withastro", "license": "MIT", diff --git a/packages/language-tools/vscode/CHANGELOG.md b/packages/language-tools/vscode/CHANGELOG.md index 8ca5cec7ef14..1407932745e2 100644 --- a/packages/language-tools/vscode/CHANGELOG.md +++ b/packages/language-tools/vscode/CHANGELOG.md @@ -4,6 +4,12 @@ ### Patch Changes +- [#15496](https://github.com/withastro/astro/pull/15496) [`eb7cdda`](https://github.com/withastro/astro/commit/eb7cdda6837a8b28e279f668d0fe2a06f02f6990) Thanks [@matthewp](https://github.com/matthewp)! - Fix syntax highlighting for lowercase component tags that start with "style" or "script". + +## 2.16.9-beta.0 + +### Patch Changes + - [#15125](https://github.com/withastro/astro/pull/15125) [`6feb0d7`](https://github.com/withastro/astro/commit/6feb0d7bec1e333eb795ae0fc51516182a73eb2b) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Fix "Find All References" and other TypeScript features by ensuring the plugin bundle is correctly included - [#15125](https://github.com/withastro/astro/pull/15125) [`6feb0d7`](https://github.com/withastro/astro/commit/6feb0d7bec1e333eb795ae0fc51516182a73eb2b) Thanks [@florian-lefebvre](https://github.com/florian-lefebvre)! - Fixes syntax highlighting sometimes not working when the frontmatter or script tags ended with certain TypeScript constructs diff --git a/packages/language-tools/vscode/package.json b/packages/language-tools/vscode/package.json index 911c93237c94..28b59d733598 100644 --- a/packages/language-tools/vscode/package.json +++ b/packages/language-tools/vscode/package.json @@ -24,7 +24,7 @@ "color": "#17191E", "theme": "dark" }, - "version": "2.16.8", + "version": "2.16.9-beta.0", "author": "withastro", "license": "MIT", "publisher": "astro-build", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03915868b174..959aa4b8a281 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -181,7 +181,7 @@ importers: examples/basics: dependencies: astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/blog: @@ -196,7 +196,7 @@ importers: specifier: ^3.6.1-beta.3 version: link:../../packages/integrations/sitemap astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro sharp: specifier: ^0.34.3 @@ -205,7 +205,7 @@ importers: examples/component: devDependencies: astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/container-with-vitest: @@ -214,7 +214,7 @@ importers: specifier: ^5.0.0-beta.3 version: link:../../packages/integrations/react astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro react: specifier: ^18.3.1 @@ -245,7 +245,7 @@ importers: specifier: ^3.15.8 version: 3.15.8 astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/framework-multiple: @@ -272,7 +272,7 @@ importers: specifier: ^18.3.7 version: 18.3.7(@types/react@18.3.28) astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro preact: specifier: ^10.28.3 @@ -302,7 +302,7 @@ importers: specifier: ^2.7.1 version: 2.7.1(preact@10.28.3) astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro preact: specifier: ^10.28.3 @@ -320,7 +320,7 @@ importers: specifier: ^18.3.7 version: 18.3.7(@types/react@18.3.28) astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro react: specifier: ^18.3.1 @@ -335,7 +335,7 @@ importers: specifier: ^6.0.0-beta.2 version: link:../../packages/integrations/solid astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro solid-js: specifier: ^1.9.11 @@ -347,7 +347,7 @@ importers: specifier: ^8.0.0-beta.2 version: link:../../packages/integrations/svelte astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro svelte: specifier: ^5.50.3 @@ -359,7 +359,7 @@ importers: specifier: ^6.0.0-beta.1 version: link:../../packages/integrations/vue astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro vue: specifier: ^3.5.28 @@ -371,25 +371,25 @@ importers: specifier: ^10.0.0-beta.4 version: link:../../packages/integrations/node astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/integration: devDependencies: astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/minimal: dependencies: astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/portfolio: dependencies: astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/ssr: @@ -401,7 +401,7 @@ importers: specifier: ^8.0.0-beta.2 version: link:../../packages/integrations/svelte astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro svelte: specifier: ^5.50.3 @@ -410,7 +410,7 @@ importers: examples/starlog: dependencies: astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro sass: specifier: ^1.97.3 @@ -425,16 +425,16 @@ importers: specifier: ^18.17.8 version: 18.19.130 astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/with-markdoc: dependencies: '@astrojs/markdoc': - specifier: ^1.0.0-beta.9 + specifier: ^1.0.0-beta.10 version: link:../../packages/integrations/markdoc astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro examples/with-mdx: @@ -446,7 +446,7 @@ importers: specifier: ^5.0.0-beta.3 version: link:../../packages/integrations/preact astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro preact: specifier: ^10.28.3 @@ -461,7 +461,7 @@ importers: specifier: ^1.0.0 version: 1.0.0(nanostores@1.1.0)(preact@10.28.3) astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro nanostores: specifier: ^1.1.0 @@ -482,7 +482,7 @@ importers: specifier: ^1.9.0 version: 1.9.0 astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro canvas-confetti: specifier: ^1.9.4 @@ -494,7 +494,7 @@ importers: examples/with-vitest: dependencies: astro: - specifier: ^6.0.0-beta.11 + specifier: ^6.0.0-beta.12 version: link:../../packages/astro vitest: specifier: ^3.2.4 @@ -4289,18 +4289,6 @@ importers: specifier: ^10.28.3 version: 10.28.3 - packages/astro/test/fixtures/ssr-error: - dependencies: - astro: - specifier: workspace:* - version: link:../../.. - - packages/astro/test/fixtures/ssr-error-pages: - dependencies: - astro: - specifier: workspace:* - version: link:../../.. - packages/astro/test/fixtures/ssr-markdown: dependencies: astro: From a4406b4dfbca3756983b82c37d7c74f84d2de096 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 16 Feb 2026 16:54:19 +0100 Subject: [PATCH 6/9] fix: csp dev warning (#15459) * fix: csp dev warning * Update .changeset/silly-eels-remain.md Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> --------- Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> --- .changeset/silly-eels-remain.md | 5 +++++ packages/astro/src/core/render-context.ts | 20 ++++++++++++-------- 2 files changed, 17 insertions(+), 8 deletions(-) create mode 100644 .changeset/silly-eels-remain.md diff --git a/.changeset/silly-eels-remain.md b/.changeset/silly-eels-remain.md new file mode 100644 index 000000000000..78631c69bdf8 --- /dev/null +++ b/.changeset/silly-eels-remain.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Fixes a case where `context.csp` was logging warnings in development that should be logged in production only diff --git a/packages/astro/src/core/render-context.ts b/packages/astro/src/core/render-context.ts index 06ed3d056463..238cb466a940 100644 --- a/packages/astro/src/core/render-context.ts +++ b/packages/astro/src/core/render-context.ts @@ -481,10 +481,12 @@ export class RenderContext { }, get csp(): APIContext['csp'] { if (!pipeline.manifest.csp) { - pipeline.logger.warn( - 'csp', - `context.csp was used when rendering the route ${colors.green(this.routePattern)}, but CSP was not configured. For more information, see https://docs.astro.build/en/reference/experimental-flags/csp/`, - ); + if (pipeline.runtimeMode === 'production') { + pipeline.logger.warn( + 'csp', + `context.csp was used when rendering the route ${colors.green(this.routePattern)}, but CSP was not configured. For more information, see https://docs.astro.build/en/reference/experimental-flags/csp/`, + ); + } return undefined; } return { @@ -736,10 +738,12 @@ export class RenderContext { }, get csp(): APIContext['csp'] { if (!pipeline.manifest.csp) { - pipeline.logger.warn( - 'csp', - `Astro.csp was used when rendering the route ${colors.green(this.routePattern)}, but CSP was not configured. For more information, see https://docs.astro.build/en/reference/experimental-flags/csp/`, - ); + if (pipeline.runtimeMode === 'production') { + pipeline.logger.warn( + 'csp', + `Astro.csp was used when rendering the route ${colors.green(this.routePattern)}, but CSP was not configured. For more information, see https://docs.astro.build/en/reference/experimental-flags/csp/`, + ); + } return undefined; } return { From 3e71b2ed5117a6bf072431ebe77558c1fd9e8e72 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 16 Feb 2026 17:09:56 +0100 Subject: [PATCH 7/9] chore: reenable pnpm minimumRelaseAge (#15540) --- pnpm-lock.yaml | 1824 ++++++++++++++++++++----------------------- pnpm-workspace.yaml | 8 +- 2 files changed, 871 insertions(+), 961 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 959aa4b8a281..529fc52dd456 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -62,7 +62,7 @@ importers: version: 0.2.15 turbo: specifier: ^2.8.7 - version: 2.8.9 + version: 2.8.7 typescript: specifier: ~5.9.3 version: 5.9.3 @@ -114,10 +114,10 @@ importers: devDependencies: '@codspeed/vitest-plugin': specifier: 5.2.0 - version: 5.2.0(tinybench@2.9.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.2.0(tinybench@2.9.0)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) vitest: specifier: ^4.0.18 - version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) benchmark/packages/adapter: dependencies: @@ -224,7 +224,7 @@ importers: version: 18.3.1(react@18.3.1) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) devDependencies: '@types/react': specifier: ^18.3.28 @@ -477,7 +477,7 @@ importers: version: link:../../packages/integrations/mdx '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.1.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@types/canvas-confetti': specifier: ^1.9.0 version: 1.9.0 @@ -498,7 +498,7 @@ importers: version: link:../../packages/astro vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/astro: dependencies: @@ -657,10 +657,10 @@ importers: version: 6.0.3 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vitefu: specifier: ^1.1.1 - version: 1.1.1(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 1.1.1(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) xxhash-wasm: specifier: ^1.1.0 version: 1.1.0 @@ -733,7 +733,7 @@ importers: version: 3.2.0 node-mocks-http: specifier: ^1.17.2 - version: 1.17.2(@types/node@25.2.2) + version: 1.17.2(@types/node@25.2.3) parse-srcset: specifier: ^1.0.2 version: 1.0.2 @@ -760,13 +760,13 @@ importers: version: 5.9.3 undici: specifier: ^7.21.0 - version: 7.22.0 + version: 7.21.0 unified: specifier: ^11.0.5 version: 11.0.5 vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) optionalDependencies: sharp: specifier: ^0.34.0 @@ -789,7 +789,7 @@ importers: dependencies: fast-xml-parser: specifier: ^5.3.5 - version: 5.3.6 + version: 5.3.5 piccolore: specifier: ^0.1.3 version: 0.1.3 @@ -990,7 +990,7 @@ importers: version: 18.3.7(@types/react@18.3.28) '@vitejs/plugin-vue': specifier: ^6.0.4 - version: 6.0.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + version: 6.0.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) astro: specifier: workspace:* version: link:../../.. @@ -1651,7 +1651,7 @@ importers: dependencies: '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.1.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) astro: specifier: workspace:* version: link:../../.. @@ -2273,7 +2273,7 @@ importers: version: 9.4.1(astro@packages+astro) '@astrojs/react': specifier: 4.3.0 - version: 4.3.0(@types/node@25.2.2)(@types/react-dom@19.1.1(@types/react@19.1.1))(@types/react@19.1.1)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 4.3.0(@types/node@25.2.3)(@types/react-dom@19.1.1(@types/react@19.1.1))(@types/react@19.1.1)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) '@types/react': specifier: 19.1.1 version: 19.1.1 @@ -2291,7 +2291,7 @@ importers: version: 19.1.1(react@19.1.1) vite: specifier: 7.1.7 - version: 7.1.7(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.1.7(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/astro/test/fixtures/astro-jsx: dependencies: @@ -2477,7 +2477,7 @@ importers: dependencies: '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.1.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) astro: specifier: workspace:* version: link:../../.. @@ -3714,7 +3714,7 @@ importers: dependencies: '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.1.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) astro: specifier: workspace:* version: link:../../.. @@ -4481,7 +4481,7 @@ importers: version: link:../../../../integrations/mdx '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.1.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) astro: specifier: workspace:* version: link:../../.. @@ -4556,7 +4556,7 @@ importers: version: link:../../.. vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 3.2.4(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/astro/test/fixtures/vue-component: dependencies: @@ -4661,7 +4661,7 @@ importers: version: 1.0.2 drizzle-orm: specifier: ^0.42.0 - version: 0.42.0(@cloudflare/workers-types@4.20260214.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0) + version: 0.42.0(@cloudflare/workers-types@4.20260213.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0) nanoid: specifier: ^5.1.6 version: 5.1.6 @@ -4698,7 +4698,7 @@ importers: version: 5.9.3 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/db/test/fixtures/basics: dependencies: @@ -4854,7 +4854,7 @@ importers: version: link:../../../scripts vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/integrations/alpinejs/test/fixtures/basics: dependencies: @@ -4911,7 +4911,7 @@ importers: version: link:../../underscore-redirects '@cloudflare/vite-plugin': specifier: ^1.25.0 - version: 1.25.0(@cloudflare/workers-types@4.20260214.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260212.0) + version: 1.25.0(@cloudflare/workers-types@4.20260213.0)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260212.0) piccolore: specifier: ^0.1.3 version: 0.1.3 @@ -4920,14 +4920,14 @@ importers: version: 0.2.15 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) devDependencies: '@cloudflare/workers-types': specifier: ^4.20260213.0 - version: 4.20260214.0 + version: 4.20260213.0 '@types/node': specifier: ^25.2.2 - version: 25.2.2 + version: 25.2.3 astro: specifier: workspace:* version: link:../../astro @@ -4952,7 +4952,7 @@ importers: devDependencies: wrangler: specifier: ^4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260214.0) + version: 4.65.0(@cloudflare/workers-types@4.20260213.0) packages/integrations/cloudflare/test/fixtures/astro-env: dependencies: @@ -4965,7 +4965,7 @@ importers: devDependencies: wrangler: specifier: ^4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260214.0) + version: 4.65.0(@cloudflare/workers-types@4.20260213.0) packages/integrations/cloudflare/test/fixtures/binding-image-service: dependencies: @@ -4995,7 +4995,7 @@ importers: version: link:../../../../../astro wrangler: specifier: ^4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260214.0) + version: 4.65.0(@cloudflare/workers-types@4.20260213.0) packages/integrations/cloudflare/test/fixtures/external-image-service: dependencies: @@ -5022,7 +5022,7 @@ importers: version: link:../../.. '@tailwindcss/vite': specifier: ^4.1.18 - version: 4.1.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 4.1.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) astro: specifier: workspace:* version: link:../../../../../astro @@ -5041,7 +5041,7 @@ importers: devDependencies: wrangler: specifier: ^4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260214.0) + version: 4.65.0(@cloudflare/workers-types@4.20260213.0) packages/integrations/cloudflare/test/fixtures/server-entry: dependencies: @@ -5063,7 +5063,7 @@ importers: version: link:../../../../../astro wrangler: specifier: ^4.65.0 - version: 4.65.0(@cloudflare/workers-types@4.20260214.0) + version: 4.65.0(@cloudflare/workers-types@4.20260213.0) packages/integrations/cloudflare/test/fixtures/sql-import: dependencies: @@ -5120,7 +5120,7 @@ importers: version: 18.3.7(@types/react@18.3.28) '@vitejs/plugin-vue': specifier: ^6.0.4 - version: 6.0.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + version: 6.0.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) astro: specifier: workspace:* version: link:../../../../../astro @@ -5156,7 +5156,7 @@ importers: version: link:../../.. '@astrojs/solid-js': specifier: ^5.1.3 - version: 5.1.3(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(solid-js@1.9.11)(tsx@4.21.0)(yaml@2.8.2) + version: 5.1.3(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(solid-js@1.9.11)(tsx@4.21.0)(yaml@2.8.2) astro: specifier: workspace:* version: link:../../../../../astro @@ -5186,7 +5186,7 @@ importers: version: link:../../.. '@astrojs/vue': specifier: ^5.1.4 - version: 5.1.4(@types/node@25.2.2)(astro@packages+astro)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(sass@1.97.3)(tsx@4.21.0)(vue@3.5.28(typescript@5.9.3))(yaml@2.8.2) + version: 5.1.4(@types/node@25.2.3)(astro@packages+astro)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(sass@1.97.3)(tsx@4.21.0)(vue@3.5.28(typescript@5.9.3))(yaml@2.8.2) astro: specifier: workspace:* version: link:../../../../../astro @@ -5244,7 +5244,7 @@ importers: version: 0.18.12 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/integrations/markdoc/test/fixtures/content-collections: dependencies: @@ -5518,7 +5518,7 @@ importers: version: 11.0.5 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/integrations/mdx/test/fixtures/css-head-mdx: dependencies: @@ -5692,7 +5692,7 @@ importers: version: 5.1.2 '@netlify/vite-plugin': specifier: ^2.9.0 - version: 2.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@vercel/nft': specifier: ^1.3.1 version: 1.3.1(rollup@4.57.1) @@ -5704,11 +5704,11 @@ importers: version: 0.2.15 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) devDependencies: '@types/node': specifier: ^22.10.6 - version: 22.19.8 + version: 22.19.11 astro: specifier: workspace:* version: link:../../astro @@ -5827,7 +5827,7 @@ importers: version: 9.0.0 '@types/node': specifier: ^22.10.6 - version: 22.19.8 + version: 22.19.11 '@types/send': specifier: ^1.2.1 version: 1.2.1 @@ -5854,7 +5854,7 @@ importers: version: 5.7.4 node-mocks-http: specifier: ^1.17.2 - version: 1.17.2(@types/node@22.19.8) + version: 1.17.2(@types/node@22.19.11) packages/integrations/node/test/fixtures/api-route: dependencies: @@ -6041,7 +6041,7 @@ importers: dependencies: '@preact/preset-vite': specifier: ^2.10.3 - version: 2.10.3(@babel/core@7.29.0)(preact@10.28.3)(rollup@4.57.1)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.10.3(@babel/core@7.29.0)(preact@10.28.3)(rollup@4.57.1)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@preact/signals': specifier: ^2.7.1 version: 2.7.1(preact@10.28.3) @@ -6050,7 +6050,7 @@ importers: version: 6.6.5(preact@10.28.3) vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) devDependencies: astro: specifier: workspace:* @@ -6066,13 +6066,13 @@ importers: dependencies: '@vitejs/plugin-react': specifier: ^5.1.4 - version: 5.1.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 5.1.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) ultrahtml: specifier: ^1.6.0 version: 1.6.0 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) devDependencies: '@types/react': specifier: ^18.3.28 @@ -6191,10 +6191,10 @@ importers: dependencies: vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-solid: specifier: ^2.11.10 - version: 2.11.10(solid-js@1.9.11)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 2.11.10(solid-js@1.9.11)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) devDependencies: astro: specifier: workspace:* @@ -6210,13 +6210,13 @@ importers: dependencies: '@sveltejs/vite-plugin-svelte': specifier: ^6.2.4 - version: 6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + version: 6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) svelte2tsx: specifier: ^0.7.47 version: 0.7.47(svelte@5.50.3)(typescript@5.9.3) vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) devDependencies: astro: specifier: workspace:* @@ -6302,7 +6302,7 @@ importers: version: 1.2.0 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) packages/integrations/vercel/test/fixtures/basic: dependencies: @@ -6491,19 +6491,19 @@ importers: dependencies: '@vitejs/plugin-vue': specifier: ^6.0.4 - version: 6.0.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + version: 6.0.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vitejs/plugin-vue-jsx': specifier: ^5.1.4 - version: 5.1.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + version: 5.1.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/compiler-sfc': specifier: ^3.5.28 version: 3.5.28 vite: specifier: ^7.3.1 - version: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + version: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vite-plugin-vue-devtools: specifier: ^8.0.6 - version: 8.0.6(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + version: 8.0.6(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) devDependencies: astro: specifier: workspace:* @@ -6637,7 +6637,7 @@ importers: devDependencies: '@types/node': specifier: ^20.9.0 - version: 20.19.31 + version: 20.19.33 '@types/yargs': specifier: ^17.0.35 version: 17.0.35 @@ -6710,7 +6710,7 @@ importers: devDependencies: '@types/node': specifier: ^20.9.0 - version: 20.19.31 + version: 20.19.33 '@volar/test-utils': specifier: ~2.4.28 version: 2.4.28 @@ -6787,7 +6787,7 @@ importers: version: 10.0.10 '@types/node': specifier: ^20.9.0 - version: 20.19.31 + version: 20.19.33 '@types/semver': specifier: ^7.7.1 version: 7.7.1 @@ -6830,10 +6830,10 @@ importers: version: 10.0.10 '@types/node': specifier: ^20.9.0 - version: 20.19.31 + version: 20.19.33 '@types/vscode': specifier: ^1.90.0 - version: 1.108.0 + version: 1.109.0 '@volar/language-server': specifier: ~2.4.28 version: 2.4.28 @@ -7085,26 +7085,23 @@ packages: peerDependencies: astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta - '@astro-community/astro-embed-link-preview@0.2.2': - resolution: {integrity: sha512-eZ/ORqtPCC3Z2cSH6UvOB1w9CBguEQUC4nFdyLmwHYIR3FhkutQgbaP7fgI1r+qUBDbXImpZjYxKS3RB4m/fOA==} + '@astro-community/astro-embed-link-preview@0.2.3': + resolution: {integrity: sha512-TLnZOihoQhXOCybvbzE/ImqFkGgG5zSJeWIj+PytM41Q/uhU6w19LD571qmWADf0Grv/u7LtorR1PB6ijQnazQ==} - '@astro-community/astro-embed-twitter@0.5.8': - resolution: {integrity: sha512-O2ptQPw+DfipukK8czjJcTcyVgDsrs3OmrHbc3YmWRglaUTOpSTImzPo076POyNBSWjLaRKloul81DFiAMNjTA==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta + '@astro-community/astro-embed-twitter@0.5.11': + resolution: {integrity: sha512-6cmyQY4LVVJj6x7qC6XrhWcxNffLvR+QGE/iw5HTOtAn60AStr6u+IX2Txpy6N6bta0DLjGqhTBhkC3NxmVKJg==} - '@astro-community/astro-embed-utils@0.1.3': - resolution: {integrity: sha512-eiMO+vfCdE9GtW6qE7X5Xl6YCKZDCoXJEWqRofQcoC3GHjqN2/WhJlnaxNVRq3demSO03UNtho57Em5p7o7AOA==} + '@astro-community/astro-embed-utils@0.1.5': + resolution: {integrity: sha512-0RlP7J1YEWrguWDfEDsm4uDCXk4FKn0HHakmSOSwHLg6YR8WNEN/LGMGhhsxLc/mDqO2lRh1VqfJy+yPLLkzsQ==} - '@astro-community/astro-embed-vimeo@0.3.10': - resolution: {integrity: sha512-H7v8BozWXG+EhIOn1DcNKLRO6z3bNXZVESUR25mNFiDd3Ue8MEzp8mWkBeRd6Y2onV9acxR34ZhXN36fsSb8bA==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta + '@astro-community/astro-embed-utils@0.2.0': + resolution: {integrity: sha512-Ia70AMCFOUOSoaMfMaK7Ovk7VyIY4opwzBJoA6GeL+omkvpFwDbSWmA8MOiMF4gJC0j/1dgrEir+txIb+WvsCA==} - '@astro-community/astro-embed-youtube@0.5.7': - resolution: {integrity: sha512-Yq1cw4JCnrjnf/278frWZ9VQyAjyAwUd1CH2XZHFt9pNb5PeFNoRUSPlBvUzN6F/XorkWEEyE2N98rcdyx9mHg==} - peerDependencies: - astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta + '@astro-community/astro-embed-vimeo@0.3.12': + resolution: {integrity: sha512-VLNcsniT5qZ/7GaSGFWnX4ar0qcGyAYB1HQnAH362Zjqs0QI2he9u1nWv1kEx4xr3fZVxl6D2QuNN4xKtd8/ig==} + + '@astro-community/astro-embed-youtube@0.5.10': + resolution: {integrity: sha512-hVlx77KQLjKzElVQnrU5znQ5/E60keVSAPrhuWvQQHuqva5auJtt8YBpOThkwDMuEKXjQybEF1/3C07RZ8MAOQ==} '@astrojs/check@0.9.6': resolution: {integrity: sha512-jlaEu5SxvSgmfGIFfNgcn5/f+29H61NJzEMfAZ82Xopr4XBchXB1GVlcJsE+elUlsYSbXlptZLX+JMG3b/wZEA==} @@ -7128,8 +7125,8 @@ packages: '@astrojs/internal-helpers@0.7.5': resolution: {integrity: sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==} - '@astrojs/language-server@2.16.2': - resolution: {integrity: sha512-J3hVx/mFi3FwEzKf8ExYXQNERogD6RXswtbU+TyrxoXRBiQoBO5ooo7/lRWJ+rlUKUd7+rziMPI9jYB7TRlh0w==} + '@astrojs/language-server@2.16.3': + resolution: {integrity: sha512-yO5K7RYCMXUfeDlnU6UnmtnoXzpuQc0yhlaCNZ67k1C/MiwwwvMZz+LGa+H35c49w5QBfvtr4w4Zcf5PcH8uYA==} hasBin: true peerDependencies: prettier: ^3.0.0 @@ -7205,8 +7202,8 @@ packages: resolution: {integrity: sha512-Nh5PhEOeY6PrnxNPsEHRr9eimxLwgLlpmguQaHKBinFYA/RU9+kOYVOQqOrTsCL+KSxrLLl1gD8Dk5BFW/7l/w==} engines: {node: '>=20.0.0'} - '@azure/core-rest-pipeline@1.22.1': - resolution: {integrity: sha512-UVZlVLfLyz6g3Hy7GNDpooMQonUygH7ghdiSASOOHy97fKj/mPLqgDX7aidOijn+sCMU+WU8NjlPlNTgnvbcGA==} + '@azure/core-rest-pipeline@1.22.2': + resolution: {integrity: sha512-MzHym+wOi8CLUlKCQu12de0nwcq9k9Kuv43j4Wa++CsCpJwps2eeBQwD2Bu8snkxTtDKDx4GwjuR9E8yC8LNrg==} engines: {node: '>=20.0.0'} '@azure/core-tracing@1.3.1': @@ -7225,16 +7222,16 @@ packages: resolution: {integrity: sha512-fCqPIfOcLE+CGqGPd66c8bZpwAji98tZ4JI9i/mlTNTlsIWslCfpg48s/ypyLxZTump5sypjrKn2/kY7q8oAbA==} engines: {node: '>=20.0.0'} - '@azure/msal-browser@4.25.1': - resolution: {integrity: sha512-kAdOSNjvMbeBmEyd5WnddGmIpKCbAAGj4Gg/1iURtF+nHmIfS0+QUBBO3uaHl7CBB2R1SEAbpOgxycEwrHOkFA==} + '@azure/msal-browser@4.28.2': + resolution: {integrity: sha512-6vYUMvs6kJxJgxaCmHn/F8VxjLHNh7i9wzfwPGf8kyBJ8Gg2yvBXx175Uev8LdrD1F5C4o7qHa2CC4IrhGE1XQ==} engines: {node: '>=0.8.0'} - '@azure/msal-common@15.13.0': - resolution: {integrity: sha512-8oF6nj02qX7eE/6+wFT5NluXRHc05AgdCC3fJnkjiJooq8u7BcLmxaYYSwc2AfEkWRMRi6Eyvvbeqk4U4412Ag==} + '@azure/msal-common@15.14.2': + resolution: {integrity: sha512-n8RBJEUmd5QotoqbZfd+eGBkzuFI1KX6jw2b3WcpSyGjwmzoeI/Jb99opIBPHpb8y312NB+B6+FGi2ZVSR8yfA==} engines: {node: '>=0.8.0'} - '@azure/msal-node@3.8.0': - resolution: {integrity: sha512-23BXm82Mp5XnRhrcd4mrHa0xuUNRp96ivu3nRatrfdAqjoeWAGyD0eEAafxAOHAEWWmdlyFK4ELFcdziXyw2sA==} + '@azure/msal-node@3.8.7': + resolution: {integrity: sha512-a+Xnrae+uwLnlw68bplS1X4kuJ9F/7K6afuMFyRkNIskhjgDezl5Fhrx+1pmAlDmC0VaaAxjRQMp1OmcqVwkIg==} engines: {node: '>=16'} '@babel/code-frame@7.29.0': @@ -7393,8 +7390,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/runtime@7.28.4': - resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} + '@babel/runtime@7.28.6': + resolution: {integrity: sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==} engines: {node: '>=6.9.0'} '@babel/template@7.28.6': @@ -7601,8 +7598,8 @@ packages: cpu: [x64] os: [win32] - '@cloudflare/workers-types@4.20260214.0': - resolution: {integrity: sha512-qb8rgbAdJR4BAPXolXhFL/wuGtecHLh1veOyZ1mK6QqWuCdI3vK1biKC0i3lzmzdLR/DZvsN3mNtpUE8zpWGEg==} + '@cloudflare/workers-types@4.20260213.0': + resolution: {integrity: sha512-dr905ft/1R0mnfdT9aun4vanLgIBN27ZyPxTCENKmhctSz6zNmBOvHbzDWAhGE0RBAKFf3X7ifMRcd0MkmBvgA==} '@codspeed/core@5.2.0': resolution: {integrity: sha512-CmDhpWjcOJg2iBOQ/BmBnSBq8qxlM3r4h8uvYDkoUaba+EKRT3T73BZtKuml/48jZMsB+4/FG2UbTBinDWtuvw==} @@ -7637,8 +7634,8 @@ packages: resolution: {integrity: sha512-NmXRccUJMk2AWA5A7e5a//3bCIMyOu2hAtdRYrhPPHjDxINuCwX1w6rnIZ4xjLcp0ayv6h8Pc3X0eJUGiAAXHQ==} engines: {node: '>=20.19.0'} - '@csstools/css-calc@3.0.0': - resolution: {integrity: sha512-q4d82GTl8BIlh/dTnVsWmxnbWJeb3kiU8eUH71UxlxnS+WIaALmtzTL8gR15PkYOexMQYVk0CO4qIG93C1IvPA==} + '@csstools/css-calc@3.1.1': + resolution: {integrity: sha512-HJ26Z/vmsZQqs/o3a6bgKslXGFAungXGbinULZO3eMsOyNJHeBBZfup5FiZInOghgoM4Hwnmw+OgbJCNg1wwUQ==} engines: {node: '>=20.19.0'} peerDependencies: '@csstools/css-parser-algorithms': ^4.0.0 @@ -8739,8 +8736,8 @@ packages: resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/eslintrc@3.3.1': - resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} + '@eslint/eslintrc@3.3.3': + resolution: {integrity: sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/js@9.39.2': @@ -8980,8 +8977,8 @@ packages: '@import-maps/resolve@2.0.0': resolution: {integrity: sha512-RwzRTpmrrS6Q1ZhQExwuxJGK1Wqhv4stt+OF2JzS+uawewpwNyU7EJL1WpBex7aDiiGLs4FsXGkfUBdYuX7xiQ==} - '@inquirer/external-editor@1.0.2': - resolution: {integrity: sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==} + '@inquirer/external-editor@1.0.3': + resolution: {integrity: sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' @@ -8989,18 +8986,14 @@ packages: '@types/node': optional: true - '@isaacs/balanced-match@4.0.1': - resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} - engines: {node: 20 || >=22} - - '@isaacs/brace-expansion@5.0.1': - resolution: {integrity: sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==} - engines: {node: 20 || >=22} - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@isaacs/cliui@9.0.0': + resolution: {integrity: sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==} + engines: {node: '>=18'} + '@isaacs/fs-minipass@4.0.1': resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==} engines: {node: '>=18.0.0'} @@ -9089,11 +9082,11 @@ packages: cpu: [x64] os: [win32] - '@lit-labs/ssr-dom-shim@1.4.0': - resolution: {integrity: sha512-ficsEARKnmmW5njugNYKipTm4SFnbik7CXtoencDZzmzo/dQ+2Q0bgkzJuoJP20Aj0F+izzJjOqsnkd6F/o1bw==} + '@lit-labs/ssr-dom-shim@1.5.1': + resolution: {integrity: sha512-Aou5UdlSpr5whQe8AA/bZG0jMj96CoJIWbGfZ91qieWu5AWUMKw8VR/pAkQkJYvBNhmCcWnZlyyk5oze8JIqYA==} - '@lit/reactive-element@2.1.1': - resolution: {integrity: sha512-N+dm5PAYdQ8e6UlywyyrgI2t++wFGXfHx+dSJ1oBrg6FAxUj40jId++EaRm80MKX5JnlH1sBsyZ5h0bcZKemCg==} + '@lit/reactive-element@2.1.2': + resolution: {integrity: sha512-pbCDiVMnne1lYUIaYNN5wrwQXDtHaYtg7YEFPeW+hws6U47WeFvISGUWekPGKWOP1ygrs0ef0o1VJMk1exos5A==} '@lukeed/ms@2.0.2': resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} @@ -9105,8 +9098,8 @@ packages: '@manypkg/get-packages@1.1.3': resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} - '@mapbox/node-pre-gyp@2.0.0': - resolution: {integrity: sha512-llMXd39jtP0HpQLVI37Bf1m2ADlEb35GYSh1SDSLsBhR+5iCxiNGlT31yqbNtVHygHAtMy6dWFERpU2JgufhPg==} + '@mapbox/node-pre-gyp@2.0.3': + resolution: {integrity: sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==} engines: {node: '>=18'} hasBin: true @@ -9148,8 +9141,8 @@ packages: resolution: {integrity: sha512-razpNswXnCDRDkj7DDkVqX/sPifJSMO0GxDObNOiyY2ypKC7DPUcNdO4BW3gG1T8Hwf6StkQvAnNH291SvhBGA==} engines: {node: '>=20.6.1'} - '@netlify/api@14.0.13': - resolution: {integrity: sha512-WQczmnM/u2wcxk0G0rE36yTHzYzuPdByaKmJBVEZvZE0LC7VeHz8tBoX2EYpAuvjzczm8ez1ekZGjqTHK1+Osw==} + '@netlify/api@14.0.14': + resolution: {integrity: sha512-/YwcFbI0RsKXof+e+f48pVqmELzkGWOrhqZuL5xCUNdHYhvUd9El0jQDv7fBjdhxHSrflnZfXFUW56xaI69k4A==} engines: {node: '>=18.14.0'} '@netlify/binary-info@1.0.0': @@ -9163,8 +9156,8 @@ packages: resolution: {integrity: sha512-u4wx2se/wRvLsU/sQlT5ruofEwMjo5kg6ybEdQLuIswH6+6+9BCFF8VX4ByBP3MZJl3/pxExmcPiFqo0TBP3tg==} engines: {node: '>=20.6.1'} - '@netlify/config@24.3.0': - resolution: {integrity: sha512-yLqZLwvONivf0jcaO1WxUWEnW+h0F9UMvVv8JqnVi4TFjg6sLsjHhH4qICK2+PKqyDJ/OkM00udEYHmhg7LGGg==} + '@netlify/config@24.4.0': + resolution: {integrity: sha512-Dg5JQQjGb2biCvxu6Ryv+KUrgVP2iTrxSVb2pYLiUgKXqx12FeUX4/gFhERNYh1ncK1mJdN1SB3+gP5WxUAFEA==} engines: {node: '>=18.14.0'} hasBin: true @@ -9176,8 +9169,8 @@ packages: resolution: {integrity: sha512-swS/f2FFrpUv/7LPuZ3TZu7QLh1kXaYRbxzoZ7zwpVnnCn4zBbZurmc0Q8B1nv+nU0tI9ty3+lff+VPg/RgrIQ==} engines: {node: '>=20.6.1'} - '@netlify/edge-bundler@14.9.5': - resolution: {integrity: sha512-0VSItMmQw2hfBpVL6puaEgJ7GM0GIp7/W1UYOAvYDP1OA/X5ri0T+nFmBKFLRWtjV335mxc8xOpQhEo0OWqdMg==} + '@netlify/edge-bundler@14.9.8': + resolution: {integrity: sha512-FfP8WUyINS/LMO2wk23sgi9hiqPcgfRycjLPwWyLvEGwK3SYca9F5z0uaAvAeRsSJFCkm6ia9XdH28K1dSJhtg==} engines: {node: '>=18.14.0'} '@netlify/edge-functions-bootstrap@2.16.0': @@ -9211,8 +9204,8 @@ packages: resolution: {integrity: sha512-1X3fUmacCLMlPIqyeV5tdo6Wbf9aBSWobgr4DyRvg9zDV9jbKqgdN3BNbcUXmVaqfN+0iiv0k9p02mcRV3OyOw==} engines: {node: '>=20.6.1'} - '@netlify/open-api@2.47.0': - resolution: {integrity: sha512-jU2zBJVoVaFxyTVgSvDI6lbqv26ODz78yfCLSEdbtCTe5so+nsYep6Y0bNvazryhVrPjuLOutr+vyt78WQWm2A==} + '@netlify/open-api@2.48.0': + resolution: {integrity: sha512-nO2wJmzF32OETFtIqX76c9vNqKRBniEuktDNuVQ78HsxZDkEihel+O12gOaWf065ubtmeDM9/50BCX0safM9gA==} engines: {node: '>=14.8.0'} '@netlify/otel@5.1.1': @@ -9235,8 +9228,8 @@ packages: resolution: {integrity: sha512-lkue7cv4rUkyYXoBgP2Ho0tofVMRm3+fSh5mJONnFNFTEnoLa+8nQK0QjLAjGsEdJjmjDdnsYD1jIc3uqDr+eA==} engines: {node: '>=20.6.1'} - '@netlify/serverless-functions-api@2.8.3': - resolution: {integrity: sha512-RJGKH85YeUFVvRgHz3ArNPiTwIx9w8Da9fDPqS3G40tI+keaNG3UdTVMm8HQvIAB4RS6N8Gu4oVPiU2Lqb4IIg==} + '@netlify/serverless-functions-api@2.9.0': + resolution: {integrity: sha512-D1y8y0orn/n0cdLp16pP6oJ4f+4Gc52pf+FMXNKhlJ97bLRKNce3NgSr3mbgxHUtuNd27f8Mgc4D3scJlnC4uQ==} engines: {node: '>=18.0.0'} '@netlify/static@3.1.3': @@ -9253,8 +9246,8 @@ packages: peerDependencies: vite: ^5 || ^6 || ^7 - '@netlify/zip-it-and-ship-it@14.3.1': - resolution: {integrity: sha512-dlLh7ZRVpvWc5mHR3h8RY0LA1VK6qz2mkq5SztJ+9w92xKP7i4FfTURjZOrDs8lwJuKcG64r3UaFv6dAB71K3w==} + '@netlify/zip-it-and-ship-it@14.3.2': + resolution: {integrity: sha512-0BJsrr2ZbFZDJcGGZegPVW/toLz/QhYvT1zKf136mPU3rhvZOgGGAuy1MHDIlbvkHEmnpYHhVdrJ7CHg2lNbKg==} engines: {node: '>=18.14.0'} hasBin: true @@ -9361,8 +9354,8 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@opencode-ai/sdk@1.2.2': - resolution: {integrity: sha512-vdCSRoqZdh2ruof8w5nIRuCXeVdNP0ffOHm9p74cAAKkupptQ5khRwBB9U0mcWEL7ey7cZ4gttvGnHMRGn+TPg==} + '@opencode-ai/sdk@1.1.65': + resolution: {integrity: sha512-XlpgQJQ5WwO4tYgyyHoTT0NAB5/1StXonabVUAYVpW0JdtbwWFSdFEaLkWx6CU7MNW6ELP+SMC4n6wWO6zRW8Q==} '@opentelemetry/api-logs@0.203.0': resolution: {integrity: sha512-9B9RU0H7Ya1Dx/Rkyc4stuBZSGVQF27WigitInx2QQoj6KUpEFYPKoWjdFTunJYxmXmh17HeBvbMa1EhGyPmqQ==} @@ -9427,111 +9420,111 @@ packages: '@oslojs/encoding@1.1.0': resolution: {integrity: sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==} - '@oxc-resolver/binding-android-arm-eabi@11.17.0': - resolution: {integrity: sha512-kVnY21v0GyZ/+LG6EIO48wK3mE79BUuakHUYLIqobO/Qqq4mJsjuYXMSn3JtLcKZpN1HDVit4UHpGJHef1lrlw==} + '@oxc-resolver/binding-android-arm-eabi@11.17.1': + resolution: {integrity: sha512-+VuZyMYYaap5uDAU1xDU3Kul0FekLqpBS8kI5JozlWfYQKnc/HsZg2gHPkQrj0SC9lt74WMNCfOzZZJlYXSdEQ==} cpu: [arm] os: [android] - '@oxc-resolver/binding-android-arm64@11.17.0': - resolution: {integrity: sha512-Pf8e3XcsK9a8RHInoAtEcrwf2vp7V9bSturyUUYxw9syW6E7cGi7z9+6ADXxm+8KAevVfLA7pfBg8NXTvz/HOw==} + '@oxc-resolver/binding-android-arm64@11.17.1': + resolution: {integrity: sha512-YlDDTjvOEKhom/cRSVsXsMVeXVIAM9PJ/x2mfe08rfuS0iIEfJd8PngKbEIhG72WPxleUa+vkEZj9ncmC14z3Q==} cpu: [arm64] os: [android] - '@oxc-resolver/binding-darwin-arm64@11.17.0': - resolution: {integrity: sha512-lVSgKt3biecofXVr8e1hnfX0IYMd4A6VCxmvOmHsFt5Zbmt0lkO4S2ap2bvQwYDYh5ghUNamC7M2L8K6vishhQ==} + '@oxc-resolver/binding-darwin-arm64@11.17.1': + resolution: {integrity: sha512-HOYYLSY4JDk14YkXaz/ApgJYhgDP4KsG8EZpgpOxdszGW9HmIMMY/vXqVKYW74dSH+GQkIXYxBrEh3nv+XODVg==} cpu: [arm64] os: [darwin] - '@oxc-resolver/binding-darwin-x64@11.17.0': - resolution: {integrity: sha512-+/raxVJE1bo7R4fA9Yp0wm3slaCOofTEeUzM01YqEGcRDLHB92WRGjRhagMG2wGlvqFuSiTp81DwSbBVo/g6AQ==} + '@oxc-resolver/binding-darwin-x64@11.17.1': + resolution: {integrity: sha512-JHPJbsa5HvPq2/RIdtGlqfaG9zV2WmgvHrKTYmlW0L5esqtKCBuetFudXTBzkNcyD69kSZLzH92AzTr6vFHMFg==} cpu: [x64] os: [darwin] - '@oxc-resolver/binding-freebsd-x64@11.17.0': - resolution: {integrity: sha512-x9Ks56n+n8h0TLhzA6sJXa2tGh3uvMGpBppg6PWf8oF0s5S/3p/J6k1vJJ9lIUtTmenfCQEGKnFokpRP4fLTLg==} + '@oxc-resolver/binding-freebsd-x64@11.17.1': + resolution: {integrity: sha512-UD1FRC8j8xZstFXYsXwQkNmmg7vUbee006IqxokwDUUA+xEgKZDpLhBEiVKM08Urb+bn7Q0gn6M1pyNR0ng5mg==} cpu: [x64] os: [freebsd] - '@oxc-resolver/binding-linux-arm-gnueabihf@11.17.0': - resolution: {integrity: sha512-Wf3w07Ow9kXVJrS0zmsaFHKOGhXKXE8j1tNyy+qIYDsQWQ4UQZVx5SjlDTcqBnFerlp3Z3Is0RjmVzgoLG3qkA==} + '@oxc-resolver/binding-linux-arm-gnueabihf@11.17.1': + resolution: {integrity: sha512-wFWC1wyf2ROFWTxK5x0Enm++DSof3EBQ/ypyAesMDLiYxOOASDoMOZG1ylWUnlKaCt5W7eNOWOzABpdfFf/ssA==} cpu: [arm] os: [linux] - '@oxc-resolver/binding-linux-arm-musleabihf@11.17.0': - resolution: {integrity: sha512-N0OKA1al1gQ5Gm7Fui1RWlXaHRNZlwMoBLn3TVtSXX+WbnlZoVyDqqOqFL8+pVEHhhxEA2LR8kmM0JO6FAk6dg==} + '@oxc-resolver/binding-linux-arm-musleabihf@11.17.1': + resolution: {integrity: sha512-k/hUif0GEBk/csSqCfTPXb8AAVs1NNWCa/skBghvNbTtORcWfOVqJ3mM+2pE189+enRm4UnryLREu5ysI0kXEQ==} cpu: [arm] os: [linux] - '@oxc-resolver/binding-linux-arm64-gnu@11.17.0': - resolution: {integrity: sha512-wdcQ7Niad9JpjZIGEeqKJnTvczVunqlZ/C06QzR5zOQNeLVRScQ9S5IesKWUAPsJQDizV+teQX53nTK+Z5Iy+g==} + '@oxc-resolver/binding-linux-arm64-gnu@11.17.1': + resolution: {integrity: sha512-Cwm6A071ww60QouJ9LoHAwBgEoZzHQ0Qaqk2E7WLfBdiQN9mLXIDhnrpn04hlRElRPhLiu/dtg+o5PPLvaINXQ==} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-resolver/binding-linux-arm64-musl@11.17.0': - resolution: {integrity: sha512-65B2/t39HQN5AEhkLsC+9yBD1iRUkKOIhfmJEJ7g6wQ9kylra7JRmNmALFjbsj0VJsoSQkpM8K07kUZuNJ9Kxw==} + '@oxc-resolver/binding-linux-arm64-musl@11.17.1': + resolution: {integrity: sha512-+hwlE2v3m0r3sk93SchJL1uyaKcPjf+NGO/TD2DZUDo+chXx7FfaEj0nUMewigSt7oZ2sQN9Z4NJOtUa75HE5Q==} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-resolver/binding-linux-ppc64-gnu@11.17.0': - resolution: {integrity: sha512-kExgm3TLK21dNMmcH+xiYGbc6BUWvT03PUZ2aYn8mUzGPeeORklBhg3iYcaBI3ZQHB25412X1Z6LLYNjt4aIaA==} + '@oxc-resolver/binding-linux-ppc64-gnu@11.17.1': + resolution: {integrity: sha512-bO+rsaE5Ox8cFyeL5Ct5tzot1TnQpFa/Wmu5k+hqBYSH2dNVDGoi0NizBN5QV8kOIC6O5MZr81UG4yW/2FyDTA==} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-resolver/binding-linux-riscv64-gnu@11.17.0': - resolution: {integrity: sha512-1utUJC714/ydykZQE8c7QhpEyM4SaslMfRXxN9G61KYazr6ndt85LaubK3EZCSD50vVEfF4PVwFysCSO7LN9uA==} + '@oxc-resolver/binding-linux-riscv64-gnu@11.17.1': + resolution: {integrity: sha512-B/P+hxKQ1oX4YstI9Lyh4PGzqB87Ddqj/A4iyRBbPdXTcxa+WW3oRLx1CsJKLmHPdDk461Hmbghq1Bm3pl+8Aw==} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-resolver/binding-linux-riscv64-musl@11.17.0': - resolution: {integrity: sha512-mayiYOl3LMmtO2CLn4I5lhanfxEo0LAqlT/EQyFbu1ZN3RS+Xa7Q3JEM0wBpVIyfO/pqFrjvC5LXw/mHNDEL7A==} + '@oxc-resolver/binding-linux-riscv64-musl@11.17.1': + resolution: {integrity: sha512-ulp2H3bFXzd/th2maH+QNKj5qgOhJ3v9Yspdf1svTw3CDOuuTl6sRKsWQ7MUw0vnkSNvQndtflBwVXgzZvURsQ==} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-resolver/binding-linux-s390x-gnu@11.17.0': - resolution: {integrity: sha512-Ow/yI+CrUHxIIhn/Y1sP/xoRKbCC3x9O1giKr3G/pjMe+TCJ5ZmfqVWU61JWwh1naC8X5Xa7uyLnbzyYqPsHfg==} + '@oxc-resolver/binding-linux-s390x-gnu@11.17.1': + resolution: {integrity: sha512-LAXYVe3rKk09Zo9YKF2ZLBcH8sz8Oj+JIyiUxiHtq0hiYLMsN6dOpCf2hzQEjPAmsSEA/hdC1PVKeXo+oma8mQ==} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-resolver/binding-linux-x64-gnu@11.17.0': - resolution: {integrity: sha512-Z4J7XlPMQOLPANyu6y3B3V417Md4LKH5bV6bhqgaG99qLHmU5LV2k9ErV14fSqoRc/GU/qOpqMdotxiJqN/YWg==} + '@oxc-resolver/binding-linux-x64-gnu@11.17.1': + resolution: {integrity: sha512-3RAhxipMKE8RCSPn7O//sj440i+cYTgYbapLeOoDvQEt6R1QcJjTsFgI4iz99FhVj3YbPxlZmcLB5VW+ipyRTA==} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-resolver/binding-linux-x64-musl@11.17.0': - resolution: {integrity: sha512-0effK+8lhzXsgsh0Ny2ngdnTPF30v6QQzVFApJ1Ctk315YgpGkghkelvrLYYgtgeFJFrzwmOJ2nDvCrUFKsS2Q==} + '@oxc-resolver/binding-linux-x64-musl@11.17.1': + resolution: {integrity: sha512-wpjMEubGU8r9VjZTLdZR3aPHaBqTl8Jl8F4DBbgNoZ+yhkhQD1/MGvY70v2TLnAI6kAHSvcqgfvaqKDa2iWsPQ==} cpu: [x64] os: [linux] libc: [musl] - '@oxc-resolver/binding-openharmony-arm64@11.17.0': - resolution: {integrity: sha512-kFB48dRUW6RovAICZaxHKdtZe+e94fSTNA2OedXokzMctoU54NPZcv0vUX5PMqyikLIKJBIlW7laQidnAzNrDA==} + '@oxc-resolver/binding-openharmony-arm64@11.17.1': + resolution: {integrity: sha512-XIE4w17RYAVIgx+9Gs3deTREq5tsmalbatYOOBGNdH7n0DfTE600c7wYXsp7ANc3BPDXsInnOzXDEPCvO1F6cg==} cpu: [arm64] os: [openharmony] - '@oxc-resolver/binding-wasm32-wasi@11.17.0': - resolution: {integrity: sha512-a3elKSBLPT0OoRPxTkCIIc+4xnOELolEBkPyvdj01a6PSdSmyJ1NExWjWLaXnT6wBMblvKde5RmSwEi3j+jZpg==} + '@oxc-resolver/binding-wasm32-wasi@11.17.1': + resolution: {integrity: sha512-Lqi5BlHX3zS4bpSOkIbOKVf7DIk6Gvmdifr2OuOI58eUUyP944M8/OyaB09cNpPy9Vukj7nmmhOzj8pwLgAkIg==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-resolver/binding-win32-arm64-msvc@11.17.0': - resolution: {integrity: sha512-4eszUsSDb9YVx0RtYkPWkxxtSZIOgfeiX//nG5cwRRArg178w4RCqEF1kbKPud9HPrp1rXh7gE4x911OhvTnPg==} + '@oxc-resolver/binding-win32-arm64-msvc@11.17.1': + resolution: {integrity: sha512-l6lTcLBQVj1HNquFpXSsrkCIM8X5Hlng5YNQJrg00z/KyovvDV5l3OFhoRyZ+aLBQ74zUnMRaJZC7xcBnHyeNg==} cpu: [arm64] os: [win32] - '@oxc-resolver/binding-win32-ia32-msvc@11.17.0': - resolution: {integrity: sha512-t946xTXMmR7yGH0KAe9rB055/X4EPIu93JUvjchl2cizR5QbuwkUV7vLS2BS6x6sfvDoQb6rWYnV1HCci6tBSg==} + '@oxc-resolver/binding-win32-ia32-msvc@11.17.1': + resolution: {integrity: sha512-VTzVtfnCCsU/6GgvursWoyZrhe3Gj/RyXzDWmh4/U1Y3IW0u1FZbp+hCIlBL16pRPbDc5YvXVtCOnA41QOrOoQ==} cpu: [ia32] os: [win32] - '@oxc-resolver/binding-win32-x64-msvc@11.17.0': - resolution: {integrity: sha512-pX6s2kMXLQg+hlqKk5UqOW09iLLxnTkvn8ohpYp2Mhsm2yzDPCx9dyOHiB/CQixLzTkLQgWWJykN4Z3UfRKW4Q==} + '@oxc-resolver/binding-win32-x64-msvc@11.17.1': + resolution: {integrity: sha512-jRPVU+6/12baj87q2+UGRh30FBVBzqKdJ7rP/mSqiL1kpNQB9yZ1j0+m3sru1m+C8hiFK7lBFwjUtYUBI7+UpQ==} cpu: [x64] os: [win32] @@ -9644,14 +9637,14 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@poppinss/colors@4.1.5': - resolution: {integrity: sha512-FvdDqtcRCtz6hThExcFOgW0cWX+xwSMWcRuQe5ZEb2m7cVQOAVZOIMt+/v9RxGiD9/OY16qJBXK4CVKWAPalBw==} + '@poppinss/colors@4.1.6': + resolution: {integrity: sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==} '@poppinss/dumper@0.6.5': resolution: {integrity: sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==} - '@poppinss/exception@1.2.2': - resolution: {integrity: sha512-m7bpKCD4QMlFCjA/nKTs23fuvoVFoA83brRKmObCUNmi/9tVu8Ve3w4YQAnJu4q3Tjf5fr685HYIC/IA2zHRSg==} + '@poppinss/exception@1.2.3': + resolution: {integrity: sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==} '@preact/preset-vite@2.10.3': resolution: {integrity: sha512-1SiS+vFItpkNdBs7q585PSAIln0wBeBdcpJYbzPs1qipsb/FssnkUioNXuRsb8ZnU8YEQHr+3v8+/mzWSnTQmg==} @@ -9684,8 +9677,8 @@ packages: preact: ^10.4.0 || ^11.0.0-0 vite: '>=2.0.0' - '@publint/pack@0.1.3': - resolution: {integrity: sha512-dHDWeutAerz+Z2wFYAce7Y51vd4rbLBfUh0BNnyul4xKoVsPUVJBrOAFsJvtvYBwGFJSqKsxyyHf/7evZ8+Q5Q==} + '@publint/pack@0.1.4': + resolution: {integrity: sha512-HDVTWq3H0uTXiU0eeSQntcVUTPP3GamzeXI41+x7uU9J65JgWQh3qWZHblR1i0npXfFtF+mxBiU2nJH8znxWnQ==} engines: {node: '>=18'} '@qwik.dev/partytown@0.11.2': @@ -9702,6 +9695,9 @@ packages: '@rolldown/pluginutils@1.0.0-rc.3': resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} + '@rolldown/pluginutils@1.0.0-rc.4': + resolution: {integrity: sha512-1BrrmTu0TWfOP1riA8uakjFc9bpIUGzVKETsOtzY39pPga8zELGDl8eu1Dx7/gjM5CAz14UknsUMpBO8L+YntQ==} + '@rollup/pluginutils@4.2.1': resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==} engines: {node: '>= 8.0.0'} @@ -9922,8 +9918,8 @@ packages: '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} - '@sindresorhus/is@7.1.1': - resolution: {integrity: sha512-rO92VvpgMc3kfiTjGT52LEtJ8Yc5kCWhZjLQ3LwlA4pSgPpQO7bVpYXParOD8Jwf+cVQECJo3yP/4I8aZtUQTQ==} + '@sindresorhus/is@7.2.0': + resolution: {integrity: sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==} engines: {node: '>=18'} '@sindresorhus/merge-streams@2.3.0': @@ -9942,14 +9938,14 @@ packages: peerDependencies: solid-js: ^1.8.6 - '@speed-highlight/core@1.2.12': - resolution: {integrity: sha512-uilwrK0Ygyri5dToHYdZSjcvpS2ZwX0w5aSt3GCEN9hrjxWCoeV4Z2DTXuxjwbntaLQIEEAlCeNQss5SoHvAEA==} + '@speed-highlight/core@1.2.14': + resolution: {integrity: sha512-G4ewlBNhUtlLvrJTb88d2mdy2KRijzs4UhnlrOSRT4bmjh/IqNElZa3zkrZ+TC47TwtlDWzVLFADljF1Ijp5hA==} '@standard-schema/spec@1.1.0': resolution: {integrity: sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==} - '@sveltejs/acorn-typescript@1.0.6': - resolution: {integrity: sha512-4awhxtMh4cx9blePWl10HRHj8Iivtqj+2QdDCSMDzxG+XKa9+VCNupQuCuvzEhYPzZSrX+0gC+0lHA/0fFKKQQ==} + '@sveltejs/acorn-typescript@1.0.9': + resolution: {integrity: sha512-lVJX6qEgs/4DOcRTpo56tmKzVPtoWAaVbL4hfO7t7NVwl9AAXzQR6cihesW1BmNMPl+bK6dreu2sOKBP2Q9CIA==} peerDependencies: acorn: ^8.9.0 @@ -10150,8 +10146,8 @@ packages: '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - '@types/katex@0.16.7': - resolution: {integrity: sha512-HMwFiRujE5PjrgwHQ25+bsLJgowjGjm5Z8FVSf0N6PwgJrwxH0QxzHYDcKsTfV3wva0vzrpqMTJS2jXPr5BMEQ==} + '@types/katex@0.16.8': + resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==} '@types/linkify-it@3.0.5': resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} @@ -10192,17 +10188,17 @@ packages: '@types/node@18.19.130': resolution: {integrity: sha512-GRaXQx6jGfL8sKfaIDD6OupbIHBr9jv7Jnaml9tB7l4v068PAOXqfcujMMo5PhbIs6ggR1XODELqahT2R8v0fg==} - '@types/node@20.19.31': - resolution: {integrity: sha512-5jsi0wpncvTD33Sh1UCgacK37FFwDn+EG7wCmEvs62fCvBL+n8/76cAYDok21NF6+jaVWIqKwCZyX7Vbu8eB3A==} + '@types/node@20.19.33': + resolution: {integrity: sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==} - '@types/node@22.19.8': - resolution: {integrity: sha512-ebO/Yl+EAvVe8DnMfi+iaAyIqYdK0q/q0y0rw82INWEKJOBe6b/P3YWE8NW7oOlF/nXFNrHwhARrN/hdgDkraA==} + '@types/node@22.19.11': + resolution: {integrity: sha512-BH7YwL6rA93ReqeQS1c4bsPpcfOmJasG+Fkr6Y59q83f9M1WcBRHR2vM+P9eOisYRcN3ujQoiZY8uk5W+1WL8w==} - '@types/node@24.10.10': - resolution: {integrity: sha512-+0/4J266CBGPUq/ELg7QUHhN25WYjE0wYTPSQJn1xeu8DOlIOPxXxrNGiLmfAWl7HMMgWFWXpt9IDjMWrF5Iow==} + '@types/node@24.10.13': + resolution: {integrity: sha512-oH72nZRfDv9lADUBSo104Aq7gPHpQZc4BTx38r9xf9pg5LfP6EzSyH2n7qFmmxRQXh7YlUXODcYsg6PuTDSxGg==} - '@types/node@25.2.2': - resolution: {integrity: sha512-BkmoP5/FhRYek5izySdkOneRyXYN35I860MFAGupTdebyE66uZaR+bXLHq8k4DirE5DwQi3NuhvRU1jqTVwUrQ==} + '@types/node@25.2.3': + resolution: {integrity: sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -10265,8 +10261,8 @@ packages: '@types/unist@3.0.3': resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==} - '@types/vscode@1.108.0': - resolution: {integrity: sha512-WXEz8iCGrraEf+NB8gvC9ONakihpRYsnw2n8oq2/qAQGB5MrQERlkd2KxjpvlLHPjyu3uBynDZ+DRUe5vsw94g==} + '@types/vscode@1.109.0': + resolution: {integrity: sha512-0Pf95rnwEIwDbmXGC08r0B4TQhAbsHQ5UyTIgVgoieDe4cOnf92usuR5dEczb6bTKEp7ziZH4TV1TRGPPCExtw==} '@types/which-pm-runs@1.0.2': resolution: {integrity: sha512-M0ZefeDApctHbjqtATOiixiwafG7pXD3exxnjku4XmX9+2DmONGghv5Z8Pnm0lNLBZKvDQyuG+4pLkH2UkP5gg==} @@ -10354,8 +10350,8 @@ packages: '@typescript/vfs@1.3.5': resolution: {integrity: sha512-pI8Saqjupf9MfLw7w2+og+fmb0fZS0J6vsKXXrp4/PDXEFvntgzXmChCXC/KefZZS0YGS6AT8e0hGAJcTsdJlg==} - '@typespec/ts-http-runtime@0.3.1': - resolution: {integrity: sha512-SnbaqayTVFEA6/tYumdF0UmybY0KHyKwGPBXnyckFlrrKdhWFrL3a2HIPXHjht5ZOElKGcXfD2D63P36btb+ww==} + '@typespec/ts-http-runtime@0.3.3': + resolution: {integrity: sha512-91fp6CAAJSRtH5ja95T1FHSKa8aPW9/Zw6cta81jlZTUw/+Vq8jM/AfF/14h2b71wwR84JUTW/3Y8QPhDAawFA==} engines: {node: '>=20.0.0'} '@ungap/structured-clone@1.3.0': @@ -10567,13 +10563,13 @@ packages: cpu: [x64] os: [alpine] - '@vscode/vsce-sign-darwin-arm64@2.0.2': - resolution: {integrity: sha512-rz8F4pMcxPj8fjKAJIfkUT8ycG9CjIp888VY/6pq6cuI2qEzQ0+b5p3xb74CJnBbSC0p2eRVoe+WgNCAxCLtzQ==} + '@vscode/vsce-sign-darwin-arm64@2.0.6': + resolution: {integrity: sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==} cpu: [arm64] os: [darwin] - '@vscode/vsce-sign-darwin-x64@2.0.2': - resolution: {integrity: sha512-MCjPrQ5MY/QVoZ6n0D92jcRb7eYvxAujG/AH2yM6lI0BspvJQxp0o9s5oiAM9r32r9tkLpiy5s2icsbwefAQIw==} + '@vscode/vsce-sign-darwin-x64@2.0.6': + resolution: {integrity: sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==} cpu: [x64] os: [darwin] @@ -10602,8 +10598,8 @@ packages: cpu: [x64] os: [win32] - '@vscode/vsce-sign@2.0.8': - resolution: {integrity: sha512-H7p8E11cZMj6mt8xIi3QXZ7dSU/2MH3Y7c+5JfUhHAV4xfaPNc8ozwLVK282c6ah596KoIJIdPUlNHV7Qs/5JA==} + '@vscode/vsce-sign@2.0.9': + resolution: {integrity: sha512-8IvaRvtFyzUnGGl3f5+1Cnor3LqaUWvhaUjAYO8Y39OUYlOf3cRd+dowuQYLpZcP3uwSG+mURwjEBOSq4SOJ0g==} '@vscode/vsce@2.32.0': resolution: {integrity: sha512-3EFJfsgrSftIqt3EtdRcAygy/OJ3hstyI1cDmIgkU9CFZW5C+3djr6mfosndCUqcVYuyjmxOK1xmFp/Bq7+NIg==} @@ -10711,20 +10707,20 @@ packages: resolution: {integrity: sha512-LOtTn+JgJvX8WfBVJtF08TGrdjuFzGJc4mkP8EdDI8ADbvO7kiexYep1o8dwnt0okb0jYclCDXF13xU7Ge4zSw==} engines: {node: '>=18.0.0'} - '@whatwg-node/fetch@0.10.11': - resolution: {integrity: sha512-eR8SYtf9Nem1Tnl0IWrY33qJ5wCtIWlt3Fs3c6V4aAaTFLtkEQErXu3SSZg/XCHrj9hXSJ8/8t+CdMk5Qec/ZA==} + '@whatwg-node/fetch@0.10.13': + resolution: {integrity: sha512-b4PhJ+zYj4357zwk4TTuF2nEe0vVtOrwdsrNo5hL+u1ojXNhh1FgJ6pg1jzDlwlT4oBdzfSwaBwMCtFCsIWg8Q==} engines: {node: '>=18.0.0'} - '@whatwg-node/node-fetch@0.8.1': - resolution: {integrity: sha512-cQmQEo7IsI0EPX9VrwygXVzrVlX43Jb7/DBZSmpnC7xH4xkyOnn/HykHpTaQk7TUs7zh59A5uTGqx3p2Ouzffw==} + '@whatwg-node/node-fetch@0.8.5': + resolution: {integrity: sha512-4xzCl/zphPqlp9tASLVeUhB5+WJHbuWGYpfoC2q1qh5dw0AqZBW7L27V5roxYWijPxj4sspRAAoOH3d2ztaHUQ==} engines: {node: '>=18.0.0'} '@whatwg-node/promise-helpers@1.3.2': resolution: {integrity: sha512-Nst5JdK47VIl9UcGwtv2Rcgyn5lWtZ0/mhRQ4G8NN2isxpq2TO30iqHzmwoJycjWuyUfg3GFXqP/gFHXeV57IA==} engines: {node: '>=16.0.0'} - '@whatwg-node/server@0.10.13': - resolution: {integrity: sha512-Otmxo+0mp8az3B48pLI1I4msNOXPIoP7TLm6h5wOEQmynqHt8oP9nR6NJUeJk6iI5OtFpQtkbJFwfGkmplvc3Q==} + '@whatwg-node/server@0.10.18': + resolution: {integrity: sha512-kMwLlxUbduttIgaPdSkmEarFpP+mSY8FEm+QWMBRJwxOHWkri+cxd8KZHO9EMrB9vgUuz+5WEaCawaL5wGVoXg==} engines: {node: '>=18.0.0'} '@xmldom/xmldom@0.9.8': @@ -10802,8 +10798,8 @@ packages: resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} engines: {node: '>=12'} - ansi-escapes@7.1.1: - resolution: {integrity: sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==} + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} ansi-regex@3.0.1: @@ -10882,8 +10878,8 @@ packages: resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==} hasBin: true - astro-auto-import@0.4.5: - resolution: {integrity: sha512-KU1qFJ97Qks2aT+qSxjrOY6tcwzzLVhY/8w1eM8vwqpP+MDpHKAlbr8Otg9T8g/Mfl/FOdG3nO9lydv1zbtyQA==} + astro-auto-import@0.4.6: + resolution: {integrity: sha512-8EgeOTChgHX6x31s2CjeOUCDuG2s0wgT9D9zXI4CxgmljEoJeCAWIq/henhdmvZ+Y103MfH7CYNw5VW7GiM6xQ==} engines: {node: '>=16.0.0'} peerDependencies: astro: ^2.0.0 || ^3.0.0-beta || ^4.0.0-beta || ^5.0.0-beta @@ -10921,11 +10917,11 @@ packages: peerDependencies: postcss: ^8.1.0 - avvio@9.1.0: - resolution: {integrity: sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw==} + avvio@9.2.0: + resolution: {integrity: sha512-2t/sy01ArdHHE0vRH5Hsay+RtCZt3dLPji7W7/MMOCEgze5b7SNDC4j5H6FnVgPkI1MTNFGzHdHrVXDDl7QSSQ==} - axios@1.13.4: - resolution: {integrity: sha512-1wVkUaAO6WyaYtCkcYCOx12ZgpGf9Zif+qXa4n+oYzK558YryKqiL6UWwd5DqiH3VRW0GYhTZQ/vlgJrCoNQlg==} + axios@1.13.5: + resolution: {integrity: sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==} axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} @@ -10934,8 +10930,8 @@ packages: azure-devops-node-api@12.5.0: resolution: {integrity: sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==} - b4a@1.7.3: - resolution: {integrity: sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==} + b4a@1.7.4: + resolution: {integrity: sha512-u20zJLDaSWpxaZ+zaAkEIB2dZZ1o+DF4T/MRbmsvGp9nletHOyiai19OzX1fF8xUBYsO1bPXxODvcd0978pnug==} peerDependencies: react-native-b4a: '*' peerDependenciesMeta: @@ -10967,8 +10963,12 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - bare-events@2.8.1: - resolution: {integrity: sha512-oxSAxTS1hRfnyit2CL5QpAOS5ixfBjj6ex3yTNvXyY/kE719jQ/IjuESJBK2w5v4wwQRAHGseVJXx9QBYOtFGQ==} + balanced-match@4.0.2: + resolution: {integrity: sha512-x0K50QvKQ97fdEz2kPehIerj+YTeptKF9hyYkKf6egnwmMWAkADiO0QCzSp0R5xN8FTZgYaBfSaue46Ej62nMg==} + engines: {node: 20 || >=22} + + bare-events@2.8.2: + resolution: {integrity: sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==} peerDependencies: bare-abort-controller: '*' peerDependenciesMeta: @@ -11009,8 +11009,8 @@ packages: bindings@1.5.0: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - birpc@2.6.1: - resolution: {integrity: sha512-LPnFhlDpdSH6FJhJyn4M0kFO7vtQ5iPw24FnG0y21q09xC7e8+1LeR31S1MAIrDAHp4m7aas4bEkTDTvMAtebQ==} + birpc@2.9.0: + resolution: {integrity: sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==} bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -11037,6 +11037,10 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} + brace-expansion@5.0.2: + resolution: {integrity: sha512-Pdk8c9poy+YhOgVWw1JNN22/HcivgKWwpxKq04M/jTmHyCZn12WPJebZxdjSa5TmBqISrUSgNYU3eRORljfCCw==} + engines: {node: 20 || >=22} + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -11113,8 +11117,8 @@ packages: resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} engines: {node: '>=10'} - caniuse-lite@1.0.30001767: - resolution: {integrity: sha512-34+zUAMhSH+r+9eKmYG+k2Rpt8XttfE4yXAjoZvkAPs15xcYQhyBYdalJ65BzivAvGRMViEjy6oKr/S91loekQ==} + caniuse-lite@1.0.30001769: + resolution: {integrity: sha512-BCfFL1sHijQlBGWBMuJyhZUhzo7wer5sVj9hqekB/7xn0Ypy+pER/edCYQm4exbXj4WiySGp40P8UuTh6w1srg==} canvas-confetti@1.9.4: resolution: {integrity: sha512-yxQbJkAVrFXWNbTUjPqjF7G+g6pDotOUHGbkZq2NELZUMDpiJ85rIEazVb8GTaAptNW2miJAXbs1BtioA251Pw==} @@ -11157,11 +11161,11 @@ packages: character-reference-invalid@2.0.1: resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==} - chardet@2.1.0: - resolution: {integrity: sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==} + chardet@2.1.1: + resolution: {integrity: sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==} - check-error@2.1.1: - resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + check-error@2.1.3: + resolution: {integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==} engines: {node: '>= 16'} cheerio-select@2.1.0: @@ -11252,8 +11256,8 @@ packages: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-convert@3.1.2: - resolution: {integrity: sha512-UNqkvCDXstVck3kdowtOTWROIJQwafjOfXSmddoDrXo4cewMKmusCeF22Q24zvjR8nwWib/3S/dfyzPItPEiJg==} + color-convert@3.1.3: + resolution: {integrity: sha512-fasDH2ont2GqF5HpyO4w0+BcewlhHEZOFn9c1ckZdHpJ56Qb7MHhH/IcJZbBGgvdtwdwNbLvxiBEdg336iA9Sg==} engines: {node: '>=14.6'} color-name@1.1.3: @@ -11262,20 +11266,20 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-name@2.0.2: - resolution: {integrity: sha512-9vEt7gE16EW7Eu7pvZnR0abW9z6ufzhXxGXZEVU9IqPdlsUiMwJeJfRtq0zePUmnbHGT9zajca7mX8zgoayo4A==} + color-name@2.1.0: + resolution: {integrity: sha512-1bPaDNFm0axzE4MEAzKPuqKWeRaT43U/hyxKPBdqTfmPF+d6n7FSoTFxLVULUJOmiLp01KjhIPPH+HrXZJN4Rg==} engines: {node: '>=12.20'} - color-string@2.1.2: - resolution: {integrity: sha512-RxmjYxbWemV9gKu4zPgiZagUxbH3RQpEIO77XoSSX0ivgABDZ+h8Zuash/EMFLTI4N9QgFPOJ6JQpPZKFxa+dA==} + color-string@2.1.4: + resolution: {integrity: sha512-Bb6Cq8oq0IjDOe8wJmi4JeNn763Xs9cfrBcaylK1tPypWzyoy2G3l90v9k64kjphl/ZJjPIShFztenRomi8WTg==} engines: {node: '>=18'} color-support@1.1.3: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true - color@5.0.2: - resolution: {integrity: sha512-e2hz5BzbUPcYlIRHo8ieAhYgoajrJr+hWoceg6E345TPsATMUKqDgzt8fSXZJJbxfpiPzkWyphz8yn8At7q3fA==} + color@5.0.3: + resolution: {integrity: sha512-ezmVcLR3xAVp8kYOm4GS45ZLLgIE6SPAFoduLr6hTDajwb3KZ2F46gulK3XpcwRFb5KKGCSezCBAY4Dw4HsyXA==} engines: {node: '>=18'} combined-stream@1.0.8: @@ -11367,8 +11371,8 @@ packages: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} - cookie@0.7.1: - resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} + cookie@0.7.2: + resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} cookie@1.1.1: @@ -11441,8 +11445,8 @@ packages: css-selector-parser@1.4.1: resolution: {integrity: sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g==} - css-selector-parser@3.1.3: - resolution: {integrity: sha512-gJMigczVZqYAk0hPVzx/M4Hm1D9QOtqkdQk9005TNzDIUGzo5cnHEDiKUT7jGPximL/oYb+LIitcHFQ4aKupxg==} + css-selector-parser@3.3.0: + resolution: {integrity: sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==} css-tree@2.2.1: resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} @@ -11518,8 +11522,8 @@ packages: dedent-js@1.0.1: resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} - dedent@1.7.0: - resolution: {integrity: sha512-HGFtf8yhuhGhqO07SV79tRp+br4MnbdjeVxotpn1QBl30pcLLCQjX5b2295ll0fv8RKDKsmWYrl05usHM9CewQ==} + dedent@1.7.1: + resolution: {integrity: sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -11545,8 +11549,8 @@ packages: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - default-browser-id@5.0.0: - resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==} + default-browser-id@5.0.1: + resolution: {integrity: sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==} engines: {node: '>=18'} default-browser@5.5.0: @@ -12011,12 +12015,12 @@ packages: engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} - esrap@2.2.2: - resolution: {integrity: sha512-zA6497ha+qKvoWIK+WM9NAh5ni17sKZKhbS5B3PoYbBvaYHZWoS33zmFybmyqpn07RLUxSmn+RCls2/XF+d0oQ==} + esrap@2.2.3: + resolution: {integrity: sha512-8fOS+GIGCQZl/ZIlhl59htOlms6U8NvX6ZYgYHpRU/b6tVSh3uHkOHZikl3D4cMbYM0JlpBe+p/BkZEi8J9XIQ==} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -12076,8 +12080,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execa@9.6.0: - resolution: {integrity: sha512-jpWzZ1ZhwUmeWRhS7Qv3mhpOhLfwI+uAX4e5fOcXqwMR7EcJ0pj2kV1CVzHVMX/LphnKWD3LObjZCoJ71lKpHw==} + execa@9.6.1: + resolution: {integrity: sha512-9Be3ZoN4LmYR90tUoVu2te2BsbzHfhJyfEiAVfz7N5/zv+jduIfLrV2xdQXOHbaD6KgpGdO9PRPM1Y4Q9QkPkA==} engines: {node: ^18.19.0 || >=20.5.0} expand-template@2.0.3: @@ -12119,8 +12123,8 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - fast-json-stringify@6.2.0: - resolution: {integrity: sha512-Eaf/KNIDwHkzfyeQFNfLXJnQ7cl1XQI3+zRqmPlvtkMigbXnAcasTrvJQmquBSxKfFGeRA6PFog8t+hFmpDoWw==} + fast-json-stringify@6.3.0: + resolution: {integrity: sha512-oRCntNDY/329HJPlmdNLIdogNtt6Vyjb1WuT01Soss3slIdyUp8kAcDU3saQTOquEK8KFVfwIIF7FebxUAu+yA==} fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} @@ -12134,8 +12138,8 @@ packages: fast-uri@3.1.0: resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - fast-xml-parser@5.3.6: - resolution: {integrity: sha512-QNI3sAvSvaOiaMl8FYU4trnEzCwiRr8XMWgAHzlrWpTSj+QaCSvOf1h82OEP1s4hiAXhnbXSyFWCf4ldZzZRVA==} + fast-xml-parser@5.3.5: + resolution: {integrity: sha512-JeaA2Vm9ffQKp9VjvfzObuMCjUYAp5WDYhRYL5LrBPY/jUDlUtOvDfot0vKSkB9tuX885BDHjtw4fZadD95wnA==} hasBin: true fastify-plugin@5.1.0: @@ -12144,8 +12148,8 @@ packages: fastify@5.7.4: resolution: {integrity: sha512-e6l5NsRdaEP8rdD8VR0ErJASeyaRbzXYpmkrpr2SuvuMq6Si3lvsaVy5C+7gLanEkvjpMDzBXWE5HPeb/hgTxA==} - fastq@1.19.1: - resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} + fastq@1.20.1: + resolution: {integrity: sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==} fd-package-json@2.0.0: resolution: {integrity: sha512-jKmm9YtsNXN789RS/0mSzOC1NUq9mkVd65vbSSVsKdjGvYXBuE4oWe2QOEoFeRmJg+lPuZxpmrfFclNhoRMneQ==} @@ -12258,8 +12262,8 @@ packages: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - form-data@4.0.4: - resolution: {integrity: sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==} + form-data@4.0.5: + resolution: {integrity: sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==} engines: {node: '>= 6'} formatly@0.3.0: @@ -12293,8 +12297,8 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.3.2: - resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} + fs-extra@11.3.3: + resolution: {integrity: sha512-VWSRii4t0AFm6ixFFmLLx1t7wS1gh+ckoa84aOeapGum0h+EZd1EhEumSB+ZdDLnEPuucsVB9oB7cxJHap6Afg==} engines: {node: '>=14.14'} fs-extra@7.0.1: @@ -12372,8 +12376,8 @@ packages: resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} engines: {node: '>=18'} - get-tsconfig@4.13.1: - resolution: {integrity: sha512-EoY1N2xCn44xU6750Sx7OjOIT59FkmstNc3X6y5xpz7D5cBtZRe/3pSlTkDJgqsOk3WwZPkWfonhhUJfttQo3w==} + get-tsconfig@4.13.6: + resolution: {integrity: sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw==} github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} @@ -12394,14 +12398,14 @@ packages: deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - glob@11.0.3: - resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} + glob@11.1.0: + resolution: {integrity: sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==} engines: {node: 20 || >=22} deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me hasBin: true - glob@13.0.1: - resolution: {integrity: sha512-B7U/vJpE3DkJ5WXTgTpTRN63uV42DseiXXKMwG14LQBXmsdeIoHAPbU/MEo6II0k5ED74uc2ZGTC6MwHFQhF6w==} + glob@13.0.3: + resolution: {integrity: sha512-/g3B0mC+4x724v1TgtBlBtt2hPi/EWptsIAmXUx9Z2rvBYleQcsrmaOzd5LyL50jf/Soi83ZDJmw2+XqvH/EeA==} engines: {node: 20 || >=22} glob@7.2.3: @@ -12502,8 +12506,8 @@ packages: hast-util-to-jsx-runtime@2.3.6: resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==} - hast-util-to-parse5@8.0.0: - resolution: {integrity: sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==} + hast-util-to-parse5@8.0.1: + resolution: {integrity: sha512-MlWT6Pjt4CG9lFCjiz4BH7l9wmrMkfkJYCxFwKQic8+RTZgWPuWxwAfjJElsXkex7DJjfSJsQIt931ilUgmwdA==} hast-util-to-string@3.0.1: resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} @@ -12554,9 +12558,6 @@ packages: htmlparser2@10.1.0: resolution: {integrity: sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==} - htmlparser2@8.0.2: - resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} - http-cache-semantics@4.2.0: resolution: {integrity: sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==} @@ -12579,8 +12580,8 @@ packages: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - human-id@4.1.2: - resolution: {integrity: sha512-v/J+4Z/1eIJovEBdlV5TYj1IR+ZiohcYGRY+qN/oC9dAfKzVT023N/Bgw37hrKCoVRBvk3bqyzpr2PP5YeTMSg==} + human-id@4.1.3: + resolution: {integrity: sha512-tsYlhAYpjCKa//8rXZ9DqKEawhPoSytweBC2eNvcaDK+57RZLHGqNs3PZTQO6yekLFSuvA6AlnAfrw1uBvtb+Q==} hasBin: true human-signals@5.0.0: @@ -12598,8 +12599,8 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - iconv-lite@0.7.0: - resolution: {integrity: sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==} + iconv-lite@0.7.2: + resolution: {integrity: sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==} engines: {node: '>=0.10.0'} ieee754@1.2.1: @@ -12659,8 +12660,8 @@ packages: ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - inline-style-parser@0.2.4: - resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==} + inline-style-parser@0.2.7: + resolution: {integrity: sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==} ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} @@ -12854,8 +12855,8 @@ packages: jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - jackspeak@4.1.1: - resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} + jackspeak@4.2.3: + resolution: {integrity: sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==} engines: {node: 20 || >=22} jiti@2.6.1: @@ -12877,16 +12878,16 @@ packages: js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + js-yaml@3.14.2: + resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} hasBin: true js-yaml@4.1.1: resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} hasBin: true - jsdoc-type-pratt-parser@7.1.0: - resolution: {integrity: sha512-SX7q7XyCwzM/MEDCYz0l8GgGbJAACGFII9+WfNYr5SLEKukHWRy2Jk3iWRe7P+lpYJNs7oQ+OSei4JtKGUjd7A==} + jsdoc-type-pratt-parser@7.1.1: + resolution: {integrity: sha512-/2uqY7x6bsrpi3i9LVU6J89352C0rpMk0as8trXxCtvd4kPk1ke/Eyif6wqfSLvoNJqcDG9Vk4UsXgygzCt2xA==} engines: {node: '>=20.0.0'} jsesc@3.1.0: @@ -12934,6 +12935,10 @@ packages: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} + jsonwebtoken@9.0.3: + resolution: {integrity: sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==} + engines: {node: '>=12', npm: '>=6'} + jszip@3.10.1: resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} @@ -12947,8 +12952,14 @@ packages: jwa@1.4.2: resolution: {integrity: sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==} - jws@3.2.2: - resolution: {integrity: sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==} + jwa@2.0.1: + resolution: {integrity: sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==} + + jws@3.2.3: + resolution: {integrity: sha512-byiJ0FLRdLdSVSReO/U4E7RoEyOCKnEnEPMjq3HxWtvzLsV08/i5RQKsFVNkCldrCaPr2vDNAOMsfs8T/Hze7g==} + + jws@4.0.1: + resolution: {integrity: sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==} jwt-decode@4.0.0: resolution: {integrity: sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==} @@ -13084,9 +13095,6 @@ packages: resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} engines: {node: '>= 12.0.0'} - linkedom@0.14.26: - resolution: {integrity: sha512-mK6TrydfFA7phrnp+1j57ycBwFI5bGSW6YXlw9acHoqF+mP/y+FooEYYyniOt5Ot57FSKB3iwmnuQ1UUyNLm5A==} - linkedom@0.18.12: resolution: {integrity: sha512-jalJsOwIKuQJSeTvsgzPe9iJzyfVaEJiEXl+25EkKevsULHvMJzpNqwvj1jOESWdmgKDiXObyjOYwlUqG7wo1Q==} engines: {node: '>=16'} @@ -13106,17 +13114,17 @@ packages: resolution: {integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==} hasBin: true - lit-element@4.2.1: - resolution: {integrity: sha512-WGAWRGzirAgyphK2urmYOV72tlvnxw7YfyLDgQ+OZnM9vQQBQnumQ7jUJe6unEzwGU3ahFOjuz1iz1jjrpCPuw==} + lit-element@4.2.2: + resolution: {integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==} - lit-html@3.3.1: - resolution: {integrity: sha512-S9hbyDu/vs1qNrithiNyeyv64c9yqiW9l+DBgI18fL+MTvOtWoFR0FWiyq1TxaYef5wNlpEmzlXoBlZEO+WjoA==} + lit-html@3.3.2: + resolution: {integrity: sha512-Qy9hU88zcmaxBXcc10ZpdK7cOLXvXpRoBxERdtqV9QOrfpMZZ6pSYP91LhpPtap3sFMUiL7Tw2RImbe0Al2/kw==} lit@3.3.2: resolution: {integrity: sha512-NF9zbsP79l4ao2SNrH3NkfmFgN/hBYSQo90saIVI1o5GpjAdCPVstVzO1MrLOakHoEhYkrtRjPK6Ob521aoYWQ==} - lite-youtube-embed@0.3.3: - resolution: {integrity: sha512-gFfVVnj6NRjxVfJKo3qoLtpi0v5mn3AcR4eKD45wrxQuxzveFJUb+7Cr6uV6n+DjO8X3p0UzPPquhGt0H/y+NA==} + lite-youtube-embed@0.3.4: + resolution: {integrity: sha512-aXgxpwK7AIW58GEbRzA8EYaY4LWvF3FKak6B9OtSJmuNyLhX2ouD4cMTxz/yR5HFInhknaYd2jLWOTRTvT8oAw==} locate-character@3.0.0: resolution: {integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==} @@ -13207,8 +13215,8 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@11.2.5: - resolution: {integrity: sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==} + lru-cache@11.2.6: + resolution: {integrity: sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==} engines: {node: 20 || >=22} lru-cache@5.1.1: @@ -13251,8 +13259,8 @@ packages: resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} hasBin: true - markdown-it@14.1.0: - resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} + markdown-it@14.1.1: + resolution: {integrity: sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==} hasBin: true markdown-table@3.0.4: @@ -13263,10 +13271,10 @@ packages: peerDependencies: marked: '>=7.0.0' - marked-smartypants@1.1.10: - resolution: {integrity: sha512-XGK59M2nhy3Jpa0kdWSXQuKn908VkKbqK1IqF8Rk5QV619OWBs2/rkcg/PVhpKkADlRKJSYe6XqDMZMkZywT4g==} + marked-smartypants@1.1.11: + resolution: {integrity: sha512-Jt0eq/6rf9oXDfEKPzQ0z7UzVWcEAK3L6QBBQzbwV8bT304OvPVLTqpH3yvkSung9foOM4s120TMHEHP76Metg==} peerDependencies: - marked: '>=4 <17' + marked: '>=4 <18' marked@12.0.2: resolution: {integrity: sha512-qXUm7e/YKFoqFPYPa3Ukg9xlI5cyAtGmyEIzMfW//m6kXwCy2Ps9DYf5ioijFKQ8qyuscrHoY04iJGctu2Kg0Q==} @@ -13326,8 +13334,8 @@ packages: mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - mdast-util-to-hast@13.2.0: - resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} + mdast-util-to-hast@13.2.1: + resolution: {integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==} mdast-util-to-markdown@2.1.2: resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==} @@ -13549,8 +13557,8 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - minimatch@10.1.2: - resolution: {integrity: sha512-fu656aJ0n2kcXwsnwnv9g24tkU5uSmOlTjd6WyyaKm2Z+h1qmY6bAjrcaIxF/BslFqbZ8UBtbJi7KgQOZD2PTw==} + minimatch@10.2.0: + resolution: {integrity: sha512-ugkC31VaVg9cF0DFVoADH12k6061zNZkZON+aX8AWsR9GhPcErkcMBceb6znR8wLERM2AkkOxy2nWRLpT9Jq5w==} engines: {node: 20 || >=22} minimatch@3.1.2: @@ -13690,8 +13698,8 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + node-forge@1.3.3: + resolution: {integrity: sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==} engines: {node: '>= 6.13.0'} node-gyp-build@4.8.4: @@ -13719,9 +13727,9 @@ packages: node-releases@2.0.27: resolution: {integrity: sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==} - node-sarif-builder@3.2.0: - resolution: {integrity: sha512-kVIOdynrF2CRodHZeP/97Rh1syTUHBNiw17hUCIVhlhEsWlfJm19MuO56s4MdKbr22xWx6mzMnNAgXzVlIYM9Q==} - engines: {node: '>=18'} + node-sarif-builder@3.4.0: + resolution: {integrity: sha512-tGnJW6OKRii9u/b2WiUViTJS+h7Apxx17qsMUjsUeNDiMMX5ZFf8F8Fcz7PAQ6omvOxHZtvDTmOYKJQwmfpjeg==} + engines: {node: '>=20'} node-source-walk@7.0.1: resolution: {integrity: sha512-3VW/8JpPqPvnJvseXowjZcirPisssnBuDikk6JIZ8jQzF7KJQX52iPFX4RYYxLycYH7IbMRSPUOga/esVjy5Yg==} @@ -13842,8 +13850,8 @@ packages: engines: {node: '>= 20'} hasBin: true - oxc-resolver@11.17.0: - resolution: {integrity: sha512-R5P2Tw6th+nQJdNcZGfuppBS/sM0x1EukqYffmlfX2xXLgLGCCPwu4ruEr9Sx29mrpkHgITc130Qps2JR90NdQ==} + oxc-resolver@11.17.1: + resolution: {integrity: sha512-pyRXK9kH81zKlirHufkFhOFBZRks8iAMLwPH8gU7lvKFiuzUH9L8MxDEllazwOb8fjXMcWjY1PMDfMJ2/yh5cw==} p-event@6.0.1: resolution: {integrity: sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w==} @@ -13885,8 +13893,8 @@ packages: resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} engines: {node: '>=6'} - p-map@7.0.3: - resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + p-map@7.0.4: + resolution: {integrity: sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==} engines: {node: '>=18'} p-queue@9.1.0: @@ -14003,8 +14011,8 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - path-scurry@2.0.0: - resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} + path-scurry@2.0.1: + resolution: {integrity: sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==} engines: {node: 20 || >=22} path-to-regexp@6.1.0: @@ -14070,8 +14078,8 @@ packages: pino-std-serializers@7.1.0: resolution: {integrity: sha512-BndPH67/JxGExRgiX1dX0w1FvZck5Wa4aal9198SrRhZjH3GxKQUKIBnYJTdj2HDN3UQAS06HlfcSbQj2OHmaw==} - pino@10.2.1: - resolution: {integrity: sha512-Tjyv76gdUe2460dEhtcnA4fU/+HhGq2Kr7OWlo2R/Xxbmn/ZNKWavNWTD2k97IE+s755iVU7WcaOEIl+H3cq8w==} + pino@10.3.1: + resolution: {integrity: sha512-r34yH/GlQpKZbU1BvFFqOjhISRo1MNx1tWYsYvmj6KIRHSPMT2+yHOEb1SG6NMvRoHRF0a07kCOox/9yakl1vg==} hasBin: true pkg-types@1.3.1: @@ -14339,9 +14347,6 @@ packages: promise-limit@2.7.0: resolution: {integrity: sha512-7nJ6v5lnJsXwGprnGXga4wx6d1POjvi5Qmf1ivTRxTjH4Z/9Czja/UCMLVmB9N93GeWOU93XaFaEt6jbuoagNw==} - property-information@6.5.0: - resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==} - property-information@7.1.0: resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==} @@ -14368,8 +14373,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - qs@6.14.1: - resolution: {integrity: sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==} + qs@6.14.2: + resolution: {integrity: sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==} engines: {node: '>=0.6'} quansync@0.2.11: @@ -14516,8 +14521,8 @@ packages: regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@6.0.1: - resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} + regex@6.1.0: + resolution: {integrity: sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==} regexp-ast-analysis@0.7.1: resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} @@ -14725,8 +14730,9 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - sax@1.4.1: - resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} + sax@1.4.4: + resolution: {integrity: sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==} + engines: {node: '>=11.0.0'} scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} @@ -14917,8 +14923,8 @@ packages: peerDependencies: solid-js: ^1.3 - sonic-boom@4.2.0: - resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==} + sonic-boom@4.2.1: + resolution: {integrity: sha512-w6AxtubXa2wTXAUsZMMWERrsIRAdrK0Sc+FUytWvYAhBJLyuI4llrMIC1DtlNSdI99EI86KZum2MMq3EAZlF9Q==} source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} @@ -15069,17 +15075,17 @@ packages: structured-source@4.0.0: resolution: {integrity: sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==} - style-to-js@1.1.18: - resolution: {integrity: sha512-JFPn62D4kJaPTnhFUI244MThx+FEGbi+9dw1b9yBBQ+1CZpV7QAT8kUtJ7b7EUNdHajjF/0x8fT+16oLJoojLg==} + style-to-js@1.1.21: + resolution: {integrity: sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==} - style-to-object@1.0.11: - resolution: {integrity: sha512-5A560JmXr7wDyGLK12Nq/EYS38VkGlglVzkis1JEdbGWSnbQIEhZzTJhzURXN5/8WwwFCs/f/VVcmkTppbXLow==} + style-to-object@1.0.14: + resolution: {integrity: sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==} suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} - superjson@2.2.3: - resolution: {integrity: sha512-ay3d+LW/S6yppKoTz3Bq4mG0xrS5bFwfWEBmQfbC7lt5wmtk+Obq0TxVuA9eYRirBTQb1K3eEpBRHMQEo0WyVw==} + superjson@2.2.6: + resolution: {integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==} engines: {node: '>=16'} supports-color@10.2.2: @@ -15176,8 +15182,8 @@ packages: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} - text-decoder@1.2.3: - resolution: {integrity: sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==} + text-decoder@1.2.5: + resolution: {integrity: sha512-ymKEOrjEhNE0+Gehpn2Dw59Vp2fNG0DQvCRAJpCjVqB1Pkj1AMBzDpow4H9kSa6XqO/wZrb5TLxEigx+nEaiBA==} text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} @@ -15306,38 +15312,38 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo-darwin-64@2.8.9: - resolution: {integrity: sha512-KnCw1ZI9KTnEAhdI9avZrnZ/z4wsM++flMA1w8s8PKOqi5daGpFV36qoPafg4S8TmYMe52JPWEoFr0L+lQ5JIw==} + turbo-darwin-64@2.8.7: + resolution: {integrity: sha512-Xr4TO/oDDwoozbDtBvunb66g//WK8uHRygl72vUthuwzmiw48pil4IuoG/QbMHd9RE8aBnVmzC0WZEWk/WWt3A==} cpu: [x64] os: [darwin] - turbo-darwin-arm64@2.8.9: - resolution: {integrity: sha512-CbD5Y2NKJKBXTOZ7z7Cc7vGlFPZkYjApA7ri9lH4iFwKV1X7MoZswh9gyRLetXYWImVX1BqIvP8KftulJg/wIA==} + turbo-darwin-arm64@2.8.7: + resolution: {integrity: sha512-p8Xbmb9kZEY/NoshQUcFmQdO80s2PCGoLYj5DbpxjZr3diknipXxzOK7pcmT7l2gNHaMCpFVWLkiFY9nO3EU5w==} cpu: [arm64] os: [darwin] - turbo-linux-64@2.8.9: - resolution: {integrity: sha512-OXC9HdCtsHvyH+5KUoH8ds+p5WU13vdif0OPbsFzZca4cUXMwKA3HWwUuCgQetk0iAE4cscXpi/t8A263n3VTg==} + turbo-linux-64@2.8.7: + resolution: {integrity: sha512-nwfEPAH3m5y/nJeYly3j1YJNYU2EG5+2ysZUxvBNM+VBV2LjQaLxB9CsEIpIOKuWKCjnFHKIADTSDPZ3D12J5Q==} cpu: [x64] os: [linux] - turbo-linux-arm64@2.8.9: - resolution: {integrity: sha512-yI5n8jNXiFA6+CxnXG0gO7h5ZF1+19K8uO3/kXPQmyl37AdiA7ehKJQOvf9OPAnmkGDHcF2HSCPltabERNRmug==} + turbo-linux-arm64@2.8.7: + resolution: {integrity: sha512-mgA/M6xiJzyxtXV70TtWGDPh+I6acOKmeQGtOzbFQZYEf794pu5jax26bCk5skAp1gqZu3vacPr6jhYHoHU9IQ==} cpu: [arm64] os: [linux] - turbo-windows-64@2.8.9: - resolution: {integrity: sha512-/OztzeGftJAg258M/9vK2ZCkUKUzqrWXJIikiD2pm8TlqHcIYUmepDbyZSDfOiUjMy6NzrLFahpNLnY7b5vNgg==} + turbo-windows-64@2.8.7: + resolution: {integrity: sha512-sHTYMaXuCcyHnGUQgfUUt7S8407TWoP14zc/4N2tsM0wZNK6V9h4H2t5jQPtqKEb6Fg8313kygdDgEwuM4vsHg==} cpu: [x64] os: [win32] - turbo-windows-arm64@2.8.9: - resolution: {integrity: sha512-xZ2VTwVTjIqpFZKN4UBxDHCPM3oJ2J5cpRzCBSmRpJ/Pn33wpiYjs+9FB2E03svKaD04/lSSLlEUej0UYsugfg==} + turbo-windows-arm64@2.8.7: + resolution: {integrity: sha512-WyGiOI2Zp3AhuzVagzQN+T+iq0fWx0oGxDfAWT3ZiLEd4U0cDUkwUZDKVGb3rKqPjDL6lWnuxKKu73ge5xtovQ==} cpu: [arm64] os: [win32] - turbo@2.8.9: - resolution: {integrity: sha512-G+Mq8VVQAlpz/0HTsxiNNk/xywaHGl+dk1oiBREgOEVCCDjXInDlONWUn5srRnC9s5tdHTFD1bx1N19eR4hI+g==} + turbo@2.8.7: + resolution: {integrity: sha512-RBLh5caMAu1kFdTK1jgH2gH/z+jFsvX5rGbhgJ9nlIAWXSvxlzwId05uDlBA1+pBd3wO/UaKYzaQZQBXDd7kcA==} hasBin: true type-check@0.4.0: @@ -15399,8 +15405,8 @@ packages: uhyphen@0.2.0: resolution: {integrity: sha512-qz3o9CHXmJJPGBdqzab7qAYuW8kQGKNEuoHFYrBwV6hWIMcpAmxDLXojcHfFr9US1Pe6zUswEIJIbLI610fuqA==} - ulid@3.0.1: - resolution: {integrity: sha512-dPJyqPzx8preQhqq24bBG1YNkvigm87K8kVEHCD+ruZg24t6IFEFv00xMWfxcC4djmFtiTLdFuADn4+DOz6R7Q==} + ulid@3.0.2: + resolution: {integrity: sha512-yu26mwteFYzBAot7KVMqFGCVpsF6g8wXfJzQUHvu1no3+rRRSFcSV2nKeYvNPLD2J4b08jYBDhHUjeH0ygIl9w==} hasBin: true ultrahtml@1.6.0: @@ -15425,8 +15431,8 @@ packages: resolution: {integrity: sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==} engines: {node: '>=20.18.1'} - undici@7.22.0: - resolution: {integrity: sha512-RqslV2Us5BrllB+JeiZnK4peryVTndy9Dnqq62S3yYRRTj0tFQCwEniUy2167skdGOy3vqRzEvl1Dm4sV2ReDg==} + undici@7.21.0: + resolution: {integrity: sha512-Hn2tCQpoDt1wv23a68Ctc8Cr/BHpUSfaPYrkajTXOS9IKpxVRx/X5m1K2YkbK2ipgZgxXSgsUinl3x+2YdSSfg==} engines: {node: '>=20.18.1'} unenv@2.0.0-rc.24: @@ -15920,14 +15926,6 @@ packages: jsdom: optional: true - volar-service-css@0.0.67: - resolution: {integrity: sha512-zV7C6enn9T9tuvQ6iSUyYEs34iPXR69Pf9YYWpbFYPWzVs22w96BtE8p04XYXbmjU6unt5oFt+iLL77bMB5fhA==} - peerDependencies: - '@volar/language-service': ~2.4.0 - peerDependenciesMeta: - '@volar/language-service': - optional: true - volar-service-css@0.0.68: resolution: {integrity: sha512-lJSMh6f3QzZ1tdLOZOzovLX0xzAadPhx8EKwraDLPxBndLCYfoTvnNuiFFV8FARrpAlW5C0WkH+TstPaCxr00Q==} peerDependencies: @@ -15936,14 +15934,6 @@ packages: '@volar/language-service': optional: true - volar-service-emmet@0.0.67: - resolution: {integrity: sha512-UDBL5x7KptmuJZNCCXMlCndMhFult/tj+9jXq3FH1ZGS1E4M/1U5hC06pg1c6e4kn+vnR6bqmvX0vIhL4f98+A==} - peerDependencies: - '@volar/language-service': ~2.4.0 - peerDependenciesMeta: - '@volar/language-service': - optional: true - volar-service-emmet@0.0.68: resolution: {integrity: sha512-nHvixrRQ83EzkQ4G/jFxu9Y4eSsXS/X2cltEPDM+K9qZmIv+Ey1w0tg1+6caSe8TU5Hgw4oSTwNMf/6cQb3LzQ==} peerDependencies: @@ -15952,14 +15942,6 @@ packages: '@volar/language-service': optional: true - volar-service-html@0.0.67: - resolution: {integrity: sha512-ljREMF79JbcjNvObiv69HK2HCl5UT7WTD10zi6CRFUHMbPfiF2UZ42HGLsEGSzaHGZz6H4IFjSS/qfENRLUviQ==} - peerDependencies: - '@volar/language-service': ~2.4.0 - peerDependenciesMeta: - '@volar/language-service': - optional: true - volar-service-html@0.0.68: resolution: {integrity: sha512-fru9gsLJxy33xAltXOh4TEdi312HP80hpuKhpYQD4O5hDnkNPEBdcQkpB+gcX0oK0VxRv1UOzcGQEUzWCVHLfA==} peerDependencies: @@ -15968,17 +15950,6 @@ packages: '@volar/language-service': optional: true - volar-service-prettier@0.0.67: - resolution: {integrity: sha512-B4KnPJPNWFTkEDa6Fn08i5PpO6T1CecmLLTFZoXz2eI4Fxwba/3nDaaVSsEP7e/vEe+U5YqV9fBzayJT71G5xg==} - peerDependencies: - '@volar/language-service': ~2.4.0 - prettier: ^2.2 || ^3.0 - peerDependenciesMeta: - '@volar/language-service': - optional: true - prettier: - optional: true - volar-service-prettier@0.0.68: resolution: {integrity: sha512-grUmWHkHlebMOd6V8vXs2eNQUw/bJGJMjekh/EPf/p2ZNTK0Uyz7hoBRngcvGfJHMsSXZH8w/dZTForIW/4ihw==} peerDependencies: @@ -15990,14 +15961,6 @@ packages: prettier: optional: true - volar-service-typescript-twoslash-queries@0.0.67: - resolution: {integrity: sha512-LD2R7WivDYp1SPgZrxx/0222xVTitDjm36oKo5+bfYG5kEgnw+BOPVHdwmvpJKg/RfssfxDI1ouwD4XkEDEfbA==} - peerDependencies: - '@volar/language-service': ~2.4.0 - peerDependenciesMeta: - '@volar/language-service': - optional: true - volar-service-typescript-twoslash-queries@0.0.68: resolution: {integrity: sha512-NugzXcM0iwuZFLCJg47vI93su5YhTIweQuLmZxvz5ZPTaman16JCvmDZexx2rd5T/75SNuvvZmrTOTNYUsfe5w==} peerDependencies: @@ -16006,14 +15969,6 @@ packages: '@volar/language-service': optional: true - volar-service-typescript@0.0.67: - resolution: {integrity: sha512-rfQBy36Rm1PU9vLWHk8BYJ4r2j/CI024vocJcH4Nb6K2RTc2Irmw6UOVY5DdGiPRV5r+e10wLMK5njj/EcL8sA==} - peerDependencies: - '@volar/language-service': ~2.4.0 - peerDependenciesMeta: - '@volar/language-service': - optional: true - volar-service-typescript@0.0.68: resolution: {integrity: sha512-z7B/7CnJ0+TWWFp/gh2r5/QwMObHNDiQiv4C9pTBNI2Wxuwymd4bjEORzrJ/hJ5Yd5+OzeYK+nFCKevoGEEeKw==} peerDependencies: @@ -16022,14 +15977,6 @@ packages: '@volar/language-service': optional: true - volar-service-yaml@0.0.67: - resolution: {integrity: sha512-jkdP/RF6wPIXEE3Ktnd81oJPn7aAvnVSiaqQHThC2Hrvo6xd9pEcqtbBUI+YfqVgvcMtXAkbtNO61K2GPhAiuA==} - peerDependencies: - '@volar/language-service': ~2.4.0 - peerDependenciesMeta: - '@volar/language-service': - optional: true - volar-service-yaml@0.0.68: resolution: {integrity: sha512-84XgE02LV0OvTcwfqhcSwVg4of3MLNUWPMArO6Aj8YXqyEVnPu8xTEMY2btKSq37mVAPuaEVASI4e3ptObmqcA==} peerDependencies: @@ -16038,8 +15985,8 @@ packages: '@volar/language-service': optional: true - vscode-css-languageservice@6.3.8: - resolution: {integrity: sha512-dBk/9ullEjIMbfSYAohGpDOisOVU1x2MQHOeU12ohGJQI7+r0PCimBwaa/pWpxl/vH4f7ibrBfxIZY3anGmHKQ==} + vscode-css-languageservice@6.3.9: + resolution: {integrity: sha512-1tLWfp+TDM5ZuVWht3jmaY5y7O6aZmpeXLoHl5bv1QtRsRKt4xYGRMmdJa5Pqx/FTkgRbsna9R+Gn2xE+evVuA==} vscode-html-languageservice@5.6.1: resolution: {integrity: sha512-5Mrqy5CLfFZUgkyhNZLA1Ye5g12Cb/v6VM7SxUzZUaRKWMDz4md+y26PrfRTSU0/eQAl3XpO9m2og+GGtDMuaA==} @@ -16146,8 +16093,8 @@ packages: resolution: {integrity: sha512-8drMJ4rkgaPo1Me4zD/3WLfI/zPdA9o2IipKODunnGDcuqbHwjsbB79ylv04LCGGzU0xQ6vTznOMpQGaLhhm6A==} engines: {node: '>= 12.0.0'} - winston@3.18.3: - resolution: {integrity: sha512-NoBZauFNNWENgsnC9YpgyYwOVrl2m58PpQ8lNHjV3kosGs7KJ7Npk9pCUE+WJlawVSe8mykWDKWFSVfs3QO9ww==} + winston@3.19.0: + resolution: {integrity: sha512-LZNJgPzfKR+/J3cHkxcpHKpKKvGfDZVPS4hfJCc4cCG0CgYzvlD6yE/S3CIL/Yt91ak327YCpiF/0MyeZHEHKA==} engines: {node: '>= 12.0.0'} word-wrap@1.2.5: @@ -16203,8 +16150,8 @@ packages: utf-8-validate: optional: true - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} + ws@8.19.0: + resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -16308,8 +16255,8 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.2.1: - resolution: {integrity: sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==} + yocto-queue@1.2.2: + resolution: {integrity: sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==} engines: {node: '>=12.20'} yoctocolors@2.1.2: @@ -16346,46 +16293,53 @@ snapshots: '@astro-community/astro-embed-baseline-status@0.1.2(astro@packages+astro)': dependencies: - '@astro-community/astro-embed-utils': 0.1.3 + '@astro-community/astro-embed-utils': 0.1.5 astro: link:packages/astro + transitivePeerDependencies: + - canvas '@astro-community/astro-embed-integration@0.7.2(astro@packages+astro)': dependencies: - '@astro-community/astro-embed-link-preview': 0.2.2 - '@astro-community/astro-embed-twitter': 0.5.8(astro@packages+astro) - '@astro-community/astro-embed-vimeo': 0.3.10(astro@packages+astro) - '@astro-community/astro-embed-youtube': 0.5.7(astro@packages+astro) + '@astro-community/astro-embed-link-preview': 0.2.3 + '@astro-community/astro-embed-twitter': 0.5.11 + '@astro-community/astro-embed-vimeo': 0.3.12 + '@astro-community/astro-embed-youtube': 0.5.10 '@types/unist': 2.0.11 astro: link:packages/astro - astro-auto-import: 0.4.5(astro@packages+astro) + astro-auto-import: 0.4.6(astro@packages+astro) unist-util-select: 4.0.3 + transitivePeerDependencies: + - canvas - '@astro-community/astro-embed-link-preview@0.2.2': + '@astro-community/astro-embed-link-preview@0.2.3': dependencies: - '@astro-community/astro-embed-utils': 0.1.3 + '@astro-community/astro-embed-utils': 0.1.5 + transitivePeerDependencies: + - canvas - '@astro-community/astro-embed-twitter@0.5.8(astro@packages+astro)': + '@astro-community/astro-embed-twitter@0.5.11': dependencies: - '@astro-community/astro-embed-utils': 0.1.3 - astro: link:packages/astro + '@astro-community/astro-embed-utils': 0.2.0 - '@astro-community/astro-embed-utils@0.1.3': + '@astro-community/astro-embed-utils@0.1.5': dependencies: - linkedom: 0.14.26 + linkedom: 0.18.12 + transitivePeerDependencies: + - canvas + + '@astro-community/astro-embed-utils@0.2.0': {} - '@astro-community/astro-embed-vimeo@0.3.10(astro@packages+astro)': + '@astro-community/astro-embed-vimeo@0.3.12': dependencies: - '@astro-community/astro-embed-utils': 0.1.3 - astro: link:packages/astro + '@astro-community/astro-embed-utils': 0.2.0 - '@astro-community/astro-embed-youtube@0.5.7(astro@packages+astro)': + '@astro-community/astro-embed-youtube@0.5.10': dependencies: - astro: link:packages/astro - lite-youtube-embed: 0.3.3 + lite-youtube-embed: 0.3.4 '@astrojs/check@0.9.6(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3)': dependencies: - '@astrojs/language-server': 2.16.2(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3) + '@astrojs/language-server': 2.16.3(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3) chokidar: 4.0.3 kleur: 4.1.5 typescript: 5.9.3 @@ -16408,7 +16362,7 @@ snapshots: '@astrojs/internal-helpers@0.7.5': {} - '@astrojs/language-server@2.16.2(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3)': + '@astrojs/language-server@2.16.3(prettier-plugin-astro@0.14.1)(prettier@3.8.1)(typescript@5.9.3)': dependencies: '@astrojs/compiler': 2.13.1 '@astrojs/yaml2ts': 0.2.2 @@ -16417,15 +16371,15 @@ snapshots: '@volar/language-core': 2.4.28 '@volar/language-server': 2.4.28 '@volar/language-service': 2.4.28 - fast-glob: 3.3.3 muggle-string: 0.4.1 - volar-service-css: 0.0.67(@volar/language-service@2.4.28) - volar-service-emmet: 0.0.67(@volar/language-service@2.4.28) - volar-service-html: 0.0.67(@volar/language-service@2.4.28) - volar-service-prettier: 0.0.67(@volar/language-service@2.4.28)(prettier@3.8.1) - volar-service-typescript: 0.0.67(@volar/language-service@2.4.28) - volar-service-typescript-twoslash-queries: 0.0.67(@volar/language-service@2.4.28) - volar-service-yaml: 0.0.67(@volar/language-service@2.4.28) + tinyglobby: 0.2.15 + volar-service-css: 0.0.68(@volar/language-service@2.4.28) + volar-service-emmet: 0.0.68(@volar/language-service@2.4.28) + volar-service-html: 0.0.68(@volar/language-service@2.4.28) + volar-service-prettier: 0.0.68(@volar/language-service@2.4.28)(prettier@3.8.1) + volar-service-typescript: 0.0.68(@volar/language-service@2.4.28) + volar-service-typescript-twoslash-queries: 0.0.68(@volar/language-service@2.4.28) + volar-service-yaml: 0.0.68(@volar/language-service@2.4.28) vscode-html-languageservice: 5.6.1 vscode-uri: 3.1.0 optionalDependencies: @@ -16492,15 +16446,15 @@ snapshots: dependencies: prismjs: 1.30.0 - '@astrojs/react@4.3.0(@types/node@25.2.2)(@types/react-dom@19.1.1(@types/react@19.1.1))(@types/react@19.1.1)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)': + '@astrojs/react@4.3.0(@types/node@25.2.3)(@types/react-dom@19.1.1(@types/react@19.1.1))(@types/react@19.1.1)(jiti@2.6.1)(lightningcss@1.30.2)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)': dependencies: '@types/react': 19.1.1 '@types/react-dom': 19.1.1(@types/react@19.1.1) - '@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + '@vitejs/plugin-react': 4.7.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) react: 19.1.1 react-dom: 19.1.1(react@19.1.1) ultrahtml: 1.6.0 - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -16515,11 +16469,11 @@ snapshots: - tsx - yaml - '@astrojs/solid-js@5.1.3(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(solid-js@1.9.11)(tsx@4.21.0)(yaml@2.8.2)': + '@astrojs/solid-js@5.1.3(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(solid-js@1.9.11)(tsx@4.21.0)(yaml@2.8.2)': dependencies: solid-js: 1.9.11 - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-plugin-solid: 2.11.10(solid-js@1.9.11)(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-plugin-solid: 2.11.10(solid-js@1.9.11)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - '@testing-library/jest-dom' - '@types/node' @@ -16535,14 +16489,14 @@ snapshots: - tsx - yaml - '@astrojs/vue@5.1.4(@types/node@25.2.2)(astro@packages+astro)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(sass@1.97.3)(tsx@4.21.0)(vue@3.5.28(typescript@5.9.3))(yaml@2.8.2)': + '@astrojs/vue@5.1.4(@types/node@25.2.3)(astro@packages+astro)(jiti@2.6.1)(lightningcss@1.30.2)(rollup@4.57.1)(sass@1.97.3)(tsx@4.21.0)(vue@3.5.28(typescript@5.9.3))(yaml@2.8.2)': dependencies: - '@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) - '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + '@vitejs/plugin-vue': 5.2.4(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + '@vitejs/plugin-vue-jsx': 4.2.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/compiler-sfc': 3.5.28 astro: link:packages/astro - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-plugin-vue-devtools: 7.7.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-plugin-vue-devtools: 7.7.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - '@nuxt/kit' @@ -16586,7 +16540,7 @@ snapshots: dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.10.1 - '@azure/core-rest-pipeline': 1.22.1 + '@azure/core-rest-pipeline': 1.22.2 '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 @@ -16594,14 +16548,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@azure/core-rest-pipeline@1.22.1': + '@azure/core-rest-pipeline@1.22.2': dependencies: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.10.1 '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@typespec/ts-http-runtime': 0.3.1 + '@typespec/ts-http-runtime': 0.3.3 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -16613,7 +16567,7 @@ snapshots: '@azure/core-util@1.13.1': dependencies: '@azure/abort-controller': 2.1.2 - '@typespec/ts-http-runtime': 0.3.1 + '@typespec/ts-http-runtime': 0.3.3 tslib: 2.8.1 transitivePeerDependencies: - supports-color @@ -16623,12 +16577,12 @@ snapshots: '@azure/abort-controller': 2.1.2 '@azure/core-auth': 1.10.1 '@azure/core-client': 1.10.1 - '@azure/core-rest-pipeline': 1.22.1 + '@azure/core-rest-pipeline': 1.22.2 '@azure/core-tracing': 1.3.1 '@azure/core-util': 1.13.1 '@azure/logger': 1.3.0 - '@azure/msal-browser': 4.25.1 - '@azure/msal-node': 3.8.0 + '@azure/msal-browser': 4.28.2 + '@azure/msal-node': 3.8.7 open: 10.2.0 tslib: 2.8.1 transitivePeerDependencies: @@ -16636,21 +16590,21 @@ snapshots: '@azure/logger@1.3.0': dependencies: - '@typespec/ts-http-runtime': 0.3.1 + '@typespec/ts-http-runtime': 0.3.3 tslib: 2.8.1 transitivePeerDependencies: - supports-color - '@azure/msal-browser@4.25.1': + '@azure/msal-browser@4.28.2': dependencies: - '@azure/msal-common': 15.13.0 + '@azure/msal-common': 15.14.2 - '@azure/msal-common@15.13.0': {} + '@azure/msal-common@15.14.2': {} - '@azure/msal-node@3.8.0': + '@azure/msal-node@3.8.7': dependencies: - '@azure/msal-common': 15.13.0 - jsonwebtoken: 9.0.2 + '@azure/msal-common': 15.14.2 + jsonwebtoken: 9.0.3 uuid: 8.3.2 '@babel/code-frame@7.29.0': @@ -16853,7 +16807,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/runtime@7.28.4': {} + '@babel/runtime@7.28.6': {} '@babel/template@7.28.6': dependencies: @@ -16976,7 +16930,7 @@ snapshots: '@changesets/should-skip-package': 0.1.2 '@changesets/types': 6.1.0 '@changesets/write': 0.4.0 - '@inquirer/external-editor': 1.0.2(@types/node@18.19.130) + '@inquirer/external-editor': 1.0.3(@types/node@18.19.130) '@manypkg/get-packages': 1.1.3 ansi-colors: 4.1.3 ci-info: 3.9.0 @@ -17079,7 +17033,7 @@ snapshots: dependencies: '@changesets/types': 6.1.0 fs-extra: 7.0.1 - human-id: 4.1.2 + human-id: 4.1.3 prettier: 2.8.8 '@clack/core@0.3.5': @@ -17112,13 +17066,13 @@ snapshots: optionalDependencies: workerd: 1.20260212.0 - '@cloudflare/vite-plugin@1.25.0(@cloudflare/workers-types@4.20260214.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260212.0)': + '@cloudflare/vite-plugin@1.25.0(@cloudflare/workers-types@4.20260213.0)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(workerd@1.20260212.0)': dependencies: '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) miniflare: 4.20260212.0 unenv: 2.0.0-rc.24 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - wrangler: 4.65.0(@cloudflare/workers-types@4.20260214.0) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + wrangler: 4.65.0(@cloudflare/workers-types@4.20260213.0) ws: 8.18.0 transitivePeerDependencies: - '@cloudflare/workers-types' @@ -17141,23 +17095,23 @@ snapshots: '@cloudflare/workerd-windows-64@1.20260212.0': optional: true - '@cloudflare/workers-types@4.20260214.0': {} + '@cloudflare/workers-types@4.20260213.0': {} '@codspeed/core@5.2.0': dependencies: - axios: 1.13.4 + axios: 1.13.5 find-up: 6.3.0 - form-data: 4.0.4 + form-data: 4.0.5 node-gyp-build: 4.8.4 transitivePeerDependencies: - debug - '@codspeed/vitest-plugin@5.2.0(tinybench@2.9.0)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@codspeed/vitest-plugin@5.2.0(tinybench@2.9.0)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@codspeed/core': 5.2.0 tinybench: 2.9.0 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vitest: 4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - debug @@ -17177,7 +17131,7 @@ snapshots: '@csstools/color-helpers@6.0.1': {} - '@csstools/css-calc@3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': + '@csstools/css-calc@3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 @@ -17185,7 +17139,7 @@ snapshots: '@csstools/css-color-parser@4.0.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: '@csstools/color-helpers': 6.0.1 - '@csstools/css-calc': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 @@ -17270,7 +17224,7 @@ snapshots: '@csstools/postcss-exponential-functions@3.0.0(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 postcss: 8.5.6 @@ -17356,7 +17310,7 @@ snapshots: '@csstools/postcss-media-minmax@3.0.0(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 '@csstools/media-query-list-parser': 5.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) @@ -17412,7 +17366,7 @@ snapshots: '@csstools/postcss-random-function@3.0.0(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 postcss: 8.5.6 @@ -17433,14 +17387,14 @@ snapshots: '@csstools/postcss-sign-functions@2.0.0(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 postcss: 8.5.6 '@csstools/postcss-stepped-value-functions@5.0.0(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 postcss: 8.5.6 @@ -17464,7 +17418,7 @@ snapshots: '@csstools/postcss-trigonometric-functions@5.0.0(postcss@8.5.6)': dependencies: - '@csstools/css-calc': 3.0.0(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-calc': 3.1.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) '@csstools/css-tokenizer': 4.0.0 postcss: 8.5.6 @@ -17935,7 +17889,7 @@ snapshots: dependencies: '@types/json-schema': 7.0.15 - '@eslint/eslintrc@3.3.1': + '@eslint/eslintrc@3.3.3': dependencies: ajv: 6.12.6 debug: 4.4.3(supports-color@8.1.1) @@ -17972,7 +17926,7 @@ snapshots: '@fastify/fast-json-stringify-compiler@5.0.3': dependencies: - fast-json-stringify: 6.2.0 + fast-json-stringify: 6.3.0 '@fastify/forwarded@3.0.1': {} @@ -18007,8 +17961,8 @@ snapshots: '@fastify/send': 4.1.0 content-disposition: 1.0.1 fastify-plugin: 5.1.0 - fastq: 1.19.1 - glob: 13.0.1 + fastq: 1.20.1 + glob: 13.0.3 '@flue/cli@0.0.32(typescript@5.9.3)': dependencies: @@ -18018,7 +17972,7 @@ snapshots: '@flue/client@0.0.18(typescript@5.9.3)': dependencies: - '@opencode-ai/sdk': 1.2.2 + '@opencode-ai/sdk': 1.1.65 '@valibot/to-json-schema': 1.5.0(valibot@1.2.0(typescript@5.9.3)) valibot: 1.2.0(typescript@5.9.3) transitivePeerDependencies: @@ -18141,19 +18095,13 @@ snapshots: '@import-maps/resolve@2.0.0': {} - '@inquirer/external-editor@1.0.2(@types/node@18.19.130)': + '@inquirer/external-editor@1.0.3(@types/node@18.19.130)': dependencies: - chardet: 2.1.0 - iconv-lite: 0.7.0 + chardet: 2.1.1 + iconv-lite: 0.7.2 optionalDependencies: '@types/node': 18.19.130 - '@isaacs/balanced-match@4.0.1': {} - - '@isaacs/brace-expansion@5.0.1': - dependencies: - '@isaacs/balanced-match': 4.0.1 - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -18163,6 +18111,8 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 + '@isaacs/cliui@9.0.0': {} + '@isaacs/fs-minipass@4.0.1': dependencies: minipass: 7.1.2 @@ -18231,7 +18181,7 @@ snapshots: '@libsql/isomorphic-ws@0.1.5': dependencies: '@types/ws': 8.18.1 - ws: 8.18.3 + ws: 8.19.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -18257,31 +18207,31 @@ snapshots: '@libsql/win32-x64-msvc@0.5.22': optional: true - '@lit-labs/ssr-dom-shim@1.4.0': {} + '@lit-labs/ssr-dom-shim@1.5.1': {} - '@lit/reactive-element@2.1.1': + '@lit/reactive-element@2.1.2': dependencies: - '@lit-labs/ssr-dom-shim': 1.4.0 + '@lit-labs/ssr-dom-shim': 1.5.1 '@lukeed/ms@2.0.2': {} '@manypkg/find-root@1.1.0': dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 '@types/node': 12.20.55 find-up: 4.1.0 fs-extra: 8.1.0 '@manypkg/get-packages@1.1.3': dependencies: - '@babel/runtime': 7.28.4 + '@babel/runtime': 7.28.6 '@changesets/types': 4.1.0 '@manypkg/find-root': 1.1.0 fs-extra: 8.1.0 globby: 11.1.0 read-yaml-file: 1.1.0 - '@mapbox/node-pre-gyp@2.0.0': + '@mapbox/node-pre-gyp@2.0.3': dependencies: consola: 3.4.2 detect-libc: 2.1.2 @@ -18358,11 +18308,11 @@ snapshots: '@netlify/ai@0.3.6': dependencies: - '@netlify/api': 14.0.13 + '@netlify/api': 14.0.14 - '@netlify/api@14.0.13': + '@netlify/api@14.0.14': dependencies: - '@netlify/open-api': 2.47.0 + '@netlify/open-api': 2.48.0 node-fetch: 3.3.2 p-wait-for: 5.0.2 picoquery: 2.5.0 @@ -18381,10 +18331,10 @@ snapshots: dependencies: '@netlify/runtime-utils': 2.3.0 - '@netlify/config@24.3.0': + '@netlify/config@24.4.0': dependencies: '@iarna/toml': 2.2.5 - '@netlify/api': 14.0.13 + '@netlify/api': 14.0.14 '@netlify/headers-parser': 9.0.2 '@netlify/redirect-parser': 15.0.3 chalk: 5.6.2 @@ -18411,7 +18361,7 @@ snapshots: '@netlify/dev-utils@4.3.3': dependencies: - '@whatwg-node/server': 0.10.13 + '@whatwg-node/server': 0.10.18 ansis: 4.2.0 chokidar: 4.0.3 decache: 4.6.2 @@ -18431,7 +18381,7 @@ snapshots: dependencies: '@netlify/ai': 0.3.6 '@netlify/blobs': 10.6.0 - '@netlify/config': 24.3.0 + '@netlify/config': 24.4.0 '@netlify/dev-utils': 4.3.3 '@netlify/edge-functions-dev': 1.0.10 '@netlify/functions-dev': 1.1.10(rollup@4.57.1) @@ -18440,7 +18390,7 @@ snapshots: '@netlify/redirects': 3.1.4 '@netlify/runtime': 4.1.14 '@netlify/static': 3.1.3 - ulid: 3.0.1 + ulid: 3.0.2 transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -18466,7 +18416,7 @@ snapshots: - supports-color - uploadthing - '@netlify/edge-bundler@14.9.5': + '@netlify/edge-bundler@14.9.8': dependencies: '@import-maps/resolve': 2.0.0 ajv: 8.17.1 @@ -18494,7 +18444,7 @@ snapshots: '@netlify/edge-functions-dev@1.0.10': dependencies: '@netlify/dev-utils': 4.3.3 - '@netlify/edge-bundler': 14.9.5 + '@netlify/edge-bundler': 14.9.8 '@netlify/edge-functions': 3.0.3 '@netlify/edge-functions-bootstrap': 2.16.0 '@netlify/runtime-utils': 2.3.0 @@ -18509,7 +18459,7 @@ snapshots: '@netlify/blobs': 10.6.0 '@netlify/dev-utils': 4.3.3 '@netlify/functions': 5.1.2 - '@netlify/zip-it-and-ship-it': 14.3.1(rollup@4.57.1) + '@netlify/zip-it-and-ship-it': 14.3.2(rollup@4.57.1) cron-parser: 4.9.0 decache: 4.6.2 extract-zip: 2.0.1 @@ -18567,7 +18517,7 @@ snapshots: - ioredis - uploadthing - '@netlify/open-api@2.47.0': {} + '@netlify/open-api@2.48.0': {} '@netlify/otel@5.1.1': dependencies: @@ -18605,7 +18555,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@netlify/serverless-functions-api@2.8.3': {} + '@netlify/serverless-functions-api@2.9.0': {} '@netlify/static@3.1.3': dependencies: @@ -18613,12 +18563,12 @@ snapshots: '@netlify/types@2.3.0': {} - '@netlify/vite-plugin@2.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@netlify/vite-plugin@2.9.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1)(vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@netlify/dev': 4.10.0(@azure/identity@4.13.0)(@vercel/functions@3.4.2)(rollup@4.57.1) '@netlify/dev-utils': 4.3.3 - dedent: 1.7.0 - vite: 7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + dedent: 1.7.1 + vite: 7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@azure/app-configuration' - '@azure/cosmos' @@ -18645,12 +18595,12 @@ snapshots: - supports-color - uploadthing - '@netlify/zip-it-and-ship-it@14.3.1(rollup@4.57.1)': + '@netlify/zip-it-and-ship-it@14.3.2(rollup@4.57.1)': dependencies: '@babel/parser': 7.29.0 '@babel/types': 7.29.0 '@netlify/binary-info': 1.0.0 - '@netlify/serverless-functions-api': 2.8.3 + '@netlify/serverless-functions-api': 2.9.0 '@vercel/nft': 0.29.4(rollup@4.57.1) archiver: 7.0.1 common-path-prefix: 3.0.0 @@ -18667,7 +18617,7 @@ snapshots: merge-options: 3.0.4 minimatch: 9.0.5 normalize-path: 3.0.0 - p-map: 7.0.3 + p-map: 7.0.4 path-exists: 5.0.0 precinct: 12.2.0 require-package-name: 2.0.1 @@ -18757,9 +18707,9 @@ snapshots: '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 + fastq: 1.20.1 - '@opencode-ai/sdk@1.2.2': {} + '@opencode-ai/sdk@1.1.65': {} '@opentelemetry/api-logs@0.203.0': dependencies: @@ -18822,66 +18772,66 @@ snapshots: '@oslojs/encoding@1.1.0': {} - '@oxc-resolver/binding-android-arm-eabi@11.17.0': + '@oxc-resolver/binding-android-arm-eabi@11.17.1': optional: true - '@oxc-resolver/binding-android-arm64@11.17.0': + '@oxc-resolver/binding-android-arm64@11.17.1': optional: true - '@oxc-resolver/binding-darwin-arm64@11.17.0': + '@oxc-resolver/binding-darwin-arm64@11.17.1': optional: true - '@oxc-resolver/binding-darwin-x64@11.17.0': + '@oxc-resolver/binding-darwin-x64@11.17.1': optional: true - '@oxc-resolver/binding-freebsd-x64@11.17.0': + '@oxc-resolver/binding-freebsd-x64@11.17.1': optional: true - '@oxc-resolver/binding-linux-arm-gnueabihf@11.17.0': + '@oxc-resolver/binding-linux-arm-gnueabihf@11.17.1': optional: true - '@oxc-resolver/binding-linux-arm-musleabihf@11.17.0': + '@oxc-resolver/binding-linux-arm-musleabihf@11.17.1': optional: true - '@oxc-resolver/binding-linux-arm64-gnu@11.17.0': + '@oxc-resolver/binding-linux-arm64-gnu@11.17.1': optional: true - '@oxc-resolver/binding-linux-arm64-musl@11.17.0': + '@oxc-resolver/binding-linux-arm64-musl@11.17.1': optional: true - '@oxc-resolver/binding-linux-ppc64-gnu@11.17.0': + '@oxc-resolver/binding-linux-ppc64-gnu@11.17.1': optional: true - '@oxc-resolver/binding-linux-riscv64-gnu@11.17.0': + '@oxc-resolver/binding-linux-riscv64-gnu@11.17.1': optional: true - '@oxc-resolver/binding-linux-riscv64-musl@11.17.0': + '@oxc-resolver/binding-linux-riscv64-musl@11.17.1': optional: true - '@oxc-resolver/binding-linux-s390x-gnu@11.17.0': + '@oxc-resolver/binding-linux-s390x-gnu@11.17.1': optional: true - '@oxc-resolver/binding-linux-x64-gnu@11.17.0': + '@oxc-resolver/binding-linux-x64-gnu@11.17.1': optional: true - '@oxc-resolver/binding-linux-x64-musl@11.17.0': + '@oxc-resolver/binding-linux-x64-musl@11.17.1': optional: true - '@oxc-resolver/binding-openharmony-arm64@11.17.0': + '@oxc-resolver/binding-openharmony-arm64@11.17.1': optional: true - '@oxc-resolver/binding-wasm32-wasi@11.17.0': + '@oxc-resolver/binding-wasm32-wasi@11.17.1': dependencies: '@napi-rs/wasm-runtime': 1.1.1 optional: true - '@oxc-resolver/binding-win32-arm64-msvc@11.17.0': + '@oxc-resolver/binding-win32-arm64-msvc@11.17.1': optional: true - '@oxc-resolver/binding-win32-ia32-msvc@11.17.0': + '@oxc-resolver/binding-win32-ia32-msvc@11.17.1': optional: true - '@oxc-resolver/binding-win32-x64-msvc@11.17.0': + '@oxc-resolver/binding-win32-x64-msvc@11.17.1': optional: true '@parcel/watcher-android-arm64@2.5.6': @@ -18960,30 +18910,30 @@ snapshots: '@polka/url@1.0.0-next.29': {} - '@poppinss/colors@4.1.5': + '@poppinss/colors@4.1.6': dependencies: kleur: 4.1.5 '@poppinss/dumper@0.6.5': dependencies: - '@poppinss/colors': 4.1.5 - '@sindresorhus/is': 7.1.1 + '@poppinss/colors': 4.1.6 + '@sindresorhus/is': 7.2.0 supports-color: 10.2.2 - '@poppinss/exception@1.2.2': {} + '@poppinss/exception@1.2.3': {} - '@preact/preset-vite@2.10.3(@babel/core@7.29.0)(preact@10.28.3)(rollup@4.57.1)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@preact/preset-vite@2.10.3(@babel/core@7.29.0)(preact@10.28.3)(rollup@4.57.1)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx': 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-react-jsx-development': 7.27.1(@babel/core@7.29.0) - '@prefresh/vite': 2.4.11(preact@10.28.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + '@prefresh/vite': 2.4.11(preact@10.28.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@rollup/pluginutils': 5.3.0(rollup@4.57.1) babel-plugin-transform-hook-names: 1.0.2(@babel/core@7.29.0) debug: 4.4.3(supports-color@8.1.1) picocolors: 1.1.1 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-prerender-plugin: 0.5.12(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-prerender-plugin: 0.5.12(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - preact - rollup @@ -19004,7 +18954,7 @@ snapshots: '@prefresh/utils@1.2.1': {} - '@prefresh/vite@2.4.11(preact@10.28.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@prefresh/vite@2.4.11(preact@10.28.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@prefresh/babel-plugin': 0.5.2 @@ -19012,11 +18962,11 @@ snapshots: '@prefresh/utils': 1.2.1 '@rollup/pluginutils': 4.2.1 preact: 10.28.3 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@publint/pack@0.1.3': {} + '@publint/pack@0.1.4': {} '@qwik.dev/partytown@0.11.2': dependencies: @@ -19028,6 +18978,8 @@ snapshots: '@rolldown/pluginutils@1.0.0-rc.3': {} + '@rolldown/pluginutils@1.0.0-rc.4': {} + '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 @@ -19167,7 +19119,7 @@ snapshots: '@secretlint/source-creator': 10.2.2 '@secretlint/types': 10.2.2 debug: 4.4.3(supports-color@8.1.1) - p-map: 7.0.3 + p-map: 7.0.4 transitivePeerDependencies: - supports-color @@ -19177,7 +19129,7 @@ snapshots: '@secretlint/secretlint-formatter-sarif@10.2.2': dependencies: - node-sarif-builder: 3.2.0 + node-sarif-builder: 3.4.0 '@secretlint/secretlint-rule-no-dotenv@10.2.2': dependencies: @@ -19225,7 +19177,7 @@ snapshots: '@shikijs/vscode-textmate@10.0.2': {} - '@sindresorhus/is@7.1.1': {} + '@sindresorhus/is@7.2.0': {} '@sindresorhus/merge-streams@2.3.0': {} @@ -19233,37 +19185,37 @@ snapshots: '@so-ric/colorspace@1.1.6': dependencies: - color: 5.0.2 + color: 5.0.3 text-hex: 1.0.0 '@solidjs/router@0.15.4(solid-js@1.9.11)': dependencies: solid-js: 1.9.11 - '@speed-highlight/core@1.2.12': {} + '@speed-highlight/core@1.2.14': {} '@standard-schema/spec@1.1.0': {} - '@sveltejs/acorn-typescript@1.0.6(acorn@8.15.0)': + '@sveltejs/acorn-typescript@1.0.9(acorn@8.15.0)': dependencies: acorn: 8.15.0 - '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte-inspector@5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte': 6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) obug: 2.1.1 svelte: 5.50.3 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + '@sveltejs/vite-plugin-svelte-inspector': 5.0.2(@sveltejs/vite-plugin-svelte@6.2.4(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)))(svelte@5.50.3)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) deepmerge: 4.3.1 magic-string: 0.30.21 obug: 2.1.1 svelte: 5.50.3 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vitefu: 1.1.1(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vitefu: 1.1.1(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@tailwindcss/node@4.1.18': dependencies: @@ -19326,12 +19278,12 @@ snapshots: '@tailwindcss/oxide-win32-arm64-msvc': 4.1.18 '@tailwindcss/oxide-win32-x64-msvc': 4.1.18 - '@tailwindcss/vite@4.1.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@tailwindcss/vite@4.1.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@tailwindcss/node': 4.1.18 '@tailwindcss/oxide': 4.1.18 tailwindcss: 4.1.18 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) '@test/server-entry-fake-adapter@file:packages/astro/test/fixtures/server-entry/fake-adapter': dependencies: @@ -19437,7 +19389,7 @@ snapshots: '@types/json-schema@7.0.15': {} - '@types/katex@0.16.7': {} + '@types/katex@0.16.8': {} '@types/linkify-it@3.0.5': optional: true @@ -19479,19 +19431,19 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@20.19.31': + '@types/node@20.19.33': dependencies: undici-types: 6.21.0 - '@types/node@22.19.8': + '@types/node@22.19.11': dependencies: undici-types: 6.21.0 - '@types/node@24.10.10': + '@types/node@24.10.13': dependencies: undici-types: 7.16.0 - '@types/node@25.2.2': + '@types/node@25.2.3': dependencies: undici-types: 7.16.0 @@ -19548,7 +19500,7 @@ snapshots: '@types/unist@3.0.3': {} - '@types/vscode@1.108.0': {} + '@types/vscode@1.109.0': {} '@types/which-pm-runs@1.0.2': {} @@ -19682,7 +19634,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@typespec/ts-http-runtime@0.3.1': + '@typespec/ts-http-runtime@0.3.3': dependencies: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -19708,7 +19660,7 @@ snapshots: '@vercel/nft@0.29.4(rollup@4.57.1)': dependencies: - '@mapbox/node-pre-gyp': 2.0.0 + '@mapbox/node-pre-gyp': 2.0.3 '@rollup/pluginutils': 5.3.0(rollup@4.57.1) acorn: 8.15.0 acorn-import-attributes: 1.9.5(acorn@8.15.0) @@ -19727,14 +19679,14 @@ snapshots: '@vercel/nft@1.3.1(rollup@4.57.1)': dependencies: - '@mapbox/node-pre-gyp': 2.0.0 + '@mapbox/node-pre-gyp': 2.0.3 '@rollup/pluginutils': 5.3.0(rollup@4.57.1) acorn: 8.15.0 acorn-import-attributes: 1.9.5(acorn@8.15.0) async-sema: 3.1.1 bindings: 1.5.0 estree-walker: 2.0.2 - glob: 13.0.1 + glob: 13.0.3 graceful-fs: 4.2.11 node-gyp-build: 4.8.4 picomatch: 4.0.3 @@ -19753,7 +19705,7 @@ snapshots: optionalDependencies: ajv: 6.12.6 - '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -19761,11 +19713,11 @@ snapshots: '@rolldown/pluginutils': 1.0.0-beta.27 '@types/babel__core': 7.20.5 react-refresh: 0.17.0 - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-react@5.1.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@vitejs/plugin-react@5.1.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.29.0) @@ -19773,42 +19725,42 @@ snapshots: '@rolldown/pluginutils': 1.0.0-rc.3 '@types/babel__core': 7.20.5 react-refresh: 0.18.0 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@4.2.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) - '@rolldown/pluginutils': 1.0.0-rc.3 + '@rolldown/pluginutils': 1.0.0-rc.4 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.29.0) - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@5.1.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@5.1.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: '@babel/core': 7.29.0 '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-typescript': 7.28.6(@babel/core@7.29.0) - '@rolldown/pluginutils': 1.0.0-rc.3 + '@rolldown/pluginutils': 1.0.0-rc.4 '@vue/babel-plugin-jsx': 2.0.1(@babel/core@7.29.0) - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': + '@vitejs/plugin-vue@5.2.4(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.28(typescript@5.9.3) - '@vitejs/plugin-vue@6.0.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-rc.2 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vue: 3.5.28(typescript@5.9.3) '@vitest/expect@3.2.4': @@ -19828,21 +19780,21 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.0.3 - '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@3.2.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': + '@vitest/mocker@4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))': dependencies: '@vitest/spy': 4.0.18 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) '@vitest/pretty-format@3.2.4': dependencies: @@ -19985,10 +19937,10 @@ snapshots: '@vscode/vsce-sign-alpine-x64@2.0.6': optional: true - '@vscode/vsce-sign-darwin-arm64@2.0.2': + '@vscode/vsce-sign-darwin-arm64@2.0.6': optional: true - '@vscode/vsce-sign-darwin-x64@2.0.2': + '@vscode/vsce-sign-darwin-x64@2.0.6': optional: true '@vscode/vsce-sign-linux-arm64@2.0.6': @@ -20006,12 +19958,12 @@ snapshots: '@vscode/vsce-sign-win32-x64@2.0.6': optional: true - '@vscode/vsce-sign@2.0.8': + '@vscode/vsce-sign@2.0.9': optionalDependencies: '@vscode/vsce-sign-alpine-arm64': 2.0.6 '@vscode/vsce-sign-alpine-x64': 2.0.6 - '@vscode/vsce-sign-darwin-arm64': 2.0.2 - '@vscode/vsce-sign-darwin-x64': 2.0.2 + '@vscode/vsce-sign-darwin-arm64': 2.0.6 + '@vscode/vsce-sign-darwin-x64': 2.0.6 '@vscode/vsce-sign-linux-arm': 2.0.6 '@vscode/vsce-sign-linux-arm64': 2.0.6 '@vscode/vsce-sign-linux-x64': 2.0.6 @@ -20021,13 +19973,13 @@ snapshots: '@vscode/vsce@2.32.0': dependencies: '@azure/identity': 4.13.0 - '@vscode/vsce-sign': 2.0.8 + '@vscode/vsce-sign': 2.0.9 azure-devops-node-api: 12.5.0 chalk: 2.4.2 cheerio: 1.2.0 cockatiel: 3.2.1 commander: 6.2.1 - form-data: 4.0.4 + form-data: 4.0.5 glob: 7.2.3 hosted-git-info: 4.1.0 jsonc-parser: 3.3.1 @@ -20056,18 +20008,18 @@ snapshots: '@secretlint/secretlint-formatter-sarif': 10.2.2 '@secretlint/secretlint-rule-no-dotenv': 10.2.2 '@secretlint/secretlint-rule-preset-recommend': 10.2.2 - '@vscode/vsce-sign': 2.0.8 + '@vscode/vsce-sign': 2.0.9 azure-devops-node-api: 12.5.0 chalk: 4.1.2 cheerio: 1.2.0 cockatiel: 3.2.1 commander: 12.1.0 - form-data: 4.0.4 - glob: 11.0.3 + form-data: 4.0.5 + glob: 11.1.0 hosted-git-info: 4.1.0 jsonc-parser: 3.3.1 leven: 3.1.0 - markdown-it: 14.1.0 + markdown-it: 14.1.1 mime: 1.6.0 minimatch: 3.1.2 parse-semver: 1.1.1 @@ -20173,26 +20125,26 @@ snapshots: '@vue/compiler-dom': 3.5.28 '@vue/shared': 3.5.28 - '@vue/devtools-core@7.7.9(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': + '@vue/devtools-core@7.7.9(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: '@vue/devtools-kit': 7.7.9 '@vue/devtools-shared': 7.7.9 mitt: 3.0.1 nanoid: 5.1.6 pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite-hot-client: 2.1.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - vite - '@vue/devtools-core@8.0.6(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': + '@vue/devtools-core@8.0.6(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3))': dependencies: '@vue/devtools-kit': 8.0.6 '@vue/devtools-shared': 8.0.6 mitt: 3.0.1 nanoid: 5.1.6 pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite-hot-client: 2.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) vue: 3.5.28(typescript@5.9.3) transitivePeerDependencies: - vite @@ -20200,22 +20152,22 @@ snapshots: '@vue/devtools-kit@7.7.9': dependencies: '@vue/devtools-shared': 7.7.9 - birpc: 2.6.1 + birpc: 2.9.0 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - superjson: 2.2.3 + superjson: 2.2.6 '@vue/devtools-kit@8.0.6': dependencies: '@vue/devtools-shared': 8.0.6 - birpc: 2.6.1 + birpc: 2.9.0 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 2.1.0 speakingurl: 14.0.1 - superjson: 2.2.3 + superjson: 2.2.6 '@vue/devtools-shared@7.7.9': dependencies: @@ -20262,12 +20214,12 @@ snapshots: '@whatwg-node/promise-helpers': 1.3.2 tslib: 2.8.1 - '@whatwg-node/fetch@0.10.11': + '@whatwg-node/fetch@0.10.13': dependencies: - '@whatwg-node/node-fetch': 0.8.1 + '@whatwg-node/node-fetch': 0.8.5 urlpattern-polyfill: 10.1.0 - '@whatwg-node/node-fetch@0.8.1': + '@whatwg-node/node-fetch@0.8.5': dependencies: '@fastify/busboy': 3.2.0 '@whatwg-node/disposablestack': 0.0.6 @@ -20278,11 +20230,11 @@ snapshots: dependencies: tslib: 2.8.1 - '@whatwg-node/server@0.10.13': + '@whatwg-node/server@0.10.18': dependencies: '@envelop/instrumentation': 1.0.0 '@whatwg-node/disposablestack': 0.0.6 - '@whatwg-node/fetch': 0.10.11 + '@whatwg-node/fetch': 0.10.13 '@whatwg-node/promise-helpers': 1.3.2 tslib: 2.8.1 @@ -20354,7 +20306,7 @@ snapshots: dependencies: type-fest: 1.4.0 - ansi-escapes@7.1.1: + ansi-escapes@7.3.0: dependencies: environment: 1.1.0 @@ -20426,9 +20378,8 @@ snapshots: astring@1.9.0: {} - astro-auto-import@0.4.5(astro@packages+astro): + astro-auto-import@0.4.6(astro@packages+astro): dependencies: - '@types/node': 18.19.130 acorn: 8.15.0 astro: link:packages/astro @@ -20436,18 +20387,20 @@ snapshots: dependencies: '@astro-community/astro-embed-baseline-status': 0.1.2(astro@packages+astro) '@astro-community/astro-embed-integration': 0.7.2(astro@packages+astro) - '@astro-community/astro-embed-link-preview': 0.2.2 - '@astro-community/astro-embed-twitter': 0.5.8(astro@packages+astro) - '@astro-community/astro-embed-vimeo': 0.3.10(astro@packages+astro) - '@astro-community/astro-embed-youtube': 0.5.7(astro@packages+astro) + '@astro-community/astro-embed-link-preview': 0.2.3 + '@astro-community/astro-embed-twitter': 0.5.11 + '@astro-community/astro-embed-vimeo': 0.3.12 + '@astro-community/astro-embed-youtube': 0.5.10 astro: link:packages/astro + transitivePeerDependencies: + - canvas astro-remote@0.3.4: dependencies: entities: 4.5.0 marked: 12.0.2 marked-footnote: 1.4.0(marked@12.0.2) - marked-smartypants: 1.1.10(marked@12.0.2) + marked-smartypants: 1.1.11(marked@12.0.2) ultrahtml: 1.6.0 async-sema@3.1.1: {} @@ -20466,7 +20419,7 @@ snapshots: cli-table3: 0.6.5 color-support: 1.1.3 cross-argv: 2.0.0 - form-data: 4.0.4 + form-data: 4.0.5 has-async-hooks: 1.0.0 hdr-histogram-js: 3.0.1 hdr-histogram-percentiles-obj: 3.0.0 @@ -20487,21 +20440,21 @@ snapshots: autoprefixer@10.4.24(postcss@8.5.6): dependencies: browserslist: 4.28.1 - caniuse-lite: 1.0.30001767 + caniuse-lite: 1.0.30001769 fraction.js: 5.3.4 picocolors: 1.1.1 postcss: 8.5.6 postcss-value-parser: 4.2.0 - avvio@9.1.0: + avvio@9.2.0: dependencies: '@fastify/error': 4.2.0 - fastq: 1.19.1 + fastq: 1.20.1 - axios@1.13.4: + axios@1.13.5: dependencies: follow-redirects: 1.15.11 - form-data: 4.0.4 + form-data: 4.0.5 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug @@ -20513,7 +20466,7 @@ snapshots: tunnel: 0.0.6 typed-rest-client: 1.8.11 - b4a@1.7.3: {} + b4a@1.7.4: {} babel-plugin-jsx-dom-expressions@0.40.3(@babel/core@7.29.0): dependencies: @@ -20539,7 +20492,11 @@ snapshots: balanced-match@1.0.2: {} - bare-events@2.8.1: {} + balanced-match@4.0.2: + dependencies: + jackspeak: 4.2.3 + + bare-events@2.8.2: {} base-64@1.0.0: {} @@ -20572,7 +20529,7 @@ snapshots: dependencies: file-uri-to-path: 1.0.0 - birpc@2.6.1: {} + birpc@2.9.0: {} bl@4.1.0: dependencies: @@ -20589,9 +20546,9 @@ snapshots: content-type: 1.0.5 debug: 4.4.3(supports-color@8.1.1) http-errors: 2.0.1 - iconv-lite: 0.7.0 + iconv-lite: 0.7.2 on-finished: 2.4.1 - qs: 6.14.1 + qs: 6.14.2 raw-body: 3.0.2 type-is: 2.0.1 transitivePeerDependencies: @@ -20612,6 +20569,10 @@ snapshots: dependencies: balanced-match: 1.0.2 + brace-expansion@5.0.2: + dependencies: + balanced-match: 4.0.2 + braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -20621,7 +20582,7 @@ snapshots: browserslist@4.28.1: dependencies: baseline-browser-mapping: 2.9.19 - caniuse-lite: 1.0.30001767 + caniuse-lite: 1.0.30001769 electron-to-chromium: 1.5.286 node-releases: 2.0.27 update-browserslist-db: 1.2.3(browserslist@4.28.1) @@ -20684,7 +20645,7 @@ snapshots: camelcase@6.3.0: {} - caniuse-lite@1.0.30001767: {} + caniuse-lite@1.0.30001769: {} canvas-confetti@1.9.4: {} @@ -20693,7 +20654,7 @@ snapshots: chai@5.3.3: dependencies: assertion-error: 2.0.1 - check-error: 2.1.1 + check-error: 2.1.3 deep-eql: 5.0.2 loupe: 3.2.1 pathval: 2.0.1 @@ -20723,9 +20684,9 @@ snapshots: character-reference-invalid@2.0.1: {} - chardet@2.1.0: {} + chardet@2.1.1: {} - check-error@2.1.1: {} + check-error@2.1.3: {} cheerio-select@2.1.0: dependencies: @@ -20747,7 +20708,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.22.0 + undici: 7.21.0 whatwg-mimetype: 4.0.0 chokidar@3.6.0: @@ -20835,26 +20796,26 @@ snapshots: dependencies: color-name: 1.1.4 - color-convert@3.1.2: + color-convert@3.1.3: dependencies: - color-name: 2.0.2 + color-name: 2.1.0 color-name@1.1.3: {} color-name@1.1.4: {} - color-name@2.0.2: {} + color-name@2.1.0: {} - color-string@2.1.2: + color-string@2.1.4: dependencies: - color-name: 2.0.2 + color-name: 2.1.0 color-support@1.1.3: {} - color@5.0.2: + color@5.0.3: dependencies: - color-convert: 3.1.2 - color-string: 2.1.2 + color-convert: 3.1.3 + color-string: 2.1.4 combined-stream@1.0.8: dependencies: @@ -20914,7 +20875,7 @@ snapshots: cookie-signature@1.2.2: {} - cookie@0.7.1: {} + cookie@0.7.2: {} cookie@1.1.1: {} @@ -20991,7 +20952,7 @@ snapshots: css-selector-parser@1.4.1: {} - css-selector-parser@3.1.3: {} + css-selector-parser@3.3.0: {} css-tree@2.2.1: dependencies: @@ -21053,7 +21014,7 @@ snapshots: dedent-js@1.0.1: {} - dedent@1.7.0: {} + dedent@1.7.1: {} deep-diff@1.0.2: {} @@ -21066,12 +21027,12 @@ snapshots: deepmerge@4.3.1: {} - default-browser-id@5.0.0: {} + default-browser-id@5.0.1: {} default-browser@5.5.0: dependencies: bundle-name: 4.1.0 - default-browser-id: 5.0.0 + default-browser-id: 5.0.1 define-data-property@1.1.4: dependencies: @@ -21213,9 +21174,9 @@ snapshots: dotenv@8.6.0: {} - drizzle-orm@0.42.0(@cloudflare/workers-types@4.20260214.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0): + drizzle-orm@0.42.0(@cloudflare/workers-types@4.20260213.0)(@libsql/client@0.17.0)(@opentelemetry/api@1.9.0): optionalDependencies: - '@cloudflare/workers-types': 4.20260214.0 + '@cloudflare/workers-types': 4.20260213.0 '@libsql/client': 0.17.0 '@opentelemetry/api': 1.9.0 @@ -21499,7 +21460,7 @@ snapshots: '@eslint-community/regexpp': 4.12.2 comment-parser: 1.4.5 eslint: 9.39.2(jiti@2.6.1) - jsdoc-type-pratt-parser: 7.1.0 + jsdoc-type-pratt-parser: 7.1.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 @@ -21520,7 +21481,7 @@ snapshots: '@eslint/config-array': 0.21.1 '@eslint/config-helpers': 0.4.2 '@eslint/core': 0.17.0 - '@eslint/eslintrc': 3.3.1 + '@eslint/eslintrc': 3.3.3 '@eslint/js': 9.39.2 '@eslint/plugin-kit': 0.4.1 '@humanfs/node': 0.16.7 @@ -21535,7 +21496,7 @@ snapshots: eslint-scope: 8.4.0 eslint-visitor-keys: 4.2.1 espree: 10.4.0 - esquery: 1.6.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 file-entry-cache: 8.0.0 @@ -21566,11 +21527,11 @@ snapshots: esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 - esrap@2.2.2: + esrap@2.2.3: dependencies: '@jridgewell/sourcemap-codec': 1.5.5 @@ -21625,7 +21586,7 @@ snapshots: events-universal@1.0.1: dependencies: - bare-events: 2.8.1 + bare-events: 2.8.2 transitivePeerDependencies: - bare-abort-controller @@ -21643,7 +21604,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execa@9.6.0: + execa@9.6.1: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.6 @@ -21669,7 +21630,7 @@ snapshots: body-parser: 2.2.2 content-disposition: 1.0.1 content-type: 1.0.5 - cookie: 0.7.1 + cookie: 0.7.2 cookie-signature: 1.2.2 debug: 4.4.3(supports-color@8.1.1) depd: 2.0.0 @@ -21685,7 +21646,7 @@ snapshots: once: 1.4.0 parseurl: 1.3.3 proxy-addr: 2.0.7 - qs: 6.14.1 + qs: 6.14.2 range-parser: 1.2.1 router: 2.2.0 send: 1.2.1 @@ -21726,7 +21687,7 @@ snapshots: fast-json-stable-stringify@2.1.0: {} - fast-json-stringify@6.2.0: + fast-json-stringify@6.3.0: dependencies: '@fastify/merge-json-schemas': 0.2.1 ajv: 8.17.1 @@ -21745,7 +21706,7 @@ snapshots: fast-uri@3.1.0: {} - fast-xml-parser@5.3.6: + fast-xml-parser@5.3.5: dependencies: strnum: 2.1.2 @@ -21758,18 +21719,18 @@ snapshots: '@fastify/fast-json-stringify-compiler': 5.0.3 '@fastify/proxy-addr': 5.1.0 abstract-logging: 2.0.1 - avvio: 9.1.0 - fast-json-stringify: 6.2.0 + avvio: 9.2.0 + fast-json-stringify: 6.3.0 find-my-way: 9.4.0 light-my-request: 6.6.0 - pino: 10.2.1 + pino: 10.3.1 process-warning: 5.0.0 rfdc: 1.4.1 secure-json-parse: 4.1.0 semver: 7.7.4 toad-cache: 3.7.0 - fastq@1.19.1: + fastq@1.20.1: dependencies: reusify: 1.1.0 @@ -21878,7 +21839,7 @@ snapshots: cross-spawn: 7.0.6 signal-exit: 4.1.0 - form-data@4.0.4: + form-data@4.0.5: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -21911,7 +21872,7 @@ snapshots: jsonfile: 6.2.0 universalify: 2.0.1 - fs-extra@11.3.2: + fs-extra@11.3.3: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.0 @@ -21987,7 +21948,7 @@ snapshots: '@sec-ant/readable-stream': 0.4.1 is-stream: 4.0.1 - get-tsconfig@4.13.1: + get-tsconfig@4.13.6: dependencies: resolve-pkg-maps: 1.0.0 @@ -22013,20 +21974,20 @@ snapshots: package-json-from-dist: 1.0.1 path-scurry: 1.11.1 - glob@11.0.3: + glob@11.1.0: dependencies: foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.1.2 + jackspeak: 4.2.3 + minimatch: 10.2.0 minipass: 7.1.2 package-json-from-dist: 1.0.1 - path-scurry: 2.0.0 + path-scurry: 2.0.1 - glob@13.0.1: + glob@13.0.3: dependencies: - minimatch: 10.1.2 + minimatch: 10.2.0 minipass: 7.1.2 - path-scurry: 2.0.0 + path-scurry: 2.0.1 glob@7.2.3: dependencies: @@ -22146,9 +22107,9 @@ snapshots: '@types/unist': 3.0.3 '@ungap/structured-clone': 1.3.0 hast-util-from-parse5: 8.0.3 - hast-util-to-parse5: 8.0.0 + hast-util-to-parse5: 8.0.1 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 + mdast-util-to-hast: 13.2.1 parse5: 7.3.0 unist-util-position: 5.0.0 unist-util-visit: 5.1.0 @@ -22162,7 +22123,7 @@ snapshots: '@types/unist': 3.0.3 bcp-47-match: 2.0.3 comma-separated-tokens: 2.0.3 - css-selector-parser: 3.1.3 + css-selector-parser: 3.3.0 devlop: 1.1.0 direction: 2.0.1 hast-util-has-property: 3.0.0 @@ -22189,7 +22150,7 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.18 + style-to-js: 1.1.21 unist-util-position: 5.0.0 zwitch: 2.0.4 transitivePeerDependencies: @@ -22203,7 +22164,7 @@ snapshots: comma-separated-tokens: 2.0.3 hast-util-whitespace: 3.0.0 html-void-elements: 3.0.0 - mdast-util-to-hast: 13.2.0 + mdast-util-to-hast: 13.2.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 stringify-entities: 4.0.4 @@ -22223,18 +22184,18 @@ snapshots: mdast-util-mdxjs-esm: 2.0.1 property-information: 7.1.0 space-separated-tokens: 2.0.2 - style-to-js: 1.1.18 + style-to-js: 1.1.21 unist-util-position: 5.0.0 vfile-message: 4.0.3 transitivePeerDependencies: - supports-color - hast-util-to-parse5@8.0.0: + hast-util-to-parse5@8.0.1: dependencies: '@types/hast': 3.0.4 comma-separated-tokens: 2.0.3 devlop: 1.1.0 - property-information: 6.5.0 + property-information: 7.1.0 space-separated-tokens: 2.0.2 web-namespaces: 2.0.1 zwitch: 2.0.4 @@ -22297,13 +22258,6 @@ snapshots: domutils: 3.2.2 entities: 7.0.1 - htmlparser2@8.0.2: - dependencies: - domelementtype: 2.3.0 - domhandler: 5.0.3 - domutils: 3.2.2 - entities: 4.5.0 - http-cache-semantics@4.2.0: {} http-errors@2.0.1: @@ -22332,7 +22286,7 @@ snapshots: transitivePeerDependencies: - supports-color - human-id@4.1.2: {} + human-id@4.1.3: {} human-signals@5.0.0: {} @@ -22348,7 +22302,7 @@ snapshots: dependencies: safer-buffer: 2.1.2 - iconv-lite@0.7.0: + iconv-lite@0.7.2: dependencies: safer-buffer: 2.1.2 @@ -22396,7 +22350,7 @@ snapshots: ini@1.3.8: optional: true - inline-style-parser@0.2.4: {} + inline-style-parser@0.2.7: {} ipaddr.js@1.9.1: {} @@ -22573,9 +22527,9 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 - jackspeak@4.1.1: + jackspeak@4.2.3: dependencies: - '@isaacs/cliui': 8.0.2 + '@isaacs/cliui': 9.0.0 jiti@2.6.1: {} @@ -22591,7 +22545,7 @@ snapshots: js-tokens@9.0.1: {} - js-yaml@3.14.1: + js-yaml@3.14.2: dependencies: argparse: 1.0.10 esprima: 4.0.1 @@ -22600,7 +22554,7 @@ snapshots: dependencies: argparse: 2.0.1 - jsdoc-type-pratt-parser@7.1.0: {} + jsdoc-type-pratt-parser@7.1.1: {} jsesc@3.1.0: {} @@ -22636,7 +22590,20 @@ snapshots: jsonwebtoken@9.0.2: dependencies: - jws: 3.2.2 + jws: 3.2.3 + lodash.includes: 4.3.0 + lodash.isboolean: 3.0.3 + lodash.isinteger: 4.0.4 + lodash.isnumber: 3.0.3 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.once: 4.1.1 + ms: 2.1.3 + semver: 7.7.4 + + jsonwebtoken@9.0.3: + dependencies: + jws: 4.0.1 lodash.includes: 4.3.0 lodash.isboolean: 3.0.3 lodash.isinteger: 4.0.4 @@ -22664,11 +22631,22 @@ snapshots: ecdsa-sig-formatter: 1.0.11 safe-buffer: 5.2.1 - jws@3.2.2: + jwa@2.0.1: + dependencies: + buffer-equal-constant-time: 1.0.1 + ecdsa-sig-formatter: 1.0.11 + safe-buffer: 5.2.1 + + jws@3.2.3: dependencies: jwa: 1.4.2 safe-buffer: 5.2.1 + jws@4.0.1: + dependencies: + jwa: 2.0.1 + safe-buffer: 5.2.1 + jwt-decode@4.0.0: {} katex@0.16.28: @@ -22696,7 +22674,7 @@ snapshots: jiti: 2.6.1 js-yaml: 4.1.1 minimist: 1.2.8 - oxc-resolver: 11.17.0 + oxc-resolver: 11.17.1 picocolors: 1.1.1 picomatch: 4.0.3 smol-toml: 1.6.0 @@ -22712,7 +22690,7 @@ snapshots: dependencies: commander: 10.0.1 dotenv: 16.6.1 - winston: 3.18.3 + winston: 3.19.0 lazystream@1.0.1: dependencies: @@ -22799,14 +22777,6 @@ snapshots: lightningcss-win32-arm64-msvc: 1.30.2 lightningcss-win32-x64-msvc: 1.30.2 - linkedom@0.14.26: - dependencies: - css-select: 5.2.2 - cssom: 0.5.0 - html-escaper: 3.0.3 - htmlparser2: 8.0.2 - uhyphen: 0.2.0 - linkedom@0.18.12: dependencies: css-select: 5.2.2 @@ -22837,30 +22807,30 @@ snapshots: http-shutdown: 1.2.2 jiti: 2.6.1 mlly: 1.8.0 - node-forge: 1.3.1 + node-forge: 1.3.3 pathe: 1.1.2 std-env: 3.10.0 ufo: 1.6.3 untun: 0.1.3 uqr: 0.1.2 - lit-element@4.2.1: + lit-element@4.2.2: dependencies: - '@lit-labs/ssr-dom-shim': 1.4.0 - '@lit/reactive-element': 2.1.1 - lit-html: 3.3.1 + '@lit-labs/ssr-dom-shim': 1.5.1 + '@lit/reactive-element': 2.1.2 + lit-html: 3.3.2 - lit-html@3.3.1: + lit-html@3.3.2: dependencies: '@types/trusted-types': 2.0.7 lit@3.3.2: dependencies: - '@lit/reactive-element': 2.1.1 - lit-element: 4.2.1 - lit-html: 3.3.1 + '@lit/reactive-element': 2.1.2 + lit-element: 4.2.2 + lit-html: 3.3.2 - lite-youtube-embed@0.3.3: {} + lite-youtube-embed@0.3.4: {} locate-character@3.0.0: {} @@ -22943,7 +22913,7 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@11.2.5: {} + lru-cache@11.2.6: {} lru-cache@5.1.1: dependencies: @@ -22985,7 +22955,7 @@ snapshots: mdurl: 1.0.1 uc.micro: 1.0.6 - markdown-it@14.1.0: + markdown-it@14.1.1: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -23000,7 +22970,7 @@ snapshots: dependencies: marked: 12.0.2 - marked-smartypants@1.1.10(marked@12.0.2): + marked-smartypants@1.1.11(marked@12.0.2): dependencies: marked: 12.0.2 smartypants: 0.2.2 @@ -23169,7 +23139,7 @@ snapshots: '@types/mdast': 4.0.4 unist-util-is: 6.0.1 - mdast-util-to-hast@13.2.0: + mdast-util-to-hast@13.2.1: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 @@ -23320,7 +23290,7 @@ snapshots: micromark-extension-math@3.1.0: dependencies: - '@types/katex': 0.16.7 + '@types/katex': 0.16.8 devlop: 1.1.0 katex: 0.16.28 micromark-factory-space: 2.0.1 @@ -23557,9 +23527,9 @@ snapshots: - bufferutil - utf-8-validate - minimatch@10.1.2: + minimatch@10.2.0: dependencies: - '@isaacs/brace-expansion': 5.0.1 + brace-expansion: 5.0.2 minimatch@3.1.2: dependencies: @@ -23685,7 +23655,7 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - node-forge@1.3.1: {} + node-forge@1.3.3: {} node-gyp-build@4.8.4: {} @@ -23696,7 +23666,7 @@ snapshots: node-mock-http@1.0.4: {} - node-mocks-http@1.17.2(@types/node@22.19.8): + node-mocks-http@1.17.2(@types/node@22.19.11): dependencies: accepts: 1.3.8 content-disposition: 0.5.4 @@ -23709,9 +23679,9 @@ snapshots: range-parser: 1.2.1 type-is: 1.6.18 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 22.19.11 - node-mocks-http@1.17.2(@types/node@25.2.2): + node-mocks-http@1.17.2(@types/node@25.2.3): dependencies: accepts: 1.3.8 content-disposition: 0.5.4 @@ -23724,14 +23694,14 @@ snapshots: range-parser: 1.2.1 type-is: 1.6.18 optionalDependencies: - '@types/node': 25.2.2 + '@types/node': 25.2.3 node-releases@2.0.27: {} - node-sarif-builder@3.2.0: + node-sarif-builder@3.4.0: dependencies: '@types/sarif': 2.1.7 - fs-extra: 11.3.2 + fs-extra: 11.3.3 node-source-walk@7.0.1: dependencies: @@ -23817,7 +23787,7 @@ snapshots: oniguruma-to-es@4.3.4: dependencies: oniguruma-parser: 0.12.1 - regex: 6.0.1 + regex: 6.1.0 regex-recursion: 6.0.2 only-allow@1.2.2: @@ -23870,28 +23840,28 @@ snapshots: - debug - supports-color - oxc-resolver@11.17.0: + oxc-resolver@11.17.1: optionalDependencies: - '@oxc-resolver/binding-android-arm-eabi': 11.17.0 - '@oxc-resolver/binding-android-arm64': 11.17.0 - '@oxc-resolver/binding-darwin-arm64': 11.17.0 - '@oxc-resolver/binding-darwin-x64': 11.17.0 - '@oxc-resolver/binding-freebsd-x64': 11.17.0 - '@oxc-resolver/binding-linux-arm-gnueabihf': 11.17.0 - '@oxc-resolver/binding-linux-arm-musleabihf': 11.17.0 - '@oxc-resolver/binding-linux-arm64-gnu': 11.17.0 - '@oxc-resolver/binding-linux-arm64-musl': 11.17.0 - '@oxc-resolver/binding-linux-ppc64-gnu': 11.17.0 - '@oxc-resolver/binding-linux-riscv64-gnu': 11.17.0 - '@oxc-resolver/binding-linux-riscv64-musl': 11.17.0 - '@oxc-resolver/binding-linux-s390x-gnu': 11.17.0 - '@oxc-resolver/binding-linux-x64-gnu': 11.17.0 - '@oxc-resolver/binding-linux-x64-musl': 11.17.0 - '@oxc-resolver/binding-openharmony-arm64': 11.17.0 - '@oxc-resolver/binding-wasm32-wasi': 11.17.0 - '@oxc-resolver/binding-win32-arm64-msvc': 11.17.0 - '@oxc-resolver/binding-win32-ia32-msvc': 11.17.0 - '@oxc-resolver/binding-win32-x64-msvc': 11.17.0 + '@oxc-resolver/binding-android-arm-eabi': 11.17.1 + '@oxc-resolver/binding-android-arm64': 11.17.1 + '@oxc-resolver/binding-darwin-arm64': 11.17.1 + '@oxc-resolver/binding-darwin-x64': 11.17.1 + '@oxc-resolver/binding-freebsd-x64': 11.17.1 + '@oxc-resolver/binding-linux-arm-gnueabihf': 11.17.1 + '@oxc-resolver/binding-linux-arm-musleabihf': 11.17.1 + '@oxc-resolver/binding-linux-arm64-gnu': 11.17.1 + '@oxc-resolver/binding-linux-arm64-musl': 11.17.1 + '@oxc-resolver/binding-linux-ppc64-gnu': 11.17.1 + '@oxc-resolver/binding-linux-riscv64-gnu': 11.17.1 + '@oxc-resolver/binding-linux-riscv64-musl': 11.17.1 + '@oxc-resolver/binding-linux-s390x-gnu': 11.17.1 + '@oxc-resolver/binding-linux-x64-gnu': 11.17.1 + '@oxc-resolver/binding-linux-x64-musl': 11.17.1 + '@oxc-resolver/binding-openharmony-arm64': 11.17.1 + '@oxc-resolver/binding-wasm32-wasi': 11.17.1 + '@oxc-resolver/binding-win32-arm64-msvc': 11.17.1 + '@oxc-resolver/binding-win32-ia32-msvc': 11.17.1 + '@oxc-resolver/binding-win32-x64-msvc': 11.17.1 p-event@6.0.1: dependencies: @@ -23911,11 +23881,11 @@ snapshots: p-limit@4.0.0: dependencies: - yocto-queue: 1.2.1 + yocto-queue: 1.2.2 p-limit@7.3.0: dependencies: - yocto-queue: 1.2.1 + yocto-queue: 1.2.2 p-locate@4.1.0: dependencies: @@ -23931,7 +23901,7 @@ snapshots: p-map@2.1.0: {} - p-map@7.0.3: {} + p-map@7.0.4: {} p-queue@9.1.0: dependencies: @@ -24044,9 +24014,9 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 - path-scurry@2.0.0: + path-scurry@2.0.1: dependencies: - lru-cache: 11.2.5 + lru-cache: 11.2.6 minipass: 7.1.2 path-to-regexp@6.1.0: {} @@ -24089,7 +24059,7 @@ snapshots: pino-std-serializers@7.1.0: {} - pino@10.2.1: + pino@10.3.1: dependencies: '@pinojs/redact': 0.4.0 atomic-sleep: 1.0.0 @@ -24100,7 +24070,7 @@ snapshots: quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.5.0 - sonic-boom: 4.2.0 + sonic-boom: 4.2.1 thread-stream: 4.0.0 pkg-types@1.3.1: @@ -24440,8 +24410,6 @@ snapshots: promise-limit@2.7.0: {} - property-information@6.5.0: {} - property-information@7.1.0: {} proxy-addr@2.0.7: @@ -24453,7 +24421,7 @@ snapshots: publint@0.3.17: dependencies: - '@publint/pack': 0.1.3 + '@publint/pack': 0.1.4 package-manager-detector: 1.6.0 picocolors: 1.1.1 sade: 1.8.1 @@ -24467,7 +24435,7 @@ snapshots: punycode@2.3.1: {} - qs@6.14.1: + qs@6.14.2: dependencies: side-channel: 1.1.0 @@ -24491,7 +24459,7 @@ snapshots: dependencies: bytes: 3.1.2 http-errors: 2.0.1 - iconv-lite: 0.7.0 + iconv-lite: 0.7.2 unpipe: 1.0.0 rc-config-loader@4.1.3: @@ -24556,7 +24524,7 @@ snapshots: read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 - js-yaml: 3.14.1 + js-yaml: 3.14.2 pify: 4.0.1 strip-bom: 3.0.0 @@ -24645,7 +24613,7 @@ snapshots: regex-utilities@2.3.0: {} - regex@6.0.1: + regex@6.1.0: dependencies: regex-utilities: 2.3.0 @@ -24775,7 +24743,7 @@ snapshots: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.4 - mdast-util-to-hast: 13.2.0 + mdast-util-to-hast: 13.2.1 unified: 11.0.5 vfile: 6.0.3 @@ -24974,7 +24942,7 @@ snapshots: optionalDependencies: '@parcel/watcher': 2.5.6 - sax@1.4.1: {} + sax@1.4.4: {} scheduler@0.23.2: dependencies: @@ -25175,7 +25143,7 @@ snapshots: dependencies: '@clack/prompts': 0.7.0 astro: link:packages/astro - fs-extra: 11.3.2 + fs-extra: 11.3.3 just-map-values: 3.2.0 kleur: 4.1.5 zod: 4.3.6 @@ -25190,10 +25158,10 @@ snapshots: sitemap@9.0.0: dependencies: - '@types/node': 24.10.10 + '@types/node': 24.10.13 '@types/sax': 1.2.7 arg: 5.0.2 - sax: 1.4.1 + sax: 1.4.4 slash@3.0.0: {} @@ -25231,7 +25199,7 @@ snapshots: transitivePeerDependencies: - supports-color - sonic-boom@4.2.0: + sonic-boom@4.2.1: dependencies: atomic-sleep: 1.0.0 @@ -25297,7 +25265,7 @@ snapshots: dependencies: events-universal: 1.0.1 fast-fifo: 1.3.2 - text-decoder: 1.2.3 + text-decoder: 1.2.5 transitivePeerDependencies: - bare-abort-controller - react-native-b4a @@ -25375,19 +25343,19 @@ snapshots: dependencies: boundary: 2.0.0 - style-to-js@1.1.18: + style-to-js@1.1.21: dependencies: - style-to-object: 1.0.11 + style-to-object: 1.0.14 - style-to-object@1.0.11: + style-to-object@1.0.14: dependencies: - inline-style-parser: 0.2.4 + inline-style-parser: 0.2.7 suf-log@2.5.3: dependencies: s.color: 0.0.15 - superjson@2.2.3: + superjson@2.2.6: dependencies: copy-anything: 4.0.5 @@ -25428,7 +25396,7 @@ snapshots: dependencies: '@jridgewell/remapping': 2.3.5 '@jridgewell/sourcemap-codec': 1.5.5 - '@sveltejs/acorn-typescript': 1.0.6(acorn@8.15.0) + '@sveltejs/acorn-typescript': 1.0.9(acorn@8.15.0) '@types/estree': 1.0.8 acorn: 8.15.0 aria-query: 5.3.2 @@ -25436,7 +25404,7 @@ snapshots: clsx: 2.1.1 devalue: 5.6.2 esm-env: 1.2.2 - esrap: 2.2.2 + esrap: 2.2.3 is-reference: 3.0.3 locate-character: 3.0.0 magic-string: 0.30.21 @@ -25460,7 +25428,7 @@ snapshots: css-what: 6.2.2 csso: 5.0.5 picocolors: 1.1.1 - sax: 1.4.1 + sax: 1.4.4 system-architecture@0.1.0: {} @@ -25495,7 +25463,7 @@ snapshots: tar-stream@3.1.7: dependencies: - b4a: 1.7.3 + b4a: 1.7.4 fast-fifo: 1.3.2 streamx: 2.23.0 transitivePeerDependencies: @@ -25514,12 +25482,12 @@ snapshots: terminal-link@4.0.0: dependencies: - ansi-escapes: 7.1.1 + ansi-escapes: 7.3.0 supports-hyperlinks: 3.2.0 terminal-link@5.0.0: dependencies: - ansi-escapes: 7.1.1 + ansi-escapes: 7.3.0 supports-hyperlinks: 4.4.0 test-exclude@7.0.1: @@ -25528,9 +25496,9 @@ snapshots: glob: 10.5.0 minimatch: 9.0.5 - text-decoder@1.2.3: + text-decoder@1.2.5: dependencies: - b4a: 1.7.3 + b4a: 1.7.4 transitivePeerDependencies: - react-native-b4a @@ -25612,7 +25580,7 @@ snapshots: tsx@4.21.0: dependencies: esbuild: 0.27.3 - get-tsconfig: 4.13.1 + get-tsconfig: 4.13.6 optionalDependencies: fsevents: 2.3.3 @@ -25623,32 +25591,32 @@ snapshots: tunnel@0.0.6: {} - turbo-darwin-64@2.8.9: + turbo-darwin-64@2.8.7: optional: true - turbo-darwin-arm64@2.8.9: + turbo-darwin-arm64@2.8.7: optional: true - turbo-linux-64@2.8.9: + turbo-linux-64@2.8.7: optional: true - turbo-linux-arm64@2.8.9: + turbo-linux-arm64@2.8.7: optional: true - turbo-windows-64@2.8.9: + turbo-windows-64@2.8.7: optional: true - turbo-windows-arm64@2.8.9: + turbo-windows-arm64@2.8.7: optional: true - turbo@2.8.9: + turbo@2.8.7: optionalDependencies: - turbo-darwin-64: 2.8.9 - turbo-darwin-arm64: 2.8.9 - turbo-linux-64: 2.8.9 - turbo-linux-arm64: 2.8.9 - turbo-windows-64: 2.8.9 - turbo-windows-arm64: 2.8.9 + turbo-darwin-64: 2.8.7 + turbo-darwin-arm64: 2.8.7 + turbo-linux-64: 2.8.7 + turbo-linux-arm64: 2.8.7 + turbo-windows-64: 2.8.7 + turbo-windows-arm64: 2.8.7 type-check@0.4.0: dependencies: @@ -25671,7 +25639,7 @@ snapshots: typed-rest-client@1.8.11: dependencies: - qs: 6.14.1 + qs: 6.14.2 tunnel: 0.0.6 underscore: 1.13.7 @@ -25710,7 +25678,7 @@ snapshots: uhyphen@0.2.0: {} - ulid@3.0.1: {} + ulid@3.0.2: {} ultrahtml@1.6.0: {} @@ -25726,7 +25694,7 @@ snapshots: undici@7.18.2: {} - undici@7.22.0: {} + undici@7.21.0: {} unenv@2.0.0-rc.24: dependencies: @@ -25849,7 +25817,7 @@ snapshots: chokidar: 5.0.0 destr: 2.0.5 h3: 1.15.5 - lru-cache: 11.2.5 + lru-cache: 11.2.6 node-fetch-native: 1.6.7 ofetch: 1.5.1 ufo: 1.6.3 @@ -25928,27 +25896,27 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-dev-rpc@1.1.0(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-dev-rpc@1.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: - birpc: 2.6.1 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-hot-client: 2.1.0(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + birpc: 2.9.0 + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-hot-client: 2.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) - vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-hot-client@2.1.0(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-hot-client@2.1.0(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-hot-client@2.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-node@3.2.4(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): + vite-node@3.2.4(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: cac: 6.7.14 debug: 4.4.3(supports-color@8.1.1) es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - '@types/node' - jiti @@ -25963,23 +25931,23 @@ snapshots: - tsx - yaml - vite-plugin-inspect@0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-inspect@0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.3.0(rollup@4.57.1) debug: 4.4.3(supports-color@8.1.1) error-stack-parser-es: 0.1.5 - fs-extra: 11.3.2 + fs-extra: 11.3.3 open: 10.2.0 perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.2 - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - rollup - supports-color - vite-plugin-inspect@11.3.3(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-inspect@11.3.3(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: ansis: 4.2.0 debug: 4.4.3(supports-color@8.1.1) @@ -25989,12 +25957,12 @@ snapshots: perfect-debounce: 2.1.0 sirv: 3.0.2 unplugin-utils: 0.3.1 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-dev-rpc: 1.1.0(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-dev-rpc: 1.1.0(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - supports-color - vite-plugin-solid@2.11.10(solid-js@1.9.11)(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-solid@2.11.10(solid-js@1.9.11)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@babel/core': 7.29.0 '@types/babel__core': 7.20.5 @@ -26002,12 +25970,12 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.11 solid-refresh: 0.6.3(solid-js@1.9.11) - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vitefu: 1.1.1(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vitefu: 1.1.1(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - supports-color - vite-plugin-solid@2.11.10(solid-js@1.9.11)(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-solid@2.11.10(solid-js@1.9.11)(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@babel/core': 7.29.0 '@types/babel__core': 7.20.5 @@ -26015,42 +25983,42 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.9.11 solid-refresh: 0.6.3(solid-js@1.9.11) - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vitefu: 1.1.1(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vitefu: 1.1.1(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - supports-color - vite-plugin-vue-devtools@7.7.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)): + vite-plugin-vue-devtools@7.7.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)): dependencies: - '@vue/devtools-core': 7.7.9(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + '@vue/devtools-core': 7.7.9(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/devtools-kit': 7.7.9 '@vue/devtools-shared': 7.7.9 - execa: 9.6.0 + execa: 9.6.1 sirv: 3.0.2 - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-plugin-inspect: 0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) - vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-plugin-inspect: 0.8.9(rollup@4.57.1)(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite-plugin-vue-inspector: 5.3.2(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-devtools@8.0.6(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)): + vite-plugin-vue-devtools@8.0.6(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)): dependencies: - '@vue/devtools-core': 8.0.6(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) + '@vue/devtools-core': 8.0.6(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2))(vue@3.5.28(typescript@5.9.3)) '@vue/devtools-kit': 8.0.6 '@vue/devtools-shared': 8.0.6 sirv: 3.0.2 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-plugin-inspect: 11.3.3(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) - vite-plugin-vue-inspector: 5.3.2(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-plugin-inspect: 11.3.3(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + vite-plugin-vue-inspector: 5.3.2(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) transitivePeerDependencies: - '@nuxt/kit' - supports-color - vue - vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-vue-inspector@5.3.2(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@babel/core': 7.29.0 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) @@ -26061,11 +26029,11 @@ snapshots: '@vue/compiler-dom': 3.5.28 kolorist: 1.8.0 magic-string: 0.30.21 - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - vite-plugin-vue-inspector@5.3.2(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-plugin-vue-inspector@5.3.2(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: '@babel/core': 7.29.0 '@babel/plugin-proposal-decorators': 7.29.0(@babel/core@7.29.0) @@ -26076,11 +26044,11 @@ snapshots: '@vue/compiler-dom': 3.5.28 kolorist: 1.8.0 magic-string: 0.30.21 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) transitivePeerDependencies: - supports-color - vite-prerender-plugin@0.5.12(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vite-prerender-plugin@0.5.12(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): dependencies: kolorist: 1.8.0 magic-string: 0.30.21 @@ -26088,14 +26056,14 @@ snapshots: simple-code-frame: 1.3.0 source-map: 0.7.6 stack-trace: 1.0.0-pre2 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) vite-svg-loader@5.1.0(vue@3.5.28(typescript@5.9.3)): dependencies: svgo: 3.3.2 vue: 3.5.28(typescript@5.9.3) - vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): + vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.25.5 fdir: 6.5.0(picomatch@4.0.3) @@ -26104,7 +26072,7 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.2.2 + '@types/node': 25.2.3 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.30.2 @@ -26112,7 +26080,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vite@7.1.7(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): + vite@7.1.7(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.25.5 fdir: 6.5.0(picomatch@4.0.3) @@ -26121,7 +26089,7 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.2.2 + '@types/node': 25.2.3 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.30.2 @@ -26129,7 +26097,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vite@7.3.1(@types/node@22.19.8)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): + vite@7.3.1(@types/node@22.19.11)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -26138,7 +26106,7 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 22.19.8 + '@types/node': 22.19.11 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.30.2 @@ -26146,7 +26114,7 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): + vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: esbuild: 0.27.3 fdir: 6.5.0(picomatch@4.0.3) @@ -26155,7 +26123,7 @@ snapshots: rollup: 4.57.1 tinyglobby: 0.2.15 optionalDependencies: - '@types/node': 25.2.2 + '@types/node': 25.2.3 fsevents: 2.3.3 jiti: 2.6.1 lightningcss: 1.30.2 @@ -26163,19 +26131,19 @@ snapshots: tsx: 4.21.0 yaml: 2.8.2 - vitefu@1.1.1(vite@6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vitefu@1.1.1(vite@6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): optionalDependencies: - vite: 6.4.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 6.4.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vitefu@1.1.1(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): + vitefu@1.1.1(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)): optionalDependencies: - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@types/chai': 5.2.3 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 3.2.4(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -26193,12 +26161,12 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) - vite-node: 3.2.4(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite-node: 3.2.4(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 25.2.2 + '@types/node': 25.2.3 transitivePeerDependencies: - jiti - less @@ -26213,10 +26181,10 @@ snapshots: - tsx - yaml - vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): + vitest@4.0.18(@opentelemetry/api@1.9.0)(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2): dependencies: '@vitest/expect': 4.0.18 - '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) + '@vitest/mocker': 4.0.18(vite@7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2)) '@vitest/pretty-format': 4.0.18 '@vitest/runner': 4.0.18 '@vitest/snapshot': 4.0.18 @@ -26233,11 +26201,11 @@ snapshots: tinyexec: 1.0.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.3.1(@types/node@25.2.2)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) + vite: 7.3.1(@types/node@25.2.3)(jiti@2.6.1)(lightningcss@1.30.2)(sass@1.97.3)(tsx@4.21.0)(yaml@2.8.2) why-is-node-running: 2.3.0 optionalDependencies: '@opentelemetry/api': 1.9.0 - '@types/node': 25.2.2 + '@types/node': 25.2.3 transitivePeerDependencies: - jiti - less @@ -26251,31 +26219,14 @@ snapshots: - tsx - yaml - volar-service-css@0.0.67(@volar/language-service@2.4.28): - dependencies: - vscode-css-languageservice: 6.3.8 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - optionalDependencies: - '@volar/language-service': 2.4.28 - volar-service-css@0.0.68(@volar/language-service@2.4.28): dependencies: - vscode-css-languageservice: 6.3.8 + vscode-css-languageservice: 6.3.9 vscode-languageserver-textdocument: 1.0.12 vscode-uri: 3.1.0 optionalDependencies: '@volar/language-service': 2.4.28 - volar-service-emmet@0.0.67(@volar/language-service@2.4.28): - dependencies: - '@emmetio/css-parser': 0.4.1 - '@emmetio/html-matcher': 1.3.0 - '@vscode/emmet-helper': 2.11.0 - vscode-uri: 3.1.0 - optionalDependencies: - '@volar/language-service': 2.4.28 - volar-service-emmet@0.0.68(@volar/language-service@2.4.28): dependencies: '@emmetio/css-parser': 0.4.1 @@ -26285,14 +26236,6 @@ snapshots: optionalDependencies: '@volar/language-service': 2.4.28 - volar-service-html@0.0.67(@volar/language-service@2.4.28): - dependencies: - vscode-html-languageservice: 5.6.1 - vscode-languageserver-textdocument: 1.0.12 - vscode-uri: 3.1.0 - optionalDependencies: - '@volar/language-service': 2.4.28 - volar-service-html@0.0.68(@volar/language-service@2.4.28): dependencies: vscode-html-languageservice: 5.6.1 @@ -26301,13 +26244,6 @@ snapshots: optionalDependencies: '@volar/language-service': 2.4.28 - volar-service-prettier@0.0.67(@volar/language-service@2.4.28)(prettier@3.8.1): - dependencies: - vscode-uri: 3.1.0 - optionalDependencies: - '@volar/language-service': 2.4.28 - prettier: 3.8.1 - volar-service-prettier@0.0.68(@volar/language-service@2.4.28)(prettier@3.8.1): dependencies: vscode-uri: 3.1.0 @@ -26315,29 +26251,12 @@ snapshots: '@volar/language-service': 2.4.28 prettier: 3.8.1 - volar-service-typescript-twoslash-queries@0.0.67(@volar/language-service@2.4.28): - dependencies: - vscode-uri: 3.1.0 - optionalDependencies: - '@volar/language-service': 2.4.28 - volar-service-typescript-twoslash-queries@0.0.68(@volar/language-service@2.4.28): dependencies: vscode-uri: 3.1.0 optionalDependencies: '@volar/language-service': 2.4.28 - volar-service-typescript@0.0.67(@volar/language-service@2.4.28): - dependencies: - path-browserify: 1.0.1 - semver: 7.7.4 - typescript-auto-import-cache: 0.3.6 - vscode-languageserver-textdocument: 1.0.12 - vscode-nls: 5.2.0 - vscode-uri: 3.1.0 - optionalDependencies: - '@volar/language-service': 2.4.28 - volar-service-typescript@0.0.68(@volar/language-service@2.4.28): dependencies: path-browserify: 1.0.1 @@ -26349,13 +26268,6 @@ snapshots: optionalDependencies: '@volar/language-service': 2.4.28 - volar-service-yaml@0.0.67(@volar/language-service@2.4.28): - dependencies: - vscode-uri: 3.1.0 - yaml-language-server: 1.19.2 - optionalDependencies: - '@volar/language-service': 2.4.28 - volar-service-yaml@0.0.68(@volar/language-service@2.4.28): dependencies: vscode-uri: 3.1.0 @@ -26363,7 +26275,7 @@ snapshots: optionalDependencies: '@volar/language-service': 2.4.28 - vscode-css-languageservice@6.3.8: + vscode-css-languageservice@6.3.9: dependencies: '@vscode/l10n': 0.0.18 vscode-languageserver-textdocument: 1.0.12 @@ -26476,7 +26388,7 @@ snapshots: readable-stream: 3.6.2 triple-beam: 1.4.1 - winston@3.18.3: + winston@3.19.0: dependencies: '@colors/colors': 1.6.0 '@dabh/diagnostics': 2.0.8 @@ -26502,7 +26414,7 @@ snapshots: workerpool@9.3.4: {} - wrangler@4.65.0(@cloudflare/workers-types@4.20260214.0): + wrangler@4.65.0(@cloudflare/workers-types@4.20260213.0): dependencies: '@cloudflare/kv-asset-handler': 0.4.2 '@cloudflare/unenv-preset': 2.12.1(unenv@2.0.0-rc.24)(workerd@1.20260212.0) @@ -26513,7 +26425,7 @@ snapshots: unenv: 2.0.0-rc.24 workerd: 1.20260212.0 optionalDependencies: - '@cloudflare/workers-types': 4.20260214.0 + '@cloudflare/workers-types': 4.20260213.0 fsevents: 2.3.3 transitivePeerDependencies: - bufferutil @@ -26546,7 +26458,7 @@ snapshots: ws@8.18.0: {} - ws@8.18.3: {} + ws@8.19.0: {} wsl-utils@0.1.0: dependencies: @@ -26554,12 +26466,12 @@ snapshots: xml2js@0.5.0: dependencies: - sax: 1.4.1 + sax: 1.4.4 xmlbuilder: 11.0.1 xml2js@0.6.2: dependencies: - sax: 1.4.1 + sax: 1.4.4 xmlbuilder: 11.0.1 xmlbuilder@11.0.1: {} @@ -26657,20 +26569,20 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.2.1: {} + yocto-queue@1.2.2: {} yoctocolors@2.1.2: {} youch-core@0.3.3: dependencies: - '@poppinss/exception': 1.2.2 + '@poppinss/exception': 1.2.3 error-stack-parser-es: 1.0.5 youch@4.1.0-beta.10: dependencies: - '@poppinss/colors': 4.1.5 + '@poppinss/colors': 4.1.6 '@poppinss/dumper': 0.6.5 - '@speed-highlight/core': 1.2.12 + '@speed-highlight/core': 1.2.14 cookie: 1.1.1 youch-core: 0.3.3 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index b9069d9a7fb1..f0fc2f493785 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -28,12 +28,10 @@ publicHoistPattern: # We hoist it here so that it can easily resolve `@astrojs/db` without hardcoded handling. - '@astrojs/db' # Wait until three days after release to install new versions of packages -# TODO: uncomment before merging into main -# minimumReleaseAge: 4320 +minimumReleaseAge: 4320 minimumReleaseAgeExclude: - # Temporary, so we can install new updates - - '@cloudflare/*' - - 'wrangler' + # TODO: remove once more stable + - '@flue/*' peerDependencyRules: allowAny: - 'astro' From a509941a7a7a1e53f402757234bb88e5503e5119 Mon Sep 17 00:00:00 2001 From: Florian Lefebvre Date: Mon, 16 Feb 2026 17:10:49 +0100 Subject: [PATCH 8/9] feat(fonts): npm provider (#15529) * feat(fonts): npm provider * misc * jsdocs * provide readFile * Apply suggestions from code review Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> --------- Co-authored-by: Sarah Rainsberger <5098874+sarah11918@users.noreply.github.com> --- .changeset/heavy-beers-unite.md | 27 +++++++++ packages/astro/package.json | 2 +- .../astro/src/assets/fonts/providers/index.ts | 57 ++++++++++++++----- .../test/units/assets/fonts/providers.test.js | 1 + pnpm-lock.yaml | 10 ++-- 5 files changed, 77 insertions(+), 20 deletions(-) create mode 100644 .changeset/heavy-beers-unite.md diff --git a/.changeset/heavy-beers-unite.md b/.changeset/heavy-beers-unite.md new file mode 100644 index 000000000000..2d926ac2125f --- /dev/null +++ b/.changeset/heavy-beers-unite.md @@ -0,0 +1,27 @@ +--- +'astro': minor +--- + +Adds a new build-in font provider `npm` to access fonts installed as NPM packages + +You can now add web fonts specified in your `package.json` through Astro's type-safe Fonts API. The `npm` font provider allows you to add fonts either from locally installed packages in `node_modules` or from a CDN. + +Set `fontProviders.npm()` as your fonts provider along with the required `name` and `cssVariable` values, and add `options` as needed: + +```js +import { defineConfig, fontProviders } from 'astro/config'; + +export default defineConfig({ + experimental: { + fonts: [ + { + name: 'Roboto', + provider: fontProviders.npm(), + cssVariable: '--font-roboto', + }, + ], + }, +}); +``` + +See the [NPM font provider reference documentation](https://v6.docs.astro.build/en/reference/font-provider-reference/#npm) for more details. diff --git a/packages/astro/package.json b/packages/astro/package.json index c512538c33bf..497b5bde7548 100644 --- a/packages/astro/package.json +++ b/packages/astro/package.json @@ -163,7 +163,7 @@ "tinyglobby": "^0.2.15", "tsconfck": "^3.1.6", "ultrahtml": "^1.6.0", - "unifont": "~0.7.3", + "unifont": "~0.7.4", "unist-util-visit": "^5.1.0", "unstorage": "^1.17.4", "vfile": "^6.0.3", diff --git a/packages/astro/src/assets/fonts/providers/index.ts b/packages/astro/src/assets/fonts/providers/index.ts index 02dc37a9bbd6..ecf626ebc386 100644 --- a/packages/astro/src/assets/fonts/providers/index.ts +++ b/packages/astro/src/assets/fonts/providers/index.ts @@ -3,13 +3,17 @@ import { type GoogleFamilyOptions, type GoogleiconsFamilyOptions, type InitializedProvider, + type NpmProviderOptions, + type NpmFamilyOptions, providers, } from 'unifont'; import { FontaceFontFileReader } from '../infra/fontace-font-file-reader.js'; import type { FontProvider } from '../types.js'; import { type LocalFamilyOptions, LocalFontProvider } from './local.js'; +import { fileURLToPath } from 'node:url'; +import { readFile } from 'node:fs/promises'; -/** [Adobe](https://fonts.adobe.com/) */ +/** [Adobe](https://v6.docs.astro.build/en/reference/font-provider-reference/#adobe) */ function adobe(config: AdobeProviderOptions): FontProvider { const provider = providers.adobe(config); let initializedProvider: InitializedProvider | undefined; @@ -28,7 +32,7 @@ function adobe(config: AdobeProviderOptions): FontProvider { }; } -/** [Bunny](https://fonts.bunny.net/) */ +/** [Bunny](https://v6.docs.astro.build/en/reference/font-provider-reference/#bunny) */ function bunny(): FontProvider { const provider = providers.bunny(); let initializedProvider: InitializedProvider | undefined; @@ -46,7 +50,7 @@ function bunny(): FontProvider { }; } -/** [Fontshare](https://www.fontshare.com/) */ +/** [Fontshare](https://v6.docs.astro.build/en/reference/font-provider-reference/#fontshare) */ function fontshare(): FontProvider { const provider = providers.fontshare(); let initializedProvider: InitializedProvider | undefined; @@ -64,7 +68,7 @@ function fontshare(): FontProvider { }; } -/** [Fontsource](https://fontsource.org/) */ +/** [Fontsource](https://v6.docs.astro.build/en/reference/font-provider-reference/#fontsource) */ function fontsource(): FontProvider { const provider = providers.fontsource(); let initializedProvider: InitializedProvider | undefined; @@ -82,7 +86,7 @@ function fontsource(): FontProvider { }; } -/** [Google](https://fonts.google.com/) */ +/** [Google](https://v6.docs.astro.build/en/reference/font-provider-reference/#google) */ function google(): FontProvider { const provider = providers.google(); let initializedProvider: InitializedProvider | undefined; @@ -100,7 +104,7 @@ function google(): FontProvider { }; } -/** [Google Icons](https://fonts.google.com/icons) */ +/** [Google Icons](https://v6.docs.astro.build/en/reference/font-provider-reference/#google-icons) */ function googleicons(): FontProvider { const provider = providers.googleicons(); let initializedProvider: InitializedProvider | undefined; @@ -118,22 +122,46 @@ function googleicons(): FontProvider { }; } -/** A provider that handles local files. */ +/** [Local](https://v6.docs.astro.build/en/reference/font-provider-reference/#local) */ function local(): FontProvider { return new LocalFontProvider({ fontFileReader: new FontaceFontFileReader(), }); } +/** [NPM](https://v6.docs.astro.build/en/reference/font-provider-reference/#npm) */ +function npm( + options?: Omit, +): FontProvider { + let initializedProvider: InitializedProvider | undefined; + return { + name: providers.npm()._name, + async init(context) { + initializedProvider = await providers.npm({ + ...options, + root: fileURLToPath(context.root), + readFile: (path) => readFile(path, 'utf-8').catch(() => null), + })(context); + }, + async resolveFont({ familyName, ...rest }) { + return await initializedProvider?.resolveFont(familyName, rest); + }, + async listFonts() { + return await initializedProvider?.listFonts?.(); + }, + }; +} + /** * Astro exports a few built-in providers: - * - [Adobe](https://fonts.adobe.com/) - * - [Bunny](https://fonts.bunny.net/) - * - [Fontshare](https://www.fontshare.com/) - * - [Fontsource](https://fontsource.org/) - * - [Google](https://fonts.google.com/) - * - [Google Icons](https://fonts.google.com/icons) - * - Local + * - [Adobe](https://v6.docs.astro.build/en/reference/font-provider-reference/#adobe) + * - [Bunny](https://v6.docs.astro.build/en/reference/font-provider-reference/#bunny) + * - [Fontshare](https://v6.docs.astro.build/en/reference/font-provider-reference/#fontshare) + * - [Fontsource](https://v6.docs.astro.build/en/reference/font-provider-reference/#fontsource) + * - [Google](https://v6.docs.astro.build/en/reference/font-provider-reference/#google) + * - [Google Icons](https://v6.docs.astro.build/en/reference/font-provider-reference/#google-icons) + * - [Local](https://v6.docs.astro.build/en/reference/font-provider-reference/#local) + * - [NPM](TODO:) */ export const fontProviders = { adobe, @@ -143,4 +171,5 @@ export const fontProviders = { google, googleicons, local, + npm, }; diff --git a/packages/astro/test/units/assets/fonts/providers.test.js b/packages/astro/test/units/assets/fonts/providers.test.js index ce0ee0104429..1968f206d2a0 100644 --- a/packages/astro/test/units/assets/fonts/providers.test.js +++ b/packages/astro/test/units/assets/fonts/providers.test.js @@ -14,6 +14,7 @@ describe('fonts providers', () => { assert.equal(fontProviders.fontsource().name, 'fontsource'); assert.equal(fontProviders.google().name, 'google'); assert.equal(fontProviders.googleicons().name, 'googleicons'); + assert.equal(fontProviders.npm().name, 'npm'); assert.equal(fontProviders.local().name, 'local'); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 529fc52dd456..fcce42393d69 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -644,8 +644,8 @@ importers: specifier: ^1.6.0 version: 1.6.0 unifont: - specifier: ~0.7.3 - version: 0.7.3 + specifier: ~0.7.4 + version: 0.7.4 unist-util-visit: specifier: ^5.1.0 version: 5.1.0 @@ -15449,8 +15449,8 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unifont@0.7.3: - resolution: {integrity: sha512-b0GtQzKCyuSHGsfj5vyN8st7muZ6VCI4XD4vFlr7Uy1rlWVYxC3npnfk8MyreHxJYrz1ooLDqDzFe9XqQTlAhA==} + unifont@0.7.4: + resolution: {integrity: sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==} unist-util-find-after@5.0.0: resolution: {integrity: sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==} @@ -25714,7 +25714,7 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unifont@0.7.3: + unifont@0.7.4: dependencies: css-tree: 3.1.0 ofetch: 1.5.1 From 07f66101ed2850874c8a49ddf1f1609e6b1339fb Mon Sep 17 00:00:00 2001 From: Matthew Phillips Date: Mon, 16 Feb 2026 13:11:27 -0500 Subject: [PATCH 9/9] Avoid SSR renderer imports for API-only SSR builds (#15507) * fix: avoid SSR renderer imports for API-only builds * fix: map Astro command to Vite env * rebase and fix lock file --------- Co-authored-by: ematipico --- .changeset/quiet-owls-jump.md | 5 ++++ packages/astro/src/core/create-vite.ts | 6 +++- .../astro/src/vite-plugin-renderers/index.ts | 27 +++++++++++++++-- .../ssr-renderers-static-vue/astro.config.mjs | 6 ++++ .../ssr-renderers-static-vue/package.json | 10 +++++++ .../src/components/Counter.vue | 3 ++ .../src/pages/api/hello.ts | 9 ++++++ .../src/pages/index.astro | 14 +++++++++ .../test/ssr-renderers-static-vue.test.js | 29 +++++++++++++++++++ pnpm-lock.yaml | 12 ++++++++ 10 files changed, 118 insertions(+), 3 deletions(-) create mode 100644 .changeset/quiet-owls-jump.md create mode 100644 packages/astro/test/fixtures/ssr-renderers-static-vue/astro.config.mjs create mode 100644 packages/astro/test/fixtures/ssr-renderers-static-vue/package.json create mode 100644 packages/astro/test/fixtures/ssr-renderers-static-vue/src/components/Counter.vue create mode 100644 packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/api/hello.ts create mode 100644 packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/index.astro create mode 100644 packages/astro/test/ssr-renderers-static-vue.test.js diff --git a/.changeset/quiet-owls-jump.md b/.changeset/quiet-owls-jump.md new file mode 100644 index 000000000000..e38eaaf17c9d --- /dev/null +++ b/.changeset/quiet-owls-jump.md @@ -0,0 +1,5 @@ +--- +'astro': patch +--- + +Avoid bundling SSR renderers when only API endpoints are dynamic diff --git a/packages/astro/src/core/create-vite.ts b/packages/astro/src/core/create-vite.ts index 2ef79da03beb..cd05ce7186e6 100644 --- a/packages/astro/src/core/create-vite.ts +++ b/packages/astro/src/core/create-vite.ts @@ -121,7 +121,11 @@ export async function createVite( appType: 'custom', plugins: [ serializedManifestPlugin({ settings, command, sync }), - vitePluginRenderers({ settings }), + vitePluginRenderers({ + settings, + routesList, + command: command === 'dev' ? 'serve' : 'build', + }), vitePluginStaticPaths(), await astroPluginRoutes({ routesList, settings, logger, fsMod: fs, command }), astroVirtualManifestPlugin(), diff --git a/packages/astro/src/vite-plugin-renderers/index.ts b/packages/astro/src/vite-plugin-renderers/index.ts index e9ab596cf52f..e131379c777e 100644 --- a/packages/astro/src/vite-plugin-renderers/index.ts +++ b/packages/astro/src/vite-plugin-renderers/index.ts @@ -1,11 +1,25 @@ -import type { Plugin as VitePlugin } from 'vite'; -import type { AstroSettings } from '../types/astro.js'; +import type { ConfigEnv, Plugin as VitePlugin } from 'vite'; +import { ASTRO_VITE_ENVIRONMENT_NAMES } from '../core/constants.js'; +import type { AstroSettings, RoutesList } from '../types/astro.js'; export const ASTRO_RENDERERS_MODULE_ID = 'virtual:astro:renderers'; const RESOLVED_ASTRO_RENDERERS_MODULE_ID = `\0${ASTRO_RENDERERS_MODULE_ID}`; interface PluginOptions { settings: AstroSettings; + routesList: RoutesList; + command: ConfigEnv['command']; +} + +/** + * Checks whether any non-prerendered route needs component rendering (i.e., is a page). + * Internal routes like `_server-islands` are excluded because they only need renderers + * when server islands are actually used, and those are detected separately during the build. + */ +function ssrBuildNeedsRenderers(routesList: RoutesList): boolean { + return routesList.routes.some( + (route) => route.type === 'page' && !route.prerender && route.origin !== 'internal', + ); } export default function vitePluginRenderers(options: PluginOptions): VitePlugin { @@ -29,6 +43,15 @@ export default function vitePluginRenderers(options: PluginOptions): VitePlugin id: new RegExp(`^${RESOLVED_ASTRO_RENDERERS_MODULE_ID}$`), }, handler() { + if ( + options.command === 'build' && + this.environment.name === ASTRO_VITE_ENVIRONMENT_NAMES.ssr && + renderers.length > 0 && + !ssrBuildNeedsRenderers(options.routesList) + ) { + return { code: `export const renderers = [];` }; + } + if (renderers.length > 0) { const imports: string[] = []; const exports: string[] = []; diff --git a/packages/astro/test/fixtures/ssr-renderers-static-vue/astro.config.mjs b/packages/astro/test/fixtures/ssr-renderers-static-vue/astro.config.mjs new file mode 100644 index 000000000000..06d337708399 --- /dev/null +++ b/packages/astro/test/fixtures/ssr-renderers-static-vue/astro.config.mjs @@ -0,0 +1,6 @@ +import vue from '@astrojs/vue'; +import { defineConfig } from 'astro/config'; + +export default defineConfig({ + integrations: [vue()], +}); diff --git a/packages/astro/test/fixtures/ssr-renderers-static-vue/package.json b/packages/astro/test/fixtures/ssr-renderers-static-vue/package.json new file mode 100644 index 000000000000..4d29461f5f02 --- /dev/null +++ b/packages/astro/test/fixtures/ssr-renderers-static-vue/package.json @@ -0,0 +1,10 @@ +{ + "name": "@test/ssr-renderers-static-vue", + "version": "0.0.0", + "private": true, + "dependencies": { + "@astrojs/vue": "workspace:*", + "astro": "workspace:*", + "vue": "^3.5.27" + } +} diff --git a/packages/astro/test/fixtures/ssr-renderers-static-vue/src/components/Counter.vue b/packages/astro/test/fixtures/ssr-renderers-static-vue/src/components/Counter.vue new file mode 100644 index 000000000000..8bc952efe45c --- /dev/null +++ b/packages/astro/test/fixtures/ssr-renderers-static-vue/src/components/Counter.vue @@ -0,0 +1,3 @@ + diff --git a/packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/api/hello.ts b/packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/api/hello.ts new file mode 100644 index 000000000000..e68f374aca4e --- /dev/null +++ b/packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/api/hello.ts @@ -0,0 +1,9 @@ +export const prerender = false; + +export async function GET() { + return new Response(JSON.stringify({ ok: true }), { + headers: { + 'content-type': 'application/json', + }, + }); +} diff --git a/packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/index.astro b/packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/index.astro new file mode 100644 index 000000000000..b103f36837ad --- /dev/null +++ b/packages/astro/test/fixtures/ssr-renderers-static-vue/src/pages/index.astro @@ -0,0 +1,14 @@ +--- +export const prerender = true; +import Counter from '../components/Counter.vue'; +--- + + + + Static Vue + + +

Static page

+ + + diff --git a/packages/astro/test/ssr-renderers-static-vue.test.js b/packages/astro/test/ssr-renderers-static-vue.test.js new file mode 100644 index 000000000000..a712c0633a38 --- /dev/null +++ b/packages/astro/test/ssr-renderers-static-vue.test.js @@ -0,0 +1,29 @@ +import assert from 'node:assert/strict'; +import { before, describe, it } from 'node:test'; +import testAdapter from './test-adapter.js'; +import { loadFixture } from './test-utils.js'; + +describe('SSR renderers with static framework pages', () => { + /** @type {import('./test-utils.js').Fixture} */ + let fixture; + + before(async () => { + fixture = await loadFixture({ + root: './fixtures/ssr-renderers-static-vue/', + output: 'server', + adapter: testAdapter(), + }); + await fixture.build(); + }); + + it('does not include SSR renderers when only endpoints are dynamic', async () => { + const app = await fixture.loadTestAdapterApp(); + assert.ok(app.manifest, 'expected runtime manifest from SSR build'); + assert.equal(app.manifest.renderers.length, 0); + }); + + it('prerendered page renders the Vue component', async () => { + const html = await fixture.readFile('/client/index.html'); + assert.ok(html.includes('Hello from Vue')); + }); +}); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fcce42393d69..f262bb3308db 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4328,6 +4328,18 @@ importers: specifier: workspace:* version: link:../../.. + packages/astro/test/fixtures/ssr-renderers-static-vue: + dependencies: + '@astrojs/vue': + specifier: workspace:* + version: link:../../../../integrations/vue + astro: + specifier: workspace:* + version: link:../../.. + vue: + specifier: ^3.5.27 + version: 3.5.28(typescript@5.9.3) + packages/astro/test/fixtures/ssr-request: dependencies: astro: