diff --git a/.vitepress/config.ts b/.vitepress/config.ts index e587d697..4c441e83 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -307,19 +307,28 @@ export default defineConfig({ sidebar: { '/guide/': [ { - text: '指引', + text: '介绍', items: [ { - text: '为什么选 Vite', - link: '/guide/why' + text: '开始', + link: '/guide/', }, { - text: '开始', - link: '/guide/' + text: '理念', + link: '/guide/philosophy', }, + { + text: '为什么选 Vite', + link: '/guide/why', + }, + ], + }, + { + text: '指引', + items: [ { text: '功能', - link: '/guide/features' + link: '/guide/features', }, { text: '命令行接口', @@ -357,22 +366,14 @@ export default defineConfig({ text: '后端集成', link: '/guide/backend-integration' }, - { - text: '比较', - link: '/guide/comparisons' - }, { text: '故障排除', - link: '/guide/troubleshooting' + link: '/guide/troubleshooting', }, { text: '性能', link: '/guide/performance', }, - { - text: '理念', - link: '/guide/philosophy', - }, { text: '从 v5 迁移', link: '/guide/migration' diff --git a/.vitepress/theme/components/landing/1. hero-section/HeroDiagram.vue b/.vitepress/theme/components/landing/1. hero-section/HeroDiagram.vue index f76e7092..b192bc19 100644 --- a/.vitepress/theme/components/landing/1. hero-section/HeroDiagram.vue +++ b/.vitepress/theme/components/landing/1. hero-section/HeroDiagram.vue @@ -520,7 +520,8 @@ onMounted(() => { bottom: 0; transform: translate3d(0, 0, 0) scale(1); transition: transform 0.3s ease-in-out; - background: linear-gradient( + background: + linear-gradient( 130deg, rgba(61, 61, 61, 0.3) 0%, rgba(61, 61, 61, 0) 40% @@ -713,7 +714,8 @@ onMounted(() => { opacity: 0.1; } - background: url('/noise.png'), + background: + url('/noise.png'), radial-gradient( circle at right center, rgb(86, 50, 119) 0%, @@ -729,7 +731,8 @@ onMounted(() => { ); @media (min-width: 1024px) { - background: url('/noise.png'), + background: + url('/noise.png'), radial-gradient( circle at right center, rgba(75, 41, 105, 0.5) 0%, @@ -747,7 +750,8 @@ onMounted(() => { } @media (min-width: 1500px) { - background: url('/noise.png'), + background: + url('/noise.png'), radial-gradient( circle at right center, rgba(75, 41, 105, 0.5) 0%, @@ -765,7 +769,8 @@ onMounted(() => { } @media (min-width: 1800px) { - background: url('/noise.png'), + background: + url('/noise.png'), radial-gradient( circle at right center, rgba(75, 41, 105, 0.5) 0%, diff --git a/.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue b/.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue index baa8040f..c359d5e2 100644 --- a/.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue +++ b/.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue @@ -342,7 +342,8 @@ onUnmounted(() => { bottom: 0; height: 100%; border-radius: 12px 0 0 12px; - background: url('/noise.png'), + background: + url('/noise.png'), radial-gradient( ellipse 140% 80% at 96% bottom, #13b351 0%, diff --git a/.vitepress/theme/composables/sponsor.ts b/.vitepress/theme/composables/sponsor.ts index 19809003..c1ef6ce9 100644 --- a/.vitepress/theme/composables/sponsor.ts +++ b/.vitepress/theme/composables/sponsor.ts @@ -45,12 +45,6 @@ const viteSponsors: Pick = { url: 'https://nuxtlabs.com', img: '/nuxtlabs.svg', }, - // sponsors bluwy - { - name: 'Astro', - url: 'https://astro.build', - img: '/astro.svg', - }, ], gold: [ // now automated via sponsors.vuejs.org too diff --git a/.vitepress/theme/styles/landing.css b/.vitepress/theme/styles/landing.css index 18897f48..1e919af1 100644 --- a/.vitepress/theme/styles/landing.css +++ b/.vitepress/theme/styles/landing.css @@ -176,7 +176,8 @@ html:has(.landing) { &.btn--primary { position: relative; - background: radial-gradient( + background: + radial-gradient( 141.42% 141.42% at 100% 0%, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 100% @@ -194,7 +195,8 @@ html:has(.landing) { box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.75) inset; &:hover { - background: radial-gradient( + background: + radial-gradient( 141.42% 141.42% at 100% 0%, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 100% diff --git a/_data/team.js b/_data/team.js index e0858982..50d2339f 100644 --- a/_data/team.js +++ b/_data/team.js @@ -45,7 +45,7 @@ export const core = [ avatar: 'https://github.com/bluwy.png', name: 'Bjorn Lu', title: 'Open Source Developer', - desc: 'Vite, Astro, and Svelte core team member.', + desc: 'Building tools for fun.', links: [ { icon: 'github', link: 'https://github.com/bluwy' }, { icon: 'bluesky', link: 'https://bsky.app/profile/bluwy.me' }, diff --git a/blog/announcing-vite2.md b/blog/announcing-vite2.md index 83d57b89..705dedc8 100644 --- a/blog/announcing-vite2.md +++ b/blog/announcing-vite2.md @@ -33,7 +33,7 @@ Vite(法语意思是 “快”,发音为 `/vit/`,类似 veet)是一种 想知道 Vite 有多快?看看这个[视频比较](https://twitter.com/amasad/status/1355379680275128321), 在 Repl.it 上从零启动一个基于 Vite 的 React 应用,浏览器页面加载完毕的时候,基于 CRA(`create-react-app`)的应用甚至还没有安装完依赖。 -如果你还没听说过 Vite 到底是什么,可以到 [这里](/guide/why) 了解一下项目的设计初衷。如果你想要了解 Vite 跟其它一些类似的工具有什么区别,可以参考这里的 [对比](/guide/comparisons)。 +如果你还没听说过 Vite 到底是什么,可以到 [这里](/guide/why) 了解一下项目的设计初衷。如果你想要了解 Vite 跟其它一些类似的工具有什么区别,可以参考这里的 [对比](https://v5.vite.dev/guide/comparisons.html)。 ## 2.0 带来了什么 {#whats-new-in-2-0} diff --git a/guide/features.md b/guide/features.md index b0da9789..4a2ce4e6 100644 --- a/guide/features.md +++ b/guide/features.md @@ -71,18 +71,12 @@ export type { T } - [TypeScript 文档](https://www.typescriptlang.org/tsconfig#useDefineForClassFields) -从 Vite v2.5.0 开始,如果 TypeScript 的 target 是 `ESNext` 或 `ES2022` 及更新版本,此选项默认值则为 `true`。这与 [`tsc` v4.3.2 及以后版本的行为](https://github.com/microsoft/TypeScript/pull/42663) 一致。这也是标准的 ECMAScript 的运行时行为。 +如果 TypeScript 的 target 是 `ES2022` 或更高版本,包括 `ESNext`,那么默认值将为 `true`。这与 [TypeScript 4.3.2 及以后版本的行为](https://github.com/microsoft/TypeScript/pull/42663) 保持一致。 若设了其他 TypeScript target,则本项会默认为 `false`. -但对于那些习惯其他编程语言或旧版本 TypeScript 的开发者来说,这可能是违反直觉的。 -你可以参阅 [TypeScript 3.7 发布日志](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-7.html#the-usedefineforclassfields-flag-and-the-declare-property-modifier) 中了解更多关于如何兼容的信息。 - 如果你正在使用一个严重依赖 class fields 的库,请注意该库对此选项的预期设置。 - -大多数库都希望 `"useDefineForClassFields": true`,如 [MobX](https://mobx.js.org/installation.html#use-spec-compliant-transpilation-for-class-properties)。 - -但是有几个库还没有兼容这个新的默认值,其中包括 [`lit-element`](https://github.com/lit/lit-element/issues/1030)。如果遇到这种情况,请将 `useDefineForClassFields` 设置为 `false`。 +虽然大多数库期望 `"useDefineForClassFields": true`,但如果你的库不支持它,你可以明确地将 `useDefineForClassFields` 设置为 `false`。 #### `target` {#target} @@ -124,20 +118,26 @@ Vite 默认的类型定义是写给它的 Node.js API 的。要将其补充到 /// ``` +::: details 使用 `compilerOptions.types` + 或者,你也可以将 `vite/client` 添加到 `tsconfig.json` 中的 `compilerOptions.types` 下: ```json [tsconfig.json] { "compilerOptions": { - "types": ["vite/client"] + "types": ["vite/client", "some-other-global-lib"] } } ``` -这将会提供以下类型定义补充: +需要注意的是,如果指定了 [`compilerOptions.types`](https://www.typescriptlang.org/tsconfig#types),则只有这些包会被包含在全局作用域内(而不是所有的“@types”包)。 + +::: + +`vite/client` 会提供以下类型定义补充: - 资源导入 (例如:导入一个 `.svg` 文件) -- `import.meta.env` 上 Vite 注入的 [常量变量](./env-and-mode#env-variables) 的类型定义 +- `import.meta.env` 上 Vite 注入的 [常量](./env-and-mode#env-variables) 的类型定义 - `import.meta.hot` 上的 [HMR API](./api-hmr) 类型定义 ::: tip @@ -204,22 +204,24 @@ HTML 文件位于 Vite 项目的[最前端和中心](/guide/#index-html-and-proj 要退出对某些元素的 HTML 处理,可以在元素上添加 `vite-ignore` 属性,这在引用外部 assets 或 CDN 时非常有用。 -## Vue {#vue} +## 框架支持 {#frameworks} + +所有现代框架都已和 Vite 集成。大多数框架插件由各自的框架团队维护,唯有官方的 Vue 和 React Vite 插件由 Vite 组织维护。 -Vite 为 Vue 提供第一优先级支持: +- Vue 支持:[@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue) +- Vue JSX 支持:[@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) +- React 支持:[@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react) +- React 使用 SWC 的支持:[@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) -- Vue 3 单文件组件支持:[@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue) -- Vue 3 JSX 支持:[@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) -- Vue 2.7 SFC 支持:[@vitejs/plugin-vue2](https://github.com/vitejs/vite-plugin-vue2) -- Vue 2.7 JSX 支持:[@vitejs/plugin-vue2-jsx](https://github.com/vitejs/vite-plugin-vue2-jsx) +查看 [插件指南](/plugins/) 了解更多信息。 ## JSX {#jsx} `.jsx` 和 `.tsx` 文件同样开箱即用。JSX 的转译同样是通过 [esbuild](https://esbuild.github.io)。 -Vue 用户应使用官方提供的 [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) 插件,它提供了 Vue 3 特性的支持,包括 HMR,全局组件解析,指令和插槽。 +你选择的框架已经可以开箱即用地配置 JSX(例如,Vue 用户应使用官方的 [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) 插件,它提供了 Vue 3 特定的功能,包括 HMR,全局组件解析,指令和插槽)。 -如果不是在 React 或 Vue 中使用 JSX,自定义的 `jsxFactory` 和 `jsxFragment` 可以使用 [`esbuild` 选项](/config/shared-options.md#esbuild) 进行配置。例如对 Preact: +如果你使用自己的框架运行 JSX,可以使用 [`esbuild` 选项](/config/shared-options.md#esbuild) 来配置自定义的 `jsxFactory` 和 `jsxFragment`。例如,Preact 插件会使用: ```js twoslash [vite.config.js] import { defineConfig } from 'vite' diff --git a/guide/index.md b/guide/index.md index 0e3618ea..9e4b8768 100644 --- a/guide/index.md +++ b/guide/index.md @@ -202,7 +202,31 @@ Vite 也支持多个 `.html` 作入口点的 [多页面应用模式](./build#mul ## 使用未发布的功能 {#using-unreleased-commits} -如果你迫不及待想要体验最新的功能,可以自行克隆 [vite 仓库](https://github.com/vitejs/vite) 到本地机器上然后自行将其链接(将需要 [pnpm](https://pnpm.io/)): +如果你迫不及待想要体验最新的功能,可以使用 https://pkg.pr.new 安装特定的 Vite 提交: + +::: code-group + +```bash [npm] +$ npm install -D https://pkg.pr.new/vite@SHA +``` + +```bash [Yarn] +$ yarn add -D https://pkg.pr.new/vite@SHA +``` + +```bash [pnpm] +$ pnpm add -D https://pkg.pr.new/vite@SHA +``` + +```bash [Bun] +$ bun add -D https://pkg.pr.new/vite@SHA +``` + +::: + +将 `SHA` 替换为 [Vite 的提交 SHA](https://github.com/vitejs/vite/commits/main/)。请注意,仅最近一个月的提交有效,旧版本提交的构建产物会被清除。 + +或者,你可以克隆 [Vite 代码仓库](https://github.com/vitejs/vite) 到本地,自行构建并建立软链接(需安装 [pnpm](https://pnpm.io/)): ```bash git clone https://github.com/vitejs/vite.git @@ -215,6 +239,10 @@ pnpm link --global # 在这一步中可使用你喜欢的包管理器 然后,回到你的 Vite 项目并运行 `pnpm link --global vite`(或者使用你的其他包管理工具来全局链接 `vite`)。重新启动开发服务器来体验新功能吧! +::: tip 处理依赖中的 Vite 版本 +若需替换依赖链中传递使用的 Vite 版本(Transitive Dependencies),应使用 [npm overrides](https://docs.npmjs.com/cli/v11/configuring-npm/package-json#overrides) 或 [pnpm overrides](https://pnpm.io/package_json#pnpmoverrides)。 +::: + ## 社区 {#community} 如果你有疑问或者需要帮助,可以到 [Discord](https://chat.vite.dev) 和 [GitHub Discussions](https://github.com/vitejs/vite/discussions) 社区来寻求帮助。 diff --git a/guide/why.md b/guide/why.md index 74fd03a4..754b3b31 100644 --- a/guide/why.md +++ b/guide/why.md @@ -57,6 +57,10 @@ Vite 目前的插件 API 与使用 `esbuild` 作为打包器并不兼容。尽 Rollup 已经开始着手改进性能,[在 v4 中将其解析器切换到 SWC](https://github.com/rollup/rollup/pull/5073)。同时还有一个正在进行中的工作,即构建一个名为 Rolldown 的 Rust 版本的 Rollup。一旦 Rolldown 准备就绪,它就可以在 Vite 中取代 Rollup 和 esbuild,显著提高构建性能,并消除开发和构建之间的不一致性。你可以观看 [Evan You 在 ViteConf 2023 的主题演讲](https://youtu.be/hrdwQHoAp0M) 了解更多细节。 -## Vite 与 X 的区别是? {#how-is-vite-different-from-x} +## Vite 与其他免打包构建工具的关系是什么?{##how-vite-relates-to-other-unbundled-build-tools} -你可以查看 [比较](./comparisons.md) 章节获取更多细节,了解 Vite 与同类工具的异同。 +Preact 团队的 [WMR](https://github.com/preactjs/wmr) 旨在提供类似的功能集。Vite 用于开发和构建的通用 Rollup 插件 API 就是受其启发。WMR 已经不再维护。Preact 团队现在推荐使用 Vite 和 [@preactjs/preset-vite](https://github.com/preactjs/preset-vite)。 + +[Snowpack](https://www.snowpack.dev/) 也是一个免打包的原生 ESM 开发服务器,与 Vite 的职责非常相似。Vite 的依赖预打包也受到了 Snowpack v1(现在是 [`esinstall`](https://github.com/snowpackjs/snowpack/tree/main/esinstall))的启发。Snowpack 已经不再维护。Snowpack 团队现在正在研究由 Vite 驱动的静态网站构建器 [Astro](https://astro.build/)。 + +[@web/dev-server](https://modern-web.dev/docs/dev-server/overview/)(以前是 `es-dev-server`)是一个伟大的项目,Vite 1.0 的基于 Koa 的服务器设置就是受其启发。`@web` 这个项目正在积极维护,并包含许多其他优秀的工具,这些工具也可能对 Vite 用户有所帮助。 diff --git a/package.json b/package.json index 91a4b332..2da8d2cd 100644 --- a/package.json +++ b/package.json @@ -8,11 +8,11 @@ "private": true, "license": "CC BY-NC-SA 4.0", "devDependencies": { - "@shikijs/vitepress-twoslash": "^2.2.0", + "@shikijs/vitepress-twoslash": "^2.5.0", "@types/express": "^4.17.21", "feed": "^4.2.2", - "vitepress": "1.5.0", - "vitepress-plugin-group-icons": "^1.3.5", + "vitepress": "^1.6.3", + "vitepress-plugin-group-icons": "^1.3.6", "vue": "^3.5.13", "@types/node": "^20.9.2", "@type-challenges/utils": "^0.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 66c8d4a0..26932a99 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,8 +9,8 @@ importers: .: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^2.2.0 - version: 2.3.0(typescript@5.4.5) + specifier: ^2.5.0 + version: 2.5.0(typescript@5.4.5) '@type-challenges/utils': specifier: ^0.1.1 version: 0.1.1 @@ -39,11 +39,11 @@ importers: specifier: ^6.0.0 version: 6.0.11(@types/node@20.12.12) vitepress: - specifier: 1.5.0 - version: 1.5.0(@algolia/client-search@5.20.0)(@types/node@20.12.12)(postcss@8.4.49)(search-insights@2.13.0)(typescript@5.4.5) + specifier: ^1.6.3 + version: 1.6.3(@algolia/client-search@5.20.0)(@types/node@20.12.12)(postcss@8.4.49)(search-insights@2.13.0)(typescript@5.4.5) vitepress-plugin-group-icons: - specifier: ^1.3.5 - version: 1.3.5 + specifier: ^1.3.6 + version: 1.3.6 vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.4.5) @@ -125,11 +125,11 @@ packages: resolution: {integrity: sha512-kmtQClq/w3vtPteDSPvaW9SPZL/xrIgMrxZyAgsFwrJk0vJxqyC5/hwHmrCraDnStnGSADnLpBf4SpZnwnkwWw==} engines: {node: '>= 14.0.0'} - '@antfu/install-pkg@0.4.1': - resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} + '@antfu/install-pkg@1.0.0': + resolution: {integrity: sha512-xvX6P/lo1B3ej0OsaErAjqgFYzYVcJpamjLAFLYh9vRJngBrMoUG7aVnrGTeqM7yxbyTD5p3F2+0/QUEh8Vzhw==} - '@antfu/utils@0.7.10': - resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + '@antfu/utils@8.1.1': + resolution: {integrity: sha512-Mex9nXf9vR6AhcXmMrlz/HVgYYZpVGJ6YlPgwl7UnaFpnshXs6EK/oa5Gpf3CzENMjkvEx2tQtntGnb7UtSTOQ==} '@babel/helper-string-parser@7.25.7': resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==} @@ -474,14 +474,14 @@ packages: '@iconify-json/simple-icons@1.2.22': resolution: {integrity: sha512-0UzThRMwHuOJfgpp+tyV/y2uEBLjFVrxC4igv9iWjSEQEBK4tNjWZNTRCBCYyv/FwWVYyKAsA8tZQ8vUYzvFnw==} - '@iconify-json/vscode-icons@1.2.10': - resolution: {integrity: sha512-qjp/j2RcHEZkesuAT6RP8BfcuHa+oERr7K1twfsulrIHrKZlpxxBeEyFm+3evZSAOgD+sjgU5CuTYS3RfCL+Pg==} + '@iconify-json/vscode-icons@1.2.14': + resolution: {integrity: sha512-DLFEWtKpqpzzWbn8DWQoBb2j/KK8KASLHPKQ7763/F4SJelMZg2xVUPUEWrceLNcTu8OVtKQcd/+3Ysa3WcAsg==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} - '@iconify/utils@2.2.1': - resolution: {integrity: sha512-0/7J7hk4PqXmxo5PDBDxmnecw5PxklZJfNjIVG9FM0mEfVrvfudS22rYWsqVk6gR3UJ/mSYS90X4R3znXnqfNA==} + '@iconify/utils@2.3.0': + resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} '@jridgewell/sourcemap-codec@1.5.0': resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} @@ -585,54 +585,63 @@ packages: cpu: [x64] os: [win32] - '@shikijs/core@1.29.1': - resolution: {integrity: sha512-Mo1gGGkuOYjDu5H8YwzmOuly9vNr8KDVkqj9xiKhhhFS8jisAtDSEWB9hzqRHLVQgFdA310e8XRJcW4tYhRB2A==} - '@shikijs/core@2.3.0': resolution: {integrity: sha512-N1r7sIXYm31Zju3CmH6bH6tgIftF0NlHxx0HiZ85X2BLWczgFLo61PJCoF7nFZUu8DeS0g8xhZsiL8zi+tV8YQ==} - '@shikijs/engine-javascript@1.29.1': - resolution: {integrity: sha512-Hpi8k9x77rCQ7F/7zxIOUruNkNidMyBnP5qAGbLFqg4kRrg1HZhkB8btib5EXbQWTtLb5gBHOdBwshk20njD7Q==} + '@shikijs/core@2.5.0': + resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} + + '@shikijs/core@3.0.0': + resolution: {integrity: sha512-gSm3JQf2J2psiUn5bWokmZwnu5N0jfBtRps4CQ1B+qrFvmZCRAkMVoaxgl9qZgAFK5KisLAS3//XaMFVytYHKw==} '@shikijs/engine-javascript@2.3.0': resolution: {integrity: sha512-/ITg36HXHXP486+6zaQgP7Y38LIV9V2Pir4aIk7zQ5XcM1CU8dOlUL9BuyA/E6BKg1XaAgN+rFg3qsaspt+x2A==} - '@shikijs/engine-oniguruma@1.29.1': - resolution: {integrity: sha512-gSt2WhLNgEeLstcweQOSp+C+MhOpTsgdNXRqr3zP6M+BUBZ8Md9OU2BYwUYsALBxHza7hwaIWtFHjQ/aOOychw==} + '@shikijs/engine-javascript@2.5.0': + resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==} '@shikijs/engine-oniguruma@2.3.0': resolution: {integrity: sha512-8nBH/QwDrJLxbIFg7ifrfyEtrW0m9FCfanxU9SJFUEbA+rFNbyDGdoXZ4IxkC6ykT1+Utx2vW6EYVAUk3Q9gcg==} - '@shikijs/langs@1.29.1': - resolution: {integrity: sha512-iERn4HlyuT044/FgrvLOaZgKVKf3PozjKjyV/RZ5GnlyYEAZFcgwHGkYboeBv2IybQG1KVS/e7VGgiAU4JY2Gw==} + '@shikijs/engine-oniguruma@2.5.0': + resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==} '@shikijs/langs@2.3.0': resolution: {integrity: sha512-gaNaqbUhncigokGehwhzGe5AY+IRJKDnp+1Zp3gjxhhv6RxMYtbn9zDu3cl9ngNZGEdtEtvruz6LasdY3n0MCA==} - '@shikijs/themes@1.29.1': - resolution: {integrity: sha512-lb11zf72Vc9uxkl+aec2oW1HVTHJ2LtgZgumb4Rr6By3y/96VmlU44bkxEb8WBWH3RUtbqAJEN0jljD9cF7H7g==} + '@shikijs/langs@2.5.0': + resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==} '@shikijs/themes@2.3.0': resolution: {integrity: sha512-2M3XKry66lB975B7v+kSesGyIJrhxsLdk/RyhB+hbkXmD2Myyuspyox0/2JTqWnM1Y9132NjeVsBl1ZI507ZXw==} - '@shikijs/transformers@1.29.1': - resolution: {integrity: sha512-jVzJhriZ0t9y8TvsV4AzBm74BCLUoK6Bf41aIjJkZc1hKeL0PQtsNL096b1AxgZRwJwTfQalWZ+jBkRAuqVMPw==} + '@shikijs/themes@2.5.0': + resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==} - '@shikijs/twoslash@2.3.0': - resolution: {integrity: sha512-XS6C7ownZj5Z+uT6yULWtR/Z6k/yzcVp+Q/X8K3adeK8VS+JVlnV4+wJPzVGx9oT6mDEOViKx+OEVcXhtUpGXg==} + '@shikijs/transformers@2.5.0': + resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==} - '@shikijs/types@1.29.1': - resolution: {integrity: sha512-aBqAuhYRp5vSir3Pc9+QPu9WESBOjUo03ao0IHLC4TyTioSsp/SkbAZSrIH4ghYYC1T1KTEpRSBa83bas4RnPA==} + '@shikijs/twoslash@3.0.0': + resolution: {integrity: sha512-Il7XsIzbBLGV67i4yCoBDFvlMOuky1DpMyHgBjNjBu7gEw/DcmpoEEs1MwVH6Lk6fX4wXDhMQ+pDL2EwqzWqdQ==} '@shikijs/types@2.3.0': resolution: {integrity: sha512-rC8ZkfIE6m17RBGwRPoXqj/an4JPUnAB1JGHELPVrzygyB0Gqa9Lc7h4xYb8c3GWywAgrjryLAJSN3kpe1fqhw==} - '@shikijs/vitepress-twoslash@2.3.0': - resolution: {integrity: sha512-oFzCwBYITH0XPquUhxkYlP6pUc8lhuIFB8kIk+nbnPOD9AX+PLtgMY5qoGBlQ6JbVzBimKQ6KhEM+FJBsoYcSg==} + '@shikijs/types@2.5.0': + resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==} + + '@shikijs/types@3.0.0': + resolution: {integrity: sha512-kh/xgZHxI6m9trVvPw+C47jyVHx190r0F5gkF+VO5vYB54UtcoPJe66dzZmK7GbJbzmtGEGbOwct/jsoPjjUqg==} + + '@shikijs/vitepress-twoslash@2.5.0': + resolution: {integrity: sha512-q/HUykPsvOOfaa+eWucu2/wFT/+hpIbBEYMneeR/VInBT05dDU3WlBb3ioEkUAmL7gyH9UiVK8e6u14zZNefeA==} '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} + '@shikijs/vscode-textmate@10.0.2': + resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} + '@type-challenges/utils@0.1.1': resolution: {integrity: sha512-A7ljYfBM+FLw+NDyuYvGBJiCEV9c0lPWEAdzfOAkb3JFqfLl0Iv/WhWMMARHiRKlmmiD1g8gz/507yVvHdQUYA==} @@ -769,11 +778,11 @@ packages: '@vue/shared@3.5.13': resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} - '@vueuse/core@11.3.0': - resolution: {integrity: sha512-7OC4Rl1f9G8IT6rUfi9JrKiXy4bfmHhZ5x2Ceojy0jnd3mHNEvV4JaRygH362ror6/NZ+Nl+n13LPzGiPN8cKA==} + '@vueuse/core@12.7.0': + resolution: {integrity: sha512-jtK5B7YjZXmkGNHjviyGO4s3ZtEhbzSgrbX+s5o+Lr8i2nYqNyHuPVOeTdM1/hZ5Tkxg/KktAuAVDDiHMraMVA==} - '@vueuse/integrations@11.3.0': - resolution: {integrity: sha512-5fzRl0apQWrDezmobchoiGTkGw238VWESxZHazfhP3RM7pDSiyXy18QbfYkILoYNTd23HPAfQTJpkUc5QbkwTw==} + '@vueuse/integrations@12.7.0': + resolution: {integrity: sha512-IEq7K4bCl7mn3uKJaWtNXnd1CAPaHLUMuyj5K1/k/pVcItt0VONZW8xiGxdIovJcQjkzOHjImhX5t6gija+0/g==} peerDependencies: async-validator: ^4 axios: ^1 @@ -813,11 +822,11 @@ packages: universal-cookie: optional: true - '@vueuse/metadata@11.3.0': - resolution: {integrity: sha512-pwDnDspTqtTo2HwfLw4Rp6yywuuBdYnPYDq+mO38ZYKGebCUQC/nVj/PXSiK9HX5otxLz8Fn7ECPbjiRz2CC3g==} + '@vueuse/metadata@12.7.0': + resolution: {integrity: sha512-4VvTH9mrjXqFN5LYa5YfqHVRI6j7R00Vy4995Rw7PQxyCL3z0Lli86iN4UemWqixxEvYfRjG+hF9wL8oLOn+3g==} - '@vueuse/shared@11.3.0': - resolution: {integrity: sha512-P8gSSWQeucH5821ek2mn/ciCk+MS/zoRKqdQIM3bHq6p7GXDAJLmnRRKmF5F65sAVJIfzQlwR3aDzwCn10s8hA==} + '@vueuse/shared@12.7.0': + resolution: {integrity: sha512-coLlUw2HHKsm7rPN6WqHJQr18WymN4wkA/3ThFaJ4v4gWGWAQQGK+MJxLuJTBs4mojQiazlVWAKNJNpUWGRkNw==} acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} @@ -1034,8 +1043,8 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - local-pkg@0.5.1: - resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} + local-pkg@1.0.0: + resolution: {integrity: sha512-bbgPw/wmroJsil/GgL4qjDzs5YLTBMQ99weRsok1XCDccQeehbHA/I1oRvk2NPtr7KGZgT/Y5tPRnAtMqeG2Kg==} engines: {node: '>=14'} lodash@4.17.21: @@ -1077,8 +1086,8 @@ packages: mdast-util-gfm-task-list-item@2.0.0: resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} - mdast-util-gfm@3.0.0: - resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + mdast-util-gfm@3.1.0: + resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==} mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} @@ -1187,9 +1196,6 @@ packages: resolution: {integrity: sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==} engines: {node: '>=4'} - oniguruma-to-es@2.3.0: - resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} - oniguruma-to-es@3.1.0: resolution: {integrity: sha512-BJ3Jy22YlgejHSO7Fvmz1kKazlaPmRSUH+4adTDUS/dKQ4wLxI+gALZ8updbaux7/m7fIlpgOZ5fp/Inq5jUAw==} @@ -1197,8 +1203,8 @@ packages: resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} engines: {node: '>=4'} - package-manager-detector@0.2.0: - resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + package-manager-detector@0.2.9: + resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} @@ -1232,18 +1238,12 @@ packages: pseudomap@1.0.2: resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - regex-recursion@5.1.1: - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} - regex-recursion@6.0.2: resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} - regex@6.0.1: resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} @@ -1273,12 +1273,12 @@ packages: resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} engines: {node: '>=0.10.0'} - shiki@1.29.1: - resolution: {integrity: sha512-TghWKV9pJTd/N+IgAIVJtr0qZkB7FfFCUrrEJc0aRmZupo3D1OCVRknQWVRVA7AX/M0Ld7QfoAruPzr3CnUJuw==} - shiki@2.3.0: resolution: {integrity: sha512-wMmrvyxj4i8ft9r2dA+aIi5+G6PL0Dz19h5fr5xG7Jvo8uLIOWxaveSRl3LNcj58h+jUnhdkCh7tQIVULGNXJw==} + shiki@2.5.0: + resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==} + signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} @@ -1322,8 +1322,8 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tinyexec@0.3.0: - resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} + tinyexec@0.3.2: + resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} @@ -1448,11 +1448,11 @@ packages: yaml: optional: true - vitepress-plugin-group-icons@1.3.5: - resolution: {integrity: sha512-1f1NP7osRYlNTR0yS5CAqcaasKHRSAzFKpeCUOfCPwYLAFxhCxsEbRtPBm0U1CfrDVa303MsjX18ngGpFGxIMA==} + vitepress-plugin-group-icons@1.3.6: + resolution: {integrity: sha512-MzUAuMZ43f51dfBKYowW7yv/A2DxIjtN50d8Dcj31nU9RB6GuYBJ48E/Ze88U0bEn4wlnrjMXFh2j2e0rYmGug==} - vitepress@1.5.0: - resolution: {integrity: sha512-q4Q/G2zjvynvizdB3/bupdYkCJe2umSAMv9Ju4d92E6/NXJ59z70xB0q5p/4lpRyAwflDsbwy1mLV9Q5+nlB+g==} + vitepress@1.6.3: + resolution: {integrity: sha512-fCkfdOk8yRZT8GD9BFqusW3+GggWYZ/rYncOfmgcDtP3ualNHCAg+Robxp2/6xfH1WwPHtGpPwv7mbA3qomtBw==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4 @@ -1463,17 +1463,6 @@ packages: postcss: optional: true - vue-demi@0.14.10: - resolution: {integrity: sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==} - engines: {node: '>=12'} - hasBin: true - peerDependencies: - '@vue/composition-api': ^1.0.0-rc.1 - vue: ^3.0.0-0 || ^2.6.0 - peerDependenciesMeta: - '@vue/composition-api': - optional: true - vue-resize@2.0.0-alpha.1: resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: @@ -1612,12 +1601,12 @@ snapshots: dependencies: '@algolia/client-common': 5.20.0 - '@antfu/install-pkg@0.4.1': + '@antfu/install-pkg@1.0.0': dependencies: - package-manager-detector: 0.2.0 - tinyexec: 0.3.0 + package-manager-detector: 0.2.9 + tinyexec: 0.3.2 - '@antfu/utils@0.7.10': {} + '@antfu/utils@8.1.1': {} '@babel/helper-string-parser@7.25.7': {} @@ -1819,21 +1808,21 @@ snapshots: dependencies: '@iconify/types': 2.0.0 - '@iconify-json/vscode-icons@1.2.10': + '@iconify-json/vscode-icons@1.2.14': dependencies: '@iconify/types': 2.0.0 '@iconify/types@2.0.0': {} - '@iconify/utils@2.2.1': + '@iconify/utils@2.3.0': dependencies: - '@antfu/install-pkg': 0.4.1 - '@antfu/utils': 0.7.10 + '@antfu/install-pkg': 1.0.0 + '@antfu/utils': 8.1.1 '@iconify/types': 2.0.0 debug: 4.4.0 globals: 15.14.0 kolorist: 1.8.0 - local-pkg: 0.5.1 + local-pkg: 1.0.0 mlly: 1.7.4 transitivePeerDependencies: - supports-color @@ -1894,15 +1883,6 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.27.4': optional: true - '@shikijs/core@1.29.1': - dependencies: - '@shikijs/engine-javascript': 1.29.1 - '@shikijs/engine-oniguruma': 1.29.1 - '@shikijs/types': 1.29.1 - '@shikijs/vscode-textmate': 10.0.1 - '@types/hast': 3.0.4 - hast-util-to-html: 9.0.4 - '@shikijs/core@2.3.0': dependencies: '@shikijs/engine-javascript': 2.3.0 @@ -1912,11 +1892,21 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.29.1': + '@shikijs/core@2.5.0': dependencies: - '@shikijs/types': 1.29.1 - '@shikijs/vscode-textmate': 10.0.1 - oniguruma-to-es: 2.3.0 + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 + + '@shikijs/core@3.0.0': + dependencies: + '@shikijs/types': 3.0.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.4 '@shikijs/engine-javascript@2.3.0': dependencies: @@ -1924,64 +1914,75 @@ snapshots: '@shikijs/vscode-textmate': 10.0.1 oniguruma-to-es: 3.1.0 - '@shikijs/engine-oniguruma@1.29.1': + '@shikijs/engine-javascript@2.5.0': dependencies: - '@shikijs/types': 1.29.1 - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 3.1.0 '@shikijs/engine-oniguruma@2.3.0': dependencies: '@shikijs/types': 2.3.0 '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/langs@1.29.1': + '@shikijs/engine-oniguruma@2.5.0': dependencies: - '@shikijs/types': 1.29.1 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 '@shikijs/langs@2.3.0': dependencies: '@shikijs/types': 2.3.0 - '@shikijs/themes@1.29.1': + '@shikijs/langs@2.5.0': dependencies: - '@shikijs/types': 1.29.1 + '@shikijs/types': 2.5.0 '@shikijs/themes@2.3.0': dependencies: '@shikijs/types': 2.3.0 - '@shikijs/transformers@1.29.1': + '@shikijs/themes@2.5.0': dependencies: - '@shikijs/core': 1.29.1 - '@shikijs/types': 1.29.1 + '@shikijs/types': 2.5.0 - '@shikijs/twoslash@2.3.0(typescript@5.4.5)': + '@shikijs/transformers@2.5.0': dependencies: - '@shikijs/core': 2.3.0 - '@shikijs/types': 2.3.0 + '@shikijs/core': 2.5.0 + '@shikijs/types': 2.5.0 + + '@shikijs/twoslash@3.0.0(typescript@5.4.5)': + dependencies: + '@shikijs/core': 3.0.0 + '@shikijs/types': 3.0.0 twoslash: 0.2.12(typescript@5.4.5) transitivePeerDependencies: - supports-color - typescript - '@shikijs/types@1.29.1': + '@shikijs/types@2.3.0': dependencies: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 - '@shikijs/types@2.3.0': + '@shikijs/types@2.5.0': dependencies: - '@shikijs/vscode-textmate': 10.0.1 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + + '@shikijs/types@3.0.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 - '@shikijs/vitepress-twoslash@2.3.0(typescript@5.4.5)': + '@shikijs/vitepress-twoslash@2.5.0(typescript@5.4.5)': dependencies: - '@shikijs/twoslash': 2.3.0(typescript@5.4.5) + '@shikijs/twoslash': 3.0.0(typescript@5.4.5) floating-vue: 5.2.2(vue@3.5.13(typescript@5.4.5)) mdast-util-from-markdown: 2.0.2 - mdast-util-gfm: 3.0.0 + mdast-util-gfm: 3.1.0 mdast-util-to-hast: 13.2.0 - shiki: 2.3.0 + shiki: 2.5.0 twoslash: 0.2.12(typescript@5.4.5) twoslash-vue: 0.2.12(typescript@5.4.5) vue: 3.5.13(typescript@5.4.5) @@ -1992,6 +1993,8 @@ snapshots: '@shikijs/vscode-textmate@10.0.1': {} + '@shikijs/vscode-textmate@10.0.2': {} + '@type-challenges/utils@0.1.1': {} '@types/body-parser@1.19.5': @@ -2179,35 +2182,32 @@ snapshots: '@vue/shared@3.5.13': {} - '@vueuse/core@11.3.0(vue@3.5.13(typescript@5.4.5))': + '@vueuse/core@12.7.0(typescript@5.4.5)': dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 11.3.0 - '@vueuse/shared': 11.3.0(vue@3.5.13(typescript@5.4.5)) - vue-demi: 0.14.10(vue@3.5.13(typescript@5.4.5)) + '@vueuse/metadata': 12.7.0 + '@vueuse/shared': 12.7.0(typescript@5.4.5) + vue: 3.5.13(typescript@5.4.5) transitivePeerDependencies: - - '@vue/composition-api' - - vue + - typescript - '@vueuse/integrations@11.3.0(focus-trap@7.6.4)(vue@3.5.13(typescript@5.4.5))': + '@vueuse/integrations@12.7.0(focus-trap@7.6.4)(typescript@5.4.5)': dependencies: - '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.4.5)) - '@vueuse/shared': 11.3.0(vue@3.5.13(typescript@5.4.5)) - vue-demi: 0.14.10(vue@3.5.13(typescript@5.4.5)) + '@vueuse/core': 12.7.0(typescript@5.4.5) + '@vueuse/shared': 12.7.0(typescript@5.4.5) + vue: 3.5.13(typescript@5.4.5) optionalDependencies: focus-trap: 7.6.4 transitivePeerDependencies: - - '@vue/composition-api' - - vue + - typescript - '@vueuse/metadata@11.3.0': {} + '@vueuse/metadata@12.7.0': {} - '@vueuse/shared@11.3.0(vue@3.5.13(typescript@5.4.5))': + '@vueuse/shared@12.7.0(typescript@5.4.5)': dependencies: - vue-demi: 0.14.10(vue@3.5.13(typescript@5.4.5)) + vue: 3.5.13(typescript@5.4.5) transitivePeerDependencies: - - '@vue/composition-api' - - vue + - typescript acorn@8.14.0: {} @@ -2453,7 +2453,7 @@ snapshots: kolorist@1.8.0: {} - local-pkg@0.5.1: + local-pkg@1.0.0: dependencies: mlly: 1.7.4 pkg-types: 1.3.1 @@ -2544,7 +2544,7 @@ snapshots: transitivePeerDependencies: - supports-color - mdast-util-gfm@3.0.0: + mdast-util-gfm@3.1.0: dependencies: mdast-util-from-markdown: 2.0.2 mdast-util-gfm-autolink-literal: 2.0.0 @@ -2748,12 +2748,6 @@ snapshots: dependencies: path-key: 2.0.1 - oniguruma-to-es@2.3.0: - dependencies: - emoji-regex-xs: 1.0.0 - regex: 5.1.1 - regex-recursion: 5.1.1 - oniguruma-to-es@3.1.0: dependencies: emoji-regex-xs: 1.0.0 @@ -2762,7 +2756,7 @@ snapshots: p-finally@1.0.0: {} - package-manager-detector@0.2.0: {} + package-manager-detector@0.2.9: {} path-browserify@1.0.1: {} @@ -2792,21 +2786,12 @@ snapshots: pseudomap@1.0.2: {} - regex-recursion@5.1.1: - dependencies: - regex: 5.1.1 - regex-utilities: 2.3.0 - regex-recursion@6.0.2: dependencies: regex-utilities: 2.3.0 regex-utilities@2.3.0: {} - regex@5.1.1: - dependencies: - regex-utilities: 2.3.0 - regex@6.0.1: dependencies: regex-utilities: 2.3.0 @@ -2852,17 +2837,6 @@ snapshots: shebang-regex@1.0.0: {} - shiki@1.29.1: - dependencies: - '@shikijs/core': 1.29.1 - '@shikijs/engine-javascript': 1.29.1 - '@shikijs/engine-oniguruma': 1.29.1 - '@shikijs/langs': 1.29.1 - '@shikijs/themes': 1.29.1 - '@shikijs/types': 1.29.1 - '@shikijs/vscode-textmate': 10.0.1 - '@types/hast': 3.0.4 - shiki@2.3.0: dependencies: '@shikijs/core': 2.3.0 @@ -2874,6 +2848,17 @@ snapshots: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 + shiki@2.5.0: + dependencies: + '@shikijs/core': 2.5.0 + '@shikijs/engine-javascript': 2.5.0 + '@shikijs/engine-oniguruma': 2.5.0 + '@shikijs/langs': 2.5.0 + '@shikijs/themes': 2.5.0 + '@shikijs/types': 2.5.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + signal-exit@3.0.7: {} source-map-js@1.2.1: {} @@ -2905,7 +2890,7 @@ snapshots: tabbable@6.2.0: {} - tinyexec@0.3.0: {} + tinyexec@0.3.2: {} to-fast-properties@2.0.0: {} @@ -2988,32 +2973,32 @@ snapshots: '@types/node': 20.12.12 fsevents: 2.3.3 - vitepress-plugin-group-icons@1.3.5: + vitepress-plugin-group-icons@1.3.6: dependencies: '@iconify-json/logos': 1.2.4 - '@iconify-json/vscode-icons': 1.2.10 - '@iconify/utils': 2.2.1 + '@iconify-json/vscode-icons': 1.2.14 + '@iconify/utils': 2.3.0 transitivePeerDependencies: - supports-color - vitepress@1.5.0(@algolia/client-search@5.20.0)(@types/node@20.12.12)(postcss@8.4.49)(search-insights@2.13.0)(typescript@5.4.5): + vitepress@1.6.3(@algolia/client-search@5.20.0)(@types/node@20.12.12)(postcss@8.4.49)(search-insights@2.13.0)(typescript@5.4.5): dependencies: '@docsearch/css': 3.8.2 '@docsearch/js': 3.8.2(@algolia/client-search@5.20.0)(search-insights@2.13.0) '@iconify-json/simple-icons': 1.2.22 - '@shikijs/core': 1.29.1 - '@shikijs/transformers': 1.29.1 - '@shikijs/types': 1.29.1 + '@shikijs/core': 2.3.0 + '@shikijs/transformers': 2.5.0 + '@shikijs/types': 2.3.0 '@types/markdown-it': 14.1.2 '@vitejs/plugin-vue': 5.2.1(vite@5.4.14(@types/node@20.12.12))(vue@3.5.13(typescript@5.4.5)) '@vue/devtools-api': 7.7.1 '@vue/shared': 3.5.13 - '@vueuse/core': 11.3.0(vue@3.5.13(typescript@5.4.5)) - '@vueuse/integrations': 11.3.0(focus-trap@7.6.4)(vue@3.5.13(typescript@5.4.5)) + '@vueuse/core': 12.7.0(typescript@5.4.5) + '@vueuse/integrations': 12.7.0(focus-trap@7.6.4)(typescript@5.4.5) focus-trap: 7.6.4 mark.js: 8.11.1 minisearch: 7.1.1 - shiki: 1.29.1 + shiki: 2.3.0 vite: 5.4.14(@types/node@20.12.12) vue: 3.5.13(typescript@5.4.5) optionalDependencies: @@ -3022,7 +3007,6 @@ snapshots: - '@algolia/client-search' - '@types/node' - '@types/react' - - '@vue/composition-api' - async-validator - axios - change-case @@ -3046,10 +3030,6 @@ snapshots: - typescript - universal-cookie - vue-demi@0.14.10(vue@3.5.13(typescript@5.4.5)): - dependencies: - vue: 3.5.13(typescript@5.4.5) - vue-resize@2.0.0-alpha.1(vue@3.5.13(typescript@5.4.5)): dependencies: vue: 3.5.13(typescript@5.4.5) diff --git a/public/_redirects b/public/_redirects index dfad846b..fb752fae 100644 --- a/public/_redirects +++ b/public/_redirects @@ -5,3 +5,5 @@ https://cn.vitejs.dev/* https://cn.vite.dev/:splat 301! /guide/api-vite-runtime.html /guide/api-environment 302 /guide/api-vite-environment /guide/api-environment 302 /guide/api-vite-environment.html /guide/api-environment 302 +/guide/comparisons /guide/why#how-vite-relates-to-other-unbundled-build-tools 302 +/guide/comparisons.html /guide/why#how-vite-relates-to-other-unbundled-build-tools 302