diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 53d1d485caeafa..5c13d474f1decc 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,6 +1,10 @@ import type { DefaultTheme } from 'vitepress' import { defineConfig } from 'vitepress' import { transformerTwoslash } from '@shikijs/vitepress-twoslash' +import { + groupIconMdPlugin, + groupIconVitePlugin, +} from 'vitepress-plugin-group-icons' import { buildEnd } from './buildEnd.config' const ogDescription = 'Next Generation Frontend Tooling' @@ -394,6 +398,19 @@ export default defineConfig({ }, markdown: { codeTransformers: [transformerTwoslash()], + config(md) { + md.use(groupIconMdPlugin) + }, + }, + vite: { + plugins: [ + groupIconVitePlugin({ + customIcon: { + firebase: 'vscode-icons:file-type-firebase', + '.gitlab-ci.yml': 'vscode-icons:file-type-gitlab', + }, + }), + ], }, buildEnd, }) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index 5fa0d638a3f9a1..d2303b7831483e 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -7,6 +7,7 @@ import './styles/vars.css' import HomeSponsors from './components/HomeSponsors.vue' import AsideSponsors from './components/AsideSponsors.vue' import SvgImage from './components/SvgImage.vue' +import 'virtual:group-icons.css' export default { extends: DefaultTheme, diff --git a/docs/config/server-options.md b/docs/config/server-options.md index caa6997ea6f471..eaf63a45a71443 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -18,8 +18,7 @@ The first case is when `localhost` is used. Node.js under v17 reorders the resul You can set [`dns.setDefaultResultOrder('verbatim')`](https://nodejs.org/api/dns.html#dns_dns_setdefaultresultorder_order) to disable the reordering behavior. Vite will then print the address as `localhost`. -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import { defineConfig } from 'vite' import dns from 'node:dns' diff --git a/docs/guide/api-javascript.md b/docs/guide/api-javascript.md index 573c8c32a394c6..5a883c75e274cf 100644 --- a/docs/guide/api-javascript.md +++ b/docs/guide/api-javascript.md @@ -209,7 +209,7 @@ async function build( **Example Usage:** -```ts twoslash +```ts twoslash [vite.config.js] import path from 'node:path' import { fileURLToPath } from 'node:url' import { build } from 'vite' diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index 25a7639bd406e8..9f0d8894f9c5ec 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -42,8 +42,7 @@ See also [Virtual Modules Convention](#virtual-modules-convention). Users will add plugins to the project `devDependencies` and configure them using the `plugins` array option. -```js -// vite.config.js +```js [vite.config.js] import vitePlugin from 'vite-plugin-feature' import rollupPlugin from 'rollup-plugin-feature' @@ -66,8 +65,7 @@ export default function framework(config) { } ``` -```js -// vite.config.js +```js [vite.config.js] import { defineConfig } from 'vite' import framework from 'vite-plugin-framework' @@ -519,8 +517,7 @@ If a Rollup plugin only makes sense for the build phase, then it can be specifie You can also augment an existing Rollup plugin with Vite-only properties: -```js -// vite.config.js +```js [vite.config.js] import example from 'rollup-plugin-example' import { defineConfig } from 'vite' @@ -560,8 +557,7 @@ Since Vite 2.9, we provide some utilities for plugins to help handle the communi On the plugin side, we could use `server.ws.send` to broadcast events to the client: -```js -// vite.config.js +```js [vite.config.js] export default defineConfig({ plugins: [ { @@ -606,8 +602,7 @@ if (import.meta.hot) { Then use `server.ws.on` and listen to the events on the server side: -```js -// vite.config.js +```js [vite.config.js] export default defineConfig({ plugins: [ { @@ -632,8 +627,7 @@ Internally, vite infers the type of a payload from the `CustomEventMap` interfac Make sure to include the `.d.ts` extension when specifying TypeScript declaration files. Otherwise, Typescript may not know which file the module is trying to extend. ::: -```ts -// events.d.ts +```ts [events.d.ts] import 'vite/types/customEvent.d.ts' declare module 'vite/types/customEvent.d.ts' { diff --git a/docs/guide/backend-integration.md b/docs/guide/backend-integration.md index 8509082bbdf2ea..080cf578493ed2 100644 --- a/docs/guide/backend-integration.md +++ b/docs/guide/backend-integration.md @@ -8,10 +8,9 @@ If you need a custom integration, you can follow the steps in this guide to conf 1. In your Vite config, configure the entry and enable build manifest: - ```js twoslash + ```js twoslash [vite.config.js] import { defineConfig } from 'vite' // ---cut--- - // vite.config.js export default defineConfig({ build: { // generate .vite/manifest.json in outDir @@ -60,7 +59,7 @@ If you need a custom integration, you can follow the steps in this guide to conf 3. For production: after running `vite build`, a `.vite/manifest.json` file will be generated alongside other asset files. An example manifest file looks like this: - ```json + ```json [.vite/manifest.json] { "_shared-!~{003}~.js": { "file": "assets/shared-ChJ_j-JJ.css", diff --git a/docs/guide/build.md b/docs/guide/build.md index 6c4f2a1e5523ab..fa250ca291727b 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -33,7 +33,7 @@ For advanced base path control, check out [Advanced Base Options](#advanced-base The build can be customized via various [build config options](/config/build-options.md). Specifically, you can directly adjust the underlying [Rollup options](https://rollupjs.org/configuration-options/) via `build.rollupOptions`: -```js +```js [vite.config.js] export default defineConfig({ build: { rollupOptions: { @@ -65,8 +65,7 @@ When a new deployment occurs, the hosting service may delete the assets from pre You can enable rollup watcher with `vite build --watch`. Or, you can directly adjust the underlying [`WatcherOptions`](https://rollupjs.org/configuration-options/#watch) via `build.watch`: -```js -// vite.config.js +```js [vite.config.js] export default defineConfig({ build: { watch: { @@ -96,8 +95,7 @@ During dev, simply navigate or link to `/nested/` - it works as expected, just l During build, all you need to do is to specify multiple `.html` files as entry points: -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import { resolve } from 'path' import { defineConfig } from 'vite' @@ -123,8 +121,7 @@ When you are developing a browser-oriented library, you are likely spending most When it is time to bundle your library for distribution, use the [`build.lib` config option](/config/build-options.md#build-lib). Make sure to also externalize any dependencies that you do not want to bundle into your library, e.g. `vue` or `react`: -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import { resolve } from 'path' import { defineConfig } from 'vite' @@ -155,8 +152,7 @@ export default defineConfig({ The entry file would contain exports that can be imported by users of your package: -```js -// lib/main.js +```js [lib/main.js] import Foo from './Foo.vue' import Bar from './Bar.vue' export { Foo, Bar } @@ -173,7 +169,7 @@ dist/my-lib.umd.cjs 0.30 kB / gzip: 0.16 kB Recommended `package.json` for your lib: -```json +```json [package.json] { "name": "my-lib", "type": "module", @@ -191,7 +187,7 @@ Recommended `package.json` for your lib: Or, if exposing multiple entry points: -```json +```json [package.json] { "name": "my-lib", "type": "module", diff --git a/docs/guide/dep-pre-bundling.md b/docs/guide/dep-pre-bundling.md index e387a6ae1b8a48..e7c0185e22475a 100644 --- a/docs/guide/dep-pre-bundling.md +++ b/docs/guide/dep-pre-bundling.md @@ -37,7 +37,7 @@ In a monorepo setup, a dependency may be a linked package from the same repo. Vi However, this requires the linked dep to be exported as ESM. If not, you can add the dependency to [`optimizeDeps.include`](/config/dep-optimization-options.md#optimizedeps-include) and [`build.commonjsOptions.include`](/config/build-options.md#build-commonjsoptions) in your config. -```js twoslash +```js twoslash [vite.config.js] import { defineConfig } from 'vite' // ---cut--- export default defineConfig({ diff --git a/docs/guide/env-and-mode.md b/docs/guide/env-and-mode.md index 7c0c58190c9db6..89f5eaf0382509 100644 --- a/docs/guide/env-and-mode.md +++ b/docs/guide/env-and-mode.md @@ -38,7 +38,7 @@ Loaded env variables are also exposed to your client source code via `import.met To prevent accidentally leaking env variables to the client, only variables prefixed with `VITE_` are exposed to your Vite-processed code. e.g. for the following env variables: -``` +```[.env] VITE_SOME_KEY=123 DB_PASSWORD=foobar ``` @@ -59,7 +59,7 @@ Also, Vite uses [dotenv-expand](https://github.com/motdotla/dotenv-expand) to ex Note that if you want to use `$` inside your environment value, you have to escape it with `\`. -``` +```[.env] KEY=123 NEW_KEY1=test$foo # test NEW_KEY2=test\$foo # test$foo @@ -81,7 +81,7 @@ By default, Vite provides type definitions for `import.meta.env` in [`vite/clien To achieve this, you can create an `vite-env.d.ts` in `src` directory, then augment `ImportMetaEnv` like this: -```typescript +```typescript [vite-env.d.ts] /// interface ImportMetaEnv { @@ -96,7 +96,7 @@ interface ImportMeta { If your code relies on types from browser environments such as [DOM](https://github.com/microsoft/TypeScript/blob/main/src/lib/dom.generated.d.ts) and [WebWorker](https://github.com/microsoft/TypeScript/blob/main/src/lib/webworker.generated.d.ts), you can update the [lib](https://www.typescriptlang.org/tsconfig#lib) field in `tsconfig.json`. -```json +```json [tsconfig.json] { "lib": ["WebWorker"] } diff --git a/docs/guide/features.md b/docs/guide/features.md index 9998387dae46b0..2decd3b0b93eaf 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -125,7 +125,7 @@ Vite's default types are for its Node.js API. To shim the environment of client Alternatively, you can add `vite/client` to `compilerOptions.types` inside `tsconfig.json`: -```json +```json [tsconfig.json] { "compilerOptions": { "types": ["vite/client"] @@ -176,8 +176,7 @@ Vue users should use the official [@vitejs/plugin-vue-jsx](https://github.com/vi If using JSX without React or Vue, custom `jsxFactory` and `jsxFragment` can be configured using the [`esbuild` option](/config/shared-options.md#esbuild). For example for Preact: -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import { defineConfig } from 'vite' export default defineConfig({ @@ -192,8 +191,7 @@ More details in [esbuild docs](https://esbuild.github.io/content-types/#jsx). You can inject the JSX helpers using `jsxInject` (which is a Vite-only option) to avoid manual imports: -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import { defineConfig } from 'vite' export default defineConfig({ @@ -223,8 +221,7 @@ Note that CSS minification will run after PostCSS and will use [`build.cssTarget Any CSS file ending with `.module.css` is considered a [CSS modules file](https://github.com/css-modules/css-modules). Importing such a file will return the corresponding module object: -```css -/* example.module.css */ +```css [example.module.css] .red { color: red; } diff --git a/docs/guide/index.md b/docs/guide/index.md index 937c5791ba557c..9f2b3457ce2dfc 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -186,7 +186,7 @@ Note that Vite will also resolve [its config file (i.e. `vite.config.js`)](/conf In a project where Vite is installed, you can use the `vite` binary in your npm scripts, or run it directly with `npx vite`. Here are the default npm scripts in a scaffolded Vite project: -```json +```json [package.json] { "scripts": { "dev": "vite", // start dev server, aliases: `vite dev`, `vite serve` diff --git a/docs/guide/performance.md b/docs/guide/performance.md index 8da7bd63649705..5d19e102ba2526 100644 --- a/docs/guide/performance.md +++ b/docs/guide/performance.md @@ -59,8 +59,7 @@ If you are using TypeScript, enable `"moduleResolution": "bundler"` and `"allowI Barrel files are files that re-export the APIs of other files in the same directory. For example: -```js -// src/utils/index.js +```js [src/utils/index.js] export * from './color.js' export * from './dom.js' export * from './slash.js' @@ -92,7 +91,7 @@ vite:transform 62.95ms /src/components/BigComponent.vue +1ms vite:transform 102.54ms /src/utils/big-utils.js +1ms ``` -```js +```js [vite.config.js] export default defineConfig({ server: { warmup: { diff --git a/docs/guide/ssr.md b/docs/guide/ssr.md index 79c29518994a2b..2b8bd313e137ba 100644 --- a/docs/guide/ssr.md +++ b/docs/guide/ssr.md @@ -44,7 +44,7 @@ A typical SSR application will have the following source file structure: The `index.html` will need to reference `entry-client.js` and include a placeholder where the server-rendered markup should be injected: -```html +```html [index.html]
``` @@ -69,9 +69,7 @@ This is statically replaced during build so it will allow tree-shaking of unused When building an SSR app, you likely want to have full control over your main server and decouple Vite from the production environment. It is therefore recommended to use Vite in middleware mode. Here is an example with [express](https://expressjs.com/): -**server.js** - -```js{15-18} twoslash +```js{15-18} twoslash [server.js] import fs from 'node:fs' import path from 'node:path' import { fileURLToPath } from 'node:url' @@ -113,7 +111,7 @@ Here `vite` is an instance of [ViteDevServer](./api-javascript#vitedevserver). ` The next step is implementing the `*` handler to serve server-rendered HTML: -```js twoslash +```js twoslash [server.js] // @noErrors import fs from 'node:fs' import path from 'node:path' @@ -166,7 +164,7 @@ app.use('*', async (req, res, next) => { The `dev` script in `package.json` should also be changed to use the server script instead: -```diff +```diff [package.json] "scripts": { - "dev": "vite" + "dev": "node server" @@ -182,7 +180,7 @@ To ship an SSR project for production, we need to: Our scripts in `package.json` will look like this: -```json +```json [package.json] { "scripts": { "dev": "node server", @@ -219,8 +217,7 @@ To leverage the manifest, frameworks need to provide a way to collect the module `@vitejs/plugin-vue` supports this out of the box and automatically registers used component module IDs on to the associated Vue SSR context: -```js -// src/entry-server.js +```js [src/entry-server.js] const ctx = {} const html = await vueServerRenderer.renderToString(app, ctx) // ctx.modules is now a Set of module IDs that were used during the render diff --git a/docs/guide/static-deploy.md b/docs/guide/static-deploy.md index ecf9c93dfc5d13..7664bc8ceaeff4 100644 --- a/docs/guide/static-deploy.md +++ b/docs/guide/static-deploy.md @@ -6,7 +6,7 @@ The following guides are based on some shared assumptions: - You are using npm. You can use equivalent commands to run the scripts if you are using Yarn or other package managers. - Vite is installed as a local dev dependency in your project, and you have setup the following npm scripts: -```json +```json [package.json] { "scripts": { "build": "vite build", @@ -43,7 +43,7 @@ The `vite preview` command will boot up a local static web server that serves th You may configure the port of the server by passing the `--port` flag as an argument. -```json +```json [package.json] { "scripts": { "preview": "vite preview --port 8080" @@ -127,7 +127,7 @@ Now the `preview` command will launch the server at `http://localhost:8080`. 2. Create a file called `.gitlab-ci.yml` in the root of your project with the content below. This will build and deploy your site whenever you make changes to your content: - ```yaml + ```yaml [.gitlab-ci.yml] image: node:16.5.0 pages: stage: deploy @@ -257,9 +257,7 @@ You can also add custom domains and handle custom build settings on Pages. Learn 2. Create `firebase.json` and `.firebaserc` at the root of your project with the following content: - `firebase.json`: - - ```json + ```json [firebase.json] { "hosting": { "public": "dist", @@ -274,9 +272,7 @@ You can also add custom domains and handle custom build settings on Pages. Learn } ``` - `.firebaserc`: - - ```js + ```js [.firebaserc] { "projects": { "default": "" diff --git a/docs/guide/using-plugins.md b/docs/guide/using-plugins.md index d936fee153b4dd..b168b11f714525 100644 --- a/docs/guide/using-plugins.md +++ b/docs/guide/using-plugins.md @@ -10,8 +10,7 @@ To use a plugin, it needs to be added to the `devDependencies` of the project an $ npm add -D @vitejs/plugin-legacy ``` -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import legacy from '@vitejs/plugin-legacy' import { defineConfig } from 'vite' @@ -46,8 +45,7 @@ For compatibility with some Rollup plugins, it may be needed to enforce the orde - default: invoke plugin after Vite core plugins - `post`: invoke plugin after Vite build plugins -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import image from '@rollup/plugin-image' import { defineConfig } from 'vite' @@ -67,8 +65,7 @@ Check out [Plugins API Guide](./api-plugin.md#plugin-ordering) for detailed info By default, plugins are invoked for both serve and build. In cases where a plugin needs to be conditionally applied only during serve or build, use the `apply` property to only invoke them during `'build'` or `'serve'`: -```js twoslash -// vite.config.js +```js twoslash [vite.config.js] import typescript2 from 'rollup-plugin-typescript2' import { defineConfig } from 'vite' diff --git a/docs/package.json b/docs/package.json index 5cf645afae184d..55b2d2d5ded1fb 100644 --- a/docs/package.json +++ b/docs/package.json @@ -12,6 +12,7 @@ "@types/express": "^4.17.21", "feed": "^4.2.2", "vitepress": "1.3.4", + "vitepress-plugin-group-icons": "^1.2.4", "vue": "^3.5.6" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8f45890b982c35..c4a96438950f62 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -151,6 +151,9 @@ importers: vitepress: specifier: 1.3.4 version: 1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.6)(axios@1.7.7)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3) + vitepress-plugin-group-icons: + specifier: ^1.2.4 + version: 1.2.4 vue: specifier: ^3.5.6 version: 3.5.6(typescript@5.5.3) @@ -1659,6 +1662,12 @@ packages: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + '@antfu/install-pkg@0.4.1': + resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==} + + '@antfu/utils@0.7.10': + resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==} + '@babel/code-frame@7.24.7': resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} @@ -2962,6 +2971,18 @@ packages: resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} engines: {node: '>=10.13.0'} + '@iconify-json/logos@1.2.0': + resolution: {integrity: sha512-VkU9QSqeZR2guWbecdqkcoZEAJfgJJTUm6QAsypuZQ7Cve6zy39wOXDjp2H31I8QyQy4O3Cz96+pNji6UQFg4w==} + + '@iconify-json/vscode-icons@1.2.2': + resolution: {integrity: sha512-bTpT0HJDRqGkxQv8oiETNHLEnBZpnA1QaRD35CQyO7M7qgWVLx2xwn/lK6e4waojmlPC3ckMBx3WFIUUn0/Jdg==} + + '@iconify/types@2.0.0': + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + + '@iconify/utils@2.1.33': + resolution: {integrity: sha512-jP9h6v/g0BIZx0p7XGJJVtkVnydtbgTgt9mVNcGDYwaa7UhdHdI9dvoq+gKj9sijMSJKxUPEG2JyjsgXjxL7Kw==} + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -5246,6 +5267,9 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + launch-editor-middleware@2.9.1: resolution: {integrity: sha512-4wF6AtPtaIENiZdH/a+3yW8Xni7uxzTEDd1z+gH00hUWBCSmQknFohznMd9BWhLk8MXObeB5ir69GbIr9qFW1w==} @@ -5349,6 +5373,10 @@ packages: resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} engines: {node: '>= 12.13.0'} + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -5800,6 +5828,9 @@ packages: package-json-from-dist@1.0.0: resolution: {integrity: sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==} + package-manager-detector@0.2.0: + resolution: {integrity: sha512-E385OSk9qDcXhcM9LNSe4sdhx8a9mAPrZ4sMLW+tmxl5ZuGtPUcdFu+MPP2jbgiWAZ6Pfe5soGFMd+0Db5Vrog==} + package-name-regex@2.0.6: resolution: {integrity: sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==} engines: {node: '>=12'} @@ -6942,6 +6973,9 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vitepress-plugin-group-icons@1.2.4: + resolution: {integrity: sha512-pxYzphvRy0Jhpgl3lHszH9Z8Qaj83v4bVr0b8Oi4zSIOQW/uuqGAZ8SaYwkZ1f/8a6ckIeIwZiLfLHA6ySCScQ==} + vitepress@1.3.4: resolution: {integrity: sha512-I1/F6OW1xl3kW4PaIMC6snxjWgf3qfziq2aqsDoFc/Gt41WbcRv++z8zjw8qGRIJ+I4bUW7ZcKFDHHN/jkH9DQ==} hasBin: true @@ -7225,6 +7259,13 @@ snapshots: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + '@antfu/install-pkg@0.4.1': + dependencies: + package-manager-detector: 0.2.0 + tinyexec: 0.3.0 + + '@antfu/utils@0.7.10': {} + '@babel/code-frame@7.24.7': dependencies: '@babel/highlight': 7.24.7 @@ -8450,6 +8491,28 @@ snapshots: '@hutson/parse-repository-url@5.0.0': {} + '@iconify-json/logos@1.2.0': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify-json/vscode-icons@1.2.2': + dependencies: + '@iconify/types': 2.0.0 + + '@iconify/types@2.0.0': {} + + '@iconify/utils@2.1.33': + dependencies: + '@antfu/install-pkg': 0.4.1 + '@antfu/utils': 0.7.10 + '@iconify/types': 2.0.0 + debug: 4.3.7 + kolorist: 1.8.0 + local-pkg: 0.5.0 + mlly: 1.7.1 + transitivePeerDependencies: + - supports-color + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -10965,6 +11028,8 @@ snapshots: kleur@3.0.3: {} + kolorist@1.8.0: {} + launch-editor-middleware@2.9.1: dependencies: launch-editor: 2.9.1 @@ -11070,6 +11135,11 @@ snapshots: loader-utils@3.2.1: {} + local-pkg@0.5.0: + dependencies: + mlly: 1.7.1 + pkg-types: 1.1.1 + locate-path@6.0.0: dependencies: p-locate: 5.0.0 @@ -11639,6 +11709,8 @@ snapshots: package-json-from-dist@1.0.0: {} + package-manager-detector@0.2.0: {} + package-name-regex@2.0.6: {} parent-module@1.0.1: @@ -12836,6 +12908,14 @@ snapshots: transitivePeerDependencies: - supports-color + vitepress-plugin-group-icons@1.2.4: + dependencies: + '@iconify-json/logos': 1.2.0 + '@iconify-json/vscode-icons': 1.2.2 + '@iconify/utils': 2.1.33 + transitivePeerDependencies: + - supports-color + vitepress@1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.6)(axios@1.7.7)(postcss@8.4.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.5.3): dependencies: '@docsearch/css': 3.6.1