From e4f36bb7a032a1c26c07ca3da55c078fcafabafc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:23:16 +0800 Subject: [PATCH 01/38] chore(deps): update all non-major dependencies (#16186) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0ebc64d8..47d8e05e 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.1.7", + "@shikijs/vitepress-twoslash": "^1.2.0", "@types/express": "^4.17.21", "vitepress": "1.0.0-rc.45", "vue": "^3.4.21" From 018262336739d752cfbd6a982fdc280b5c70f235 Mon Sep 17 00:00:00 2001 From: waynzh Date: Fri, 22 Mar 2024 09:49:37 +0800 Subject: [PATCH 02/38] chore: update deps --- package.json | 15 +-------------- pnpm-lock.yaml | 34 +++------------------------------- 2 files changed, 4 insertions(+), 45 deletions(-) diff --git a/package.json b/package.json index fb057ed1..cf42bf25 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,4 @@ { -<<<<<<< HEAD "name": "vite-docs-cn", "version": "1.0.0", "description": "Vite.js documentation Chinese translation.", @@ -16,19 +15,7 @@ "vite": "^5.1.6", "feed": "^4.2.2", "yorkie": "^2.0.0", - "@shikijs/vitepress-twoslash": "^1.1.7", -======= - "name": "docs", - "private": true, - "type": "module", - "scripts": { - "docs": "vitepress dev", - "docs-build": "vitepress build", - "docs-serve": "vitepress serve" - }, - "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.2.0", ->>>>>>> e4f36bb7a032a1c26c07ca3da55c078fcafabafc + "@shikijs/vitepress-twoslash": "^1.2.0", "@types/express": "^4.17.21", "vitepress": "1.0.0-rc.45", "vue": "^3.4.21" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a4f38e6..87ce6b0e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,7 @@ settings: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.1.7 + specifier: ^1.2.0 version: 1.2.0(typescript@5.4.2) '@types/express': specifier: ^4.17.21 @@ -180,14 +180,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/parser@7.23.3: - resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.18.4 - dev: true - /@babel/parser@7.24.0: resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} engines: {node: '>=6.0.0'} @@ -751,15 +743,6 @@ packages: muggle-string: 0.3.1 dev: true - /@vue/compiler-core@3.3.8: - resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} - dependencies: - '@babel/parser': 7.23.3 - '@vue/shared': 3.3.8 - estree-walker: 2.0.2 - source-map-js: 1.0.2 - dev: true - /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: @@ -770,13 +753,6 @@ packages: source-map-js: 1.0.2 dev: true - /@vue/compiler-dom@3.3.8: - resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} - dependencies: - '@vue/compiler-core': 3.3.8 - '@vue/shared': 3.3.8 - dev: true - /@vue/compiler-dom@3.4.21: resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} dependencies: @@ -842,8 +818,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.3.8 - '@vue/shared': 3.3.8 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -883,10 +859,6 @@ packages: vue: 3.4.21(typescript@5.4.2) dev: true - /@vue/shared@3.3.8: - resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} - dev: true - /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} dev: true From 2a790ac03b53a2fa4fe311b2452084ba3e3b8587 Mon Sep 17 00:00:00 2001 From: Wout Mertens Date: Sun, 24 Mar 2024 07:04:31 +0100 Subject: [PATCH 03/38] docs: clarify enforce vs hook.order (#16226) --- guide/api-plugin.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guide/api-plugin.md b/guide/api-plugin.md index 4d8066ff..7f77b7b0 100644 --- a/guide/api-plugin.md +++ b/guide/api-plugin.md @@ -480,6 +480,8 @@ A Vite plugin can additionally specify an `enforce` property (similar to webpack - User plugins with `enforce: 'post'` - Vite post build plugins (minify, manifest, reporting) +Note that this is separate from hooks ordering, those are still separately subject to their `order` attribute [as usual for Rollup hooks](https://rollupjs.org/plugin-development/#build-hooks). + ## Conditional Application 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'`: From b5fa372f25f0e5ac6202fa833bca3656e4196965 Mon Sep 17 00:00:00 2001 From: Pascal Will <13084595+pascalwill@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:20:38 +0100 Subject: [PATCH 04/38] docs: fix typo (#16265) --- guide/backend-integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/backend-integration.md b/guide/backend-integration.md index f154be13..b134119a 100644 --- a/guide/backend-integration.md +++ b/guide/backend-integration.md @@ -117,7 +117,7 @@ If you need a custom integration, you can follow the steps in this guide to conf - A `` tag for each file in the entry point chunk's `css` list - Recursively follow all chunks in the entry point's `imports` list and include a `` tag for each css file of each imported chunk. - - A tag for the `file` key of the entry point chunk (` - + ``` Specifically, a backend generating HTML should include the following tags given a manifest @@ -129,7 +129,7 @@ If you need a custom integration, you can follow the steps in this guide to conf - + ``` While the following should be included for the entry point `views/foo.js`: @@ -138,5 +138,5 @@ If you need a custom integration, you can follow the steps in this guide to conf - + ``` From 3fcc9e8aeb6ae762ad84eb419ad418f6aaff14e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B2=88=E9=9D=92=E5=B7=9D?= <46062972+ShenQingchuan@users.noreply.github.com> Date: Thu, 28 Mar 2024 10:32:11 +0800 Subject: [PATCH 08/38] docs(cn): resolve all conflicts --- guide/backend-integration.md | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/guide/backend-integration.md b/guide/backend-integration.md index 384dcf25..ec11a274 100644 --- a/guide/backend-integration.md +++ b/guide/backend-integration.md @@ -107,13 +107,8 @@ -<<<<<<< HEAD - -======= - ->>>>>>> 70cf6392e735f6681739a1cfdef9482926a8dd03 ``` 具体来说,一个生成 HTML 的后端在给定 manifest 文件和一个入口文件的情况下, @@ -133,13 +128,8 @@ -<<<<<<< HEAD - -======= - ->>>>>>> 70cf6392e735f6681739a1cfdef9482926a8dd03 ``` 而对于入口文件 `views/foo.js`,应该包含以下标签: @@ -147,11 +137,6 @@ ```html -<<<<<<< HEAD - -======= - ->>>>>>> 70cf6392e735f6681739a1cfdef9482926a8dd03 ``` From 7f70f53a9bf7bb92834eb8df09e122e49d8e4e52 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Fri, 29 Mar 2024 07:57:28 +0100 Subject: [PATCH 09/38] chore: deprecate splitVendorChunkPlugin (#16274) --- guide/build.md | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/guide/build.md b/guide/build.md index 6fe034e8..ab5d6470 100644 --- a/guide/build.md +++ b/guide/build.md @@ -47,21 +47,7 @@ For example, you can specify multiple Rollup outputs with plugins that are only ## Chunking Strategy -You can configure how chunks are split using `build.rollupOptions.output.manualChunks` (see [Rollup docs](https://rollupjs.org/configuration-options/#output-manualchunks)). Until Vite 2.8, the default chunking strategy divided the chunks into `index` and `vendor`. It is a good strategy for some SPAs, but it is hard to provide a general solution for every Vite target use case. From Vite 2.9, `manualChunks` is no longer modified by default. You can continue to use the Split Vendor Chunk strategy by adding the `splitVendorChunkPlugin` in your config file: - -```js -// vite.config.js -import { splitVendorChunkPlugin } from 'vite' -export default defineConfig({ - plugins: [splitVendorChunkPlugin()], -}) -``` - -This strategy is also provided as a `splitVendorChunk({ cache: SplitVendorChunkCache })` factory, in case composition with custom logic is needed. `cache.reset()` needs to be called at `buildStart` for build watch mode to work correctly in this case. - -::: warning -You should use `build.rollupOptions.output.manualChunks` function form when using this plugin. If the object form is used, the plugin won't have any effect. -::: +You can configure how chunks are split using `build.rollupOptions.output.manualChunks` (see [Rollup docs](https://rollupjs.org/configuration-options/#output-manualchunks)). If you use a framework, refer to their documentation for configuring how chunks are splitted. ## Load Error Handling From e4a8792460897549c97bd5d417d4ab76d48dc7d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 29 Mar 2024 15:59:16 +0900 Subject: [PATCH 10/38] docs(css): duplicate `@import` behavior (#16304) --- config/shared-options.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/config/shared-options.md b/config/shared-options.md index 45bfe618..39eef1a5 100644 --- a/config/shared-options.md +++ b/config/shared-options.md @@ -292,6 +292,10 @@ Whether to enable sourcemaps during dev. Selects the engine used for CSS processing. Check out [Lightning CSS](../guide/features.md#lightning-css) for more information. +::: info Duplicate `@import`s +Note that postcss (postcss-import) has a different behavior with duplicated `@import` from browsers. See [postcss/postcss-import#462](https://github.com/postcss/postcss-import/issues/462). +::: + ## css.lightningcss - **Experimental:** [Give Feedback](https://github.com/vitejs/vite/discussions/13835) From 9b8ae7257819a8140a25833dd6f1d6a09848a1a6 Mon Sep 17 00:00:00 2001 From: Jun Shindo <46585162+jay-es@users.noreply.github.com> Date: Sat, 30 Mar 2024 00:05:33 +0900 Subject: [PATCH 11/38] docs: fix capitalization typos (#16309) --- guide/backend-integration.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/guide/backend-integration.md b/guide/backend-integration.md index 1f9be563..4f6de439 100644 --- a/guide/backend-integration.md +++ b/guide/backend-integration.md @@ -116,10 +116,10 @@ If you need a custom integration, you can follow the steps in this guide to conf - A `` tag for each file in the entry point chunk's `css` list - Recursively follow all chunks in the entry point's `imports` list and include a - `` tag for each css file of each imported chunk. - - A tag for the `file` key of the entry point chunk (` diff --git a/index.md b/index.md index 0771f563..969b4492 100644 --- a/index.md +++ b/index.md @@ -21,9 +21,9 @@ hero: - theme: alt text: View on GitHub link: https://github.com/vitejs/vite - - theme: brand - text: 🎉 ViteConf 23! - link: https://viteconf.org/23/replay?utm=vite-homepage + - theme: alt + text: 📅 Vite Meetup SF + link: https://lu.ma/vite features: - icon: 💡 @@ -45,3 +45,12 @@ features: title: Fully Typed APIs details: Flexible programmatic APIs with full TypeScript typing. --- + + From 64404ded9fc2dca02ff2d6c7632d1cc431fb4ac8 Mon Sep 17 00:00:00 2001 From: Adam Hines Date: Thu, 18 Apr 2024 04:54:39 -0600 Subject: [PATCH 22/38] feat: write cspNonce to style tags (#16419) --- guide/features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/features.md b/guide/features.md index 4d7d674f..75940b8d 100644 --- a/guide/features.md +++ b/guide/features.md @@ -699,7 +699,7 @@ To deploy CSP, certain directives or configs must be set due to Vite's internals ### [`'nonce-{RANDOM}'`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/Sources#nonce-base64-value) -When [`html.cspNonce`](/config/shared-options#html-cspnonce) is set, Vite adds a nonce attribute with the specified value to the output script tag and link tag for stylesheets. Note that Vite will not add a nonce attribute to other tags, such as ` ->>>>>>> ebfa5935341a0787f39d6c6275758734edee32dd diff --git a/package.json b/package.json index 7677e73e..ba2012e4 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,4 @@ { -<<<<<<< HEAD "name": "vite-docs-cn", "version": "1.0.0", "description": "Vite.js documentation Chinese translation.", @@ -16,10 +15,10 @@ "vite": "^5.1.6", "feed": "^4.2.2", "yorkie": "^2.0.0", - "@shikijs/vitepress-twoslash": "^1.2.4", + "@shikijs/vitepress-twoslash": "^1.3.0", "@types/express": "^4.17.21", - "vitepress": "1.0.2", - "vue": "^3.4.21" + "vitepress": "1.1.3", + "vue": "^3.4.24" }, "scripts": { "dev": "vitepress dev .", @@ -29,20 +28,4 @@ "gitHooks": { "commit-msg": "node scripts/verifyCommit.js" } -======= - "name": "docs", - "private": true, - "type": "module", - "scripts": { - "docs": "vitepress dev", - "docs-build": "vitepress build", - "docs-serve": "vitepress serve" - }, - "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.3.0", - "@types/express": "^4.17.21", - "vitepress": "1.1.3", - "vue": "^3.4.24" - } ->>>>>>> ebfa5935341a0787f39d6c6275758734edee32dd } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e92e0fd..2a2ea44b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.2.4 - version: 1.2.4(typescript@5.4.2) + specifier: ^1.3.0 + version: 1.3.0(typescript@5.4.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -30,11 +30,11 @@ devDependencies: specifier: ^5.1.6 version: 5.1.6(@types/node@20.9.2) vitepress: - specifier: 1.0.2 - version: 1.0.2(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2) + specifier: 1.1.3 + version: 1.1.3(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2) vue: - specifier: ^3.4.21 - version: 3.4.21(typescript@5.4.2) + specifier: ^3.4.24 + version: 3.4.25(typescript@5.4.2) yorkie: specifier: ^2.0.0 version: 2.0.0 @@ -188,6 +188,14 @@ packages: '@babel/types': 7.18.4 dev: true + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.18.4 + dev: true + /@babel/types@7.18.4: resolution: {integrity: sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==} engines: {node: '>=6.9.0'} @@ -880,42 +888,38 @@ packages: dev: true optional: true - /@shikijs/core@1.2.0: - resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==} + /@shikijs/core@1.3.0: + resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} dev: true - /@shikijs/core@1.2.4: - resolution: {integrity: sha512-ClaUWpt8oTzjcF0MM1P81AeWyzc1sNSJlAjMG80CbwqbFqXSNz+NpQVUC0icobt3sZn43Sn27M4pHD/Jmp3zHw==} - dev: true - - /@shikijs/transformers@1.2.0: - resolution: {integrity: sha512-xKn7DtA65DQV4FOfYsrvqM80xOy2xuXnxWWKsZmHv1VII/IOuDUDsWDu3KnpeLH6wqNJWp1GRoNUsHR1aw/VhQ==} + /@shikijs/transformers@1.3.0: + resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==} dependencies: - shiki: 1.2.0 + shiki: 1.3.0 dev: true - /@shikijs/twoslash@1.2.4(typescript@5.4.2): - resolution: {integrity: sha512-4F2gNlCFN9HY0jV3J/IBfqkI7w2HBwycwUBx9fLYGYxzbfu0gYRJdQYWtvJC/sG2rYTYlJrS5BpWdXYoMHwbXw==} + /@shikijs/twoslash@1.3.0(typescript@5.4.2): + resolution: {integrity: sha512-XF8Xmotej+cavT6ibKtnsN+TagUJF6eieOV0botcXLhj5aMTPtO+Jdjm9+0vGgloy9JHtuXsik1/JqYMvPIIVw==} dependencies: - '@shikijs/core': 1.2.4 + '@shikijs/core': 1.3.0 twoslash: 0.2.5(typescript@5.4.2) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.2.4(typescript@5.4.2): - resolution: {integrity: sha512-LI8Q8A08dRQpEEiespjTBGcT2i+0Uf3Z03FE+okBlObd4Wf+Sq/YNiLR6ga/7V2z/vhktRwcb/2O3+UZMRiEKg==} + /@shikijs/vitepress-twoslash@1.3.0(typescript@5.4.2): + resolution: {integrity: sha512-fzgoLysy9aSBrZzV5KLeEUjBmCYhz2gZr+36FAtUeNB+GTDIITTlMUzCaqfnYyrDycoIemy7hw/fhNXPPhEjbQ==} dependencies: - '@shikijs/twoslash': 1.2.4(typescript@5.4.2) - floating-vue: 5.2.2(vue@3.4.21) + '@shikijs/twoslash': 1.3.0(typescript@5.4.2) + floating-vue: 5.2.2(vue@3.4.25) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 - shiki: 1.2.4 + shiki: 1.3.0 twoslash: 0.2.5(typescript@5.4.2) twoslash-vue: 0.2.5(typescript@5.4.2) - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.25(typescript@5.4.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -977,8 +981,8 @@ packages: resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} dev: true - /@types/markdown-it@13.0.7: - resolution: {integrity: sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==} + /@types/markdown-it@14.0.1: + resolution: {integrity: sha512-6WfOG3jXR78DW8L5cTYCVVGAsIFZskRHCDo5tbqa+qtKVt4oDRVH7hyIWu1SpDQJlmIoEivNQZ5h+AGAOrgOtQ==} dependencies: '@types/linkify-it': 3.0.5 '@types/mdurl': 1.0.5 @@ -1055,15 +1059,15 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.7)(vue@3.4.21): + /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.25): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: ^5.0.0 vue: ^3.2.25 dependencies: - vite: 5.2.7(@types/node@20.9.2) - vue: 3.4.21(typescript@5.4.2) + vite: 5.2.10(@types/node@20.9.2) + vue: 3.4.25(typescript@5.4.2) dev: true /@volar/language-core@1.11.1: @@ -1085,7 +1089,17 @@ packages: '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.0.2 + source-map-js: 1.2.0 + dev: true + + /@vue/compiler-core@3.4.25: + resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==} + dependencies: + '@babel/parser': 7.24.4 + '@vue/shared': 3.4.25 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 dev: true /@vue/compiler-dom@3.4.21: @@ -1095,50 +1109,57 @@ packages: '@vue/shared': 3.4.21 dev: true - /@vue/compiler-sfc@3.4.21: - resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} + /@vue/compiler-dom@3.4.25: + resolution: {integrity: sha512-Ugz5DusW57+HjllAugLci19NsDK+VyjGvmbB2TXaTcSlQxwL++2PETHx/+Qv6qFwNLzSt7HKepPe4DcTE3pBWg==} dependencies: - '@babel/parser': 7.24.0 - '@vue/compiler-core': 3.4.21 - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-core': 3.4.25 + '@vue/shared': 3.4.25 + dev: true + + /@vue/compiler-sfc@3.4.25: + resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==} + dependencies: + '@babel/parser': 7.24.4 + '@vue/compiler-core': 3.4.25 + '@vue/compiler-dom': 3.4.25 + '@vue/compiler-ssr': 3.4.25 + '@vue/shared': 3.4.25 estree-walker: 2.0.2 - magic-string: 0.30.8 - postcss: 8.4.35 - source-map-js: 1.0.2 + magic-string: 0.30.10 + postcss: 8.4.38 + source-map-js: 1.2.0 dev: true - /@vue/compiler-ssr@3.4.21: - resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} + /@vue/compiler-ssr@3.4.25: + resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==} dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.25 + '@vue/shared': 3.4.25 dev: true - /@vue/devtools-api@7.0.17(vue@3.4.21): - resolution: {integrity: sha512-UWU9tqzUBv+ttUxYLaQcL5IxSSdF+i6yheFiEtz7mh88YZUYkxpEmT43iKBs3YsC54ROwPD2iZIndnju6PWfOQ==} + /@vue/devtools-api@7.1.3(vue@3.4.25): + resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==} dependencies: - '@vue/devtools-kit': 7.0.17(vue@3.4.21) + '@vue/devtools-kit': 7.1.3(vue@3.4.25) transitivePeerDependencies: - vue dev: true - /@vue/devtools-kit@7.0.17(vue@3.4.21): - resolution: {integrity: sha512-znPLSOoTP3RnR9fvkq5M+nnpEA+WocybzOo5ID73vYkE0/n0VcfU8Ld0j4AHQjV/omTdAzh6QLpPlUYdIHXg+w==} + /@vue/devtools-kit@7.1.3(vue@3.4.25): + resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==} peerDependencies: vue: ^3.0.0 dependencies: - '@vue/devtools-shared': 7.0.17 + '@vue/devtools-shared': 7.1.3 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.25(typescript@5.4.2) dev: true - /@vue/devtools-shared@7.0.17: - resolution: {integrity: sha512-QNg2TMQBFFffRbTKE9NjytXBywGR77p2UMi/gJ0ow58S+1jkAvL8ikU/JnSs9ePvsVtspHX32m2cdfe4DJ4ygw==} + /@vue/devtools-shared@7.1.3: + resolution: {integrity: sha512-KJ3AfgjTn3tJz/XKF+BlVShNPecim3G21oHRue+YQOsooW+0s+qXvm09U09aO7yBza5SivL1QgxSrzAbiKWjhQ==} dependencies: rfdc: 1.3.1 dev: true @@ -1163,54 +1184,58 @@ packages: vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.21: - resolution: {integrity: sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==} + /@vue/reactivity@3.4.25: + resolution: {integrity: sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==} dependencies: - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.25 dev: true - /@vue/runtime-core@3.4.21: - resolution: {integrity: sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==} + /@vue/runtime-core@3.4.25: + resolution: {integrity: sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==} dependencies: - '@vue/reactivity': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/reactivity': 3.4.25 + '@vue/shared': 3.4.25 dev: true - /@vue/runtime-dom@3.4.21: - resolution: {integrity: sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==} + /@vue/runtime-dom@3.4.25: + resolution: {integrity: sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==} dependencies: - '@vue/runtime-core': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/runtime-core': 3.4.25 + '@vue/shared': 3.4.25 csstype: 3.1.3 dev: true - /@vue/server-renderer@3.4.21(vue@3.4.21): - resolution: {integrity: sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==} + /@vue/server-renderer@3.4.25(vue@3.4.25): + resolution: {integrity: sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==} peerDependencies: - vue: 3.4.21 + vue: 3.4.25 dependencies: - '@vue/compiler-ssr': 3.4.21 - '@vue/shared': 3.4.21 - vue: 3.4.21(typescript@5.4.2) + '@vue/compiler-ssr': 3.4.25 + '@vue/shared': 3.4.25 + vue: 3.4.25(typescript@5.4.2) dev: true /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} dev: true - /@vueuse/core@10.9.0(vue@3.4.21): + /@vue/shared@3.4.25: + resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==} + dev: true + + /@vueuse/core@10.9.0(vue@3.4.25): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.21) - vue-demi: 0.14.7(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.25) + vue-demi: 0.14.7(vue@3.4.25) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.25): resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} peerDependencies: async-validator: '*' @@ -1251,10 +1276,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/shared': 10.9.0(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.25) + '@vueuse/shared': 10.9.0(vue@3.4.25) focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.25) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1264,10 +1289,10 @@ packages: resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} dev: true - /@vueuse/shared@10.9.0(vue@3.4.21): + /@vueuse/shared@10.9.0(vue@3.4.25): resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.7(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.25) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1503,7 +1528,7 @@ packages: xml-js: 1.6.11 dev: true - /floating-vue@5.2.2(vue@3.4.21): + /floating-vue@5.2.2(vue@3.4.25): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': ^3.2.0 @@ -1513,8 +1538,8 @@ packages: optional: true dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.21(typescript@5.4.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.21) + vue: 3.4.25(typescript@5.4.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.25) dev: true /focus-trap@7.5.4: @@ -1609,9 +1634,8 @@ packages: yallist: 2.1.2 dev: true - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 dev: true @@ -2102,16 +2126,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /shiki@1.2.0: - resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==} + /shiki@1.3.0: + resolution: {integrity: sha512-9aNdQy/etMXctnPzsje1h1XIGm9YfRcSksKOGqZWXA/qP9G18/8fpz5Bjpma8bOgz3tqIpjERAd6/lLjFyzoww==} dependencies: - '@shikijs/core': 1.2.0 - dev: true - - /shiki@1.2.4: - resolution: {integrity: sha512-Q9n9jKiOjJCRPztA9POn3/uZXNySHDNKAsPNpmtHDcFyi6ZQhx5vQKZW3Nhrwn8TWW3RudSRk66zqY603EZDeg==} - dependencies: - '@shikijs/core': 1.2.4 + '@shikijs/core': 1.3.0 dev: true /signal-exit@3.0.7: @@ -2295,8 +2313,8 @@ packages: fsevents: 2.3.3 dev: true - /vite@5.2.7(@types/node@20.9.2): - resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} + /vite@5.2.10(@types/node@20.9.2): + resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -2331,8 +2349,8 @@ packages: fsevents: 2.3.3 dev: true - /vitepress@1.0.2(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2): - resolution: {integrity: sha512-bEj9yTEdWyewJFOhEREZF+mXuAgOq27etuJZT6DZSp+J3XpQstXMJc5piSVwhZBtuj8OfA0iXy+jdP1c71KMYQ==} + /vitepress@1.1.3(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2): + resolution: {integrity: sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4 @@ -2345,19 +2363,19 @@ packages: dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.20.0)(search-insights@2.11.0) - '@shikijs/core': 1.2.0 - '@shikijs/transformers': 1.2.0 - '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.4(vite@5.2.7)(vue@3.4.21) - '@vue/devtools-api': 7.0.17(vue@3.4.21) - '@vueuse/core': 10.9.0(vue@3.4.21) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) + '@shikijs/core': 1.3.0 + '@shikijs/transformers': 1.3.0 + '@types/markdown-it': 14.0.1 + '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.25) + '@vue/devtools-api': 7.1.3(vue@3.4.25) + '@vueuse/core': 10.9.0(vue@3.4.25) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.25) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - shiki: 1.2.0 - vite: 5.2.7(@types/node@20.9.2) - vue: 3.4.21(typescript@5.4.2) + shiki: 1.3.0 + vite: 5.2.10(@types/node@20.9.2) + vue: 3.4.25(typescript@5.4.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -2386,7 +2404,7 @@ packages: - universal-cookie dev: true - /vue-demi@0.14.7(vue@3.4.21): + /vue-demi@0.14.7(vue@3.4.25): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true @@ -2398,15 +2416,15 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.25(typescript@5.4.2) dev: true - /vue-resize@2.0.0-alpha.1(vue@3.4.21): + /vue-resize@2.0.0-alpha.1(vue@3.4.25): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.21(typescript@5.4.2) + vue: 3.4.25(typescript@5.4.2) dev: true /vue-template-compiler@2.7.16: @@ -2416,19 +2434,19 @@ packages: he: 1.2.0 dev: true - /vue@3.4.21(typescript@5.4.2): - resolution: {integrity: sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==} + /vue@3.4.25(typescript@5.4.2): + resolution: {integrity: sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.21 - '@vue/compiler-sfc': 3.4.21 - '@vue/runtime-dom': 3.4.21 - '@vue/server-renderer': 3.4.21(vue@3.4.21) - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.25 + '@vue/compiler-sfc': 3.4.25 + '@vue/runtime-dom': 3.4.25 + '@vue/server-renderer': 3.4.25(vue@3.4.25) + '@vue/shared': 3.4.25 typescript: 5.4.2 dev: true From f1816c75919292dce5ca99a38fe139510da9b213 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 29 Apr 2024 17:23:33 +0800 Subject: [PATCH 26/38] docs(env): clarify env are statically replaced (#16553) --- guide/env-and-mode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/env-and-mode.md b/guide/env-and-mode.md index 7a817e2e..ef8ceb88 100644 --- a/guide/env-and-mode.md +++ b/guide/env-and-mode.md @@ -2,7 +2,7 @@ ## Env Variables -Vite exposes env variables on the special **`import.meta.env`** object. Some built-in variables are available in all cases: +Vite exposes env variables on the special **`import.meta.env`** object, which are statically replaced at build time. Some built-in variables are available in all cases: - **`import.meta.env.MODE`**: {string} the [mode](#modes) the app is running in. From fb91da9ec34c523200be946c0b25fae7bfde5daf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 1 May 2024 06:40:18 +0200 Subject: [PATCH 27/38] fix(deps): update all non-major dependencies (#16549) --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index bd62a9be..d4b078ee 100644 --- a/package.json +++ b/package.json @@ -8,9 +8,9 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.3.0", + "@shikijs/vitepress-twoslash": "^1.4.0", "@types/express": "^4.17.21", - "vitepress": "1.1.3", - "vue": "^3.4.24" + "vitepress": "1.1.4", + "vue": "^3.4.26" } } From 47dc672d334c6fdb000d9f68fe1b008bdb3603bc Mon Sep 17 00:00:00 2001 From: Pierre Carrier Date: Wed, 1 May 2024 08:20:55 +0200 Subject: [PATCH 28/38] docs(static-deploy): add xmit deployment guide (#16441) --- guide/static-deploy.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/guide/static-deploy.md b/guide/static-deploy.md index 199a1ead..62d2832a 100644 --- a/guide/static-deploy.md +++ b/guide/static-deploy.md @@ -345,3 +345,7 @@ Deploy your static site using [AWS Amplify Hosting](https://aws.amazon.com/ampli ## Kinsta Static Site Hosting You can deploy your Vite app as a Static Site on [Kinsta](https://kinsta.com/static-site-hosting/) by following these [instructions](https://kinsta.com/docs/react-vite-example/). + +## xmit Static Site Hosting + +Deploy your static site using [xmit](https://xmit.co) by following this [guide](https://xmit.dev/posts/vite-quickstart/). From 80bb54ed93e4c4e1b374deb357732390a34c5461 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 1 May 2024 14:56:50 +0800 Subject: [PATCH 29/38] docs(static-deploy): add criteria comment (#16568) --- guide/static-deploy.md | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/guide/static-deploy.md b/guide/static-deploy.md index 62d2832a..8b6711e5 100644 --- a/guide/static-deploy.md +++ b/guide/static-deploy.md @@ -334,17 +334,27 @@ By default, any new commit pushed to the specified branch will automatically tri You can also add a [custom domain](https://render.com/docs/custom-domains) to your project. -## Flightcontrol + -## AWS Amplify Hosting +## Flightcontrol -Deploy your static site using [AWS Amplify Hosting](https://aws.amazon.com/amplify/hosting/), by following these [instructions](https://docs.amplify.aws/guides/hosting/vite/q/platform/js/) +Deploy your static site using [Flightcontrol](https://www.flightcontrol.dev/?ref=docs-vite) by following these [instructions](https://www.flightcontrol.dev/docs/reference/examples/vite?ref=docs-vite). ## Kinsta Static Site Hosting -You can deploy your Vite app as a Static Site on [Kinsta](https://kinsta.com/static-site-hosting/) by following these [instructions](https://kinsta.com/docs/react-vite-example/). +Deploy your static site using [Kinsta](https://kinsta.com/static-site-hosting/) by following these [instructions](https://kinsta.com/docs/react-vite-example/). ## xmit Static Site Hosting From 75750eced7430ab8c98b85b5b4c1cdf296161540 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 3 May 2024 10:15:20 -0700 Subject: [PATCH 30/38] docs: revert SF meetup promo We are overbooked! --- .vitepress/theme/components/AsideSponsors.vue | 36 +++++++++++++------ index.md | 15 ++------ 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/.vitepress/theme/components/AsideSponsors.vue b/.vitepress/theme/components/AsideSponsors.vue index bd1baf1b..92eef401 100644 --- a/.vitepress/theme/components/AsideSponsors.vue +++ b/.vitepress/theme/components/AsideSponsors.vue @@ -18,18 +18,23 @@ const sponsors = computed(() => { diff --git a/index.md b/index.md index 969b4492..0771f563 100644 --- a/index.md +++ b/index.md @@ -21,9 +21,9 @@ hero: - theme: alt text: View on GitHub link: https://github.com/vitejs/vite - - theme: alt - text: 📅 Vite Meetup SF - link: https://lu.ma/vite + - theme: brand + text: 🎉 ViteConf 23! + link: https://viteconf.org/23/replay?utm=vite-homepage features: - icon: 💡 @@ -45,12 +45,3 @@ features: title: Fully Typed APIs details: Flexible programmatic APIs with full TypeScript typing. --- - - From d8391f25acab04c8cb5e3a4cfd0fbc935dc6d1bd Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 3 May 2024 10:39:04 -0700 Subject: [PATCH 31/38] docs: add cute logo --- index.md | 13 +++++++++++++ public/logo-uwu.png | Bin 0 -> 89122 bytes 2 files changed, 13 insertions(+) create mode 100644 public/logo-uwu.png diff --git a/index.md b/index.md index 0771f563..1cb1f3c7 100644 --- a/index.md +++ b/index.md @@ -45,3 +45,16 @@ features: title: Fully Typed APIs details: Flexible programmatic APIs with full TypeScript typing. --- + + diff --git a/public/logo-uwu.png b/public/logo-uwu.png new file mode 100644 index 0000000000000000000000000000000000000000..e45e40af12a3e2c39468d0624bb93b11d9266a44 GIT binary patch literal 89122 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 Xe`uV#Y7N`5Mvz)hS3j3^P6 Date: Tue, 7 May 2024 10:01:16 +0200 Subject: [PATCH 32/38] fix(deps): update all non-major dependencies (#16603) Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d4b078ee..fd47dad9 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,6 @@ "@shikijs/vitepress-twoslash": "^1.4.0", "@types/express": "^4.17.21", "vitepress": "1.1.4", - "vue": "^3.4.26" + "vue": "^3.4.27" } } From 3cd0db24a4eeba8875c63dfd57be45cf95125c23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 7 May 2024 19:16:36 +0900 Subject: [PATCH 33/38] docs: update manifest example (#16620) --- guide/backend-integration.md | 58 ++++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/guide/backend-integration.md b/guide/backend-integration.md index 4f6de439..8509082b 100644 --- a/guide/backend-integration.md +++ b/guide/backend-integration.md @@ -62,24 +62,36 @@ If you need a custom integration, you can follow the steps in this guide to conf ```json { - "main.js": { - "file": "assets/main.4889e940.js", - "src": "main.js", + "_shared-!~{003}~.js": { + "file": "assets/shared-ChJ_j-JJ.css", + "src": "_shared-!~{003}~.js" + }, + "_shared-B7PI925R.js": { + "file": "assets/shared-B7PI925R.js", + "name": "shared", + "css": ["assets/shared-ChJ_j-JJ.css"] + }, + "baz.js": { + "file": "assets/baz-B2H3sXNv.js", + "name": "baz", + "src": "baz.js", + "isDynamicEntry": true + }, + "views/bar.js": { + "file": "assets/bar-gkvgaI9m.js", + "name": "bar", + "src": "views/bar.js", "isEntry": true, - "dynamicImports": ["views/foo.js"], - "css": ["assets/main.b82dbe22.css"], - "assets": ["assets/asset.0ab0f9cd.png"], - "imports": ["_shared.83069a53.js"] + "imports": ["_shared-B7PI925R.js"], + "dynamicImports": ["baz.js"] }, "views/foo.js": { - "file": "assets/foo.869aea0d.js", + "file": "assets/foo-BRBmoGS9.js", + "name": "foo", "src": "views/foo.js", - "isDynamicEntry": true, - "imports": ["_shared.83069a53.js"] - }, - "_shared.83069a53.js": { - "file": "assets/shared.83069a53.js", - "css": ["assets/shared.a834bfc3.css"] + "isEntry": true, + "imports": ["_shared-B7PI925R.js"], + "css": ["assets/foo-5UjPuW-k.css"] } } ``` @@ -122,21 +134,21 @@ If you need a custom integration, you can follow the steps in this guide to conf - Optionally, `` tag for the `file` of each imported JavaScript chunk, again recursively following the imports starting from the entry point chunk. - Following the above example manifest, for the entry point `main.js` the following tags should be included in production: + Following the above example manifest, for the entry point `views/foo.js` the following tags should be included in production: ```html - - - + + + - + ``` - While the following should be included for the entry point `views/foo.js`: + While the following should be included for the entry point `views/bar.js`: ```html - - + + - + ``` From 20f5d16b15b63d6a0b4f1ef42ed66a150c2a5508 Mon Sep 17 00:00:00 2001 From: Andrew Jeremy <53634060+FreeJ1nG@users.noreply.github.com> Date: Tue, 7 May 2024 17:17:41 +0700 Subject: [PATCH 34/38] docs: add custom event types docs (#16609) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- guide/api-hmr.md | 2 +- guide/api-plugin.md | 30 +++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/guide/api-hmr.md b/guide/api-hmr.md index 189fe693..e9a44eb0 100644 --- a/guide/api-hmr.md +++ b/guide/api-hmr.md @@ -220,7 +220,7 @@ Send custom events back to Vite's dev server. If called before connected, the data will be buffered and sent once the connection is established. -See [Client-server Communication](/guide/api-plugin.html#client-server-communication) for more details. +See [Client-server Communication](/guide/api-plugin.html#client-server-communication) for more details, including a section on [Typing Custom Events](/guide/api-plugin.html#typescript-for-custom-events). ## Further Reading diff --git a/guide/api-plugin.md b/guide/api-plugin.md index 7f77b7b0..b06982b4 100644 --- a/guide/api-plugin.md +++ b/guide/api-plugin.md @@ -625,16 +625,40 @@ export default defineConfig({ ### TypeScript for Custom Events -It is possible to type custom events by extending the `CustomEventMap` interface: +Internally, vite infers the type of a payload from the `CustomEventMap` interface, it is possible to type custom events by extending the interface: + +:::tip Note +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 -import 'vite/types/customEvent' +import 'vite/types/customEvent.d.ts' -declare module 'vite/types/customEvent' { +declare module 'vite/types/customEvent.d.ts' { interface CustomEventMap { 'custom:foo': { msg: string } // 'event-key': payload } } ``` + +This interface extension is utilized by `InferCustomEventPayload` to infer the payload type for event `T`. For more information on how this interface is utilized, refer to the [HMR API Documentation](./api-hmr#hmr-api). + +```ts twoslash +import 'vite/client' +import type { InferCustomEventPayload } from 'vite/types/customEvent.d.ts' +declare module 'vite/types/customEvent.d.ts' { + interface CustomEventMap { + 'custom:foo': { msg: string } + } +} +// ---cut--- +type CustomFooPayload = InferCustomEventPayload<'custom:foo'> +import.meta.hot?.on('custom:foo', (payload) => { + // The type of payload will be { msg: string } +}) +import.meta.hot?.on('unknown:event', (payload) => { + // The type of payload will be any +}) +``` From 316dd7b6abaaeb1112818467bc19d0b29f66f35a Mon Sep 17 00:00:00 2001 From: waynzh Date: Thu, 9 May 2024 15:55:51 +0800 Subject: [PATCH 35/38] docs(cn): resolve conflicts --- guide/api-hmr.md | 6 +----- guide/api-plugin.md | 14 +++++--------- guide/backend-integration.md | 22 +--------------------- guide/env-and-mode.md | 6 +----- guide/static-deploy.md | 22 ++++------------------ 5 files changed, 12 insertions(+), 58 deletions(-) diff --git a/guide/api-hmr.md b/guide/api-hmr.md index 13e8c2ad..a30e2018 100644 --- a/guide/api-hmr.md +++ b/guide/api-hmr.md @@ -218,11 +218,7 @@ import.meta.hot.accept((module) => { 如果在连接前调用,数据会先被缓存、等到连接建立好后再发送。 -<<<<<<< HEAD -查看 [客户端与服务器的数据交互](/guide/api-plugin.html#client-server-communication) 一节获取更多细节。 -======= -See [Client-server Communication](/guide/api-plugin.html#client-server-communication) for more details, including a section on [Typing Custom Events](/guide/api-plugin.html#typescript-for-custom-events). ->>>>>>> 20f5d16b15b63d6a0b4f1ef42ed66a150c2a5508 +查看 [客户端与服务端间通信](/guide/api-plugin.html#client-server-communication) 以及 [自定义事件的 TypeScript 类型定义指南](/guide/api-plugin.html#typescript-for-custom-events) 章节获取更多细节。 ## 推荐阅读 {#further-reading} diff --git a/guide/api-plugin.md b/guide/api-plugin.md index 72472b47..422fddda 100644 --- a/guide/api-plugin.md +++ b/guide/api-plugin.md @@ -624,15 +624,11 @@ export default defineConfig({ ### 自定义事件的 TypeScript 类型定义指南 {#typeScript-for-custom-events} -<<<<<<< HEAD -可以通过扩展 `CustomEventMap` 这个 interface 来为自定义事件标注类型: -======= -Internally, vite infers the type of a payload from the `CustomEventMap` interface, it is possible to type custom events by extending the interface: +Vite 会在内部从 `CustomEventMap` 这个接口推断出 payload 的类型,可以通过扩展这个接口来为自定义事件进行类型定义: -:::tip Note -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. +:::tip 提示 +在指定 TypeScript 声明文件时,确保包含 `.d.ts` 扩展名。否则,TypeScript 可能不会知道试图扩展的是哪个文件。 ::: ->>>>>>> 20f5d16b15b63d6a0b4f1ef42ed66a150c2a5508 ```ts // events.d.ts @@ -659,9 +655,9 @@ declare module 'vite/types/customEvent.d.ts' { // ---cut--- type CustomFooPayload = InferCustomEventPayload<'custom:foo'> import.meta.hot?.on('custom:foo', (payload) => { - // The type of payload will be { msg: string } + // payload 的类型为 { msg: string } }) import.meta.hot?.on('unknown:event', (payload) => { - // The type of payload will be any + // payload 的类型为 any }) ``` diff --git a/guide/backend-integration.md b/guide/backend-integration.md index 34c6eade..fb611956 100644 --- a/guide/backend-integration.md +++ b/guide/backend-integration.md @@ -134,26 +134,7 @@ - 可选项,对于每个导入的 JavaScript chunk 的 `file` 键的 `` 标签, 同样从入口文件 chunk 开始递归追踪导入。 -<<<<<<< HEAD - 按照上面的示例 manifest,对于入口文件 `main.js`,在生产环境中应包含以下标签: - - ```html - - - - - - ``` - - 而对于入口文件 `views/foo.js`,应该包含以下标签: - - ```html - - - - -======= - Following the above example manifest, for the entry point `views/foo.js` the following tags should be included in production: + 按照上面的示例 manifest,对于入口文件 `views/foo.js`,在生产环境中应包含以下标签: ```html @@ -170,5 +151,4 @@ ->>>>>>> 20f5d16b15b63d6a0b4f1ef42ed66a150c2a5508 ``` diff --git a/guide/env-and-mode.md b/guide/env-and-mode.md index 1fa199aa..4323c16a 100644 --- a/guide/env-and-mode.md +++ b/guide/env-and-mode.md @@ -2,11 +2,7 @@ ## 环境变量 {#env-variables} -<<<<<<< HEAD -Vite 在一个特殊的 **`import.meta.env`** 对象上暴露环境变量。这里有一些在所有情况下都可以使用的内建变量: -======= -Vite exposes env variables on the special **`import.meta.env`** object, which are statically replaced at build time. Some built-in variables are available in all cases: ->>>>>>> 20f5d16b15b63d6a0b4f1ef42ed66a150c2a5508 +Vite 在一个特殊的 **`import.meta.env`** 对象上暴露环境变量,这些变量在构建时会被静态地替换掉。这里有一些在所有情况下都可以使用的内建变量: - **`import.meta.env.MODE`**: {string} 应用运行的[模式](#modes)。 diff --git a/guide/static-deploy.md b/guide/static-deploy.md index 56177808..1d873c09 100644 --- a/guide/static-deploy.md +++ b/guide/static-deploy.md @@ -334,15 +334,6 @@ $ npx wrangler pages deploy dist 还可以为项目添加一个 [自定义域名](https://render.com/docs/custom-domains)。 -<<<<<<< HEAD -## Flightcontrol {#flightcontrol} - -使用 [Flightcontrol](https://www.flightcontrol.dev/?ref=docs-vite) 部署静态站点,可以按照 [说明](https://www.flightcontrol.dev/docs/reference/examples/vite?ref=docs-vite) 进行操作。 - -## AWS Amplify 部署 {#aws-amplify-hoisting} - -使用 [AWS Amplify 部署](https://aws.amazon.com/amplify/hosting/) 部署静态站点,可以按照 [说明](https://docs.amplify.aws/guides/hosting/vite/q/platform/js/) 进行操作。 -======= + ``` - While the following should be included for the entry point `views/bar.js`: + 而对于入口文件 `views/bar.js`,应该包含以下标签: ```html - + ``` diff --git a/index.md b/index.md index 9dff0f92..a53a4ce5 100644 --- a/index.md +++ b/index.md @@ -21,12 +21,9 @@ hero: - theme: alt text: 在 GitHub 上查看 link: https://github.com/vitejs/vite -<<<<<<< HEAD -======= - theme: brand text: 🎉 ViteConf 23! link: https://viteconf.org/23/replay?utm=vite-homepage ->>>>>>> 20f5d16b15b63d6a0b4f1ef42ed66a150c2a5508 features: - icon: 💡 @@ -51,13 +48,8 @@ features: From 8105474508b5d62e94c3dcce88aff5326fe407b5 Mon Sep 17 00:00:00 2001 From: waynzh Date: Thu, 9 May 2024 16:20:40 +0800 Subject: [PATCH 38/38] chore: update deps --- package.json | 23 +---- pnpm-lock.yaml | 238 +++++++++++++++++++++++++------------------------ 2 files changed, 123 insertions(+), 138 deletions(-) diff --git a/package.json b/package.json index c29c1052..e9b76aa3 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,4 @@ { -<<<<<<< HEAD "name": "vite-docs-cn", "version": "1.0.0", "description": "Vite.js documentation Chinese translation.", @@ -16,10 +15,10 @@ "vite": "^5.1.6", "feed": "^4.2.2", "yorkie": "^2.0.0", - "@shikijs/vitepress-twoslash": "^1.3.0", + "@shikijs/vitepress-twoslash": "^1.4.0", "@types/express": "^4.17.21", - "vitepress": "1.1.3", - "vue": "^3.4.24" + "vitepress": "1.1.4", + "vue": "^3.4.26" }, "scripts": { "dev": "vitepress dev .", @@ -29,20 +28,4 @@ "gitHooks": { "commit-msg": "node scripts/verifyCommit.js" } -======= - "name": "docs", - "private": true, - "type": "module", - "scripts": { - "docs": "vitepress dev", - "docs-build": "vitepress build", - "docs-serve": "vitepress serve" - }, - "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.4.0", - "@types/express": "^4.17.21", - "vitepress": "1.1.4", - "vue": "^3.4.27" - } ->>>>>>> 20f5d16b15b63d6a0b4f1ef42ed66a150c2a5508 } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2a2ea44b..598fa8a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,8 +6,8 @@ settings: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.3.0 - version: 1.3.0(typescript@5.4.2) + specifier: ^1.4.0 + version: 1.5.1(typescript@5.4.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -30,11 +30,11 @@ devDependencies: specifier: ^5.1.6 version: 5.1.6(@types/node@20.9.2) vitepress: - specifier: 1.1.3 - version: 1.1.3(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2) + specifier: 1.1.4 + version: 1.1.4(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2) vue: - specifier: ^3.4.24 - version: 3.4.25(typescript@5.4.2) + specifier: ^3.4.26 + version: 3.4.27(typescript@5.4.2) yorkie: specifier: ^2.0.0 version: 2.0.0 @@ -180,14 +180,6 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.18.4 - dev: true - /@babel/parser@7.24.4: resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} @@ -892,34 +884,38 @@ packages: resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} dev: true + /@shikijs/core@1.5.1: + resolution: {integrity: sha512-xjV63pRUBvxA1LsxOUhRKLPh0uUjwBLzAKLdEuYSLIylo71sYuwDcttqNP01Ib1TZlLfO840CXHPlgUUsYFjzg==} + dev: true + /@shikijs/transformers@1.3.0: resolution: {integrity: sha512-3mlpg2I9CjhjE96dEWQOGeCWoPcyTov3s4aAsHmgvnTHa8MBknEnCQy8/xivJPSpD+olqOqIEoHnLfbNJK29AA==} dependencies: shiki: 1.3.0 dev: true - /@shikijs/twoslash@1.3.0(typescript@5.4.2): - resolution: {integrity: sha512-XF8Xmotej+cavT6ibKtnsN+TagUJF6eieOV0botcXLhj5aMTPtO+Jdjm9+0vGgloy9JHtuXsik1/JqYMvPIIVw==} + /@shikijs/twoslash@1.5.1(typescript@5.4.2): + resolution: {integrity: sha512-O0cnGcpW1LkBLd85TQp7Kdb9qzhSGyYl9c21BCAmYWhQdtnxaSKBgbiP3S35ewP/s3SrR9gCzumgznp/YSyMNg==} dependencies: - '@shikijs/core': 1.3.0 - twoslash: 0.2.5(typescript@5.4.2) + '@shikijs/core': 1.5.1 + twoslash: 0.2.6(typescript@5.4.2) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.3.0(typescript@5.4.2): - resolution: {integrity: sha512-fzgoLysy9aSBrZzV5KLeEUjBmCYhz2gZr+36FAtUeNB+GTDIITTlMUzCaqfnYyrDycoIemy7hw/fhNXPPhEjbQ==} + /@shikijs/vitepress-twoslash@1.5.1(typescript@5.4.2): + resolution: {integrity: sha512-q+qDk6iiKWFM8NiMQ31fLE7edWZSk7/Q3aE4Ak59fvxd9Se/BQ0yhp318o2POs1bm7AHU6Fqo2OBPN/gtzPObg==} dependencies: - '@shikijs/twoslash': 1.3.0(typescript@5.4.2) - floating-vue: 5.2.2(vue@3.4.25) + '@shikijs/twoslash': 1.5.1(typescript@5.4.2) + floating-vue: 5.2.2(vue@3.4.27) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 - shiki: 1.3.0 - twoslash: 0.2.5(typescript@5.4.2) - twoslash-vue: 0.2.5(typescript@5.4.2) - vue: 3.4.25(typescript@5.4.2) + shiki: 1.5.1 + twoslash: 0.2.6(typescript@5.4.2) + twoslash-vue: 0.2.6(typescript@5.4.2) + vue: 3.4.27(typescript@5.4.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -1059,7 +1055,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.25): + /@vitejs/plugin-vue@5.0.4(vite@5.2.10)(vue@3.4.27): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: @@ -1067,7 +1063,7 @@ packages: vue: ^3.2.25 dependencies: vite: 5.2.10(@types/node@20.9.2) - vue: 3.4.25(typescript@5.4.2) + vue: 3.4.27(typescript@5.4.2) dev: true /@volar/language-core@1.11.1: @@ -1082,16 +1078,6 @@ packages: muggle-string: 0.3.1 dev: true - /@vue/compiler-core@3.4.21: - resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} - dependencies: - '@babel/parser': 7.24.0 - '@vue/shared': 3.4.21 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - dev: true - /@vue/compiler-core@3.4.25: resolution: {integrity: sha512-Y2pLLopaElgWnMNolgG8w3C5nNUVev80L7hdQ5iIKPtMJvhVpG0zhnBG/g3UajJmZdvW0fktyZTotEHD1Srhbg==} dependencies: @@ -1102,11 +1088,14 @@ packages: source-map-js: 1.2.0 dev: true - /@vue/compiler-dom@3.4.21: - resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} + /@vue/compiler-core@3.4.27: + resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 + '@babel/parser': 7.24.4 + '@vue/shared': 3.4.27 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.0 dev: true /@vue/compiler-dom@3.4.25: @@ -1116,36 +1105,43 @@ packages: '@vue/shared': 3.4.25 dev: true - /@vue/compiler-sfc@3.4.25: - resolution: {integrity: sha512-m7rryuqzIoQpOBZ18wKyq05IwL6qEpZxFZfRxlNYuIPDqywrXQxgUwLXIvoU72gs6cRdY6wHD0WVZIFE4OEaAQ==} + /@vue/compiler-dom@3.4.27: + resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} + dependencies: + '@vue/compiler-core': 3.4.27 + '@vue/shared': 3.4.27 + dev: true + + /@vue/compiler-sfc@3.4.27: + resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} dependencies: '@babel/parser': 7.24.4 - '@vue/compiler-core': 3.4.25 - '@vue/compiler-dom': 3.4.25 - '@vue/compiler-ssr': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/compiler-core': 3.4.27 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 dev: true - /@vue/compiler-ssr@3.4.25: - resolution: {integrity: sha512-H2ohvM/Pf6LelGxDBnfbbXFPyM4NE3hrw0e/EpwuSiYu8c819wx+SVGdJ65p/sFrYDd6OnSDxN1MB2mN07hRSQ==} + /@vue/compiler-ssr@3.4.27: + resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} dependencies: - '@vue/compiler-dom': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/compiler-dom': 3.4.27 + '@vue/shared': 3.4.27 dev: true - /@vue/devtools-api@7.1.3(vue@3.4.25): + /@vue/devtools-api@7.1.3(vue@3.4.27): resolution: {integrity: sha512-W8IwFJ/o5iUk78jpqhvScbgCsPiOp2uileDVC0NDtW38gCWhsnu9SeBTjcdu3lbwLdsjc+H1c5Msd/x9ApbcFA==} dependencies: - '@vue/devtools-kit': 7.1.3(vue@3.4.25) + '@vue/devtools-kit': 7.1.3(vue@3.4.27) transitivePeerDependencies: - vue dev: true - /@vue/devtools-kit@7.1.3(vue@3.4.25): + /@vue/devtools-kit@7.1.3(vue@3.4.27): resolution: {integrity: sha512-NFskFSJMVCBXTkByuk2llzI3KD3Blcm7WqiRorWjD6nClHPgkH5BobDH08rfulqq5ocRt5xV+3qOT1Q9FXJrwQ==} peerDependencies: vue: ^3.0.0 @@ -1155,7 +1151,7 @@ packages: mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.25(typescript@5.4.2) + vue: 3.4.27(typescript@5.4.2) dev: true /@vue/devtools-shared@7.1.3: @@ -1174,8 +1170,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.21 + '@vue/compiler-dom': 3.4.25 + '@vue/shared': 3.4.25 computeds: 0.0.1 minimatch: 9.0.3 muggle-string: 0.3.1 @@ -1184,58 +1180,58 @@ packages: vue-template-compiler: 2.7.16 dev: true - /@vue/reactivity@3.4.25: - resolution: {integrity: sha512-mKbEtKr1iTxZkAG3vm3BtKHAOhuI4zzsVcN0epDldU/THsrvfXRKzq+lZnjczZGnTdh3ojd86/WrP+u9M51pWQ==} + /@vue/reactivity@3.4.27: + resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} dependencies: - '@vue/shared': 3.4.25 + '@vue/shared': 3.4.27 dev: true - /@vue/runtime-core@3.4.25: - resolution: {integrity: sha512-3qhsTqbEh8BMH3pXf009epCI5E7bKu28fJLi9O6W+ZGt/6xgSfMuGPqa5HRbUxLoehTNp5uWvzCr60KuiRIL0Q==} + /@vue/runtime-core@3.4.27: + resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} dependencies: - '@vue/reactivity': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/reactivity': 3.4.27 + '@vue/shared': 3.4.27 dev: true - /@vue/runtime-dom@3.4.25: - resolution: {integrity: sha512-ode0sj77kuwXwSc+2Yhk8JMHZh1sZp9F/51wdBiz3KGaWltbKtdihlJFhQG4H6AY+A06zzeMLkq6qu8uDSsaoA==} + /@vue/runtime-dom@3.4.27: + resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} dependencies: - '@vue/runtime-core': 3.4.25 - '@vue/shared': 3.4.25 + '@vue/runtime-core': 3.4.27 + '@vue/shared': 3.4.27 csstype: 3.1.3 dev: true - /@vue/server-renderer@3.4.25(vue@3.4.25): - resolution: {integrity: sha512-8VTwq0Zcu3K4dWV0jOwIVINESE/gha3ifYCOKEhxOj6MEl5K5y8J8clQncTcDhKF+9U765nRw4UdUEXvrGhyVQ==} + /@vue/server-renderer@3.4.27(vue@3.4.27): + resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} peerDependencies: - vue: 3.4.25 + vue: 3.4.27 dependencies: - '@vue/compiler-ssr': 3.4.25 - '@vue/shared': 3.4.25 - vue: 3.4.25(typescript@5.4.2) - dev: true - - /@vue/shared@3.4.21: - resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 + vue: 3.4.27(typescript@5.4.2) dev: true /@vue/shared@3.4.25: resolution: {integrity: sha512-k0yappJ77g2+KNrIaF0FFnzwLvUBLUYr8VOwz+/6vLsmItFp51AcxLL7Ey3iPd7BIRyWPOcqUjMnm7OkahXllA==} dev: true - /@vueuse/core@10.9.0(vue@3.4.25): + /@vue/shared@3.4.27: + resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} + dev: true + + /@vueuse/core@10.9.0(vue@3.4.27): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.25) - vue-demi: 0.14.7(vue@3.4.25) + '@vueuse/shared': 10.9.0(vue@3.4.27) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.25): + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.27): resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} peerDependencies: async-validator: '*' @@ -1276,10 +1272,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.9.0(vue@3.4.25) - '@vueuse/shared': 10.9.0(vue@3.4.25) + '@vueuse/core': 10.9.0(vue@3.4.27) + '@vueuse/shared': 10.9.0(vue@3.4.27) focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.25) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1289,10 +1285,10 @@ packages: resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} dev: true - /@vueuse/shared@10.9.0(vue@3.4.25): + /@vueuse/shared@10.9.0(vue@3.4.27): resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.7(vue@3.4.25) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -1528,7 +1524,7 @@ packages: xml-js: 1.6.11 dev: true - /floating-vue@5.2.2(vue@3.4.25): + /floating-vue@5.2.2(vue@3.4.27): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': ^3.2.0 @@ -1538,8 +1534,8 @@ packages: optional: true dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.25(typescript@5.4.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.25) + vue: 3.4.27(typescript@5.4.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.27) dev: true /focus-trap@7.5.4: @@ -2132,6 +2128,12 @@ packages: '@shikijs/core': 1.3.0 dev: true + /shiki@1.5.1: + resolution: {integrity: sha512-vx4Ds3M3B9ZEmLeSXqBAB85osBWV8ErZfP69kuFQZozPgHc33m7spLTCUkcjwEjFm3gk3F9IdXMv8kX+v9xDHA==} + dependencies: + '@shikijs/core': 1.5.1 + dev: true + /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true @@ -2190,30 +2192,30 @@ packages: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: true - /twoslash-protocol@0.2.5: - resolution: {integrity: sha512-oUr5ZAn37CgNa6p1mrCuuR/pINffsnGCee2aS170Uj1IObxCjsHzu6sgdPUdxGLLn6++gd/qjNH1/iR6RrfLeg==} + /twoslash-protocol@0.2.6: + resolution: {integrity: sha512-8NbJlYeRdBcCTQ7ui7pdRPC1NL16aOnoYNz06oBW+W0qWNuiQXHgE8UeNvbA038aDd6ZPuuD5WedsBIESocB4g==} dev: true - /twoslash-vue@0.2.5(typescript@5.4.2): - resolution: {integrity: sha512-Tai45V/1G/jEJQIbDe/DIkJCgOqtA/ZHxx4TgC5EM/nnyTP6zbZNtvKOlzMjFgXFdk6rebWEl2Mi/RHKs/sbDQ==} + /twoslash-vue@0.2.6(typescript@5.4.2): + resolution: {integrity: sha512-tuR/45Xb3mg3WGb7Ek7+WH/bBStw79OCbiFmnqK/51lcfjxaz7RCIQEcH2rAMY52NjwbOqw9om+DKVfgA4BYdA==} peerDependencies: typescript: '*' dependencies: '@vue/language-core': 1.8.27(typescript@5.4.2) - twoslash: 0.2.5(typescript@5.4.2) - twoslash-protocol: 0.2.5 + twoslash: 0.2.6(typescript@5.4.2) + twoslash-protocol: 0.2.6 typescript: 5.4.2 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.5(typescript@5.4.2): - resolution: {integrity: sha512-U8rqsfVh8jQMO1NJekUtglb52b7xD9+FrzeFrgzpHsRTKl8IQgqnZP6ld4PeKaHXhLfoZPuju9K50NXJ7wom8g==} + /twoslash@0.2.6(typescript@5.4.2): + resolution: {integrity: sha512-DcAKIyXMB6xNs+SOw/oF8GvUr/cfJSqznngVXYbAUIVfTW3M8vWSEoCaz/RgSD+M6vwtK8DJ4/FmYBF5MN8BGw==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 - twoslash-protocol: 0.2.5 + twoslash-protocol: 0.2.6 typescript: 5.4.2 transitivePeerDependencies: - supports-color @@ -2349,8 +2351,8 @@ packages: fsevents: 2.3.3 dev: true - /vitepress@1.1.3(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2): - resolution: {integrity: sha512-hGrIYN0w9IHWs0NQSnlMjKV/v/HLfD+Ywv5QdvCSkiT32mpNOOwUrZjnqZv/JL/WBPpUc94eghTUvmipxw0xrA==} + /vitepress@1.1.4(@algolia/client-search@4.20.0)(@types/node@20.9.2)(search-insights@2.11.0)(typescript@5.4.2): + resolution: {integrity: sha512-bWIzFZXpPB6NIDBuWnS20aMADH+FcFKDfQNYFvbOWij03PR29eImTceQHIzCKordjXYBhM/TjE5VKFTUJ3EheA==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4 @@ -2366,16 +2368,16 @@ packages: '@shikijs/core': 1.3.0 '@shikijs/transformers': 1.3.0 '@types/markdown-it': 14.0.1 - '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.25) - '@vue/devtools-api': 7.1.3(vue@3.4.25) - '@vueuse/core': 10.9.0(vue@3.4.25) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.25) + '@vitejs/plugin-vue': 5.0.4(vite@5.2.10)(vue@3.4.27) + '@vue/devtools-api': 7.1.3(vue@3.4.27) + '@vueuse/core': 10.9.0(vue@3.4.27) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 shiki: 1.3.0 vite: 5.2.10(@types/node@20.9.2) - vue: 3.4.25(typescript@5.4.2) + vue: 3.4.27(typescript@5.4.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -2404,7 +2406,7 @@ packages: - universal-cookie dev: true - /vue-demi@0.14.7(vue@3.4.25): + /vue-demi@0.14.7(vue@3.4.27): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true @@ -2416,15 +2418,15 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.25(typescript@5.4.2) + vue: 3.4.27(typescript@5.4.2) dev: true - /vue-resize@2.0.0-alpha.1(vue@3.4.25): + /vue-resize@2.0.0-alpha.1(vue@3.4.27): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.25(typescript@5.4.2) + vue: 3.4.27(typescript@5.4.2) dev: true /vue-template-compiler@2.7.16: @@ -2434,19 +2436,19 @@ packages: he: 1.2.0 dev: true - /vue@3.4.25(typescript@5.4.2): - resolution: {integrity: sha512-HWyDqoBHMgav/OKiYA2ZQg+kjfMgLt/T0vg4cbIF7JbXAjDexRf5JRg+PWAfrAkSmTd2I8aPSXtooBFWHB98cg==} + /vue@3.4.27(typescript@5.4.2): + resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.25 - '@vue/compiler-sfc': 3.4.25 - '@vue/runtime-dom': 3.4.25 - '@vue/server-renderer': 3.4.25(vue@3.4.25) - '@vue/shared': 3.4.25 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-sfc': 3.4.27 + '@vue/runtime-dom': 3.4.27 + '@vue/server-renderer': 3.4.27(vue@3.4.27) + '@vue/shared': 3.4.27 typescript: 5.4.2 dev: true