diff --git a/CHANGELOG.md b/CHANGELOG.md index e6e5e570..eeb31520 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2248,7 +2248,6 @@ This version uses Vue 3.2.0. ### BREAKING CHANGES - Some config options have changed. - - `vueOptions` renamed to `vue` - `alias` option has been removed. Use `vite.resovle.alias` instead. @@ -2266,7 +2265,6 @@ This version uses Vue 3.2.0. ### BREAKING CHANGES - The following methods are removed. - - `useSiteData` - `useSiteDataByRoute` - `usePageData` diff --git a/docs/package.json b/docs/package.json index 715391cd..98f66605 100644 --- a/docs/package.json +++ b/docs/package.json @@ -16,6 +16,6 @@ "postcss-rtlcss": "^5.7.1", "vitepress": "workspace:*", "vitepress-plugin-group-icons": "^1.6.0", - "vitepress-plugin-llms": "^1.5.0" + "vitepress-plugin-llms": "^1.5.1" } } diff --git a/package.json b/package.json index 642287a7..0e015c27 100644 --- a/package.json +++ b/package.json @@ -97,21 +97,21 @@ "dependencies": { "@docsearch/css": "^3.9.0", "@docsearch/js": "^3.9.0", - "@iconify-json/simple-icons": "^1.2.38", - "@shikijs/core": "^3.6.0", - "@shikijs/transformers": "^3.6.0", - "@shikijs/types": "^3.6.0", + "@iconify-json/simple-icons": "^1.2.39", + "@shikijs/core": "^3.7.0", + "@shikijs/transformers": "^3.7.0", + "@shikijs/types": "^3.7.0", "@vitejs/plugin-vue": "^5.2.4", - "@vue/devtools-api": "^7.7.6", - "@vue/shared": "^3.5.16", - "@vueuse/core": "^13.3.0", - "@vueuse/integrations": "^13.3.0", + "@vue/devtools-api": "^7.7.7", + "@vue/shared": "^3.5.17", + "@vueuse/core": "^13.4.0", + "@vueuse/integrations": "^13.4.0", "focus-trap": "^7.6.5", "mark.js": "8.11.1", "minisearch": "^7.1.2", - "shiki": "^3.6.0", + "shiki": "^3.7.0", "vite": "^6.3.5", - "vue": "^3.5.16" + "vue": "^3.5.17" }, "devDependencies": { "@clack/prompts": "^1.0.0-alpha.1", @@ -125,7 +125,7 @@ "@mdit-vue/shared": "^2.1.4", "@polka/compression": "^1.0.0-next.28", "@rollup/plugin-alias": "^5.1.1", - "@rollup/plugin-commonjs": "^28.0.3", + "@rollup/plugin-commonjs": "^28.0.6", "@rollup/plugin-json": "^6.1.0", "@rollup/plugin-node-resolve": "^16.0.1", "@rollup/plugin-replace": "^6.0.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.0.1", + "@types/node": "^24.0.3", "@types/picomatch": "^4.0.0", "@types/postcss-prefix-selector": "^1.16.3", "@types/prompts": "^2.4.9", @@ -152,7 +152,7 @@ "fs-extra": "^11.3.0", "get-port": "^7.1.0", "gray-matter": "^4.0.3", - "lint-staged": "^16.1.0", + "lint-staged": "^16.1.2", "lodash.template": "^4.5.0", "lru-cache": "^11.1.0", "markdown-it": "^14.1.0", @@ -165,20 +165,20 @@ "minimist": "^1.2.8", "nanoid": "^5.1.5", "ora": "^8.2.0", - "oxc-minify": "^0.72.3", + "oxc-minify": "^0.74.0", "p-map": "^7.0.3", "path-to-regexp": "^6.3.0", "picocolors": "^1.1.1", "picomatch": "^4.0.2", "package-directory": "^8.1.0", - "playwright-chromium": "^1.53.0", + "playwright-chromium": "^1.53.1", "polka": "^1.0.0-next.28", "postcss-prefix-selector": "^2.1.1", - "prettier": "^3.5.3", + "prettier": "^3.6.0", "prompts": "^2.4.2", "punycode": "^2.3.1", "rimraf": "^6.0.1", - "rollup": "^4.43.0", + "rollup": "^4.44.0", "rollup-plugin-dts": "6.1.1", "rollup-plugin-esbuild": "^6.2.1", "semver": "^7.7.2", @@ -187,13 +187,13 @@ "sitemap": "^8.0.0", "tinyglobby": "^0.2.14", "typescript": "^5.8.3", - "vitest": "^3.2.3", - "vue-tsc": "^3.0.0-alpha.10", + "vitest": "^3.2.4", + "vue-tsc": "^3.0.0-beta.3", "wait-on": "^8.0.3" }, "peerDependencies": { "markdown-it-mathjax3": "^4", - "oxc-minify": "^0.72.3", + "oxc-minify": "^0.74.0", "postcss": "^8" }, "peerDependenciesMeta": { @@ -207,7 +207,7 @@ "optional": true } }, - "packageManager": "pnpm@10.12.1", + "packageManager": "pnpm@10.12.2", "pnpm": { "peerDependencyRules": { "ignoreMissing": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1637d4d1..c867e2e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,34 +25,34 @@ importers: version: 3.9.0 '@docsearch/js': specifier: ^3.9.0 - version: 3.9.0(@algolia/client-search@5.27.0) + version: 3.9.0(@algolia/client-search@5.29.0) '@iconify-json/simple-icons': - specifier: ^1.2.38 - version: 1.2.38 + specifier: ^1.2.39 + version: 1.2.39 '@shikijs/core': - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^3.7.0 + version: 3.7.0 '@shikijs/transformers': - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^3.7.0 + version: 3.7.0 '@shikijs/types': - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^3.7.0 + version: 3.7.0 '@vitejs/plugin-vue': specifier: ^5.2.4 - version: 5.2.4(rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)) + version: 5.2.4(rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3)) '@vue/devtools-api': - specifier: ^7.7.6 - version: 7.7.6 + specifier: ^7.7.7 + version: 7.7.7 '@vue/shared': - specifier: ^3.5.16 - version: 3.5.16 + specifier: ^3.5.17 + version: 3.5.17 '@vueuse/core': - specifier: ^13.3.0 - version: 13.3.0(vue@3.5.16(typescript@5.8.3)) + specifier: ^13.4.0 + version: 13.4.0(vue@3.5.17(typescript@5.8.3)) '@vueuse/integrations': - specifier: ^13.3.0 - version: 13.3.0(axios@1.9.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.16(typescript@5.8.3)) + specifier: ^13.4.0 + version: 13.4.0(axios@1.10.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.17(typescript@5.8.3)) focus-trap: specifier: ^7.6.5 version: 7.6.5 @@ -63,14 +63,14 @@ importers: specifier: ^7.1.2 version: 7.1.2 shiki: - specifier: ^3.6.0 - version: 3.6.0 + specifier: ^3.7.0 + version: 3.7.0 vite: specifier: npm:rolldown-vite@latest - version: rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + version: rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) vue: - specifier: ^3.5.16 - version: 3.5.16(typescript@5.8.3) + specifier: ^3.5.17 + version: 3.5.17(typescript@5.8.3) devDependencies: '@clack/prompts': specifier: ^1.0.0-alpha.1 @@ -104,19 +104,19 @@ importers: version: 1.0.0-next.28 '@rollup/plugin-alias': specifier: ^5.1.1 - version: 5.1.1(rollup@4.43.0) + version: 5.1.1(rollup@4.44.0) '@rollup/plugin-commonjs': - specifier: ^28.0.3 - version: 28.0.3(rollup@4.43.0) + specifier: ^28.0.6 + version: 28.0.6(rollup@4.44.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.43.0) + version: 6.1.0(rollup@4.44.0) '@rollup/plugin-node-resolve': specifier: ^16.0.1 - version: 16.0.1(rollup@4.43.0) + version: 16.0.1(rollup@4.44.0) '@rollup/plugin-replace': specifier: ^6.0.2 - version: 6.0.2(rollup@4.43.0) + version: 6.0.2(rollup@4.44.0) '@types/cross-spawn': specifier: ^6.0.6 version: 6.0.6 @@ -148,8 +148,8 @@ importers: specifier: ^1.2.5 version: 1.2.5 '@types/node': - specifier: ^24.0.1 - version: 24.0.1 + specifier: ^24.0.3 + version: 24.0.3 '@types/picomatch': specifier: ^4.0.0 version: 4.0.0 @@ -187,8 +187,8 @@ importers: specifier: ^4.0.3 version: 4.0.3 lint-staged: - specifier: ^16.1.0 - version: 16.1.0 + specifier: ^16.1.2 + version: 16.1.2 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.72.3 - version: 0.72.3 + specifier: ^0.74.0 + version: 0.74.0 p-map: specifier: ^7.0.3 version: 7.0.3 @@ -244,17 +244,17 @@ importers: specifier: ^4.0.2 version: 4.0.2 playwright-chromium: - specifier: ^1.53.0 - version: 1.53.0 + specifier: ^1.53.1 + version: 1.53.1 polka: specifier: ^1.0.0-next.28 version: 1.0.0-next.28 postcss-prefix-selector: specifier: ^2.1.1 - version: 2.1.1(postcss@8.5.5) + version: 2.1.1(postcss@8.5.6) prettier: - specifier: ^3.5.3 - version: 3.5.3 + specifier: ^3.6.0 + version: 3.6.0 prompts: specifier: ^2.4.2 version: 2.4.2 @@ -265,14 +265,14 @@ importers: specifier: ^6.0.1 version: 6.0.1 rollup: - specifier: ^4.43.0 - version: 4.43.0 + specifier: ^4.44.0 + version: 4.44.0 rollup-plugin-dts: specifier: 6.1.1 - version: 6.1.1(rollup@4.43.0)(typescript@5.8.3) + version: 6.1.1(rollup@4.44.0)(typescript@5.8.3) rollup-plugin-esbuild: specifier: ^6.2.1 - version: 6.2.1(esbuild@0.25.5)(rollup@4.43.0) + version: 6.2.1(esbuild@0.25.5)(rollup@4.44.0) semver: specifier: ^7.7.2 version: 7.7.2 @@ -292,11 +292,11 @@ importers: specifier: ^5.8.3 version: 5.8.3 vitest: - specifier: ^3.2.3 - version: 3.2.3(@types/debug@4.1.12)(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + specifier: ^3.2.4 + version: 3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) vue-tsc: - specifier: ^3.0.0-alpha.10 - version: 3.0.0-alpha.10(typescript@5.8.3) + specifier: ^3.0.0-beta.3 + version: 3.0.0-beta.3(typescript@5.8.3) wait-on: specifier: ^8.0.3 version: 8.0.3(debug@4.4.1) @@ -326,16 +326,16 @@ importers: version: 8.0.0 postcss-rtlcss: specifier: ^5.7.1 - version: 5.7.1(postcss@8.5.5) + version: 5.7.1(postcss@8.5.6) vitepress: specifier: workspace:* version: link:.. vitepress-plugin-group-icons: specifier: ^1.6.0 - version: 1.6.0(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.0) + version: 1.6.0(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.0) vitepress-plugin-llms: - specifier: ^1.5.0 - version: 1.5.0 + specifier: ^1.5.1 + version: 1.5.1 packages: @@ -359,56 +359,56 @@ packages: '@algolia/client-search': '>= 4.9.1 < 6' algoliasearch: '>= 4.9.1 < 6' - '@algolia/client-abtesting@5.27.0': - resolution: {integrity: sha512-SITU5umoknxETtw67TxJu9njyMkWiH8pM+Bvw4dzfuIrIAT6Y1rmwV4y0A0didWoT+6xVuammIykbtBMolBcmg==} + '@algolia/client-abtesting@5.29.0': + resolution: {integrity: sha512-AM/6LYMSTnZvAT5IarLEKjYWOdV+Fb+LVs8JRq88jn8HH6bpVUtjWdOZXqX1hJRXuCAY8SdQfb7F8uEiMNXdYQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-analytics@5.27.0': - resolution: {integrity: sha512-go1b9qIZK5vYEQ7jD2bsfhhhVsoh9cFxQ5xF8TzTsg2WOCZR3O92oXCkq15SOK0ngJfqDU6a/k0oZ4KuEnih1Q==} + '@algolia/client-analytics@5.29.0': + resolution: {integrity: sha512-La34HJh90l0waw3wl5zETO8TuukeUyjcXhmjYZL3CAPLggmKv74mobiGRIb+mmBENybiFDXf/BeKFLhuDYWMMQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-common@5.27.0': - resolution: {integrity: sha512-tnFOzdNuMzsz93kOClj3fKfuYoF3oYaEB5bggULSj075GJ7HUNedBEm7a6ScrjtnOaOtipbnT7veUpHA4o4wEQ==} + '@algolia/client-common@5.29.0': + resolution: {integrity: sha512-T0lzJH/JiCxQYtCcnWy7Jf1w/qjGDXTi2npyF9B9UsTvXB97GRC6icyfXxe21mhYvhQcaB1EQ/J2575FXxi2rA==} engines: {node: '>= 14.0.0'} - '@algolia/client-insights@5.27.0': - resolution: {integrity: sha512-y1qgw39qZijjQBXrqZTiwK1cWgWGRiLpJNWBv9w36nVMKfl9kInrfsYmdBAfmlhVgF/+Woe0y1jQ7pa4HyShAw==} + '@algolia/client-insights@5.29.0': + resolution: {integrity: sha512-A39F1zmHY9aev0z4Rt3fTLcGN5AG1VsVUkVWy6yQG5BRDScktH+U5m3zXwThwniBTDV1HrPgiGHZeWb67GkR2Q==} engines: {node: '>= 14.0.0'} - '@algolia/client-personalization@5.27.0': - resolution: {integrity: sha512-XluG9qPZKEbiLoIfXTKbABsWDNOMPx0t6T2ImJTTeuX+U/zBdmfcqqgcgkqXp+vbXof/XX/4of9Eqo1JaqEmKw==} + '@algolia/client-personalization@5.29.0': + resolution: {integrity: sha512-ibxmh2wKKrzu5du02gp8CLpRMeo+b/75e4ORct98CT7mIxuYFXowULwCd6cMMkz/R0LpKXIbTUl15UL5soaiUQ==} engines: {node: '>= 14.0.0'} - '@algolia/client-query-suggestions@5.27.0': - resolution: {integrity: sha512-V8/To+SsAl2sdw2AAjeLJuCW1L+xpz+LAGerJK7HKqHzE5yQhWmIWZTzqYQcojkii4iBMYn0y3+uReWqT8XVSQ==} + '@algolia/client-query-suggestions@5.29.0': + resolution: {integrity: sha512-VZq4/AukOoJC2WSwF6J5sBtt+kImOoBwQc1nH3tgI+cxJBg7B77UsNC+jT6eP2dQCwGKBBRTmtPLUTDDnHpMgA==} engines: {node: '>= 14.0.0'} - '@algolia/client-search@5.27.0': - resolution: {integrity: sha512-EJJ7WmvmUXZdchueKFCK8UZFyLqy4Hz64snNp0cTc7c0MKaSeDGYEDxVsIJKp15r7ORaoGxSyS4y6BGZMXYuCg==} + '@algolia/client-search@5.29.0': + resolution: {integrity: sha512-cZ0Iq3OzFUPpgszzDr1G1aJV5UMIZ4VygJ2Az252q4Rdf5cQMhYEIKArWY/oUjMhQmosM8ygOovNq7gvA9CdCg==} engines: {node: '>= 14.0.0'} - '@algolia/ingestion@1.27.0': - resolution: {integrity: sha512-xNCyWeqpmEo4EdmpG57Fs1fJIQcPwt5NnJ6MBdXnUdMVXF4f5PHgza+HQWQQcYpCsune96jfmR0v7us6gRIlCw==} + '@algolia/ingestion@1.29.0': + resolution: {integrity: sha512-scBXn0wO5tZCxmO6evfa7A3bGryfyOI3aoXqSQBj5SRvNYXaUlFWQ/iKI70gRe/82ICwE0ICXbHT/wIvxOW7vw==} engines: {node: '>= 14.0.0'} - '@algolia/monitoring@1.27.0': - resolution: {integrity: sha512-P0NDiEFyt9UYQLBI0IQocIT7xHpjMpoFN3UDeerbztlkH9HdqT0GGh1SHYmNWpbMWIGWhSJTtz6kSIWvFu4+pw==} + '@algolia/monitoring@1.29.0': + resolution: {integrity: sha512-FGWWG9jLFhsKB7YiDjM2dwQOYnWu//7Oxrb2vT96N7+s+hg1mdHHfHNRyEudWdxd4jkMhBjeqNA21VbTiOIPVg==} engines: {node: '>= 14.0.0'} - '@algolia/recommend@5.27.0': - resolution: {integrity: sha512-cqfTMF1d1cc7hg0vITNAFxJZas7MJ4Obc36WwkKpY23NOtGb+4tH9X7UKlQa2PmTgbXIANoJ/DAQTeiVlD2I4Q==} + '@algolia/recommend@5.29.0': + resolution: {integrity: sha512-xte5+mpdfEARAu61KXa4ewpjchoZuJlAlvQb8ptK6hgHlBHDnYooy1bmOFpokaAICrq/H9HpoqNUX71n+3249A==} engines: {node: '>= 14.0.0'} - '@algolia/requester-browser-xhr@5.27.0': - resolution: {integrity: sha512-ErenYTcXl16wYXtf0pxLl9KLVxIztuehqXHfW9nNsD8mz9OX42HbXuPzT7y6JcPiWJpc/UU/LY5wBTB65vsEUg==} + '@algolia/requester-browser-xhr@5.29.0': + resolution: {integrity: sha512-og+7Em75aPHhahEUScq2HQ3J7ULN63Levtd87BYMpn6Im5d5cNhaC4QAUsXu6LWqxRPgh4G+i+wIb6tVhDhg2A==} engines: {node: '>= 14.0.0'} - '@algolia/requester-fetch@5.27.0': - resolution: {integrity: sha512-CNOvmXsVi+IvT7z1d+6X7FveVkgEQwTNgipjQCHTIbF9KSMfZR7tUsJC+NpELrm10ALdOMauah84ybs9rw1cKQ==} + '@algolia/requester-fetch@5.29.0': + resolution: {integrity: sha512-JCxapz7neAy8hT/nQpCvOrI5JO8VyQ1kPvBiaXWNC1prVq0UMYHEL52o1BsPvtXfdQ7BVq19OIq6TjOI06mV/w==} engines: {node: '>= 14.0.0'} - '@algolia/requester-node-http@5.27.0': - resolution: {integrity: sha512-Nx9EdLYZDsaYFTthqmc0XcVvsx6jqeEX8fNiYOB5i2HboQwl8pJPj1jFhGqoGd0KG7KFR+sdPO5/e0EDDAru2Q==} + '@algolia/requester-node-http@5.29.0': + resolution: {integrity: sha512-lVBD81RBW5VTdEYgnzCz7Pf9j2H44aymCP+/eHGJu4vhU+1O8aKf3TVBgbQr5UM6xoe8IkR/B112XY6YIG2vtg==} engines: {node: '>= 14.0.0'} '@antfu/install-pkg@1.1.0': @@ -654,11 +654,11 @@ packages: '@iconify-json/logos@1.2.4': resolution: {integrity: sha512-XC4If5D/hbaZvUkTV8iaZuGlQCyG6CNOlaAaJaGa13V5QMYwYjgtKk3vPP8wz3wtTVNVEVk3LRx1fOJz+YnSMw==} - '@iconify-json/simple-icons@1.2.38': - resolution: {integrity: sha512-mvMeFQgVjoHanQE9Q7ihmriEXAorjLZW+crUgQspDjFpzWuQp2RZMTppl1MN6TQztMVTsNFgF6LDKsp+v1RYRg==} + '@iconify-json/simple-icons@1.2.39': + resolution: {integrity: sha512-XlhW73c4dHvUrwWckVY76HDjnaZ2fWKD6hNZtd5kuv23GC0g3Lu0MXnYscpkIYOeiXO+Gtlw8FM53J7C84mCtA==} - '@iconify-json/vscode-icons@1.2.22': - resolution: {integrity: sha512-qQ+2q3E7ULfDreFOspoYKcGJ76o0/D7wZiBt5g8wco9v+Qq6JDH3z2YNoM/36zzAqRnhVEIs5A9sdZeAJeJUwA==} + '@iconify-json/vscode-icons@1.2.23': + resolution: {integrity: sha512-gFTcKecKra2/b5SbGDgHGI/l8CuikHyBPmqGlK+YCmS8AK72dtDQbUekdoACsju/3TYS37QvdPoOQwnyx2LdYg==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -666,6 +666,14 @@ packages: '@iconify/utils@2.3.0': resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@isaacs/balanced-match@4.0.1': + resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} + engines: {node: 20 || >=22} + + '@isaacs/brace-expansion@5.0.0': + resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} + engines: {node: 20 || >=22} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -723,95 +731,101 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - '@oxc-minify/binding-darwin-arm64@0.72.3': - resolution: {integrity: sha512-F/QC1UnSfx5+dmWNLqm6EL1Yj1GpXtfRuZjwENtH/ULZZzPlKBxd4LSaH1GIncldk7zPQ60jtprnS53CRFcU1Q==} + '@oxc-minify/binding-android-arm64@0.74.0': + resolution: {integrity: sha512-zJVoziklZlyFNjJYevB9fwgL951qT/aatHA5octgOSExjC1FHC6VdATXe4y653CUmkZv8oOwoHyCO+HLSCznFw==} + engines: {node: '>=14.0.0'} + cpu: [arm64] + os: [android] + + '@oxc-minify/binding-darwin-arm64@0.74.0': + resolution: {integrity: sha512-RctS6sEWs6Klbfx3OYWZGnBLz0SJZbRqr3pmKzzkkXhr8SJ3PMWo2Y+1/ecWuiOnVq+1c2cFdLErh8oAMmHlCg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - '@oxc-minify/binding-darwin-x64@0.72.3': - resolution: {integrity: sha512-LRhug/hQ19Lqf9P7K9jBiyTfwlOWsY1HTh2/Vo771NUUZkVNq9L8tkSQhg+u8tmcRjJTI5LkAK8nW751fLkZ7Q==} + '@oxc-minify/binding-darwin-x64@0.74.0': + resolution: {integrity: sha512-d4IAvMoAS1c+3xGVp6N1I2QiaRz53tRNuUOHaE9v64K5kdbf7QUyz5xB99zYNUNccIY6YY4t6evfcj0GD4MMaA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - '@oxc-minify/binding-freebsd-x64@0.72.3': - resolution: {integrity: sha512-/BDZAumYnSFeTsJU7mA9qZp6U93dVnlPlZ7YcqXYgFSZBkQsMe1gtzRfAZ6veJ7pB4L57h56JTTVBDQB1B4QpA==} + '@oxc-minify/binding-freebsd-x64@0.74.0': + resolution: {integrity: sha512-gChVUrCpey4HHj2jvCUuzYZNABaPyNN809r5gXe+Ln14EecKeemmBsltQ3VV9c+vf0FC5BAgGHqcPCgelNBhxA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [freebsd] - '@oxc-minify/binding-linux-arm-gnueabihf@0.72.3': - resolution: {integrity: sha512-W6tbZwlCT4EZaAw5SyLeeDx1J2XPA9P3WhwotPBs3J7/vAFm+xWM+115sE4/PdqnEDaHG4lMBKF76XXihn9HpQ==} + '@oxc-minify/binding-linux-arm-gnueabihf@0.74.0': + resolution: {integrity: sha512-fe72IvoE06pKbXCIZNeVvMMzW7ON9AgzJapU5+66Bt9SwLt7udqgXRO4l6R+yKpGgB6hFAqk88u9JJCHHcwt4A==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm-musleabihf@0.72.3': - resolution: {integrity: sha512-IMItUkn9b2bny5GCQWFkrfuM9lpW5kUpw/UEvqW9SrjrfBeof9I/76EGuvZluA99hhz+0BFDpdOr1hlQygKZ/A==} + '@oxc-minify/binding-linux-arm-musleabihf@0.74.0': + resolution: {integrity: sha512-4YPUyM/rzxPyGOR64MVKGhpdh2E/whyxPWvyAYRVPvNBcStrGCHmwpMcPF4dcHHzgMfRipZ0aGAdG+0a1dKNTQ==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - '@oxc-minify/binding-linux-arm64-gnu@0.72.3': - resolution: {integrity: sha512-DvzsxlcSG0IRGWCJTHMZXpSyng1RSTVBL5DyPCzD0OUMQaurJRs/NsVK7+zF95CtuSoiNp0wAX2cl7+v3YtnYw==} + '@oxc-minify/binding-linux-arm64-gnu@0.74.0': + resolution: {integrity: sha512-cPEXcgMpHEEdCHTA2xlrDXe/DeEecpvoWsFPqL946FOH1JRkHxW4IosXcTXplQq9YDYMls5UCn/qz6g2oSN7Wg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-arm64-musl@0.72.3': - resolution: {integrity: sha512-lc7A7eiQxf3slm/DR+DjJVGnjkw8Xnvi63PdaqHf4+8569n8u6FbcVpBzaW3ENxrYCilSdjMeVeSa8dW62SJ1g==} + '@oxc-minify/binding-linux-arm64-musl@0.74.0': + resolution: {integrity: sha512-nE+4+Xy+f41fs4EK9U9TSUBc+aoAM7mtLucPW0kyAVnUL0AMIoy8c5gBmSibOWRgH4Ul2k7sSzsJ+BLwjMx3yw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - '@oxc-minify/binding-linux-riscv64-gnu@0.72.3': - resolution: {integrity: sha512-OgACyiKTywSlXdegGnAJKMsya6+XcQQrCCJV77bdCQJJG3qpVwCEKplh4GXgoIHGiqQVgccHHImyeVgAEDpB8w==} + '@oxc-minify/binding-linux-riscv64-gnu@0.74.0': + resolution: {integrity: sha512-bJg9y6/afpUa6UWaBvuehXo649lT7VUeEc+u9uQS7U4FTwQxNnvgHG88FibRa3ymfkHa9BttgT8h8IhpLLDhVg==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - '@oxc-minify/binding-linux-s390x-gnu@0.72.3': - resolution: {integrity: sha512-ZGAAgZ65LID/w4UN7rIZjWCb+BlGMpRQ1d6ujXG80dIZEns/Y5HIYBdDetnHA65KNiqR/dhokdvgIsGrtVB6wA==} + '@oxc-minify/binding-linux-s390x-gnu@0.74.0': + resolution: {integrity: sha512-BXXC96ziwoPV84T9qVeZkS0JUVuv4YPdXkncCiCUDbQKj7seQJlt8H+qItngWrSc9Bsb7ui4+tv0VcSLy7V+PQ==} engines: {node: '>=14.0.0'} cpu: [s390x] os: [linux] - '@oxc-minify/binding-linux-x64-gnu@0.72.3': - resolution: {integrity: sha512-c2w3yyVvmoweH27JRmr87P49PgShsYsp9wEJqaLglHO9po3T2vg9cvuWQdolvFzOK5l6cIK9H6qWQ/iM14eXxQ==} + '@oxc-minify/binding-linux-x64-gnu@0.74.0': + resolution: {integrity: sha512-JgHXNtxcsQ2nkYJT/RQFtUP9eo4x1njdx15Kk2bL71k5psSoXYyESMxW4fFi7Nvte0G7nNMUAO1kXWEvzcjiaA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-minify/binding-linux-x64-musl@0.72.3': - resolution: {integrity: sha512-n1B/srkCowXBklgr+E5ASv7xav/y3Ipj0NlLGFIF++bfYXdz06jN4xQ7jwPxqBTq7UZcJ3s3VB+Qyua7qmgBcA==} + '@oxc-minify/binding-linux-x64-musl@0.74.0': + resolution: {integrity: sha512-dq/ILokGch5A2Y6ugLWnLrpv22GAVg5r3s6MtrdKZgd3yn5VKHPNA31rCgElY4kI80J0NhJoshWJ2GkporFd2w==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - '@oxc-minify/binding-wasm32-wasi@0.72.3': - resolution: {integrity: sha512-ZWuHsE6kp+rKruj3S8u86BdbamR9OJ1fZaJtg/Wj//U7hVV5a9i2a2gTiEA8wQIbNFqAhR4b0a11M1amzOskqA==} + '@oxc-minify/binding-wasm32-wasi@0.74.0': + resolution: {integrity: sha512-jtVPv+e1LF4dXe/fBCQ6NbM9oLcYkN6xvSYrxk8J6oE2oAvlsFqdgjimkoPn7v50m5gqaPqZeE+C4U5gRVeLJQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-minify/binding-win32-arm64-msvc@0.72.3': - resolution: {integrity: sha512-8zOQJWIllPVGLb+yG+B55QtGW2dbTiqbSe2aCAEAis1VROyQ68URH3OX4I70WOyFCQycKKFo95RjZkepaGfbIA==} + '@oxc-minify/binding-win32-arm64-msvc@0.74.0': + resolution: {integrity: sha512-V9kP7NXQ9tF9xSYXx6o/vEf8vmGOidDwweyitRj/iAIjNGWfsd5HtGglAxWz6dNxsab9BWFlbtP24aAVdB/40Q==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - '@oxc-minify/binding-win32-x64-msvc@0.72.3': - resolution: {integrity: sha512-FqZ/NHt5wgM9TUI63//eVcgvLToWtzdm0XK1mVIvMVLsmuj2lQAC4TCiSyZqg7HqSoqun1PVeqwsFmRVhVjK6A==} + '@oxc-minify/binding-win32-x64-msvc@0.74.0': + resolution: {integrity: sha512-h+sba/asWSR8vIepEZNKTrshVbWNffyr+RYA8vq6ZcAhbhFKOapLVm6auwBxeWOMk10kzr5nEAbqINon0iZ1qQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - '@oxc-project/runtime@0.72.3': - resolution: {integrity: sha512-FtOS+0v7rZcnjXzYTTqv1vu/KDptD1UztFgoZkYBGe/6TcNFm+SP/jQoLvzau1SPir95WgDOBOUm2Gmsm+bQag==} + '@oxc-project/runtime@0.73.0': + resolution: {integrity: sha512-YFvBzVQK/ix0RQxOI02ebCumehSHoiJgvb7nOU4o7xFoMnnujLdjmxnEBK/qiOQrEyXlY69gXGMEsKYVe+YZ3A==} engines: {node: '>=6.9.0'} - '@oxc-project/types@0.72.3': - resolution: {integrity: sha512-CfAC4wrmMkUoISpQkFAIfMVvlPfQV3xg7ZlcqPXPOIMQhdKIId44G8W0mCPgtpWdFFAyJ+SFtiM+9vbyCkoVng==} + '@oxc-project/types@0.73.0': + resolution: {integrity: sha512-ZQS7dpsga43R7bjqRKHRhOeNpuIBeLBnlS3M6H3IqWIWiapGOQIxp4lpETLBYupkSd4dh85ESFn6vAvtpPdGkA==} '@polka/compression@1.0.0-next.28': resolution: {integrity: sha512-aDmrBhgHJtxE+jy145WfhW9WmTAFmES/dNnn1LAs8UnnkFgBUj4T8I4ScQ9+rOkpDZStvnVP5iqhN3tvt7O1NA==} @@ -820,68 +834,68 @@ packages: '@polka/url@1.0.0-next.29': resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} - '@rolldown/binding-darwin-arm64@1.0.0-beta.15': - resolution: {integrity: sha512-YInZppDBLp5DadbJZGc7xBfDrMCSj3P6i2rPlvOCMlvjBQxJi2kX8Jquh+LufsWUiHD3JsvvH5EuUUc/tF5fkA==} + '@rolldown/binding-darwin-arm64@1.0.0-beta.16': + resolution: {integrity: sha512-dzlvuodUFc/QX97jYSsPHtYysqeSeM5gBxiN+DpV93tXEYyFMWm3cECxNmShz4ZM+lrgm6eG2/txzLZ/z9qWLw==} cpu: [arm64] os: [darwin] - '@rolldown/binding-darwin-x64@1.0.0-beta.15': - resolution: {integrity: sha512-Zwv8KHU/XdVwLseHG6slJ0FAFklPpiO0sjNvhrcMp1X3F2ajPzUdIO8Cnu3KLmX1GWVSvu6q1kyARLUqPvlh7Q==} + '@rolldown/binding-darwin-x64@1.0.0-beta.16': + resolution: {integrity: sha512-H5604ucjaYy5AxxuOP/CoE5RV3lKCJ+btclWL5rV+hVh0qNN9dVgve+onzAYmi8h2RBPET1Novj+2KB640PC9Q==} cpu: [x64] os: [darwin] - '@rolldown/binding-freebsd-x64@1.0.0-beta.15': - resolution: {integrity: sha512-FwhNC23Fz9ldHW1/rX4QaoQe4kyOybCgxO9eglue3cbb3ol28KWpQl3xJfvXc9+O6PDefAs4oFBCbtTh8seiUw==} + '@rolldown/binding-freebsd-x64@1.0.0-beta.16': + resolution: {integrity: sha512-DDzmSFFKfAcrUJfuwK4URKl28fIgK8fT5Kp374B1iJJ9KwcqIZzN1a3s/ubjTGIwiE+vUDEclVQ3z9R0VwkGAQ==} cpu: [x64] os: [freebsd] - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.15': - resolution: {integrity: sha512-E60pNliWl4j7EFEVX2oeJZ5VzR+NG6fvDJoqfqRfCl8wtKIf9E1WPWVQIrT+zkz+Fhc5op8g7h25z6rtxsDy9g==} + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.16': + resolution: {integrity: sha512-xkCdzCXW6SSDlFYaHjzCFrsbqxxo60YKVW4B/G2ST8HYruv0Ql4qpoQw7WoGeXL+bc/3RpKWzsxIiooUKX6e9Q==} cpu: [arm] os: [linux] - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.15': - resolution: {integrity: sha512-d+qo1LZ/a3EcQW08byIIZy0PBthmG/7dr69pifmNIet/azWR8jbceQaRFFczVc/NwVV3fsZDCmjG8mgJzsNEAg==} + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.16': + resolution: {integrity: sha512-Yrz782pZsFVfxlsqppDneV2dl7St7lGt1uCscXnLC0vXiesj59vl3sULQ45eMKKeEEqPKz7X8OAJI7ao6zLSyg==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.15': - resolution: {integrity: sha512-P1hbtYF+5ftJI2Ergs4iARbAk6Xd6WnTQb3CF9kjN3KfJTsRYdo5/fvU8Lz/gzhZVvkCXXH3NxDd9308UBO8cw==} + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.16': + resolution: {integrity: sha512-1M8jPk7BICBjKfqNZCMtcLvzpEFHBkySPHt+RsYGZhFuAbCb352C9ilWsjpi7WwhWBOvh6tHUNmO77NTKlLxkA==} cpu: [arm64] os: [linux] - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.15': - resolution: {integrity: sha512-Q9NM9uMFN9cjcrW7gd9U087B5WzkEj9dQQHOgoENZSy+vYJYS2fINCIG40ljEVC6jXmVrJgUhJKv7elRZM1nng==} + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.16': + resolution: {integrity: sha512-6xhZMDt4r3r3DeurJFakCqev0ct0FHU9hQPvoaHTE3EfC0yRhUp7aQmf2lsB7YVU7Zcel/KiOv/DjJQR9fntog==} cpu: [x64] os: [linux] - '@rolldown/binding-linux-x64-musl@1.0.0-beta.15': - resolution: {integrity: sha512-1tuCWuR8gx9PyW2pxAx2ZqnOnwhoY6NWBVP6ZmrjCKQ16NclYc61BzegFXSdugCy8w1QpBPT8/c5oh2W4E5aeA==} + '@rolldown/binding-linux-x64-musl@1.0.0-beta.16': + resolution: {integrity: sha512-zYnSz4Z39kEUUA1B03KbNFGgCNykZPhaDltJGY9C3bA3zU5+Ygtr+aeaRxEgXYP4PYBqE3rhPIGmDnlTzx18wA==} cpu: [x64] os: [linux] - '@rolldown/binding-wasm32-wasi@1.0.0-beta.15': - resolution: {integrity: sha512-zrSeYrpTf27hRxMLh0qpkCoWgzRKG8EyR6o09Zt9xkqCOeE5tEK/S3jV1Nii9WSqVCWFRA+OYxKzMNoykV590g==} + '@rolldown/binding-wasm32-wasi@1.0.0-beta.16': + resolution: {integrity: sha512-gFWaCVJENQWYAWkk6yJbteyMmxdZAYE9VLB4S4YqfxOYbGvVxq0K1Dn89uPEzN4beEaLToe917YzXqLdv4tPvQ==} engines: {node: '>=14.21.3'} cpu: [wasm32] - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.15': - resolution: {integrity: sha512-diR41DsMUnkvb9hvW8vuIrA0WaacAN1fu6lPseXhYifAOZN6kvxEwKn7Xib8i0zjdrYErLv7GNSQ48W+xiNOnA==} + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.16': + resolution: {integrity: sha512-rbXNzlc3/aZSNaIWKAx6TGGUcgSnDmBYxyHLYthtAXz1uvg2o0YsAKYJszWHk0fTrjtKnDXLxwNjua1pf87cZA==} cpu: [arm64] os: [win32] - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.15': - resolution: {integrity: sha512-oCbbcDC3Lk8YgdxCkG23UqVrvXVvllIBgmmwq89bhq5okPP899OI/P+oTTDsUTbhljzNq1pH8a+mR6YBxAFfvw==} + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.16': + resolution: {integrity: sha512-9o4nk+IEvyWkE5qsLjcN+Sic869hELVZ5FsEvDruCa9sX5qZV4A5pj5bR9Sc+x4L0Aa1kQkPdChgxRqV1tgOdw==} cpu: [ia32] os: [win32] - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.15': - resolution: {integrity: sha512-w5hVsOv3dzKo10wAXizmnDvUo1yasn/ps+mcn9H9TiJ/GeRE5/15Y6hG6vUQYRQNLVbYRHUt2qG0MyOoasPcHg==} + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.16': + resolution: {integrity: sha512-PJSdUi02LT2dRS5nRNmqWTAEvq11NSBfPK5DoCTUj4DaUHJd05jBBtVyLabTutjaACN53O/pLOXds73W4obZ/g==} cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-beta.15': - resolution: {integrity: sha512-lvFtIbidq5EqyAAeiVk41ZNjGRgUoGRBIuqpe1VRJ7R8Av7TLAgGWAwGlHNhO7MFkl7MNRX350CsTtIWIYkNIQ==} + '@rolldown/pluginutils@1.0.0-beta.16': + resolution: {integrity: sha512-w3f87JpF7lgIlK03I0R3XidspFgB4MsixE5o/VjBMJI+Ki4XW/Ffrykmj2AUCbVxhRD7Pi9W0Qu2XapJhB2mSA==} '@rollup/plugin-alias@5.1.1': resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} @@ -892,8 +906,8 @@ packages: rollup: optional: true - '@rollup/plugin-commonjs@28.0.3': - resolution: {integrity: sha512-pyltgilam1QPdn+Zd9gaCfOLcnjMEJ9gV+bTw6/r73INdvzf1ah9zLIJBm+kW7R6IUFIQ1YO+VqZtYxZNWFPEQ==} + '@rollup/plugin-commonjs@28.0.6': + resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -928,8 +942,8 @@ packages: rollup: optional: true - '@rollup/pluginutils@5.1.4': - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + '@rollup/pluginutils@5.2.0': + resolution: {integrity: sha512-qWJ2ZTbmumwiLFomfzTyt5Kng4hwPi9rwCYN4SHb6eaRU1KNO4ccxINHr/VhH4GgPlt1XfSTLX2LBTme8ne4Zw==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -937,129 +951,129 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.43.0': - resolution: {integrity: sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==} + '@rollup/rollup-android-arm-eabi@4.44.0': + resolution: {integrity: sha512-xEiEE5oDW6tK4jXCAyliuntGR+amEMO7HLtdSshVuhFnKTYoeYMyXQK7pLouAJJj5KHdwdn87bfHAR2nSdNAUA==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.43.0': - resolution: {integrity: sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==} + '@rollup/rollup-android-arm64@4.44.0': + resolution: {integrity: sha512-uNSk/TgvMbskcHxXYHzqwiyBlJ/lGcv8DaUfcnNwict8ba9GTTNxfn3/FAoFZYgkaXXAdrAA+SLyKplyi349Jw==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.43.0': - resolution: {integrity: sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==} + '@rollup/rollup-darwin-arm64@4.44.0': + resolution: {integrity: sha512-VGF3wy0Eq1gcEIkSCr8Ke03CWT+Pm2yveKLaDvq51pPpZza3JX/ClxXOCmTYYq3us5MvEuNRTaeyFThCKRQhOA==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.43.0': - resolution: {integrity: sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==} + '@rollup/rollup-darwin-x64@4.44.0': + resolution: {integrity: sha512-fBkyrDhwquRvrTxSGH/qqt3/T0w5Rg0L7ZIDypvBPc1/gzjJle6acCpZ36blwuwcKD/u6oCE/sRWlUAcxLWQbQ==} cpu: [x64] os: [darwin] - '@rollup/rollup-freebsd-arm64@4.43.0': - resolution: {integrity: sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==} + '@rollup/rollup-freebsd-arm64@4.44.0': + resolution: {integrity: sha512-u5AZzdQJYJXByB8giQ+r4VyfZP+walV+xHWdaFx/1VxsOn6eWJhK2Vl2eElvDJFKQBo/hcYIBg/jaKS8ZmKeNQ==} cpu: [arm64] os: [freebsd] - '@rollup/rollup-freebsd-x64@4.43.0': - resolution: {integrity: sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==} + '@rollup/rollup-freebsd-x64@4.44.0': + resolution: {integrity: sha512-qC0kS48c/s3EtdArkimctY7h3nHicQeEUdjJzYVJYR3ct3kWSafmn6jkNCA8InbUdge6PVx6keqjk5lVGJf99g==} cpu: [x64] os: [freebsd] - '@rollup/rollup-linux-arm-gnueabihf@4.43.0': - resolution: {integrity: sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==} + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': + resolution: {integrity: sha512-x+e/Z9H0RAWckn4V2OZZl6EmV0L2diuX3QB0uM1r6BvhUIv6xBPL5mrAX2E3e8N8rEHVPwFfz/ETUbV4oW9+lQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.43.0': - resolution: {integrity: sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==} + '@rollup/rollup-linux-arm-musleabihf@4.44.0': + resolution: {integrity: sha512-1exwiBFf4PU/8HvI8s80icyCcnAIB86MCBdst51fwFmH5dyeoWVPVgmQPcKrMtBQ0W5pAs7jBCWuRXgEpRzSCg==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.43.0': - resolution: {integrity: sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==} + '@rollup/rollup-linux-arm64-gnu@4.44.0': + resolution: {integrity: sha512-ZTR2mxBHb4tK4wGf9b8SYg0Y6KQPjGpR4UWwTFdnmjB4qRtoATZ5dWn3KsDwGa5Z2ZBOE7K52L36J9LueKBdOQ==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.43.0': - resolution: {integrity: sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==} + '@rollup/rollup-linux-arm64-musl@4.44.0': + resolution: {integrity: sha512-GFWfAhVhWGd4r6UxmnKRTBwP1qmModHtd5gkraeW2G490BpFOZkFtem8yuX2NyafIP/mGpRJgTJ2PwohQkUY/Q==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-loongarch64-gnu@4.43.0': - resolution: {integrity: sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==} + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': + resolution: {integrity: sha512-xw+FTGcov/ejdusVOqKgMGW3c4+AgqrfvzWEVXcNP6zq2ue+lsYUgJ+5Rtn/OTJf7e2CbgTFvzLW2j0YAtj0Gg==} cpu: [loong64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': - resolution: {integrity: sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': + resolution: {integrity: sha512-bKGibTr9IdF0zr21kMvkZT4K6NV+jjRnBoVMt2uNMG0BYWm3qOVmYnXKzx7UhwrviKnmK46IKMByMgvpdQlyJQ==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.43.0': - resolution: {integrity: sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==} + '@rollup/rollup-linux-riscv64-gnu@4.44.0': + resolution: {integrity: sha512-vV3cL48U5kDaKZtXrti12YRa7TyxgKAIDoYdqSIOMOFBXqFj2XbChHAtXquEn2+n78ciFgr4KIqEbydEGPxXgA==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-riscv64-musl@4.43.0': - resolution: {integrity: sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==} + '@rollup/rollup-linux-riscv64-musl@4.44.0': + resolution: {integrity: sha512-TDKO8KlHJuvTEdfw5YYFBjhFts2TR0VpZsnLLSYmB7AaohJhM8ctDSdDnUGq77hUh4m/djRafw+9zQpkOanE2Q==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.43.0': - resolution: {integrity: sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==} + '@rollup/rollup-linux-s390x-gnu@4.44.0': + resolution: {integrity: sha512-8541GEyktXaw4lvnGp9m84KENcxInhAt6vPWJ9RodsB/iGjHoMB2Pp5MVBCiKIRxrxzJhGCxmNzdu+oDQ7kwRA==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.43.0': - resolution: {integrity: sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==} + '@rollup/rollup-linux-x64-gnu@4.44.0': + resolution: {integrity: sha512-iUVJc3c0o8l9Sa/qlDL2Z9UP92UZZW1+EmQ4xfjTc1akr0iUFZNfxrXJ/R1T90h/ILm9iXEY6+iPrmYB3pXKjw==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.43.0': - resolution: {integrity: sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==} + '@rollup/rollup-linux-x64-musl@4.44.0': + resolution: {integrity: sha512-PQUobbhLTQT5yz/SPg116VJBgz+XOtXt8D1ck+sfJJhuEsMj2jSej5yTdp8CvWBSceu+WW+ibVL6dm0ptG5fcA==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.43.0': - resolution: {integrity: sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==} + '@rollup/rollup-win32-arm64-msvc@4.44.0': + resolution: {integrity: sha512-M0CpcHf8TWn+4oTxJfh7LQuTuaYeXGbk0eageVjQCKzYLsajWS/lFC94qlRqOlyC2KvRT90ZrfXULYmukeIy7w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.43.0': - resolution: {integrity: sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==} + '@rollup/rollup-win32-ia32-msvc@4.44.0': + resolution: {integrity: sha512-3XJ0NQtMAXTWFW8FqZKcw3gOQwBtVWP/u8TpHP3CRPXD7Pd6s8lLdH3sHWh8vqKCyyiI8xW5ltJScQmBU9j7WA==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.43.0': - resolution: {integrity: sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==} + '@rollup/rollup-win32-x64-msvc@4.44.0': + resolution: {integrity: sha512-Q2Mgwt+D8hd5FIPUuPDsvPR7Bguza6yTkJxspDGkZj7tBRn2y4KSWYuIXpftFSjBra76TbKerCV7rgFPQrn+wQ==} cpu: [x64] os: [win32] '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} - '@shikijs/core@3.6.0': - resolution: {integrity: sha512-9By7Xb3olEX0o6UeJyPLI1PE1scC4d3wcVepvtv2xbuN9/IThYN4Wcwh24rcFeASzPam11MCq8yQpwwzCgSBRw==} + '@shikijs/core@3.7.0': + resolution: {integrity: sha512-yilc0S9HvTPyahHpcum8eonYrQtmGTU0lbtwxhA6jHv4Bm1cAdlPFRCJX4AHebkCm75aKTjjRAW+DezqD1b/cg==} - '@shikijs/engine-javascript@3.6.0': - resolution: {integrity: sha512-7YnLhZG/TU05IHMG14QaLvTW/9WiK8SEYafceccHUSXs2Qr5vJibUwsDfXDLmRi0zHdzsxrGKpSX6hnqe0k8nA==} + '@shikijs/engine-javascript@3.7.0': + resolution: {integrity: sha512-0t17s03Cbv+ZcUvv+y33GtX75WBLQELgNdVghnsdhTgU3hVcWcMsoP6Lb0nDTl95ZJfbP1mVMO0p3byVh3uuzA==} - '@shikijs/engine-oniguruma@3.6.0': - resolution: {integrity: sha512-nmOhIZ9yT3Grd+2plmW/d8+vZ2pcQmo/UnVwXMUXAKTXdi+LK0S08Ancrz5tQQPkxvjBalpMW2aKvwXfelauvA==} + '@shikijs/engine-oniguruma@3.7.0': + resolution: {integrity: sha512-5BxcD6LjVWsGu4xyaBC5bu8LdNgPCVBnAkWTtOCs/CZxcB22L8rcoWfv7Hh/3WooVjBZmFtyxhgvkQFedPGnFw==} - '@shikijs/langs@3.6.0': - resolution: {integrity: sha512-IdZkQJaLBu1LCYCwkr30hNuSDfllOT8RWYVZK1tD2J03DkiagYKRxj/pDSl8Didml3xxuyzUjgtioInwEQM/TA==} + '@shikijs/langs@3.7.0': + resolution: {integrity: sha512-1zYtdfXLr9xDKLTGy5kb7O0zDQsxXiIsw1iIBcNOO8Yi5/Y1qDbJ+0VsFoqTlzdmneO8Ij35g7QKF8kcLyznCQ==} - '@shikijs/themes@3.6.0': - resolution: {integrity: sha512-Fq2j4nWr1DF4drvmhqKq8x5vVQ27VncF8XZMBuHuQMZvUSS3NBgpqfwz/FoGe36+W6PvniZ1yDlg2d4kmYDU6w==} + '@shikijs/themes@3.7.0': + resolution: {integrity: sha512-VJx8497iZPy5zLiiCTSIaOChIcKQwR0FebwE9S3rcN0+J/GTWwQ1v/bqhTbpbY3zybPKeO8wdammqkpXc4NVjQ==} - '@shikijs/transformers@3.6.0': - resolution: {integrity: sha512-PYkU54lYV0RCaUG8n2FNTF+YWiU3uPhcjLGq2x/C8lIrUX9GVnRb3bK+R5xtdFHbuctntATKm7ondp/H/dux9Q==} + '@shikijs/transformers@3.7.0': + resolution: {integrity: sha512-VplaqIMRNsNOorCXJHkbF5S0pT6xm8Z/s7w7OPZLohf8tR93XH0krvUafpNy/ozEylrWuShJF0+ftEB+wFRwGA==} - '@shikijs/types@3.6.0': - resolution: {integrity: sha512-cLWFiToxYu0aAzJqhXTQsFiJRTFDAGl93IrMSBNaGSzs7ixkLfdG6pH11HipuWFGW5vyx4X47W8HDQ7eSrmBUg==} + '@shikijs/types@3.7.0': + resolution: {integrity: sha512-MGaLeaRlSWpnP0XSAum3kP3a8vtcTsITqoEPYdt3lQG3YCdQH4DnEhodkYcNMcU0uW0RffhoD1O3e0vG5eSBBg==} '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -1095,9 +1109,6 @@ packages: '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - '@types/estree@1.0.7': - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -1119,8 +1130,8 @@ packages: '@types/lodash.template@4.5.3': resolution: {integrity: sha512-Mo0UYKLu1oXgkV9TVoXZLlXXjyIXlW7ZQRxi/4gQJmzJr63dmicE8gG0OkPjYTKBrBic852q0JzqrtNUWLBIyA==} - '@types/lodash@4.17.17': - resolution: {integrity: sha512-RRVJ+J3J+WmyOTqnz3PiBLA501eKwXl2noseKOrNo/6+XEHjTAxO4xHvxQB6QuNm+s4WRbn6rSiap8+EA+ykFQ==} + '@types/lodash@4.17.18': + resolution: {integrity: sha512-KJ65INaxqxmU6EoCiJmRPZC9H9RVWCRd349tXM2M3O5NA7cY6YL7c0bHAHQ93NOfTObEQ004kd2QVHs/r0+m4g==} '@types/mark.js@8.11.12': resolution: {integrity: sha512-244ZnaIBpz4c6xutliAnYVZp6xJlmC569jZqnR3ElO1Y01ooYASSVQEqpd2x0A2UfrgVMs5V9/9tUAdZaDMytQ==} @@ -1152,8 +1163,8 @@ packages: '@types/node@17.0.45': resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - '@types/node@24.0.1': - resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==} + '@types/node@24.0.3': + resolution: {integrity: sha512-R4I/kzCYAdRLzfiCabn9hxWfbuHS573x+r0dJMkkzThEa7pbrcDWK+9zu3e7aBOouf+rQAciqPFMnxwr0aWgKg==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1195,11 +1206,11 @@ packages: vite: ^5.0.0 || ^6.0.0 vue: ^3.2.25 - '@vitest/expect@3.2.3': - resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - '@vitest/mocker@3.2.3': - resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -1209,20 +1220,20 @@ packages: vite: optional: true - '@vitest/pretty-format@3.2.3': - resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - '@vitest/runner@3.2.3': - resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - '@vitest/snapshot@3.2.3': - resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} - '@vitest/spy@3.2.3': - resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - '@vitest/utils@3.2.3': - resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} '@volar/language-core@2.4.14': resolution: {integrity: sha512-X6beusV0DvuVseaOEy7GoagS4rYHgDHnTrdOj5jeUb49fW5ceQyP9Ej5rBhqgz2wJggl+2fDbbojq1XKaxDi6w==} @@ -1233,59 +1244,59 @@ packages: '@volar/typescript@2.4.14': resolution: {integrity: sha512-p8Z6f/bZM3/HyCdRNFZOEEzts51uV8WHeN8Tnfnm2EBv6FDB2TQLzfVx7aJvnl8ofKAOnS64B2O8bImBFaauRw==} - '@vue/compiler-core@3.5.16': - resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} + '@vue/compiler-core@3.5.17': + resolution: {integrity: sha512-Xe+AittLbAyV0pabcN7cP7/BenRBNcteM4aSDCtRvGw0d9OL+HG1u/XHLY/kt1q4fyMeZYXyIYrsHuPSiDPosA==} - '@vue/compiler-dom@3.5.16': - resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} + '@vue/compiler-dom@3.5.17': + resolution: {integrity: sha512-+2UgfLKoaNLhgfhV5Ihnk6wB4ljyW1/7wUIog2puUqajiC29Lp5R/IKDdkebh9jTbTogTbsgB+OY9cEWzG95JQ==} - '@vue/compiler-sfc@3.5.16': - resolution: {integrity: sha512-rQR6VSFNpiinDy/DVUE0vHoIDUF++6p910cgcZoaAUm3POxgNOOdS/xgoll3rNdKYTYPnnbARDCZOyZ+QSe6Pw==} + '@vue/compiler-sfc@3.5.17': + resolution: {integrity: sha512-rQQxbRJMgTqwRugtjw0cnyQv9cP4/4BxWfTdRBkqsTfLOHWykLzbOc3C4GGzAmdMDxhzU/1Ija5bTjMVrddqww==} - '@vue/compiler-ssr@3.5.16': - resolution: {integrity: sha512-d2V7kfxbdsjrDSGlJE7my1ZzCXViEcqN6w14DOsDrUCHEA6vbnVCpRFfrc4ryCP/lCKzX2eS1YtnLE/BuC9f/A==} + '@vue/compiler-ssr@3.5.17': + resolution: {integrity: sha512-hkDbA0Q20ZzGgpj5uZjb9rBzQtIHLS78mMilwrlpWk2Ep37DYntUz0PonQ6kr113vfOEdM+zTBuJDaceNIW0tQ==} - '@vue/devtools-api@7.7.6': - resolution: {integrity: sha512-b2Xx0KvXZObePpXPYHvBRRJLDQn5nhKjXh7vUhMEtWxz1AYNFOVIsh5+HLP8xDGL7sy+Q7hXeUxPHB/KgbtsPw==} + '@vue/devtools-api@7.7.7': + resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} - '@vue/devtools-kit@7.7.6': - resolution: {integrity: sha512-geu7ds7tem2Y7Wz+WgbnbZ6T5eadOvozHZ23Atk/8tksHMFOFylKi1xgGlQlVn0wlkEf4hu+vd5ctj1G4kFtwA==} + '@vue/devtools-kit@7.7.7': + resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} - '@vue/devtools-shared@7.7.6': - resolution: {integrity: sha512-yFEgJZ/WblEsojQQceuyK6FzpFDx4kqrz2ohInxNj5/DnhoX023upTv4OD6lNPLAA5LLkbwPVb10o/7b+Y4FVA==} + '@vue/devtools-shared@7.7.7': + resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} - '@vue/language-core@3.0.0-alpha.10': - resolution: {integrity: sha512-yTFidT1rb8H/nVnwEmeRWRi2XZF0vIfUg8nsb7xIapg3fLr3gJsrCNwsQcdR7gGbXGGDXt65AEQ1F9VR8B3Row==} + '@vue/language-core@3.0.0-beta.3': + resolution: {integrity: sha512-AIJrOoDCy9yTnWwoKGLlK9pTJ7dCEoo9Txy/s2ctwqaMU2a/n2ZqboXeypFtjro2FfC4oW4Sph7n5N4WQhEAGg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - '@vue/reactivity@3.5.16': - resolution: {integrity: sha512-FG5Q5ee/kxhIm1p2bykPpPwqiUBV3kFySsHEQha5BJvjXdZTUfmya7wP7zC39dFuZAcf/PD5S4Lni55vGLMhvA==} + '@vue/reactivity@3.5.17': + resolution: {integrity: sha512-l/rmw2STIscWi7SNJp708FK4Kofs97zc/5aEPQh4bOsReD/8ICuBcEmS7KGwDj5ODQLYWVN2lNibKJL1z5b+Lw==} - '@vue/runtime-core@3.5.16': - resolution: {integrity: sha512-bw5Ykq6+JFHYxrQa7Tjr+VSzw7Dj4ldR/udyBZbq73fCdJmyy5MPIFR9IX/M5Qs+TtTjuyUTCnmK3lWWwpAcFQ==} + '@vue/runtime-core@3.5.17': + resolution: {integrity: sha512-QQLXa20dHg1R0ri4bjKeGFKEkJA7MMBxrKo2G+gJikmumRS7PTD4BOU9FKrDQWMKowz7frJJGqBffYMgQYS96Q==} - '@vue/runtime-dom@3.5.16': - resolution: {integrity: sha512-T1qqYJsG2xMGhImRUV9y/RseB9d0eCYZQ4CWca9ztCuiPj/XWNNN+lkNBuzVbia5z4/cgxdL28NoQCvC0Xcfww==} + '@vue/runtime-dom@3.5.17': + resolution: {integrity: sha512-8El0M60TcwZ1QMz4/os2MdlQECgGoVHPuLnQBU3m9h3gdNRW9xRmI8iLS4t/22OQlOE6aJvNNlBiCzPHur4H9g==} - '@vue/server-renderer@3.5.16': - resolution: {integrity: sha512-BrX0qLiv/WugguGsnQUJiYOE0Fe5mZTwi6b7X/ybGB0vfrPH9z0gD/Y6WOR1sGCgX4gc25L1RYS5eYQKDMoNIg==} + '@vue/server-renderer@3.5.17': + resolution: {integrity: sha512-BOHhm8HalujY6lmC3DbqF6uXN/K00uWiEeF22LfEsm9Q93XeJ/plHTepGwf6tqFcF7GA5oGSSAAUock3VvzaCA==} peerDependencies: - vue: 3.5.16 + vue: 3.5.17 - '@vue/shared@3.5.16': - resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} + '@vue/shared@3.5.17': + resolution: {integrity: sha512-CabR+UN630VnsJO/jHWYBC1YVXyMq94KKp6iF5MQgZJs5I8cmjw6oVMO1oDbtBkENSHSSn/UadWlW/OAgdmKrg==} - '@vueuse/core@13.3.0': - resolution: {integrity: sha512-uYRz5oEfebHCoRhK4moXFM3NSCd5vu2XMLOq/Riz5FdqZMy2RvBtazdtL3gEcmDyqkztDe9ZP/zymObMIbiYSg==} + '@vueuse/core@13.4.0': + resolution: {integrity: sha512-OnK7zW3bTq/QclEk17+vDFN3tuAm8ONb9zQUIHrYQkkFesu3WeGUx/3YzpEp+ly53IfDAT9rsYXgGW6piNZC5w==} peerDependencies: vue: ^3.5.0 - '@vueuse/integrations@13.3.0': - resolution: {integrity: sha512-h5mGRYPbiTZTFP/AKELLPGnUDBly7z7Qd1pgEQlT3ItQ0NlZM0vB+8SOQycpSBOBlgg72Zgw+mi2r+4O/G8RuQ==} + '@vueuse/integrations@13.4.0': + resolution: {integrity: sha512-rwNoE0MNJBUuSzTZcUVrkovtHvpWIySOcC6XpcS33ZarHDNhd9CPvCD4eNl3N0Phz1he1JV0iYULRyPQ5HCbFA==} peerDependencies: async-validator: ^4 axios: ^1 @@ -1326,11 +1337,11 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@13.3.0': - resolution: {integrity: sha512-42IzJIOYCKIb0Yjv1JfaKpx8JlCiTmtCWrPxt7Ja6Wzoq0h79+YVXmBV03N966KEmDEESTbp5R/qO3AB5BDnGw==} + '@vueuse/metadata@13.4.0': + resolution: {integrity: sha512-CPDQ/IgOeWbqItg1c/pS+Ulum63MNbpJ4eecjFJqgD/JUCJ822zLfpw6M9HzSvL6wbzMieOtIAW/H8deQASKHg==} - '@vueuse/shared@13.3.0': - resolution: {integrity: sha512-L1QKsF0Eg9tiZSFXTgodYnu0Rsa2P0En2LuLrIs/jgrkyiDuJSsPZK+tx+wU0mMsYHUYEjNsuE41uqqkuR8VhA==} + '@vueuse/shared@13.4.0': + resolution: {integrity: sha512-+AxuKbw8R1gYy5T21V5yhadeNM7rJqb4cPaRI9DdGnnNl3uqXh+unvQ3uCaA2DjYLbNr1+l7ht/B4qEsRegX6A==} peerDependencies: vue: ^3.5.0 @@ -1350,8 +1361,8 @@ packages: add-stream@1.0.0: resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} - algoliasearch@5.27.0: - resolution: {integrity: sha512-2PvAgvxxJzA3+dB+ERfS2JPdvUsxNf89Cc2GF5iCcFupTULOwmbfinvqrC4Qj9nHJJDNf494NqEN/1f9177ZTQ==} + algoliasearch@5.29.0: + resolution: {integrity: sha512-E2l6AlTWGznM2e7vEE6T6hzObvEyXukxMOlBmVlMyixZyK1umuO/CiVc6sDBbzVH0oEviCE5IfVY1oZBmccYPQ==} engines: {node: '>= 14.0.0'} alien-signals@2.0.5: @@ -1404,29 +1415,21 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - axios@1.9.0: - resolution: {integrity: sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==} + axios@1.10.0: + resolution: {integrity: sha512-/1xYAC4MP/HEG+3duIhFr4ZQXR4sQXOIe+o6sdqzeykGLx6Upp/1p8MHqhINOvGeP7xyNHe7tsiJByc4SSVUxw==} bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} - balanced-match@3.0.1: - resolution: {integrity: sha512-vjtV3hiLqYDNRoiAv0zC4QaGAMPomEoq83PRmYIofPswwZurCeWR5LByXm7SyoL0Zh5+2z0+HC7jG8gSZJUh0w==} - engines: {node: '>= 16'} - base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - birpc@2.3.0: - resolution: {integrity: sha512-ijbtkn/F3Pvzb6jHypHRyve2QApOCZDR25D/VnkY2G/lBNcXCTsnsCxgY4k4PkVB7zfwzYbY3O9Lcqe3xufS5g==} + birpc@2.4.0: + resolution: {integrity: sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==} boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} - brace-expansion@4.0.1: - resolution: {integrity: sha512-YClrbvTCXGe70pU2JiEiPLYXO9gQkyxYeKpJIQHVS/gOs6EWMQP2RYBwjFLNT322Ji8TOC3IMPfsYCedNpzKfA==} - engines: {node: '>= 18'} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -1645,8 +1648,8 @@ packages: supports-color: optional: true - decode-named-character-reference@1.1.0: - resolution: {integrity: sha512-Wy+JTSbFThEOXQIR2L6mxJvEs+veIzpmqD7ynWxMXGpnk3smkHQOp6forLdHsKpAMW9iJpaBBIxz285t1n1C3w==} + decode-named-character-reference@1.2.0: + resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==} deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} @@ -1801,8 +1804,8 @@ packages: resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} engines: {node: '>=12.0.0'} - exsolve@1.0.5: - resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} extend-shallow@2.0.1: resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} @@ -1926,8 +1929,8 @@ packages: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob@11.0.2: - resolution: {integrity: sha512-YT7U7Vye+t5fZ/QMkBFrTJ7ZQxInIUjwyAjVj84CYXqgBdv30MFUPGnBR6sQaVq6Is15wYJUsnzTuWaGRBhBAQ==} + glob@11.0.3: + resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} engines: {node: 20 || >=22} hasBin: true @@ -2194,8 +2197,8 @@ packages: linkify-it@5.0.0: resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} - lint-staged@16.1.0: - resolution: {integrity: sha512-HkpQh69XHxgCjObjejBT3s2ILwNjFx8M3nw+tJ/ssBauDlIpkx2RpqWSi1fBgkXLSSXnbR3iEq1NkVtpvV+FLQ==} + lint-staged@16.1.2: + resolution: {integrity: sha512-sQKw2Si2g9KUZNY3XNvRuDq4UJqpHwF0/FQzZR2M7I5MvtpWvibikCjUVJzZdGE0ByurEl3KQNvsGetd1ty1/Q==} engines: {node: '>=20.17'} hasBin: true @@ -2231,8 +2234,8 @@ packages: longest-streak@3.1.0: resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} + loupe@3.1.4: + resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} @@ -2416,8 +2419,8 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - minimatch@10.0.2: - resolution: {integrity: sha512-+9TJCIYXgZ2Dm5LxVCFsa8jOm+evMwXHFI0JM1XROmkfkpz8/iLLDh+TwSmyIBrs6C6Xu9294/fq8cBA+P6AqA==} + minimatch@10.0.3: + resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} minimist@1.2.8: @@ -2509,8 +2512,8 @@ packages: resolution: {integrity: sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==} engines: {node: '>=18'} - oxc-minify@0.72.3: - resolution: {integrity: sha512-0h1Qf5SJKSYGLbtZVsJpGOGf2If7xvCziZKJACtL8QIrBqU/LXjQ/Smd9lIL+OEVj1/kInyPbIi/TtU79P8n0Q==} + oxc-minify@0.74.0: + resolution: {integrity: sha512-v4qWyfUSb6hX2fipnssjl/FZLCcuFCsjyx6BSCYS0TE3jSbUxwZyFNVkIcrYcI/g4h+CEUnt/Favt927myp45A==} engines: {node: '>=14.0.0'} p-map@7.0.3: @@ -2602,13 +2605,13 @@ packages: pkg-types@2.1.0: resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} - playwright-chromium@1.53.0: - resolution: {integrity: sha512-wFIOWSc3037Ql9swJrfCQL/SfcVXbl8X944CzzQmkvh4KqCNp1QMBOGPfltu/+URTfCa5I9qc6HW1YEgY1jeNA==} + playwright-chromium@1.53.1: + resolution: {integrity: sha512-V+S/r4UkmVoF+ARC4YDnJF6fIsdIGMgyJ6daBdrODryU5qqWrM1M+5PP/jRX6u1yfwPfSNRwlYsat49duKsyMQ==} engines: {node: '>=18'} hasBin: true - playwright-core@1.53.0: - resolution: {integrity: sha512-mGLg8m0pm4+mmtB7M89Xw/GSqoNC+twivl8ITteqvAndachozYe2ZA7srU6uleV1vEdAHYqjq+SV8SNxRRFYBw==} + playwright-core@1.53.1: + resolution: {integrity: sha512-Z46Oq7tLAyT0lGoFx4DOuB1IA9D1TPj0QkYxpPVUnGDqHHvDpCftu1J2hM2PiWsNMoZh8+LQaarAWcDfPBc6zg==} engines: {node: '>=18'} hasBin: true @@ -2627,15 +2630,15 @@ packages: peerDependencies: postcss: ^8.4.21 - postcss@8.5.5: - resolution: {integrity: sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} preact@10.26.9: resolution: {integrity: sha512-SSjF9vcnF27mJK1XyFMNJzFd5u3pQiATFqoaDy03XuN00u4ziveVVEGt5RKJrDR8MHE/wJo9Nnad56RLzS2RMA==} - prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.0: + resolution: {integrity: sha512-ujSB9uXHJKzM/2GBuE0hBOUgC77CN3Bnpqa+g80bkv3T3A93wL/xlzDATHhnhkzifz/UE2SNOvmbTz5hSkDlHw==} engines: {node: '>=14'} hasBin: true @@ -2744,8 +2747,8 @@ packages: engines: {node: 20 || >=22} hasBin: true - rolldown-vite@6.3.19: - resolution: {integrity: sha512-WhyqhhSrC46rh+r36Dk7B+WN3tVgzbCr5oKEZGHed7fxydNhHmantPY+U36g4wb+GT1dQypc7OeazoFAsbMyfg==} + rolldown-vite@6.3.21: + resolution: {integrity: sha512-mjds/3g+YPWJmT08oQic/L5sWvs/lNc4vs9vmD7uHQtGdP7qGriWtYf62Vp+6eQhd/MPeFVw71TMEEt/cH+sLQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -2784,8 +2787,8 @@ packages: yaml: optional: true - rolldown@1.0.0-beta.15: - resolution: {integrity: sha512-ep788NsIGl0W5gT+99hBrSGe4Hdhcwc55PqM3O0mR5H0C4ZpGpDGgu9YzTJ8a6mFDLnFnc/LYC+Dszb7oWK/dg==} + rolldown@1.0.0-beta.16: + resolution: {integrity: sha512-ruNh01VbnTJsW0kgYywrQ80FUY0yJvXqavPVljGg0dRiwggYB7yXlypw1ptkFiomkEOnOGiwncjiviUakgPHxg==} hasBin: true rollup-plugin-dts@6.1.1: @@ -2802,8 +2805,8 @@ packages: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup@4.43.0: - resolution: {integrity: sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==} + rollup@4.44.0: + resolution: {integrity: sha512-qHcdEzLCiktQIfwBq420pn2dP+30uzqYxv9ETm91wdt2R9AFcWfjNAmje4NWlnCIQ5RMTzVf0ZyisOKqHR6RwA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -2845,8 +2848,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@3.6.0: - resolution: {integrity: sha512-tKn/Y0MGBTffQoklaATXmTqDU02zx8NYBGQ+F6gy87/YjKbizcLd+Cybh/0ZtOBX9r1NEnAy/GTRDKtOsc1L9w==} + shiki@3.7.0: + resolution: {integrity: sha512-ZcI4UT9n6N2pDuM2n3Jbk0sR4Swzq43nLPgS/4h0E3B/NrFn2HKElrDtceSf8Zx/OWYOo7G1SAtBLypCp+YXqg==} siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -3014,8 +3017,8 @@ packages: resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} engines: {node: '>=12.0.0'} - tinypool@1.1.0: - resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} tinyrainbow@2.0.0: @@ -3034,8 +3037,8 @@ packages: resolution: {integrity: sha512-Y2fmSnZjQdDb9W4w4r1tswlMHylzWIeOKpx0aZH9BgGtACHhrk3OkT52AzwcuqTRBZtvvnTjDBh8eynMulu8Vg==} engines: {node: '>=14.16'} - tokenx@1.0.1: - resolution: {integrity: sha512-MhOngUHRuVE0CHP4cNEZ/XpdXETFL65nJpEvoTW+VYPuXsT/MTeNj+UNnekNsnxecmj2DEvUYPebqz+CsPTUSg==} + tokenx@1.1.0: + resolution: {integrity: sha512-KCjtiC2niPwTSuz4ktM82Ki5bjqBwYpssiHDsGr5BpejN/B3ksacRvrsdoxljdMIh2nCX78alnDkeemBmYUmTA==} totalist@3.0.1: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} @@ -3145,8 +3148,8 @@ packages: vfile@6.0.3: resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==} - vite-node@3.2.3: - resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -3155,19 +3158,19 @@ packages: peerDependencies: markdown-it: '>=14' - vitepress-plugin-llms@1.5.0: - resolution: {integrity: sha512-+7WPf7LRPcaWHyF1OcCusgfa6YI2D3WFQ/M+UzDTmxcmN7xyFwx9MDSw4gPtsicLpAGfbOL2MwpUHJ4bjEpGrw==} + vitepress-plugin-llms@1.5.1: + resolution: {integrity: sha512-dEofHjDDiudwFZCvU6MxmKe9HV6KeBvA9Mz9gnZAYTSwg7AVr6PRreURQRYAvCAxzLEgaJ1WRef/OwtNqvNOCA==} - vitest@3.2.3: - resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.3 - '@vitest/ui': 3.2.3 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3189,14 +3192,14 @@ packages: vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - vue-tsc@3.0.0-alpha.10: - resolution: {integrity: sha512-V8xyil0GhSb3kr08kcyDt8N0YFF0obHjINxN4ZyyYYoUitiIHJ1uhPofnKVk5SEqXyQ5GBVMQhY/aCA1Uptd3g==} + vue-tsc@3.0.0-beta.3: + resolution: {integrity: sha512-0HbLMT15XmgkChUUBBVB7x3cGncnAS3p9ErJKc6xBW6ZDbPsHx95dhApsXO/krD0+dqVl4DzQscY7WCLd7SfMQ==} hasBin: true peerDependencies: typescript: '>=5.0.0' - vue@3.5.16: - resolution: {integrity: sha512-rjOV2ecxMd5SiAmof2xzh2WxntRcigkX/He4YFJ6WdRvVUrbt6DxC1Iujh10XLl8xCDRDtGKMeO3D+pRQ1PP9w==} + vue@3.5.17: + resolution: {integrity: sha512-LbHV3xPN9BeljML+Xctq4lbz2lVHCR6DtbpTf5XIO6gugpXUN49j2QQPcMj086r9+AkJ0FfUT8xjulKKBkkr9g==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3267,117 +3270,117 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} - zod@3.25.62: - resolution: {integrity: sha512-YCxsr4DmhPcrKPC9R1oBHQNlQzlJEyPAId//qTau/vBee9uO8K6prmRq4eMkOyxvBfH4wDPIPdLx9HVMWIY3xA==} + zod@3.25.67: + resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} snapshots: - '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0)': + '@algolia/autocomplete-core@1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0)': dependencies: - '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0) - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0) + '@algolia/autocomplete-plugin-algolia-insights': 1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - search-insights - '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0)': + '@algolia/autocomplete-plugin-algolia-insights@1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0) + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0) transitivePeerDependencies: - '@algolia/client-search' - algoliasearch - '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0)': + '@algolia/autocomplete-preset-algolia@1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0)': dependencies: - '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0) - '@algolia/client-search': 5.27.0 - algoliasearch: 5.27.0 + '@algolia/autocomplete-shared': 1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0) + '@algolia/client-search': 5.29.0 + algoliasearch: 5.29.0 - '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0)': + '@algolia/autocomplete-shared@1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0)': dependencies: - '@algolia/client-search': 5.27.0 - algoliasearch: 5.27.0 + '@algolia/client-search': 5.29.0 + algoliasearch: 5.29.0 - '@algolia/client-abtesting@5.27.0': + '@algolia/client-abtesting@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/client-analytics@5.27.0': + '@algolia/client-analytics@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/client-common@5.27.0': {} + '@algolia/client-common@5.29.0': {} - '@algolia/client-insights@5.27.0': + '@algolia/client-insights@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/client-personalization@5.27.0': + '@algolia/client-personalization@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/client-query-suggestions@5.27.0': + '@algolia/client-query-suggestions@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/client-search@5.27.0': + '@algolia/client-search@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/ingestion@1.27.0': + '@algolia/ingestion@1.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/monitoring@1.27.0': + '@algolia/monitoring@1.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/recommend@5.27.0': + '@algolia/recommend@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + '@algolia/client-common': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 - '@algolia/requester-browser-xhr@5.27.0': + '@algolia/requester-browser-xhr@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 + '@algolia/client-common': 5.29.0 - '@algolia/requester-fetch@5.27.0': + '@algolia/requester-fetch@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 + '@algolia/client-common': 5.29.0 - '@algolia/requester-node-http@5.27.0': + '@algolia/requester-node-http@5.29.0': dependencies: - '@algolia/client-common': 5.27.0 + '@algolia/client-common': 5.29.0 '@antfu/install-pkg@1.1.0': dependencies: @@ -3431,9 +3434,9 @@ snapshots: '@docsearch/css@3.9.0': {} - '@docsearch/js@3.9.0(@algolia/client-search@5.27.0)': + '@docsearch/js@3.9.0(@algolia/client-search@5.29.0)': dependencies: - '@docsearch/react': 3.9.0(@algolia/client-search@5.27.0) + '@docsearch/react': 3.9.0(@algolia/client-search@5.29.0) preact: 10.26.9 transitivePeerDependencies: - '@algolia/client-search' @@ -3442,12 +3445,12 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.9.0(@algolia/client-search@5.27.0)': + '@docsearch/react@3.9.0(@algolia/client-search@5.29.0)': dependencies: - '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0) - '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.27.0)(algoliasearch@5.27.0) + '@algolia/autocomplete-core': 1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0) + '@algolia/autocomplete-preset-algolia': 1.17.9(@algolia/client-search@5.29.0)(algoliasearch@5.29.0) '@docsearch/css': 3.9.0 - algoliasearch: 5.27.0 + algoliasearch: 5.29.0 transitivePeerDependencies: - '@algolia/client-search' @@ -3554,11 +3557,11 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/simple-icons@1.2.38': + '@iconify-json/simple-icons@1.2.39': dependencies: '@iconify/types': 2.0.0 - '@iconify-json/vscode-icons@1.2.22': + '@iconify-json/vscode-icons@1.2.23': dependencies: '@iconify/types': 2.0.0 @@ -3577,6 +3580,12 @@ snapshots: transitivePeerDependencies: - supports-color + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -3607,7 +3616,7 @@ snapshots: picocolors: 1.1.1 simple-git: 3.28.0 ultramatter: 0.0.4 - zod: 3.25.62 + zod: 3.25.67 transitivePeerDependencies: - supports-color @@ -3677,105 +3686,108 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.1 - '@oxc-minify/binding-darwin-arm64@0.72.3': + '@oxc-minify/binding-android-arm64@0.74.0': + optional: true + + '@oxc-minify/binding-darwin-arm64@0.74.0': optional: true - '@oxc-minify/binding-darwin-x64@0.72.3': + '@oxc-minify/binding-darwin-x64@0.74.0': optional: true - '@oxc-minify/binding-freebsd-x64@0.72.3': + '@oxc-minify/binding-freebsd-x64@0.74.0': optional: true - '@oxc-minify/binding-linux-arm-gnueabihf@0.72.3': + '@oxc-minify/binding-linux-arm-gnueabihf@0.74.0': optional: true - '@oxc-minify/binding-linux-arm-musleabihf@0.72.3': + '@oxc-minify/binding-linux-arm-musleabihf@0.74.0': optional: true - '@oxc-minify/binding-linux-arm64-gnu@0.72.3': + '@oxc-minify/binding-linux-arm64-gnu@0.74.0': optional: true - '@oxc-minify/binding-linux-arm64-musl@0.72.3': + '@oxc-minify/binding-linux-arm64-musl@0.74.0': optional: true - '@oxc-minify/binding-linux-riscv64-gnu@0.72.3': + '@oxc-minify/binding-linux-riscv64-gnu@0.74.0': optional: true - '@oxc-minify/binding-linux-s390x-gnu@0.72.3': + '@oxc-minify/binding-linux-s390x-gnu@0.74.0': optional: true - '@oxc-minify/binding-linux-x64-gnu@0.72.3': + '@oxc-minify/binding-linux-x64-gnu@0.74.0': optional: true - '@oxc-minify/binding-linux-x64-musl@0.72.3': + '@oxc-minify/binding-linux-x64-musl@0.74.0': optional: true - '@oxc-minify/binding-wasm32-wasi@0.72.3': + '@oxc-minify/binding-wasm32-wasi@0.74.0': dependencies: '@napi-rs/wasm-runtime': 0.2.11 optional: true - '@oxc-minify/binding-win32-arm64-msvc@0.72.3': + '@oxc-minify/binding-win32-arm64-msvc@0.74.0': optional: true - '@oxc-minify/binding-win32-x64-msvc@0.72.3': + '@oxc-minify/binding-win32-x64-msvc@0.74.0': optional: true - '@oxc-project/runtime@0.72.3': {} + '@oxc-project/runtime@0.73.0': {} - '@oxc-project/types@0.72.3': {} + '@oxc-project/types@0.73.0': {} '@polka/compression@1.0.0-next.28': {} '@polka/url@1.0.0-next.29': {} - '@rolldown/binding-darwin-arm64@1.0.0-beta.15': + '@rolldown/binding-darwin-arm64@1.0.0-beta.16': optional: true - '@rolldown/binding-darwin-x64@1.0.0-beta.15': + '@rolldown/binding-darwin-x64@1.0.0-beta.16': optional: true - '@rolldown/binding-freebsd-x64@1.0.0-beta.15': + '@rolldown/binding-freebsd-x64@1.0.0-beta.16': optional: true - '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.15': + '@rolldown/binding-linux-arm-gnueabihf@1.0.0-beta.16': optional: true - '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.15': + '@rolldown/binding-linux-arm64-gnu@1.0.0-beta.16': optional: true - '@rolldown/binding-linux-arm64-musl@1.0.0-beta.15': + '@rolldown/binding-linux-arm64-musl@1.0.0-beta.16': optional: true - '@rolldown/binding-linux-x64-gnu@1.0.0-beta.15': + '@rolldown/binding-linux-x64-gnu@1.0.0-beta.16': optional: true - '@rolldown/binding-linux-x64-musl@1.0.0-beta.15': + '@rolldown/binding-linux-x64-musl@1.0.0-beta.16': optional: true - '@rolldown/binding-wasm32-wasi@1.0.0-beta.15': + '@rolldown/binding-wasm32-wasi@1.0.0-beta.16': dependencies: '@napi-rs/wasm-runtime': 0.2.11 optional: true - '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.15': + '@rolldown/binding-win32-arm64-msvc@1.0.0-beta.16': optional: true - '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.15': + '@rolldown/binding-win32-ia32-msvc@1.0.0-beta.16': optional: true - '@rolldown/binding-win32-x64-msvc@1.0.0-beta.15': + '@rolldown/binding-win32-x64-msvc@1.0.0-beta.16': optional: true - '@rolldown/pluginutils@1.0.0-beta.15': {} + '@rolldown/pluginutils@1.0.0-beta.16': {} - '@rollup/plugin-alias@5.1.1(rollup@4.43.0)': + '@rollup/plugin-alias@5.1.1(rollup@4.44.0)': optionalDependencies: - rollup: 4.43.0 + rollup: 4.44.0 - '@rollup/plugin-commonjs@28.0.3(rollup@4.43.0)': + '@rollup/plugin-commonjs@28.0.6(rollup@4.44.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) + '@rollup/pluginutils': 5.2.0(rollup@4.44.0) commondir: 1.0.1 estree-walker: 2.0.2 fdir: 6.4.6(picomatch@4.0.2) @@ -3783,133 +3795,133 @@ snapshots: magic-string: 0.30.17 picomatch: 4.0.2 optionalDependencies: - rollup: 4.43.0 + rollup: 4.44.0 - '@rollup/plugin-json@6.1.0(rollup@4.43.0)': + '@rollup/plugin-json@6.1.0(rollup@4.44.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) + '@rollup/pluginutils': 5.2.0(rollup@4.44.0) optionalDependencies: - rollup: 4.43.0 + rollup: 4.44.0 - '@rollup/plugin-node-resolve@16.0.1(rollup@4.43.0)': + '@rollup/plugin-node-resolve@16.0.1(rollup@4.44.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) + '@rollup/pluginutils': 5.2.0(rollup@4.44.0) '@types/resolve': 1.20.2 deepmerge: 4.3.1 is-module: 1.0.0 resolve: 1.22.10 optionalDependencies: - rollup: 4.43.0 + rollup: 4.44.0 - '@rollup/plugin-replace@6.0.2(rollup@4.43.0)': + '@rollup/plugin-replace@6.0.2(rollup@4.44.0)': dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) + '@rollup/pluginutils': 5.2.0(rollup@4.44.0) magic-string: 0.30.17 optionalDependencies: - rollup: 4.43.0 + rollup: 4.44.0 - '@rollup/pluginutils@5.1.4(rollup@4.43.0)': + '@rollup/pluginutils@5.2.0(rollup@4.44.0)': dependencies: '@types/estree': 1.0.8 estree-walker: 2.0.2 picomatch: 4.0.2 optionalDependencies: - rollup: 4.43.0 + rollup: 4.44.0 - '@rollup/rollup-android-arm-eabi@4.43.0': + '@rollup/rollup-android-arm-eabi@4.44.0': optional: true - '@rollup/rollup-android-arm64@4.43.0': + '@rollup/rollup-android-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-arm64@4.43.0': + '@rollup/rollup-darwin-arm64@4.44.0': optional: true - '@rollup/rollup-darwin-x64@4.43.0': + '@rollup/rollup-darwin-x64@4.44.0': optional: true - '@rollup/rollup-freebsd-arm64@4.43.0': + '@rollup/rollup-freebsd-arm64@4.44.0': optional: true - '@rollup/rollup-freebsd-x64@4.43.0': + '@rollup/rollup-freebsd-x64@4.44.0': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.43.0': + '@rollup/rollup-linux-arm-gnueabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.43.0': + '@rollup/rollup-linux-arm-musleabihf@4.44.0': optional: true - '@rollup/rollup-linux-arm64-gnu@4.43.0': + '@rollup/rollup-linux-arm64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-arm64-musl@4.43.0': + '@rollup/rollup-linux-arm64-musl@4.44.0': optional: true - '@rollup/rollup-linux-loongarch64-gnu@4.43.0': + '@rollup/rollup-linux-loongarch64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.43.0': + '@rollup/rollup-linux-riscv64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-riscv64-musl@4.43.0': + '@rollup/rollup-linux-riscv64-musl@4.44.0': optional: true - '@rollup/rollup-linux-s390x-gnu@4.43.0': + '@rollup/rollup-linux-s390x-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-gnu@4.43.0': + '@rollup/rollup-linux-x64-gnu@4.44.0': optional: true - '@rollup/rollup-linux-x64-musl@4.43.0': + '@rollup/rollup-linux-x64-musl@4.44.0': optional: true - '@rollup/rollup-win32-arm64-msvc@4.43.0': + '@rollup/rollup-win32-arm64-msvc@4.44.0': optional: true - '@rollup/rollup-win32-ia32-msvc@4.43.0': + '@rollup/rollup-win32-ia32-msvc@4.44.0': optional: true - '@rollup/rollup-win32-x64-msvc@4.43.0': + '@rollup/rollup-win32-x64-msvc@4.44.0': optional: true '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@3.6.0': + '@shikijs/core@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 - '@shikijs/engine-javascript@3.6.0': + '@shikijs/engine-javascript@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 4.3.3 - '@shikijs/engine-oniguruma@3.6.0': + '@shikijs/engine-oniguruma@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 - '@shikijs/langs@3.6.0': + '@shikijs/langs@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 - '@shikijs/themes@3.6.0': + '@shikijs/themes@3.7.0': dependencies: - '@shikijs/types': 3.6.0 + '@shikijs/types': 3.7.0 - '@shikijs/transformers@3.6.0': + '@shikijs/transformers@3.7.0': dependencies: - '@shikijs/core': 3.6.0 - '@shikijs/types': 3.6.0 + '@shikijs/core': 3.7.0 + '@shikijs/types': 3.7.0 - '@shikijs/types@3.6.0': + '@shikijs/types@3.7.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -3939,7 +3951,7 @@ snapshots: '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 24.0.1 + '@types/node': 24.0.3 '@types/debug@4.1.12': dependencies: @@ -3947,14 +3959,12 @@ snapshots: '@types/deep-eql@4.0.2': {} - '@types/estree@1.0.7': {} - '@types/estree@1.0.8': {} '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 24.0.1 + '@types/node': 24.0.3 '@types/hast@3.0.4': dependencies: @@ -3966,15 +3976,15 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 24.0.1 + '@types/node': 24.0.3 '@types/linkify-it@5.0.0': {} '@types/lodash.template@4.5.3': dependencies: - '@types/lodash': 4.17.17 + '@types/lodash': 4.17.18 - '@types/lodash@4.17.17': {} + '@types/lodash@4.17.18': {} '@types/mark.js@8.11.12': dependencies: @@ -4009,7 +4019,7 @@ snapshots: '@types/node@17.0.45': {} - '@types/node@24.0.1': + '@types/node@24.0.3': dependencies: undici-types: 7.8.0 @@ -4019,18 +4029,18 @@ snapshots: '@types/postcss-prefix-selector@1.16.3': dependencies: - postcss: 8.5.5 + postcss: 8.5.6 '@types/prompts@2.4.9': dependencies: - '@types/node': 24.0.1 + '@types/node': 24.0.3 kleur: 3.0.3 '@types/resolve@1.20.2': {} '@types/sax@1.2.7': dependencies: - '@types/node': 24.0.1 + '@types/node': 24.0.3 '@types/semver@7.7.0': {} @@ -4042,51 +4052,51 @@ snapshots: '@ungap/structured-clone@1.3.0': {} - '@vitejs/plugin-vue@5.2.4(rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0))(vue@3.5.17(typescript@5.8.3))': dependencies: - vite: rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) - vue: 3.5.16(typescript@5.8.3) + vite: rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + vue: 3.5.17(typescript@5.8.3) - '@vitest/expect@3.2.3': + '@vitest/expect@3.2.4': dependencies: '@types/chai': 5.2.2 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.3(rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0))': dependencies: - '@vitest/spy': 3.2.3 + '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) - '@vitest/pretty-format@3.2.3': + '@vitest/pretty-format@3.2.4': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.2.3': + '@vitest/runner@3.2.4': dependencies: - '@vitest/utils': 3.2.3 + '@vitest/utils': 3.2.4 pathe: 2.0.3 strip-literal: 3.0.0 - '@vitest/snapshot@3.2.3': + '@vitest/snapshot@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 + '@vitest/pretty-format': 3.2.4 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.2.3': + '@vitest/spy@3.2.4': dependencies: tinyspy: 4.0.3 - '@vitest/utils@3.2.3': + '@vitest/utils@3.2.4': dependencies: - '@vitest/pretty-format': 3.2.3 - loupe: 3.1.3 + '@vitest/pretty-format': 3.2.4 + loupe: 3.1.4 tinyrainbow: 2.0.0 '@volar/language-core@2.4.14': @@ -4101,111 +4111,111 @@ snapshots: path-browserify: 1.0.1 vscode-uri: 3.1.0 - '@vue/compiler-core@3.5.16': + '@vue/compiler-core@3.5.17': dependencies: '@babel/parser': 7.27.5 - '@vue/shared': 3.5.16 + '@vue/shared': 3.5.17 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-dom@3.5.16': + '@vue/compiler-dom@3.5.17': dependencies: - '@vue/compiler-core': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-core': 3.5.17 + '@vue/shared': 3.5.17 - '@vue/compiler-sfc@3.5.16': + '@vue/compiler-sfc@3.5.17': dependencies: '@babel/parser': 7.27.5 - '@vue/compiler-core': 3.5.16 - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-core': 3.5.17 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 estree-walker: 2.0.2 magic-string: 0.30.17 - postcss: 8.5.5 + postcss: 8.5.6 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.16': + '@vue/compiler-ssr@3.5.17': dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.17 + '@vue/shared': 3.5.17 - '@vue/devtools-api@7.7.6': + '@vue/devtools-api@7.7.7': dependencies: - '@vue/devtools-kit': 7.7.6 + '@vue/devtools-kit': 7.7.7 - '@vue/devtools-kit@7.7.6': + '@vue/devtools-kit@7.7.7': dependencies: - '@vue/devtools-shared': 7.7.6 - birpc: 2.3.0 + '@vue/devtools-shared': 7.7.7 + birpc: 2.4.0 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 superjson: 2.2.2 - '@vue/devtools-shared@7.7.6': + '@vue/devtools-shared@7.7.7': dependencies: rfdc: 1.4.1 - '@vue/language-core@3.0.0-alpha.10(typescript@5.8.3)': + '@vue/language-core@3.0.0-beta.3(typescript@5.8.3)': dependencies: '@volar/language-core': 2.4.14 - '@vue/compiler-dom': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.17 + '@vue/shared': 3.5.17 alien-signals: 2.0.5 - minimatch: 10.0.2 + minimatch: 10.0.3 muggle-string: 0.4.1 path-browserify: 1.0.1 optionalDependencies: typescript: 5.8.3 - '@vue/reactivity@3.5.16': + '@vue/reactivity@3.5.17': dependencies: - '@vue/shared': 3.5.16 + '@vue/shared': 3.5.17 - '@vue/runtime-core@3.5.16': + '@vue/runtime-core@3.5.17': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/reactivity': 3.5.17 + '@vue/shared': 3.5.17 - '@vue/runtime-dom@3.5.16': + '@vue/runtime-dom@3.5.17': dependencies: - '@vue/reactivity': 3.5.16 - '@vue/runtime-core': 3.5.16 - '@vue/shared': 3.5.16 + '@vue/reactivity': 3.5.17 + '@vue/runtime-core': 3.5.17 + '@vue/shared': 3.5.17 csstype: 3.1.3 - '@vue/server-renderer@3.5.16(vue@3.5.16(typescript@5.8.3))': + '@vue/server-renderer@3.5.17(vue@3.5.17(typescript@5.8.3))': dependencies: - '@vue/compiler-ssr': 3.5.16 - '@vue/shared': 3.5.16 - vue: 3.5.16(typescript@5.8.3) + '@vue/compiler-ssr': 3.5.17 + '@vue/shared': 3.5.17 + vue: 3.5.17(typescript@5.8.3) - '@vue/shared@3.5.16': {} + '@vue/shared@3.5.17': {} - '@vueuse/core@13.3.0(vue@3.5.16(typescript@5.8.3))': + '@vueuse/core@13.4.0(vue@3.5.17(typescript@5.8.3))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 13.3.0 - '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.8.3)) - vue: 3.5.16(typescript@5.8.3) + '@vueuse/metadata': 13.4.0 + '@vueuse/shared': 13.4.0(vue@3.5.17(typescript@5.8.3)) + vue: 3.5.17(typescript@5.8.3) - '@vueuse/integrations@13.3.0(axios@1.9.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.16(typescript@5.8.3))': + '@vueuse/integrations@13.4.0(axios@1.10.0(debug@4.4.1))(focus-trap@7.6.5)(vue@3.5.17(typescript@5.8.3))': dependencies: - '@vueuse/core': 13.3.0(vue@3.5.16(typescript@5.8.3)) - '@vueuse/shared': 13.3.0(vue@3.5.16(typescript@5.8.3)) - vue: 3.5.16(typescript@5.8.3) + '@vueuse/core': 13.4.0(vue@3.5.17(typescript@5.8.3)) + '@vueuse/shared': 13.4.0(vue@3.5.17(typescript@5.8.3)) + vue: 3.5.17(typescript@5.8.3) optionalDependencies: - axios: 1.9.0(debug@4.4.1) + axios: 1.10.0(debug@4.4.1) focus-trap: 7.6.5 - '@vueuse/metadata@13.3.0': {} + '@vueuse/metadata@13.4.0': {} - '@vueuse/shared@13.3.0(vue@3.5.16(typescript@5.8.3))': + '@vueuse/shared@13.4.0(vue@3.5.17(typescript@5.8.3))': dependencies: - vue: 3.5.16(typescript@5.8.3) + vue: 3.5.17(typescript@5.8.3) '@xmldom/xmldom@0.9.8': {} @@ -4217,21 +4227,21 @@ snapshots: add-stream@1.0.0: {} - algoliasearch@5.27.0: - dependencies: - '@algolia/client-abtesting': 5.27.0 - '@algolia/client-analytics': 5.27.0 - '@algolia/client-common': 5.27.0 - '@algolia/client-insights': 5.27.0 - '@algolia/client-personalization': 5.27.0 - '@algolia/client-query-suggestions': 5.27.0 - '@algolia/client-search': 5.27.0 - '@algolia/ingestion': 1.27.0 - '@algolia/monitoring': 1.27.0 - '@algolia/recommend': 5.27.0 - '@algolia/requester-browser-xhr': 5.27.0 - '@algolia/requester-fetch': 5.27.0 - '@algolia/requester-node-http': 5.27.0 + algoliasearch@5.29.0: + dependencies: + '@algolia/client-abtesting': 5.29.0 + '@algolia/client-analytics': 5.29.0 + '@algolia/client-common': 5.29.0 + '@algolia/client-insights': 5.29.0 + '@algolia/client-personalization': 5.29.0 + '@algolia/client-query-suggestions': 5.29.0 + '@algolia/client-search': 5.29.0 + '@algolia/ingestion': 1.29.0 + '@algolia/monitoring': 1.29.0 + '@algolia/recommend': 5.29.0 + '@algolia/requester-browser-xhr': 5.29.0 + '@algolia/requester-fetch': 5.29.0 + '@algolia/requester-node-http': 5.29.0 alien-signals@2.0.5: {} @@ -4267,7 +4277,7 @@ snapshots: asynckit@0.4.0: {} - axios@1.9.0(debug@4.4.1): + axios@1.10.0(debug@4.4.1): dependencies: follow-redirects: 1.15.9(debug@4.4.1) form-data: 4.0.3 @@ -4277,18 +4287,12 @@ snapshots: bail@2.0.2: {} - balanced-match@3.0.1: {} - base64-js@1.5.1: {} - birpc@2.3.0: {} + birpc@2.4.0: {} boolbase@1.0.0: {} - brace-expansion@4.0.1: - dependencies: - balanced-match: 3.0.1 - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -4318,7 +4322,7 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.3 + loupe: 3.1.4 pathval: 2.0.0 chalk@5.4.1: {} @@ -4510,7 +4514,7 @@ snapshots: dependencies: ms: 2.1.3 - decode-named-character-reference@1.1.0: + decode-named-character-reference@1.2.0: dependencies: character-entities: 2.0.2 @@ -4667,7 +4671,7 @@ snapshots: expect-type@1.2.1: {} - exsolve@1.0.5: {} + exsolve@1.0.7: {} extend-shallow@2.0.1: dependencies: @@ -4800,11 +4804,11 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@11.0.2: + glob@11.0.3: dependencies: foreground-child: 3.3.1 jackspeak: 4.1.1 - minimatch: 10.0.2 + minimatch: 10.0.3 minipass: 7.1.2 package-json-from-dist: 1.0.1 path-scurry: 2.0.0 @@ -5039,7 +5043,7 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@16.1.0: + lint-staged@16.1.2: dependencies: chalk: 5.4.1 commander: 14.0.0 @@ -5097,7 +5101,7 @@ snapshots: longest-streak@3.1.0: {} - loupe@3.1.3: {} + loupe@3.1.4: {} lru-cache@10.4.3: {} @@ -5158,7 +5162,7 @@ snapshots: dependencies: '@types/mdast': 4.0.4 '@types/unist': 3.0.3 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 mdast-util-to-string: 4.0.0 micromark: 4.0.2 @@ -5229,7 +5233,7 @@ snapshots: micromark-core-commonmark@2.0.3: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-factory-destination: 2.0.1 micromark-factory-label: 2.0.1 @@ -5311,7 +5315,7 @@ snapshots: micromark-util-decode-string@2.0.1: dependencies: - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 micromark-util-character: 2.1.1 micromark-util-decode-numeric-character-reference: 2.0.2 micromark-util-symbol: 2.0.1 @@ -5349,7 +5353,7 @@ snapshots: dependencies: '@types/debug': 4.1.12 debug: 4.4.1 - decode-named-character-reference: 1.1.0 + decode-named-character-reference: 1.2.0 devlop: 1.1.0 micromark-core-commonmark: 2.0.3 micromark-factory-space: 2.0.1 @@ -5386,9 +5390,9 @@ snapshots: mimic-function@5.0.1: {} - minimatch@10.0.2: + minimatch@10.0.3: dependencies: - brace-expansion: 4.0.1 + '@isaacs/brace-expansion': 5.0.0 minimist@1.2.8: {} @@ -5479,22 +5483,23 @@ snapshots: string-width: 5.1.2 strip-ansi: 7.1.0 - oxc-minify@0.72.3: + oxc-minify@0.74.0: optionalDependencies: - '@oxc-minify/binding-darwin-arm64': 0.72.3 - '@oxc-minify/binding-darwin-x64': 0.72.3 - '@oxc-minify/binding-freebsd-x64': 0.72.3 - '@oxc-minify/binding-linux-arm-gnueabihf': 0.72.3 - '@oxc-minify/binding-linux-arm-musleabihf': 0.72.3 - '@oxc-minify/binding-linux-arm64-gnu': 0.72.3 - '@oxc-minify/binding-linux-arm64-musl': 0.72.3 - '@oxc-minify/binding-linux-riscv64-gnu': 0.72.3 - '@oxc-minify/binding-linux-s390x-gnu': 0.72.3 - '@oxc-minify/binding-linux-x64-gnu': 0.72.3 - '@oxc-minify/binding-linux-x64-musl': 0.72.3 - '@oxc-minify/binding-wasm32-wasi': 0.72.3 - '@oxc-minify/binding-win32-arm64-msvc': 0.72.3 - '@oxc-minify/binding-win32-x64-msvc': 0.72.3 + '@oxc-minify/binding-android-arm64': 0.74.0 + '@oxc-minify/binding-darwin-arm64': 0.74.0 + '@oxc-minify/binding-darwin-x64': 0.74.0 + '@oxc-minify/binding-freebsd-x64': 0.74.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.74.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.74.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.74.0 + '@oxc-minify/binding-linux-arm64-musl': 0.74.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.74.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.74.0 + '@oxc-minify/binding-linux-x64-gnu': 0.74.0 + '@oxc-minify/binding-linux-x64-musl': 0.74.0 + '@oxc-minify/binding-wasm32-wasi': 0.74.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.74.0 + '@oxc-minify/binding-win32-x64-msvc': 0.74.0 p-map@7.0.3: {} @@ -5562,30 +5567,30 @@ snapshots: pkg-types@2.1.0: dependencies: confbox: 0.2.2 - exsolve: 1.0.5 + exsolve: 1.0.7 pathe: 2.0.3 - playwright-chromium@1.53.0: + playwright-chromium@1.53.1: dependencies: - playwright-core: 1.53.0 + playwright-core: 1.53.1 - playwright-core@1.53.0: {} + playwright-core@1.53.1: {} polka@1.0.0-next.28: dependencies: '@polka/url': 1.0.0-next.29 trouter: 4.0.0 - postcss-prefix-selector@2.1.1(postcss@8.5.5): + postcss-prefix-selector@2.1.1(postcss@8.5.6): dependencies: - postcss: 8.5.5 + postcss: 8.5.6 - postcss-rtlcss@5.7.1(postcss@8.5.5): + postcss-rtlcss@5.7.1(postcss@8.5.6): dependencies: - postcss: 8.5.5 + postcss: 8.5.6 rtlcss: 4.3.0 - postcss@8.5.5: + postcss@8.5.6: dependencies: nanoid: 3.3.11 picocolors: 1.1.1 @@ -5593,7 +5598,7 @@ snapshots: preact@10.26.9: {} - prettier@3.5.3: {} + prettier@3.6.0: {} pretty-ms@9.2.0: dependencies: @@ -5712,95 +5717,95 @@ snapshots: rimraf@6.0.1: dependencies: - glob: 11.0.2 + glob: 11.0.3 package-json-from-dist: 1.0.1 - rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0): + rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0): dependencies: - '@oxc-project/runtime': 0.72.3 + '@oxc-project/runtime': 0.73.0 fdir: 6.4.6(picomatch@4.0.2) lightningcss: 1.30.1 picomatch: 4.0.2 - postcss: 8.5.5 - rolldown: 1.0.0-beta.15 + postcss: 8.5.6 + rolldown: 1.0.0-beta.16 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 24.0.1 + '@types/node': 24.0.3 esbuild: 0.25.5 fsevents: 2.3.3 jiti: 1.21.7 yaml: 2.8.0 - rolldown@1.0.0-beta.15: + rolldown@1.0.0-beta.16: dependencies: - '@oxc-project/runtime': 0.72.3 - '@oxc-project/types': 0.72.3 - '@rolldown/pluginutils': 1.0.0-beta.15 + '@oxc-project/runtime': 0.73.0 + '@oxc-project/types': 0.73.0 + '@rolldown/pluginutils': 1.0.0-beta.16 ansis: 4.1.0 optionalDependencies: - '@rolldown/binding-darwin-arm64': 1.0.0-beta.15 - '@rolldown/binding-darwin-x64': 1.0.0-beta.15 - '@rolldown/binding-freebsd-x64': 1.0.0-beta.15 - '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.15 - '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.15 - '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.15 - '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.15 - '@rolldown/binding-linux-x64-musl': 1.0.0-beta.15 - '@rolldown/binding-wasm32-wasi': 1.0.0-beta.15 - '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.15 - '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.15 - '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.15 - - rollup-plugin-dts@6.1.1(rollup@4.43.0)(typescript@5.8.3): + '@rolldown/binding-darwin-arm64': 1.0.0-beta.16 + '@rolldown/binding-darwin-x64': 1.0.0-beta.16 + '@rolldown/binding-freebsd-x64': 1.0.0-beta.16 + '@rolldown/binding-linux-arm-gnueabihf': 1.0.0-beta.16 + '@rolldown/binding-linux-arm64-gnu': 1.0.0-beta.16 + '@rolldown/binding-linux-arm64-musl': 1.0.0-beta.16 + '@rolldown/binding-linux-x64-gnu': 1.0.0-beta.16 + '@rolldown/binding-linux-x64-musl': 1.0.0-beta.16 + '@rolldown/binding-wasm32-wasi': 1.0.0-beta.16 + '@rolldown/binding-win32-arm64-msvc': 1.0.0-beta.16 + '@rolldown/binding-win32-ia32-msvc': 1.0.0-beta.16 + '@rolldown/binding-win32-x64-msvc': 1.0.0-beta.16 + + rollup-plugin-dts@6.1.1(rollup@4.44.0)(typescript@5.8.3): dependencies: magic-string: 0.30.17 - rollup: 4.43.0 + rollup: 4.44.0 typescript: 5.8.3 optionalDependencies: '@babel/code-frame': 7.27.1 - rollup-plugin-esbuild@6.2.1(esbuild@0.25.5)(rollup@4.43.0): + rollup-plugin-esbuild@6.2.1(esbuild@0.25.5)(rollup@4.44.0): dependencies: debug: 4.4.1 es-module-lexer: 1.7.0 esbuild: 0.25.5 get-tsconfig: 4.10.1 - rollup: 4.43.0 + rollup: 4.44.0 unplugin-utils: 0.2.4 transitivePeerDependencies: - supports-color - rollup@4.43.0: + rollup@4.44.0: dependencies: - '@types/estree': 1.0.7 + '@types/estree': 1.0.8 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.43.0 - '@rollup/rollup-android-arm64': 4.43.0 - '@rollup/rollup-darwin-arm64': 4.43.0 - '@rollup/rollup-darwin-x64': 4.43.0 - '@rollup/rollup-freebsd-arm64': 4.43.0 - '@rollup/rollup-freebsd-x64': 4.43.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.43.0 - '@rollup/rollup-linux-arm-musleabihf': 4.43.0 - '@rollup/rollup-linux-arm64-gnu': 4.43.0 - '@rollup/rollup-linux-arm64-musl': 4.43.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.43.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.43.0 - '@rollup/rollup-linux-riscv64-gnu': 4.43.0 - '@rollup/rollup-linux-riscv64-musl': 4.43.0 - '@rollup/rollup-linux-s390x-gnu': 4.43.0 - '@rollup/rollup-linux-x64-gnu': 4.43.0 - '@rollup/rollup-linux-x64-musl': 4.43.0 - '@rollup/rollup-win32-arm64-msvc': 4.43.0 - '@rollup/rollup-win32-ia32-msvc': 4.43.0 - '@rollup/rollup-win32-x64-msvc': 4.43.0 + '@rollup/rollup-android-arm-eabi': 4.44.0 + '@rollup/rollup-android-arm64': 4.44.0 + '@rollup/rollup-darwin-arm64': 4.44.0 + '@rollup/rollup-darwin-x64': 4.44.0 + '@rollup/rollup-freebsd-arm64': 4.44.0 + '@rollup/rollup-freebsd-x64': 4.44.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.44.0 + '@rollup/rollup-linux-arm-musleabihf': 4.44.0 + '@rollup/rollup-linux-arm64-gnu': 4.44.0 + '@rollup/rollup-linux-arm64-musl': 4.44.0 + '@rollup/rollup-linux-loongarch64-gnu': 4.44.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-gnu': 4.44.0 + '@rollup/rollup-linux-riscv64-musl': 4.44.0 + '@rollup/rollup-linux-s390x-gnu': 4.44.0 + '@rollup/rollup-linux-x64-gnu': 4.44.0 + '@rollup/rollup-linux-x64-musl': 4.44.0 + '@rollup/rollup-win32-arm64-msvc': 4.44.0 + '@rollup/rollup-win32-ia32-msvc': 4.44.0 + '@rollup/rollup-win32-x64-msvc': 4.44.0 fsevents: 2.3.3 rtlcss@4.3.0: dependencies: escalade: 3.2.0 picocolors: 1.1.1 - postcss: 8.5.5 + postcss: 8.5.6 strip-json-comments: 3.1.1 run-applescript@7.0.0: {} @@ -5830,14 +5835,14 @@ snapshots: shebang-regex@3.0.0: {} - shiki@3.6.0: + shiki@3.7.0: dependencies: - '@shikijs/core': 3.6.0 - '@shikijs/engine-javascript': 3.6.0 - '@shikijs/engine-oniguruma': 3.6.0 - '@shikijs/langs': 3.6.0 - '@shikijs/themes': 3.6.0 - '@shikijs/types': 3.6.0 + '@shikijs/core': 3.7.0 + '@shikijs/engine-javascript': 3.7.0 + '@shikijs/engine-oniguruma': 3.7.0 + '@shikijs/langs': 3.7.0 + '@shikijs/themes': 3.7.0 + '@shikijs/types': 3.7.0 '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 @@ -6002,7 +6007,7 @@ snapshots: fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 - tinypool@1.1.0: {} + tinypool@1.1.1: {} tinyrainbow@2.0.0: {} @@ -6017,7 +6022,7 @@ snapshots: '@tokenizer/token': 0.3.0 ieee754: 1.2.1 - tokenx@1.0.1: {} + tokenx@1.1.0: {} totalist@3.0.1: {} @@ -6123,13 +6128,13 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.2 - vite-node@3.2.3(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0): + vite-node@3.2.4(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - esbuild @@ -6144,13 +6149,13 @@ snapshots: - tsx - yaml - vitepress-plugin-group-icons@1.6.0(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.0): + vitepress-plugin-group-icons@1.6.0(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(markdown-it@14.1.0)(yaml@2.8.0): dependencies: '@iconify-json/logos': 1.2.4 - '@iconify-json/vscode-icons': 1.2.22 + '@iconify-json/vscode-icons': 1.2.23 '@iconify/utils': 2.3.0 markdown-it: 14.1.0 - vite: rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - esbuild @@ -6165,34 +6170,34 @@ snapshots: - tsx - yaml - vitepress-plugin-llms@1.5.0: + vitepress-plugin-llms@1.5.1: dependencies: byte-size: 9.0.1 gray-matter: 4.0.3 markdown-title: 1.0.2 millify: 6.1.0 - minimatch: 10.0.2 + minimatch: 10.0.3 path-to-regexp: 8.2.0 picocolors: 1.1.1 remark: 15.0.1 remark-frontmatter: 5.0.0 - tokenx: 1.0.1 + tokenx: 1.1.0 unist-util-remove: 4.0.0 unist-util-visit: 5.0.0 transitivePeerDependencies: - '@75lb/nature' - supports-color - vitest@3.2.3(@types/debug@4.1.12)(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 - '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0)) - '@vitest/pretty-format': 3.2.3 - '@vitest/runner': 3.2.3 - '@vitest/snapshot': 3.2.3 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 chai: 5.2.0 debug: 4.4.1 expect-type: 1.2.1 @@ -6203,14 +6208,14 @@ snapshots: tinybench: 2.9.0 tinyexec: 0.3.2 tinyglobby: 0.2.14 - tinypool: 1.1.0 + tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: rolldown-vite@6.3.19(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) - vite-node: 3.2.3(@types/node@24.0.1)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + vite: rolldown-vite@6.3.21(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@24.0.3)(esbuild@0.25.5)(jiti@1.21.7)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 24.0.1 + '@types/node': 24.0.3 transitivePeerDependencies: - esbuild - jiti @@ -6227,25 +6232,25 @@ snapshots: vscode-uri@3.1.0: {} - vue-tsc@3.0.0-alpha.10(typescript@5.8.3): + vue-tsc@3.0.0-beta.3(typescript@5.8.3): dependencies: '@volar/typescript': 2.4.14 - '@vue/language-core': 3.0.0-alpha.10(typescript@5.8.3) + '@vue/language-core': 3.0.0-beta.3(typescript@5.8.3) typescript: 5.8.3 - vue@3.5.16(typescript@5.8.3): + vue@3.5.17(typescript@5.8.3): dependencies: - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-sfc': 3.5.16 - '@vue/runtime-dom': 3.5.16 - '@vue/server-renderer': 3.5.16(vue@3.5.16(typescript@5.8.3)) - '@vue/shared': 3.5.16 + '@vue/compiler-dom': 3.5.17 + '@vue/compiler-sfc': 3.5.17 + '@vue/runtime-dom': 3.5.17 + '@vue/server-renderer': 3.5.17(vue@3.5.17(typescript@5.8.3)) + '@vue/shared': 3.5.17 optionalDependencies: typescript: 5.8.3 wait-on@8.0.3(debug@4.4.1): dependencies: - axios: 1.9.0(debug@4.4.1) + axios: 1.10.0(debug@4.4.1) joi: 17.13.3 lodash: 4.17.21 minimist: 1.2.8 @@ -6320,6 +6325,6 @@ snapshots: yoctocolors@2.1.1: {} - zod@3.25.62: {} + zod@3.25.67: {} zwitch@2.0.4: {} diff --git a/src/node/config.ts b/src/node/config.ts index 9cc4dca6..f346994d 100644 --- a/src/node/config.ts +++ b/src/node/config.ts @@ -2,7 +2,6 @@ import _debug from 'debug' import fs from 'fs-extra' import path from 'node:path' import c from 'picocolors' -import { glob } from 'tinyglobby' import { createLogger, loadConfigFromFile, @@ -24,6 +23,7 @@ import { type SiteData } from './shared' import type { RawConfigExports, SiteConfig, UserConfig } from './siteConfig' +import { glob } from './utils/glob' export { resolvePages } from './plugins/dynamicRoutesPlugin' export { resolveSiteDataByRoute } from './shared' @@ -190,11 +190,9 @@ async function gatherAdditionalConfig( ) { // - const candidates = await glob(additionalConfigGlob, { + const candidates = await glob([additionalConfigGlob], { cwd: path.resolve(root, srcDir), - dot: false, // conveniently ignores .vitepress/* - ignore: ['**/node_modules/**', ...srcExclude], - expandDirectories: false + ignore: srcExclude }) const deps: string[][] = [] diff --git a/src/node/contentLoader.ts b/src/node/contentLoader.ts index cbd12e1c..43009d3c 100644 --- a/src/node/contentLoader.ts +++ b/src/node/contentLoader.ts @@ -1,10 +1,11 @@ import fs from 'fs-extra' import matter from 'gray-matter' import path from 'node:path' -import { glob, type GlobOptions } from 'tinyglobby' import { normalizePath } from 'vite' import type { SiteConfig } from './config' import { createMarkdownRenderer } from './markdown/markdown' +import type { Awaitable } from './shared' +import { glob, normalizeGlob, type GlobOptions } from './utils/glob' export interface ContentOptions { /** @@ -48,12 +49,10 @@ export interface ContentOptions { * Transform the data. Note the data will be inlined as JSON in the client * bundle if imported from components or markdown files. */ - transform?: (data: ContentData[]) => T | Promise + transform?: (data: ContentData[]) => Awaitable /** - * Options to pass to `tinyglobby`. - * You'll need to manually specify `node_modules` and `dist` in - * `globOptions.ignore` if you've overridden it. + * Options to pass to `tinyglobby` and `picomatch` for globbing. */ globOptions?: GlobOptions } @@ -74,18 +73,9 @@ export function createContentLoader( /** * files to glob / watch - relative to srcDir */ - pattern: string | string[], - { - includeSrc, - render, - excerpt: renderExcerpt, - transform, - globOptions - }: ContentOptions = {} -): { - watch: string | string[] - load: () => Promise -} { + watch: string | string[], + options: ContentOptions = {} +) { const config: SiteConfig = (global as any).VITEPRESS_CONFIG if (!config) { throw new Error( @@ -94,24 +84,17 @@ export function createContentLoader( ) } - if (typeof pattern === 'string') pattern = [pattern] - pattern = pattern.map((p) => normalizePath(path.join(config.srcDir, p))) - const cache = new Map() + watch = normalizeGlob(watch, config.srcDir) + return { - watch: pattern, + watch, + options: { globOptions: options.globOptions }, + async load(files?: string[]) { - if (!files) { - // the loader is being called directly, do a fresh glob - files = ( - await glob(pattern, { - ignore: ['**/node_modules/**', '**/dist/**'], - expandDirectories: false, - ...globOptions - }) - ).sort() - } + // the loader is being called directly, do a fresh glob + files = files ?? (await glob(watch, options.globOptions)) const md = await createMarkdownRenderer( config.srcDir, @@ -123,43 +106,51 @@ export function createContentLoader( const raw: ContentData[] = [] for (const file of files) { - if (!file.endsWith('.md')) { - continue - } + if (!file.endsWith('.md')) continue + const timestamp = fs.statSync(file).mtimeMs const cached = cache.get(file) + if (cached && timestamp === cached.timestamp) { raw.push(cached.data) } else { + // + const src = fs.readFileSync(file, 'utf-8') + + const renderExcerpt = options.excerpt const { data: frontmatter, excerpt } = matter( src, - // @ts-expect-error gray-matter types are wrong typeof renderExcerpt === 'string' ? { excerpt_separator: renderExcerpt } - : { excerpt: renderExcerpt } + : { excerpt: renderExcerpt as any } // gray-matter types are wrong ) + const url = '/' + normalizePath(path.relative(config.srcDir, file)) .replace(/(^|\/)index\.md$/, '$1') .replace(/\.md$/, config.cleanUrls ? '' : '.html') - const html = render ? await md.renderAsync(src) : undefined + + const html = options.render ? await md.renderAsync(src) : undefined const renderedExcerpt = renderExcerpt ? excerpt && (await md.renderAsync(excerpt)) : undefined + const data: ContentData = { - src: includeSrc ? src : undefined, + src: options.includeSrc ? src : undefined, html, frontmatter, excerpt: renderedExcerpt, url } + cache.set(file, { data, timestamp }) raw.push(data) } } - return (transform ? transform(raw) : raw) as any + + return options.transform?.(raw) ?? (raw as T) } } } diff --git a/src/node/plugins/dynamicRoutesPlugin.ts b/src/node/plugins/dynamicRoutesPlugin.ts index eca63a0c..70294e1d 100644 --- a/src/node/plugins/dynamicRoutesPlugin.ts +++ b/src/node/plugins/dynamicRoutesPlugin.ts @@ -1,8 +1,7 @@ import fs from 'fs-extra' import path from 'node:path' import c from 'picocolors' -import { isMatch } from 'picomatch' -import { glob } from 'tinyglobby' +import pm from 'picomatch' import { loadConfigFromFile, normalizePath, @@ -12,6 +11,7 @@ import { } from 'vite' import type { Awaitable } from '../shared' import { type SiteConfig, type UserConfig } from '../siteConfig' +import { glob, normalizeGlob, type GlobOptions } from '../utils/glob' import { ModuleGraph } from '../utils/moduleGraph' import { resolveRewrites } from './rewritesPlugin' @@ -45,13 +45,15 @@ export interface RouteModule { | UserRouteConfig[] | ((watchedFiles: string[]) => Awaitable) transformPageData?: UserConfig['transformPageData'] + options?: { globOptions?: GlobOptions } } interface ResolvedRouteModule { - watch: string[] | undefined - routes: ResolvedRouteConfig[] | undefined + watch: string[] + routes?: ResolvedRouteConfig[] loader: RouteModule['paths'] transformPageData?: RouteModule['transformPageData'] + options: NonNullable } const dynamicRouteRE = /\[(\w+?)\]/g @@ -63,7 +65,7 @@ let moduleGraph = new ModuleGraph() /** * Helper for defining routes with type inference */ -export function defineRoutes(loader: RouteModule) { +export function defineRoutes(loader: RouteModule): RouteModule { return loader } @@ -78,23 +80,10 @@ export async function resolvePages( routeModuleCache.clear() } - // Important: tinyglobby doesn't guarantee order of the returned files. - // We must sort the pages so the input list to rollup is stable across - // builds - otherwise different input order could result in different exports - // order in shared chunks which in turns invalidates the hash of every chunk! - // JavaScript built-in sort() is mandated to be stable as of ES2019 and - // supported in Node 12+, which is required by Vite. - const allMarkdownFiles = ( - await glob(['**/*.md'], { - cwd: srcDir, - ignore: [ - '**/node_modules/**', - '**/dist/**', - ...(userConfig.srcExclude || []) - ], - expandDirectories: false - }) - ).sort() + const allMarkdownFiles = await glob(['**/*.md'], { + cwd: srcDir, + ignore: userConfig.srcExclude + }) const pages: string[] = [] const dynamicRouteFiles: string[] = [] @@ -137,9 +126,7 @@ export const dynamicRoutesPlugin = async ( const matched = config.dynamicRoutes.find( (r) => r.fullPath === normalizedId ) - if (matched) { - return normalizedId - } + if (matched) return normalizedId }, load(id) { @@ -180,23 +167,22 @@ export const dynamicRoutesPlugin = async ( for (const id of moduleGraph.delete(normalizedFile)) { routeModuleCache.delete(id) const mod = this.environment.moduleGraph.getModuleById(id) - if (mod) { - modules.push(mod) - } + if (mod) modules.push(mod) } // Also check if the file matches any custom watch patterns. let watchedFileChanged = false for (const [file, route] of routeModuleCache) { - if (route.watch && isMatch(normalizedFile, route.watch)) { + if ( + route.watch?.length && + pm(route.watch, route.options.globOptions)(normalizedFile) + ) { route.routes = undefined watchedFileChanged = true for (const id of moduleGraph.delete(file)) { const mod = this.environment.moduleGraph.getModuleById(id) - if (mod) { - modules.push(mod) - } + if (mod) modules.push(mod) } } } @@ -255,7 +241,8 @@ async function resolveDynamicRoutes( // load the paths loader module let watch: ResolvedRouteModule['watch'] let loader: ResolvedRouteModule['loader'] - let extras: Partial + let transformPageData: ResolvedRouteModule['transformPageData'] + let options: ResolvedRouteModule['options'] const loaderPath = normalizePath(pathsFile) const existing = routeModuleCache.get(loaderPath) @@ -267,7 +254,7 @@ async function resolveDynamicRoutes( continue } - ;({ watch, loader, ...extras } = existing) + ;({ watch, loader, transformPageData, options } = existing) } else { let mod try { @@ -294,8 +281,11 @@ async function resolveDynamicRoutes( continue } - // @ts-ignore - ;({ paths: loader, watch, ...extras } = mod.config) + const loaderModule = mod.config as RouteModule + watch = normalizeGlob(loaderModule.watch, path.dirname(pathsFile)) + loader = loaderModule.paths + transformPageData = loaderModule.transformPageData + options = loaderModule.options || {} if (!loader) { logger.warn( @@ -307,15 +297,6 @@ async function resolveDynamicRoutes( continue } - watch = typeof watch === 'string' ? [watch] : watch - if (watch) { - watch = watch.map((p) => - p.startsWith('.') - ? normalizePath(path.resolve(path.dirname(pathsFile), p)) - : normalizePath(p) - ) - } - // record deps for hmr newModuleGraph.add( loaderPath, @@ -327,15 +308,7 @@ async function resolveDynamicRoutes( let pathsData: UserRouteConfig[] if (typeof loader === 'function') { - let watchedFiles: string[] = [] - if (watch) { - watchedFiles = ( - await glob(watch, { - ignore: ['**/node_modules/**', '**/dist/**'], - expandDirectories: false - }) - ).sort() - } + const watchedFiles = await glob(watch, options.globOptions) pathsData = await loader(watchedFiles) } else { pathsData = loader @@ -355,7 +328,8 @@ async function resolveDynamicRoutes( } }) - routeModuleCache.set(loaderPath, { ...extras, watch, routes, loader }) + const mod = { watch, routes, loader, transformPageData, options } + routeModuleCache.set(loaderPath, mod) return routes } diff --git a/src/node/plugins/staticDataPlugin.ts b/src/node/plugins/staticDataPlugin.ts index b0a7752b..05065c27 100644 --- a/src/node/plugins/staticDataPlugin.ts +++ b/src/node/plugins/staticDataPlugin.ts @@ -1,33 +1,37 @@ import path from 'node:path' -import { isMatch } from 'picomatch' -import { glob } from 'tinyglobby' +import pm from 'picomatch' import { + loadConfigFromFile, + normalizePath, type EnvironmentModuleNode, type Plugin, - type ViteDevServer, - loadConfigFromFile, - normalizePath + type ViteDevServer } from 'vite' +import type { Awaitable } from '../shared' +import { glob, normalizeGlob, type GlobOptions } from '../utils/glob' const loaderMatch = /\.data\.m?(j|t)s($|\?)/ let server: ViteDevServer -export interface LoaderModule { +export interface LoaderModule { watch?: string[] | string - load: (watchedFiles: string[]) => any + load: (watchedFiles: string[]) => Awaitable + options?: { globOptions?: GlobOptions } } /** * Helper for defining loaders with type inference */ -export function defineLoader(loader: LoaderModule) { +export function defineLoader(loader: LoaderModule): LoaderModule { return loader } // Map from loader module id to its module info -const idToLoaderModulesMap: Record = - Object.create(null) +const idToLoaderModulesMap: Record< + string, + (Required> & { watch: string[] }) | undefined +> = Object.create(null) // Map from dependency file to a set of loader module ids const depToLoaderModuleIdsMap: Record> = Object.create(null) @@ -56,9 +60,7 @@ export const staticDataPlugin: Plugin = { if (loaderMatch.test(id)) { let _resolve: ((res: any) => void) | undefined if (isBuild) { - if (idToPendingPromiseMap[id]) { - return idToPendingPromiseMap[id] - } + if (idToPendingPromiseMap[id]) return idToPendingPromiseMap[id] idToPendingPromiseMap[id] = new Promise((r) => { _resolve = r }) @@ -67,10 +69,11 @@ export const staticDataPlugin: Plugin = { const base = path.dirname(id) let watch: LoaderModule['watch'] let load: LoaderModule['load'] + let options: LoaderModule['options'] const existing = idToLoaderModulesMap[id] if (existing) { - ;({ watch, load } = existing) + ;({ watch, load, options } = existing) } else { // use vite's load config util as a way to load Node.js file with // TS & native ESM support @@ -88,36 +91,17 @@ export const staticDataPlugin: Plugin = { } const loaderModule = res?.config as LoaderModule - watch = - typeof loaderModule.watch === 'string' - ? [loaderModule.watch] - : loaderModule.watch - if (watch) { - watch = watch.map((p) => { - return p.startsWith('.') - ? normalizePath(path.resolve(base, p)) - : normalizePath(p) - }) - } + watch = normalizeGlob(loaderModule.watch, base) load = loaderModule.load + options = loaderModule.options || {} } // load the data - let watchedFiles: string[] = [] - if (watch) { - watchedFiles = ( - await glob(watch, { - ignore: ['**/node_modules/**', '**/dist/**'], - expandDirectories: false - }) - ).sort() - } + const watchedFiles = await glob(watch, options.globOptions) const data = await load(watchedFiles) // record loader module for HMR - if (server) { - idToLoaderModulesMap[id] = { watch, load } - } + if (server) idToLoaderModulesMap[id] = { watch, load, options } const result = `export const data = JSON.parse(${JSON.stringify(JSON.stringify(data))})` @@ -139,20 +123,19 @@ export const staticDataPlugin: Plugin = { )) { delete idToLoaderModulesMap[id] const mod = this.environment.moduleGraph.getModuleById(id) - if (mod) { - modules.push(mod) - } + if (mod) modules.push(mod) } } // Also check if the file matches any custom watch patterns. for (const id in idToLoaderModulesMap) { const loader = idToLoaderModulesMap[id] - if (loader && loader.watch && isMatch(normalizedFile, loader.watch)) { + if ( + loader?.watch?.length && + pm(loader.watch, loader.options.globOptions)(normalizedFile) + ) { const mod = this.environment.moduleGraph.getModuleById(id) - if (mod) { - modules.push(mod) - } + if (mod) modules.push(mod) } } diff --git a/src/node/utils/glob.ts b/src/node/utils/glob.ts new file mode 100644 index 00000000..eaff04af --- /dev/null +++ b/src/node/utils/glob.ts @@ -0,0 +1,35 @@ +import path from 'node:path' +import { glob as _glob } from 'tinyglobby' +import { normalizePath } from 'vite' + +export interface GlobOptions { + cwd?: string + ignore?: string | string[] + dot?: boolean + debug?: boolean +} + +export function normalizeGlob( + patterns: string[] | string | undefined, + base: string +): string[] { + if (!patterns) return [] + if (typeof patterns === 'string') patterns = [patterns] + return patterns.map((p) => + p.startsWith('.') ? normalizePath(path.resolve(base, p)) : normalizePath(p) + ) +} + +export async function glob( + patterns: string[] | undefined, + options?: GlobOptions +): Promise { + if (!patterns?.length) return [] + return ( + await _glob(patterns, { + expandDirectories: false, + ...options, + ignore: ['**/node_modules/**', '**/dist/**', ...(options?.ignore || [])] + }) + ).sort() +}