From fc267ae6b787e163d41666e090089821377ead43 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sat, 9 Aug 2025 23:02:45 +0530 Subject: [PATCH 01/32] fix: module graph causing unnecessary route regeneration on every update fix: preserve externally added dynamic routes and pages chore: bump deps, lock vitest as its latest beta is broken --- docs/package.json | 4 +- package.json | 48 +- pnpm-lock.yaml | 1025 ++++++++++++----------- src/node/config.ts | 2 +- src/node/plugin.ts | 11 +- src/node/plugins/dynamicRoutesPlugin.ts | 46 +- src/node/utils/moduleGraph.ts | 2 + 7 files changed, 574 insertions(+), 564 deletions(-) diff --git a/docs/package.json b/docs/package.json index 2a6b7aa8..f0b0f966 100644 --- a/docs/package.json +++ b/docs/package.json @@ -15,7 +15,7 @@ "open-cli": "^8.0.0", "postcss-rtlcss": "^5.7.1", "vitepress": "workspace:*", - "vitepress-plugin-group-icons": "^1.6.1", - "vitepress-plugin-llms": "^1.7.1" + "vitepress-plugin-group-icons": "^1.6.2", + "vitepress-plugin-llms": "^1.7.2" } } diff --git a/package.json b/package.json index b9b1619f..1aa389c5 100644 --- a/package.json +++ b/package.json @@ -97,25 +97,25 @@ "dependencies": { "@docsearch/css": "^4.0.0-beta.5", "@docsearch/js": "^4.0.0-beta.5", - "@iconify-json/simple-icons": "^1.2.44", - "@shikijs/core": "^3.8.1", - "@shikijs/transformers": "^3.8.1", - "@shikijs/types": "^3.8.1", - "@vitejs/plugin-vue": "^6.0.0", - "@vue/devtools-api": "^7.7.7", + "@iconify-json/simple-icons": "^1.2.46", + "@shikijs/core": "^3.9.2", + "@shikijs/transformers": "^3.9.2", + "@shikijs/types": "^3.9.2", + "@vitejs/plugin-vue": "^6.0.1", + "@vue/devtools-api": "^8.0.0", "@vue/shared": "^3.5.18", - "@vueuse/core": "^13.5.0", - "@vueuse/integrations": "^13.5.0", + "@vueuse/core": "^13.6.0", + "@vueuse/integrations": "^13.6.0", "focus-trap": "^7.6.5", "mark.js": "8.11.1", "minisearch": "^7.1.2", - "shiki": "^3.8.1", - "vite": "^7.0.6", + "shiki": "^3.9.2", + "vite": "^7.1.1", "vue": "^3.5.18" }, "devDependencies": { "@clack/prompts": "^1.0.0-alpha.1", - "@iconify/utils": "^2.3.0", + "@iconify/utils": "^3.0.0", "@mdit-vue/plugin-component": "^2.1.4", "@mdit-vue/plugin-frontmatter": "^2.1.4", "@mdit-vue/plugin-headers": "^2.1.4", @@ -139,8 +139,8 @@ "@types/markdown-it-container": "^2.0.10", "@types/markdown-it-emoji": "^3.0.1", "@types/minimist": "^1.2.5", - "@types/node": "^24.1.0", - "@types/picomatch": "^4.0.1", + "@types/node": "^24.2.1", + "@types/picomatch": "^4.0.2", "@types/postcss-prefix-selector": "^1.16.3", "@types/prompts": "^2.4.9", "chokidar": "^4.0.3", @@ -149,10 +149,10 @@ "debug": "^4.4.1", "esbuild": "^0.25.8", "execa": "^9.6.0", - "fs-extra": "^11.3.0", + "fs-extra": "^11.3.1", "get-port": "^7.1.0", "gray-matter": "^4.0.3", - "lint-staged": "^16.1.2", + "lint-staged": "^16.1.5", "lodash.template": "^4.5.0", "lru-cache": "^11.1.0", "markdown-it": "^14.1.0", @@ -165,13 +165,13 @@ "minimist": "^1.2.8", "nanoid": "^5.1.5", "ora": "^8.2.0", - "oxc-minify": "^0.78.0", + "oxc-minify": "^0.81.0", "p-map": "^7.0.3", "package-directory": "^8.1.0", "path-to-regexp": "^6.3.0", "picocolors": "^1.1.1", "picomatch": "^4.0.3", - "playwright-chromium": "^1.54.1", + "playwright-chromium": "^1.54.2", "polka": "^1.0.0-next.28", "postcss": "^8.5.6", "postcss-prefix-selector": "^2.1.1", @@ -179,22 +179,22 @@ "prompts": "^2.4.2", "punycode": "^2.3.1", "rimraf": "^6.0.1", - "rollup": "^4.45.1", + "rollup": "^4.46.2", "rollup-plugin-dts": "6.1.1", "rollup-plugin-esbuild": "^6.2.1", "semver": "^7.7.2", - "simple-git-hooks": "^2.13.0", + "simple-git-hooks": "^2.13.1", "sirv": "^3.0.1", "sitemap": "^8.0.0", "tinyglobby": "^0.2.14", - "typescript": "^5.8.3", - "vitest": "^4.0.0-beta.4", - "vue-tsc": "^3.0.4", + "typescript": "^5.9.2", + "vitest": "4.0.0-beta.4", + "vue-tsc": "^3.0.5", "wait-on": "^8.0.4" }, "peerDependencies": { "markdown-it-mathjax3": "^4", - "oxc-minify": "^0.78.0", + "oxc-minify": "^0.81.0", "postcss": "^8" }, "peerDependenciesMeta": { @@ -208,5 +208,5 @@ "optional": true } }, - "packageManager": "pnpm@10.13.1" + "packageManager": "pnpm@10.14.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b86db0b1..684e2568 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,32 +27,32 @@ importers: specifier: ^4.0.0-beta.5 version: 4.0.0-beta.5 '@iconify-json/simple-icons': - specifier: ^1.2.44 - version: 1.2.44 + specifier: ^1.2.46 + version: 1.2.46 '@shikijs/core': - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.9.2 + version: 3.9.2 '@shikijs/transformers': - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.9.2 + version: 3.9.2 '@shikijs/types': - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.9.2 + version: 3.9.2 '@vitejs/plugin-vue': - specifier: ^6.0.0 - version: 6.0.0(rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0))(vue@3.5.18(typescript@5.8.3)) + specifier: ^6.0.1 + version: 6.0.1(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) '@vue/devtools-api': - specifier: ^7.7.7 - version: 7.7.7 + specifier: ^8.0.0 + version: 8.0.0 '@vue/shared': specifier: ^3.5.18 version: 3.5.18 '@vueuse/core': - specifier: ^13.5.0 - version: 13.5.0(vue@3.5.18(typescript@5.8.3)) + specifier: ^13.6.0 + version: 13.6.0(vue@3.5.18(typescript@5.9.2)) '@vueuse/integrations': - specifier: ^13.5.0 - version: 13.5.0(axios@1.11.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.18(typescript@5.8.3)) + specifier: ^13.6.0 + version: 13.6.0(axios@1.11.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.18(typescript@5.9.2)) focus-trap: specifier: ^7.6.5 version: 7.6.5 @@ -63,21 +63,21 @@ importers: specifier: ^7.1.2 version: 7.1.2 shiki: - specifier: ^3.8.1 - version: 3.8.1 + specifier: ^3.9.2 + version: 3.9.2 vite: specifier: npm:rolldown-vite@latest - version: rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) + version: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) vue: specifier: ^3.5.18 - version: 3.5.18(typescript@5.8.3) + version: 3.5.18(typescript@5.9.2) devDependencies: '@clack/prompts': specifier: ^1.0.0-alpha.1 version: 1.0.0-alpha.1 '@iconify/utils': - specifier: ^2.3.0 - version: 2.3.0 + specifier: ^3.0.0 + version: 3.0.0 '@mdit-vue/plugin-component': specifier: ^2.1.4 version: 2.1.4 @@ -104,19 +104,19 @@ importers: version: 1.0.0-next.28 '@rollup/plugin-alias': specifier: ^5.1.1 - version: 5.1.1(rollup@4.45.1) + version: 5.1.1(rollup@4.46.2) '@rollup/plugin-commonjs': specifier: ^28.0.6 - version: 28.0.6(rollup@4.45.1) + version: 28.0.6(rollup@4.46.2) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.45.1) + version: 6.1.0(rollup@4.46.2) '@rollup/plugin-node-resolve': specifier: ^16.0.1 - version: 16.0.1(rollup@4.45.1) + version: 16.0.1(rollup@4.46.2) '@rollup/plugin-replace': specifier: ^6.0.2 - version: 6.0.2(rollup@4.45.1) + version: 6.0.2(rollup@4.46.2) '@types/cross-spawn': specifier: ^6.0.6 version: 6.0.6 @@ -148,11 +148,11 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^24.1.0 - version: 24.1.0 + specifier: ^24.2.1 + version: 24.2.1 '@types/picomatch': - specifier: ^4.0.1 - version: 4.0.1 + specifier: ^4.0.2 + version: 4.0.2 '@types/postcss-prefix-selector': specifier: ^1.16.3 version: 1.16.3 @@ -178,8 +178,8 @@ importers: specifier: ^9.6.0 version: 9.6.0 fs-extra: - specifier: ^11.3.0 - version: 11.3.0 + specifier: ^11.3.1 + version: 11.3.1 get-port: specifier: ^7.1.0 version: 7.1.0 @@ -187,8 +187,8 @@ importers: specifier: ^4.0.3 version: 4.0.3 lint-staged: - specifier: ^16.1.2 - version: 16.1.2 + specifier: ^16.1.5 + version: 16.1.5 lodash.template: specifier: ^4.5.0 version: 4.5.0 @@ -226,8 +226,8 @@ importers: specifier: ^8.2.0 version: 8.2.0 oxc-minify: - specifier: ^0.78.0 - version: 0.78.0 + specifier: ^0.81.0 + version: 0.81.0 p-map: specifier: ^7.0.3 version: 7.0.3 @@ -244,8 +244,8 @@ importers: specifier: ^4.0.3 version: 4.0.3 playwright-chromium: - specifier: ^1.54.1 - version: 1.54.1 + specifier: ^1.54.2 + version: 1.54.2 polka: specifier: ^1.0.0-next.28 version: 1.0.0-next.28 @@ -268,20 +268,20 @@ importers: specifier: ^6.0.1 version: 6.0.1 rollup: - specifier: ^4.45.1 - version: 4.45.1 + specifier: ^4.46.2 + version: 4.46.2 rollup-plugin-dts: specifier: 6.1.1 - version: 6.1.1(rollup@4.45.1)(typescript@5.8.3) + version: 6.1.1(rollup@4.46.2)(typescript@5.9.2) rollup-plugin-esbuild: specifier: ^6.2.1 - version: 6.2.1(esbuild@0.25.8)(rollup@4.45.1) + version: 6.2.1(esbuild@0.25.8)(rollup@4.46.2) semver: specifier: ^7.7.2 version: 7.7.2 simple-git-hooks: - specifier: ^2.13.0 - version: 2.13.0 + specifier: ^2.13.1 + version: 2.13.1 sirv: specifier: ^3.0.1 version: 3.0.1 @@ -292,14 +292,14 @@ importers: specifier: ^0.2.14 version: 0.2.14 typescript: - specifier: ^5.8.3 - version: 5.8.3 + specifier: ^5.9.2 + version: 5.9.2 vitest: - specifier: ^4.0.0-beta.4 - version: 4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) + specifier: 4.0.0-beta.4 + version: 4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) vue-tsc: - specifier: ^3.0.4 - version: 3.0.4(typescript@5.8.3) + specifier: ^3.0.5 + version: 3.0.5(typescript@5.9.2) wait-on: specifier: ^8.0.4 version: 8.0.4(debug@4.4.1) @@ -334,19 +334,19 @@ importers: specifier: workspace:* version: link:.. vitepress-plugin-group-icons: - specifier: ^1.6.1 - version: 1.6.1(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.0) + specifier: ^1.6.2 + version: 1.6.2(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1) vitepress-plugin-llms: - specifier: ^1.7.1 - version: 1.7.1 + specifier: ^1.7.2 + version: 1.7.2 packages: '@antfu/install-pkg@1.1.0': resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} - '@antfu/utils@8.1.1': - resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} + '@antfu/utils@9.2.0': + resolution: {integrity: sha512-Oq1d9BGZakE/FyoEtcNeSwM7MpDO2vUBi11RWBZXf75zPsbUVWmUs03EqkRFrcgbXyKTas0BdZWC1wcuSoqSAw==} '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} @@ -574,17 +574,17 @@ packages: '@iconify-json/logos@1.2.5': resolution: {integrity: sha512-WR8+9kFwx1tIR+hWpKYC+rpVkAuzHyaVxZRfhGGIjqCfgbodK7rS4+OZhktdKtZKKcdmhpLZKvlmRm4IA4dKRg==} - '@iconify-json/simple-icons@1.2.44': - resolution: {integrity: sha512-CdWgSPygwDlDbKtDWjvi3NtUefnkoepXv90n3dQxJerqzD9kI+nEJOiWUBM+eOyMYQKtxBpLWFBrgeotF0IZKw==} + '@iconify-json/simple-icons@1.2.46': + resolution: {integrity: sha512-MJfKQDhOMQD5Fc8PcTtCdFX0oBf/nKVfp69ScdEKIXW0JXELX5V2Ld45EsjShi8aJ6DNhdDtSDZvKuDnkDiKnw==} - '@iconify-json/vscode-icons@1.2.23': - resolution: {integrity: sha512-gFTcKecKra2/b5SbGDgHGI/l8CuikHyBPmqGlK+YCmS8AK72dtDQbUekdoACsju/3TYS37QvdPoOQwnyx2LdYg==} + '@iconify-json/vscode-icons@1.2.24': + resolution: {integrity: sha512-iWWsflaDjX8l9JM9m5OrUtC49fuLveoXud7tVobRRyrDpI5ixdM9yfH20dC9R8aW+qpfPFPi6oC3n1noPsp8gA==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.3.0': - resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@iconify/utils@3.0.0': + resolution: {integrity: sha512-Bjf0HTRAB59thKK9QFvyLEXE9S793IqxqJEhNQEboh+IjOXj0nDtOIFh63oz+Y6X/ye4UWpxne5sVQ2W250iSA==} '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} @@ -636,8 +636,8 @@ packages: '@mdit-vue/types@2.1.4': resolution: {integrity: sha512-QiGNZslz+zXUs2X8D11UQhB4KAMZ0DZghvYxa7+1B+VMLcDtz//XHpWbcuexjzE3kBXSxIUTPH3eSQCa0puZHA==} - '@napi-rs/wasm-runtime@1.0.1': - resolution: {integrity: sha512-KVlQ/jgywZpixGCKMNwxStmmbYEMyokZpCf2YuIChhfJA2uqfAKNEM8INz7zzTo55iEXfBhIIs3VqYyqzDLj8g==} + '@napi-rs/wasm-runtime@1.0.3': + resolution: {integrity: sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -651,101 +651,101 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-minify/binding-android-arm64@0.78.0': - resolution: {integrity: sha512-tza8rCLefHlwksl+uVgdwHtmGKotOYSnJ5PPOdgATgOc+JqQPDbZqf68aTUU8y1VnrOR2bi7iYDFiY6RbkpKQA==} + '@oxc-minify/binding-android-arm64@0.81.0': + resolution: {integrity: sha512-Dji+cRrgDBJTz+15mEUkh3zjequT/tfchaMBV/gmUNcLAmpDC7QSq+gb5ghWmcaEpBHjkRvEKhEdvXrbZiFWKw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.78.0': - resolution: {integrity: sha512-dCSJnY7b4GwCmoWNksou3fNYXlhxibJvktFLvoq5eMmMTLoowrwcZT+WG2cIJV+RF33AREDac4QgZTDKI4LLmw==} + '@oxc-minify/binding-darwin-arm64@0.81.0': + resolution: {integrity: sha512-bEO12yF8IvizNfVdNd6P3XbydNM9PMsQLS2bD+SN2ECDMfDWHP6S6fueBAdIdBtf2wH6KU15vRtOWzAWx1Risg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.78.0': - resolution: {integrity: sha512-ru8y6K/HNAkCFFW6r1MGhAbwC6xZP82GjzNnIxkx3dt9CsXLLcKuSYDTRMudi2SpUKmVEdhCKuelvst4doZwYg==} + '@oxc-minify/binding-darwin-x64@0.81.0': + resolution: {integrity: sha512-llQSKdCQdosvlD68bpoLw/6uvSDfGDZQfgDZtHyK5UAaYUKiQZzoi8Qtk1WGWnN5ZL+OODhuURLUBsRGH05W9A==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.78.0': - resolution: {integrity: sha512-LpWLEng5mdoYJALJbMuIrX3GMNMDLB9uGwmDzPLYq/s3lgQpJgsGsgRvApa5Di45klmckQiDCTO9U/h3OocgyQ==} + '@oxc-minify/binding-freebsd-x64@0.81.0': + resolution: {integrity: sha512-rM/tV/tshVd6KxnIvAULZ71JFkTkz8UoLceP42fWpJ349xzVfyrMg2kLjFqR905htCkg2bBzeMj0+yIy4EoaIQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.78.0': - resolution: {integrity: sha512-l0gZP6wJ5NXsMwMUlnLk64RBOVFi6s8G8kt/y/dNlHs+M71vM9N3FfVmAhOJy5NnvZB6GPlhF/7ff+sx0IEfjQ==} + '@oxc-minify/binding-linux-arm-gnueabihf@0.81.0': + resolution: {integrity: sha512-/wbk1uyBhl+jl2Ch1sfy9mjX8y0XxB+LJ/6Hv5Q1wQlYjsPEU7Nw3lfTRVPs8DxmBfGhk+cK8lXZstyeiMfjyw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.78.0': - resolution: {integrity: sha512-/tIoXoFr0YzRWFXTTcoor40XNRGr2GSJ8L0xxCAjDT2afCPW/FL8L4tnprprRvEuXCnKQmQat0GBINJ3gFHPhg==} + '@oxc-minify/binding-linux-arm-musleabihf@0.81.0': + resolution: {integrity: sha512-QYsJyG61L53UXu5t0R+70bMUnGYah3hpJ9QdGQnBNKwzwJyQYVoQI8ZWNLOMImDmVJU6NGKDN9IWu0NT4O4PJg==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.78.0': - resolution: {integrity: sha512-4EIrAB+cJAfIJ9FjAbII5dwhIgGiNxLwDZdkGLZbBdNAa+eHxb7CAvCeb+uYNHcW/ljvE7HgFq1t13JpBYScRA==} + '@oxc-minify/binding-linux-arm64-gnu@0.81.0': + resolution: {integrity: sha512-3EwxchPjWhL/VuAoFTGKPNBl0g/2mEzYTPxPOvMDseWlQMGXv7H8rhiGMoh29Ggb9gRZsjN+1XIw+PqAX9Fong==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-arm64-musl@0.78.0': - resolution: {integrity: sha512-q4x8hLW9JyHVS+AtKSt6Z4W+S+fXSCARBnizzW9mtND47atRiJzChOInlZUBgQhyDy3KQFt51aKIEDJpwysoEw==} + '@oxc-minify/binding-linux-arm64-musl@0.81.0': + resolution: {integrity: sha512-0AWSOtDkMpC6HdksYD141zx9ZxVR8dSTUKZ0xJrwM0OQCAavXRumVqRz4HiUhQ5wQU0ityrqNhwI2FOBhMc8ag==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-riscv64-gnu@0.78.0': - resolution: {integrity: sha512-ajBxhoqW04KUI/fWewBf71WB2xdjce9VgF9rbLfQOBgCeCcyHMh+VKYjxBuWQamWrcABqt8Z5OIiRth9qt6CIg==} + '@oxc-minify/binding-linux-riscv64-gnu@0.81.0': + resolution: {integrity: sha512-qjmh4qjyEMCgRq5Vc5AEOMAbqkcXhjnH4NzZ8c76YtI8SoyiJhugiF0B+E61LaNraFdAzqGLlU3tTA3mMvuQtQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - '@oxc-minify/binding-linux-s390x-gnu@0.78.0': - resolution: {integrity: sha512-H6B+h4Q3w/AtAr7EWScvDevxPKQPlhijMmSiMYRMkbTYwJPlUsBXyVj39Atdd1BIjCx8rYGvGxl/PhxPkdCjXQ==} + '@oxc-minify/binding-linux-s390x-gnu@0.81.0': + resolution: {integrity: sha512-FgASI4b1rH+va/22VgkL1sCIXQJFWbIAJaqt8YPqOS5RCfYx6k1BCRkeNUrJq/YtLLjYKob0Hl6cWWhpAi6+1w==} engines: {node: '>=14.0.0'} cpu: [s390x] os: [linux] - '@oxc-minify/binding-linux-x64-gnu@0.78.0': - resolution: {integrity: sha512-5vSPG67PVTwrzSPbXLofJtdSlb/lWyn36WElonLwecAtZX7v7KDhX0aUHqKSBsQ0qnJaYnhv5o0uUHudNZwq8g==} + '@oxc-minify/binding-linux-x64-gnu@0.81.0': + resolution: {integrity: sha512-MHAwSsQgsZai7baHRRuuEc7H6ptNVeZmIabtChVGcwjB6Qq6rR3yXN2WIgocgx4xkciyGcVuF3h++uO4ajsPuA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-minify/binding-linux-x64-musl@0.78.0': - resolution: {integrity: sha512-Iq7eeZkGFUbyo7zRrAIP6rNAH+lIft9VJQUbDhhnTIMJWLUZx9JkSmM+0NBRfxPeurxbzO3EToDZ2cCYtVEU0Q==} + '@oxc-minify/binding-linux-x64-musl@0.81.0': + resolution: {integrity: sha512-sV7uA/uGC3UWuIuVOOl8V/JQfg2Is/g8GvH27zkSLL4j/25wUnHtIM4fBN/qiQvpTDpR3HDAQ2D3feDZfV1EGw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-minify/binding-wasm32-wasi@0.78.0': - resolution: {integrity: sha512-Bj2l/A6e32mZ2aPRDmlkDClMkbPe+dCWl4enPY+PCZNkhLLfLfcMFemCCWO44rdWCOCehWiP8Tr3QEe3yTR7kA==} + '@oxc-minify/binding-wasm32-wasi@0.81.0': + resolution: {integrity: sha512-z5xcH/zoL7z8TLuiLe5GfQFEZC88CFtLMfS9dm4TKhKL2FeU8cr8GzZKT38mqQUMomFyAvMBouja8IgdzuQ9uw==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.78.0': - resolution: {integrity: sha512-P+Ox6UxK4kq/EKpFxJwT83mCjZMFItdtEJMl/El93SIE4aHnxjz1840HLPRGX+uSyQQvfuFl/gkFzzzskg+7ZQ==} + '@oxc-minify/binding-win32-arm64-msvc@0.81.0': + resolution: {integrity: sha512-WYtE8RwDzWKyctUIZfu7uhfw3iPX8wYE8tkZHtl+d4zJ+C7IiBkiBLJdoosHmq5VWwEprlL1KhC9rI3hOdLtkA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.78.0': - resolution: {integrity: sha512-7tAubkbz2bBOEuqjT3LuKy+cXPRtuxGSjDlceNyFAk2AgNf+gQqVqqFwaiWytMytphrg8mYQ9/9F8Ib3ge1N+g==} + '@oxc-minify/binding-win32-x64-msvc@0.81.0': + resolution: {integrity: sha512-dG2VgA6LcfL+Hw0VPduOsWyIQaUnudDG8ztIYkQZLB5m58JlXdk44iKiESSQpjcHkITJyCL1nP392YQEmAzEQg==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - '@oxc-project/runtime@0.77.3': - resolution: {integrity: sha512-vsC/ewcGJ7xXnnwZkku7rpPH5Lxb5g4J+V6lD9eBTnRLmXVXM7Qu50y+ozD+UD5IXaSoVOvVMGTT4YSNCz2MQQ==} + '@oxc-project/runtime@0.80.0': + resolution: {integrity: sha512-3rzy1bJAZ4s7zV9TKT60x119RwJDCDqEtCwK/Zc2qlm7wGhiIUxLLYUhE/mN91yB0u1kxm5sh4NjU12sPqQTpg==} engines: {node: '>=6.9.0'} - '@oxc-project/types@0.77.3': - resolution: {integrity: sha512-5Vh+neJhhxuF0lYCjZXbxjqm2EO6YJ1jG+KuHntrd6VY67OMpYhWq2cZhUhy+xL9qLJVJRaeII7Xj9fciA6v7A==} + '@oxc-project/types@0.80.0': + resolution: {integrity: sha512-xxHQm8wfCv2e8EmtaDwpMeAHOWqgQDAYg+BJouLXSQt5oTKu9TIXrgNMGSrM2fLvKmECsRd9uUFAAD+hPyootA==} '@polka/compression@1.0.0-next.28': resolution: {integrity: sha512-aDmrBhgHJtxE+jy145WfhW9WmTAFmES/dNnn1LAs8UnnkFgBUj4T8I4ScQ9+rOkpDZStvnVP5iqhN3tvt7O1NA==} @@ -754,82 +754,82 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@rolldown/binding-android-arm64@1.0.0-beta.29': - resolution: {integrity: sha512-pDv7gg59Gdy80eFmMkEqXEaoJi3Y9W/a9T3z9M4t8Ma8aVXNldvSy9UgtlX7AK7DPqF8tULnmIZ2Z3rvGMz/NQ==} + '@rolldown/binding-android-arm64@1.0.0-beta.31': + resolution: {integrity: sha512-0mFtKwOG7smn0HkvQ6h8j0m/ohkR7Fp5eMTJ2Pns/HSbePHuDpxMaQ4TjZ6arlVXxpeWZlAHeT5BeNsOA3iWTg==} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-beta.29': - resolution: {integrity: sha512-fPqR6TfTqbzgKKCQYtcCS+Dms91YcptTbdlwJ13DxOUgMe8LgDIVsLLlEykfm7ijJd5mM4zNw0Hr2CJb6kvQZw==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.31': + resolution: {integrity: sha512-BHfHJ8Nb5G7ZKJl6pimJacupONT4F7w6gmQHw41rouAnJF51ORDwGefWeb6OMLzGmJwzxlIVPERfnJf1EsMM7A==} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.29': - resolution: {integrity: sha512-7Z4qosL0xN8i6++txHOEPCVP3/lcGLOvftUJOWATZ5aDkDskwcZDa66BGiJt/K1/DgW4kpRVmnGWUWAORHBbFA==} + '@rolldown/binding-darwin-x64@1.0.0-beta.31': + resolution: {integrity: sha512-4MiuRtExC08jHbSU/diIL+IuQP+3Ck1FbWAplK+ysQJ7fxT3DMxy5FmnIGfmhaqow8oTjb2GEwZJKgTRjZL1Vw==} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.29': - resolution: {integrity: sha512-0HLTfPW5Glh608s76qgayN/nPsXPchNUumavf7W5nh1eMG6qBsOO7Q1QaK0v4un7qtsn3IA/1Tgq0ZgNc0dbeg==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.31': + resolution: {integrity: sha512-nffC1u7ccm12qlAea8ExY3AvqlaHy/o/3L4p5Es8JFJ3zJSs6e3DyuxGZZVdl9EVwsLxPPTvioIl4tEm2afwyw==} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.29': - resolution: {integrity: sha512-QNboxdVTJOZS4zP8kA2+XUwAegejd5QNSH5zVR4neqG2AfbxRcMFzSVRkJHN6yDaaKweD/4sUvXfmef6p/7zsw==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.31': + resolution: {integrity: sha512-LHmAaB3rB1GOJuHscKcL2Ts/LKLcb3YWTh2uQ/876rg/J9WE9kQ0kZ+3lRSYbth/YL8ln54j4JZmHpqQY3xptQ==} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.29': - resolution: {integrity: sha512-hzBmOtYdC4369XxN2SNJ3oBlXKWNif3ieWBT+oh/qvAeox4fQR0ngqyh+kIGOufBnP5Zc2rqJf9LzIbJw3Tx/Q==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.31': + resolution: {integrity: sha512-oTDZVfqIAjLB2I1yTiLyyhfPPO6dky33sTblxTCpe+ZT55WizN3KDoBKJ4yXG8shI6I4bRShVu29Xg0yAjyQYw==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.29': - resolution: {integrity: sha512-6B35GmFJJ4RX88OgubrnUmuJBUgRh6/OTXIpy8m/VUnoc683lufIPo26HW/0LxLgxp2GM7KHr3LOULcVxbqq4Q==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.31': + resolution: {integrity: sha512-duJ3IkEBj9Xe9NYW1n8Y3483VXHGi8zQ0ZsLbK8464EJUXLF7CXM8Ry+jkkUw+ZvA+Zu1E/+C6p2Y6T9el0C9g==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.29': - resolution: {integrity: sha512-z3ru8fUCunQM8q9I7RbDVMT5cxzxVVVBNNKM5/qAQQrdObd1u8g0LR5z0yLtaFWzybwLVdPtJDRcXtLm5tOBFA==} + '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.31': + resolution: {integrity: sha512-qdbmU5QSZ0uoLZBYMxiHsMQmizqtzFGTVPU5oyU1n0jU0Mo+mkSzqZuL8VBnjHOHzhVxZsoAGH9JjiRzCnoGVA==} cpu: [arm64] os: [openharmony] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.29': - resolution: {integrity: sha512-n6fs4L7j99MIiI6vKhQDdyScv4/uMAPtIMkB0zGbUX8MKWT1osym1hvWVdlENjnS/Phf0zzhjyOgoFDzdhI1cQ==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.31': + resolution: {integrity: sha512-H7+r34TSV8udB2gAsebFM/YuEeNCkPGEAGJ1JE7SgI9XML6FflqcdKfrRSneQFsPaom/gCEc1g0WW5MZ0O3blw==} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.29': - resolution: {integrity: sha512-C5hcJgtDN4rp6/WsPTQSDVUWrdnIC//ynMGcUIh1O0anm9KnSy47zKQ5D9EqtlEKvO+2PPqmyUVJ2DTq18nlVA==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.31': + resolution: {integrity: sha512-zRm2YmzFVqbsmUsyyZnHfJrOlQUcWS/FJ5ZWL8Q1kZh5PnLBrTVZNpakIWwAxpN5gNEi9MmFd5YHocVJp8ps1Q==} cpu: [x64] os: [linux] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.29': - resolution: {integrity: sha512-lMN1IBItdZFO182Sdus9oVuNDqyIymn/bsR5KwgeGaiqLsrmpQHBSLwkS/nKJO1nzYlpGDRugFSpnrSJ5ZmihQ==} + '@rolldown/binding-wasm32-wasi@1.0.0-beta.31': + resolution: {integrity: sha512-fM1eUIuHLsNJXRlWOuIIex1oBJ89I0skFWo5r/D3KSJ5gD9MBd3g4Hp+v1JGohvyFE+7ylnwRxSUyMEeYpA69A==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.29': - resolution: {integrity: sha512-0UrXCUAOrbWdyVJskzjtne/4d3YMMhhhpBnob3SeF4jAvbKYqPhCZJ71pP7yUpvbowGXXTnHWpKfitg4Sovmtw==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.31': + resolution: {integrity: sha512-4nftR9V2KHH3zjBwf6leuZZJQZ7v0d70ogjHIqB3SDsbDLvVEZiGSsSn2X6blSZRZeJSFzK0pp4kZ67zdZXwSw==} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.29': - resolution: {integrity: sha512-YX0OYL1dcB7rPnsndpEa68fytYyZZj1iaWzH7momFB2oBS2lXAe1UrrDWcdLoUXdzPIyzpvtBCiS2XcDgYG7ag==} + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.31': + resolution: {integrity: sha512-0TQcKu9xZVHYALit+WJsSuADGlTFfOXhnZoIHWWQhTk3OgbwwbYcSoZUXjRdFmR6Wswn4csHtJGN1oYKeQ6/2g==} cpu: [ia32] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.29': - resolution: {integrity: sha512-azrPWbV+NZiCFNs59AgH9Y6vFKHoAI6T/XtKKsoLxkPyP1LpbdgL5eqRfeWz+GCAUY9qhDOC4hH1GjFG8PrZIg==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.31': + resolution: {integrity: sha512-3zMICWwpZh1jrkkKDYIUCx/2wY3PXLICAS0AnbeLlhzfWPhCcpNK9eKhiTlLAZyTp+3kyipoi/ZSVIh+WDnBpQ==} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-beta.19': - resolution: {integrity: sha512-3FL3mnMbPu0muGOCaKAhhFEYmqv9eTfPSJRJmANrCwtgK8VuxpsZDGK+m0LYAGoyO8+0j5uRe4PeyPDK1yA/hA==} - '@rolldown/pluginutils@1.0.0-beta.29': resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} + '@rolldown/pluginutils@1.0.0-beta.31': + resolution: {integrity: sha512-IaDZ9NhjOIOkYtm+hH0GX33h3iVZ2OeSUnFF0+7Z4+1GuKs4Kj5wK3+I2zNV9IPLfqV4XlwWif8SXrZNutxciQ==} + '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} engines: {node: '>=14.0.0'} @@ -884,129 +884,129 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.45.1': - resolution: {integrity: sha512-NEySIFvMY0ZQO+utJkgoMiCAjMrGvnbDLHvcmlA33UXJpYBCvlBEbMMtV837uCkS+plG2umfhn0T5mMAxGrlRA==} + '@rollup/rollup-android-arm-eabi@4.46.2': + resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.45.1': - resolution: {integrity: sha512-ujQ+sMXJkg4LRJaYreaVx7Z/VMgBBd89wGS4qMrdtfUFZ+TSY5Rs9asgjitLwzeIbhwdEhyj29zhst3L1lKsRQ==} + '@rollup/rollup-android-arm64@4.46.2': + resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.45.1': - resolution: {integrity: sha512-FSncqHvqTm3lC6Y13xncsdOYfxGSLnP+73k815EfNmpewPs+EyM49haPS105Rh4aF5mJKywk9X0ogzLXZzN9lA==} + '@rollup/rollup-darwin-arm64@4.46.2': + resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.45.1': - resolution: {integrity: sha512-2/vVn/husP5XI7Fsf/RlhDaQJ7x9zjvC81anIVbr4b/f0xtSmXQTFcGIQ/B1cXIYM6h2nAhJkdMHTnD7OtQ9Og==} + '@rollup/rollup-darwin-x64@4.46.2': + resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.45.1': - resolution: {integrity: sha512-4g1kaDxQItZsrkVTdYQ0bxu4ZIQ32cotoQbmsAnW1jAE4XCMbcBPDirX5fyUzdhVCKgPcrwWuucI8yrVRBw2+g==} + '@rollup/rollup-freebsd-arm64@4.46.2': + resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.45.1': - resolution: {integrity: sha512-L/6JsfiL74i3uK1Ti2ZFSNsp5NMiM4/kbbGEcOCps99aZx3g8SJMO1/9Y0n/qKlWZfn6sScf98lEOUe2mBvW9A==} + '@rollup/rollup-freebsd-x64@4.46.2': + resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': - resolution: {integrity: sha512-RkdOTu2jK7brlu+ZwjMIZfdV2sSYHK2qR08FUWcIoqJC2eywHbXr0L8T/pONFwkGukQqERDheaGTeedG+rra6Q==} + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': + resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.45.1': - resolution: {integrity: sha512-3kJ8pgfBt6CIIr1o+HQA7OZ9mp/zDk3ctekGl9qn/pRBgrRgfwiffaUmqioUGN9hv0OHv2gxmvdKOkARCtRb8Q==} + '@rollup/rollup-linux-arm-musleabihf@4.46.2': + resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.45.1': - resolution: {integrity: sha512-k3dOKCfIVixWjG7OXTCOmDfJj3vbdhN0QYEqB+OuGArOChek22hn7Uy5A/gTDNAcCy5v2YcXRJ/Qcnm4/ma1xw==} + '@rollup/rollup-linux-arm64-gnu@4.46.2': + resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.45.1': - resolution: {integrity: sha512-PmI1vxQetnM58ZmDFl9/Uk2lpBBby6B6rF4muJc65uZbxCs0EA7hhKCk2PKlmZKuyVSHAyIw3+/SiuMLxKxWog==} + '@rollup/rollup-linux-arm64-musl@4.46.2': + resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': - resolution: {integrity: sha512-9UmI0VzGmNJ28ibHW2GpE2nF0PBQqsyiS4kcJ5vK+wuwGnV5RlqdczVocDSUfGX/Na7/XINRVoUgJyFIgipoRg==} + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': + resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': - resolution: {integrity: sha512-7nR2KY8oEOUTD3pBAxIBBbZr0U7U+R9HDTPNy+5nVVHDXI4ikYniH1oxQz9VoB5PbBU1CZuDGHkLJkd3zLMWsg==} + '@rollup/rollup-linux-ppc64-gnu@4.46.2': + resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.45.1': - resolution: {integrity: sha512-nlcl3jgUultKROfZijKjRQLUu9Ma0PeNv/VFHkZiKbXTBQXhpytS8CIj5/NfBeECZtY2FJQubm6ltIxm/ftxpw==} + '@rollup/rollup-linux-riscv64-gnu@4.46.2': + resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.45.1': - resolution: {integrity: sha512-HJV65KLS51rW0VY6rvZkiieiBnurSzpzore1bMKAhunQiECPuxsROvyeaot/tcK3A3aGnI+qTHqisrpSgQrpgA==} + '@rollup/rollup-linux-riscv64-musl@4.46.2': + resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.45.1': - resolution: {integrity: sha512-NITBOCv3Qqc6hhwFt7jLV78VEO/il4YcBzoMGGNxznLgRQf43VQDae0aAzKiBeEPIxnDrACiMgbqjuihx08OOw==} + '@rollup/rollup-linux-s390x-gnu@4.46.2': + resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.45.1': - resolution: {integrity: sha512-+E/lYl6qu1zqgPEnTrs4WysQtvc/Sh4fC2nByfFExqgYrqkKWp1tWIbe+ELhixnenSpBbLXNi6vbEEJ8M7fiHw==} + '@rollup/rollup-linux-x64-gnu@4.46.2': + resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.45.1': - resolution: {integrity: sha512-a6WIAp89p3kpNoYStITT9RbTbTnqarU7D8N8F2CV+4Cl9fwCOZraLVuVFvlpsW0SbIiYtEnhCZBPLoNdRkjQFw==} + '@rollup/rollup-linux-x64-musl@4.46.2': + resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.45.1': - resolution: {integrity: sha512-T5Bi/NS3fQiJeYdGvRpTAP5P02kqSOpqiopwhj0uaXB6nzs5JVi2XMJb18JUSKhCOX8+UE1UKQufyD6Or48dJg==} + '@rollup/rollup-win32-arm64-msvc@4.46.2': + resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.45.1': - resolution: {integrity: sha512-lxV2Pako3ujjuUe9jiU3/s7KSrDfH6IgTSQOnDWr9aJ92YsFd7EurmClK0ly/t8dzMkDtd04g60WX6yl0sGfdw==} + '@rollup/rollup-win32-ia32-msvc@4.46.2': + resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.45.1': - resolution: {integrity: sha512-M/fKi4sasCdM8i0aWJjCSFm2qEnYRR8AMLG2kxp6wD13+tMGA4Z1tVAuHkNRjud5SW2EM3naLuK35w9twvf6aA==} + '@rollup/rollup-win32-x64-msvc@4.46.2': + resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==} cpu: [x64] os: [win32] '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@3.8.1': - resolution: {integrity: sha512-uTSXzUBQ/IgFcUa6gmGShCHr4tMdR3pxUiiWKDm8pd42UKJdYhkAYsAmHX5mTwybQ5VyGDgTjW4qKSsRvGSang==} + '@shikijs/core@3.9.2': + resolution: {integrity: sha512-3q/mzmw09B2B6PgFNeiaN8pkNOixWS726IHmJEpjDAcneDPMQmUg2cweT9cWXY4XcyQS3i6mOOUgQz9RRUP6HA==} - '@shikijs/engine-javascript@3.8.1': - resolution: {integrity: sha512-rZRp3BM1llrHkuBPAdYAzjlF7OqlM0rm/7EWASeCcY7cRYZIrOnGIHE9qsLz5TCjGefxBFnwgIECzBs2vmOyKA==} + '@shikijs/engine-javascript@3.9.2': + resolution: {integrity: sha512-kUTRVKPsB/28H5Ko6qEsyudBiWEDLst+Sfi+hwr59E0GLHV0h8RfgbQU7fdN5Lt9A8R1ulRiZyTvAizkROjwDA==} - '@shikijs/engine-oniguruma@3.8.1': - resolution: {integrity: sha512-KGQJZHlNY7c656qPFEQpIoqOuC4LrxjyNndRdzk5WKB/Ie87+NJCF1xo9KkOUxwxylk7rT6nhlZyTGTC4fCe1g==} + '@shikijs/engine-oniguruma@3.9.2': + resolution: {integrity: sha512-Vn/w5oyQ6TUgTVDIC/BrpXwIlfK6V6kGWDVVz2eRkF2v13YoENUvaNwxMsQU/t6oCuZKzqp9vqtEtEzKl9VegA==} - '@shikijs/langs@3.8.1': - resolution: {integrity: sha512-TjOFg2Wp1w07oKnXjs0AUMb4kJvujML+fJ1C5cmEj45lhjbUXtziT1x2bPQb9Db6kmPhkG5NI2tgYW1/DzhUuQ==} + '@shikijs/langs@3.9.2': + resolution: {integrity: sha512-X1Q6wRRQXY7HqAuX3I8WjMscjeGjqXCg/Sve7J2GWFORXkSrXud23UECqTBIdCSNKJioFtmUGJQNKtlMMZMn0w==} - '@shikijs/themes@3.8.1': - resolution: {integrity: sha512-Vu3t3BBLifc0GB0UPg2Pox1naTemrrvyZv2lkiSw3QayVV60me1ujFQwPZGgUTmwXl1yhCPW8Lieesm0CYruLQ==} + '@shikijs/themes@3.9.2': + resolution: {integrity: sha512-6z5lBPBMRfLyyEsgf6uJDHPa6NAGVzFJqH4EAZ+03+7sedYir2yJBRu2uPZOKmj43GyhVHWHvyduLDAwJQfDjA==} - '@shikijs/transformers@3.8.1': - resolution: {integrity: sha512-nmTyFfBrhJk6HJi118jes0wuWdfKXeVUq1Nq+hm8h6wbk1KUfvtg+LY/uDfxZD2VDItHO3QoINIs3NtoKBmgxw==} + '@shikijs/transformers@3.9.2': + resolution: {integrity: sha512-MW5hT4TyUp6bNAgTExRYLk1NNasVQMTCw1kgbxHcEC0O5cbepPWaB+1k+JzW9r3SP2/R8kiens8/3E6hGKfgsA==} - '@shikijs/types@3.8.1': - resolution: {integrity: sha512-5C39Q8/8r1I26suLh+5TPk1DTrbY/kn3IdWA5HdizR0FhlhD05zx5nKCqhzSfDHH3p4S0ZefxWd77DLV+8FhGg==} + '@shikijs/types@3.9.2': + resolution: {integrity: sha512-/M5L0Uc2ljyn2jKvj4Yiah7ow/W+DJSglVafvWAJ/b8AZDeeRAdMu3c2riDzB7N42VD+jSnWxeP9AKtd4TfYVw==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -1096,14 +1096,14 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@24.1.0': - resolution: {integrity: sha512-ut5FthK5moxFKH2T1CUOC6ctR67rQRvvHdFLCD2Ql6KXmMuCrjsSsRI9UsLCm9M18BMwClv4pn327UvB7eeO1w==} + '@types/node@24.2.1': + resolution: {integrity: sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/picomatch@4.0.1': - resolution: {integrity: sha512-dLqxmi5VJRC9XTvc/oaTtk+bDb4RRqxLZPZ3jIpYBHEnDXX8lu02w2yWI6NsPPsELuVK298Z2iR8jgoWKRdUVQ==} + '@types/picomatch@4.0.2': + resolution: {integrity: sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==} '@types/postcss-prefix-selector@1.16.3': resolution: {integrity: sha512-YZLPWRkJIrYjwaqojVDXzaRCAEYslRAm8Shznwwn+ZFA4iKQR4LZlS3d+ZMVteFz4iyQnngZZG7k/GIzV1f3mQ==} @@ -1132,8 +1132,8 @@ packages: '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vitejs/plugin-vue@6.0.0': - resolution: {integrity: sha512-iAliE72WsdhjzTOp2DtvKThq1VBC4REhwRcaA+zPAAph6I+OQhUXv+Xu2KS7ElxYtb7Zc/3R30Hwv1DxEo7NXQ==} + '@vitejs/plugin-vue@6.0.1': + resolution: {integrity: sha512-+MaE752hU0wfPFJEUAIxqw18+20euHHdxVtMvbFcOEpjEyfqXH/5DCoTHiVJ0J29EhTJdoTkjEv5YBKU9dnoTw==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: vite: ^5.0.0 || ^6.0.0 || ^7.0.0 @@ -1156,6 +1156,9 @@ packages: '@vitest/pretty-format@4.0.0-beta.4': resolution: {integrity: sha512-BW9Y/t5tGLFi1DgNzs9R4EDqh3MVGiPFBTPGZLK+Y7jBUOFINmLTYTVz1iDnSFLwTOpHxAQfERyOmcu429OQog==} + '@vitest/pretty-format@4.0.0-beta.7': + resolution: {integrity: sha512-2H/+4s4pIvJhXhYxtwI37CE5Xw4DEDvjzQUfKbX/hLtYcTa5lryzkTnv4NEnvwZki4+OqBaXaDK97c8lUicYYQ==} + '@vitest/runner@4.0.0-beta.4': resolution: {integrity: sha512-27ptMzYl0dNvN6o1jmKDsEX0gR3IwulSgPwJVvoKSQntUFUqMeQh0jbNtdZj60li49Rxbh/rdSE25D/7ABJAJg==} @@ -1168,14 +1171,14 @@ packages: '@vitest/utils@4.0.0-beta.4': resolution: {integrity: sha512-AYAKmvweKomQ71BSmM4uuLdj7Lwb7go2tNLoNijObvmwwandidbcNoJzr2MZNm406RtUq+ZN9JsEYhID7uTgNw==} - '@volar/language-core@2.4.20': - resolution: {integrity: sha512-dRDF1G33xaAIDqR6+mXUIjXYdu9vzSxlMGfMEwBxQsfY/JMUEXSpLTR057oTKlUQ2nIvCmP9k94A8h8z2VrNSA==} + '@volar/language-core@2.4.22': + resolution: {integrity: sha512-gp4M7Di5KgNyIyO903wTClYBavRt6UyFNpc5LWfyZr1lBsTUY+QrVZfmbNF2aCyfklBOVk9YC4p+zkwoyT7ECg==} - '@volar/source-map@2.4.20': - resolution: {integrity: sha512-mVjmFQH8mC+nUaVwmbxoYUy8cww+abaO8dWzqPUjilsavjxH0jCJ3Mp8HFuHsdewZs2c+SP+EO7hCd8Z92whJg==} + '@volar/source-map@2.4.22': + resolution: {integrity: sha512-L2nVr/1vei0xKRgO2tYVXtJYd09HTRjaZi418e85Q+QdbbqA8h7bBjfNyPPSsjnrOO4l4kaAo78c8SQUAdHvgA==} - '@volar/typescript@2.4.20': - resolution: {integrity: sha512-Oc4DczPwQyXcVbd+5RsNEqX6ia0+w3p+klwdZQ6ZKhFjWoBP9PCPQYlKYRi/tDemWphW93P/Vv13vcE9I9D2GQ==} + '@volar/typescript@2.4.22': + resolution: {integrity: sha512-6ZczlJW1/GWTrNnkmZxJp4qyBt/SGVlcTuCWpI5zLrdPdCZsj66Aff9ZsfFaT3TyjG8zVYgBMYPuCm/eRkpcpQ==} '@vue/compiler-core@3.5.18': resolution: {integrity: sha512-3slwjQrrV1TO8MoXgy3aynDQ7lslj5UqDxuHnrzHtpON5CBinhWjJETciPngpin/T3OuW3tXUf86tEurusnztw==} @@ -1192,17 +1195,17 @@ packages: '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - '@vue/devtools-api@7.7.7': - resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} + '@vue/devtools-api@8.0.0': + resolution: {integrity: sha512-I2jF/knesMU36zTw1hnExjoixDZvDoantiWKVrHpLd2J160zqqe8vp3vrGfjWdfuHmPJwSXe/YNG3rYOYiwy1Q==} - '@vue/devtools-kit@7.7.7': - resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} + '@vue/devtools-kit@8.0.0': + resolution: {integrity: sha512-b11OeQODkE0bctdT0RhL684pEV2DPXJ80bjpywVCbFn1PxuL3bmMPDoJKjbMnnoWbrnUYXYzFfmMWBZAMhORkQ==} - '@vue/devtools-shared@7.7.7': - resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} + '@vue/devtools-shared@8.0.0': + resolution: {integrity: sha512-jrKnbjshQCiOAJanoeJjTU7WaCg0Dz2BUal6SaR6VM/P3hiFdX5Q6Pxl73ZMnrhCxNK9nAg5hvvRGqs+6dtU1g==} - '@vue/language-core@3.0.4': - resolution: {integrity: sha512-BvueED4LfBCSNH66eeUQk37MQCb7hjdezzGgxniM0LbriW53AJIyLorgshAtStmjfsAuOCcTl/c1b+nz/ye8xQ==} + '@vue/language-core@3.0.5': + resolution: {integrity: sha512-gCEjn9Ik7I/seHVNIEipOm8W+f3/kg60e8s1IgIkMYma2wu9ZGUTMv3mSL2bX+Md2L8fslceJ4SU8j1fgSRoiw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1226,13 +1229,13 @@ packages: '@vue/shared@3.5.18': resolution: {integrity: sha512-cZy8Dq+uuIXbxCZpuLd2GJdeSO/lIzIspC2WtkqIpje5QyFbvLaI5wZtdUjLHjGZrlVX6GilejatWwVYYRc8tA==} - '@vueuse/core@13.5.0': - resolution: {integrity: sha512-wV7z0eUpifKmvmN78UBZX8T7lMW53Nrk6JP5+6hbzrB9+cJ3jr//hUlhl9TZO/03bUkMK6gGkQpqOPWoabr72g==} + '@vueuse/core@13.6.0': + resolution: {integrity: sha512-DJbD5fV86muVmBgS9QQPddVX7d9hWYswzlf4bIyUD2dj8GC46R1uNClZhVAmsdVts4xb2jwp1PbpuiA50Qee1A==} peerDependencies: vue: ^3.5.0 - '@vueuse/integrations@13.5.0': - resolution: {integrity: sha512-7RACJySnlpl0MkSzxbtadioNGSX4TL5/Wl2cUy4nDq/XkeHwPYvVM880HJUSiap/FXhVEup9VKTM9y/n5UspAw==} + '@vueuse/integrations@13.6.0': + resolution: {integrity: sha512-dVFdgwYvkYjdizRL3ESdUW+Hg84i9Yhuzs+Ec3kEcuzJmT5xhiL/IGdw4z394qSBngUQvFi+wbHwhHX3EGbAxQ==} peerDependencies: async-validator: ^4 axios: ^1 @@ -1273,11 +1276,11 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@13.5.0': - resolution: {integrity: sha512-euhItU3b0SqXxSy8u1XHxUCdQ8M++bsRs+TYhOLDU/OykS7KvJnyIFfep0XM5WjIFry9uAPlVSjmVHiqeshmkw==} + '@vueuse/metadata@13.6.0': + resolution: {integrity: sha512-rnIH7JvU7NjrpexTsl2Iwv0V0yAx9cw7+clymjKuLSXG0QMcLD0LDgdNmXic+qL0SGvgSVPEpM9IDO/wqo1vkQ==} - '@vueuse/shared@13.5.0': - resolution: {integrity: sha512-K7GrQIxJ/ANtucxIXbQlUHdB0TPA8c+q5i+zbrjxuhJCnJ9GtBg75sBSnvmLSxHKPg2Yo8w62PWksl9kwH0Q8g==} + '@vueuse/shared@13.6.0': + resolution: {integrity: sha512-pDykCSoS2T3fsQrYqf9SyF0QXWHmcGPQ+qiOVjlYSzlWd9dgppB2bFSM1GgKKkt7uzn0BBMV3IbJsUfHG2+BCg==} peerDependencies: vue: ^3.5.0 @@ -1297,8 +1300,8 @@ packages: add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} - alien-signals@2.0.5: - resolution: {integrity: sha512-PdJB6+06nUNAClInE3Dweq7/2xVAYM64vvvS1IHVHSJmgeOtEdrAGyp7Z2oJtYm0B342/Exd2NT0uMJaThcjLQ==} + alien-signals@2.0.6: + resolution: {integrity: sha512-P3TxJSe31bUHBiblg59oU1PpaWPtmxF9GhJ/cB7OkgJ0qN/ifFSKUI25/v8ZhsT+lIG6ac8DpTOplXxORX6F3Q==} ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} @@ -1397,8 +1400,8 @@ packages: resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==} engines: {node: '>=18'} - chalk@5.4.1: - resolution: {integrity: sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==} + chalk@5.5.0: + resolution: {integrity: sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} character-entities-html4@2.1.0: @@ -1786,8 +1789,8 @@ packages: focus-trap@7.6.5: resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} - follow-redirects@1.15.9: - resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} + follow-redirects@1.15.11: + resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -1807,8 +1810,8 @@ packages: resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==} engines: {node: '>=0.4.x'} - fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + fs-extra@11.3.1: + resolution: {integrity: sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==} engines: {node: '>=14.14'} fsevents@2.3.3: @@ -2136,14 +2139,14 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@16.1.2: - resolution: {integrity: sha512-sQKw2Si2g9KUZNY3XNvRuDq4UJqpHwF0/FQzZR2M7I5MvtpWvibikCjUVJzZdGE0ByurEl3KQNvsGetd1ty1/Q==} + lint-staged@16.1.5: + resolution: {integrity: sha512-uAeQQwByI6dfV7wpt/gVqg+jAPaSp8WwOA8kKC/dv1qw14oGpnpAisY65ibGHUGDUv0rYaZ8CAJZ/1U8hUvC2A==} engines: {node: '>=20.17'} hasBin: true - listr2@8.3.3: - resolution: {integrity: sha512-LWzX2KsqcB1wqQ4AHgYb4RsDXauQiqhjLk+6hjbaeHG4zpjjVAB6wC/gz6X0l+Du1cN3pUB5ZlrvTbhGSNnUQQ==} - engines: {node: '>=18.0.0'} + listr2@9.0.1: + resolution: {integrity: sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==} + engines: {node: '>=20.0.0'} local-pkg@1.1.1: resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} @@ -2451,8 +2454,8 @@ packages: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} - oxc-minify@0.78.0: - resolution: {integrity: sha512-QmoYJBPvzm+uqagkUaCRmyQL5LAzUYnz0r1JtMa6gi2sGyc5elDR8oE0F/1G1NjM3K3Kefwn4sdDFTZeRWc8sA==} + oxc-minify@0.81.0: + resolution: {integrity: sha512-eHTZzqJJBrU8cQidrdeOW5ca9tseLkrly10hOXCg0uh4H/6hlIu3QmSAscBCoo1s+3CP9h1sgfbHQStugBJaSA==} engines: {node: '>=14.0.0'} p-map@7.0.3: @@ -2544,13 +2547,13 @@ packages: pkg-types@2.2.0: resolution: {integrity: sha512-2SM/GZGAEkPp3KWORxQZns4M+WSeXbC2HEvmOIJe3Cmiv6ieAJvdVhDldtHqM5J1Y7MrR1XhkBT/rMlhh9FdqQ==} - playwright-chromium@1.54.1: - resolution: {integrity: sha512-1tOND4/hyQsYng5NLkLm+Ntew+CWBsvVZCcEZ0wafF5BAd9DBQHAT9SO95+QFk5iL5IBEdB6vFdsHf9Ma72vzQ==} + playwright-chromium@1.54.2: + resolution: {integrity: sha512-8ytI6xNjB//5zWSZUvOvn+N9xkXw6GXiDuBePOejcDiyUmzl5R5rvAU7MTl6h633sS3JVmlCS10EhYCt4Crzsg==} engines: {node: '>=18'} hasBin: true - playwright-core@1.54.1: - resolution: {integrity: sha512-Nbjs2zjj0htNhzgiy5wu+3w09YetDx5pkrpI/kZotDlDUaYk0HVA5xrBVPdow4SAUIlhgKcJeJg4GRKW6xHusA==} + playwright-core@1.54.2: + resolution: {integrity: sha512-n5r4HFbMmWsB4twG7tJLDN9gmBUeSPcsBZiWSE4DnYz9mJMAFqr2ID7+eGC9kpEnxExJ1epttwR59LEWCk8mtA==} engines: {node: '>=18'} hasBin: true @@ -2683,8 +2686,8 @@ packages: engines: {node: 20 || >=22} hasBin: true - rolldown-vite@7.0.10: - resolution: {integrity: sha512-t3jMDID78NAJ2PWd0Q5RFrDpD1mFv20ouO/yDbqeHzG2Iyi2ZsjChLKClag1bUm591JJXBsoJIjP6FDkFi9qbw==} + rolldown-vite@7.1.0: + resolution: {integrity: sha512-DCfutVwSkuc3NA75SdFuetKwcpq97tO2JZdM6gYv7GwW6/9qyXnITYER+8zrJt+vQVGP2SadAkMOpWw7B4LVwg==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -2723,8 +2726,8 @@ packages: yaml: optional: true - rolldown@1.0.0-beta.29: - resolution: {integrity: sha512-EsoOi8moHN6CAYyTZipxDDVTJn0j2nBCWor4wRU45RQ8ER2qREDykXLr3Ulz6hBh6oBKCFTQIjo21i0FXNo/IA==} + rolldown@1.0.0-beta.31: + resolution: {integrity: sha512-M2Q+RfG0FMJeSW3RSFTbvtjGVTcQpTQvN247D0EMSsPkpZFoinopR9oAnQiwgogQyzDuvKNnbyCbQQlmNAzSoQ==} hasBin: true rollup-plugin-dts@6.1.1: @@ -2741,8 +2744,8 @@ packages: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup@4.45.1: - resolution: {integrity: sha512-4iya7Jb76fVpQyLoiVpzUrsjQ12r3dM7fIVz+4NwoYvZOShknRmiv+iu9CClZml5ZLGb0XMcYLutK6w9tgxHDw==} + rollup@4.46.2: + resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2784,8 +2787,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@3.8.1: - resolution: {integrity: sha512-+MYIyjwGPCaegbpBeFN9+oOifI8CKiKG3awI/6h3JeT85c//H2wDW/xCJEGuQ5jPqtbboKNqNy+JyX9PYpGwNg==} + shiki@3.9.2: + resolution: {integrity: sha512-t6NKl5e/zGTvw/IyftLcumolgOczhuroqwXngDeMqJ3h3EQiTY/7wmfgPlsmloD8oYfqkEDqxiaH37Pjm1zUhQ==} siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -2794,8 +2797,8 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - simple-git-hooks@2.13.0: - resolution: {integrity: sha512-N+goiLxlkHJlyaYEglFypzVNMaNplPAk5syu0+OPp/Bk6dwVoXF6FfOw2vO0Dp+JHsBaI+w6cm8TnFl2Hw6tDA==} + simple-git-hooks@2.13.1: + resolution: {integrity: sha512-WszCLXwT4h2k1ufIXAgsbiTOazqqevFCIncOuUBZJ91DdvWcC5+OFkluWRQPrcuSYd8fjq+o2y1QfWqYMoAToQ==} hasBin: true simple-git@3.28.0: @@ -2844,8 +2847,8 @@ packages: spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - spdx-license-ids@3.0.21: - resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} + spdx-license-ids@3.0.22: + resolution: {integrity: sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==} speakingurl@14.0.1: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} @@ -3008,8 +3011,8 @@ packages: resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==} engines: {node: '>=16'} - typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.2: + resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} engines: {node: '>=14.17'} hasBin: true @@ -3027,8 +3030,8 @@ packages: ultramatter@0.0.4: resolution: {integrity: sha512-1f/hO3mR+/Hgue4eInOF/Qm/wzDqwhYha4DxM0hre9YIUyso3fE2XtrAU6B4njLqTC8CM49EZaYgsVSa+dXHGw==} - undici-types@7.8.0: - resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} + undici-types@7.10.0: + resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==} unicorn-magic@0.1.0: resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} @@ -3067,8 +3070,8 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unplugin-utils@0.2.4: - resolution: {integrity: sha512-8U/MtpkPkkk3Atewj1+RcKIjb5WBimZ/WSLhhR3w6SsIj8XJuKTacSP8g+2JhfSGw0Cb125Y+2zA/IzJZDVbhA==} + unplugin-utils@0.2.5: + resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} valid-data-url@3.0.1: @@ -3078,8 +3081,8 @@ packages: validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vfile-message@4.0.2: - resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + vfile-message@4.0.3: + resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==} vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} @@ -3089,13 +3092,13 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vitepress-plugin-group-icons@1.6.1: - resolution: {integrity: sha512-eoFlFAhAy/yTZDbaIgA/nMbjVYXkf8pz8rr75MN2VCw7yH60I3cw6bW5EuwddAeafZtBqbo8OsEGU7TIWFiAjg==} + vitepress-plugin-group-icons@1.6.2: + resolution: {integrity: sha512-soDdxP/OnDJqcAFT+ilrZ08Em1xVQXDF5gM+iHVTOmA0kJ5baaglckkjAX90MuPmcBszbJah1XTHRxkkIj7gMQ==} peerDependencies: markdown-it: '>=14' - vitepress-plugin-llms@1.7.1: - resolution: {integrity: sha512-RF5hl2vGxKhbcGirLLUhIlnWNSaoscPKBVnKaGxrKzj76i+mI+HBvfi/DF7a1u2L05LAnf7KSBkEVsMexczsAg==} + vitepress-plugin-llms@1.7.2: + resolution: {integrity: sha512-4UxB3PXfRAfzbcKRXizRQajstjmYn1hoFOSCGIQBYyu3qYs9/TEAUe6oLGbiwaDD+wPQ/T1ow59pt2LAMR4/1A==} vitest@4.0.0-beta.4: resolution: {integrity: sha512-LWwBGvfWUinm0ATarVmXuzhGvL8HyydanPwQLAY21fvrUhXHyP04UvMYF5t+3TcXQdXPIP5AiVm09J+AbIwKhg==} @@ -3128,8 +3131,8 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vue-tsc@3.0.4: - resolution: {integrity: sha512-kZmSEjGtROApVBuaIcoprrXZsFNGon5ggkTJokmhQ/H1hMzCFRPQ0Ed8IHYFsmYJYvHBcdmEQVGVcRuxzPzNbw==} + vue-tsc@3.0.5: + resolution: {integrity: sha512-PsTFN9lo1HJCrZw9NoqjYcAbYDXY0cOKyuW2E7naX5jcaVyWpqEsZOHN9Dws5890E8e5SDAD4L4Zam3dxG3/Cw==} hasBin: true peerDependencies: typescript: '>=5.0.0' @@ -3193,8 +3196,8 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yaml@2.8.0: - resolution: {integrity: sha512-4lLa/EcQCB0cJkyts+FpIRx5G/llPxfP6VQU5KByHEhLxY3IJCH0f0Hy1MHI8sClTvsIb8qwRJ6R/ZdlDJ/leQ==} + yaml@2.8.1: + resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==} engines: {node: '>= 14.6'} hasBin: true @@ -3223,7 +3226,7 @@ snapshots: package-manager-detector: 1.3.0 tinyexec: 1.0.1 - '@antfu/utils@8.1.1': {} + '@antfu/utils@9.2.0': {} '@babel/code-frame@7.27.1': dependencies: @@ -3378,20 +3381,20 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/simple-icons@1.2.44': + '@iconify-json/simple-icons@1.2.46': dependencies: '@iconify/types': 2.0.0 - '@iconify-json/vscode-icons@1.2.23': + '@iconify-json/vscode-icons@1.2.24': dependencies: '@iconify/types': 2.0.0 '@iconify/types@2.0.0': {} - '@iconify/utils@2.3.0': + '@iconify/utils@3.0.0': dependencies: '@antfu/install-pkg': 1.1.0 - '@antfu/utils': 8.1.1 + '@antfu/utils': 9.2.0 '@iconify/types': 2.0.0 debug: 4.4.1 globals: 15.15.0 @@ -3488,7 +3491,7 @@ snapshots: '@mdit-vue/types@2.1.4': {} - '@napi-rs/wasm-runtime@1.0.1': + '@napi-rs/wasm-runtime@1.0.3': dependencies: '@emnapi/core': 1.4.5 '@emnapi/runtime': 1.4.5 @@ -3507,116 +3510,116 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@oxc-minify/binding-android-arm64@0.78.0': + '@oxc-minify/binding-android-arm64@0.81.0': optional: true - '@oxc-minify/binding-darwin-arm64@0.78.0': + '@oxc-minify/binding-darwin-arm64@0.81.0': optional: true - '@oxc-minify/binding-darwin-x64@0.78.0': + '@oxc-minify/binding-darwin-x64@0.81.0': optional: true - '@oxc-minify/binding-freebsd-x64@0.78.0': + '@oxc-minify/binding-freebsd-x64@0.81.0': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.78.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.81.0': optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.78.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.81.0': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.78.0': + '@oxc-minify/binding-linux-arm64-gnu@0.81.0': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.78.0': + '@oxc-minify/binding-linux-arm64-musl@0.81.0': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.78.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.81.0': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.78.0': + '@oxc-minify/binding-linux-s390x-gnu@0.81.0': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.78.0': + '@oxc-minify/binding-linux-x64-gnu@0.81.0': optional: true - '@oxc-minify/binding-linux-x64-musl@0.78.0': + '@oxc-minify/binding-linux-x64-musl@0.81.0': optional: true - '@oxc-minify/binding-wasm32-wasi@0.78.0': + '@oxc-minify/binding-wasm32-wasi@0.81.0': dependencies: - '@napi-rs/wasm-runtime': 1.0.1 + '@napi-rs/wasm-runtime': 1.0.3 optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.78.0': + '@oxc-minify/binding-win32-arm64-msvc@0.81.0': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.78.0': + '@oxc-minify/binding-win32-x64-msvc@0.81.0': optional: true - '@oxc-project/runtime@0.77.3': {} + '@oxc-project/runtime@0.80.0': {} - '@oxc-project/types@0.77.3': {} + '@oxc-project/types@0.80.0': {} '@polka/compression@1.0.0-next.28': {} '@polka/url@1.0.0-next.29': {} - '@rolldown/binding-android-arm64@1.0.0-beta.29': + '@rolldown/binding-android-arm64@1.0.0-beta.31': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-beta.29': + '@rolldown/binding-darwin-arm64@1.0.0-beta.31': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.29': + '@rolldown/binding-darwin-x64@1.0.0-beta.31': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.29': + '@rolldown/binding-freebsd-x64@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.29': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.29': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.29': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.29': + '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.29': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.31': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.29': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.31': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.29': + '@rolldown/binding-wasm32-wasi@1.0.0-beta.31': dependencies: - '@napi-rs/wasm-runtime': 1.0.1 + '@napi-rs/wasm-runtime': 1.0.3 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.29': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.31': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.29': + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.31': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.29': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.31': optional: true - '@rolldown/pluginutils@1.0.0-beta.19': {} - '@rolldown/pluginutils@1.0.0-beta.29': {} - '@rollup/plugin-alias@5.1.1(rollup@4.45.1)': + '@rolldown/pluginutils@1.0.0-beta.31': {} + + '@rollup/plugin-alias@5.1.1(rollup@4.46.2)': optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.2 - '@rollup/plugin-commonjs@28.0.6(rollup@4.45.1)': + '@rollup/plugin-commonjs@28.0.6(rollup@4.46.2)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@rollup/pluginutils': 5.2.0(rollup@4.46.2) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.6(picomatch@4.0.3) @@ -3624,133 +3627,133 @@ snapshots: magic-string: 0.30.17 picomatch: 4.0.3 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.2 - '@rollup/plugin-json@6.1.0(rollup@4.45.1)': + '@rollup/plugin-json@6.1.0(rollup@4.46.2)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@rollup/pluginutils': 5.2.0(rollup@4.46.2) optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.2 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.45.1)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.46.2)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@rollup/pluginutils': 5.2.0(rollup@4.46.2) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.2 - '@rollup/plugin-replace@6.0.2(rollup@4.45.1)': + '@rollup/plugin-replace@6.0.2(rollup@4.46.2)': dependencies: - '@rollup/pluginutils': 5.2.0(rollup@4.45.1) + '@rollup/pluginutils': 5.2.0(rollup@4.46.2) magic-string: 0.30.17 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.2 - '@rollup/pluginutils@5.2.0(rollup@4.45.1)': + '@rollup/pluginutils@5.2.0(rollup@4.46.2)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.3 optionalDependencies: - rollup: 4.45.1 + rollup: 4.46.2 - '@rollup/rollup-android-arm-eabi@4.45.1': + '@rollup/rollup-android-arm-eabi@4.46.2': optional: true - '@rollup/rollup-android-arm64@4.45.1': + '@rollup/rollup-android-arm64@4.46.2': optional: true - '@rollup/rollup-darwin-arm64@4.45.1': + '@rollup/rollup-darwin-arm64@4.46.2': optional: true - '@rollup/rollup-darwin-x64@4.45.1': + '@rollup/rollup-darwin-x64@4.46.2': optional: true - '@rollup/rollup-freebsd-arm64@4.45.1': + '@rollup/rollup-freebsd-arm64@4.46.2': optional: true - '@rollup/rollup-freebsd-x64@4.45.1': + '@rollup/rollup-freebsd-x64@4.46.2': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.45.1': + '@rollup/rollup-linux-arm-gnueabihf@4.46.2': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.45.1': + '@rollup/rollup-linux-arm-musleabihf@4.46.2': optional: true - '@rollup/rollup-linux-arm64-gnu@4.45.1': + '@rollup/rollup-linux-arm64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-arm64-musl@4.45.1': + '@rollup/rollup-linux-arm64-musl@4.46.2': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.45.1': + '@rollup/rollup-linux-loongarch64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.45.1': + '@rollup/rollup-linux-ppc64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.45.1': + '@rollup/rollup-linux-riscv64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-riscv64-musl@4.45.1': + '@rollup/rollup-linux-riscv64-musl@4.46.2': optional: true - '@rollup/rollup-linux-s390x-gnu@4.45.1': + '@rollup/rollup-linux-s390x-gnu@4.46.2': optional: true - '@rollup/rollup-linux-x64-gnu@4.45.1': + '@rollup/rollup-linux-x64-gnu@4.46.2': optional: true - '@rollup/rollup-linux-x64-musl@4.45.1': + '@rollup/rollup-linux-x64-musl@4.46.2': optional: true - '@rollup/rollup-win32-arm64-msvc@4.45.1': + '@rollup/rollup-win32-arm64-msvc@4.46.2': optional: true - '@rollup/rollup-win32-ia32-msvc@4.45.1': + '@rollup/rollup-win32-ia32-msvc@4.46.2': optional: true - '@rollup/rollup-win32-x64-msvc@4.45.1': + '@rollup/rollup-win32-x64-msvc@4.46.2': optional: true '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@3.8.1': + '@shikijs/core@3.9.2': dependencies: - '@shikijs/types': 3.8.1 + '@shikijs/types': 3.9.2 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.8.1': + '@shikijs/engine-javascript@3.9.2': dependencies: - '@shikijs/types': 3.8.1 + '@shikijs/types': 3.9.2 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 - '@shikijs/engine-oniguruma@3.8.1': + '@shikijs/engine-oniguruma@3.9.2': dependencies: - '@shikijs/types': 3.8.1 + '@shikijs/types': 3.9.2 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.8.1': + '@shikijs/langs@3.9.2': dependencies: - '@shikijs/types': 3.8.1 + '@shikijs/types': 3.9.2 - '@shikijs/themes@3.8.1': + '@shikijs/themes@3.9.2': dependencies: - '@shikijs/types': 3.8.1 + '@shikijs/types': 3.9.2 - '@shikijs/transformers@3.8.1': + '@shikijs/transformers@3.9.2': dependencies: - '@shikijs/core': 3.8.1 - '@shikijs/types': 3.8.1 + '@shikijs/core': 3.9.2 + '@shikijs/types': 3.9.2 - '@shikijs/types@3.8.1': + '@shikijs/types@3.9.2': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -3780,7 +3783,7 @@ snapshots: '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 24.1.0 + '@types/node': 24.2.1 '@types/debug@4.1.12': dependencies: @@ -3793,7 +3796,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 24.1.0 + '@types/node': 24.2.1 '@types/hast@3.0.4': dependencies: @@ -3805,7 +3808,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 24.1.0 + '@types/node': 24.2.1 '@types/linkify-it@5.0.0': {} @@ -3848,13 +3851,13 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@24.1.0': + '@types/node@24.2.1': dependencies: - undici-types: 7.8.0 + undici-types: 7.10.0 '@types/normalize-package-data@2.4.4': {} - '@types/picomatch@4.0.1': {} + '@types/picomatch@4.0.2': {} '@types/postcss-prefix-selector@1.16.3': dependencies: @@ -3862,14 +3865,14 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 24.1.0 + '@types/node': 24.2.1 kleur: 3.0.3 '@types/resolve@1.20.2': {} '@types/sax@1.2.7': dependencies: - '@types/node': 24.1.0 + '@types/node': 24.2.1 '@types/semver@7.7.0': {} @@ -3881,11 +3884,11 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue@6.0.0(rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0))(vue@3.5.18(typescript@5.8.3))': + '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': dependencies: - '@rolldown/pluginutils': 1.0.0-beta.19 - vite: rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) - vue: 3.5.18(typescript@5.8.3) + '@rolldown/pluginutils': 1.0.0-beta.29 + vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + vue: 3.5.18(typescript@5.9.2) '@vitest/expect@4.0.0-beta.4': dependencies: @@ -3895,18 +3898,22 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@4.0.0-beta.4(rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0))': + '@vitest/mocker@4.0.0-beta.4(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1))': dependencies: '@vitest/spy': 4.0.0-beta.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) '@vitest/pretty-format@4.0.0-beta.4': dependencies: tinyrainbow: 2.0.0 + '@vitest/pretty-format@4.0.0-beta.7': + dependencies: + tinyrainbow: 2.0.0 + '@vitest/runner@4.0.0-beta.4': dependencies: '@vitest/utils': 4.0.0-beta.4 @@ -3929,15 +3936,15 @@ snapshots: loupe: 3.2.0 tinyrainbow: 2.0.0 - '@volar/language-core@2.4.20': + '@volar/language-core@2.4.22': dependencies: - '@volar/source-map': 2.4.20 + '@volar/source-map': 2.4.22 - '@volar/source-map@2.4.20': {} + '@volar/source-map@2.4.22': {} - '@volar/typescript@2.4.20': + '@volar/typescript@2.4.22': dependencies: - '@volar/language-core': 2.4.20 + '@volar/language-core': 2.4.22 path-browserify: 1.0.1 vscode-uri: 3.1.0 @@ -3976,13 +3983,13 @@ snapshots: de-indent: 1.0.2 he: 1.2.0 - '@vue/devtools-api@7.7.7': + '@vue/devtools-api@8.0.0': dependencies: - '@vue/devtools-kit': 7.7.7 + '@vue/devtools-kit': 8.0.0 - '@vue/devtools-kit@7.7.7': + '@vue/devtools-kit@8.0.0': dependencies: - '@vue/devtools-shared': 7.7.7 + '@vue/devtools-shared': 8.0.0 birpc: 2.5.0 hookable: 5.5.3 mitt: 3.0.1 @@ -3990,22 +3997,22 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.2 - '@vue/devtools-shared@7.7.7': + '@vue/devtools-shared@8.0.0': dependencies: rfdc: 1.4.1 - '@vue/language-core@3.0.4(typescript@5.8.3)': + '@vue/language-core@3.0.5(typescript@5.9.2)': dependencies: - '@volar/language-core': 2.4.20 + '@volar/language-core': 2.4.22 '@vue/compiler-dom': 3.5.18 '@vue/compiler-vue2': 2.7.16 '@vue/shared': 3.5.18 - alien-signals: 2.0.5 + alien-signals: 2.0.6 muggle-string: 0.4.1 path-browserify: 1.0.1 picomatch: 4.0.3 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 '@vue/reactivity@3.5.18': dependencies: @@ -4023,35 +4030,35 @@ snapshots: '@vue/shared': 3.5.18 csstype: 3.1.3 - '@vue/server-renderer@3.5.18(vue@3.5.18(typescript@5.8.3))': + '@vue/server-renderer@3.5.18(vue@3.5.18(typescript@5.9.2))': dependencies: '@vue/compiler-ssr': 3.5.18 '@vue/shared': 3.5.18 - vue: 3.5.18(typescript@5.8.3) + vue: 3.5.18(typescript@5.9.2) '@vue/shared@3.5.18': {} - '@vueuse/core@13.5.0(vue@3.5.18(typescript@5.8.3))': + '@vueuse/core@13.6.0(vue@3.5.18(typescript@5.9.2))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.5.0 - '@vueuse/shared': 13.5.0(vue@3.5.18(typescript@5.8.3)) - vue: 3.5.18(typescript@5.8.3) + '@vueuse/metadata': 13.6.0 + '@vueuse/shared': 13.6.0(vue@3.5.18(typescript@5.9.2)) + vue: 3.5.18(typescript@5.9.2) - '@vueuse/integrations@13.5.0(axios@1.11.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.18(typescript@5.8.3))': + '@vueuse/integrations@13.6.0(axios@1.11.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.18(typescript@5.9.2))': dependencies: - '@vueuse/core': 13.5.0(vue@3.5.18(typescript@5.8.3)) - '@vueuse/shared': 13.5.0(vue@3.5.18(typescript@5.8.3)) - vue: 3.5.18(typescript@5.8.3) + '@vueuse/core': 13.6.0(vue@3.5.18(typescript@5.9.2)) + '@vueuse/shared': 13.6.0(vue@3.5.18(typescript@5.9.2)) + vue: 3.5.18(typescript@5.9.2) optionalDependencies: axios: 1.11.0(debug@4.4.1) focus-trap: 7.6.5 - '@vueuse/metadata@13.5.0': {} + '@vueuse/metadata@13.6.0': {} - '@vueuse/shared@13.5.0(vue@3.5.18(typescript@5.8.3))': + '@vueuse/shared@13.6.0(vue@3.5.18(typescript@5.9.2))': dependencies: - vue: 3.5.18(typescript@5.8.3) + vue: 3.5.18(typescript@5.9.2) '@xmldom/xmldom@0.9.8': {} @@ -4063,7 +4070,7 @@ snapshots: add-stream@1.0.0: {} - alien-signals@2.0.5: {} + alien-signals@2.0.6: {} ansi-colors@4.1.3: {} @@ -4099,7 +4106,7 @@ snapshots: axios@1.11.0(debug@4.4.1): dependencies: - follow-redirects: 1.15.9(debug@4.4.1) + follow-redirects: 1.15.11(debug@4.4.1) form-data: 4.0.4 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -4145,7 +4152,7 @@ snapshots: loupe: 3.2.0 pathval: 2.0.1 - chalk@5.4.1: {} + chalk@5.5.0: {} character-entities-html4@2.1.0: {} @@ -4542,7 +4549,7 @@ snapshots: dependencies: tabbable: 6.2.0 - follow-redirects@1.15.9(debug@4.4.1): + follow-redirects@1.15.11(debug@4.4.1): optionalDependencies: debug: 4.4.1 @@ -4561,7 +4568,7 @@ snapshots: format@0.2.2: {} - fs-extra@11.3.0: + fs-extra@11.3.1: dependencies: graceful-fs: 4.2.11 jsonfile: 6.1.0 @@ -4868,22 +4875,22 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@16.1.2: + lint-staged@16.1.5: dependencies: - chalk: 5.4.1 + chalk: 5.5.0 commander: 14.0.0 debug: 4.4.1 lilconfig: 3.1.3 - listr2: 8.3.3 + listr2: 9.0.1 micromatch: 4.0.8 nano-spawn: 1.0.2 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.8.0 + yaml: 2.8.1 transitivePeerDependencies: - supports-color - listr2@8.3.3: + listr2@9.0.1: dependencies: cli-truncate: 4.0.0 colorette: 2.0.20 @@ -4913,7 +4920,7 @@ snapshots: log-symbols@6.0.0: dependencies: - chalk: 5.4.1 + chalk: 5.5.0 is-unicode-supported: 1.3.0 log-update@6.1.0: @@ -5298,7 +5305,7 @@ snapshots: ora@8.2.0: dependencies: - chalk: 5.4.1 + chalk: 5.5.0 cli-cursor: 5.0.0 cli-spinners: 2.9.2 is-interactive: 2.0.0 @@ -5308,23 +5315,23 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - oxc-minify@0.78.0: + oxc-minify@0.81.0: optionalDependencies: - '@oxc-minify/binding-android-arm64': 0.78.0 - '@oxc-minify/binding-darwin-arm64': 0.78.0 - '@oxc-minify/binding-darwin-x64': 0.78.0 - '@oxc-minify/binding-freebsd-x64': 0.78.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.78.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.78.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.78.0 - '@oxc-minify/binding-linux-arm64-musl': 0.78.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.78.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.78.0 - '@oxc-minify/binding-linux-x64-gnu': 0.78.0 - '@oxc-minify/binding-linux-x64-musl': 0.78.0 - '@oxc-minify/binding-wasm32-wasi': 0.78.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.78.0 - '@oxc-minify/binding-win32-x64-msvc': 0.78.0 + '@oxc-minify/binding-android-arm64': 0.81.0 + '@oxc-minify/binding-darwin-arm64': 0.81.0 + '@oxc-minify/binding-darwin-x64': 0.81.0 + '@oxc-minify/binding-freebsd-x64': 0.81.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.81.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.81.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.81.0 + '@oxc-minify/binding-linux-arm64-musl': 0.81.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.81.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.81.0 + '@oxc-minify/binding-linux-x64-gnu': 0.81.0 + '@oxc-minify/binding-linux-x64-musl': 0.81.0 + '@oxc-minify/binding-wasm32-wasi': 0.81.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.81.0 + '@oxc-minify/binding-win32-x64-msvc': 0.81.0 p-map@7.0.3: {} @@ -5395,11 +5402,11 @@ snapshots: exsolve: 1.0.7 pathe: 2.0.3 - playwright-chromium@1.54.1: + playwright-chromium@1.54.2: dependencies: - playwright-core: 1.54.1 + playwright-core: 1.54.2 - playwright-core@1.54.1: {} + playwright-core@1.54.2: {} polka@1.0.0-next.28: dependencies: @@ -5543,86 +5550,86 @@ snapshots: glob: 11.0.3 package-json-from-dist: 1.0.1 - rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0): + rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1): dependencies: fdir: 6.4.6(picomatch@4.0.3) lightningcss: 1.30.1 picomatch: 4.0.3 postcss: 8.5.6 - rolldown: 1.0.0-beta.29 + rolldown: 1.0.0-beta.31 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.1.0 + '@types/node': 24.2.1 esbuild: 0.25.8 fsevents: 2.3.3 jiti: 1.21.7 - yaml: 2.8.0 + yaml: 2.8.1 - rolldown@1.0.0-beta.29: + rolldown@1.0.0-beta.31: dependencies: - '@oxc-project/runtime': 0.77.3 - '@oxc-project/types': 0.77.3 - '@rolldown/pluginutils': 1.0.0-beta.29 + '@oxc-project/runtime': 0.80.0 + '@oxc-project/types': 0.80.0 + '@rolldown/pluginutils': 1.0.0-beta.31 ansis: 4.1.0 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-beta.29 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.29 - '@rolldown/binding-darwin-x64': 1.0.0-beta.29 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.29 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.29 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.29 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.29 - '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.29 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.29 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.29 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.29 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.29 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.29 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.29 - - rollup-plugin-dts@6.1.1(rollup@4.45.1)(typescript@5.8.3): + '@rolldown/binding-android-arm64': 1.0.0-beta.31 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.31 + '@rolldown/binding-darwin-x64': 1.0.0-beta.31 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.31 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.31 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.31 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.31 + '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.31 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.31 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.31 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.31 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.31 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.31 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.31 + + rollup-plugin-dts@6.1.1(rollup@4.46.2)(typescript@5.9.2): dependencies: magic-string: 0.30.17 - rollup: 4.45.1 - typescript: 5.8.3 + rollup: 4.46.2 + typescript: 5.9.2 optionalDependencies: '@babel/code-frame': 7.27.1 - rollup-plugin-esbuild@6.2.1(esbuild@0.25.8)(rollup@4.45.1): + rollup-plugin-esbuild@6.2.1(esbuild@0.25.8)(rollup@4.46.2): dependencies: debug: 4.4.1 es-module-lexer: 1.7.0 esbuild: 0.25.8 get-tsconfig: 4.10.1 - rollup: 4.45.1 - unplugin-utils: 0.2.4 + rollup: 4.46.2 + unplugin-utils: 0.2.5 transitivePeerDependencies: - supports-color - rollup@4.45.1: + rollup@4.46.2: dependencies: '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.45.1 - '@rollup/rollup-android-arm64': 4.45.1 - '@rollup/rollup-darwin-arm64': 4.45.1 - '@rollup/rollup-darwin-x64': 4.45.1 - '@rollup/rollup-freebsd-arm64': 4.45.1 - '@rollup/rollup-freebsd-x64': 4.45.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.45.1 - '@rollup/rollup-linux-arm-musleabihf': 4.45.1 - '@rollup/rollup-linux-arm64-gnu': 4.45.1 - '@rollup/rollup-linux-arm64-musl': 4.45.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.45.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.45.1 - '@rollup/rollup-linux-riscv64-gnu': 4.45.1 - '@rollup/rollup-linux-riscv64-musl': 4.45.1 - '@rollup/rollup-linux-s390x-gnu': 4.45.1 - '@rollup/rollup-linux-x64-gnu': 4.45.1 - '@rollup/rollup-linux-x64-musl': 4.45.1 - '@rollup/rollup-win32-arm64-msvc': 4.45.1 - '@rollup/rollup-win32-ia32-msvc': 4.45.1 - '@rollup/rollup-win32-x64-msvc': 4.45.1 + '@rollup/rollup-android-arm-eabi': 4.46.2 + '@rollup/rollup-android-arm64': 4.46.2 + '@rollup/rollup-darwin-arm64': 4.46.2 + '@rollup/rollup-darwin-x64': 4.46.2 + '@rollup/rollup-freebsd-arm64': 4.46.2 + '@rollup/rollup-freebsd-x64': 4.46.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.46.2 + '@rollup/rollup-linux-arm-musleabihf': 4.46.2 + '@rollup/rollup-linux-arm64-gnu': 4.46.2 + '@rollup/rollup-linux-arm64-musl': 4.46.2 + '@rollup/rollup-linux-loongarch64-gnu': 4.46.2 + '@rollup/rollup-linux-ppc64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-gnu': 4.46.2 + '@rollup/rollup-linux-riscv64-musl': 4.46.2 + '@rollup/rollup-linux-s390x-gnu': 4.46.2 + '@rollup/rollup-linux-x64-gnu': 4.46.2 + '@rollup/rollup-linux-x64-musl': 4.46.2 + '@rollup/rollup-win32-arm64-msvc': 4.46.2 + '@rollup/rollup-win32-ia32-msvc': 4.46.2 + '@rollup/rollup-win32-x64-msvc': 4.46.2 fsevents: 2.3.3 rtlcss@4.3.0: @@ -5659,14 +5666,14 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.8.1: + shiki@3.9.2: dependencies: - '@shikijs/core': 3.8.1 - '@shikijs/engine-javascript': 3.8.1 - '@shikijs/engine-oniguruma': 3.8.1 - '@shikijs/langs': 3.8.1 - '@shikijs/themes': 3.8.1 - '@shikijs/types': 3.8.1 + '@shikijs/core': 3.9.2 + '@shikijs/engine-javascript': 3.9.2 + '@shikijs/engine-oniguruma': 3.9.2 + '@shikijs/langs': 3.9.2 + '@shikijs/themes': 3.9.2 + '@shikijs/types': 3.9.2 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -5674,7 +5681,7 @@ snapshots: signal-exit@4.1.0: {} - simple-git-hooks@2.13.0: {} + simple-git-hooks@2.13.1: {} simple-git@3.28.0: dependencies: @@ -5720,16 +5727,16 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.22 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.21 + spdx-license-ids: 3.0.22 - spdx-license-ids@3.0.21: {} + spdx-license-ids@3.0.22: {} speakingurl@14.0.1: {} @@ -5868,7 +5875,7 @@ snapshots: type-fest@4.41.0: {} - typescript@5.8.3: {} + typescript@5.9.2: {} uc.micro@2.1.0: {} @@ -5879,7 +5886,7 @@ snapshots: ultramatter@0.0.4: {} - undici-types@7.8.0: {} + undici-types@7.10.0: {} unicorn-magic@0.1.0: {} @@ -5930,7 +5937,7 @@ snapshots: universalify@2.0.1: {} - unplugin-utils@0.2.4: + unplugin-utils@0.2.5: dependencies: pathe: 2.0.3 picomatch: 4.0.3 @@ -5942,7 +5949,7 @@ snapshots: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - vfile-message@4.0.2: + vfile-message@4.0.3: dependencies: '@types/unist': 3.0.3 unist-util-stringify-position: 4.0.0 @@ -5950,15 +5957,15 @@ snapshots: vfile@6.0.3: dependencies: '@types/unist': 3.0.3 - vfile-message: 4.0.2 + vfile-message: 4.0.3 - vite-node@4.0.0-beta.4(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0): + vite-node@4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - esbuild @@ -5973,13 +5980,13 @@ snapshots: - tsx - yaml - vitepress-plugin-group-icons@1.6.1(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.0): + vitepress-plugin-group-icons@1.6.2(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1): dependencies: '@iconify-json/logos': 1.2.5 - '@iconify-json/vscode-icons': 1.2.23 - '@iconify/utils': 2.3.0 + '@iconify-json/vscode-icons': 1.2.24 + '@iconify/utils': 3.0.0 markdown-it: 14.1.0 - vite: rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - esbuild @@ -5994,7 +6001,7 @@ snapshots: - tsx - yaml - vitepress-plugin-llms@1.7.1: + vitepress-plugin-llms@1.7.2: dependencies: byte-size: 9.0.1 gray-matter: 4.0.3 @@ -6013,12 +6020,12 @@ snapshots: - '@75lb/nature' - supports-color - vitest@4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0): + vitest@4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 4.0.0-beta.4 - '@vitest/mocker': 4.0.0-beta.4(rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0)) - '@vitest/pretty-format': 4.0.0-beta.4 + '@vitest/mocker': 4.0.0-beta.4(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.0-beta.7 '@vitest/runner': 4.0.0-beta.4 '@vitest/snapshot': 4.0.0-beta.4 '@vitest/spy': 4.0.0-beta.4 @@ -6035,12 +6042,12 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: rolldown-vite@7.0.10(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) - vite-node: 4.0.0-beta.4(@types/node@24.1.0)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + vite-node: 4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.1.0 + '@types/node': 24.2.1 transitivePeerDependencies: - esbuild - jiti @@ -6057,21 +6064,21 @@ snapshots: vscode-uri@3.1.0: {} - vue-tsc@3.0.4(typescript@5.8.3): + vue-tsc@3.0.5(typescript@5.9.2): dependencies: - '@volar/typescript': 2.4.20 - '@vue/language-core': 3.0.4(typescript@5.8.3) - typescript: 5.8.3 + '@volar/typescript': 2.4.22 + '@vue/language-core': 3.0.5(typescript@5.9.2) + typescript: 5.9.2 - vue@3.5.18(typescript@5.8.3): + vue@3.5.18(typescript@5.9.2): dependencies: '@vue/compiler-dom': 3.5.18 '@vue/compiler-sfc': 3.5.18 '@vue/runtime-dom': 3.5.18 - '@vue/server-renderer': 3.5.18(vue@3.5.18(typescript@5.8.3)) + '@vue/server-renderer': 3.5.18(vue@3.5.18(typescript@5.9.2)) '@vue/shared': 3.5.18 optionalDependencies: - typescript: 5.8.3 + typescript: 5.9.2 wait-on@8.0.4(debug@4.4.1): dependencies: @@ -6138,7 +6145,7 @@ snapshots: y18n@5.0.8: {} - yaml@2.8.0: {} + yaml@2.8.1: {} yargs-parser@21.1.1: {} diff --git a/src/node/config.ts b/src/node/config.ts index f346994d..fba1e0c0 100644 --- a/src/node/config.ts +++ b/src/node/config.ts @@ -168,7 +168,7 @@ export async function resolveConfig( global.VITEPRESS_CONFIG = config // resolve pages after setting global, so that path loaders can access it - Object.assign(config, await resolvePages(srcDir, userConfig, logger, true)) + await resolvePages(config, true) return config as SiteConfig } diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 2d71df5a..680be01a 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -274,16 +274,7 @@ export async function createVitePressPlugin( } // update pages, dynamicRoutes and rewrites on md file creation / deletion - if (file.endsWith('.md')) { - Object.assign( - siteConfig, - await resolvePages( - siteConfig.srcDir, - siteConfig.userConfig, - siteConfig.logger - ) - ) - } + if (file.endsWith('.md')) await resolvePages(siteConfig) if (!added && importerMap[file]) { delete importerMap[file] diff --git a/src/node/plugins/dynamicRoutesPlugin.ts b/src/node/plugins/dynamicRoutesPlugin.ts index afc68be5..f10aa27f 100644 --- a/src/node/plugins/dynamicRoutesPlugin.ts +++ b/src/node/plugins/dynamicRoutesPlugin.ts @@ -61,6 +61,7 @@ const pathLoaderRE = /\.paths\.m?[jt]s$/ const routeModuleCache = new Map() let moduleGraph = new ModuleGraph() +let discoveredPages = new Set() /** * Helper for defining routes with type inference @@ -69,20 +70,21 @@ export function defineRoutes(loader: RouteModule): RouteModule { return loader } +type Optional = Omit & Partial> + export async function resolvePages( - srcDir: string, - userConfig: UserConfig, - logger: Logger, + siteConfig: Optional, rebuildCache = false -): Promise> { +): Promise { if (rebuildCache) { moduleGraph = new ModuleGraph() routeModuleCache.clear() + discoveredPages.clear() } const allMarkdownFiles = await glob(['**/*.md'], { - cwd: srcDir, - ignore: userConfig.srcExclude + cwd: siteConfig.srcDir, + ignore: siteConfig.userConfig.srcExclude }) const pages: string[] = [] @@ -94,22 +96,33 @@ export async function resolvePages( }) const dynamicRoutes = await resolveDynamicRoutes( - srcDir, + siteConfig.srcDir, dynamicRouteFiles, - logger + siteConfig.logger ) - pages.push(...dynamicRoutes.map((r) => r.path)) - const rewrites = resolveRewrites(pages, userConfig.rewrites) + const externalDynamicRoutes = + siteConfig.dynamicRoutes?.filter((r) => !discoveredPages.has(r.path)) || [] + const externalPages = + siteConfig.pages?.filter((p) => !discoveredPages.has(p)) || [] - return { - pages, - dynamicRoutes, + const finalDynamicRoutes = [...dynamicRoutes, ...externalDynamicRoutes].sort( + (a, b) => a.path.localeCompare(b.path) + ) + const finalPages = [...pages, ...externalPages].sort() + + const rewrites = resolveRewrites(pages, siteConfig.userConfig.rewrites) + + Object.assign(siteConfig, { + pages: finalPages, + dynamicRoutes: finalDynamicRoutes, rewrites, // @ts-expect-error internal flag to reload resolution cache in ../markdownToVue.ts __dirty: true - } + } satisfies Partial) + + discoveredPages = new Set(pages) } export const dynamicRoutesPlugin = async ( @@ -193,10 +206,7 @@ export const dynamicRoutesPlugin = async ( pathLoaderRE.test(normalizedFile) ) { // path loader module or deps updated, reset loaded routes - Object.assign( - config, - await resolvePages(config.srcDir, config.userConfig, config.logger) - ) + await resolvePages(config) } return modules.length ? [...existingMods, ...modules] : undefined diff --git a/src/node/utils/moduleGraph.ts b/src/node/utils/moduleGraph.ts index 61e5eecf..143601c1 100644 --- a/src/node/utils/moduleGraph.ts +++ b/src/node/utils/moduleGraph.ts @@ -54,6 +54,8 @@ export class ModuleGraph { */ delete(module: string): Set { const deleted = new Set() + if (!this.nodes.has(module)) return deleted + const stack: string[] = [module] // Traverse the reverse dependency graph (using dependents). From 5bf835b5074e9567852d552bfb5115c6456026e8 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sun, 10 Aug 2025 19:57:36 +0530 Subject: [PATCH 02/32] fix(types): externalize markdown-it types ref: https://github.com/boyum/markdown-it-image-size/issues/888#issuecomment-3172653892 --- package.json | 2 +- pnpm-lock.yaml | 6 +++--- rollup.config.ts | 3 +-- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 1aa389c5..620c6834 100644 --- a/package.json +++ b/package.json @@ -101,6 +101,7 @@ "@shikijs/core": "^3.9.2", "@shikijs/transformers": "^3.9.2", "@shikijs/types": "^3.9.2", + "@types/markdown-it": "^14.1.2", "@vitejs/plugin-vue": "^6.0.1", "@vue/devtools-api": "^8.0.0", "@vue/shared": "^3.5.18", @@ -134,7 +135,6 @@ "@types/fs-extra": "^11.0.4", "@types/lodash.template": "^4.5.3", "@types/mark.js": "^8.11.12", - "@types/markdown-it": "^14.1.2", "@types/markdown-it-attrs": "^4.1.3", "@types/markdown-it-container": "^2.0.10", "@types/markdown-it-emoji": "^3.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 684e2568..4a95d328 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -38,6 +38,9 @@ importers: '@shikijs/types': specifier: ^3.9.2 version: 3.9.2 + '@types/markdown-it': + specifier: ^14.1.2 + version: 14.1.2 '@vitejs/plugin-vue': specifier: ^6.0.1 version: 6.0.1(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) @@ -132,9 +135,6 @@ importers: '@types/mark.js': specifier: ^8.11.12 version: 8.11.12 - '@types/markdown-it': - specifier: ^14.1.2 - version: 14.1.2 '@types/markdown-it-attrs': specifier: ^4.1.3 version: 4.1.3 diff --git a/rollup.config.ts b/rollup.config.ts index 2425f34f..7f02b1b8 100644 --- a/rollup.config.ts +++ b/rollup.config.ts @@ -56,8 +56,7 @@ const esmBuild: RollupOptions = { const typesExternal = [ ...external, /\/vitepress\/(?!(dist|node_modules|vitepress)\/).*\.d\.ts$/, - 'source-map-js', - 'fast-glob' + /^markdown-it(?:\/|$)/ ] const dtsNode = dts({ From 3d0fafba545f4b5028cf43d86027dd44dab14421 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Mon, 11 Aug 2025 10:48:56 +0530 Subject: [PATCH 03/32] fix: hmr of style blocks in dynamic routes (#4903) --- src/node/plugins/dynamicRoutesPlugin.ts | 27 ++++++++++++++++--------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/node/plugins/dynamicRoutesPlugin.ts b/src/node/plugins/dynamicRoutesPlugin.ts index f10aa27f..7b3b326d 100644 --- a/src/node/plugins/dynamicRoutesPlugin.ts +++ b/src/node/plugins/dynamicRoutesPlugin.ts @@ -5,6 +5,7 @@ import pm from 'picomatch' import { loadConfigFromFile, normalizePath, + type EnvironmentModuleGraph, type EnvironmentModuleNode, type Logger, type Plugin @@ -130,6 +131,7 @@ export const dynamicRoutesPlugin = async ( ): Promise => { return { name: 'vitepress:dynamic-routes', + enforce: 'pre', resolveId(id) { if (!id.endsWith('.md')) return @@ -177,11 +179,7 @@ export const dynamicRoutesPlugin = async ( const normalizedFile = normalizePath(file) // Trigger update if a module or its dependencies changed. - for (const id of moduleGraph.delete(normalizedFile)) { - routeModuleCache.delete(id) - const mod = this.environment.moduleGraph.getModuleById(id) - if (mod) modules.push(mod) - } + modules.push(...getModules(normalizedFile, this.environment.moduleGraph)) // Also check if the file matches any custom watch patterns. let watchedFileChanged = false @@ -192,11 +190,7 @@ export const dynamicRoutesPlugin = async ( ) { route.routes = undefined watchedFileChanged = true - - for (const id of moduleGraph.delete(file)) { - const mod = this.environment.moduleGraph.getModuleById(id) - if (mod) modules.push(mod) - } + modules.push(...getModules(file, this.environment.moduleGraph, false)) } } @@ -355,3 +349,16 @@ async function resolveDynamicRoutes( return resolvedRoutes } + +function getModules( + id: string, + envModuleGraph: EnvironmentModuleGraph, + deleteFromRouteModuleCache = true +) { + const modules: EnvironmentModuleNode[] = [] + for (const file of moduleGraph.delete(id)) { + deleteFromRouteModuleCache && routeModuleCache.delete(file) + modules.push(...(envModuleGraph.getModulesByFile(file)?.values() ?? [])) + } + return modules +} From 46e9dab59bed652ab71a355b07a95089f2872868 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Mon, 11 Aug 2025 14:32:34 +0530 Subject: [PATCH 04/32] chore(deps): bump mdit-vue to v3 --- package.json | 20 +++---- pnpm-lock.yaml | 148 ++++++++++++++++++++++++++----------------------- 2 files changed, 88 insertions(+), 80 deletions(-) diff --git a/package.json b/package.json index 620c6834..7db5f03f 100644 --- a/package.json +++ b/package.json @@ -95,9 +95,9 @@ "*": "prettier --experimental-cli --ignore-unknown --write" }, "dependencies": { - "@docsearch/css": "^4.0.0-beta.5", - "@docsearch/js": "^4.0.0-beta.5", - "@iconify-json/simple-icons": "^1.2.46", + "@docsearch/css": "^4.0.0-beta.6", + "@docsearch/js": "^4.0.0-beta.6", + "@iconify-json/simple-icons": "^1.2.47", "@shikijs/core": "^3.9.2", "@shikijs/transformers": "^3.9.2", "@shikijs/types": "^3.9.2", @@ -117,13 +117,13 @@ "devDependencies": { "@clack/prompts": "^1.0.0-alpha.1", "@iconify/utils": "^3.0.0", - "@mdit-vue/plugin-component": "^2.1.4", - "@mdit-vue/plugin-frontmatter": "^2.1.4", - "@mdit-vue/plugin-headers": "^2.1.4", - "@mdit-vue/plugin-sfc": "^2.1.4", - "@mdit-vue/plugin-title": "^2.1.4", - "@mdit-vue/plugin-toc": "^2.1.4", - "@mdit-vue/shared": "^2.1.4", + "@mdit-vue/plugin-component": "^3.0.0", + "@mdit-vue/plugin-frontmatter": "^3.0.0", + "@mdit-vue/plugin-headers": "^3.0.0", + "@mdit-vue/plugin-sfc": "^3.0.0", + "@mdit-vue/plugin-title": "^3.0.0", + "@mdit-vue/plugin-toc": "^3.0.0", + "@mdit-vue/shared": "^3.0.0", "@polka/compression": "^1.0.0-next.28", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4a95d328..8dd2c252 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,14 +21,14 @@ importers: .: dependencies: '@docsearch/css': - specifier: ^4.0.0-beta.5 - version: 4.0.0-beta.5 + specifier: ^4.0.0-beta.6 + version: 4.0.0-beta.6 '@docsearch/js': - specifier: ^4.0.0-beta.5 - version: 4.0.0-beta.5 + specifier: ^4.0.0-beta.6 + version: 4.0.0-beta.6 '@iconify-json/simple-icons': - specifier: ^1.2.46 - version: 1.2.46 + specifier: ^1.2.47 + version: 1.2.47 '@shikijs/core': specifier: ^3.9.2 version: 3.9.2 @@ -82,26 +82,26 @@ importers: specifier: ^3.0.0 version: 3.0.0 '@mdit-vue/plugin-component': - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^3.0.0 + version: 3.0.0 '@mdit-vue/plugin-frontmatter': - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^3.0.0 + version: 3.0.0 '@mdit-vue/plugin-headers': - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^3.0.0 + version: 3.0.0 '@mdit-vue/plugin-sfc': - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^3.0.0 + version: 3.0.0 '@mdit-vue/plugin-title': - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^3.0.0 + version: 3.0.0 '@mdit-vue/plugin-toc': - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^3.0.0 + version: 3.0.0 '@mdit-vue/shared': - specifier: ^2.1.4 - version: 2.1.4 + specifier: ^3.0.0 + version: 3.0.0 '@polka/compression': specifier: ^1.0.0-next.28 version: 1.0.0-next.28 @@ -390,11 +390,11 @@ packages: conventional-commits-parser: optional: true - '@docsearch/css@4.0.0-beta.5': - resolution: {integrity: sha512-bZy+gIXRZch0KNPC7MLoj4wkEcNVeEHBXOKJtonoJ2EaLw2vbO1PLGIXxtPgW7Ab7TvI0StkrmGuEQqE2q/1QA==} + '@docsearch/css@4.0.0-beta.6': + resolution: {integrity: sha512-LmUwTbRnj6CJV8RW2FysHEm238X2sC2QjL1AKcKVdstuZ12r85o9PdOgNZgRMUCIgJuZteyMeBGBZo258DH70g==} - '@docsearch/js@4.0.0-beta.5': - resolution: {integrity: sha512-FEtkwdblZDrTkd0mYwmfR94Vo/jgkXVIbS6vD2FcKazK/L5RmgNb7KAUDUWW11V/fIcS5XHvHprIxEnoB9gllQ==} + '@docsearch/js@4.0.0-beta.6': + resolution: {integrity: sha512-paUB2D7JryaacNS3HJRc6PvsbZu9x07ZhL1c8p3OSeP/tyJN0jzdG4Wsd6Z8Me563kEM5VTVSrDi/kaUpwWosA==} '@emnapi/core@1.4.5': resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} @@ -571,14 +571,14 @@ packages: resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} engines: {node: '>=10.13.0'} - '@iconify-json/logos@1.2.5': - resolution: {integrity: sha512-WR8+9kFwx1tIR+hWpKYC+rpVkAuzHyaVxZRfhGGIjqCfgbodK7rS4+OZhktdKtZKKcdmhpLZKvlmRm4IA4dKRg==} + '@iconify-json/logos@1.2.9': + resolution: {integrity: sha512-G6VCdFnwZcrT6Eveq3m43oJfLw/CX8plwFcE+2jgv3fiGB64pTmnU7Yd1MNZ/eA+/Re2iEDhuCfSNOWTHwwK8w==} - '@iconify-json/simple-icons@1.2.46': - resolution: {integrity: sha512-MJfKQDhOMQD5Fc8PcTtCdFX0oBf/nKVfp69ScdEKIXW0JXELX5V2Ld45EsjShi8aJ6DNhdDtSDZvKuDnkDiKnw==} + '@iconify-json/simple-icons@1.2.47': + resolution: {integrity: sha512-wa/2O7G4sBmwSEWWLh5C+HeY00lVOoWYRKJOYQtk7lAbQrHUReD1ijiGOyTynV1YavxtNueL1CBA1UZmYJfOrQ==} - '@iconify-json/vscode-icons@1.2.24': - resolution: {integrity: sha512-iWWsflaDjX8l9JM9m5OrUtC49fuLveoXud7tVobRRyrDpI5ixdM9yfH20dC9R8aW+qpfPFPi6oC3n1noPsp8gA==} + '@iconify-json/vscode-icons@1.2.29': + resolution: {integrity: sha512-ByqO3YPYs0n7hakQ/ZUXltJQnYibeOv41H1AdciOs7Pmba5/OsKKK1/oOjcBmvXrYuENO+IvIzORYkl6sFXgqA==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -612,29 +612,37 @@ packages: engines: {node: '>=18.17.0'} hasBin: true - '@mdit-vue/plugin-component@2.1.4': - resolution: {integrity: sha512-fiLbwcaE6gZE4c8Mkdkc4X38ltXh/EdnuPE1hepFT2dLiW6I4X8ho2Wq7nhYuT8RmV4OKlCFENwCuXlKcpV/sw==} + '@mdit-vue/plugin-component@3.0.0': + resolution: {integrity: sha512-en9BdVKJyuo2Wuo0tGVq+nqXRoLLZ/9nK59+o3oXtWe6C/Hry9L3VleqSnnlUdLwjCaqAO466nxNwwXhixFJpA==} + engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-frontmatter@2.1.4': - resolution: {integrity: sha512-mOlavV176njnozIf0UZGFYymmQ2LK5S1rjrbJ1uGz4Df59tu0DQntdE7YZXqmJJA9MiSx7ViCTUQCNPKg7R8Ow==} + '@mdit-vue/plugin-frontmatter@3.0.0': + resolution: {integrity: sha512-1IYxd4Rz7RNZAysugdG9snvosQQzquHHjhiHgSRd3ltPmHkAnaILKiSbrbnaoREl2GWE4sR0X/tD5AIQkUcQNg==} + engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-headers@2.1.4': - resolution: {integrity: sha512-tyZwGZu2mYkNSqigFP1CK3aZYxuYwrqcrIh8ljd8tfD1UDPJkAbQeayq62U572po2IuWVB1BqIG8JIXp5POOTA==} + '@mdit-vue/plugin-headers@3.0.0': + resolution: {integrity: sha512-6ZG1uont09p4LKa+zUexOGLLL9KmNRWg9wRMyu+Vze5JqGFwWQIKarBMoJUSyF7N53D1Llj+QPsfNgR1vclXpQ==} + engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-sfc@2.1.4': - resolution: {integrity: sha512-oqAlMulkz280xUJIkormzp6Ps0x5WULZrwRivylWJWDEyVAFCj5VgR3Dx6CP2jdgyuPXwW3+gh2Kzw+Xe+kEIQ==} + '@mdit-vue/plugin-sfc@3.0.0': + resolution: {integrity: sha512-nJc0/5OYtfrSpP6oUSInjSWKsrReif+mBmnGTVGkzzs5OzRZlmtPWfXqjO6+YauCMX/f6GkP6kCAVLnfLLV5kw==} + engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-title@2.1.4': - resolution: {integrity: sha512-uuF24gJvvLVIWG/VBtCDRqMndfd5JzOXoBoHPdKKLk3PA4P84dsB0u0NnnBUEl/YBOumdCotasn7OfFMmco9uQ==} + '@mdit-vue/plugin-title@3.0.0': + resolution: {integrity: sha512-FSIktCh4X7Sz7SX6/BXZDXqIsjxcxxOO3d56fJhoqUvbCWkVo52ihyKkj6d9ynFIM/IbPCxiIV94H1l4TBErXA==} + engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-toc@2.1.4': - resolution: {integrity: sha512-vvOU7u6aNmvPwKXzmoHion1sv4zChBp20LDpSHlRlXc3btLwdYIA0DR+UiO5YeyLUAO0XSHQKBpsIWi57K9/3w==} + '@mdit-vue/plugin-toc@3.0.0': + resolution: {integrity: sha512-TEsvFcOCfYhvLHfgOKZq74JFIKMohZ/ucuLpvhK6USHJCrgcunAw+Yr+VTtxQgCeKReIKWaGD3ReKcscgjrKjA==} + engines: {node: '>=20.0.0'} - '@mdit-vue/shared@2.1.4': - resolution: {integrity: sha512-Axd8g2iKQTMuHcPXZH5JY3hbSMeLyoeu0ftdgMrjuPzHpJnWiPSAnA0dAx5NQFQqZkXHhyIrAssLSrOWjFmPKg==} + '@mdit-vue/shared@3.0.0': + resolution: {integrity: sha512-3GPwO4wBk4lR4BSDjjJk54OtuGoGeCK8iqLH+8wPiz5684oeZrBsrvNTjBhNGBoaPMjXNk/Y+zAI4K3GLytrUg==} + engines: {node: '>=20.0.0'} - '@mdit-vue/types@2.1.4': - resolution: {integrity: sha512-QiGNZslz+zXUs2X8D11UQhB4KAMZ0DZghvYxa7+1B+VMLcDtz//XHpWbcuexjzE3kBXSxIUTPH3eSQCa0puZHA==} + '@mdit-vue/types@3.0.0': + resolution: {integrity: sha512-9j5fpTpMdyD9swZwbJZJHPyAS58WzTYpIUUFYzfBJViDL6drQTj7jnMbfGPtApSoKrsV5VJ4ClVctJnm+0TpkQ==} + engines: {node: '>=20.0.0'} '@napi-rs/wasm-runtime@1.0.3': resolution: {integrity: sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==} @@ -3271,9 +3279,9 @@ snapshots: conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.2.0 - '@docsearch/css@4.0.0-beta.5': {} + '@docsearch/css@4.0.0-beta.6': {} - '@docsearch/js@4.0.0-beta.5': {} + '@docsearch/js@4.0.0-beta.6': {} '@emnapi/core@1.4.5': dependencies: @@ -3377,15 +3385,15 @@ snapshots: '@hutson/parse-repository-url@5.0.0': {} - '@iconify-json/logos@1.2.5': + '@iconify-json/logos@1.2.9': dependencies: '@iconify/types': 2.0.0 - '@iconify-json/simple-icons@1.2.46': + '@iconify-json/simple-icons@1.2.47': dependencies: '@iconify/types': 2.0.0 - '@iconify-json/vscode-icons@1.2.24': + '@iconify-json/vscode-icons@1.2.29': dependencies: '@iconify/types': 2.0.0 @@ -3444,52 +3452,52 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdit-vue/plugin-component@2.1.4': + '@mdit-vue/plugin-component@3.0.0': dependencies: '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-frontmatter@2.1.4': + '@mdit-vue/plugin-frontmatter@3.0.0': dependencies: - '@mdit-vue/types': 2.1.4 + '@mdit-vue/types': 3.0.0 '@types/markdown-it': 14.1.2 gray-matter: 4.0.3 markdown-it: 14.1.0 - '@mdit-vue/plugin-headers@2.1.4': + '@mdit-vue/plugin-headers@3.0.0': dependencies: - '@mdit-vue/shared': 2.1.4 - '@mdit-vue/types': 2.1.4 + '@mdit-vue/shared': 3.0.0 + '@mdit-vue/types': 3.0.0 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-sfc@2.1.4': + '@mdit-vue/plugin-sfc@3.0.0': dependencies: - '@mdit-vue/types': 2.1.4 + '@mdit-vue/types': 3.0.0 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-title@2.1.4': + '@mdit-vue/plugin-title@3.0.0': dependencies: - '@mdit-vue/shared': 2.1.4 - '@mdit-vue/types': 2.1.4 + '@mdit-vue/shared': 3.0.0 + '@mdit-vue/types': 3.0.0 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-toc@2.1.4': + '@mdit-vue/plugin-toc@3.0.0': dependencies: - '@mdit-vue/shared': 2.1.4 - '@mdit-vue/types': 2.1.4 + '@mdit-vue/shared': 3.0.0 + '@mdit-vue/types': 3.0.0 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/shared@2.1.4': + '@mdit-vue/shared@3.0.0': dependencies: - '@mdit-vue/types': 2.1.4 + '@mdit-vue/types': 3.0.0 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/types@2.1.4': {} + '@mdit-vue/types@3.0.0': {} '@napi-rs/wasm-runtime@1.0.3': dependencies: @@ -5982,8 +5990,8 @@ snapshots: vitepress-plugin-group-icons@1.6.2(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1): dependencies: - '@iconify-json/logos': 1.2.5 - '@iconify-json/vscode-icons': 1.2.24 + '@iconify-json/logos': 1.2.9 + '@iconify-json/vscode-icons': 1.2.29 '@iconify/utils': 3.0.0 markdown-it: 14.1.0 vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) From e25f2285c007c7ef64e5c1e7466a32a26320ec09 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Mon, 11 Aug 2025 14:36:14 +0530 Subject: [PATCH 05/32] release: v2.0.0-alpha.10 --- CHANGELOG.md | 19 +++++++++++++++++++ package.json | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d53e8de8..864dbe55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,22 @@ +## [2.0.0-alpha.10](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.9...v2.0.0-alpha.10) (2025-08-11) + +### Bug Fixes + +- **client:** base not stripped from relativePath in 404 pages ([b840877](https://github.com/vuejs/vitepress/commit/b840877aa83a5a24ffc1222e8a5a3dbf3e5105e8)), closes [#4850](https://github.com/vuejs/vitepress/issues/4850) +- hmr of style blocks in dynamic routes ([#4903](https://github.com/vuejs/vitepress/issues/4903)) ([3d0fafb](https://github.com/vuejs/vitepress/commit/3d0fafba545f4b5028cf43d86027dd44dab14421)) +- make paths in `watchedFiles` absolute as mentioned in the docs ([318c14f](https://github.com/vuejs/vitepress/commit/318c14fa7c9fb949d74b7d9fae416e917766cf05)) +- module graph causing unnecessary route regeneration on every update ([fc267ae](https://github.com/vuejs/vitepress/commit/fc267ae6b787e163d41666e090089821377ead43)) +- preserve externally added dynamic routes and pages ([fc267ae](https://github.com/vuejs/vitepress/commit/fc267ae6b787e163d41666e090089821377ead43)) +- **search:** input placeholder being cut off in smaller viewports ([162c6a6](https://github.com/vuejs/vitepress/commit/162c6a69bf56945daa20d126aa034c59ee0c8a2e)) +- **search:** style tweaks for when searches are empty ([8b23217](https://github.com/vuejs/vitepress/commit/8b232171cc321bd3dc86b4357622815269f0b6f4)) +- **types:** externalize markdown-it types ([5bf835b](https://github.com/vuejs/vitepress/commit/5bf835b5074e9567852d552bfb5115c6456026e8)) +- **types:** pass generics deeply to user config ([777e2ca](https://github.com/vuejs/vitepress/commit/777e2caaacd93ce41b046f6c9d5ba80cc43ba37c)) + +### Features + +- add source param to the deadlink check fn ([#4870](https://github.com/vuejs/vitepress/issues/4870)) ([8c027c2](https://github.com/vuejs/vitepress/commit/8c027c2a7c443074fd0d4890f7736b444f9254aa)) +- **theme:** add `rel="me"` to social links by default ([#4873](https://github.com/vuejs/vitepress/issues/4873)) ([34886c6](https://github.com/vuejs/vitepress/commit/34886c667d1305a79d64c957f8c52931ea122f47)) + ## [2.0.0-alpha.9](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.8...v2.0.0-alpha.9) (2025-07-26) ### Bug Fixes diff --git a/package.json b/package.json index 7db5f03f..c6f6ccab 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vitepress", - "version": "2.0.0-alpha.9", + "version": "2.0.0-alpha.10", "description": "Vite & Vue powered static site generator", "keywords": [ "vite", From 8abbe298d545de17d34a9bc1eb72af4c5a4b41b8 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 14 Aug 2025 09:15:38 +0530 Subject: [PATCH 06/32] fix: html entities encoded twice in toc plugin closes #4908 --- src/node/markdown/markdown.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/node/markdown/markdown.ts b/src/node/markdown/markdown.ts index f3e168e6..e1d08cac 100644 --- a/src/node/markdown/markdown.ts +++ b/src/node/markdown/markdown.ts @@ -320,7 +320,11 @@ export async function createMarkdownRenderer( .use(titlePlugin) .use(tocPlugin, { slugify, - ...options.toc + ...options.toc, + format: (s) => { + const title = s.replaceAll('&', '&') // encoded twice because of restoreEntities + return options.toc?.format?.(title) ?? title + } } as TocPluginOptions) if (options.math) { From 8d8a5ac281f090cd097bece792d9dd3ef00e5545 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 14 Aug 2025 10:38:08 +0530 Subject: [PATCH 07/32] fix: hmr working only once for markdown files closes #4909 --- src/node/plugin.ts | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 680be01a..2bf46478 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -4,6 +4,7 @@ import { mergeConfig, normalizePath, searchForWorkspaceRoot, + type EnvironmentModuleNode, type Plugin, type ResolvedConfig, type Rollup, @@ -400,19 +401,22 @@ export async function createVitePressPlugin( const hmrFix: Plugin = { name: 'vitepress:hmr-fix', - async hotUpdate({ file, modules }) { + async hotUpdate({ file, modules: existingMods }) { if (this.environment.name !== 'client') return + const modules: EnvironmentModuleNode[] = [] - const importers = [...(importerMap[slash(file)] || [])] - if (importers.length > 0) { - return [ - ...modules, - ...importers.map((id) => { - clearCache(id) - return this.environment.moduleGraph.getModuleById(id) - }) - ].filter((mod) => mod !== undefined) + if (file.endsWith('.md')) { + const mod = this.environment.moduleGraph.getModuleById(file) + mod && modules.push(mod) } + + importerMap[slash(file)]?.forEach((importer) => { + clearCache(importer) + const mod = this.environment.moduleGraph.getModuleById(importer) + mod && modules.push(mod) + }) + + return modules.length ? [...existingMods, ...modules] : undefined } } From d7281fd5041eea86e226f4db0e20d9e1ee8b092c Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 14 Aug 2025 10:41:03 +0530 Subject: [PATCH 08/32] release: v2.0.0-alpha.11 --- CHANGELOG.md | 7 +++++++ package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 864dbe55..72e1d00a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,10 @@ +## [2.0.0-alpha.11](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.10...v2.0.0-alpha.11) (2025-08-14) + +### Bug Fixes + +- hmr working only once for markdown files ([8d8a5ac](https://github.com/vuejs/vitepress/commit/8d8a5ac281f090cd097bece792d9dd3ef00e5545)), closes [#4909](https://github.com/vuejs/vitepress/issues/4909) +- html entities encoded twice in toc plugin ([8abbe29](https://github.com/vuejs/vitepress/commit/8abbe298d545de17d34a9bc1eb72af4c5a4b41b8)), closes [#4908](https://github.com/vuejs/vitepress/issues/4908) + ## [2.0.0-alpha.10](https://github.com/vuejs/vitepress/compare/v2.0.0-alpha.9...v2.0.0-alpha.10) (2025-08-11) ### Bug Fixes diff --git a/package.json b/package.json index c6f6ccab..6e9800be 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vitepress", - "version": "2.0.0-alpha.10", + "version": "2.0.0-alpha.11", "description": "Vite & Vue powered static site generator", "keywords": [ "vite", From 991c780a07ba9f22b459af55432681d08308080f Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 14 Aug 2025 21:16:14 +0530 Subject: [PATCH 09/32] docs: recommend v2 for new users --- docs/en/guide/getting-started.md | 12 ++++-------- docs/es/guide/getting-started.md | 8 ++++---- docs/fa/guide/getting-started.md | 12 ++++-------- docs/ko/guide/getting-started.md | 12 ++++-------- docs/pt/guide/getting-started.md | 12 ++++-------- docs/ru/guide/getting-started.md | 12 ++++-------- docs/zh/guide/getting-started.md | 12 ++++-------- 7 files changed, 28 insertions(+), 52 deletions(-) diff --git a/docs/en/guide/getting-started.md b/docs/en/guide/getting-started.md index 6382b204..79cb3180 100644 --- a/docs/en/guide/getting-started.md +++ b/docs/en/guide/getting-started.md @@ -18,23 +18,19 @@ VitePress can be used on its own, or be installed into an existing project. In b ::: code-group ```sh [npm] -$ npm add -D vitepress +$ npm add -D vitepress@next ``` ```sh [pnpm] -$ pnpm add -D vitepress +$ pnpm add -D vitepress@next ``` ```sh [yarn] -$ yarn add -D vitepress -``` - -```sh [yarn (pnp)] -$ yarn add -D vitepress vue +$ yarn add -D vitepress@next vue ``` ```sh [bun] -$ bun add -D vitepress +$ bun add -D vitepress@next ``` ::: diff --git a/docs/es/guide/getting-started.md b/docs/es/guide/getting-started.md index 994ea889..056071d5 100644 --- a/docs/es/guide/getting-started.md +++ b/docs/es/guide/getting-started.md @@ -18,19 +18,19 @@ VitePress puede ser usado solo, o ser instalado en un proyecto ya existente. En ::: code-group ```sh [npm] -$ npm add -D vitepress +$ npm add -D vitepress@next ``` ```sh [pnpm] -$ pnpm add -D vitepress +$ pnpm add -D vitepress@next ``` ```sh [yarn] -$ yarn add -D vitepress +$ yarn add -D vitepress@next ``` ```sh [bun] -$ bun add -D vitepress +$ bun add -D vitepress@next ``` ::: diff --git a/docs/fa/guide/getting-started.md b/docs/fa/guide/getting-started.md index a1d497b9..394c5ecb 100644 --- a/docs/fa/guide/getting-started.md +++ b/docs/fa/guide/getting-started.md @@ -18,23 +18,19 @@ ::: code-group ```sh [npm] -$ npm add -D vitepress +$ npm add -D vitepress@next ``` ```sh [pnpm] -$ pnpm add -D vitepress +$ pnpm add -D vitepress@next ``` ```sh [yarn] -$ yarn add -D vitepress -``` - -```sh [yarn (pnp)] -$ yarn add -D vitepress vue +$ yarn add -D vitepress@next vue ``` ```sh [bun] -$ bun add -D vitepress +$ bun add -D vitepress@next ``` ::: diff --git a/docs/ko/guide/getting-started.md b/docs/ko/guide/getting-started.md index 912618a1..632e9078 100644 --- a/docs/ko/guide/getting-started.md +++ b/docs/ko/guide/getting-started.md @@ -19,23 +19,19 @@ VitePress는 단독으로 사용하거나 기존 프로젝트에 설치할 수 ::: code-group ```sh [npm] -$ npm add -D vitepress +$ npm add -D vitepress@next ``` ```sh [pnpm] -$ pnpm add -D vitepress +$ pnpm add -D vitepress@next ``` ```sh [yarn] -$ yarn add -D vitepress -``` - -```sh [yarn (pnp)] -$ yarn add -D vitepress vue +$ yarn add -D vitepress@next vue ``` ```sh [bun] -$ bun add -D vitepress +$ bun add -D vitepress@next ``` ::: diff --git a/docs/pt/guide/getting-started.md b/docs/pt/guide/getting-started.md index ea40c6e2..c0dba3a9 100644 --- a/docs/pt/guide/getting-started.md +++ b/docs/pt/guide/getting-started.md @@ -18,23 +18,19 @@ VitePress pode ser usado sozinho, ou ser instalado em um projeto já existente. ::: code-group ```sh [npm] -$ npm add -D vitepress +$ npm add -D vitepress@next ``` ```sh [pnpm] -$ pnpm add -D vitepress +$ pnpm add -D vitepress@next ``` ```sh [yarn] -$ yarn add -D vitepress -``` - -```sh [yarn (pnp)] -$ yarn add -D vitepress vue +$ yarn add -D vitepress@next vue ``` ```sh [bun] -$ bun add -D vitepress +$ bun add -D vitepress@next ``` ::: diff --git a/docs/ru/guide/getting-started.md b/docs/ru/guide/getting-started.md index 8dd2d440..4ca5ff8c 100644 --- a/docs/ru/guide/getting-started.md +++ b/docs/ru/guide/getting-started.md @@ -18,23 +18,19 @@ VitePress можно использовать самостоятельно ил ::: code-group ```sh [npm] -$ npm add -D vitepress +$ npm add -D vitepress@next ``` ```sh [pnpm] -$ pnpm add -D vitepress +$ pnpm add -D vitepress@next ``` ```sh [yarn] -$ yarn add -D vitepress -``` - -```sh [yarn (pnp)] -$ yarn add -D vitepress vue +$ yarn add -D vitepress@next vue ``` ```sh [bun] -$ bun add -D vitepress +$ bun add -D vitepress@next ``` ::: diff --git a/docs/zh/guide/getting-started.md b/docs/zh/guide/getting-started.md index 2073483a..cc197d42 100644 --- a/docs/zh/guide/getting-started.md +++ b/docs/zh/guide/getting-started.md @@ -18,23 +18,19 @@ VitePress 可以单独使用,也可以安装到现有项目中。在这两种 ::: code-group ```sh [npm] -$ npm add -D vitepress +$ npm add -D vitepress@next ``` ```sh [pnpm] -$ pnpm add -D vitepress +$ pnpm add -D vitepress@next ``` ```sh [yarn] -$ yarn add -D vitepress -``` - -```sh [yarn (pnp)] -$ yarn add -D vitepress vue +$ yarn add -D vitepress@next vue ``` ```sh [bun] -$ bun add -D vitepress +$ bun add -D vitepress@next ``` ::: From 094477789328b80cff45cd973efa16b6a4db0a27 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 14 Aug 2025 22:13:11 +0530 Subject: [PATCH 10/32] feat: make postcssIsolateStyles idempotent BREAKING CHANGE: `includeFiles` option in `postcssIsolateStyles` now defaults to `[/vp-doc\.css/, /base\.css/]` You can remove explicit `includeFiles` if you were using it just to run it on `vp-doc.css`. To revert back to older behavior pass `includeFiles: [/base\.css/]`. The underlying implementation is changed and `transform` and `exclude` options are no longer supported. Use `postcss-prefix-selector` directly if you've advanced use cases. --- .../unit/node/postcss/isolateStyles.test.ts | 43 +- docs/en/guide/markdown.md | 4 +- docs/es/guide/markdown.md | 4 +- docs/fa/guide/markdown.md | 4 +- docs/ko/guide/markdown.md | 4 +- docs/package.json | 4 +- docs/pt/guide/markdown.md | 4 +- docs/ru/guide/markdown.md | 4 +- docs/zh/guide/markdown.md | 4 +- package.json | 29 +- pnpm-lock.yaml | 764 +++++++++--------- src/node/postcss/isolateStyles.ts | 51 +- 12 files changed, 460 insertions(+), 459 deletions(-) diff --git a/__tests__/unit/node/postcss/isolateStyles.test.ts b/__tests__/unit/node/postcss/isolateStyles.test.ts index 8f42eb4a..25fc5649 100644 --- a/__tests__/unit/node/postcss/isolateStyles.test.ts +++ b/__tests__/unit/node/postcss/isolateStyles.test.ts @@ -1,43 +1,26 @@ -import { - postcssIsolateStyles, - splitSelectorPseudo -} from 'node/postcss/isolateStyles' +import { postcssIsolateStyles } from 'node/postcss/isolateStyles' +import postcss from 'postcss' -// helper to run plugin transform on selector -function apply( - prefixPlugin: ReturnType, - selector: string -) { - // `prepare` is available on the runtime plugin but missing from the types, thus cast to `any` - const { Rule } = (prefixPlugin as any).prepare({ - root: { source: { input: { file: 'foo/base.css' } } } - }) - const rule = { selectors: [selector] } - Rule(rule, { result: {} }) - return rule.selectors[0] +function apply(selector: string) { + const { root } = postcss([postcssIsolateStyles()]).process(`${selector} {}`) + return (root.nodes[0] as any).selector } describe('node/postcss/isolateStyles', () => { - const plugin = postcssIsolateStyles() - test('splitSelectorPseudo skips escaped colon', () => { - const input = '.foo\\:bar' - const [selector, pseudo] = splitSelectorPseudo(input) - expect(selector).toBe(input) - expect(pseudo).toBe('') + expect(apply('.foo\\:bar')).toBe( + '.foo\\:bar:not(:where(.vp-raw, .vp-raw *))' + ) }) test('splitSelectorPseudo splits on pseudo selectors', () => { - const input = '.button:hover' - const [selector, pseudo] = splitSelectorPseudo(input) - expect(selector).toBe('.button') - expect(pseudo).toBe(':hover') + expect(apply('.button:hover')).toBe( + '.button:not(:where(.vp-raw, .vp-raw *)):hover' + ) }) - it('postcssIsolateStyles inserts :not(...) in the right place', () => { - const input = '.disabled\\:opacity-50:disabled' - const result = apply(plugin, input) - expect(result).toBe( + test('postcssIsolateStyles inserts :not(...) in the right place', () => { + expect(apply('.disabled\\:opacity-50:disabled')).toBe( '.disabled\\:opacity-50:not(:where(.vp-raw, .vp-raw *)):disabled' ) }) diff --git a/docs/en/guide/markdown.md b/docs/en/guide/markdown.md index 89d826d5..c3342474 100644 --- a/docs/en/guide/markdown.md +++ b/docs/en/guide/markdown.md @@ -277,11 +277,11 @@ Wraps in a `
` } ``` - It uses [`postcss-prefix-selector`](https://github.com/RadValentin/postcss-prefix-selector) under the hood. You can pass its options like this: + You can pass its options like this: ```js postcssIsolateStyles({ - includeFiles: [/vp-doc\.css/] // defaults to /base\.css/ + includeFiles: [/custom\.css/] // defaults to [/vp-doc\.css/, /base\.css/] }) ``` diff --git a/docs/es/guide/markdown.md b/docs/es/guide/markdown.md index dda0de79..ebbd0d5e 100644 --- a/docs/es/guide/markdown.md +++ b/docs/es/guide/markdown.md @@ -256,11 +256,11 @@ La clase `vp-raw` también puede ser usada directamente en elementos. El aislami } ``` - El utiliza [`postcss-prefix-selector`](https://github.com/RadValentin/postcss-prefix-selector) internamente. Puede pasar opciones así: + Puede pasar opciones así: ```js postcssIsolateStyles({ - includeFiles: [/vp-doc\.css/] // o padrão é /base\.css/ + includeFiles: [/custom\.css/] // o padrão é [/vp-doc\.css/, /base\.css/] }) ``` diff --git a/docs/fa/guide/markdown.md b/docs/fa/guide/markdown.md index 91db2dc7..4e17bd31 100644 --- a/docs/fa/guide/markdown.md +++ b/docs/fa/guide/markdown.md @@ -255,11 +255,11 @@ export default defineConfig({ } ``` - این از [`postcss-prefix-selector`](https://github.com/RadValentin/postcss-prefix-selector) استفاده می‌کند. می‌توانید گزینه‌های آن را به این صورت پاس بدهید: + می‌توانید گزینه‌های آن را به این صورت پاس بدهید: ```js postcssIsolateStyles({ - includeFiles: [/vp-doc\.css/] // به طور پیش‌فرض /base\.css/ + includeFiles: [/custom\.css/] // به طور پیش‌فرض [/vp-doc\.css/, /base\.css/] }) ``` diff --git a/docs/ko/guide/markdown.md b/docs/ko/guide/markdown.md index 5f03bbf6..f2003ca6 100644 --- a/docs/ko/guide/markdown.md +++ b/docs/ko/guide/markdown.md @@ -255,11 +255,11 @@ export default defineConfig({ } ``` - 이것은 기본적으로 [`postcss-prefix-selector`](https://github.com/RadValentin/postcss-prefix-selector)를 사용합니다. 다음과 같이 옵션을 전달할 수 있습니다: + 다음과 같이 옵션을 전달할 수 있습니다: ```js postcssIsolateStyles({ - includeFiles: [/vp-doc\.css/] // 기본값은 /base\.css/ + includeFiles: [/custom\.css/] // 기본값은 [/vp-doc\.css/, /base\.css/] }) ``` diff --git a/docs/package.json b/docs/package.json index f0b0f966..f0aa0873 100644 --- a/docs/package.json +++ b/docs/package.json @@ -15,7 +15,7 @@ "open-cli": "^8.0.0", "postcss-rtlcss": "^5.7.1", "vitepress": "workspace:*", - "vitepress-plugin-group-icons": "^1.6.2", - "vitepress-plugin-llms": "^1.7.2" + "vitepress-plugin-group-icons": "^1.6.3", + "vitepress-plugin-llms": "^1.7.3" } } diff --git a/docs/pt/guide/markdown.md b/docs/pt/guide/markdown.md index 766dc9ea..c4186270 100644 --- a/docs/pt/guide/markdown.md +++ b/docs/pt/guide/markdown.md @@ -255,11 +255,11 @@ A classe `vp-raw` também pode ser usada diretamente em elementos. O isolamento } ``` - Ele utiliza [`postcss-prefix-selector`](https://github.com/RadValentin/postcss-prefix-selector) internamente. Você pode passar opções assim: + Você pode passar opções assim: ```js postcssIsolateStyles({ - includeFiles: [/vp-doc\.css/] // o padrão é /base\.css/ + includeFiles: [/custom\.css/] // o padrão é [/vp-doc\.css/, /base\.css/] }) ``` diff --git a/docs/ru/guide/markdown.md b/docs/ru/guide/markdown.md index a0738273..2bd1a5c1 100644 --- a/docs/ru/guide/markdown.md +++ b/docs/ru/guide/markdown.md @@ -281,11 +281,11 @@ console.log('Привет, VitePress!') } ``` - Он использует [`postcss-prefix-selector`](https://github.com/RadValentin/postcss-prefix-selector) под капотом. Вы можете передать ему параметры следующим образом: + Вы можете передать ему параметры следующим образом: ```js postcssIsolateStyles({ - includeFiles: [/vp-doc\.css/] // по умолчанию /base\.css/ + includeFiles: [/custom\.css/] // по умолчанию [/vp-doc\.css/, /base\.css/] }) ``` diff --git a/docs/zh/guide/markdown.md b/docs/zh/guide/markdown.md index a16affbd..cda368ee 100644 --- a/docs/zh/guide/markdown.md +++ b/docs/zh/guide/markdown.md @@ -255,11 +255,11 @@ Wraps in a `
` } ``` - 它在底层使用 [`postcss-prefix-selector`](https://github.com/RadValentin/postcss-prefix-selector)。你可以像这样传递它的选项: + 你可以像这样传递它的选项: ```js postcssIsolateStyles({ - includeFiles: [/vp-doc\.css/] // 默认为 /base\.css/ + includeFiles: [/custom\.css/] // 默认为 [/vp-doc\.css/, /base\.css/] }) ``` diff --git a/package.json b/package.json index 6e9800be..be104633 100644 --- a/package.json +++ b/package.json @@ -111,19 +111,19 @@ "mark.js": "8.11.1", "minisearch": "^7.1.2", "shiki": "^3.9.2", - "vite": "^7.1.1", + "vite": "^7.1.2", "vue": "^3.5.18" }, "devDependencies": { - "@clack/prompts": "^1.0.0-alpha.1", - "@iconify/utils": "^3.0.0", - "@mdit-vue/plugin-component": "^3.0.0", - "@mdit-vue/plugin-frontmatter": "^3.0.0", - "@mdit-vue/plugin-headers": "^3.0.0", - "@mdit-vue/plugin-sfc": "^3.0.0", - "@mdit-vue/plugin-title": "^3.0.0", - "@mdit-vue/plugin-toc": "^3.0.0", - "@mdit-vue/shared": "^3.0.0", + "@clack/prompts": "^1.0.0-alpha.3", + "@iconify/utils": "^3.0.1", + "@mdit-vue/plugin-component": "^3.0.2", + "@mdit-vue/plugin-frontmatter": "^3.0.2", + "@mdit-vue/plugin-headers": "^3.0.2", + "@mdit-vue/plugin-sfc": "^3.0.2", + "@mdit-vue/plugin-title": "^3.0.2", + "@mdit-vue/plugin-toc": "^3.0.2", + "@mdit-vue/shared": "^3.0.2", "@polka/compression": "^1.0.0-next.28", "@rollup/plugin-alias": "^5.1.1", "@rollup/plugin-commonjs": "^28.0.6", @@ -141,13 +141,12 @@ "@types/minimist": "^1.2.5", "@types/node": "^24.2.1", "@types/picomatch": "^4.0.2", - "@types/postcss-prefix-selector": "^1.16.3", "@types/prompts": "^2.4.9", "chokidar": "^4.0.3", "conventional-changelog-cli": "^5.0.0", "cross-spawn": "^7.0.6", "debug": "^4.4.1", - "esbuild": "^0.25.8", + "esbuild": "^0.25.9", "execa": "^9.6.0", "fs-extra": "^11.3.1", "get-port": "^7.1.0", @@ -165,7 +164,7 @@ "minimist": "^1.2.8", "nanoid": "^5.1.5", "ora": "^8.2.0", - "oxc-minify": "^0.81.0", + "oxc-minify": "^0.82.1", "p-map": "^7.0.3", "package-directory": "^8.1.0", "path-to-regexp": "^6.3.0", @@ -174,7 +173,7 @@ "playwright-chromium": "^1.54.2", "polka": "^1.0.0-next.28", "postcss": "^8.5.6", - "postcss-prefix-selector": "^2.1.1", + "postcss-selector-parser": "^7.1.0", "prettier": "^3.6.2", "prompts": "^2.4.2", "punycode": "^2.3.1", @@ -194,7 +193,7 @@ }, "peerDependencies": { "markdown-it-mathjax3": "^4", - "oxc-minify": "^0.81.0", + "oxc-minify": "^0.82.1", "postcss": "^8" }, "peerDependenciesMeta": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8dd2c252..b71e3f84 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,7 +43,7 @@ importers: version: 14.1.2 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) + version: 6.0.1(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) '@vue/devtools-api': specifier: ^8.0.0 version: 8.0.0 @@ -70,38 +70,38 @@ importers: version: 3.9.2 vite: specifier: npm:rolldown-vite@latest - version: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + version: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) vue: specifier: ^3.5.18 version: 3.5.18(typescript@5.9.2) devDependencies: '@clack/prompts': - specifier: ^1.0.0-alpha.1 - version: 1.0.0-alpha.1 + specifier: ^1.0.0-alpha.3 + version: 1.0.0-alpha.3 '@iconify/utils': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.1 + version: 3.0.1 '@mdit-vue/plugin-component': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.2 + version: 3.0.2 '@mdit-vue/plugin-frontmatter': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.2 + version: 3.0.2 '@mdit-vue/plugin-headers': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.2 + version: 3.0.2 '@mdit-vue/plugin-sfc': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.2 + version: 3.0.2 '@mdit-vue/plugin-title': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.2 + version: 3.0.2 '@mdit-vue/plugin-toc': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.2 + version: 3.0.2 '@mdit-vue/shared': - specifier: ^3.0.0 - version: 3.0.0 + specifier: ^3.0.2 + version: 3.0.2 '@polka/compression': specifier: ^1.0.0-next.28 version: 1.0.0-next.28 @@ -153,9 +153,6 @@ importers: '@types/picomatch': specifier: ^4.0.2 version: 4.0.2 - '@types/postcss-prefix-selector': - specifier: ^1.16.3 - version: 1.16.3 '@types/prompts': specifier: ^2.4.9 version: 2.4.9 @@ -172,8 +169,8 @@ importers: specifier: ^4.4.1 version: 4.4.1 esbuild: - specifier: ^0.25.8 - version: 0.25.8 + specifier: ^0.25.9 + version: 0.25.9 execa: specifier: ^9.6.0 version: 9.6.0 @@ -226,8 +223,8 @@ importers: specifier: ^8.2.0 version: 8.2.0 oxc-minify: - specifier: ^0.81.0 - version: 0.81.0 + specifier: ^0.82.1 + version: 0.82.1 p-map: specifier: ^7.0.3 version: 7.0.3 @@ -252,9 +249,9 @@ importers: postcss: specifier: ^8.5.6 version: 8.5.6 - postcss-prefix-selector: - specifier: ^2.1.1 - version: 2.1.1(postcss@8.5.6) + postcss-selector-parser: + specifier: ^7.1.0 + version: 7.1.0 prettier: specifier: ^3.6.2 version: 3.6.2 @@ -275,7 +272,7 @@ importers: version: 6.1.1(rollup@4.46.2)(typescript@5.9.2) rollup-plugin-esbuild: specifier: ^6.2.1 - version: 6.2.1(esbuild@0.25.8)(rollup@4.46.2) + version: 6.2.1(esbuild@0.25.9)(rollup@4.46.2) semver: specifier: ^7.7.2 version: 7.7.2 @@ -296,7 +293,7 @@ importers: version: 5.9.2 vitest: specifier: 4.0.0-beta.4 - version: 4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + version: 4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) vue-tsc: specifier: ^3.0.5 version: 3.0.5(typescript@5.9.2) @@ -334,11 +331,11 @@ importers: specifier: workspace:* version: link:.. vitepress-plugin-group-icons: - specifier: ^1.6.2 - version: 1.6.2(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1) + specifier: ^1.6.3 + version: 1.6.3(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1) vitepress-plugin-llms: - specifier: ^1.7.2 - version: 1.7.2 + specifier: ^1.7.3 + version: 1.7.3 packages: @@ -360,8 +357,8 @@ packages: resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - '@babel/parser@7.28.0': - resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==} + '@babel/parser@7.28.3': + resolution: {integrity: sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==} engines: {node: '>=6.0.0'} hasBin: true @@ -372,11 +369,11 @@ packages: '@clack/core@0.3.5': resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==} - '@clack/core@1.0.0-alpha.1': - resolution: {integrity: sha512-rFbCU83JnN7l3W1nfgCqqme4ZZvTTgsiKQ6FM0l+r0P+o2eJpExcocBUWUIwnDzL76Aca9VhUdWmB2MbUv+Qyg==} + '@clack/core@1.0.0-alpha.3': + resolution: {integrity: sha512-al3c2RSTesNLPVyEi4qJMmQigCbxKPRl35nxbbRLJLoYEE3JuHlZIi7oXchZ/LVegGSlsQUzPqNH5vrHpoKDxg==} - '@clack/prompts@1.0.0-alpha.1': - resolution: {integrity: sha512-07MNT0OsxjKOcyVfX8KhXBhJiyUbDP1vuIAcHc+nx5v93MJO23pX3X/k3bWz6T3rpM9dgWPq90i4Jq7gZAyMbw==} + '@clack/prompts@1.0.0-alpha.3': + resolution: {integrity: sha512-t0nEprDU45jP9Ipp+kEXml9FZ49Xr3BpUUJ0rqrSVguOPrfh4AOBpj8Swx29pZjs8t1tVTvFSyMTvVdQzbmqng==} '@conventional-changelog/git-client@1.0.1': resolution: {integrity: sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw==} @@ -405,158 +402,158 @@ packages: '@emnapi/wasi-threads@1.0.4': resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==} - '@esbuild/aix-ppc64@0.25.8': - resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==} + '@esbuild/aix-ppc64@0.25.9': + resolution: {integrity: sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/android-arm64@0.25.8': - resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==} + '@esbuild/android-arm64@0.25.9': + resolution: {integrity: sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==} engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm@0.25.8': - resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==} + '@esbuild/android-arm@0.25.9': + resolution: {integrity: sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==} engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-x64@0.25.8': - resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==} + '@esbuild/android-x64@0.25.9': + resolution: {integrity: sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==} engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/darwin-arm64@0.25.8': - resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==} + '@esbuild/darwin-arm64@0.25.9': + resolution: {integrity: sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-x64@0.25.8': - resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==} + '@esbuild/darwin-x64@0.25.9': + resolution: {integrity: sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/freebsd-arm64@0.25.8': - resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==} + '@esbuild/freebsd-arm64@0.25.9': + resolution: {integrity: sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-x64@0.25.8': - resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==} + '@esbuild/freebsd-x64@0.25.9': + resolution: {integrity: sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/linux-arm64@0.25.8': - resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==} + '@esbuild/linux-arm64@0.25.9': + resolution: {integrity: sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm@0.25.8': - resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==} + '@esbuild/linux-arm@0.25.9': + resolution: {integrity: sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-ia32@0.25.8': - resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==} + '@esbuild/linux-ia32@0.25.9': + resolution: {integrity: sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-loong64@0.25.8': - resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==} + '@esbuild/linux-loong64@0.25.9': + resolution: {integrity: sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-mips64el@0.25.8': - resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==} + '@esbuild/linux-mips64el@0.25.9': + resolution: {integrity: sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-ppc64@0.25.8': - resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==} + '@esbuild/linux-ppc64@0.25.9': + resolution: {integrity: sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-riscv64@0.25.8': - resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==} + '@esbuild/linux-riscv64@0.25.9': + resolution: {integrity: sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-s390x@0.25.8': - resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==} + '@esbuild/linux-s390x@0.25.9': + resolution: {integrity: sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-x64@0.25.8': - resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==} + '@esbuild/linux-x64@0.25.9': + resolution: {integrity: sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==} engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/netbsd-arm64@0.25.8': - resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==} + '@esbuild/netbsd-arm64@0.25.9': + resolution: {integrity: sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - '@esbuild/netbsd-x64@0.25.8': - resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==} + '@esbuild/netbsd-x64@0.25.9': + resolution: {integrity: sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.25.8': - resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==} + '@esbuild/openbsd-arm64@0.25.9': + resolution: {integrity: sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - '@esbuild/openbsd-x64@0.25.8': - resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==} + '@esbuild/openbsd-x64@0.25.9': + resolution: {integrity: sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openharmony-arm64@0.25.8': - resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==} + '@esbuild/openharmony-arm64@0.25.9': + resolution: {integrity: sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==} engines: {node: '>=18'} cpu: [arm64] os: [openharmony] - '@esbuild/sunos-x64@0.25.8': - resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==} + '@esbuild/sunos-x64@0.25.9': + resolution: {integrity: sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/win32-arm64@0.25.8': - resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==} + '@esbuild/win32-arm64@0.25.9': + resolution: {integrity: sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-ia32@0.25.8': - resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==} + '@esbuild/win32-ia32@0.25.9': + resolution: {integrity: sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-x64@0.25.8': - resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==} + '@esbuild/win32-x64@0.25.9': + resolution: {integrity: sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -583,8 +580,8 @@ packages: '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@3.0.0': - resolution: {integrity: sha512-Bjf0HTRAB59thKK9QFvyLEXE9S793IqxqJEhNQEboh+IjOXj0nDtOIFh63oz+Y6X/ye4UWpxne5sVQ2W250iSA==} + '@iconify/utils@3.0.1': + resolution: {integrity: sha512-A78CUEnFGX8I/WlILxJCuIJXloL0j/OJ9PSchPAfCargEIKmUBWvvEMmKWB5oONwiUqlNt+5eRufdkLxeHIWYw==} '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} @@ -598,8 +595,8 @@ packages: resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - '@jridgewell/sourcemap-codec@1.5.4': - resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==} + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} '@kwsites/file-exists@1.1.1': resolution: {integrity: sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==} @@ -612,36 +609,36 @@ packages: engines: {node: '>=18.17.0'} hasBin: true - '@mdit-vue/plugin-component@3.0.0': - resolution: {integrity: sha512-en9BdVKJyuo2Wuo0tGVq+nqXRoLLZ/9nK59+o3oXtWe6C/Hry9L3VleqSnnlUdLwjCaqAO466nxNwwXhixFJpA==} + '@mdit-vue/plugin-component@3.0.2': + resolution: {integrity: sha512-Fu53MajrZMOAjOIPGMTdTXgHLgGU9KwTqKtYc6WNYtFZNKw04euSfJ/zFg8eBY/2MlciVngkF7Gyc2IL7e8Bsw==} engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-frontmatter@3.0.0': - resolution: {integrity: sha512-1IYxd4Rz7RNZAysugdG9snvosQQzquHHjhiHgSRd3ltPmHkAnaILKiSbrbnaoREl2GWE4sR0X/tD5AIQkUcQNg==} + '@mdit-vue/plugin-frontmatter@3.0.2': + resolution: {integrity: sha512-QKKgIva31YtqHgSAz7S7hRcL7cHXiqdog4wxTfxeQCHo+9IP4Oi5/r1Y5E93nTPccpadDWzAwr3A0F+kAEnsVQ==} engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-headers@3.0.0': - resolution: {integrity: sha512-6ZG1uont09p4LKa+zUexOGLLL9KmNRWg9wRMyu+Vze5JqGFwWQIKarBMoJUSyF7N53D1Llj+QPsfNgR1vclXpQ==} + '@mdit-vue/plugin-headers@3.0.2': + resolution: {integrity: sha512-Z3PpDdwBTO5jlW2r617tQibkwtCc5unTnj/Ew1SCxTQaXjtKgwP9WngdSN+xxriISHoNOYzwpoUw/1CW8ntibA==} engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-sfc@3.0.0': - resolution: {integrity: sha512-nJc0/5OYtfrSpP6oUSInjSWKsrReif+mBmnGTVGkzzs5OzRZlmtPWfXqjO6+YauCMX/f6GkP6kCAVLnfLLV5kw==} + '@mdit-vue/plugin-sfc@3.0.2': + resolution: {integrity: sha512-dhxIrCGu5Nd4Cgo9JJHLjdNy2lMEv+LpimetBHDSeEEJxJBC4TPN0Cljn+3/nV1uJdGyw33UZA86PGdgt1LsoA==} engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-title@3.0.0': - resolution: {integrity: sha512-FSIktCh4X7Sz7SX6/BXZDXqIsjxcxxOO3d56fJhoqUvbCWkVo52ihyKkj6d9ynFIM/IbPCxiIV94H1l4TBErXA==} + '@mdit-vue/plugin-title@3.0.2': + resolution: {integrity: sha512-KTDP7s68eKTwy4iYp5UauQuVJf+tDMdJZMO6K4feWYS8TX95ItmcxyX7RprfBWLTUwNXBYOifsL6CkIGlWcNjA==} engines: {node: '>=20.0.0'} - '@mdit-vue/plugin-toc@3.0.0': - resolution: {integrity: sha512-TEsvFcOCfYhvLHfgOKZq74JFIKMohZ/ucuLpvhK6USHJCrgcunAw+Yr+VTtxQgCeKReIKWaGD3ReKcscgjrKjA==} + '@mdit-vue/plugin-toc@3.0.2': + resolution: {integrity: sha512-Dz0dURjD5wR4nBxFMiqb0BTGRAOkCE60byIemqLqnkF6ORKKJ8h5aLF5J5ssbLO87hwu81IikHiaXvqoiEneoQ==} engines: {node: '>=20.0.0'} - '@mdit-vue/shared@3.0.0': - resolution: {integrity: sha512-3GPwO4wBk4lR4BSDjjJk54OtuGoGeCK8iqLH+8wPiz5684oeZrBsrvNTjBhNGBoaPMjXNk/Y+zAI4K3GLytrUg==} + '@mdit-vue/shared@3.0.2': + resolution: {integrity: sha512-anFGls154h0iVzUt5O43EaqYvPwzfUxQ34QpNQsUQML7pbEJMhcgkRNvYw9hZBspab+/TP45agdPw5joh6/BBA==} engines: {node: '>=20.0.0'} - '@mdit-vue/types@3.0.0': - resolution: {integrity: sha512-9j5fpTpMdyD9swZwbJZJHPyAS58WzTYpIUUFYzfBJViDL6drQTj7jnMbfGPtApSoKrsV5VJ4ClVctJnm+0TpkQ==} + '@mdit-vue/types@3.0.2': + resolution: {integrity: sha512-00aAZ0F0NLik6I6Yba2emGbHLxv+QYrPH00qQ5dFKXlAo1Ll2RHDXwY7nN2WAfrx2pP+WrvSRFTGFCNGdzBDHw==} engines: {node: '>=20.0.0'} '@napi-rs/wasm-runtime@1.0.3': @@ -659,101 +656,101 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-minify/binding-android-arm64@0.81.0': - resolution: {integrity: sha512-Dji+cRrgDBJTz+15mEUkh3zjequT/tfchaMBV/gmUNcLAmpDC7QSq+gb5ghWmcaEpBHjkRvEKhEdvXrbZiFWKw==} + '@oxc-minify/binding-android-arm64@0.82.1': + resolution: {integrity: sha512-W5IGSR3Skjlt54c1RRwkzzrXd8bx4W4/J+DlYA9q5pq+ukUR4x/IqeyS1RbegNpAKn+2vIvgVraw+pEaG+2GXg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] - '@oxc-minify/binding-darwin-arm64@0.81.0': - resolution: {integrity: sha512-bEO12yF8IvizNfVdNd6P3XbydNM9PMsQLS2bD+SN2ECDMfDWHP6S6fueBAdIdBtf2wH6KU15vRtOWzAWx1Risg==} + '@oxc-minify/binding-darwin-arm64@0.82.1': + resolution: {integrity: sha512-3DUg/Rb0agLkPhjRb4m7Vp0ljeNekMtmSaaAUzmLQMgSBfdKCQ1i2jaLmbzfezZ4Bdpnk+DyoOK57rjpR3nJBw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.81.0': - resolution: {integrity: sha512-llQSKdCQdosvlD68bpoLw/6uvSDfGDZQfgDZtHyK5UAaYUKiQZzoi8Qtk1WGWnN5ZL+OODhuURLUBsRGH05W9A==} + '@oxc-minify/binding-darwin-x64@0.82.1': + resolution: {integrity: sha512-TreqcoNWYzBML2BGA20kNuI+SWRZfhgOXsDIdYQyShmfy0+jRPqLPqom9VLkF4JsQ74tzVjecEAsBlolv0Jj6g==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.81.0': - resolution: {integrity: sha512-rM/tV/tshVd6KxnIvAULZ71JFkTkz8UoLceP42fWpJ349xzVfyrMg2kLjFqR905htCkg2bBzeMj0+yIy4EoaIQ==} + '@oxc-minify/binding-freebsd-x64@0.82.1': + resolution: {integrity: sha512-D7ECnuagQk18OfatMNts3JyrP+ZRAv5ObWR5cDNDBxnsXRmfamxwDFF3OiW7nu8rZnH8qocWk/0BAKztuqIoNw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.81.0': - resolution: {integrity: sha512-/wbk1uyBhl+jl2Ch1sfy9mjX8y0XxB+LJ/6Hv5Q1wQlYjsPEU7Nw3lfTRVPs8DxmBfGhk+cK8lXZstyeiMfjyw==} + '@oxc-minify/binding-linux-arm-gnueabihf@0.82.1': + resolution: {integrity: sha512-jJyNnJObDpUjoXDcwVySsUxyPTE5f9TbxhK90PeYw7DHl2SwcWjioFrlJH2TsCLTTv6TuB7MhyU7CapC3Oe4/g==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.81.0': - resolution: {integrity: sha512-QYsJyG61L53UXu5t0R+70bMUnGYah3hpJ9QdGQnBNKwzwJyQYVoQI8ZWNLOMImDmVJU6NGKDN9IWu0NT4O4PJg==} + '@oxc-minify/binding-linux-arm-musleabihf@0.82.1': + resolution: {integrity: sha512-mWKGlQI22jenXnQmVJwOb1H+AZ/Lyt1qnyiciEk+Qi9KE8xBoTSYFpYNV9oUyQnJuryNbaB4RKAjEkqJdMJ+0w==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.81.0': - resolution: {integrity: sha512-3EwxchPjWhL/VuAoFTGKPNBl0g/2mEzYTPxPOvMDseWlQMGXv7H8rhiGMoh29Ggb9gRZsjN+1XIw+PqAX9Fong==} + '@oxc-minify/binding-linux-arm64-gnu@0.82.1': + resolution: {integrity: sha512-B/DYarDD/f/Q60Ko+Dt8QKyxTd6VwnCfZNRSE3Zl0VePmC89y6z9HN3xAfO32vSPyZakyZc5r8tp9lQSX82Pxw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-arm64-musl@0.81.0': - resolution: {integrity: sha512-0AWSOtDkMpC6HdksYD141zx9ZxVR8dSTUKZ0xJrwM0OQCAavXRumVqRz4HiUhQ5wQU0ityrqNhwI2FOBhMc8ag==} + '@oxc-minify/binding-linux-arm64-musl@0.82.1': + resolution: {integrity: sha512-o9h6hfBYR+ZvYexONgBWH0uGhnzJTHY3bpknfyK35W1iJfUNcMwPahd79nCwIKzPWJiBwrgj3mT5GTZsajCHpQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-riscv64-gnu@0.81.0': - resolution: {integrity: sha512-qjmh4qjyEMCgRq5Vc5AEOMAbqkcXhjnH4NzZ8c76YtI8SoyiJhugiF0B+E61LaNraFdAzqGLlU3tTA3mMvuQtQ==} + '@oxc-minify/binding-linux-riscv64-gnu@0.82.1': + resolution: {integrity: sha512-MscVC6T2u7igxWl8Ygje/ZoCQI/HMfMoqeBRAsjJrORl/noKlv0mV+N+mEB4hkXTAgCMePFqzWFGvAXT7tkFBg==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - '@oxc-minify/binding-linux-s390x-gnu@0.81.0': - resolution: {integrity: sha512-FgASI4b1rH+va/22VgkL1sCIXQJFWbIAJaqt8YPqOS5RCfYx6k1BCRkeNUrJq/YtLLjYKob0Hl6cWWhpAi6+1w==} + '@oxc-minify/binding-linux-s390x-gnu@0.82.1': + resolution: {integrity: sha512-Iz3gUcmn6jmRfh6SdM0H6AW4tq8FYH0hBW3mS4xmhTXJKuE7YDIi+VRwj0xolKoGrEcA972pQXrAhYPuNyOvPQ==} engines: {node: '>=14.0.0'} cpu: [s390x] os: [linux] - '@oxc-minify/binding-linux-x64-gnu@0.81.0': - resolution: {integrity: sha512-MHAwSsQgsZai7baHRRuuEc7H6ptNVeZmIabtChVGcwjB6Qq6rR3yXN2WIgocgx4xkciyGcVuF3h++uO4ajsPuA==} + '@oxc-minify/binding-linux-x64-gnu@0.82.1': + resolution: {integrity: sha512-FuYji9QMguRolLY+DqZvBJwzPyH88iw05EAcezrK620djlHirkm1rzaPeez9dBVHfHoi+6wvkOfjxKnrP49GqQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-minify/binding-linux-x64-musl@0.81.0': - resolution: {integrity: sha512-sV7uA/uGC3UWuIuVOOl8V/JQfg2Is/g8GvH27zkSLL4j/25wUnHtIM4fBN/qiQvpTDpR3HDAQ2D3feDZfV1EGw==} + '@oxc-minify/binding-linux-x64-musl@0.82.1': + resolution: {integrity: sha512-UlhoA57RlWvU7IHMOBv9qO+mdTtguLtVGJesQxSLWPsUfX+/Oi4bBpAqeGFEqCGho5Gn1xLixRkRsCDclN7pcA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-minify/binding-wasm32-wasi@0.81.0': - resolution: {integrity: sha512-z5xcH/zoL7z8TLuiLe5GfQFEZC88CFtLMfS9dm4TKhKL2FeU8cr8GzZKT38mqQUMomFyAvMBouja8IgdzuQ9uw==} + '@oxc-minify/binding-wasm32-wasi@0.82.1': + resolution: {integrity: sha512-Yw0uRus5jhIfvz9PTRyi8HawxEJ6gyQkg/Ifti8/l8FeHSXSAUBiB09fLQBCWC1BYRPs6wbZNSIkut3d1N2zkQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.81.0': - resolution: {integrity: sha512-WYtE8RwDzWKyctUIZfu7uhfw3iPX8wYE8tkZHtl+d4zJ+C7IiBkiBLJdoosHmq5VWwEprlL1KhC9rI3hOdLtkA==} + '@oxc-minify/binding-win32-arm64-msvc@0.82.1': + resolution: {integrity: sha512-NwSMrDzGrJ/dVzSCJy0h3i1TP2blTyPNVbWjTTJKqEQzw3l1I23Uc+C/W08vcCwwrysY0Lr334lWJOhf4gboOQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.81.0': - resolution: {integrity: sha512-dG2VgA6LcfL+Hw0VPduOsWyIQaUnudDG8ztIYkQZLB5m58JlXdk44iKiESSQpjcHkITJyCL1nP392YQEmAzEQg==} + '@oxc-minify/binding-win32-x64-msvc@0.82.1': + resolution: {integrity: sha512-6Q/YIe+7456QlbfEJFt9gJL9x2872O1g2sks/B8Knmd3zQdnHU4GwM4rhO2B4nl5Mw1snpCe4w/hLz3wqqa0Iw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - '@oxc-project/runtime@0.80.0': - resolution: {integrity: sha512-3rzy1bJAZ4s7zV9TKT60x119RwJDCDqEtCwK/Zc2qlm7wGhiIUxLLYUhE/mN91yB0u1kxm5sh4NjU12sPqQTpg==} + '@oxc-project/runtime@0.81.0': + resolution: {integrity: sha512-zm/LDVOq9FEmHiuM8zO4DWirv0VP2Tv2VsgaiHby9nvpq+FVrcqNYgv+TysLKOITQXWZj/roluTxFvpkHP0Iuw==} engines: {node: '>=6.9.0'} - '@oxc-project/types@0.80.0': - resolution: {integrity: sha512-xxHQm8wfCv2e8EmtaDwpMeAHOWqgQDAYg+BJouLXSQt5oTKu9TIXrgNMGSrM2fLvKmECsRd9uUFAAD+hPyootA==} + '@oxc-project/types@0.81.0': + resolution: {integrity: sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==} '@polka/compression@1.0.0-next.28': resolution: {integrity: sha512-aDmrBhgHJtxE+jy145WfhW9WmTAFmES/dNnn1LAs8UnnkFgBUj4T8I4ScQ9+rOkpDZStvnVP5iqhN3tvt7O1NA==} @@ -762,81 +759,81 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@rolldown/binding-android-arm64@1.0.0-beta.31': - resolution: {integrity: sha512-0mFtKwOG7smn0HkvQ6h8j0m/ohkR7Fp5eMTJ2Pns/HSbePHuDpxMaQ4TjZ6arlVXxpeWZlAHeT5BeNsOA3iWTg==} + '@rolldown/binding-android-arm64@1.0.0-beta.32': + resolution: {integrity: sha512-Gs+313LfR4Ka3hvifdag9r44WrdKQaohya7ZXUXzARF7yx0atzFlVZjsvxtKAw1Vmtr4hB/RjUD1jf73SW7zDw==} cpu: [arm64] os: [android] - '@rolldown/binding-darwin-arm64@1.0.0-beta.31': - resolution: {integrity: sha512-BHfHJ8Nb5G7ZKJl6pimJacupONT4F7w6gmQHw41rouAnJF51ORDwGefWeb6OMLzGmJwzxlIVPERfnJf1EsMM7A==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.32': + resolution: {integrity: sha512-W8oMqzGcI7wKPXUtS3WJNXzbghHfNiuM1UBAGpVb+XlUCgYRQJd2PRGP7D3WGql3rR3QEhUvSyAuCBAftPQw6Q==} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.31': - resolution: {integrity: sha512-4MiuRtExC08jHbSU/diIL+IuQP+3Ck1FbWAplK+ysQJ7fxT3DMxy5FmnIGfmhaqow8oTjb2GEwZJKgTRjZL1Vw==} + '@rolldown/binding-darwin-x64@1.0.0-beta.32': + resolution: {integrity: sha512-pM4c4sKUk37noJrnnDkJknLhCsfZu7aWyfe67bD0GQHfzAPjV16wPeD9CmQg4/0vv+5IfHYaa4VE536xbA+W0Q==} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.31': - resolution: {integrity: sha512-nffC1u7ccm12qlAea8ExY3AvqlaHy/o/3L4p5Es8JFJ3zJSs6e3DyuxGZZVdl9EVwsLxPPTvioIl4tEm2afwyw==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.32': + resolution: {integrity: sha512-M8SUgFlYb5kJJWcFC8gUMRiX4WLFxPKMed3SJ2YrxontgIrEcpizPU8nLNVsRYEStoSfKHKExpQw3OP6fm+5bw==} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.31': - resolution: {integrity: sha512-LHmAaB3rB1GOJuHscKcL2Ts/LKLcb3YWTh2uQ/876rg/J9WE9kQ0kZ+3lRSYbth/YL8ln54j4JZmHpqQY3xptQ==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.32': + resolution: {integrity: sha512-FuQpbNC/hE//bvv29PFnk0AtpJzdPdYl5CMhlWPovd9g3Kc3lw9TrEPIbL7gRPUdhKAiq6rVaaGvOnXxsa0eww==} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.31': - resolution: {integrity: sha512-oTDZVfqIAjLB2I1yTiLyyhfPPO6dky33sTblxTCpe+ZT55WizN3KDoBKJ4yXG8shI6I4bRShVu29Xg0yAjyQYw==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.32': + resolution: {integrity: sha512-hRZygRlaGCjcNTNY9GV7dDI18sG1dK3cc7ujHq72LoDad23zFDUGMQjiSxHWK+/r92iMV+j2MiHbvzayxqynsg==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.31': - resolution: {integrity: sha512-duJ3IkEBj9Xe9NYW1n8Y3483VXHGi8zQ0ZsLbK8464EJUXLF7CXM8Ry+jkkUw+ZvA+Zu1E/+C6p2Y6T9el0C9g==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.32': + resolution: {integrity: sha512-HzgT6h+CXLs+GKAU0Wvkt3rvcv0CmDBsDjlPhh4GHysOKbG9NjpKYX2zvjx671E9pGbTvcPpwy7gGsy7xpu+8g==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.31': - resolution: {integrity: sha512-qdbmU5QSZ0uoLZBYMxiHsMQmizqtzFGTVPU5oyU1n0jU0Mo+mkSzqZuL8VBnjHOHzhVxZsoAGH9JjiRzCnoGVA==} - cpu: [arm64] - os: [openharmony] - - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.31': - resolution: {integrity: sha512-H7+r34TSV8udB2gAsebFM/YuEeNCkPGEAGJ1JE7SgI9XML6FflqcdKfrRSneQFsPaom/gCEc1g0WW5MZ0O3blw==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.32': + resolution: {integrity: sha512-Ab/wbf6gdzphDbsg51UaxsC93foQ7wxhtg0SVCXd25BrV4MAJ1HoDtKN/f4h0maFmJobkqYub2DlmoasUzkvBg==} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.31': - resolution: {integrity: sha512-zRm2YmzFVqbsmUsyyZnHfJrOlQUcWS/FJ5ZWL8Q1kZh5PnLBrTVZNpakIWwAxpN5gNEi9MmFd5YHocVJp8ps1Q==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.32': + resolution: {integrity: sha512-VoxqGEfh5A1Yx+zBp/FR5QwAbtzbuvky2SVc+ii4g1gLD4zww6mt/hPi5zG+b88zYPFBKHpxMtsz9cWqXU5V5Q==} cpu: [x64] os: [linux] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.31': - resolution: {integrity: sha512-fM1eUIuHLsNJXRlWOuIIex1oBJ89I0skFWo5r/D3KSJ5gD9MBd3g4Hp+v1JGohvyFE+7ylnwRxSUyMEeYpA69A==} + '@rolldown/binding-openharmony-arm64@1.0.0-beta.32': + resolution: {integrity: sha512-qZ1ViyOUDGbiZrSAJ/FIAhYUElDfVxxFW6DLT/w4KeoZN3HsF4jmRP95mXtl51/oGrqzU9l9Q2f7/P4O/o2ZZA==} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-wasm32-wasi@1.0.0-beta.32': + resolution: {integrity: sha512-hEkG3wD+f3wytV0lqwb/uCrXc4r4Ny/DWJFJPfQR3VeMWplhWGgSHNwZc2Q7k86Yi36f9NNzzWmrIuvHI9lCVw==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.31': - resolution: {integrity: sha512-4nftR9V2KHH3zjBwf6leuZZJQZ7v0d70ogjHIqB3SDsbDLvVEZiGSsSn2X6blSZRZeJSFzK0pp4kZ67zdZXwSw==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.32': + resolution: {integrity: sha512-k3MvDf8SiA7uP2ikP0unNouJ2YCrnwi7xcVW+RDgMp5YXVr3Xu6svmT3HGn0tkCKUuPmf+uy8I5uiHt5qWQbew==} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.31': - resolution: {integrity: sha512-0TQcKu9xZVHYALit+WJsSuADGlTFfOXhnZoIHWWQhTk3OgbwwbYcSoZUXjRdFmR6Wswn4csHtJGN1oYKeQ6/2g==} + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.32': + resolution: {integrity: sha512-wAi/FxGh7arDOUG45UmnXE1sZUa0hY4cXAO2qWAjFa3f7bTgz/BqwJ7XN5SUezvAJPNkME4fEpInfnBvM25a0w==} cpu: [ia32] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.31': - resolution: {integrity: sha512-3zMICWwpZh1jrkkKDYIUCx/2wY3PXLICAS0AnbeLlhzfWPhCcpNK9eKhiTlLAZyTp+3kyipoi/ZSVIh+WDnBpQ==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.32': + resolution: {integrity: sha512-Ej0i4PZk8ltblZtzVK8ouaGUacUtxRmTm5S9794mdyU/tYxXjAJNseOfxrnHpMWKjMDrOKbqkPqJ52T9NR4LQQ==} cpu: [x64] os: [win32] '@rolldown/pluginutils@1.0.0-beta.29': resolution: {integrity: sha512-NIJgOsMjbxAXvoGq/X0gD7VPMQ8j9g0BiDaNjVNVjvl+iKXxL3Jre0v31RmBYeLEmkbj2s02v8vFTbUXi5XS2Q==} - '@rolldown/pluginutils@1.0.0-beta.31': - resolution: {integrity: sha512-IaDZ9NhjOIOkYtm+hH0GX33h3iVZ2OeSUnFF0+7Z4+1GuKs4Kj5wK3+I2zNV9IPLfqV4XlwWif8SXrZNutxciQ==} + '@rolldown/pluginutils@1.0.0-beta.32': + resolution: {integrity: sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==} '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} @@ -1113,9 +1110,6 @@ packages: '@types/picomatch@4.0.2': resolution: {integrity: sha512-qHHxQ+P9PysNEGbALT8f8YOSHW0KJu6l2xU8DYY0fu/EmGxXdVnuTLvFUvBgPJMSqXq29SYHveejeAha+4AYgA==} - '@types/postcss-prefix-selector@1.16.3': - resolution: {integrity: sha512-YZLPWRkJIrYjwaqojVDXzaRCAEYslRAm8Shznwwn+ZFA4iKQR4LZlS3d+ZMVteFz4iyQnngZZG7k/GIzV1f3mQ==} - '@types/prompts@2.4.9': resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} @@ -1164,8 +1158,8 @@ packages: '@vitest/pretty-format@4.0.0-beta.4': resolution: {integrity: sha512-BW9Y/t5tGLFi1DgNzs9R4EDqh3MVGiPFBTPGZLK+Y7jBUOFINmLTYTVz1iDnSFLwTOpHxAQfERyOmcu429OQog==} - '@vitest/pretty-format@4.0.0-beta.7': - resolution: {integrity: sha512-2H/+4s4pIvJhXhYxtwI37CE5Xw4DEDvjzQUfKbX/hLtYcTa5lryzkTnv4NEnvwZki4+OqBaXaDK97c8lUicYYQ==} + '@vitest/pretty-format@4.0.0-beta.8': + resolution: {integrity: sha512-sr5HPeeRff4gTpDwI2Kvz8dS2CmDCCZ1PRu3IOeLTcSJjhEWmk3IJILjqaA8yyj+QzWjnqAxr2rmZNpO0h/5Vw==} '@vitest/runner@4.0.0-beta.4': resolution: {integrity: sha512-27ptMzYl0dNvN6o1jmKDsEX0gR3IwulSgPwJVvoKSQntUFUqMeQh0jbNtdZj60li49Rxbh/rdSE25D/7ABJAJg==} @@ -1579,6 +1573,11 @@ packages: resolution: {integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==} engines: {node: '>= 6'} + cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} @@ -1699,8 +1698,8 @@ packages: resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==} engines: {node: '>= 0.4'} - esbuild@0.25.8: - resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==} + esbuild@0.25.9: + resolution: {integrity: sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==} engines: {node: '>=18'} hasBin: true @@ -2057,8 +2056,8 @@ packages: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} juice@8.1.0: resolution: {integrity: sha512-FLzurJrx5Iv1e7CfBSZH68dC04EEvXvvVvPYB7Vx1WAuhCp1ZPIMtqxc+WTWxVkpTIC2Ach/GAv0rQbtGf6YMA==} @@ -2462,8 +2461,8 @@ packages: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} - oxc-minify@0.81.0: - resolution: {integrity: sha512-eHTZzqJJBrU8cQidrdeOW5ca9tseLkrly10hOXCg0uh4H/6hlIu3QmSAscBCoo1s+3CP9h1sgfbHQStugBJaSA==} + oxc-minify@0.82.1: + resolution: {integrity: sha512-PreS0xhs2BkrlFwQNzFpWbrSCa2ogFtmQb+/jhVTK0kMpUIShw5g0KUrhKTXrVZtAnTMTvSj0UZU5IQdmAIoLg==} engines: {node: '>=14.0.0'} p-map@7.0.3: @@ -2569,17 +2568,16 @@ packages: resolution: {integrity: sha512-ryc8D/B5E/YnlWHkNMnRvNntPc4GwU1/+iDBjiXVz1SUjDRqlxYX5Ic0IaDLA/cQ+g7/x+jUzEjv2K16u1J+wA==} engines: {node: '>=8'} - postcss-prefix-selector@2.1.1: - resolution: {integrity: sha512-ZBgf427Et6+XnrnJ9VXtJEKCjJwTvn2wn/qMg+wvvlRhIeFIAxdbrlZZ0CSsWYMJfcyPLBh8ogj5O1kb/Mcx3g==} - peerDependencies: - postcss: ^8.0.0 - postcss-rtlcss@5.7.1: resolution: {integrity: sha512-zE68CuARv5StOG/UQLa0W1Y/raUTzgJlfjtas43yh3/G1BFmoPEaHxPRHgeowXRFFhW33FehrNgsljxRLmPVWw==} engines: {node: '>=18.0.0'} peerDependencies: postcss: ^8.4.21 + postcss-selector-parser@7.1.0: + resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} + engines: {node: '>=4'} + postcss@8.5.6: resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} @@ -2694,8 +2692,8 @@ packages: engines: {node: 20 || >=22} hasBin: true - rolldown-vite@7.1.0: - resolution: {integrity: sha512-DCfutVwSkuc3NA75SdFuetKwcpq97tO2JZdM6gYv7GwW6/9qyXnITYER+8zrJt+vQVGP2SadAkMOpWw7B4LVwg==} + rolldown-vite@7.1.2: + resolution: {integrity: sha512-9VwY/BOirnPDJ8HXiXTdVdLXTSQkNGDVgpuhfmMxAH7HxSBb71VaTyQh/FHPtMk2psAyglQXWheYKXV53N27/Q==} engines: {node: ^20.19.0 || >=22.12.0} hasBin: true peerDependencies: @@ -2734,8 +2732,8 @@ packages: yaml: optional: true - rolldown@1.0.0-beta.31: - resolution: {integrity: sha512-M2Q+RfG0FMJeSW3RSFTbvtjGVTcQpTQvN247D0EMSsPkpZFoinopR9oAnQiwgogQyzDuvKNnbyCbQQlmNAzSoQ==} + rolldown@1.0.0-beta.32: + resolution: {integrity: sha512-vxI2sPN07MMaoYKlFrVva5qZ1Y7DAZkgp7MQwTnyHt4FUMz9Sh+YeCzNFV9JYHI6ZNwoGWLCfCViE3XVsRC1cg==} hasBin: true rollup-plugin-dts@6.1.1: @@ -3082,6 +3080,9 @@ packages: resolution: {integrity: sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==} engines: {node: '>=18.12.0'} + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + valid-data-url@3.0.1: resolution: {integrity: sha512-jOWVmzVceKlVVdwjNSenT4PbGghU0SBIizAev8ofZVgivk/TVHXSbNL8LP6M3spZvkR9/QolkyJavGSX5Cs0UA==} engines: {node: '>=10'} @@ -3100,13 +3101,13 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - vitepress-plugin-group-icons@1.6.2: - resolution: {integrity: sha512-soDdxP/OnDJqcAFT+ilrZ08Em1xVQXDF5gM+iHVTOmA0kJ5baaglckkjAX90MuPmcBszbJah1XTHRxkkIj7gMQ==} + vitepress-plugin-group-icons@1.6.3: + resolution: {integrity: sha512-bvPD4lhraLJw3rPtLhUIVsOvNfnHnF+F1LH7BKHekEzeZ4uqdTdqnwEyaT580AoKjjT6/F8En6hVJj7takPKDA==} peerDependencies: markdown-it: '>=14' - vitepress-plugin-llms@1.7.2: - resolution: {integrity: sha512-4UxB3PXfRAfzbcKRXizRQajstjmYn1hoFOSCGIQBYyu3qYs9/TEAUe6oLGbiwaDD+wPQ/T1ow59pt2LAMR4/1A==} + vitepress-plugin-llms@1.7.3: + resolution: {integrity: sha512-XhTVbUrKwrzrwlRKd/zT2owvjwi5cdB21HgDRcHqp9PYK4Fy+mBYJUoTcLaJ5IKD1DDrJZMo0DuJeyC5RSDI9Q==} vitest@4.0.0-beta.4: resolution: {integrity: sha512-LWwBGvfWUinm0ATarVmXuzhGvL8HyydanPwQLAY21fvrUhXHyP04UvMYF5t+3TcXQdXPIP5AiVm09J+AbIwKhg==} @@ -3246,7 +3247,7 @@ snapshots: '@babel/helper-validator-identifier@7.27.1': {} - '@babel/parser@7.28.0': + '@babel/parser@7.28.3': dependencies: '@babel/types': 7.28.2 @@ -3260,14 +3261,14 @@ snapshots: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/core@1.0.0-alpha.1': + '@clack/core@1.0.0-alpha.3': dependencies: picocolors: 1.1.1 sisteransi: 1.0.5 - '@clack/prompts@1.0.0-alpha.1': + '@clack/prompts@1.0.0-alpha.3': dependencies: - '@clack/core': 1.0.0-alpha.1 + '@clack/core': 1.0.0-alpha.3 picocolors: 1.1.1 sisteransi: 1.0.5 @@ -3299,82 +3300,82 @@ snapshots: tslib: 2.8.1 optional: true - '@esbuild/aix-ppc64@0.25.8': + '@esbuild/aix-ppc64@0.25.9': optional: true - '@esbuild/android-arm64@0.25.8': + '@esbuild/android-arm64@0.25.9': optional: true - '@esbuild/android-arm@0.25.8': + '@esbuild/android-arm@0.25.9': optional: true - '@esbuild/android-x64@0.25.8': + '@esbuild/android-x64@0.25.9': optional: true - '@esbuild/darwin-arm64@0.25.8': + '@esbuild/darwin-arm64@0.25.9': optional: true - '@esbuild/darwin-x64@0.25.8': + '@esbuild/darwin-x64@0.25.9': optional: true - '@esbuild/freebsd-arm64@0.25.8': + '@esbuild/freebsd-arm64@0.25.9': optional: true - '@esbuild/freebsd-x64@0.25.8': + '@esbuild/freebsd-x64@0.25.9': optional: true - '@esbuild/linux-arm64@0.25.8': + '@esbuild/linux-arm64@0.25.9': optional: true - '@esbuild/linux-arm@0.25.8': + '@esbuild/linux-arm@0.25.9': optional: true - '@esbuild/linux-ia32@0.25.8': + '@esbuild/linux-ia32@0.25.9': optional: true - '@esbuild/linux-loong64@0.25.8': + '@esbuild/linux-loong64@0.25.9': optional: true - '@esbuild/linux-mips64el@0.25.8': + '@esbuild/linux-mips64el@0.25.9': optional: true - '@esbuild/linux-ppc64@0.25.8': + '@esbuild/linux-ppc64@0.25.9': optional: true - '@esbuild/linux-riscv64@0.25.8': + '@esbuild/linux-riscv64@0.25.9': optional: true - '@esbuild/linux-s390x@0.25.8': + '@esbuild/linux-s390x@0.25.9': optional: true - '@esbuild/linux-x64@0.25.8': + '@esbuild/linux-x64@0.25.9': optional: true - '@esbuild/netbsd-arm64@0.25.8': + '@esbuild/netbsd-arm64@0.25.9': optional: true - '@esbuild/netbsd-x64@0.25.8': + '@esbuild/netbsd-x64@0.25.9': optional: true - '@esbuild/openbsd-arm64@0.25.8': + '@esbuild/openbsd-arm64@0.25.9': optional: true - '@esbuild/openbsd-x64@0.25.8': + '@esbuild/openbsd-x64@0.25.9': optional: true - '@esbuild/openharmony-arm64@0.25.8': + '@esbuild/openharmony-arm64@0.25.9': optional: true - '@esbuild/sunos-x64@0.25.8': + '@esbuild/sunos-x64@0.25.9': optional: true - '@esbuild/win32-arm64@0.25.8': + '@esbuild/win32-arm64@0.25.9': optional: true - '@esbuild/win32-ia32@0.25.8': + '@esbuild/win32-ia32@0.25.9': optional: true - '@esbuild/win32-x64@0.25.8': + '@esbuild/win32-x64@0.25.9': optional: true '@hapi/hoek@9.3.0': {} @@ -3399,7 +3400,7 @@ snapshots: '@iconify/types@2.0.0': {} - '@iconify/utils@3.0.0': + '@iconify/utils@3.0.1': dependencies: '@antfu/install-pkg': 1.1.0 '@antfu/utils': 9.2.0 @@ -3427,7 +3428,7 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jridgewell/sourcemap-codec@1.5.4': {} + '@jridgewell/sourcemap-codec@1.5.5': {} '@kwsites/file-exists@1.1.1': dependencies: @@ -3452,52 +3453,52 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdit-vue/plugin-component@3.0.0': + '@mdit-vue/plugin-component@3.0.2': dependencies: '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-frontmatter@3.0.0': + '@mdit-vue/plugin-frontmatter@3.0.2': dependencies: - '@mdit-vue/types': 3.0.0 + '@mdit-vue/types': 3.0.2 '@types/markdown-it': 14.1.2 gray-matter: 4.0.3 markdown-it: 14.1.0 - '@mdit-vue/plugin-headers@3.0.0': + '@mdit-vue/plugin-headers@3.0.2': dependencies: - '@mdit-vue/shared': 3.0.0 - '@mdit-vue/types': 3.0.0 + '@mdit-vue/shared': 3.0.2 + '@mdit-vue/types': 3.0.2 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-sfc@3.0.0': + '@mdit-vue/plugin-sfc@3.0.2': dependencies: - '@mdit-vue/types': 3.0.0 + '@mdit-vue/types': 3.0.2 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-title@3.0.0': + '@mdit-vue/plugin-title@3.0.2': dependencies: - '@mdit-vue/shared': 3.0.0 - '@mdit-vue/types': 3.0.0 + '@mdit-vue/shared': 3.0.2 + '@mdit-vue/types': 3.0.2 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/plugin-toc@3.0.0': + '@mdit-vue/plugin-toc@3.0.2': dependencies: - '@mdit-vue/shared': 3.0.0 - '@mdit-vue/types': 3.0.0 + '@mdit-vue/shared': 3.0.2 + '@mdit-vue/types': 3.0.2 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/shared@3.0.0': + '@mdit-vue/shared@3.0.2': dependencies: - '@mdit-vue/types': 3.0.0 + '@mdit-vue/types': 3.0.2 '@types/markdown-it': 14.1.2 markdown-it: 14.1.0 - '@mdit-vue/types@3.0.0': {} + '@mdit-vue/types@3.0.2': {} '@napi-rs/wasm-runtime@1.0.3': dependencies: @@ -3518,108 +3519,108 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@oxc-minify/binding-android-arm64@0.81.0': + '@oxc-minify/binding-android-arm64@0.82.1': optional: true - '@oxc-minify/binding-darwin-arm64@0.81.0': + '@oxc-minify/binding-darwin-arm64@0.82.1': optional: true - '@oxc-minify/binding-darwin-x64@0.81.0': + '@oxc-minify/binding-darwin-x64@0.82.1': optional: true - '@oxc-minify/binding-freebsd-x64@0.81.0': + '@oxc-minify/binding-freebsd-x64@0.82.1': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.81.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.82.1': optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.81.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.82.1': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.81.0': + '@oxc-minify/binding-linux-arm64-gnu@0.82.1': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.81.0': + '@oxc-minify/binding-linux-arm64-musl@0.82.1': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.81.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.82.1': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.81.0': + '@oxc-minify/binding-linux-s390x-gnu@0.82.1': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.81.0': + '@oxc-minify/binding-linux-x64-gnu@0.82.1': optional: true - '@oxc-minify/binding-linux-x64-musl@0.81.0': + '@oxc-minify/binding-linux-x64-musl@0.82.1': optional: true - '@oxc-minify/binding-wasm32-wasi@0.81.0': + '@oxc-minify/binding-wasm32-wasi@0.82.1': dependencies: '@napi-rs/wasm-runtime': 1.0.3 optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.81.0': + '@oxc-minify/binding-win32-arm64-msvc@0.82.1': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.81.0': + '@oxc-minify/binding-win32-x64-msvc@0.82.1': optional: true - '@oxc-project/runtime@0.80.0': {} + '@oxc-project/runtime@0.81.0': {} - '@oxc-project/types@0.80.0': {} + '@oxc-project/types@0.81.0': {} '@polka/compression@1.0.0-next.28': {} '@polka/url@1.0.0-next.29': {} - '@rolldown/binding-android-arm64@1.0.0-beta.31': + '@rolldown/binding-android-arm64@1.0.0-beta.32': optional: true - '@rolldown/binding-darwin-arm64@1.0.0-beta.31': + '@rolldown/binding-darwin-arm64@1.0.0-beta.32': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.31': + '@rolldown/binding-darwin-x64@1.0.0-beta.32': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.31': + '@rolldown/binding-freebsd-x64@1.0.0-beta.32': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.31': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.32': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.31': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.32': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.31': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.32': optional: true - '@rolldown/binding-linux-arm64-ohos@1.0.0-beta.31': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.32': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.31': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.32': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.31': + '@rolldown/binding-openharmony-arm64@1.0.0-beta.32': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.31': + '@rolldown/binding-wasm32-wasi@1.0.0-beta.32': dependencies: '@napi-rs/wasm-runtime': 1.0.3 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.31': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.32': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.31': + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.32': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.31': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.32': optional: true '@rolldown/pluginutils@1.0.0-beta.29': {} - '@rolldown/pluginutils@1.0.0-beta.31': {} + '@rolldown/pluginutils@1.0.0-beta.32': {} '@rollup/plugin-alias@5.1.1(rollup@4.46.2)': optionalDependencies: @@ -3867,10 +3868,6 @@ snapshots: '@types/picomatch@4.0.2': {} - '@types/postcss-prefix-selector@1.16.3': - dependencies: - postcss: 8.5.6 - '@types/prompts@2.4.9': dependencies: '@types/node': 24.2.1 @@ -3892,10 +3889,10 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': + '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) vue: 3.5.18(typescript@5.9.2) '@vitest/expect@4.0.0-beta.4': @@ -3906,19 +3903,19 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@4.0.0-beta.4(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1))': + '@vitest/mocker@4.0.0-beta.4(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))': dependencies: '@vitest/spy': 4.0.0-beta.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) '@vitest/pretty-format@4.0.0-beta.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/pretty-format@4.0.0-beta.7': + '@vitest/pretty-format@4.0.0-beta.8': dependencies: tinyrainbow: 2.0.0 @@ -3958,7 +3955,7 @@ snapshots: '@vue/compiler-core@3.5.18': dependencies: - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.3 '@vue/shared': 3.5.18 entities: 4.5.0 estree-walker: 2.0.2 @@ -3971,7 +3968,7 @@ snapshots: '@vue/compiler-sfc@3.5.18': dependencies: - '@babel/parser': 7.28.0 + '@babel/parser': 7.28.3 '@vue/compiler-core': 3.5.18 '@vue/compiler-dom': 3.5.18 '@vue/compiler-ssr': 3.5.18 @@ -4343,6 +4340,8 @@ snapshots: css-what@6.2.2: {} + cssesc@3.0.0: {} + csstype@3.1.3: {} de-indent@1.0.2: {} @@ -4441,34 +4440,34 @@ snapshots: has-tostringtag: 1.0.2 hasown: 2.0.2 - esbuild@0.25.8: + esbuild@0.25.9: optionalDependencies: - '@esbuild/aix-ppc64': 0.25.8 - '@esbuild/android-arm': 0.25.8 - '@esbuild/android-arm64': 0.25.8 - '@esbuild/android-x64': 0.25.8 - '@esbuild/darwin-arm64': 0.25.8 - '@esbuild/darwin-x64': 0.25.8 - '@esbuild/freebsd-arm64': 0.25.8 - '@esbuild/freebsd-x64': 0.25.8 - '@esbuild/linux-arm': 0.25.8 - '@esbuild/linux-arm64': 0.25.8 - '@esbuild/linux-ia32': 0.25.8 - '@esbuild/linux-loong64': 0.25.8 - '@esbuild/linux-mips64el': 0.25.8 - '@esbuild/linux-ppc64': 0.25.8 - '@esbuild/linux-riscv64': 0.25.8 - '@esbuild/linux-s390x': 0.25.8 - '@esbuild/linux-x64': 0.25.8 - '@esbuild/netbsd-arm64': 0.25.8 - '@esbuild/netbsd-x64': 0.25.8 - '@esbuild/openbsd-arm64': 0.25.8 - '@esbuild/openbsd-x64': 0.25.8 - '@esbuild/openharmony-arm64': 0.25.8 - '@esbuild/sunos-x64': 0.25.8 - '@esbuild/win32-arm64': 0.25.8 - '@esbuild/win32-ia32': 0.25.8 - '@esbuild/win32-x64': 0.25.8 + '@esbuild/aix-ppc64': 0.25.9 + '@esbuild/android-arm': 0.25.9 + '@esbuild/android-arm64': 0.25.9 + '@esbuild/android-x64': 0.25.9 + '@esbuild/darwin-arm64': 0.25.9 + '@esbuild/darwin-x64': 0.25.9 + '@esbuild/freebsd-arm64': 0.25.9 + '@esbuild/freebsd-x64': 0.25.9 + '@esbuild/linux-arm': 0.25.9 + '@esbuild/linux-arm64': 0.25.9 + '@esbuild/linux-ia32': 0.25.9 + '@esbuild/linux-loong64': 0.25.9 + '@esbuild/linux-mips64el': 0.25.9 + '@esbuild/linux-ppc64': 0.25.9 + '@esbuild/linux-riscv64': 0.25.9 + '@esbuild/linux-s390x': 0.25.9 + '@esbuild/linux-x64': 0.25.9 + '@esbuild/netbsd-arm64': 0.25.9 + '@esbuild/netbsd-x64': 0.25.9 + '@esbuild/openbsd-arm64': 0.25.9 + '@esbuild/openbsd-x64': 0.25.9 + '@esbuild/openharmony-arm64': 0.25.9 + '@esbuild/sunos-x64': 0.25.9 + '@esbuild/win32-arm64': 0.25.9 + '@esbuild/win32-ia32': 0.25.9 + '@esbuild/win32-x64': 0.25.9 escalade@3.2.0: {} @@ -4579,7 +4578,7 @@ snapshots: fs-extra@11.3.1: dependencies: graceful-fs: 4.2.11 - jsonfile: 6.1.0 + jsonfile: 6.2.0 universalify: 2.0.1 fsevents@2.3.3: @@ -4810,7 +4809,7 @@ snapshots: argparse: 1.0.10 esprima: 4.0.1 - jsonfile@6.1.0: + jsonfile@6.2.0: dependencies: universalify: 2.0.1 optionalDependencies: @@ -4949,7 +4948,7 @@ snapshots: magic-string@0.30.17: dependencies: - '@jridgewell/sourcemap-codec': 1.5.4 + '@jridgewell/sourcemap-codec': 1.5.5 mark.js@8.11.1: {} @@ -5323,23 +5322,23 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - oxc-minify@0.81.0: + oxc-minify@0.82.1: optionalDependencies: - '@oxc-minify/binding-android-arm64': 0.81.0 - '@oxc-minify/binding-darwin-arm64': 0.81.0 - '@oxc-minify/binding-darwin-x64': 0.81.0 - '@oxc-minify/binding-freebsd-x64': 0.81.0 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.81.0 - '@oxc-minify/binding-linux-arm-musleabihf': 0.81.0 - '@oxc-minify/binding-linux-arm64-gnu': 0.81.0 - '@oxc-minify/binding-linux-arm64-musl': 0.81.0 - '@oxc-minify/binding-linux-riscv64-gnu': 0.81.0 - '@oxc-minify/binding-linux-s390x-gnu': 0.81.0 - '@oxc-minify/binding-linux-x64-gnu': 0.81.0 - '@oxc-minify/binding-linux-x64-musl': 0.81.0 - '@oxc-minify/binding-wasm32-wasi': 0.81.0 - '@oxc-minify/binding-win32-arm64-msvc': 0.81.0 - '@oxc-minify/binding-win32-x64-msvc': 0.81.0 + '@oxc-minify/binding-android-arm64': 0.82.1 + '@oxc-minify/binding-darwin-arm64': 0.82.1 + '@oxc-minify/binding-darwin-x64': 0.82.1 + '@oxc-minify/binding-freebsd-x64': 0.82.1 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.82.1 + '@oxc-minify/binding-linux-arm-musleabihf': 0.82.1 + '@oxc-minify/binding-linux-arm64-gnu': 0.82.1 + '@oxc-minify/binding-linux-arm64-musl': 0.82.1 + '@oxc-minify/binding-linux-riscv64-gnu': 0.82.1 + '@oxc-minify/binding-linux-s390x-gnu': 0.82.1 + '@oxc-minify/binding-linux-x64-gnu': 0.82.1 + '@oxc-minify/binding-linux-x64-musl': 0.82.1 + '@oxc-minify/binding-wasm32-wasi': 0.82.1 + '@oxc-minify/binding-win32-arm64-msvc': 0.82.1 + '@oxc-minify/binding-win32-x64-msvc': 0.82.1 p-map@7.0.3: {} @@ -5421,15 +5420,16 @@ snapshots: '@polka/url': 1.0.0-next.29 trouter: 4.0.0 - postcss-prefix-selector@2.1.1(postcss@8.5.6): - dependencies: - postcss: 8.5.6 - postcss-rtlcss@5.7.1(postcss@8.5.6): dependencies: postcss: 8.5.6 rtlcss: 4.3.0 + postcss-selector-parser@7.1.0: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss@8.5.6: dependencies: nanoid: 3.3.11 @@ -5558,42 +5558,42 @@ snapshots: glob: 11.0.3 package-json-from-dist: 1.0.1 - rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1): + rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): dependencies: fdir: 6.4.6(picomatch@4.0.3) lightningcss: 1.30.1 picomatch: 4.0.3 postcss: 8.5.6 - rolldown: 1.0.0-beta.31 + rolldown: 1.0.0-beta.32 tinyglobby: 0.2.14 optionalDependencies: '@types/node': 24.2.1 - esbuild: 0.25.8 + esbuild: 0.25.9 fsevents: 2.3.3 jiti: 1.21.7 yaml: 2.8.1 - rolldown@1.0.0-beta.31: + rolldown@1.0.0-beta.32: dependencies: - '@oxc-project/runtime': 0.80.0 - '@oxc-project/types': 0.80.0 - '@rolldown/pluginutils': 1.0.0-beta.31 + '@oxc-project/runtime': 0.81.0 + '@oxc-project/types': 0.81.0 + '@rolldown/pluginutils': 1.0.0-beta.32 ansis: 4.1.0 optionalDependencies: - '@rolldown/binding-android-arm64': 1.0.0-beta.31 - '@rolldown/binding-darwin-arm64': 1.0.0-beta.31 - '@rolldown/binding-darwin-x64': 1.0.0-beta.31 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.31 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.31 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.31 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.31 - '@rolldown/binding-linux-arm64-ohos': 1.0.0-beta.31 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.31 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.31 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.31 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.31 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.31 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.31 + '@rolldown/binding-android-arm64': 1.0.0-beta.32 + '@rolldown/binding-darwin-arm64': 1.0.0-beta.32 + '@rolldown/binding-darwin-x64': 1.0.0-beta.32 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.32 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.32 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.32 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.32 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.32 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.32 + '@rolldown/binding-openharmony-arm64': 1.0.0-beta.32 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.32 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.32 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.32 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.32 rollup-plugin-dts@6.1.1(rollup@4.46.2)(typescript@5.9.2): dependencies: @@ -5603,11 +5603,11 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.27.1 - rollup-plugin-esbuild@6.2.1(esbuild@0.25.8)(rollup@4.46.2): + rollup-plugin-esbuild@6.2.1(esbuild@0.25.9)(rollup@4.46.2): dependencies: debug: 4.4.1 es-module-lexer: 1.7.0 - esbuild: 0.25.8 + esbuild: 0.25.9 get-tsconfig: 4.10.1 rollup: 4.46.2 unplugin-utils: 0.2.5 @@ -5950,6 +5950,8 @@ snapshots: pathe: 2.0.3 picomatch: 4.0.3 + util-deprecate@1.0.2: {} + valid-data-url@3.0.1: {} validate-npm-package-license@3.0.4: @@ -5967,13 +5969,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1): + vite-node@4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - esbuild @@ -5988,13 +5990,13 @@ snapshots: - tsx - yaml - vitepress-plugin-group-icons@1.6.2(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1): + vitepress-plugin-group-icons@1.6.3(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1): dependencies: '@iconify-json/logos': 1.2.9 '@iconify-json/vscode-icons': 1.2.29 - '@iconify/utils': 3.0.0 + '@iconify/utils': 3.0.1 markdown-it: 14.1.0 - vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - esbuild @@ -6009,7 +6011,7 @@ snapshots: - tsx - yaml - vitepress-plugin-llms@1.7.2: + vitepress-plugin-llms@1.7.3: dependencies: byte-size: 9.0.1 gray-matter: 4.0.3 @@ -6028,12 +6030,12 @@ snapshots: - '@75lb/nature' - supports-color - vitest@4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1): + vitest@4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 4.0.0-beta.4 - '@vitest/mocker': 4.0.0-beta.4(rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1)) - '@vitest/pretty-format': 4.0.0-beta.7 + '@vitest/mocker': 4.0.0-beta.4(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1)) + '@vitest/pretty-format': 4.0.0-beta.8 '@vitest/runner': 4.0.0-beta.4 '@vitest/snapshot': 4.0.0-beta.4 '@vitest/spy': 4.0.0-beta.4 @@ -6050,8 +6052,8 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: rolldown-vite@7.1.0(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) - vite-node: 4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.8)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + vite-node: 4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 diff --git a/src/node/postcss/isolateStyles.ts b/src/node/postcss/isolateStyles.ts index 4e3bf193..1d3f73ca 100644 --- a/src/node/postcss/isolateStyles.ts +++ b/src/node/postcss/isolateStyles.ts @@ -1,21 +1,38 @@ -import postcssPrefixSelector from 'postcss-prefix-selector' +import type { Plugin } from 'postcss' +import selectorParser from 'postcss-selector-parser' -export function postcssIsolateStyles( - options: Parameters[0] = {} -): ReturnType { - return postcssPrefixSelector({ - prefix: ':not(:where(.vp-raw, .vp-raw *))', - includeFiles: [/base\.css/], - transform(prefix, _selector) { - // split selector from its pseudo part if the trailing colon is not escaped - const [selector, pseudo] = splitSelectorPseudo(_selector) - return selector + prefix + pseudo - }, - ...options - }) +type Options = { + includeFiles?: RegExp[] + ignoreFiles?: RegExp[] + prefix?: string } -export function splitSelectorPseudo(selector: string): [string, string] { - const [base, pseudo = ''] = selector.split(/(? re.test(file))) return + if (file && ignoreFiles?.length && ignoreFiles.some((re) => re.test(file))) return + + root.walkRules((rule) => { + if (!rule.selector || rule.selector.includes(prefix)) return + if (rule.parent?.type === 'atrule' && /\bkeyframes$/i.test(rule.parent.name)) return + + rule.selector = selectorParser((selectors) => { + selectors.each((sel) => { + if (!sel.nodes.length) return + const insertionIndex = sel.nodes.findLastIndex((n) => n.type !== 'pseudo') + 1 + sel.nodes.splice(insertionIndex, 0, ...prefixNodes.map((n) => n.clone() as any)) + }) + }).processSync(rule.selector) + }) + } + } } From 9238e00c9fd5df981b0c60e45f0be32f0a73ab0d Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 14 Aug 2025 22:47:53 +0530 Subject: [PATCH 11/32] test: add postcssIsolateStyles snapshots --- .../__snapshots__/isolateStyles.test.ts.snap | 77 ++++++++++++++ .../unit/node/postcss/isolateStyles.test.ts | 100 +++++++++++++++--- 2 files changed, 160 insertions(+), 17 deletions(-) create mode 100644 __tests__/unit/node/postcss/__snapshots__/isolateStyles.test.ts.snap diff --git a/__tests__/unit/node/postcss/__snapshots__/isolateStyles.test.ts.snap b/__tests__/unit/node/postcss/__snapshots__/isolateStyles.test.ts.snap new file mode 100644 index 00000000..c781b64c --- /dev/null +++ b/__tests__/unit/node/postcss/__snapshots__/isolateStyles.test.ts.snap @@ -0,0 +1,77 @@ +// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html + +exports[`node/postcss/isolateStyles > transforms selectors and skips keyframes 1`] = ` +" +/* simple classes */ +.example:not(:where(.vp-raw, .vp-raw *)) { color: red; } +.class-a:not(:where(.vp-raw, .vp-raw *)) { color: coral; } +.class-b:not(:where(.vp-raw, .vp-raw *)) { color: deepskyblue; } + +/* escaped colon in class */ +.baz\\:not\\(.bar\\):not(:where(.vp-raw, .vp-raw *)) { display: block; } +.disabled\\:opacity-50:not(:where(.vp-raw, .vp-raw *)):disabled { opacity: .5; } + +/* pseudos (class + element) */ +.button:not(:where(.vp-raw, .vp-raw *)):hover { color: pink; } +.button:not(:where(.vp-raw, .vp-raw *)):focus:hover { color: hotpink; } +.item:not(:where(.vp-raw, .vp-raw *))::before { content: '•'; } +:not(:where(.vp-raw, .vp-raw *))::first-letter { color: pink; } +:not(:where(.vp-raw, .vp-raw *))::before { content: ''; } + +/* universal + :not */ +*:not(:where(.vp-raw, .vp-raw *)) { background-color: red; } +*:not(:where(.vp-raw, .vp-raw *)):not(.b) { text-transform: uppercase; } + +/* combinators */ +.foo:hover .bar:not(:where(.vp-raw, .vp-raw *)) { background: blue; } +ul > li.active:not(:where(.vp-raw, .vp-raw *)) { color: green; } +a + b ~ c:not(:where(.vp-raw, .vp-raw *)) { color: orange; } + +/* ids + attribute selectors */ +#wow:not(:where(.vp-raw, .vp-raw *)) { color: yellow; } +[data-world] .d:not(:where(.vp-raw, .vp-raw *)) { padding: 10px 20px; } + +/* :root and chained tags */ +:not(:where(.vp-raw, .vp-raw *)):root { --bs-blue: #0d6efd; } +:root .a:not(:where(.vp-raw, .vp-raw *)) { --bs-green: #bada55; } +html:not(:where(.vp-raw, .vp-raw *)) { margin: 0; } +body:not(:where(.vp-raw, .vp-raw *)) { padding: 0; } +html body div:not(:where(.vp-raw, .vp-raw *)) { color: blue; } + +/* grouping with commas */ +.a:not(:where(.vp-raw, .vp-raw *)), .b:not(:where(.vp-raw, .vp-raw *)) { color: red; } + +/* multiple repeated groups to ensure stability */ +.a:not(:where(.vp-raw, .vp-raw *)), .b:not(:where(.vp-raw, .vp-raw *)) { color: coral; } +.a:not(:where(.vp-raw, .vp-raw *)) { animation: glow 1s linear infinite alternate; } + +/* nested blocks */ +.foo:not(:where(.vp-raw, .vp-raw *)) { + svg:not(:where(.vp-raw, .vp-raw *)) { display: none; } + .bar:not(:where(.vp-raw, .vp-raw *)) { display: inline; } +} + +/* standalone pseudos */ +:not(:where(.vp-raw, .vp-raw *)):first-child { color: pink; } +:not(:where(.vp-raw, .vp-raw *)):hover { color: blue; } +:not(:where(.vp-raw, .vp-raw *)):active { color: red; } + +/* keyframes (should be ignored) */ +@keyframes fade { + from { opacity: 0; } + to { opacity: 1; } +} +@-webkit-keyframes glow { + from { color: coral; } + to { color: red; } +} +@-moz-keyframes glow { + from { color: coral; } + to { color: red; } +} +@-o-keyframes glow { + from { color: coral; } + to { color: red; } +} +" +`; diff --git a/__tests__/unit/node/postcss/isolateStyles.test.ts b/__tests__/unit/node/postcss/isolateStyles.test.ts index 25fc5649..609a4463 100644 --- a/__tests__/unit/node/postcss/isolateStyles.test.ts +++ b/__tests__/unit/node/postcss/isolateStyles.test.ts @@ -1,27 +1,93 @@ import { postcssIsolateStyles } from 'node/postcss/isolateStyles' import postcss from 'postcss' -function apply(selector: string) { - const { root } = postcss([postcssIsolateStyles()]).process(`${selector} {}`) - return (root.nodes[0] as any).selector +const INPUT_CSS = ` +/* simple classes */ +.example { color: red; } +.class-a { color: coral; } +.class-b { color: deepskyblue; } + +/* escaped colon in class */ +.baz\\:not\\(.bar\\) { display: block; } +.disabled\\:opacity-50:disabled { opacity: .5; } + +/* pseudos (class + element) */ +.button:hover { color: pink; } +.button:focus:hover { color: hotpink; } +.item::before { content: '•'; } +::first-letter { color: pink; } +::before { content: ''; } + +/* universal + :not */ +* { background-color: red; } +*:not(.b) { text-transform: uppercase; } + +/* combinators */ +.foo:hover .bar { background: blue; } +ul > li.active { color: green; } +a + b ~ c { color: orange; } + +/* ids + attribute selectors */ +#wow { color: yellow; } +[data-world] .d { padding: 10px 20px; } + +/* :root and chained tags */ +:root { --bs-blue: #0d6efd; } +:root .a { --bs-green: #bada55; } +html { margin: 0; } +body { padding: 0; } +html body div { color: blue; } + +/* grouping with commas */ +.a, .b { color: red; } + +/* multiple repeated groups to ensure stability */ +.a, .b { color: coral; } +.a { animation: glow 1s linear infinite alternate; } + +/* nested blocks */ +.foo { + svg { display: none; } + .bar { display: inline; } } -describe('node/postcss/isolateStyles', () => { - test('splitSelectorPseudo skips escaped colon', () => { - expect(apply('.foo\\:bar')).toBe( - '.foo\\:bar:not(:where(.vp-raw, .vp-raw *))' - ) - }) +/* standalone pseudos */ +:first-child { color: pink; } +:hover { color: blue; } +:active { color: red; } - test('splitSelectorPseudo splits on pseudo selectors', () => { - expect(apply('.button:hover')).toBe( - '.button:not(:where(.vp-raw, .vp-raw *)):hover' - ) +/* keyframes (should be ignored) */ +@keyframes fade { + from { opacity: 0; } + to { opacity: 1; } +} +@-webkit-keyframes glow { + from { color: coral; } + to { color: red; } +} +@-moz-keyframes glow { + from { color: coral; } + to { color: red; } +} +@-o-keyframes glow { + from { color: coral; } + to { color: red; } +} +` + +describe('node/postcss/isolateStyles', () => { + test('transforms selectors and skips keyframes', () => { + const out = run(INPUT_CSS) + expect(out.css).toMatchSnapshot() }) - test('postcssIsolateStyles inserts :not(...) in the right place', () => { - expect(apply('.disabled\\:opacity-50:disabled')).toBe( - '.disabled\\:opacity-50:not(:where(.vp-raw, .vp-raw *)):disabled' - ) + test('idempotent (running twice produces identical CSS)', () => { + const first = run(INPUT_CSS).css + const second = run(first).css + expect(second).toBe(first) }) }) + +function run(css: string, from = 'src/styles/vp-doc.css') { + return postcss([postcssIsolateStyles()]).process(css, { from }) +} From 7df30525121a28a46cc6c802f3155ccff8effaca Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Fri, 15 Aug 2025 01:30:13 +0530 Subject: [PATCH 12/32] fix(theme): nav background doesn't extend fully and gap after sidebar with non-overlay scrollbars closes #4653 Co-authored-by: Burrito --- src/client/theme-default/components/VPNavBar.vue | 10 ++++++++-- src/client/theme-default/components/VPSidebar.vue | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/client/theme-default/components/VPNavBar.vue b/src/client/theme-default/components/VPNavBar.vue index 1313657c..6c3ca56b 100644 --- a/src/client/theme-default/components/VPNavBar.vue +++ b/src/client/theme-default/components/VPNavBar.vue @@ -170,16 +170,22 @@ watchPostEffect(() => { .VPNavBar.has-sidebar .content { position: relative; z-index: 1; - padding-right: 32px; padding-left: var(--vp-sidebar-width); } + + .VPNavBar.has-sidebar .content-body { + padding-right: 32px; + } } @media (min-width: 1440px) { .VPNavBar.has-sidebar .content { - padding-right: calc((100vw - var(--vp-layout-max-width)) / 2 + 32px); padding-left: calc((100vw - var(--vp-layout-max-width)) / 2 + var(--vp-sidebar-width)); } + + .VPNavBar.has-sidebar .content-body { + padding-right: calc((100vw - var(--vp-layout-max-width)) / 2 + 32px); + } } .content-body { diff --git a/src/client/theme-default/components/VPSidebar.vue b/src/client/theme-default/components/VPSidebar.vue index c2de0a0d..b27d8028 100644 --- a/src/client/theme-default/components/VPSidebar.vue +++ b/src/client/theme-default/components/VPSidebar.vue @@ -111,8 +111,8 @@ watch( @media (min-width: 1440px) { .VPSidebar { - padding-left: max(32px, calc((100% - (var(--vp-layout-max-width) - 64px)) / 2)); - width: calc((100% - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px); + padding-left: max(32px, calc((100vw - (var(--vp-layout-max-width) - 64px)) / 2)); + width: calc((100vw - (var(--vp-layout-max-width) - 64px)) / 2 + var(--vp-sidebar-width) - 32px); } } From 914467e17fb759a9722951a3fd7568eb3bc4d4e6 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sat, 16 Aug 2025 02:36:56 +0530 Subject: [PATCH 13/32] fix: hmr not working for snippet imports in dynamic routes --- src/node/markdownToVue.ts | 15 +++++---------- src/node/plugin.ts | 26 ++++++++++++++------------ 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts index 1278a333..db5a678d 100644 --- a/src/node/markdownToVue.ts +++ b/src/node/markdownToVue.ts @@ -32,14 +32,14 @@ export interface MarkdownCompileResult { includes: string[] } -export function clearCache(id?: string) { - if (!id) { +export function clearCache(relativePath?: string) { + if (!relativePath) { cache.clear() return } - id = JSON.stringify({ id }).slice(1) - cache.find((_, key) => key.endsWith(id!) && cache.delete(key)) + relativePath = JSON.stringify({ relativePath }).slice(1) + cache.find((_, key) => key.endsWith(relativePath!) && cache.delete(key)) } let __pages: string[] = [] @@ -114,12 +114,7 @@ export async function createMarkdownToVueRenderFn( file = rewrites.get(file) || file const relativePath = slash(path.relative(srcDir, file)) - const cacheKey = JSON.stringify({ - src, - ts, - file: relativePath, - id: fileOrig - }) + const cacheKey = JSON.stringify({ src, ts, relativePath }) if (isBuild || options.cache !== false) { const cached = cache.get(cacheKey) if (cached) { diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 2bf46478..0183bfbc 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -201,6 +201,7 @@ export async function createVitePressPlugin( return processClientJS(code, id) } if (id.endsWith('.md')) { + const relativePath = path.posix.relative(srcDir, id) // transform .md files into vueSrc so plugin-vue can handle it const { vueSrc, deadLinks, includes, pageData } = await markdownToVue( code, @@ -210,7 +211,7 @@ export async function createVitePressPlugin( allDeadLinks.push(...deadLinks) if (includes.length) { includes.forEach((i) => { - ;(importerMap[slash(i)] ??= new Set()).add(id) + ;(importerMap[slash(i)] ??= new Set()).add(relativePath) this.addWatchFile(i) }) } @@ -218,7 +219,6 @@ export async function createVitePressPlugin( this.environment.mode === 'dev' && this.environment.name === 'client' ) { - const relativePath = path.posix.relative(srcDir, id) const payload: PageDataPayload = { path: `/${siteConfig.rewrites.map[relativePath] || relativePath}`, pageData @@ -260,13 +260,13 @@ export async function createVitePressPlugin( configDeps.forEach((file) => server.watcher.add(file)) } - const onFileAddDelete = async (added: boolean, _file: string) => { - const file = slash(_file) + const onFileAddDelete = async (added: boolean, file: string) => { + const relativePath = path.posix.relative(srcDir, file) // restart server on theme file creation / deletion - if (themeRE.test(file)) { + if (themeRE.test(relativePath)) { siteConfig.logger.info( c.green( - `${path.relative(process.cwd(), _file)} ${added ? 'created' : 'deleted'}, restarting server...\n` + `${relativePath} ${added ? 'created' : 'deleted'}, restarting server...\n` ), { clear: true, timestamp: true } ) @@ -275,10 +275,10 @@ export async function createVitePressPlugin( } // update pages, dynamicRoutes and rewrites on md file creation / deletion - if (file.endsWith('.md')) await resolvePages(siteConfig) + if (relativePath.endsWith('.md')) await resolvePages(siteConfig) - if (!added && importerMap[file]) { - delete importerMap[file] + if (!added && importerMap[relativePath]) { + delete importerMap[relativePath] } } server.watcher @@ -410,9 +410,11 @@ export async function createVitePressPlugin( mod && modules.push(mod) } - importerMap[slash(file)]?.forEach((importer) => { - clearCache(importer) - const mod = this.environment.moduleGraph.getModuleById(importer) + importerMap[slash(file)]?.forEach((relativePath) => { + clearCache(relativePath) + const mod = this.environment.moduleGraph.getModuleById( + path.posix.join(srcDir, relativePath) + ) mod && modules.push(mod) }) From b83799a6e7c7cca19c9b1794cca524dc828d278b Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sat, 16 Aug 2025 14:47:12 +0530 Subject: [PATCH 14/32] chore: bump deps --- package.json | 6 +- pnpm-lock.yaml | 99 ++++++++++--------- .../components/VPAlgoliaSearchBox.vue | 2 +- 3 files changed, 54 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index be104633..7ab3484d 100644 --- a/package.json +++ b/package.json @@ -95,8 +95,8 @@ "*": "prettier --experimental-cli --ignore-unknown --write" }, "dependencies": { - "@docsearch/css": "^4.0.0-beta.6", - "@docsearch/js": "^4.0.0-beta.6", + "@docsearch/css": "^4.0.0-beta.7", + "@docsearch/js": "^4.0.0-beta.7", "@iconify-json/simple-icons": "^1.2.47", "@shikijs/core": "^3.9.2", "@shikijs/transformers": "^3.9.2", @@ -139,7 +139,7 @@ "@types/markdown-it-container": "^2.0.10", "@types/markdown-it-emoji": "^3.0.1", "@types/minimist": "^1.2.5", - "@types/node": "^24.2.1", + "@types/node": "^24.3.0", "@types/picomatch": "^4.0.2", "@types/prompts": "^2.4.9", "chokidar": "^4.0.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b71e3f84..cb260553 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,11 +21,11 @@ importers: .: dependencies: '@docsearch/css': - specifier: ^4.0.0-beta.6 - version: 4.0.0-beta.6 + specifier: ^4.0.0-beta.7 + version: 4.0.0-beta.7 '@docsearch/js': - specifier: ^4.0.0-beta.6 - version: 4.0.0-beta.6 + specifier: ^4.0.0-beta.7 + version: 4.0.0-beta.7 '@iconify-json/simple-icons': specifier: ^1.2.47 version: 1.2.47 @@ -43,7 +43,7 @@ importers: version: 14.1.2 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) + version: 6.0.1(rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2)) '@vue/devtools-api': specifier: ^8.0.0 version: 8.0.0 @@ -70,7 +70,7 @@ importers: version: 3.9.2 vite: specifier: npm:rolldown-vite@latest - version: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + version: rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) vue: specifier: ^3.5.18 version: 3.5.18(typescript@5.9.2) @@ -148,8 +148,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^24.2.1 - version: 24.2.1 + specifier: ^24.3.0 + version: 24.3.0 '@types/picomatch': specifier: ^4.0.2 version: 4.0.2 @@ -293,7 +293,7 @@ importers: version: 5.9.2 vitest: specifier: 4.0.0-beta.4 - version: 4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + version: 4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) vue-tsc: specifier: ^3.0.5 version: 3.0.5(typescript@5.9.2) @@ -332,7 +332,7 @@ importers: version: link:.. vitepress-plugin-group-icons: specifier: ^1.6.3 - version: 1.6.3(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1) + version: 1.6.3(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1) vitepress-plugin-llms: specifier: ^1.7.3 version: 1.7.3 @@ -387,11 +387,11 @@ packages: conventional-commits-parser: optional: true - '@docsearch/css@4.0.0-beta.6': - resolution: {integrity: sha512-LmUwTbRnj6CJV8RW2FysHEm238X2sC2QjL1AKcKVdstuZ12r85o9PdOgNZgRMUCIgJuZteyMeBGBZo258DH70g==} + '@docsearch/css@4.0.0-beta.7': + resolution: {integrity: sha512-hBIwf14yLasrUcDNS7jrneM1ibFD/JFJVDjdxd1h/LUHx7eyLrS726pKHVr3cTdToNXP/7jrTbnC1MAuDHPoow==} - '@docsearch/js@4.0.0-beta.6': - resolution: {integrity: sha512-paUB2D7JryaacNS3HJRc6PvsbZu9x07ZhL1c8p3OSeP/tyJN0jzdG4Wsd6Z8Me563kEM5VTVSrDi/kaUpwWosA==} + '@docsearch/js@4.0.0-beta.7': + resolution: {integrity: sha512-0RJALbDpLMuFy3H/26rjms/qwi5KjsGMN8Lu4k/bs6kBfOWHUN6Dzg/ybj8qB2OLdT2UegsavRIDZKW3QrzQ4Q==} '@emnapi/core@1.4.5': resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==} @@ -1101,8 +1101,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@24.2.1': - resolution: {integrity: sha512-DRh5K+ka5eJic8CjH7td8QpYEV6Zo10gfRkjHCO3weqZHWDtAaSTFtl4+VMqOJ4N5jcuhZ9/l+yy8rVgw7BQeQ==} + '@types/node@24.3.0': + resolution: {integrity: sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1769,8 +1769,9 @@ packages: fault@2.0.1: resolution: {integrity: sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==} - fdir@6.4.6: - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: @@ -2613,8 +2614,8 @@ packages: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -3280,9 +3281,9 @@ snapshots: conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.2.0 - '@docsearch/css@4.0.0-beta.6': {} + '@docsearch/css@4.0.0-beta.7': {} - '@docsearch/js@4.0.0-beta.6': {} + '@docsearch/js@4.0.0-beta.7': {} '@emnapi/core@1.4.5': dependencies: @@ -3631,7 +3632,7 @@ snapshots: '@rollup/pluginutils': 5.2.0(rollup@4.46.2) commondir: 1.0.1 estree-walker: 2.0.2 - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) is-reference: 1.2.1 magic-string: 0.30.17 picomatch: 4.0.3 @@ -3792,7 +3793,7 @@ snapshots: '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.3.0 '@types/debug@4.1.12': dependencies: @@ -3805,7 +3806,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 24.2.1 + '@types/node': 24.3.0 '@types/hast@3.0.4': dependencies: @@ -3817,7 +3818,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.3.0 '@types/linkify-it@5.0.0': {} @@ -3860,7 +3861,7 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@24.2.1': + '@types/node@24.3.0': dependencies: undici-types: 7.10.0 @@ -3870,14 +3871,14 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.3.0 kleur: 3.0.3 '@types/resolve@1.20.2': {} '@types/sax@1.2.7': dependencies: - '@types/node': 24.2.1 + '@types/node': 24.3.0 '@types/semver@7.7.0': {} @@ -3889,10 +3890,10 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': + '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))(vue@3.5.18(typescript@5.9.2))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) vue: 3.5.18(typescript@5.9.2) '@vitest/expect@4.0.0-beta.4': @@ -3903,13 +3904,13 @@ snapshots: chai: 5.2.1 tinyrainbow: 2.0.0 - '@vitest/mocker@4.0.0-beta.4(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))': + '@vitest/mocker@4.0.0-beta.4(rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1))': dependencies: '@vitest/spy': 4.0.0-beta.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) '@vitest/pretty-format@4.0.0-beta.4': dependencies: @@ -4532,7 +4533,7 @@ snapshots: dependencies: format: 0.2.2 - fdir@6.4.6(picomatch@4.0.3): + fdir@6.5.0(picomatch@4.0.3): optionalDependencies: picomatch: 4.0.3 @@ -4910,7 +4911,7 @@ snapshots: dependencies: mlly: 1.7.4 pkg-types: 2.2.0 - quansync: 0.2.10 + quansync: 0.2.11 lodash._reinterpolate@3.0.0: {} @@ -5457,7 +5458,7 @@ snapshots: punycode@2.3.1: {} - quansync@0.2.10: {} + quansync@0.2.11: {} queue-microtask@1.2.3: {} @@ -5558,16 +5559,16 @@ snapshots: glob: 11.0.3 package-json-from-dist: 1.0.1 - rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): + rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): dependencies: - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) lightningcss: 1.30.1 picomatch: 4.0.3 postcss: 8.5.6 rolldown: 1.0.0-beta.32 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.2.1 + '@types/node': 24.3.0 esbuild: 0.25.9 fsevents: 2.3.3 jiti: 1.21.7 @@ -5843,7 +5844,7 @@ snapshots: tinyglobby@0.2.14: dependencies: - fdir: 6.4.6(picomatch@4.0.3) + fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 tinypool@1.1.1: {} @@ -5969,13 +5970,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-node@4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): + vite-node@4.0.0-beta.4(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - esbuild @@ -5990,13 +5991,13 @@ snapshots: - tsx - yaml - vitepress-plugin-group-icons@1.6.3(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1): + vitepress-plugin-group-icons@1.6.3(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.1): dependencies: '@iconify-json/logos': 1.2.9 '@iconify-json/vscode-icons': 1.2.29 '@iconify/utils': 3.0.1 markdown-it: 14.1.0 - vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) transitivePeerDependencies: - '@types/node' - esbuild @@ -6030,11 +6031,11 @@ snapshots: - '@75lb/nature' - supports-color - vitest@4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): + vitest@4.0.0-beta.4(@types/debug@4.1.12)(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 4.0.0-beta.4 - '@vitest/mocker': 4.0.0-beta.4(rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1)) + '@vitest/mocker': 4.0.0-beta.4(rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1)) '@vitest/pretty-format': 4.0.0-beta.8 '@vitest/runner': 4.0.0-beta.4 '@vitest/snapshot': 4.0.0-beta.4 @@ -6052,12 +6053,12 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: rolldown-vite@7.1.2(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) - vite-node: 4.0.0-beta.4(@types/node@24.2.1)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + vite: rolldown-vite@7.1.2(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) + vite-node: 4.0.0-beta.4(@types/node@24.3.0)(esbuild@0.25.9)(jiti@1.21.7)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.2.1 + '@types/node': 24.3.0 transitivePeerDependencies: - esbuild - jiti diff --git a/src/client/theme-default/components/VPAlgoliaSearchBox.vue b/src/client/theme-default/components/VPAlgoliaSearchBox.vue index 7fc74131..02baf5b7 100644 --- a/src/client/theme-default/components/VPAlgoliaSearchBox.vue +++ b/src/client/theme-default/components/VPAlgoliaSearchBox.vue @@ -78,7 +78,7 @@ function initialize(userOptions: DefaultTheme.AlgoliaSearchOptions) { } }) - docsearch(options) + docsearch(options as any) } function getRelativePath(url: string) { From 43b36c0c19c2b4696f8c38fdaf4318786ea7ae8e Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Mon, 18 Aug 2025 00:56:32 +0530 Subject: [PATCH 15/32] fix(theme): fix local nav alignment and increase touch area --- .../theme-default/components/VPLocalNav.vue | 15 +++++---------- .../components/VPLocalNavOutlineDropdown.vue | 10 ---------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/src/client/theme-default/components/VPLocalNav.vue b/src/client/theme-default/components/VPLocalNav.vue index e14db10e..b950205a 100644 --- a/src/client/theme-default/components/VPLocalNav.vue +++ b/src/client/theme-default/components/VPLocalNav.vue @@ -32,7 +32,7 @@ const classes = computed(() => { VPLocalNav: true, 'has-sidebar': hasSidebar.value, empty: !hasLocalNav.value, - fixed: !hasLocalNav.value && !hasSidebar.value, + fixed: !hasLocalNav.value && !hasSidebar.value } }) @@ -113,7 +113,6 @@ const classes = computed(() => { .menu { display: flex; align-items: center; - padding: 12px 24px 11px; line-height: 24px; font-size: 12px; font-weight: 500; @@ -126,12 +125,6 @@ const classes = computed(() => { transition: color 0.25s; } -@media (min-width: 768px) { - .menu { - padding: 0 32px; - } -} - @media (min-width: 960px) { .menu { display: none; @@ -143,12 +136,14 @@ const classes = computed(() => { font-size: 14px; } -.VPOutlineDropdown { +.menu, +:deep(.VPLocalNavOutlineDropdown > button) { padding: 12px 24px 11px; } @media (min-width: 768px) { - .VPOutlineDropdown { + .menu, + :deep(.VPLocalNavOutlineDropdown > button) { padding: 12px 32px 11px; } } diff --git a/src/client/theme-default/components/VPLocalNavOutlineDropdown.vue b/src/client/theme-default/components/VPLocalNavOutlineDropdown.vue index 83a17b31..cf842baa 100644 --- a/src/client/theme-default/components/VPLocalNavOutlineDropdown.vue +++ b/src/client/theme-default/components/VPLocalNavOutlineDropdown.vue @@ -92,16 +92,6 @@ function scrollToTop() { ``` -:::warning 避免在 Markdown 中使用 `