From 52dff2bc08fba237ba43a3ba01d919c08598b723 Mon Sep 17 00:00:00 2001 From: DVas138 <96433418+DVas138@users.noreply.github.com> Date: Thu, 19 Sep 2024 04:58:59 +0300 Subject: [PATCH 001/147] docs(static-deploy): add `npm install` to render's build command (#18138) --- docs/guide/static-deploy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/static-deploy.md b/docs/guide/static-deploy.md index b6ff5c84ea55cf..ecf9c93dfc5d13 100644 --- a/docs/guide/static-deploy.md +++ b/docs/guide/static-deploy.md @@ -322,7 +322,7 @@ You can deploy your Vite app as a Static Site on [Render](https://render.com/). 4. Specify a project name and branch. - - **Build Command**: `npm run build` + - **Build Command**: `npm install && npm run build` - **Publish Directory**: `dist` 5. Click **Create Static Site**. From b529b6fa7d0c7707d0665e76cab78ae1f2422bcb Mon Sep 17 00:00:00 2001 From: Leo <38490578+yuyinws@users.noreply.github.com> Date: Thu, 19 Sep 2024 12:53:21 +0800 Subject: [PATCH 002/147] docs: add `vitepress-plugin-group-icons` (#18132) --- docs/.vitepress/config.ts | 17 +++++++ docs/.vitepress/theme/index.ts | 1 + docs/config/server-options.md | 3 +- docs/guide/api-javascript.md | 2 +- docs/guide/api-plugin.md | 18 +++---- docs/guide/backend-integration.md | 5 +- docs/guide/build.md | 18 +++---- docs/guide/dep-pre-bundling.md | 2 +- docs/guide/env-and-mode.md | 8 ++-- docs/guide/features.md | 11 ++--- docs/guide/index.md | 2 +- docs/guide/performance.md | 5 +- docs/guide/ssr.md | 15 +++--- docs/guide/static-deploy.md | 14 ++---- docs/guide/using-plugins.md | 9 ++-- docs/package.json | 1 + pnpm-lock.yaml | 80 +++++++++++++++++++++++++++++++ 17 files changed, 142 insertions(+), 69 deletions(-) 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 From 7722c061646bc8587f55f560bfe06b2a9643639a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 20 Sep 2024 03:01:03 +0900 Subject: [PATCH 003/147] feat: support `this.environment` in `options` and `onLog` hook (#18142) --- packages/vite/src/node/build.ts | 4 ++-- packages/vite/src/node/constants.ts | 2 ++ packages/vite/src/node/plugin.ts | 7 ++++++- packages/vite/src/node/server/pluginContainer.ts | 1 + packages/vite/src/node/typeUtils.ts | 4 ++-- 5 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index fbb4a26cffc416..65a0cb4286e267 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -68,7 +68,7 @@ import { mergeConfig } from './publicUtils' import { webWorkerPostPlugin } from './plugins/worker' import { getHookHandler } from './plugins' import { BaseEnvironment } from './baseEnvironment' -import type { Plugin, PluginContext } from './plugin' +import type { MinimalPluginContext, Plugin, PluginContext } from './plugin' import type { RollupPluginHooks } from './typeUtils' export interface BuildEnvironmentOptions { @@ -1253,7 +1253,7 @@ function wrapEnvironmentHook( } } -function injectEnvironmentInContext( +function injectEnvironmentInContext( context: Context, environment: BuildEnvironment, ) { diff --git a/packages/vite/src/node/constants.ts b/packages/vite/src/node/constants.ts index a547793f0239e5..088b4cb64dbc68 100644 --- a/packages/vite/src/node/constants.ts +++ b/packages/vite/src/node/constants.ts @@ -8,6 +8,7 @@ const { version } = JSON.parse( ) export const ROLLUP_HOOKS = [ + 'options', 'buildStart', 'buildEnd', 'renderStart', @@ -33,6 +34,7 @@ export const ROLLUP_HOOKS = [ 'resolveId', 'shouldTransformCachedModule', 'transform', + 'onLog', ] satisfies RollupPluginHooks[] export const VERSION = version as string diff --git a/packages/vite/src/node/plugin.ts b/packages/vite/src/node/plugin.ts index 2f85520ac34f51..9df523b8726a9b 100644 --- a/packages/vite/src/node/plugin.ts +++ b/packages/vite/src/node/plugin.ts @@ -3,6 +3,7 @@ import type { LoadResult, ObjectHook, ResolveIdResult, + MinimalPluginContext as RollupMinimalPluginContext, Plugin as RollupPlugin, PluginContext as RollupPluginContext, TransformPluginContext as RollupTransformPluginContext, @@ -61,6 +62,10 @@ export interface HotUpdatePluginContext { environment: DevEnvironment } +export interface MinimalPluginContext + extends RollupMinimalPluginContext, + PluginContextExtension {} + export interface PluginContext extends RollupPluginContext, PluginContextExtension {} @@ -75,7 +80,7 @@ export interface TransformPluginContext // Argument Rollup types to have the PluginContextExtension declare module 'rollup' { - export interface PluginContext extends PluginContextExtension {} + export interface MinimalPluginContext extends PluginContextExtension {} } /** diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index 18c7c2c82aad0e..521d95b2a3cb4d 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -185,6 +185,7 @@ class EnvironmentPluginContainer { warn: noop, // @ts-expect-error noop error: noop, + environment, } const utils = createPluginHookUtils(plugins) this.getSortedPlugins = utils.getSortedPlugins diff --git a/packages/vite/src/node/typeUtils.ts b/packages/vite/src/node/typeUtils.ts index 88667bbe965397..ece36fe9c9eb9a 100644 --- a/packages/vite/src/node/typeUtils.ts +++ b/packages/vite/src/node/typeUtils.ts @@ -1,7 +1,7 @@ import type { ObjectHook, + MinimalPluginContext as RollupMinimalPluginContext, Plugin as RollupPlugin, - PluginContext as RollupPluginContext, } from 'rollup' export type NonNeverKeys = { @@ -11,7 +11,7 @@ export type NonNeverKeys = { export type GetHookContextMap = { [K in keyof Plugin]-?: Plugin[K] extends ObjectHook ? T extends (this: infer This, ...args: any[]) => any - ? This extends RollupPluginContext + ? This extends RollupMinimalPluginContext ? This : never : never From 21ec1ce7f041efa5cd781924f7bc536ab406a197 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 20 Sep 2024 04:08:15 +0900 Subject: [PATCH 004/147] fix: use `config.consumer` instead of `options?.ssr` / `config.build.ssr` (#18140) --- packages/vite/src/node/plugins/css.ts | 6 +++--- packages/vite/src/node/plugins/importAnalysisBuild.ts | 11 +++++++---- .../vite/src/node/plugins/modulePreloadPolyfill.ts | 8 +++++--- packages/vite/src/node/plugins/preAlias.ts | 2 +- packages/vite/src/node/plugins/reporter.ts | 4 ++-- 5 files changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 390804543ce9e3..7f177952966aba 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -452,7 +452,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { codeSplitEmitQueue = createSerialPromiseQueue() }, - async transform(css, id, options) { + async transform(css, id) { if ( !isCSSRequest(id) || commonjsProxyRE.test(id) || @@ -510,7 +510,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { return null } // server only - if (options?.ssr) { + if (this.environment.config.consumer !== 'client') { return modulesCode || `export default ${JSON.stringify(css)}` } if (inlined) { @@ -783,7 +783,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { }) generatedAssets.set(referenceId, { originalFileName, isEntry }) chunk.viteMetadata!.importedCss.add(this.getFileName(referenceId)) - } else if (!config.build.ssr) { + } else if (this.environment.config.consumer === 'client') { // legacy build and inline css // Entry chunk CSS will be collected into `chunk.viteMetadata.importedCss` diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 6da7bc23103356..d883e0c4cd222e 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -18,6 +18,7 @@ import type { Plugin } from '../plugin' import type { ResolvedConfig } from '../config' import { toOutputFilePathInJS } from '../build' import { genSourceMapUrl } from '../server/sourcemap' +import type { Environment } from '../environment' import { removedPureCssFilesCache } from './css' import { createParseErrorInfo } from './importAnalysis' @@ -169,9 +170,10 @@ function preload( * Build only. During serve this is performed as part of ./importAnalysis. */ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { - const ssr = !!config.build.ssr - const isWorker = config.isWorker - const insertPreload = !(ssr || !!config.build.lib || isWorker) + const getInsertPreload = (environment: Environment) => + environment.config.consumer === 'client' && + !config.isWorker && + !config.build.lib const renderBuiltUrl = config.experimental.renderBuiltUrl const isRelativeBase = config.base === './' || config.base === '' @@ -237,6 +239,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { return null } + const insertPreload = getInsertPreload(this.environment) // when wrapping dynamic imports with a preload helper, Rollup is unable to analyze the // accessed variables for treeshaking. This below tries to match common accessed syntax // to "copy" it over to the dynamic import wrapped by the preload helper. @@ -402,7 +405,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { // If preload is not enabled, we parse through each imports and remove any imports to pure CSS chunks // as they are removed from the bundle - if (!insertPreload) { + if (!getInsertPreload(this.environment)) { const removedPureCssFiles = removedPureCssFilesCache.get(config) if (removedPureCssFiles && removedPureCssFiles.size > 0) { for (const file in bundle) { diff --git a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts index 2a363e13f99882..8bf5e6abce4b28 100644 --- a/packages/vite/src/node/plugins/modulePreloadPolyfill.ts +++ b/packages/vite/src/node/plugins/modulePreloadPolyfill.ts @@ -6,8 +6,6 @@ export const modulePreloadPolyfillId = 'vite/modulepreload-polyfill' const resolvedModulePreloadPolyfillId = '\0' + modulePreloadPolyfillId + '.js' export function modulePreloadPolyfillPlugin(config: ResolvedConfig): Plugin { - // `isModernFlag` is only available during build since it is resolved by `vite:build-import-analysis` - const skip = config.command !== 'build' || config.build.ssr let polyfillString: string | undefined return { @@ -19,7 +17,11 @@ export function modulePreloadPolyfillPlugin(config: ResolvedConfig): Plugin { }, load(id) { if (id === resolvedModulePreloadPolyfillId) { - if (skip) { + // `isModernFlag` is only available during build since it is resolved by `vite:build-import-analysis` + if ( + config.command !== 'build' || + this.environment.config.consumer !== 'client' + ) { return '' } if (!polyfillString) { diff --git a/packages/vite/src/node/plugins/preAlias.ts b/packages/vite/src/node/plugins/preAlias.ts index 693b70bdf1ed91..aa83bfe492a3a4 100644 --- a/packages/vite/src/node/plugins/preAlias.ts +++ b/packages/vite/src/node/plugins/preAlias.ts @@ -28,7 +28,7 @@ export function preAliasPlugin(config: ResolvedConfig): Plugin { name: 'vite:pre-alias', async resolveId(id, importer, options) { const { environment } = this - const ssr = options?.ssr === true + const ssr = environment.config.consumer === 'server' const depsOptimizer = environment.mode === 'dev' ? environment.depsOptimizer : undefined if ( diff --git a/packages/vite/src/node/plugins/reporter.ts b/packages/vite/src/node/plugins/reporter.ts index c502e300674c30..1d6cef214ef1ec 100644 --- a/packages/vite/src/node/plugins/reporter.ts +++ b/packages/vite/src/node/plugins/reporter.ts @@ -93,7 +93,7 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { code: string | Uint8Array, ): Promise { if ( - environment.config.build.ssr || + environment.config.consumer !== 'client' || !environment.config.build.reportCompressedSize ) { return null @@ -255,7 +255,7 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { hasLargeChunks && environment.config.build.minify && !config.build.lib && - !environment.config.build.ssr + environment.config.consumer === 'client' ) { environment.logger.warn( colors.yellow( From 49087bd5738a2cf69ee46b10a74cfd61c18e9959 Mon Sep 17 00:00:00 2001 From: aruseni Date: Sun, 22 Sep 2024 21:24:04 +0300 Subject: [PATCH 005/147] docs: fix typo in proxy.ts (#18162) --- packages/vite/src/node/server/middlewares/proxy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 6a546260941cd5..810f435cfa84a1 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -28,7 +28,7 @@ export interface ProxyOptions extends HttpProxy.ServerOptions { options: ProxyOptions, ) => void | null | undefined | false | string /** - * rewrite the Origin header of a WebSocket request to match the the target + * rewrite the Origin header of a WebSocket request to match the target * * **Exercise caution as rewriting the Origin can leave the proxying open to [CSRF attacks](https://owasp.org/www-community/attacks/csrf).** */ From a34a73a3ad8feeacc98632c0f4c643b6820bbfda Mon Sep 17 00:00:00 2001 From: Evan You Date: Mon, 23 Sep 2024 09:20:13 +0800 Subject: [PATCH 006/147] docs: use search-only key --- docs/.vitepress/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 5c13d474f1decc..d3dd5054d657f4 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -125,7 +125,7 @@ export default defineConfig({ algolia: { appId: '7H67QR5P0A', - apiKey: 'deaab78bcdfe96b599497d25acc6460e', + apiKey: '208bb9c14574939326032b937431014b', indexName: 'vitejs', searchParameters: { facetFilters: ['tags:en'], From 4cc53224e9b207aa6a5a111e40ed0a0464cf37f4 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Mon, 23 Sep 2024 22:50:31 +0900 Subject: [PATCH 007/147] fix(css): ensure sass compiler initialized only once (#18128) --- packages/vite/src/node/plugins/css.ts | 9 ++++--- .../sass-modern-compiler.spec.ts | 15 +++++++++++ .../sass-modern-compiler-build/entry1.scss | 3 +++ .../sass-modern-compiler-build/entry2.scss | 3 +++ .../vite.config-sass-modern-compiler-build.js | 27 +++++++++++++++++++ 5 files changed, 53 insertions(+), 4 deletions(-) create mode 100644 playground/css/__tests__/sass-modern-compiler-build/sass-modern-compiler.spec.ts create mode 100644 playground/css/sass-modern-compiler-build/entry1.scss create mode 100644 playground/css/sass-modern-compiler-build/entry2.scss create mode 100644 playground/css/vite.config-sass-modern-compiler-build.js diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 7f177952966aba..8361dd1580dcba 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -2350,7 +2350,7 @@ const makeModernCompilerScssWorker = ( alias: Alias[], _maxWorkers: number | undefined, ) => { - let compiler: Sass.AsyncCompiler | undefined + let compilerPromise: Promise | undefined const worker: Awaited> = { async run(sassPath, data, options) { @@ -2358,7 +2358,8 @@ const makeModernCompilerScssWorker = ( // https://github.com/nodejs/node/issues/31710 const sass: typeof Sass = (await import(pathToFileURL(sassPath).href)) .default - compiler ??= await sass.initAsyncCompiler() + compilerPromise ??= sass.initAsyncCompiler() + const compiler = await compilerPromise const sassOptions = { ...options } as Sass.StringOptions<'async'> sassOptions.url = pathToFileURL(options.filename) @@ -2414,8 +2415,8 @@ const makeModernCompilerScssWorker = ( } satisfies ScssWorkerResult }, async stop() { - compiler?.dispose() - compiler = undefined + ;(await compilerPromise)?.dispose() + compilerPromise = undefined }, } diff --git a/playground/css/__tests__/sass-modern-compiler-build/sass-modern-compiler.spec.ts b/playground/css/__tests__/sass-modern-compiler-build/sass-modern-compiler.spec.ts new file mode 100644 index 00000000000000..98bba744b175d5 --- /dev/null +++ b/playground/css/__tests__/sass-modern-compiler-build/sass-modern-compiler.spec.ts @@ -0,0 +1,15 @@ +import { expect, test } from 'vitest' +import { findAssetFile, isBuild } from '~utils' + +test.runIf(isBuild)('sass modern compiler build multiple entries', () => { + expect(findAssetFile(/entry1/, 'sass-modern-compiler-build')) + .toMatchInlineSnapshot(` + ".entry1{color:red} + " + `) + expect(findAssetFile(/entry2/, 'sass-modern-compiler-build')) + .toMatchInlineSnapshot(` + ".entry2{color:#00f} + " + `) +}) diff --git a/playground/css/sass-modern-compiler-build/entry1.scss b/playground/css/sass-modern-compiler-build/entry1.scss new file mode 100644 index 00000000000000..e21334eb8337bc --- /dev/null +++ b/playground/css/sass-modern-compiler-build/entry1.scss @@ -0,0 +1,3 @@ +.entry1 { + color: red; +} diff --git a/playground/css/sass-modern-compiler-build/entry2.scss b/playground/css/sass-modern-compiler-build/entry2.scss new file mode 100644 index 00000000000000..eca3004c9d247f --- /dev/null +++ b/playground/css/sass-modern-compiler-build/entry2.scss @@ -0,0 +1,3 @@ +.entry2 { + color: blue; +} diff --git a/playground/css/vite.config-sass-modern-compiler-build.js b/playground/css/vite.config-sass-modern-compiler-build.js new file mode 100644 index 00000000000000..b44ef1e354d4d9 --- /dev/null +++ b/playground/css/vite.config-sass-modern-compiler-build.js @@ -0,0 +1,27 @@ +import path from 'node:path' +import { defineConfig } from 'vite' + +export default defineConfig({ + build: { + outDir: 'dist/sass-modern-compiler-build', + rollupOptions: { + input: { + entry1: path.join( + import.meta.dirname, + 'sass-modern-compiler-build/entry1.scss', + ), + entry2: path.join( + import.meta.dirname, + 'sass-modern-compiler-build/entry2.scss', + ), + }, + }, + }, + css: { + preprocessorOptions: { + scss: { + api: 'modern-compiler', + }, + }, + }, +}) From d7763a5615a238cb1b5dceb7bdfc4aac7678fb0a Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 24 Sep 2024 12:47:31 +0900 Subject: [PATCH 008/147] fix(css): fix missing source file warning with sass modern api custom importer (#18113) --- packages/vite/src/node/plugins/css.ts | 4 ++-- .../css-sourcemap/__tests__/css-sourcemap.spec.ts | 11 ++++++++--- playground/css-sourcemap/imported-nested.sass | 1 + playground/css-sourcemap/imported.sass | 4 +++- 4 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 playground/css-sourcemap/imported-nested.sass diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 8361dd1580dcba..6fa5904ddabd95 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -2300,7 +2300,7 @@ const makeModernScssWorker = ( fileURLToPath(canonicalUrl), options.filename, ) - return { contents, syntax } + return { contents, syntax, sourceMapUrl: canonicalUrl } }, } sassOptions.importers = [ @@ -2395,7 +2395,7 @@ const makeModernCompilerScssWorker = ( ) const contents = result.contents ?? (await fsp.readFile(result.file, 'utf-8')) - return { contents, syntax } + return { contents, syntax, sourceMapUrl: canonicalUrl } }, } sassOptions.importers = [ diff --git a/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts b/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts index 6c6472c848823d..c60836f30f44ed 100644 --- a/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts +++ b/playground/css-sourcemap/__tests__/css-sourcemap.spec.ts @@ -139,14 +139,19 @@ describe.runIf(isServe)('serve', () => { expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` { "ignoreList": [], - "mappings": "AACE;EACE", + "mappings": "AAGE;EACE,UCJM", "sources": [ "/root/imported.sass", + "/root/imported-nested.sass", ], "sourcesContent": [ - ".imported + "@import "/imported-nested.sass" + + .imported &-sass - color: red + color: $primary + ", + "$primary: red ", ], "version": 3, diff --git a/playground/css-sourcemap/imported-nested.sass b/playground/css-sourcemap/imported-nested.sass new file mode 100644 index 00000000000000..b5f10d672c1cc5 --- /dev/null +++ b/playground/css-sourcemap/imported-nested.sass @@ -0,0 +1 @@ +$primary: red diff --git a/playground/css-sourcemap/imported.sass b/playground/css-sourcemap/imported.sass index 06fa634d5dd4e9..6392f94655abc3 100644 --- a/playground/css-sourcemap/imported.sass +++ b/playground/css-sourcemap/imported.sass @@ -1,3 +1,5 @@ +@import "/imported-nested.sass" + .imported &-sass - color: red + color: $primary From e59e2cacab476305c3cdfb31732c27b174fb8fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B2an?= Date: Tue, 24 Sep 2024 08:41:59 +0100 Subject: [PATCH 009/147] chore(deps): update esbuild (#18173) --- packages/vite/package.json | 2 +- pnpm-lock.yaml | 417 ++++++++++++++++++------------------- 2 files changed, 209 insertions(+), 210 deletions(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index 6e81bebddf721e..9c4250bfa20323 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -85,7 +85,7 @@ }, "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", "dependencies": { - "esbuild": "^0.21.3", + "esbuild": "^0.24.0", "postcss": "^8.4.47", "rollup": "^4.20.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4a96438950f62..6cdfe7961e0fbd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -114,7 +114,7 @@ importers: version: 4.20.0 rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.23.0)(rollup@4.20.0) + version: 6.1.1(esbuild@0.24.0)(rollup@4.20.0) simple-git-hooks: specifier: ^2.11.1 version: 2.11.1 @@ -225,8 +225,8 @@ importers: packages/vite: dependencies: esbuild: - specifier: ^0.21.3 - version: 0.21.5 + specifier: ^0.24.0 + version: 0.24.0 postcss: specifier: ^8.4.47 version: 8.4.47 @@ -381,7 +381,7 @@ importers: version: 6.1.1(rollup@4.20.0)(typescript@5.5.3) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.21.5)(rollup@4.20.0) + version: 6.1.1(esbuild@0.24.0)(rollup@4.20.0) rollup-plugin-license: specifier: ^3.5.2 version: 3.5.2(picomatch@2.3.1)(rollup@4.20.0) @@ -2370,14 +2370,14 @@ packages: cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.21.5': - resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} - engines: {node: '>=12'} + '@esbuild/aix-ppc64@0.23.0': + resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} + engines: {node: '>=18'} cpu: [ppc64] os: [aix] - '@esbuild/aix-ppc64@0.23.0': - resolution: {integrity: sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==} + '@esbuild/aix-ppc64@0.24.0': + resolution: {integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] @@ -2394,14 +2394,14 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.21.5': - resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} - engines: {node: '>=12'} + '@esbuild/android-arm64@0.23.0': + resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} + engines: {node: '>=18'} cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.23.0': - resolution: {integrity: sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==} + '@esbuild/android-arm64@0.24.0': + resolution: {integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==} engines: {node: '>=18'} cpu: [arm64] os: [android] @@ -2418,14 +2418,14 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.21.5': - resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} - engines: {node: '>=12'} + '@esbuild/android-arm@0.23.0': + resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} + engines: {node: '>=18'} cpu: [arm] os: [android] - '@esbuild/android-arm@0.23.0': - resolution: {integrity: sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==} + '@esbuild/android-arm@0.24.0': + resolution: {integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==} engines: {node: '>=18'} cpu: [arm] os: [android] @@ -2442,14 +2442,14 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.21.5': - resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} - engines: {node: '>=12'} + '@esbuild/android-x64@0.23.0': + resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} + engines: {node: '>=18'} cpu: [x64] os: [android] - '@esbuild/android-x64@0.23.0': - resolution: {integrity: sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==} + '@esbuild/android-x64@0.24.0': + resolution: {integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==} engines: {node: '>=18'} cpu: [x64] os: [android] @@ -2466,14 +2466,14 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.21.5': - resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} - engines: {node: '>=12'} + '@esbuild/darwin-arm64@0.23.0': + resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} + engines: {node: '>=18'} cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.23.0': - resolution: {integrity: sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==} + '@esbuild/darwin-arm64@0.24.0': + resolution: {integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] @@ -2490,14 +2490,14 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.21.5': - resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} - engines: {node: '>=12'} + '@esbuild/darwin-x64@0.23.0': + resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} + engines: {node: '>=18'} cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.23.0': - resolution: {integrity: sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==} + '@esbuild/darwin-x64@0.24.0': + resolution: {integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==} engines: {node: '>=18'} cpu: [x64] os: [darwin] @@ -2514,14 +2514,14 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.21.5': - resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} - engines: {node: '>=12'} + '@esbuild/freebsd-arm64@0.23.0': + resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} + engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.23.0': - resolution: {integrity: sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==} + '@esbuild/freebsd-arm64@0.24.0': + resolution: {integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] @@ -2538,14 +2538,14 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.21.5': - resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} - engines: {node: '>=12'} + '@esbuild/freebsd-x64@0.23.0': + resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} + engines: {node: '>=18'} cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.23.0': - resolution: {integrity: sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==} + '@esbuild/freebsd-x64@0.24.0': + resolution: {integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] @@ -2562,14 +2562,14 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.21.5': - resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} - engines: {node: '>=12'} + '@esbuild/linux-arm64@0.23.0': + resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} + engines: {node: '>=18'} cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.23.0': - resolution: {integrity: sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==} + '@esbuild/linux-arm64@0.24.0': + resolution: {integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==} engines: {node: '>=18'} cpu: [arm64] os: [linux] @@ -2586,14 +2586,14 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.21.5': - resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} - engines: {node: '>=12'} + '@esbuild/linux-arm@0.23.0': + resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} + engines: {node: '>=18'} cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.23.0': - resolution: {integrity: sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==} + '@esbuild/linux-arm@0.24.0': + resolution: {integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==} engines: {node: '>=18'} cpu: [arm] os: [linux] @@ -2610,14 +2610,14 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.21.5': - resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} - engines: {node: '>=12'} + '@esbuild/linux-ia32@0.23.0': + resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} + engines: {node: '>=18'} cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.23.0': - resolution: {integrity: sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==} + '@esbuild/linux-ia32@0.24.0': + resolution: {integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==} engines: {node: '>=18'} cpu: [ia32] os: [linux] @@ -2634,14 +2634,14 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.21.5': - resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} - engines: {node: '>=12'} + '@esbuild/linux-loong64@0.23.0': + resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} + engines: {node: '>=18'} cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.23.0': - resolution: {integrity: sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==} + '@esbuild/linux-loong64@0.24.0': + resolution: {integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==} engines: {node: '>=18'} cpu: [loong64] os: [linux] @@ -2658,14 +2658,14 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.21.5': - resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} - engines: {node: '>=12'} + '@esbuild/linux-mips64el@0.23.0': + resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} + engines: {node: '>=18'} cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.23.0': - resolution: {integrity: sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==} + '@esbuild/linux-mips64el@0.24.0': + resolution: {integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] @@ -2682,14 +2682,14 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.21.5': - resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} - engines: {node: '>=12'} + '@esbuild/linux-ppc64@0.23.0': + resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} + engines: {node: '>=18'} cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.23.0': - resolution: {integrity: sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==} + '@esbuild/linux-ppc64@0.24.0': + resolution: {integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] @@ -2706,14 +2706,14 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.21.5': - resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} - engines: {node: '>=12'} + '@esbuild/linux-riscv64@0.23.0': + resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} + engines: {node: '>=18'} cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.23.0': - resolution: {integrity: sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==} + '@esbuild/linux-riscv64@0.24.0': + resolution: {integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] @@ -2730,14 +2730,14 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.21.5': - resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} - engines: {node: '>=12'} + '@esbuild/linux-s390x@0.23.0': + resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} + engines: {node: '>=18'} cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.23.0': - resolution: {integrity: sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==} + '@esbuild/linux-s390x@0.24.0': + resolution: {integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==} engines: {node: '>=18'} cpu: [s390x] os: [linux] @@ -2754,14 +2754,14 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.21.5': - resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} - engines: {node: '>=12'} + '@esbuild/linux-x64@0.23.0': + resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} + engines: {node: '>=18'} cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.23.0': - resolution: {integrity: sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==} + '@esbuild/linux-x64@0.24.0': + resolution: {integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==} engines: {node: '>=18'} cpu: [x64] os: [linux] @@ -2778,14 +2778,14 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.21.5': - resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} - engines: {node: '>=12'} + '@esbuild/netbsd-x64@0.23.0': + resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} + engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.23.0': - resolution: {integrity: sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==} + '@esbuild/netbsd-x64@0.24.0': + resolution: {integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] @@ -2796,6 +2796,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-arm64@0.24.0': + resolution: {integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} @@ -2808,14 +2814,14 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.21.5': - resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} - engines: {node: '>=12'} + '@esbuild/openbsd-x64@0.23.0': + resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} + engines: {node: '>=18'} cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.23.0': - resolution: {integrity: sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==} + '@esbuild/openbsd-x64@0.24.0': + resolution: {integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] @@ -2832,14 +2838,14 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.21.5': - resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} - engines: {node: '>=12'} + '@esbuild/sunos-x64@0.23.0': + resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} + engines: {node: '>=18'} cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.23.0': - resolution: {integrity: sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==} + '@esbuild/sunos-x64@0.24.0': + resolution: {integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] @@ -2856,14 +2862,14 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.21.5': - resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} - engines: {node: '>=12'} + '@esbuild/win32-arm64@0.23.0': + resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} + engines: {node: '>=18'} cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.23.0': - resolution: {integrity: sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==} + '@esbuild/win32-arm64@0.24.0': + resolution: {integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==} engines: {node: '>=18'} cpu: [arm64] os: [win32] @@ -2880,14 +2886,14 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.21.5': - resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} - engines: {node: '>=12'} + '@esbuild/win32-ia32@0.23.0': + resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} + engines: {node: '>=18'} cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.23.0': - resolution: {integrity: sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==} + '@esbuild/win32-ia32@0.24.0': + resolution: {integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==} engines: {node: '>=18'} cpu: [ia32] os: [win32] @@ -2904,14 +2910,14 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.21.5': - resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} - engines: {node: '>=12'} + '@esbuild/win32-x64@0.23.0': + resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} + engines: {node: '>=18'} cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.23.0': - resolution: {integrity: sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==} + '@esbuild/win32-x64@0.24.0': + resolution: {integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==} engines: {node: '>=18'} cpu: [x64] os: [win32] @@ -4595,16 +4601,16 @@ packages: engines: {node: '>=12'} hasBin: true - esbuild@0.21.5: - resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} - engines: {node: '>=12'} - hasBin: true - esbuild@0.23.0: resolution: {integrity: sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==} engines: {node: '>=18'} hasBin: true + esbuild@0.24.0: + resolution: {integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==} + engines: {node: '>=18'} + hasBin: true + escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} @@ -8163,10 +8169,10 @@ snapshots: '@esbuild/aix-ppc64@0.19.11': optional: true - '@esbuild/aix-ppc64@0.21.5': + '@esbuild/aix-ppc64@0.23.0': optional: true - '@esbuild/aix-ppc64@0.23.0': + '@esbuild/aix-ppc64@0.24.0': optional: true '@esbuild/android-arm64@0.18.20': @@ -8175,10 +8181,10 @@ snapshots: '@esbuild/android-arm64@0.19.11': optional: true - '@esbuild/android-arm64@0.21.5': + '@esbuild/android-arm64@0.23.0': optional: true - '@esbuild/android-arm64@0.23.0': + '@esbuild/android-arm64@0.24.0': optional: true '@esbuild/android-arm@0.18.20': @@ -8187,10 +8193,10 @@ snapshots: '@esbuild/android-arm@0.19.11': optional: true - '@esbuild/android-arm@0.21.5': + '@esbuild/android-arm@0.23.0': optional: true - '@esbuild/android-arm@0.23.0': + '@esbuild/android-arm@0.24.0': optional: true '@esbuild/android-x64@0.18.20': @@ -8199,10 +8205,10 @@ snapshots: '@esbuild/android-x64@0.19.11': optional: true - '@esbuild/android-x64@0.21.5': + '@esbuild/android-x64@0.23.0': optional: true - '@esbuild/android-x64@0.23.0': + '@esbuild/android-x64@0.24.0': optional: true '@esbuild/darwin-arm64@0.18.20': @@ -8211,10 +8217,10 @@ snapshots: '@esbuild/darwin-arm64@0.19.11': optional: true - '@esbuild/darwin-arm64@0.21.5': + '@esbuild/darwin-arm64@0.23.0': optional: true - '@esbuild/darwin-arm64@0.23.0': + '@esbuild/darwin-arm64@0.24.0': optional: true '@esbuild/darwin-x64@0.18.20': @@ -8223,10 +8229,10 @@ snapshots: '@esbuild/darwin-x64@0.19.11': optional: true - '@esbuild/darwin-x64@0.21.5': + '@esbuild/darwin-x64@0.23.0': optional: true - '@esbuild/darwin-x64@0.23.0': + '@esbuild/darwin-x64@0.24.0': optional: true '@esbuild/freebsd-arm64@0.18.20': @@ -8235,10 +8241,10 @@ snapshots: '@esbuild/freebsd-arm64@0.19.11': optional: true - '@esbuild/freebsd-arm64@0.21.5': + '@esbuild/freebsd-arm64@0.23.0': optional: true - '@esbuild/freebsd-arm64@0.23.0': + '@esbuild/freebsd-arm64@0.24.0': optional: true '@esbuild/freebsd-x64@0.18.20': @@ -8247,10 +8253,10 @@ snapshots: '@esbuild/freebsd-x64@0.19.11': optional: true - '@esbuild/freebsd-x64@0.21.5': + '@esbuild/freebsd-x64@0.23.0': optional: true - '@esbuild/freebsd-x64@0.23.0': + '@esbuild/freebsd-x64@0.24.0': optional: true '@esbuild/linux-arm64@0.18.20': @@ -8259,10 +8265,10 @@ snapshots: '@esbuild/linux-arm64@0.19.11': optional: true - '@esbuild/linux-arm64@0.21.5': + '@esbuild/linux-arm64@0.23.0': optional: true - '@esbuild/linux-arm64@0.23.0': + '@esbuild/linux-arm64@0.24.0': optional: true '@esbuild/linux-arm@0.18.20': @@ -8271,10 +8277,10 @@ snapshots: '@esbuild/linux-arm@0.19.11': optional: true - '@esbuild/linux-arm@0.21.5': + '@esbuild/linux-arm@0.23.0': optional: true - '@esbuild/linux-arm@0.23.0': + '@esbuild/linux-arm@0.24.0': optional: true '@esbuild/linux-ia32@0.18.20': @@ -8283,10 +8289,10 @@ snapshots: '@esbuild/linux-ia32@0.19.11': optional: true - '@esbuild/linux-ia32@0.21.5': + '@esbuild/linux-ia32@0.23.0': optional: true - '@esbuild/linux-ia32@0.23.0': + '@esbuild/linux-ia32@0.24.0': optional: true '@esbuild/linux-loong64@0.18.20': @@ -8295,10 +8301,10 @@ snapshots: '@esbuild/linux-loong64@0.19.11': optional: true - '@esbuild/linux-loong64@0.21.5': + '@esbuild/linux-loong64@0.23.0': optional: true - '@esbuild/linux-loong64@0.23.0': + '@esbuild/linux-loong64@0.24.0': optional: true '@esbuild/linux-mips64el@0.18.20': @@ -8307,10 +8313,10 @@ snapshots: '@esbuild/linux-mips64el@0.19.11': optional: true - '@esbuild/linux-mips64el@0.21.5': + '@esbuild/linux-mips64el@0.23.0': optional: true - '@esbuild/linux-mips64el@0.23.0': + '@esbuild/linux-mips64el@0.24.0': optional: true '@esbuild/linux-ppc64@0.18.20': @@ -8319,10 +8325,10 @@ snapshots: '@esbuild/linux-ppc64@0.19.11': optional: true - '@esbuild/linux-ppc64@0.21.5': + '@esbuild/linux-ppc64@0.23.0': optional: true - '@esbuild/linux-ppc64@0.23.0': + '@esbuild/linux-ppc64@0.24.0': optional: true '@esbuild/linux-riscv64@0.18.20': @@ -8331,10 +8337,10 @@ snapshots: '@esbuild/linux-riscv64@0.19.11': optional: true - '@esbuild/linux-riscv64@0.21.5': + '@esbuild/linux-riscv64@0.23.0': optional: true - '@esbuild/linux-riscv64@0.23.0': + '@esbuild/linux-riscv64@0.24.0': optional: true '@esbuild/linux-s390x@0.18.20': @@ -8343,10 +8349,10 @@ snapshots: '@esbuild/linux-s390x@0.19.11': optional: true - '@esbuild/linux-s390x@0.21.5': + '@esbuild/linux-s390x@0.23.0': optional: true - '@esbuild/linux-s390x@0.23.0': + '@esbuild/linux-s390x@0.24.0': optional: true '@esbuild/linux-x64@0.18.20': @@ -8355,10 +8361,10 @@ snapshots: '@esbuild/linux-x64@0.19.11': optional: true - '@esbuild/linux-x64@0.21.5': + '@esbuild/linux-x64@0.23.0': optional: true - '@esbuild/linux-x64@0.23.0': + '@esbuild/linux-x64@0.24.0': optional: true '@esbuild/netbsd-x64@0.18.20': @@ -8367,25 +8373,28 @@ snapshots: '@esbuild/netbsd-x64@0.19.11': optional: true - '@esbuild/netbsd-x64@0.21.5': + '@esbuild/netbsd-x64@0.23.0': optional: true - '@esbuild/netbsd-x64@0.23.0': + '@esbuild/netbsd-x64@0.24.0': optional: true '@esbuild/openbsd-arm64@0.23.0': optional: true + '@esbuild/openbsd-arm64@0.24.0': + optional: true + '@esbuild/openbsd-x64@0.18.20': optional: true '@esbuild/openbsd-x64@0.19.11': optional: true - '@esbuild/openbsd-x64@0.21.5': + '@esbuild/openbsd-x64@0.23.0': optional: true - '@esbuild/openbsd-x64@0.23.0': + '@esbuild/openbsd-x64@0.24.0': optional: true '@esbuild/sunos-x64@0.18.20': @@ -8394,10 +8403,10 @@ snapshots: '@esbuild/sunos-x64@0.19.11': optional: true - '@esbuild/sunos-x64@0.21.5': + '@esbuild/sunos-x64@0.23.0': optional: true - '@esbuild/sunos-x64@0.23.0': + '@esbuild/sunos-x64@0.24.0': optional: true '@esbuild/win32-arm64@0.18.20': @@ -8406,10 +8415,10 @@ snapshots: '@esbuild/win32-arm64@0.19.11': optional: true - '@esbuild/win32-arm64@0.21.5': + '@esbuild/win32-arm64@0.23.0': optional: true - '@esbuild/win32-arm64@0.23.0': + '@esbuild/win32-arm64@0.24.0': optional: true '@esbuild/win32-ia32@0.18.20': @@ -8418,10 +8427,10 @@ snapshots: '@esbuild/win32-ia32@0.19.11': optional: true - '@esbuild/win32-ia32@0.21.5': + '@esbuild/win32-ia32@0.23.0': optional: true - '@esbuild/win32-ia32@0.23.0': + '@esbuild/win32-ia32@0.24.0': optional: true '@esbuild/win32-x64@0.18.20': @@ -8430,10 +8439,10 @@ snapshots: '@esbuild/win32-x64@0.19.11': optional: true - '@esbuild/win32-x64@0.21.5': + '@esbuild/win32-x64@0.23.0': optional: true - '@esbuild/win32-x64@0.23.0': + '@esbuild/win32-x64@0.24.0': optional: true '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0(jiti@1.21.0))': @@ -10220,32 +10229,6 @@ snapshots: '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 - esbuild@0.21.5: - optionalDependencies: - '@esbuild/aix-ppc64': 0.21.5 - '@esbuild/android-arm': 0.21.5 - '@esbuild/android-arm64': 0.21.5 - '@esbuild/android-x64': 0.21.5 - '@esbuild/darwin-arm64': 0.21.5 - '@esbuild/darwin-x64': 0.21.5 - '@esbuild/freebsd-arm64': 0.21.5 - '@esbuild/freebsd-x64': 0.21.5 - '@esbuild/linux-arm': 0.21.5 - '@esbuild/linux-arm64': 0.21.5 - '@esbuild/linux-ia32': 0.21.5 - '@esbuild/linux-loong64': 0.21.5 - '@esbuild/linux-mips64el': 0.21.5 - '@esbuild/linux-ppc64': 0.21.5 - '@esbuild/linux-riscv64': 0.21.5 - '@esbuild/linux-s390x': 0.21.5 - '@esbuild/linux-x64': 0.21.5 - '@esbuild/netbsd-x64': 0.21.5 - '@esbuild/openbsd-x64': 0.21.5 - '@esbuild/sunos-x64': 0.21.5 - '@esbuild/win32-arm64': 0.21.5 - '@esbuild/win32-ia32': 0.21.5 - '@esbuild/win32-x64': 0.21.5 - esbuild@0.23.0: optionalDependencies: '@esbuild/aix-ppc64': 0.23.0 @@ -10273,6 +10256,33 @@ snapshots: '@esbuild/win32-ia32': 0.23.0 '@esbuild/win32-x64': 0.23.0 + esbuild@0.24.0: + optionalDependencies: + '@esbuild/aix-ppc64': 0.24.0 + '@esbuild/android-arm': 0.24.0 + '@esbuild/android-arm64': 0.24.0 + '@esbuild/android-x64': 0.24.0 + '@esbuild/darwin-arm64': 0.24.0 + '@esbuild/darwin-x64': 0.24.0 + '@esbuild/freebsd-arm64': 0.24.0 + '@esbuild/freebsd-x64': 0.24.0 + '@esbuild/linux-arm': 0.24.0 + '@esbuild/linux-arm64': 0.24.0 + '@esbuild/linux-ia32': 0.24.0 + '@esbuild/linux-loong64': 0.24.0 + '@esbuild/linux-mips64el': 0.24.0 + '@esbuild/linux-ppc64': 0.24.0 + '@esbuild/linux-riscv64': 0.24.0 + '@esbuild/linux-s390x': 0.24.0 + '@esbuild/linux-x64': 0.24.0 + '@esbuild/netbsd-x64': 0.24.0 + '@esbuild/openbsd-arm64': 0.24.0 + '@esbuild/openbsd-x64': 0.24.0 + '@esbuild/sunos-x64': 0.24.0 + '@esbuild/win32-arm64': 0.24.0 + '@esbuild/win32-ia32': 0.24.0 + '@esbuild/win32-x64': 0.24.0 + escalade@3.1.2: {} escape-html@1.0.3: {} @@ -12123,23 +12133,12 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-esbuild@6.1.1(esbuild@0.21.5)(rollup@4.20.0): + rollup-plugin-esbuild@6.1.1(esbuild@0.24.0)(rollup@4.20.0): dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.20.0) debug: 4.3.7 es-module-lexer: 1.5.4 - esbuild: 0.21.5 - get-tsconfig: 4.7.5 - rollup: 4.20.0 - transitivePeerDependencies: - - supports-color - - rollup-plugin-esbuild@6.1.1(esbuild@0.23.0)(rollup@4.20.0): - dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.20.0) - debug: 4.3.7 - es-module-lexer: 1.5.4 - esbuild: 0.23.0 + esbuild: 0.24.0 get-tsconfig: 4.7.5 rollup: 4.20.0 transitivePeerDependencies: From 08ff23319964903b9f380859c216b10e577ddb6f Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 24 Sep 2024 21:35:07 +0200 Subject: [PATCH 010/147] refactor: remove the need for "processSourceMap" (#18187) --- docs/guide/api-environment.md | 6 +++++- packages/vite/src/module-runner/esmEvaluator.ts | 7 ++++++- packages/vite/src/module-runner/runner.ts | 1 + packages/vite/src/module-runner/types.ts | 5 +++++ .../node/server/environments/nodeEnvironment.ts | 15 +-------------- packages/vite/src/node/ssr/fetchModule.ts | 12 ++++++++---- 6 files changed, 26 insertions(+), 20 deletions(-) diff --git a/docs/guide/api-environment.md b/docs/guide/api-environment.md index c9a4908e2c8421..470ce35b55cf35 100644 --- a/docs/guide/api-environment.md +++ b/docs/guide/api-environment.md @@ -714,6 +714,10 @@ export interface ModuleRunnerOptions { ```ts export interface ModuleEvaluator { + /** + * Number of prefixed lines in the transformed code. + */ + startOffset?: number /** * Evaluate code that was transformed by Vite. * @param context Function context @@ -733,7 +737,7 @@ export interface ModuleEvaluator { } ``` -Vite exports `ESModulesEvaluator` that implements this interface by default. It uses `new AsyncFunction` to evaluate code, so if the code has inlined source map it should contain an [offset of 2 lines](https://tc39.es/ecma262/#sec-createdynamicfunction) to accommodate for new lines added. This is done automatically in the server node environment. If your runner implementation doesn't have this constraint, you should use `fetchModule` (exported from `vite`) directly. +Vite exports `ESModulesEvaluator` that implements this interface by default. It uses `new AsyncFunction` to evaluate code, so if the code has inlined source map it should contain an [offset of 2 lines](https://tc39.es/ecma262/#sec-createdynamicfunction) to accommodate for new lines added. This is done automatically by the `ESModulesEvaluator`. Custom evaluators will not add additional lines. ## RunnerTransport diff --git a/packages/vite/src/module-runner/esmEvaluator.ts b/packages/vite/src/module-runner/esmEvaluator.ts index 3e84f98f7646bd..7266fc870612dd 100644 --- a/packages/vite/src/module-runner/esmEvaluator.ts +++ b/packages/vite/src/module-runner/esmEvaluator.ts @@ -1,4 +1,7 @@ -import { AsyncFunction } from '../shared/utils' +import { + AsyncFunction, + asyncFunctionDeclarationPaddingLineCount, +} from '../shared/utils' import { ssrDynamicImportKey, ssrExportAllKey, @@ -9,6 +12,8 @@ import { import type { ModuleEvaluator, ModuleRunnerContext } from './types' export class ESModulesEvaluator implements ModuleEvaluator { + startOffset = asyncFunctionDeclarationPaddingLineCount + async runInlinedModule( context: ModuleRunnerContext, code: string, diff --git a/packages/vite/src/module-runner/runner.ts b/packages/vite/src/module-runner/runner.ts index 4c132ec4117072..1df16d3ffd094e 100644 --- a/packages/vite/src/module-runner/runner.ts +++ b/packages/vite/src/module-runner/runner.ts @@ -265,6 +265,7 @@ export class ModuleRunner { ? { externalize: url, type: 'builtin' } : await this.transport.fetchModule(url, importer, { cached: isCached, + startOffset: this.evaluator.startOffset, }) ) as ResolvedResult diff --git a/packages/vite/src/module-runner/types.ts b/packages/vite/src/module-runner/types.ts index 71857ba5964007..18ac314cbf1e95 100644 --- a/packages/vite/src/module-runner/types.ts +++ b/packages/vite/src/module-runner/types.ts @@ -46,6 +46,10 @@ export interface ModuleRunnerContext { } export interface ModuleEvaluator { + /** + * Number of prefixed lines in the transformed code. + */ + startOffset?: number /** * Run code that was transformed by Vite. * @param context Function context @@ -138,6 +142,7 @@ export type FetchFunction = ( export interface FetchFunctionOptions { cached?: boolean + startOffset?: number } export interface ModuleRunnerHmr { diff --git a/packages/vite/src/node/server/environments/nodeEnvironment.ts b/packages/vite/src/node/server/environments/nodeEnvironment.ts index 14c295bcdcd1a5..9e63c814e7bcf3 100644 --- a/packages/vite/src/node/server/environments/nodeEnvironment.ts +++ b/packages/vite/src/node/server/environments/nodeEnvironment.ts @@ -1,7 +1,6 @@ import type { ResolvedConfig } from '../../config' import type { DevEnvironmentContext } from '../environment' import { DevEnvironment } from '../environment' -import { asyncFunctionDeclarationPaddingLineCount } from '../../../shared/utils' export function createNodeDevEnvironment( name: string, @@ -14,17 +13,5 @@ export function createNodeDevEnvironment( ) } - return new DevEnvironment(name, config, { - ...context, - runner: { - processSourceMap(map) { - // this assumes that "new AsyncFunction" is used to create the module - return Object.assign({}, map, { - mappings: - ';'.repeat(asyncFunctionDeclarationPaddingLineCount) + map.mappings, - }) - }, - ...context.runner, - }, - }) + return new DevEnvironment(name, config, context) } diff --git a/packages/vite/src/node/ssr/fetchModule.ts b/packages/vite/src/node/ssr/fetchModule.ts index 663fff6bd121da..8cf533906419b4 100644 --- a/packages/vite/src/node/ssr/fetchModule.ts +++ b/packages/vite/src/node/ssr/fetchModule.ts @@ -15,7 +15,7 @@ import { normalizeResolvedIdToUrl } from '../plugins/importAnalysis' export interface FetchModuleOptions { cached?: boolean inlineSourceMap?: boolean - processSourceMap?>(map: T): T + startOffset?: number } /** @@ -127,7 +127,7 @@ export async function fetchModule( } if (options.inlineSourceMap !== false) { - result = inlineSourceMap(mod, result, options.processSourceMap) + result = inlineSourceMap(mod, result, options.startOffset) } // remove shebang @@ -150,7 +150,7 @@ const OTHER_SOURCE_MAP_REGEXP = new RegExp( function inlineSourceMap( mod: EnvironmentModuleNode, result: TransformResult, - processSourceMap?: FetchModuleOptions['processSourceMap'], + startOffset: number | undefined, ) { const map = result.map let code = result.code @@ -167,7 +167,11 @@ function inlineSourceMap( if (OTHER_SOURCE_MAP_REGEXP.test(code)) code = code.replace(OTHER_SOURCE_MAP_REGEXP, '') - const sourceMap = processSourceMap?.(map) || map + const sourceMap = startOffset + ? Object.assign({}, map, { + mappings: ';'.repeat(startOffset) + map.mappings, + }) + : map result.code = `${code.trimEnd()}\n//# sourceURL=${ mod.id }\n${MODULE_RUNNER_SOURCEMAPPING_SOURCE}\n//# ${SOURCEMAPPING_URL}=${genSourceMapUrl(sourceMap)}\n` From 5e56614ccef9b5a585efef27a3dca9e05b87615e Mon Sep 17 00:00:00 2001 From: xxhls Date: Wed, 25 Sep 2024 16:37:23 +0800 Subject: [PATCH 011/147] docs: correct variable name in `build.lib.fileName` option description (#18197) --- docs/config/build-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/build-options.md b/docs/config/build-options.md index 04698db56d7ef8..4d6c83d8c9baca 100644 --- a/docs/config/build-options.md +++ b/docs/config/build-options.md @@ -166,7 +166,7 @@ Options to pass on to [@rollup/plugin-dynamic-import-vars](https://github.com/ro - **Type:** `{ entry: string | string[] | { [entryAlias: string]: string }, name?: string, formats?: ('es' | 'cjs' | 'umd' | 'iife')[], fileName?: string | ((format: ModuleFormat, entryName: string) => string) }` - **Related:** [Library Mode](/guide/build#library-mode) -Build as a library. `entry` is required since the library cannot use HTML as entry. `name` is the exposed global variable and is required when `formats` includes `'umd'` or `'iife'`. Default `formats` are `['es', 'umd']`, or `['es', 'cjs']`, if multiple entries are used. `fileName` is the name of the package file output, default `fileName` is the name option of package.json, it can also be defined as function taking the `format` and `entryAlias` as arguments. +Build as a library. `entry` is required since the library cannot use HTML as entry. `name` is the exposed global variable and is required when `formats` includes `'umd'` or `'iife'`. Default `formats` are `['es', 'umd']`, or `['es', 'cjs']`, if multiple entries are used. `fileName` is the name of the package file output, default `fileName` is the name option of package.json, it can also be defined as function taking the `format` and `entryName` as arguments. ## build.manifest From e83beff596072f9c7a42f6e2410f154668981d71 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 25 Sep 2024 15:24:08 +0200 Subject: [PATCH 012/147] fix(vite): refactor "module cache" to "evaluated modules", pass down module to "runInlinedModule" (#18092) --- docs/guide/api-environment.md | 4 +- .../src/module-runner/evaluatedModules.ts | 147 ++++++++++++++++ packages/vite/src/module-runner/hmrHandler.ts | 33 ++-- packages/vite/src/module-runner/index.ts | 3 +- .../vite/src/module-runner/moduleCache.ts | 165 ------------------ packages/vite/src/module-runner/runner.ts | 143 +++++++-------- .../module-runner/sourcemap/interceptor.ts | 14 +- packages/vite/src/module-runner/types.ts | 31 ++-- packages/vite/src/node/ssr/fetchModule.ts | 3 +- .../__tests__/server-source-maps.spec.ts | 2 +- packages/vite/src/node/ssr/ssrModuleLoader.ts | 38 ++-- 11 files changed, 270 insertions(+), 313 deletions(-) create mode 100644 packages/vite/src/module-runner/evaluatedModules.ts delete mode 100644 packages/vite/src/module-runner/moduleCache.ts diff --git a/docs/guide/api-environment.md b/docs/guide/api-environment.md index 470ce35b55cf35..70b9585eaa9aab 100644 --- a/docs/guide/api-environment.md +++ b/docs/guide/api-environment.md @@ -644,7 +644,7 @@ export class ModuleRunner { The module evaluator in `ModuleRunner` is responsible for executing the code. Vite exports `ESModulesEvaluator` out of the box, it uses `new AsyncFunction` to evaluate the code. You can provide your own implementation if your JavaScript runtime doesn't support unsafe evaluation. -Module runner exposes `import` method. When Vite server triggers `full-reload` HMR event, all affected modules will be re-executed. Be aware that Module Runner doesn't update `exports` object when this happens (it overrides it), you would need to run `import` or get the module from `moduleCache` again if you rely on having the latest `exports` object. +Module runner exposes `import` method. When Vite server triggers `full-reload` HMR event, all affected modules will be re-executed. Be aware that Module Runner doesn't update `exports` object when this happens (it overrides it), you would need to run `import` or get the module from `evaluatedModules` again if you rely on having the latest `exports` object. **Example Usage:** @@ -704,7 +704,7 @@ export interface ModuleRunnerOptions { /** * Custom module cache. If not provided, it creates a separate module cache for each module runner instance. */ - moduleCache?: ModuleCacheMap + evaluatedModules?: EvaluatedModules } ``` diff --git a/packages/vite/src/module-runner/evaluatedModules.ts b/packages/vite/src/module-runner/evaluatedModules.ts new file mode 100644 index 00000000000000..51902964cd2e28 --- /dev/null +++ b/packages/vite/src/module-runner/evaluatedModules.ts @@ -0,0 +1,147 @@ +import { cleanUrl, isWindows, slash, unwrapId } from '../shared/utils' +import { SOURCEMAPPING_URL } from '../shared/constants' +import { decodeBase64 } from './utils' +import { DecodedMap } from './sourcemap/decoder' +import type { ResolvedResult } from './types' + +const MODULE_RUNNER_SOURCEMAPPING_REGEXP = new RegExp( + `//# ${SOURCEMAPPING_URL}=data:application/json;base64,(.+)`, +) + +export class EvaluatedModuleNode { + public importers = new Set() + public imports = new Set() + public evaluated = false + public meta: ResolvedResult | undefined + public promise: Promise | undefined + public exports: any | undefined + public file: string + public map: DecodedMap | undefined + + constructor( + public id: string, + public url: string, + ) { + this.file = cleanUrl(id) + } +} + +export class EvaluatedModules { + public readonly idToModuleMap = new Map() + public readonly fileToModulesMap = new Map>() + public readonly urlToIdModuleMap = new Map() + + /** + * Returns the module node by the resolved module ID. Usually, module ID is + * the file system path with query and/or hash. It can also be a virtual module. + * + * Module runner graph will have 1 to 1 mapping with the server module graph. + * @param id Resolved module ID + */ + public getModuleById(id: string): EvaluatedModuleNode | undefined { + return this.idToModuleMap.get(id) + } + + /** + * Returns all modules related to the file system path. Different modules + * might have different query parameters or hash, so it's possible to have + * multiple modules for the same file. + * @param file The file system path of the module + */ + public getModulesByFile(file: string): Set | undefined { + return this.fileToModulesMap.get(file) + } + + /** + * Returns the module node by the URL that was used in the import statement. + * Unlike module graph on the server, the URL is not resolved and is used as is. + * @param url Server URL that was used in the import statement + */ + public getModuleByUrl(url: string): EvaluatedModuleNode | undefined { + return this.urlToIdModuleMap.get(unwrapId(url)) + } + + /** + * Ensure that module is in the graph. If the module is already in the graph, + * it will return the existing module node. Otherwise, it will create a new + * module node and add it to the graph. + * @param id Resolved module ID + * @param url URL that was used in the import statement + */ + public ensureModule(id: string, url: string): EvaluatedModuleNode { + id = normalizeModuleId(id) + if (this.idToModuleMap.has(id)) { + const moduleNode = this.idToModuleMap.get(id)! + this.urlToIdModuleMap.set(url, moduleNode) + return moduleNode + } + const moduleNode = new EvaluatedModuleNode(id, url) + this.idToModuleMap.set(id, moduleNode) + this.urlToIdModuleMap.set(url, moduleNode) + + const fileModules = this.fileToModulesMap.get(moduleNode.file) || new Set() + fileModules.add(moduleNode) + this.fileToModulesMap.set(moduleNode.file, fileModules) + return moduleNode + } + + public invalidateModule(node: EvaluatedModuleNode): void { + node.evaluated = false + node.meta = undefined + node.map = undefined + node.promise = undefined + node.exports = undefined + // remove imports in case they are changed, + // don't remove the importers because otherwise it will be empty after evaluation + // this can create a bug when file was removed but it still triggers full-reload + // we are fine with the bug for now because it's not a common case + node.imports.clear() + } + + /** + * Extracts the inlined source map from the module code and returns the decoded + * source map. If the source map is not inlined, it will return null. + * @param id Resolved module ID + */ + getModuleSourceMapById(id: string): DecodedMap | null { + const mod = this.getModuleById(id) + if (!mod) return null + if (mod.map) return mod.map + if (!mod.meta || !('code' in mod.meta)) return null + const mapString = MODULE_RUNNER_SOURCEMAPPING_REGEXP.exec( + mod.meta.code, + )?.[1] + if (!mapString) return null + mod.map = new DecodedMap(JSON.parse(decodeBase64(mapString)), mod.file) + return mod.map + } + + public clear(): void { + this.idToModuleMap.clear() + this.fileToModulesMap.clear() + this.urlToIdModuleMap.clear() + } +} + +// unique id that is not available as "$bare_import" like "test" +const prefixedBuiltins = new Set(['node:test', 'node:sqlite']) + +// transform file url to id +// virtual:custom -> virtual:custom +// \0custom -> \0custom +// /root/id -> /id +// /root/id.js -> /id.js +// C:/root/id.js -> /id.js +// C:\root\id.js -> /id.js +function normalizeModuleId(file: string): string { + if (prefixedBuiltins.has(file)) return file + + // unix style, but Windows path still starts with the drive letter to check the root + const unixFile = slash(file) + .replace(/^\/@fs\//, isWindows ? '' : '/') + .replace(/^node:/, '') + .replace(/^\/+/, '/') + + // if it's not in the root, keep it as a path, not a URL + return unixFile.replace(/^file:\//, '/') +} diff --git a/packages/vite/src/module-runner/hmrHandler.ts b/packages/vite/src/module-runner/hmrHandler.ts index eeed2f521cd55a..c75407b6ec2e61 100644 --- a/packages/vite/src/module-runner/hmrHandler.ts +++ b/packages/vite/src/module-runner/hmrHandler.ts @@ -43,21 +43,21 @@ export async function handleHotPayload( } case 'full-reload': { const { triggeredBy } = payload - const clearEntrypoints = triggeredBy + const clearEntrypointUrls = triggeredBy ? getModulesEntrypoints( runner, getModulesByFile(runner, slash(triggeredBy)), ) : findAllEntrypoints(runner) - if (!clearEntrypoints.size) break + if (!clearEntrypointUrls.size) break hmrClient.logger.debug(`program reload`) await hmrClient.notifyListeners('vite:beforeFullReload', payload) - runner.moduleCache.clear() + runner.evaluatedModules.clear() - for (const id of clearEntrypoints) { - await runner.import(id) + for (const url of clearEntrypointUrls) { + await runner.import(url) } break } @@ -120,14 +120,12 @@ class Queue { } } -function getModulesByFile(runner: ModuleRunner, file: string) { - const modules: string[] = [] - for (const [id, mod] of runner.moduleCache.entries()) { - if (mod.meta && 'file' in mod.meta && mod.meta.file === file) { - modules.push(id) - } +function getModulesByFile(runner: ModuleRunner, file: string): string[] { + const nodes = runner.evaluatedModules.getModulesByFile(file) + if (!nodes) { + return [] } - return modules + return [...nodes].map((node) => node.id) } function getModulesEntrypoints( @@ -139,9 +137,12 @@ function getModulesEntrypoints( for (const moduleId of modules) { if (visited.has(moduleId)) continue visited.add(moduleId) - const module = runner.moduleCache.getByModuleId(moduleId) + const module = runner.evaluatedModules.getModuleById(moduleId) + if (!module) { + continue + } if (module.importers && !module.importers.size) { - entrypoints.add(moduleId) + entrypoints.add(module.url) continue } for (const importer of module.importers || []) { @@ -155,9 +156,9 @@ function findAllEntrypoints( runner: ModuleRunner, entrypoints = new Set(), ): Set { - for (const [id, mod] of runner.moduleCache.entries()) { + for (const mod of runner.evaluatedModules.idToModuleMap.values()) { if (mod.importers && !mod.importers.size) { - entrypoints.add(id) + entrypoints.add(mod.url) } } return entrypoints diff --git a/packages/vite/src/module-runner/index.ts b/packages/vite/src/module-runner/index.ts index 836b261a8b8687..7130795f862767 100644 --- a/packages/vite/src/module-runner/index.ts +++ b/packages/vite/src/module-runner/index.ts @@ -1,6 +1,6 @@ // this file should re-export only things that don't rely on Node.js or other runner features -export { ModuleCacheMap } from './moduleCache' +export { EvaluatedModules, type EvaluatedModuleNode } from './evaluatedModules' export { ModuleRunner } from './runner' export { ESModulesEvaluator } from './esmEvaluator' export { RemoteRunnerTransport } from './runnerTransport' @@ -10,7 +10,6 @@ export type { HMRLogger, HMRConnection } from '../shared/hmr' export type { ModuleEvaluator, ModuleRunnerContext, - ModuleCache, FetchResult, FetchFunction, FetchFunctionOptions, diff --git a/packages/vite/src/module-runner/moduleCache.ts b/packages/vite/src/module-runner/moduleCache.ts deleted file mode 100644 index 9c5c188e3da8cc..00000000000000 --- a/packages/vite/src/module-runner/moduleCache.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { isWindows, slash, withTrailingSlash } from '../shared/utils' -import { SOURCEMAPPING_URL } from '../shared/constants' -import { decodeBase64 } from './utils' -import { DecodedMap } from './sourcemap/decoder' -import type { ModuleCache } from './types' - -const MODULE_RUNNER_SOURCEMAPPING_REGEXP = new RegExp( - `//# ${SOURCEMAPPING_URL}=data:application/json;base64,(.+)`, -) - -export class ModuleCacheMap extends Map { - private root: string - - constructor(root: string, entries?: [string, ModuleCache][]) { - super(entries) - this.root = withTrailingSlash(root) - } - - normalize(fsPath: string): string { - return normalizeModuleId(fsPath, this.root) - } - - /** - * Assign partial data to the map - */ - update(fsPath: string, mod: ModuleCache): this { - fsPath = this.normalize(fsPath) - if (!super.has(fsPath)) this.setByModuleId(fsPath, mod) - else Object.assign(super.get(fsPath)!, mod) - return this - } - - setByModuleId(modulePath: string, mod: ModuleCache): this { - return super.set(modulePath, mod) - } - - override set(fsPath: string, mod: ModuleCache): this { - return this.setByModuleId(this.normalize(fsPath), mod) - } - - getByModuleId(modulePath: string): ModuleCache { - if (!super.has(modulePath)) this.setByModuleId(modulePath, {}) - - const mod = super.get(modulePath)! - if (!mod.imports) { - Object.assign(mod, { - imports: new Set(), - importers: new Set(), - timestamp: 0, - }) - } - return mod - } - - override get(fsPath: string): ModuleCache { - return this.getByModuleId(this.normalize(fsPath)) - } - - deleteByModuleId(modulePath: string): boolean { - return super.delete(modulePath) - } - - override delete(fsPath: string): boolean { - return this.deleteByModuleId(this.normalize(fsPath)) - } - - invalidateUrl(id: string): void { - const module = this.get(id) - this.invalidateModule(module) - } - - invalidateModule(module: ModuleCache): void { - module.evaluated = false - module.meta = undefined - module.map = undefined - module.promise = undefined - module.exports = undefined - // remove imports in case they are changed, - // don't remove the importers because otherwise it will be empty after evaluation - // this can create a bug when file was removed but it still triggers full-reload - // we are fine with the bug for now because it's not a common case - module.imports?.clear() - } - - /** - * Invalidate modules that dependent on the given modules, up to the main entry - */ - invalidateDepTree( - ids: string[] | Set, - invalidated = new Set(), - ): Set { - for (const _id of ids) { - const id = this.normalize(_id) - if (invalidated.has(id)) continue - invalidated.add(id) - const mod = super.get(id) - if (mod?.importers) this.invalidateDepTree(mod.importers, invalidated) - this.invalidateUrl(id) - } - return invalidated - } - - /** - * Invalidate dependency modules of the given modules, down to the bottom-level dependencies - */ - invalidateSubDepTree( - ids: string[] | Set, - invalidated = new Set(), - ): Set { - for (const _id of ids) { - const id = this.normalize(_id) - if (invalidated.has(id)) continue - invalidated.add(id) - const subIds = Array.from(super.entries()) - .filter(([, mod]) => mod.importers?.has(id)) - .map(([key]) => key) - if (subIds.length) { - this.invalidateSubDepTree(subIds, invalidated) - } - super.delete(id) - } - return invalidated - } - - getSourceMap(moduleId: string): null | DecodedMap { - const mod = this.get(moduleId) - if (mod.map) return mod.map - if (!mod.meta || !('code' in mod.meta)) return null - const mapString = MODULE_RUNNER_SOURCEMAPPING_REGEXP.exec( - mod.meta.code, - )?.[1] - if (!mapString) return null - const baseFile = mod.meta.file || moduleId.split('?')[0] - mod.map = new DecodedMap(JSON.parse(decodeBase64(mapString)), baseFile) - return mod.map - } -} - -// unique id that is not available as "$bare_import" like "test" -const prefixedBuiltins = new Set(['node:test', 'node:sqlite']) - -// transform file url to id -// virtual:custom -> virtual:custom -// \0custom -> \0custom -// /root/id -> /id -// /root/id.js -> /id.js -// C:/root/id.js -> /id.js -// C:\root\id.js -> /id.js -function normalizeModuleId(file: string, root: string): string { - if (prefixedBuiltins.has(file)) return file - - // unix style, but Windows path still starts with the drive letter to check the root - let unixFile = slash(file) - .replace(/^\/@fs\//, isWindows ? '' : '/') - .replace(/^node:/, '') - .replace(/^\/+/, '/') - - if (unixFile.startsWith(root)) { - // keep slash - unixFile = unixFile.slice(root.length - 1) - } - - // if it's not in the root, keep it as a path, not a URL - return unixFile.replace(/^file:\//, '/') -} diff --git a/packages/vite/src/module-runner/runner.ts b/packages/vite/src/module-runner/runner.ts index 1df16d3ffd094e..4157a031924633 100644 --- a/packages/vite/src/module-runner/runner.ts +++ b/packages/vite/src/module-runner/runner.ts @@ -1,10 +1,10 @@ import type { ViteHotContext } from 'types/hot' import { HMRClient, HMRContext } from '../shared/hmr' -import { cleanUrl, isPrimitive, isWindows, unwrapId } from '../shared/utils' +import { cleanUrl, isPrimitive, isWindows } from '../shared/utils' import { analyzeImportedModDifference } from '../shared/ssrTransform' -import { ModuleCacheMap } from './moduleCache' +import type { EvaluatedModuleNode } from './evaluatedModules' +import { EvaluatedModules } from './evaluatedModules' import type { - ModuleCache, ModuleEvaluator, ModuleRunnerContext, ModuleRunnerImportMeta, @@ -36,15 +36,9 @@ interface ModuleRunnerDebugger { } export class ModuleRunner { - /** - * Holds the cache of modules - * Keys of the map are ids - */ - public moduleCache: ModuleCacheMap + public evaluatedModules: EvaluatedModules public hmrClient?: HMRClient - private readonly urlToIdMap = new Map() - private readonly fileToIdMap = new Map() private readonly envProxy = new Proxy({} as any, { get(_, p) { throw new Error( @@ -55,7 +49,10 @@ export class ModuleRunner { private readonly transport: RunnerTransport private readonly resetSourceMapSupport?: () => void private readonly root: string - private readonly moduleInfoCache = new Map>() + private readonly concurrentModuleNodePromises = new Map< + string, + Promise + >() private destroyed = false @@ -66,7 +63,7 @@ export class ModuleRunner { ) { const root = this.options.root this.root = root[root.length - 1] === '/' ? root : `${root}/` - this.moduleCache = options.moduleCache ?? new ModuleCacheMap(options.root) + this.evaluatedModules = options.evaluatedModules ?? new EvaluatedModules() this.transport = options.transport if (typeof options.hmr === 'object') { this.hmrClient = new HMRClient( @@ -95,8 +92,7 @@ export class ModuleRunner { * Clear all caches including HMR listeners. */ public clearCache(): void { - this.moduleCache.clear() - this.urlToIdMap.clear() + this.evaluatedModules.clear() this.hmrClient?.clear() } @@ -126,13 +122,13 @@ export class ModuleRunner { if (!('externalize' in fetchResult)) { return exports } - const { url: id, type } = fetchResult + const { url, type } = fetchResult if (type !== 'module' && type !== 'commonjs') return exports - analyzeImportedModDifference(exports, id, type, metadata) + analyzeImportedModDifference(exports, url, type, metadata) return exports } - private isCircularModule(mod: Required) { + private isCircularModule(mod: EvaluatedModuleNode) { for (const importedFile of mod.imports) { if (mod.importers.has(importedFile)) { return true @@ -154,10 +150,9 @@ export class ModuleRunner { if (importer === moduleUrl) { return true } - const mod = this.moduleCache.getByModuleId( - importer, - ) as Required + const mod = this.evaluatedModules.getModuleById(importer) if ( + mod && mod.importers.size && this.isCircularImport(mod.importers, moduleUrl, visited) ) { @@ -168,14 +163,13 @@ export class ModuleRunner { } private async cachedRequest( - id: string, - mod_: ModuleCache, + url: string, + mod: EvaluatedModuleNode, callstack: string[] = [], metadata?: SSRImportMetadata, ): Promise { - const mod = mod_ as Required const meta = mod.meta! - const moduleUrl = meta.url + const moduleId = meta.id const { importers } = mod @@ -185,9 +179,9 @@ export class ModuleRunner { // check circular dependency if ( - callstack.includes(moduleUrl) || + callstack.includes(moduleId) || this.isCircularModule(mod) || - this.isCircularImport(importers, moduleUrl) + this.isCircularImport(importers, moduleId) ) { if (mod.exports) return this.processImport(mod.exports, meta, metadata) } @@ -196,13 +190,13 @@ export class ModuleRunner { if (this.debug) { debugTimer = setTimeout(() => { const getStack = () => - `stack:\n${[...callstack, moduleUrl] + `stack:\n${[...callstack, moduleId] .reverse() .map((p) => ` - ${p}`) .join('\n')}` this.debug!( - `[module runner] module ${moduleUrl} takes over 2s to load.\n${getStack()}`, + `[module runner] module ${moduleId} takes over 2s to load.\n${getStack()}`, ) }, 2000) } @@ -212,7 +206,7 @@ export class ModuleRunner { if (mod.promise) return this.processImport(await mod.promise, meta, metadata) - const promise = this.directRequest(id, mod, callstack) + const promise = this.directRequest(url, mod, callstack) mod.promise = promise mod.evaluated = false return this.processImport(await promise, meta, metadata) @@ -222,23 +216,21 @@ export class ModuleRunner { } } - private async cachedModule(url: string, importer?: string) { + private async cachedModule( + url: string, + importer?: string, + ): Promise { url = normalizeAbsoluteUrl(url, this.root) - const normalized = this.urlToIdMap.get(url) - let cachedModule = normalized && this.moduleCache.getByModuleId(normalized) - if (!cachedModule) { - cachedModule = this.moduleCache.getByModuleId(url) - } - - let cached = this.moduleInfoCache.get(url) + let cached = this.concurrentModuleNodePromises.get(url) if (!cached) { + const cachedModule = this.evaluatedModules.getModuleByUrl(url) cached = this.getModuleInformation(url, importer, cachedModule).finally( () => { - this.moduleInfoCache.delete(url) + this.concurrentModuleNodePromises.delete(url) }, ) - this.moduleInfoCache.set(url, cached) + this.concurrentModuleNodePromises.set(url, cached) } else { this.debug?.('[module runner] using cached module info for', url) } @@ -249,8 +241,8 @@ export class ModuleRunner { private async getModuleInformation( url: string, importer: string | undefined, - cachedModule: ModuleCache | undefined, - ): Promise { + cachedModule: EvaluatedModuleNode | undefined, + ): Promise { if (this.destroyed) { throw new Error(`Vite module runner has been destroyed.`) } @@ -278,60 +270,48 @@ export class ModuleRunner { return cachedModule } - // base moduleId on "file" and not on id - // if `import(variable)` is called it's possible that it doesn't have an extension for example - // if we used id for that, then a module will be duplicated - const idQuery = url.split('?')[1] - const query = idQuery ? `?${idQuery}` : '' - const file = 'file' in fetchedModule ? fetchedModule.file : undefined - const fileId = file ? `${file}${query}` : url - const moduleUrl = this.moduleCache.normalize(fileId) - const mod = this.moduleCache.getByModuleId(moduleUrl) + const moduleId = + 'externalize' in fetchedModule + ? fetchedModule.externalize + : fetchedModule.id + const moduleUrl = 'url' in fetchedModule ? fetchedModule.url : url + const module = this.evaluatedModules.ensureModule(moduleId, moduleUrl) if ('invalidate' in fetchedModule && fetchedModule.invalidate) { - this.moduleCache.invalidateModule(mod) + this.evaluatedModules.invalidateModule(module) } fetchedModule.url = moduleUrl - mod.meta = fetchedModule + fetchedModule.id = moduleId + module.meta = fetchedModule - if (file) { - const fileModules = this.fileToIdMap.get(file) || [] - fileModules.push(moduleUrl) - this.fileToIdMap.set(file, fileModules) - } - - this.urlToIdMap.set(url, moduleUrl) - this.urlToIdMap.set(unwrapId(url), moduleUrl) - return mod + return module } // override is allowed, consider this a public API protected async directRequest( - id: string, - mod: ModuleCache, + url: string, + mod: EvaluatedModuleNode, _callstack: string[], ): Promise { const fetchResult = mod.meta! - const moduleUrl = fetchResult.url - const callstack = [..._callstack, moduleUrl] + const moduleId = fetchResult.id + const callstack = [..._callstack, moduleId] const request = async (dep: string, metadata?: SSRImportMetadata) => { - const importer = ('file' in fetchResult && fetchResult.file) || moduleUrl - const fetchedModule = await this.cachedModule(dep, importer) - const resolvedId = fetchedModule.meta!.url - const depMod = this.moduleCache.getByModuleId(resolvedId) - depMod.importers!.add(moduleUrl) - mod.imports!.add(resolvedId) - - return this.cachedRequest(dep, fetchedModule, callstack, metadata) + const importer = ('file' in fetchResult && fetchResult.file) || moduleId + const depMod = await this.cachedModule(dep, importer) + depMod.importers.add(moduleId) + mod.imports.add(depMod.id) + + return this.cachedRequest(dep, depMod, callstack, metadata) } const dynamicRequest = async (dep: string) => { // it's possible to provide an object with toString() method inside import() dep = String(dep) if (dep[0] === '.') { - dep = posixResolve(posixDirname(id), dep) + dep = posixResolve(posixDirname(url), dep) } return request(dep, { isDynamicImport: true }) } @@ -349,13 +329,13 @@ export class ModuleRunner { if (code == null) { const importer = callstack[callstack.length - 2] throw new Error( - `[module runner] Failed to load "${id}"${ + `[module runner] Failed to load "${url}"${ importer ? ` imported from ${importer}` : '' }`, ) } - const modulePath = cleanUrl(file || moduleUrl) + const modulePath = cleanUrl(file || moduleId) // disambiguate the `:/` on windows: see nodejs/node#31710 const href = posixPathToFileHref(modulePath) const filename = modulePath @@ -372,7 +352,10 @@ export class ModuleRunner { }, // should be replaced during transformation glob() { - throw new Error('[module runner] "import.meta.glob" is not supported.') + throw new Error( + `[module runner] "import.meta.glob" is statically replaced during ` + + `file transformation. Make sure to reference it by the full name.`, + ) }, } const exports = Object.create(null) @@ -392,8 +375,8 @@ export class ModuleRunner { if (!this.hmrClient) { throw new Error(`[module runner] HMR client was destroyed.`) } - this.debug?.('[module runner] creating hmr context for', moduleUrl) - hotContext ||= new HMRContext(this.hmrClient, moduleUrl) + this.debug?.('[module runner] creating hmr context for', mod.url) + hotContext ||= new HMRContext(this.hmrClient, mod.url) return hotContext }, set: (value) => { @@ -412,7 +395,7 @@ export class ModuleRunner { this.debug?.('[module runner] executing', href) - await this.evaluator.runInlinedModule(context, code, id) + await this.evaluator.runInlinedModule(context, code, mod) return exports } diff --git a/packages/vite/src/module-runner/sourcemap/interceptor.ts b/packages/vite/src/module-runner/sourcemap/interceptor.ts index 1041e6b7276459..eb4f41f83e68a2 100644 --- a/packages/vite/src/module-runner/sourcemap/interceptor.ts +++ b/packages/vite/src/module-runner/sourcemap/interceptor.ts @@ -1,7 +1,7 @@ import type { OriginalMapping } from '@jridgewell/trace-mapping' import type { ModuleRunner } from '../runner' import { posixDirname, posixResolve } from '../utils' -import type { ModuleCacheMap } from '../moduleCache' +import type { EvaluatedModules } from '../evaluatedModules' import { slash } from '../../shared/utils' import { DecodedMap, getOriginalPosition } from './decoder' @@ -21,7 +21,7 @@ export interface InterceptorOptions { const sourceMapCache: Record = {} const fileContentsCache: Record = {} -const moduleGraphs = new Set() +const evaluatedModulesCache = new Set() const retrieveFileHandlers = new Set() const retrieveSourceMapHandlers = new Set() @@ -46,11 +46,11 @@ let overridden = false const originalPrepare = Error.prepareStackTrace function resetInterceptor(runner: ModuleRunner, options: InterceptorOptions) { - moduleGraphs.delete(runner.moduleCache) + evaluatedModulesCache.delete(runner.evaluatedModules) if (options.retrieveFile) retrieveFileHandlers.delete(options.retrieveFile) if (options.retrieveSourceMap) retrieveSourceMapHandlers.delete(options.retrieveSourceMap) - if (moduleGraphs.size === 0) { + if (evaluatedModulesCache.size === 0) { Error.prepareStackTrace = originalPrepare overridden = false } @@ -64,7 +64,7 @@ export function interceptStackTrace( Error.prepareStackTrace = prepareStackTrace overridden = true } - moduleGraphs.add(runner.moduleCache) + evaluatedModulesCache.add(runner.evaluatedModules) if (options.retrieveFile) retrieveFileHandlers.add(options.retrieveFile) if (options.retrieveSourceMap) retrieveSourceMapHandlers.add(options.retrieveSourceMap) @@ -102,8 +102,8 @@ function supportRelativeURL(file: string, url: string) { } function getRunnerSourceMap(position: OriginalMapping): CachedMapEntry | null { - for (const moduleCache of moduleGraphs) { - const sourceMap = moduleCache.getSourceMap(position.source!) + for (const moduleGraph of evaluatedModulesCache) { + const sourceMap = moduleGraph.getModuleSourceMapById(position.source!) if (sourceMap) { return { url: position.source, diff --git a/packages/vite/src/module-runner/types.ts b/packages/vite/src/module-runner/types.ts index 18ac314cbf1e95..70bda14adc96de 100644 --- a/packages/vite/src/module-runner/types.ts +++ b/packages/vite/src/module-runner/types.ts @@ -5,7 +5,7 @@ import type { DefineImportMetadata, SSRImportMetadata, } from '../shared/ssrTransform' -import type { ModuleCacheMap } from './moduleCache' +import type { EvaluatedModuleNode, EvaluatedModules } from './evaluatedModules' import type { ssrDynamicImportKey, ssrExportAllKey, @@ -13,7 +13,6 @@ import type { ssrImportMetaKey, ssrModuleExportsKey, } from './constants' -import type { DecodedMap } from './sourcemap/decoder' import type { InterceptorOptions } from './sourcemap/interceptor' import type { RunnerTransport } from './runnerTransport' @@ -54,12 +53,12 @@ export interface ModuleEvaluator { * Run code that was transformed by Vite. * @param context Function context * @param code Transformed code - * @param id ID that was used to fetch the module + * @param module The module node */ runInlinedModule( context: ModuleRunnerContext, code: string, - id: string, + module: Readonly, ): Promise /** * Run externalized module. @@ -68,19 +67,6 @@ export interface ModuleEvaluator { runExternalModule(file: string): Promise } -export interface ModuleCache { - promise?: Promise - exports?: any - evaluated?: boolean - map?: DecodedMap - meta?: ResolvedResult - /** - * Module ids that imports this module - */ - importers?: Set - imports?: Set -} - export type FetchResult = | CachedFetchResult | ExternalFetchResult @@ -105,7 +91,7 @@ export interface ExternalFetchResult { * Type of the module. Will be used to determine if import statement is correct. * For example, if Vite needs to throw an error if variable is not actually exported */ - type?: 'module' | 'commonjs' | 'builtin' | 'network' + type: 'module' | 'commonjs' | 'builtin' | 'network' } export interface ViteFetchResult { @@ -123,7 +109,11 @@ export interface ViteFetchResult { /** * Module ID in the server module graph. */ - serverId: string + id: string + /** + * Module URL used in the import. + */ + url: string /** * Invalidate module on the client side. */ @@ -132,6 +122,7 @@ export interface ViteFetchResult { export type ResolvedResult = (ExternalFetchResult | ViteFetchResult) & { url: string + id: string } export type FetchFunction = ( @@ -182,7 +173,7 @@ export interface ModuleRunnerOptions { /** * Custom module cache. If not provided, creates a separate module cache for each ModuleRunner instance. */ - moduleCache?: ModuleCacheMap + evaluatedModules?: EvaluatedModules } export interface ImportMetaEnv { diff --git a/packages/vite/src/node/ssr/fetchModule.ts b/packages/vite/src/node/ssr/fetchModule.ts index 8cf533906419b4..4e04718ecbe903 100644 --- a/packages/vite/src/node/ssr/fetchModule.ts +++ b/packages/vite/src/node/ssr/fetchModule.ts @@ -137,7 +137,8 @@ export async function fetchModule( return { code: result.code, file: mod.file, - serverId: mod.id!, + id: mod.id!, + url: mod.url, invalidate: !cached, } } diff --git a/packages/vite/src/node/ssr/runtime/__tests__/server-source-maps.spec.ts b/packages/vite/src/node/ssr/runtime/__tests__/server-source-maps.spec.ts index ece2fc12242753..758072f25a83be 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/server-source-maps.spec.ts +++ b/packages/vite/src/node/ssr/runtime/__tests__/server-source-maps.spec.ts @@ -52,7 +52,7 @@ describe('module runner initialization', async () => { resolvePath(import.meta.url, './fixtures/throws-error-method.ts'), (code) => '\n\n\n\n\n' + code + '\n', ) - runner.moduleCache.clear() + runner.evaluatedModules.clear() server.environments.ssr.moduleGraph.invalidateAll() const methodErrorNew = await getError(async () => { diff --git a/packages/vite/src/node/ssr/ssrModuleLoader.ts b/packages/vite/src/node/ssr/ssrModuleLoader.ts index aa155ad35d29bb..c60c03d4f8819a 100644 --- a/packages/vite/src/node/ssr/ssrModuleLoader.ts +++ b/packages/vite/src/node/ssr/ssrModuleLoader.ts @@ -1,8 +1,9 @@ import colors from 'picocolors' -import type { ModuleCache } from 'vite/module-runner' +import type { EvaluatedModuleNode } from 'vite/module-runner' import { ESModulesEvaluator, ModuleRunner } from 'vite/module-runner' import type { ViteDevServer } from '../server' import { unwrapId } from '../../shared/utils' +import type { DevEnvironment } from '../server/environment' import { ssrFixStacktrace } from './ssrStacktrace' type SSRModule = Record @@ -12,13 +13,14 @@ export async function ssrLoadModule( server: ViteDevServer, fixStacktrace?: boolean, ): Promise { - server._ssrCompatModuleRunner ||= new SSRCompatModuleRunner(server) + const environment = server.environments.ssr + server._ssrCompatModuleRunner ||= new SSRCompatModuleRunner(environment) url = unwrapId(url) return instantiateModule( url, server._ssrCompatModuleRunner, - server, + environment, fixStacktrace, ) } @@ -26,10 +28,9 @@ export async function ssrLoadModule( async function instantiateModule( url: string, runner: ModuleRunner, - server: ViteDevServer, + environment: DevEnvironment, fixStacktrace?: boolean, ): Promise { - const environment = server.environments.ssr const mod = await environment.moduleGraph.ensureEntryFromUrl(url) if (mod.ssrError) { @@ -47,7 +48,7 @@ async function instantiateModule( colors.red(`Error when evaluating SSR module ${url}:\n|- ${e.stack}\n`), { timestamp: true, - clear: server.config.clearScreen, + clear: environment.config.clearScreen, error: e, }, ) @@ -57,13 +58,13 @@ async function instantiateModule( } class SSRCompatModuleRunner extends ModuleRunner { - constructor(private server: ViteDevServer) { + constructor(private environment: DevEnvironment) { super( { - root: server.environments.ssr.config.root, + root: environment.config.root, transport: { fetchModule: (id, importer, options) => - server.environments.ssr.fetchModule(id, importer, options), + environment.fetchModule(id, importer, options), }, sourcemapInterceptor: false, hmr: false, @@ -73,25 +74,24 @@ class SSRCompatModuleRunner extends ModuleRunner { } protected override async directRequest( - id: string, - mod: ModuleCache, - _callstack: string[], + url: string, + mod: EvaluatedModuleNode, + callstack: string[], ): Promise { - const serverId = mod.meta && 'serverId' in mod.meta && mod.meta.serverId + const id = mod.meta && 'id' in mod.meta && mod.meta.id // serverId doesn't exist for external modules - if (!serverId) { - return super.directRequest(id, mod, _callstack) + if (!id) { + return super.directRequest(url, mod, callstack) } - const viteMod = - this.server.environments.ssr.moduleGraph.getModuleById(serverId) + const viteMod = this.environment.moduleGraph.getModuleById(id) if (!viteMod) { - return super.directRequest(id, mod, _callstack) + return super.directRequest(id, mod, callstack) } try { - const exports = await super.directRequest(id, mod, _callstack) + const exports = await super.directRequest(id, mod, callstack) viteMod.ssrModule = exports return exports } catch (err) { From c8aea5ae0af90dc6796ef3bdd612d1eb819f157b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 25 Sep 2024 16:09:54 +0200 Subject: [PATCH 013/147] fix(deps): update all non-major dependencies (#18170) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- docs/package.json | 4 +- package.json | 18 +- .../create-vite/template-lit-ts/package.json | 2 +- .../create-vite/template-lit/package.json | 2 +- .../template-preact-ts/package.json | 4 +- .../create-vite/template-preact/package.json | 4 +- .../create-vite/template-qwik-ts/package.json | 4 +- .../create-vite/template-qwik/package.json | 4 +- .../template-react-ts/package.json | 10 +- .../create-vite/template-react/package.json | 8 +- .../template-solid-ts/package.json | 4 +- .../create-vite/template-solid/package.json | 4 +- .../template-svelte-ts/package.json | 2 +- .../create-vite/template-svelte/package.json | 2 +- .../template-vanilla-ts/package.json | 2 +- .../create-vite/template-vanilla/package.json | 2 +- .../create-vite/template-vue-ts/package.json | 6 +- .../create-vite/template-vue/package.json | 6 +- packages/plugin-legacy/package.json | 2 +- packages/vite/package.json | 16 +- .../node/ssr/__tests__/ssrTransform.spec.ts | 24 +- packages/vite/src/node/ssr/ssrTransform.ts | 66 +- playground/alias/package.json | 4 +- playground/backend-integration/package.json | 4 +- .../config/packages/siblings/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/package.json | 2 +- playground/environment-react-ssr/package.json | 2 +- playground/extensions/package.json | 2 +- .../external/dep-that-imports/package.json | 2 +- .../external/dep-that-requires/package.json | 2 +- playground/external/package.json | 2 +- playground/json/package.json | 2 +- playground/legacy/package.json | 2 +- playground/multiple-entrypoints/package.json | 2 +- playground/object-hooks/package.json | 2 +- .../optimize-deps-no-discovery/package.json | 2 +- playground/optimize-deps/package.json | 2 +- playground/preload/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- playground/tailwind-sourcemap/package.json | 2 +- playground/tailwind/package.json | 4 +- pnpm-lock.yaml | 1148 +++++++++-------- 43 files changed, 745 insertions(+), 645 deletions(-) diff --git a/docs/package.json b/docs/package.json index 55b2d2d5ded1fb..8c6fb48e5fc13f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,11 +8,11 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.17.7", + "@shikijs/vitepress-twoslash": "^1.18.0", "@types/express": "^4.17.21", "feed": "^4.2.2", "vitepress": "1.3.4", "vitepress-plugin-group-icons": "^1.2.4", - "vue": "^3.5.6" + "vue": "^3.5.8" } } diff --git a/package.json b/package.json index e7f20afab79a07..f7f9b610c2e50a 100644 --- a/package.json +++ b/package.json @@ -40,32 +40,32 @@ "ci-docs": "pnpm build && pnpm docs-build" }, "devDependencies": { - "@eslint/js": "^9.10.0", + "@eslint/js": "^9.11.1", "@type-challenges/utils": "^0.1.1", "@types/babel__core": "^7.20.5", "@types/babel__preset-env": "^7.9.7", "@types/convert-source-map": "^2.0.3", "@types/cross-spawn": "^6.0.6", "@types/debug": "^4.1.12", - "@types/estree": "^1.0.5", + "@types/estree": "^1.0.6", "@types/etag": "^1.8.3", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.9", - "@types/node": "^20.16.5", + "@types/node": "^20.16.7", "@types/picomatch": "^3.0.1", "@types/stylus": "^0.48.43", "@types/ws": "^8.5.12", "@vitejs/release-scripts": "^1.3.2", "conventional-changelog-cli": "^5.0.0", - "eslint": "^9.10.0", - "eslint-plugin-import-x": "^4.2.1", - "eslint-plugin-n": "^17.10.2", + "eslint": "^9.11.1", + "eslint-plugin-import-x": "^4.3.0", + "eslint-plugin-n": "^17.10.3", "eslint-plugin-regexp": "^2.6.0", "execa": "^9.4.0", "globals": "^15.9.0", "lint-staged": "^15.2.10", "picocolors": "^1.1.0", - "playwright-chromium": "^1.47.1", + "playwright-chromium": "^1.47.2", "prettier": "3.3.3", "rimraf": "^5.0.10", "rollup": "^4.20.0", @@ -74,7 +74,7 @@ "tslib": "^2.7.0", "tsx": "^4.19.1", "typescript": "^5.5.3", - "typescript-eslint": "^8.6.0", + "typescript-eslint": "^8.7.0", "vite": "workspace:*", "vitest": "^2.1.1" }, @@ -95,7 +95,7 @@ "eslint --cache --fix" ] }, - "packageManager": "pnpm@9.10.0", + "packageManager": "pnpm@9.11.0", "pnpm": { "overrides": { "vite": "workspace:*" diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 95655afa965ab5..f4b64085766415 100644 --- a/packages/create-vite/template-lit-ts/package.json +++ b/packages/create-vite/template-lit-ts/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "typescript": "^5.5.3", - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 667e8a5aebeeee..40bfc9bdc82daf 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.2.0" }, "devDependencies": { - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 00b8a1c4917c77..101904dae7b8d4 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -9,11 +9,11 @@ "preview": "vite preview" }, "dependencies": { - "preact": "^10.24.0" + "preact": "^10.24.1" }, "devDependencies": { "@preact/preset-vite": "^2.9.1", "typescript": "^5.5.3", - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 5410adae25d109..93fff54527199c 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -9,10 +9,10 @@ "preview": "vite preview" }, "dependencies": { - "preact": "^10.24.0" + "preact": "^10.24.1" }, "devDependencies": { "@preact/preset-vite": "^2.9.1", - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 79e71dbf7d53cf..4db323010c8239 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -11,9 +11,9 @@ "devDependencies": { "serve": "^14.2.3", "typescript": "^5.5.3", - "vite": "^5.4.6" + "vite": "^5.4.8" }, "dependencies": { - "@builder.io/qwik": "^1.8.0" + "@builder.io/qwik": "^1.9.0" } } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index da8b3350ab2f11..5fe338e039be3e 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,9 +10,9 @@ }, "devDependencies": { "serve": "^14.2.3", - "vite": "^5.4.6" + "vite": "^5.4.8" }, "dependencies": { - "@builder.io/qwik": "^1.8.0" + "@builder.io/qwik": "^1.9.0" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 7eeeb026e720a3..c5c480b1bd6c0b 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,16 +14,16 @@ "react-dom": "^18.3.1" }, "devDependencies": { - "@eslint/js": "^9.10.0", - "@types/react": "^18.3.6", + "@eslint/js": "^9.11.1", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^9.10.0", + "eslint": "^9.11.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.12", "globals": "^15.9.0", "typescript": "^5.5.3", - "typescript-eslint": "^8.6.0", - "vite": "^5.4.6" + "typescript-eslint": "^8.7.0", + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 57775faf220b21..a5da72d2499aff 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,15 +14,15 @@ "react-dom": "^18.3.1" }, "devDependencies": { - "@eslint/js": "^9.10.0", - "@types/react": "^18.3.6", + "@eslint/js": "^9.11.1", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^9.10.0", + "eslint": "^9.11.1", "eslint-plugin-react": "^7.36.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.12", "globals": "^15.9.0", - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index d0ac3246b85329..dbcc9a6f070c0b 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -9,11 +9,11 @@ "preview": "vite preview" }, "dependencies": { - "solid-js": "^1.8.22" + "solid-js": "^1.9.1" }, "devDependencies": { "typescript": "^5.5.3", - "vite": "^5.4.6", + "vite": "^5.4.8", "vite-plugin-solid": "^2.10.2" } } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index 677061cb81632c..8df82f36fab489 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -9,10 +9,10 @@ "preview": "vite preview" }, "dependencies": { - "solid-js": "^1.8.22" + "solid-js": "^1.9.1" }, "devDependencies": { - "vite": "^5.4.6", + "vite": "^5.4.8", "vite-plugin-solid": "^2.10.2" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index b1b409cb75408b..5aaff6a6673e44 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -16,6 +16,6 @@ "svelte-check": "^4.0.2", "tslib": "^2.7.0", "typescript": "^5.5.3", - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 91054b9d627235..1c741ebdd7c57c 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -11,6 +11,6 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.2", "svelte": "^4.2.19", - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 693f13745666cf..8c06a0443e5161 100644 --- a/packages/create-vite/template-vanilla-ts/package.json +++ b/packages/create-vite/template-vanilla-ts/package.json @@ -10,6 +10,6 @@ }, "devDependencies": { "typescript": "^5.5.3", - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index 87c25150ec2420..f308d58bbc37b4 100644 --- a/packages/create-vite/template-vanilla/package.json +++ b/packages/create-vite/template-vanilla/package.json @@ -9,6 +9,6 @@ "preview": "vite preview" }, "devDependencies": { - "vite": "^5.4.6" + "vite": "^5.4.8" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 5587a922071eed..7aadf1ddfee0d9 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -9,12 +9,12 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.6" + "vue": "^3.5.8" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.1.3", + "@vitejs/plugin-vue": "^5.1.4", "typescript": "^5.5.3", - "vite": "^5.4.6", + "vite": "^5.4.8", "vue-tsc": "^2.1.6" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 0efe64f26b5d4a..99928e33a8614b 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -9,10 +9,10 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.6" + "vue": "^3.5.8" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.1.3", - "vite": "^5.4.6" + "@vitejs/plugin-vue": "^5.1.4", + "vite": "^5.4.8" } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index b574c6ed30ab32..987d186b95757d 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -43,7 +43,7 @@ "dependencies": { "@babel/core": "^7.25.2", "@babel/preset-env": "^7.25.4", - "browserslist": "^4.23.3", + "browserslist": "^4.24.0", "browserslist-to-esbuild": "^2.1.1", "core-js": "^3.38.1", "magic-string": "^0.30.11", diff --git a/packages/vite/package.json b/packages/vite/package.json index 9c4250bfa20323..a3cb2504276b2b 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -97,12 +97,12 @@ "@babel/parser": "^7.25.6", "@jridgewell/trace-mapping": "^0.3.25", "@polka/compression": "^1.0.0-next.25", - "@rollup/plugin-alias": "^5.1.0", - "@rollup/plugin-commonjs": "^26.0.1", - "@rollup/plugin-dynamic-import-vars": "^2.1.2", + "@rollup/plugin-alias": "^5.1.1", + "@rollup/plugin-commonjs": "^26.0.3", + "@rollup/plugin-dynamic-import-vars": "^2.1.3", "@rollup/plugin-json": "^6.1.0", - "@rollup/plugin-node-resolve": "15.2.3", - "@rollup/pluginutils": "^5.1.0", + "@rollup/plugin-node-resolve": "15.3.0", + "@rollup/pluginutils": "^5.1.2", "@types/escape-html": "^1.0.4", "@types/pnpapi": "^0.0.5", "artichokie": "^0.2.1", @@ -141,9 +141,9 @@ "resolve.exports": "^2.0.2", "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", - "rollup-plugin-license": "^3.5.2", - "sass": "^1.78.0", - "sass-embedded": "^1.78.0", + "rollup-plugin-license": "^3.5.3", + "sass": "^1.79.3", + "sass-embedded": "^1.79.3", "sirv": "^2.0.4", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", diff --git a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts index 0bd938cdd46e0a..240a9a5bf007bc 100644 --- a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts +++ b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts @@ -134,6 +134,16 @@ test('export * as from', async () => { `) }) +test('export * as from arbitrary module namespace identifier', async () => { + expect( + await ssrTransformSimpleCode(`export * as "arbitrary string" from 'vue'`), + ).toMatchInlineSnapshot(` + "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue"); + + Object.defineProperty(__vite_ssr_exports__, "arbitrary string", { enumerable: true, configurable: true, get(){ return __vite_ssr_import_0__ }});" + `) +}) + test('export as arbitrary module namespace identifier', async () => { expect( await ssrTransformSimpleCode( @@ -141,7 +151,19 @@ test('export as arbitrary module namespace identifier', async () => { ), ).toMatchInlineSnapshot(` "const something = "Something"; - Object.defineProperty(__vite_ssr_exports__, "arbitrary string", { enumerable: true, configurable: true, get(){ return something }});" + Object.defineProperty(__vite_ssr_exports__, "arbitrary string", { enumerable: true, configurable: true, get(){ return something }});" + `) +}) + +test('export as from arbitrary module namespace identifier', async () => { + expect( + await ssrTransformSimpleCode( + `export { "arbitrary string2" as "arbitrary string" } from 'vue';`, + ), + ).toMatchInlineSnapshot(` + "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue", {"importedNames":["arbitrary string2"]}); + + Object.defineProperty(__vite_ssr_exports__, "arbitrary string", { enumerable: true, configurable: true, get(){ return __vite_ssr_import_0__["arbitrary string2"] }});" `) }) diff --git a/packages/vite/src/node/ssr/ssrTransform.ts b/packages/vite/src/node/ssr/ssrTransform.ts index 322afa0a155101..14b55aead1d802 100644 --- a/packages/vite/src/node/ssr/ssrTransform.ts +++ b/packages/vite/src/node/ssr/ssrTransform.ts @@ -8,6 +8,7 @@ import type { Function as FunctionNode, Identifier, ImportDeclaration, + Literal, Pattern, Property, VariableDeclaration, @@ -130,7 +131,7 @@ async function ssrTransformScript( function defineExport(position: number, name: string, local = name) { s.appendLeft( position, - `\nObject.defineProperty(${ssrModuleExportsKey}, "${name}", ` + + `\nObject.defineProperty(${ssrModuleExportsKey}, ${JSON.stringify(name)}, ` + `{ enumerable: true, configurable: true, get(){ return ${local} }});`, ) } @@ -163,10 +164,7 @@ async function ssrTransformScript( importedNames: node.specifiers .map((s) => { if (s.type === 'ImportSpecifier') - return s.imported.type === 'Identifier' - ? s.imported.name - : // @ts-expect-error TODO: Estree types don't consider arbitrary module namespace specifiers yet - s.imported.value + return getIdentifierNameOrLiteralValue(s.imported) as string else if (s.type === 'ImportDefaultSpecifier') return 'default' }) .filter(isDefined), @@ -182,10 +180,7 @@ async function ssrTransformScript( } else { idToImportMap.set( spec.local.name, - `${importId}[${ - // @ts-expect-error TODO: Estree types don't consider arbitrary module namespace specifiers yet - JSON.stringify(spec.imported.value) - }]`, + `${importId}[${JSON.stringify(spec.imported.value as string)}]`, ) } } else if (spec.type === 'ImportDefaultSpecifier') { @@ -226,33 +221,39 @@ async function ssrTransformScript( node.start, node.source.value as string, { - importedNames: node.specifiers.map((s) => s.local.name), + importedNames: node.specifiers.map( + (s) => getIdentifierNameOrLiteralValue(s.local) as string, + ), }, ) for (const spec of node.specifiers) { - const exportedAs = - spec.exported.type === 'Identifier' - ? spec.exported.name - : // @ts-expect-error TODO: Estree types don't consider arbitrary module namespace specifiers yet - spec.exported.value - - defineExport( - node.start, - exportedAs, - `${importId}.${spec.local.name}`, - ) + const exportedAs = getIdentifierNameOrLiteralValue( + spec.exported, + ) as string + + if (spec.local.type === 'Identifier') { + defineExport( + node.start, + exportedAs, + `${importId}.${spec.local.name}`, + ) + } else { + defineExport( + node.start, + exportedAs, + `${importId}[${JSON.stringify(spec.local.value as string)}]`, + ) + } } } else { // export { foo, bar } for (const spec of node.specifiers) { - const local = spec.local.name + // spec.local can be Literal only when it has "from 'something'" + const local = (spec.local as Identifier).name const binding = idToImportMap.get(local) - - const exportedAs = - spec.exported.type === 'Identifier' - ? spec.exported.name - : // @ts-expect-error TODO: Estree types don't consider arbitrary module namespace specifiers yet - spec.exported.value + const exportedAs = getIdentifierNameOrLiteralValue( + spec.exported, + ) as string defineExport(node.end, exportedAs, binding || local) } @@ -292,7 +293,10 @@ async function ssrTransformScript( s.remove(node.start, node.end) const importId = defineImport(node.start, node.source.value as string) if (node.exported) { - defineExport(node.start, node.exported.name, `${importId}`) + const exportedAs = getIdentifierNameOrLiteralValue( + node.exported, + ) as string + defineExport(node.start, exportedAs, `${importId}`) } else { s.appendLeft(node.start, `${ssrExportAllKey}(${importId});\n`) } @@ -377,6 +381,10 @@ async function ssrTransformScript( } } +function getIdentifierNameOrLiteralValue(node: Identifier | Literal) { + return node.type === 'Identifier' ? node.name : node.value +} + interface Visitors { onIdentifier: ( node: Identifier & { diff --git a/playground/alias/package.json b/playground/alias/package.json index 721dfff217b1b9..d44881faa7465c 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.5.6", - "@vue/shared": "^3.5.6" + "vue": "^3.5.8", + "@vue/shared": "^3.5.8" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index 590e8ea389804a..4ae4a281a7b3a8 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,8 +10,8 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.78.0", - "tailwindcss": "^3.4.11", + "sass": "^1.79.3", + "tailwindcss": "^3.4.13", "fast-glob": "^3.3.2" } } diff --git a/playground/config/packages/siblings/package.json b/playground/config/packages/siblings/package.json index d1cc8e4799f789..e3c78ea581d8d3 100644 --- a/playground/config/packages/siblings/package.json +++ b/playground/config/packages/siblings/package.json @@ -2,7 +2,7 @@ "name": "@vite/test-config-sibling", "type": "module", "devDependencies": { - "@types/lodash": "^4.17.7", + "@types/lodash": "^4.17.9", "lodash": "^4.17.21" } } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index c0d7865baa571d..e0261343de1c59 100644 --- a/playground/css-sourcemap/package.json +++ b/playground/css-sourcemap/package.json @@ -12,7 +12,7 @@ "devDependencies": { "less": "^4.2.0", "magic-string": "^0.30.11", - "sass": "^1.78.0", + "sass": "^1.79.3", "stylus": "^0.63.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index ea4992ee3552e7..a4d9c1d531ac1a 100644 --- a/playground/css/package.json +++ b/playground/css/package.json @@ -24,7 +24,7 @@ "fast-glob": "^3.3.2", "less": "^4.2.0", "postcss-nested": "^6.2.0", - "sass": "^1.78.0", + "sass": "^1.79.3", "stylus": "^0.63.0", "sugarss": "^4.0.1" }, diff --git a/playground/environment-react-ssr/package.json b/playground/environment-react-ssr/package.json index 3b2c005b39c92a..2c188c77623d4e 100644 --- a/playground/environment-react-ssr/package.json +++ b/playground/environment-react-ssr/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "devDependencies": { - "@types/react": "^18.3.6", + "@types/react": "^18.3.9", "@types/react-dom": "^18.3.0", "react": "^18.3.1", "react-dom": "^18.3.1" diff --git a/playground/extensions/package.json b/playground/extensions/package.json index c3e74c5d37a9e2..6f33f66e9adc0c 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.6" + "vue": "^3.5.8" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index b98520c0f0e046..de12f295ebb9d6 100644 --- a/playground/external/dep-that-imports/package.json +++ b/playground/external/dep-that-imports/package.json @@ -5,6 +5,6 @@ "dependencies": { "slash3": "npm:slash@^3.0.0", "slash5": "npm:slash@^5.1.0", - "vue": "^3.5.6" + "vue": "^3.5.8" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index 54dfde8eaac898..a4f33364e58bf0 100644 --- a/playground/external/dep-that-requires/package.json +++ b/playground/external/dep-that-requires/package.json @@ -5,6 +5,6 @@ "dependencies": { "slash3": "npm:slash@^3.0.0", "slash5": "npm:slash@^5.1.0", - "vue": "^3.5.6" + "vue": "^3.5.8" } } diff --git a/playground/external/package.json b/playground/external/package.json index 999fec7c44def2..d0fe4197136760 100644 --- a/playground/external/package.json +++ b/playground/external/package.json @@ -17,7 +17,7 @@ "slash3": "npm:slash@^3.0.0", "slash5": "npm:slash@^5.1.0", "vite": "workspace:*", - "vue": "^3.5.6", + "vue": "^3.5.8", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index 9c3a5c6ebf84c5..31dd54ab440348 100644 --- a/playground/json/package.json +++ b/playground/json/package.json @@ -15,6 +15,6 @@ "devDependencies": { "@vitejs/test-json-module": "file:./json-module", "express": "^4.21.0", - "vue": "^3.5.6" + "vue": "^3.5.8" } } diff --git a/playground/legacy/package.json b/playground/legacy/package.json index 5c76871e0ab0dd..2d598a12c0a5d3 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -18,6 +18,6 @@ "vite": "workspace:*", "@vitejs/plugin-legacy": "workspace:*", "express": "^4.21.0", - "terser": "^5.32.0" + "terser": "^5.33.0" } } diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index 8042707ebdfbf9..629e32af76a6e7 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.78.0" + "sass": "^1.79.3" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index b0e5330c6e5822..756bfe803bd657 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.6" + "vue": "^3.5.8" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index 651000cea4dd3c..a570f0397ce88c 100644 --- a/playground/optimize-deps-no-discovery/package.json +++ b/playground/optimize-deps-no-discovery/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@vitejs/test-dep-no-discovery": "file:./dep-no-discovery", - "vue": "^3.5.6", + "vue": "^3.5.8", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index a2c95b53217d21..1d53a3bb14ffac 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -44,7 +44,7 @@ "react-dom": "^18.3.1", "@vitejs/test-resolve-linked": "workspace:0.0.0", "url": "^0.11.4", - "vue": "^3.5.6", + "vue": "^3.5.8", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/preload/package.json b/playground/preload/package.json index 51f0edb9aadb21..ba19a7132f6c39 100644 --- a/playground/preload/package.json +++ b/playground/preload/package.json @@ -18,7 +18,7 @@ "preview:preload-disabled": "vite preview --config vite.config-preload-disabled.js" }, "devDependencies": { - "terser": "^5.32.0", + "terser": "^5.33.0", "@vitejs/test-dep-a": "file:./dep-a", "@vitejs/test-dep-including-a": "file:./dep-including-a" } diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index c1c3f3e3c2e76a..9d2d67b6e29497 100644 --- a/playground/ssr-webworker/package.json +++ b/playground/ssr-webworker/package.json @@ -13,7 +13,7 @@ "@vitejs/test-worker-exports": "file:./worker-exports" }, "devDependencies": { - "miniflare": "^3.20240909.2", + "miniflare": "^3.20240909.5", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/tailwind-sourcemap/package.json b/playground/tailwind-sourcemap/package.json index 9b5096b13bf6a7..4eea83dd5b9e1c 100644 --- a/playground/tailwind-sourcemap/package.json +++ b/playground/tailwind-sourcemap/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "tailwindcss": "^3.4.11" + "tailwindcss": "^3.4.13" } } diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index 0e3c96d1d5c5e7..88f3a57eeefcf5 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -10,8 +10,8 @@ }, "dependencies": { "autoprefixer": "^10.4.20", - "tailwindcss": "^3.4.11", - "vue": "^3.5.6", + "tailwindcss": "^3.4.13", + "vue": "^3.5.8", "vue-router": "^4.4.5" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6cdfe7961e0fbd..35d6ea3006f2e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,8 +26,8 @@ importers: .: devDependencies: '@eslint/js': - specifier: ^9.10.0 - version: 9.10.0 + specifier: ^9.11.1 + version: 9.11.1 '@type-challenges/utils': specifier: ^0.1.1 version: 0.1.1 @@ -47,8 +47,8 @@ importers: specifier: ^4.1.12 version: 4.1.12 '@types/estree': - specifier: ^1.0.5 - version: 1.0.5 + specifier: ^1.0.6 + version: 1.0.6 '@types/etag': specifier: ^1.8.3 version: 1.8.3 @@ -59,8 +59,8 @@ importers: specifier: ^4.0.9 version: 4.0.9 '@types/node': - specifier: ^20.16.5 - version: 20.16.5 + specifier: ^20.16.7 + version: 20.16.7 '@types/picomatch': specifier: ^3.0.1 version: 3.0.1 @@ -77,17 +77,17 @@ importers: specifier: ^5.0.0 version: 5.0.0(conventional-commits-filter@5.0.0) eslint: - specifier: ^9.10.0 - version: 9.10.0(jiti@1.21.0) + specifier: ^9.11.1 + version: 9.11.1(jiti@1.21.0) eslint-plugin-import-x: - specifier: ^4.2.1 - version: 4.2.1(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) + specifier: ^4.3.0 + version: 4.3.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) eslint-plugin-n: - specifier: ^17.10.2 - version: 17.10.2(eslint@9.10.0(jiti@1.21.0)) + specifier: ^17.10.3 + version: 17.10.3(eslint@9.11.1(jiti@1.21.0)) eslint-plugin-regexp: specifier: ^2.6.0 - version: 2.6.0(eslint@9.10.0(jiti@1.21.0)) + version: 2.6.0(eslint@9.11.1(jiti@1.21.0)) execa: specifier: ^9.4.0 version: 9.4.0 @@ -101,8 +101,8 @@ importers: specifier: ^1.1.0 version: 1.1.0 playwright-chromium: - specifier: ^1.47.1 - version: 1.47.1 + specifier: ^1.47.2 + version: 1.47.2 prettier: specifier: 3.3.3 version: 3.3.3 @@ -128,20 +128,20 @@ importers: specifier: ^5.5.3 version: 5.5.3 typescript-eslint: - specifier: ^8.6.0 - version: 8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) + specifier: ^8.7.0 + version: 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) vite: specifier: workspace:* version: link:packages/vite vitest: specifier: ^2.1.1 - version: 2.1.1(@types/node@20.16.5) + version: 2.1.1(@types/node@20.16.7) docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.17.7 - version: 1.17.7(typescript@5.5.3) + specifier: ^1.18.0 + version: 1.18.0(typescript@5.5.3) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -150,13 +150,13 @@ importers: version: 4.2.2 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) + version: 1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.9)(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) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) packages/create-vite: devDependencies: @@ -180,7 +180,7 @@ importers: version: 2.4.2 unbuild: specifier: ^2.0.0 - version: 2.0.0(sass@1.78.0)(typescript@5.5.3) + version: 2.0.0(sass@1.79.3)(typescript@5.5.3) packages/plugin-legacy: dependencies: @@ -191,11 +191,11 @@ importers: specifier: ^7.25.4 version: 7.25.4(@babel/core@7.25.2) browserslist: - specifier: ^4.23.3 - version: 4.23.3 + specifier: ^4.24.0 + version: 4.24.0 browserslist-to-esbuild: specifier: ^2.1.1 - version: 2.1.1(browserslist@4.23.3) + version: 2.1.1(browserslist@4.24.0) core-js: specifier: ^3.38.1 version: 3.38.1 @@ -217,7 +217,7 @@ importers: version: 1.1.0 unbuild: specifier: ^2.0.0 - version: 2.0.0(sass@1.78.0)(typescript@5.5.3) + version: 2.0.0(sass@1.79.3)(typescript@5.5.3) vite: specifier: workspace:* version: link:../vite @@ -251,23 +251,23 @@ importers: specifier: ^1.0.0-next.25 version: 1.0.0-next.25 '@rollup/plugin-alias': - specifier: ^5.1.0 - version: 5.1.0(rollup@4.20.0) + specifier: ^5.1.1 + version: 5.1.1(rollup@4.20.0) '@rollup/plugin-commonjs': - specifier: ^26.0.1 - version: 26.0.1(rollup@4.20.0) + specifier: ^26.0.3 + version: 26.0.3(rollup@4.20.0) '@rollup/plugin-dynamic-import-vars': - specifier: ^2.1.2 - version: 2.1.2(rollup@4.20.0) + specifier: ^2.1.3 + version: 2.1.3(rollup@4.20.0) '@rollup/plugin-json': specifier: ^6.1.0 version: 6.1.0(rollup@4.20.0) '@rollup/plugin-node-resolve': - specifier: 15.2.3 - version: 15.2.3(rollup@4.20.0) + specifier: 15.3.0 + version: 15.3.0(rollup@4.20.0) '@rollup/pluginutils': - specifier: ^5.1.0 - version: 5.1.0(rollup@4.20.0) + specifier: ^5.1.2 + version: 5.1.2(rollup@4.20.0) '@types/escape-html': specifier: ^1.0.4 version: 1.0.4 @@ -369,7 +369,7 @@ importers: version: 16.1.0(postcss@8.4.47) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3)) + version: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) postcss-modules: specifier: ^6.0.0 version: 6.0.0(postcss@8.4.47) @@ -383,14 +383,14 @@ importers: specifier: ^6.1.1 version: 6.1.1(esbuild@0.24.0)(rollup@4.20.0) rollup-plugin-license: - specifier: ^3.5.2 - version: 3.5.2(picomatch@2.3.1)(rollup@4.20.0) + specifier: ^3.5.3 + version: 3.5.3(picomatch@2.3.1)(rollup@4.20.0) sass: - specifier: ^1.78.0 - version: 1.78.0 + specifier: ^1.79.3 + version: 1.79.3 sass-embedded: - specifier: ^1.78.0 - version: 1.78.0 + specifier: ^1.79.3 + version: 1.79.3 sirv: specifier: ^2.0.4 version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) @@ -481,14 +481,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.5.6 - version: 3.5.6 + specifier: ^3.5.8 + version: 3.5.8 aliased-module: specifier: file:./dir/module version: '@vitejs/test-aliased-module@file:playground/alias/dir/module' vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -506,11 +506,11 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.78.0 - version: 1.78.0 + specifier: ^1.79.3 + version: 1.79.3 tailwindcss: - specifier: ^3.4.11 - version: 3.4.11(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3)) + specifier: ^3.4.13 + version: 3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) playground/build-old: {} @@ -533,8 +533,8 @@ importers: playground/config/packages/siblings: devDependencies: '@types/lodash': - specifier: ^4.17.7 - version: 4.17.7 + specifier: ^4.17.9 + version: 4.17.9 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -568,8 +568,8 @@ importers: specifier: ^6.2.0 version: 6.2.0(postcss@8.4.47) sass: - specifier: ^1.78.0 - version: 1.78.0 + specifier: ^1.79.3 + version: 1.79.3 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -609,8 +609,8 @@ importers: specifier: ^0.30.11 version: 0.30.11 sass: - specifier: ^1.78.0 - version: 1.78.0 + specifier: ^1.79.3 + version: 1.79.3 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -673,8 +673,8 @@ importers: playground/environment-react-ssr: devDependencies: '@types/react': - specifier: ^18.3.6 - version: 18.3.6 + specifier: ^18.3.9 + version: 18.3.9 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -688,8 +688,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) playground/external: dependencies: @@ -710,8 +710,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) vue32: specifier: npm:vue@~3.2.0 version: vue@3.2.0 @@ -725,8 +725,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) playground/external/dep-that-requires: dependencies: @@ -737,8 +737,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) playground/fs-serve: {} @@ -786,8 +786,8 @@ importers: specifier: ^4.21.0 version: 4.21.0 vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) playground/json/json-module: {} @@ -800,8 +800,8 @@ importers: specifier: ^4.21.0 version: 4.21.0 terser: - specifier: ^5.32.0 - version: 5.32.0 + specifier: ^5.33.0 + version: 5.33.0 vite: specifier: workspace:* version: link:../../packages/vite @@ -825,8 +825,8 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.78.0 - version: 1.78.0 + specifier: ^1.79.3 + version: 1.79.3 playground/nested-deps: dependencies: @@ -888,8 +888,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) playground/optimize-deps: dependencies: @@ -1002,11 +1002,11 @@ importers: specifier: ^0.11.4 version: 0.11.4 vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.5.6(typescript@5.5.3)) + version: 4.1.0(vue@3.5.8(typescript@5.5.3)) playground/optimize-deps-no-discovery: dependencies: @@ -1014,11 +1014,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.5.6(typescript@5.5.3)) + version: 4.1.0(vue@3.5.8(typescript@5.5.3)) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1121,8 +1121,8 @@ importers: specifier: file:./dep-including-a version: file:playground/preload/dep-including-a terser: - specifier: ^5.32.0 - version: 5.32.0 + specifier: ^5.33.0 + version: 5.33.0 playground/preload/dep-a: {} @@ -1534,8 +1534,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240909.2 - version: 3.20240909.2 + specifier: ^3.20240909.5 + version: 3.20240909.5 playground/ssr-webworker/browser-exports: {} @@ -1547,24 +1547,24 @@ importers: specifier: ^10.4.20 version: 10.4.20(postcss@8.4.47) tailwindcss: - specifier: ^3.4.11 - version: 3.4.11(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3)) + specifier: ^3.4.13 + version: 3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) vue: - specifier: ^3.5.6 - version: 3.5.6(typescript@5.5.3) + specifier: ^3.5.8 + version: 3.5.8(typescript@5.5.3) vue-router: specifier: ^4.4.5 - version: 4.4.5(vue@3.5.6(typescript@5.5.3)) + version: 4.4.5(vue@3.5.8(typescript@5.5.3)) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.16.5)(typescript@5.5.3) + version: 10.9.2(@types/node@20.16.7)(typescript@5.5.3) playground/tailwind-sourcemap: dependencies: tailwindcss: - specifier: ^3.4.11 - version: 3.4.11(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3)) + specifier: ^3.4.13 + version: 3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) playground/transform-plugin: {} @@ -2292,8 +2292,8 @@ packages: resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} engines: {node: '>=6.9.0'} - '@bufbuild/protobuf@1.10.0': - resolution: {integrity: sha512-QDdVFLoN93Zjg36NoQPZfsVH9tZew7wKDKyV5qRdj8ntT4wQCOradQjRaTdwMhWUYsgKsvCINKKm87FdEk96Ag==} + '@bufbuild/protobuf@2.1.0': + resolution: {integrity: sha512-+2Mx67Y3skJ4NCD/qNSdBJNWtu6x6Qr53jeNg+QcwiL6mt0wK+3jwHH2x1p7xaYH6Ve2JKOVn0OxU35WsmqI9A==} '@cloudflare/workerd-darwin-64@1.20240909.0': resolution: {integrity: sha512-nJ8jm/6PR8DPzVb4QifNAfSdrFZXNblwIdOhLTU5FpSvFFocmzFX5WgzQagvtmcC9/ZAQyxuf7WynDNyBcoe0Q==} @@ -2936,20 +2936,24 @@ packages: resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/core@0.6.0': + resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@eslint/eslintrc@3.1.0': resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.10.0': - resolution: {integrity: sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==} + '@eslint/js@9.11.1': + resolution: {integrity: sha512-/qu+TWz8WwPWc7/HcIJKi+c+MOm46GdVaSlTTQcaqaL53+GsoA6MxWp5PtTx48qbSP7ylM1Kn7nhvkugfJvRSA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/plugin-kit@0.1.0': - resolution: {integrity: sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==} + '@eslint/plugin-kit@0.2.0': + resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/busboy@2.1.0': @@ -3053,6 +3057,15 @@ packages: rollup: optional: true + '@rollup/plugin-alias@5.1.1': + resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/plugin-commonjs@25.0.4': resolution: {integrity: sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ==} engines: {node: '>=14.0.0'} @@ -3062,8 +3075,8 @@ packages: rollup: optional: true - '@rollup/plugin-commonjs@26.0.1': - resolution: {integrity: sha512-UnsKoZK6/aGIH6AdkptXhNvhaqftcjq3zZdT+LY5Ftms6JR06nADcDsYp5hTU9E2lbJUEOhdlY5J4DNTneM+jQ==} + '@rollup/plugin-commonjs@26.0.3': + resolution: {integrity: sha512-2BJcolt43MY+y5Tz47djHkodCC3c1VKVrBDKpVqHKpQ9z9S158kCCqB8NF6/gzxLdNlYW9abB3Ibh+kOWLp8KQ==} engines: {node: '>=16.0.0 || 14 >= 14.17'} peerDependencies: rollup: ^2.68.0||^3.0.0||^4.0.0 @@ -3071,8 +3084,8 @@ packages: rollup: optional: true - '@rollup/plugin-dynamic-import-vars@2.1.2': - resolution: {integrity: sha512-4lr2oXxs9hcxtGGaK8s0i9evfjzDrAs7ngw28TqruWKTEm0+U4Eljb+F6HXGYdFv8xRojQlrQwV7M/yxeh3yzQ==} + '@rollup/plugin-dynamic-import-vars@2.1.3': + resolution: {integrity: sha512-9ZuItXkvbx0NUeEO0TMIYY7KAK/c7biumCTVrk6nwW81om7apA3/yju6JUm1pFMWmF/bZbyrom20NupRZWk9Wg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -3098,6 +3111,15 @@ packages: rollup: optional: true + '@rollup/plugin-node-resolve@15.3.0': + resolution: {integrity: sha512-9eO5McEICxMzJpDW9OnMYSv4Sta3hmt7VtBFz5zR9273suNOydOyq/FrGeGy+KsTRFm8w0SLVhzig2ILFT63Ag==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^2.78.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/plugin-replace@5.0.2': resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} @@ -3116,6 +3138,15 @@ packages: rollup: optional: true + '@rollup/pluginutils@5.1.2': + resolution: {integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 + peerDependenciesMeta: + rollup: + optional: true + '@rollup/rollup-android-arm-eabi@4.20.0': resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} cpu: [arm] @@ -3202,26 +3233,26 @@ packages: '@shikijs/core@1.14.1': resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==} - '@shikijs/core@1.17.7': - resolution: {integrity: sha512-ZnIDxFu/yvje3Q8owSHaEHd+bu/jdWhHAaJ17ggjXofHx5rc4bhpCSW+OjC6smUBi5s5dd023jWtZ1gzMu/yrw==} + '@shikijs/core@1.18.0': + resolution: {integrity: sha512-VK4BNVCd2leY62Nm2JjyxtRLkyrZT/tv104O81eyaCjHq4Adceq2uJVFJJAIof6lT1mBwZrEo2qT/T+grv3MQQ==} - '@shikijs/engine-javascript@1.17.7': - resolution: {integrity: sha512-wwSf7lKPsm+hiYQdX+1WfOXujtnUG6fnN4rCmExxa4vo+OTmvZ9B1eKauilvol/LHUPrQgW12G3gzem7pY5ckw==} + '@shikijs/engine-javascript@1.18.0': + resolution: {integrity: sha512-qoP/aO/ATNwYAUw1YMdaip/YVEstMZEgrwhePm83Ll9OeQPuxDZd48szZR8oSQNQBT8m8UlWxZv8EA3lFuyI5A==} - '@shikijs/engine-oniguruma@1.17.7': - resolution: {integrity: sha512-pvSYGnVeEIconU28NEzBXqSQC/GILbuNbAHwMoSfdTBrobKAsV1vq2K4cAgiaW1TJceLV9QMGGh18hi7cCzbVQ==} + '@shikijs/engine-oniguruma@1.18.0': + resolution: {integrity: sha512-B9u0ZKI/cud+TcmF8Chyh+R4V5qQVvyDOqXC2l2a4x73PBSBc6sZ0JRAX3eqyJswqir6ktwApUUGBYePdKnMJg==} '@shikijs/transformers@1.14.1': resolution: {integrity: sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==} - '@shikijs/twoslash@1.17.7': - resolution: {integrity: sha512-GAD5UMD69aL5WiXfrWWZRLVekK3060cV/Qg2a8ZjSVdN8VwjZIw25UmbF5b/3QJxKdSvTirg0senL5gTb+NHJw==} + '@shikijs/twoslash@1.18.0': + resolution: {integrity: sha512-nbv1vEiNlM9GbXpN0++5QiT2NdUbAJ6y8yBuMWIiT04dxD3tdl7Ud3TL6hAZ6CAwMGn5hRaN+2va2oN1Rsy1Ww==} - '@shikijs/types@1.17.7': - resolution: {integrity: sha512-+qA4UyhWLH2q4EFd+0z4K7GpERDU+c+CN2XYD3sC+zjvAr5iuwD1nToXZMt1YODshjkEGEDV86G7j66bKjqDdg==} + '@shikijs/types@1.18.0': + resolution: {integrity: sha512-O9N36UEaGGrxv1yUrN2nye7gDLG5Uq0/c1LyfmxsvzNPqlHzWo9DI0A4+fhW2y3bGKuQu/fwS7EPdKJJCowcVA==} - '@shikijs/vitepress-twoslash@1.17.7': - resolution: {integrity: sha512-cJMK1G3dHqUf8QQm92CKD8sMEXJZbHHMUtxRVRtnNSnOGvGI0tmkIu0UzX0KOIo5hgz99u0tT1gS6NT+TaP4Vg==} + '@shikijs/vitepress-twoslash@1.18.0': + resolution: {integrity: sha512-yk1VyStviw/vmVXOZ1/DofgYjFmkm41UKzjEHu/8ZJ+UuPFjqu6Y2n6rtd4vkr8vBs5lv32FGPcQUseURTDs1g==} '@shikijs/vscode-textmate@9.2.2': resolution: {integrity: sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==} @@ -3284,6 +3315,9 @@ packages: '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + '@types/etag@1.8.3': resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} @@ -3299,14 +3333,17 @@ packages: '@types/http-errors@2.0.4': resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + '@types/less@3.0.6': resolution: {integrity: sha512-PecSzorDGdabF57OBeQO/xFbAkYWo88g4Xvnsx7LRwqLC17I7OoKtA3bQB9uXkY6UkMWCOsA8HSVpaoitscdXw==} '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - '@types/lodash@4.17.7': - resolution: {integrity: sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA==} + '@types/lodash@4.17.9': + resolution: {integrity: sha512-w9iWudx1XWOHW5lQRS9iKpK/XuRhnN+0T7HvdCCd802FYkT1AMTnxndJHGrNJwRoRHkslGr4S29tjm1cT7x/7w==} '@types/markdown-it@14.1.2': resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==} @@ -3335,8 +3372,8 @@ packages: '@types/node@20.14.14': resolution: {integrity: sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==} - '@types/node@20.16.5': - resolution: {integrity: sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA==} + '@types/node@20.16.7': + resolution: {integrity: sha512-QkDQjAY3gkvJNcZOWwzy3BN34RweT0OQ9zJyvLCU0kSK22dO2QYh/NHGfbEAYylPYzRB1/iXcojS79wOg5gFSw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3362,8 +3399,8 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - '@types/react@18.3.6': - resolution: {integrity: sha512-CnGaRYNu2iZlkGXGrOYtdg5mLK8neySj0woZ4e2wF/eli2E6Sazmq5X+Nrj6OBrrFVQfJWTUFeqAzoRhWQXYvg==} + '@types/react@18.3.9': + resolution: {integrity: sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -3389,8 +3426,8 @@ packages: '@types/ws@8.5.12': resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} - '@typescript-eslint/eslint-plugin@8.6.0': - resolution: {integrity: sha512-UOaz/wFowmoh2G6Mr9gw60B1mm0MzUtm6Ic8G2yM1Le6gyj5Loi/N+O5mocugRGY+8OeeKmkMmbxNqUCq3B4Sg==} + '@typescript-eslint/eslint-plugin@8.7.0': + resolution: {integrity: sha512-RIHOoznhA3CCfSTFiB6kBGLQtB/sox+pJ6jeFu6FxJvqL8qRxq/FfGO/UhsGgQM9oGdXkV4xUgli+dt26biB6A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -3400,8 +3437,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@8.6.0': - resolution: {integrity: sha512-eQcbCuA2Vmw45iGfcyG4y6rS7BhWfz9MQuk409WD47qMM+bKCGQWXxvoOs1DUp+T7UBMTtRTVT+kXr7Sh4O9Ow==} + '@typescript-eslint/parser@8.7.0': + resolution: {integrity: sha512-lN0btVpj2unxHlNYLI//BQ7nzbMJYBVQX5+pbNXvGYazdlgYonMn4AhhHifQ+J4fGRYA/m1DjaQjx+fDetqBOQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3410,16 +3447,16 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.3.0': - resolution: {integrity: sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.6.0': resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.6.0': - resolution: {integrity: sha512-dtePl4gsuenXVwC7dVNlb4mGDcKjDT/Ropsk4za/ouMBPplCLyznIaR+W65mvCvsyS97dymoBRrioEXI7k0XIg==} + '@typescript-eslint/scope-manager@8.7.0': + resolution: {integrity: sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/type-utils@8.7.0': + resolution: {integrity: sha512-tl0N0Mj3hMSkEYhLkjREp54OSb/FI6qyCzfiiclvJvOqre6hsZTGSnHtmFLDU8TIM62G7ygEa1bI08lcuRwEnQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -3427,22 +3464,13 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.3.0': - resolution: {integrity: sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.6.0': resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.3.0': - resolution: {integrity: sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==} + '@typescript-eslint/types@8.7.0': + resolution: {integrity: sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true '@typescript-eslint/typescript-estree@8.6.0': resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} @@ -3453,11 +3481,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.3.0': - resolution: {integrity: sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==} + '@typescript-eslint/typescript-estree@8.7.0': + resolution: {integrity: sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@typescript-eslint/utils@8.6.0': resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} @@ -3465,14 +3496,20 @@ packages: peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.3.0': - resolution: {integrity: sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==} + '@typescript-eslint/utils@8.7.0': + resolution: {integrity: sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 '@typescript-eslint/visitor-keys@8.6.0': resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.7.0': + resolution: {integrity: sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript/vfs@1.6.0': resolution: {integrity: sha512-hvJUjNVeBMp77qPINuUvYXj4FyWeeMMKZkxEATEU3hqBAQ7qdTBCUFT7Sp0Zu0faeEtFf+ldXxMEDr/bk73ISg==} peerDependencies: @@ -3767,26 +3804,26 @@ packages: '@vue/compiler-core@3.2.0': resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} - '@vue/compiler-core@3.5.3': - resolution: {integrity: sha512-adAfy9boPkP233NTyvLbGEqVuIfK/R0ZsBsIOW4BZNfb4BRpRW41Do1u+ozJpsb+mdoy80O20IzAsHaihRb5qA==} - '@vue/compiler-core@3.5.6': resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} + '@vue/compiler-core@3.5.8': + resolution: {integrity: sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==} + '@vue/compiler-dom@3.2.0': resolution: {integrity: sha512-CqfATmX04+58LNBTTUPRBLyYGLP0bxtL+8b7B8pEvXja7fpmxiYcKBQsdaXfyqoRJsaTzA7eVXQt/t0dYhu/SQ==} - '@vue/compiler-dom@3.5.3': - resolution: {integrity: sha512-wnzFArg9zpvk/811CDOZOadJRugf1Bgl/TQ3RfV4nKfSPok4hi0w10ziYUQR6LnnBAUlEXYLUfZ71Oj9ds/+QA==} - '@vue/compiler-dom@3.5.6': resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} - '@vue/compiler-sfc@3.5.6': - resolution: {integrity: sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==} + '@vue/compiler-dom@3.5.8': + resolution: {integrity: sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==} + + '@vue/compiler-sfc@3.5.8': + resolution: {integrity: sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==} - '@vue/compiler-ssr@3.5.6': - resolution: {integrity: sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==} + '@vue/compiler-ssr@3.5.8': + resolution: {integrity: sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -3817,25 +3854,25 @@ packages: '@vue/reactivity@3.2.0': resolution: {integrity: sha512-39L3UJe8+jYeCTM/QrDglDM05O11UrmyhazUOHOOj7+a9pPVu95HGInh5CkKQf98mx2gq6t3PPN8bCN5wK8Wwg==} - '@vue/reactivity@3.5.6': - resolution: {integrity: sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==} + '@vue/reactivity@3.5.8': + resolution: {integrity: sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==} '@vue/runtime-core@3.2.0': resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} - '@vue/runtime-core@3.5.6': - resolution: {integrity: sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==} + '@vue/runtime-core@3.5.8': + resolution: {integrity: sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==} '@vue/runtime-dom@3.2.0': resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} - '@vue/runtime-dom@3.5.6': - resolution: {integrity: sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==} + '@vue/runtime-dom@3.5.8': + resolution: {integrity: sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==} - '@vue/server-renderer@3.5.6': - resolution: {integrity: sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==} + '@vue/server-renderer@3.5.8': + resolution: {integrity: sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==} peerDependencies: - vue: 3.5.6 + vue: 3.5.8 '@vue/shared@3.2.0': resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} @@ -3843,12 +3880,12 @@ packages: '@vue/shared@3.4.38': resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} - '@vue/shared@3.5.3': - resolution: {integrity: sha512-Jp2v8nylKBT+PlOUjun2Wp/f++TfJVFjshLzNtJDdmFJabJa7noGMncqXRM1vXGX+Yo2V7WykQFNxusSim8SCA==} - '@vue/shared@3.5.6': resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} + '@vue/shared@3.5.8': + resolution: {integrity: sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==} + '@vueuse/core@11.0.0': resolution: {integrity: sha512-shibzNGjmRjZucEm97B8V0NO5J3vPHMCE/mltxQ3vHezbDoFQBMtK11XsfwfPionxSbo+buqPmsCljtYuXIBpw==} @@ -4087,8 +4124,8 @@ packages: peerDependencies: browserslist: '*' - browserslist@4.23.3: - resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} + browserslist@4.24.0: + resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -4125,6 +4162,9 @@ packages: caniuse-lite@1.0.30001649: resolution: {integrity: sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==} + caniuse-lite@1.0.30001663: + resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} @@ -4167,6 +4207,10 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} + chokidar@4.0.1: + resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + engines: {node: '>= 14.16.0'} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -4205,6 +4249,9 @@ packages: colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + colorjs.io@0.5.2: + resolution: {integrity: sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==} + combined-stream@1.0.8: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} @@ -4534,8 +4581,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.4: - resolution: {integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==} + electron-to-chromium@1.5.28: + resolution: {integrity: sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==} emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -4645,14 +4692,14 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-import-x@4.2.1: - resolution: {integrity: sha512-WWi2GedccIJa0zXxx3WDnTgouGQTtdYK1nhXMwywbqqAgB0Ov+p1pYBsWh3VaB0bvBOwLse6OfVII7jZD9xo5Q==} + eslint-plugin-import-x@4.3.0: + resolution: {integrity: sha512-PxGzP7gAjF2DLeRnQtbYkkgZDg1intFyYr/XS1LgTYXUDrSXMHGkXx8++6i2eDv2jMs0jfeO6G6ykyeWxiFX7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - eslint-plugin-n@17.10.2: - resolution: {integrity: sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw==} + eslint-plugin-n@17.10.3: + resolution: {integrity: sha512-ySZBfKe49nQZWR1yFaA0v/GsH6Fgp8ah6XV0WDz6CN8WO0ek4McMzb7A2xnf4DCYV43frjCygvb9f/wx7UUxRw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -4675,8 +4722,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.10.0: - resolution: {integrity: sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==} + eslint@9.11.1: + resolution: {integrity: sha512-MobhYKIoAO1s1e4VUrgx1l1Sk2JBR/Gqjjgw8+mfgoLE2xwsHur4gdfTxyTgShrhvdVFTaJSgMiQBl1jv/AWxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -4763,10 +4810,10 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - fdir@6.1.1: - resolution: {integrity: sha512-QfKBVg453Dyn3mr0Q0O+Tkr1r79lOTAKSi9f/Ot4+qVEwxWhav2Z+SudrG9vQjM2aYRMQQZ2/Q1zdA8ACM1pDg==} + fdir@6.3.0: + resolution: {integrity: sha512-QOnuT+BOtivR77wYvCWHfGt9s4Pz1VIMbD463vegT5MLqNXy8rYFT/lPVEqf/bhYeT6qmqrNHhsX+rWwe3rOCQ==} peerDependencies: - picomatch: 3.x + picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true @@ -5595,8 +5642,8 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - miniflare@3.20240909.2: - resolution: {integrity: sha512-rZe7d0GkP02DnsgLD6qT+0K3O1azWCbDQIeHyH7WHJeyfkGPONS8U5FeNJEmus05z+2F6jcMI/Gc/Irc+UFTAA==} + miniflare@3.20240909.5: + resolution: {integrity: sha512-3Am3D9LGDljEKWnylSy6hFg3LFnNCo9DlWqZFcL7QkuIhQwN6Sqz1d6xQCkgft7FVXnykG6VNpz0NrjdW+mBjg==} engines: {node: '>=16.13'} hasBin: true @@ -5940,13 +5987,13 @@ packages: pkg-types@1.1.1: resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} - playwright-chromium@1.47.1: - resolution: {integrity: sha512-8YVyj98eWrl13X3JXFcdVCpJ0HPCYG1bDrNY/2n7z4st8k/Mf0V9XCafSEDPC80ZD7roirhIyyyPcSLOGj/Q2g==} + playwright-chromium@1.47.2: + resolution: {integrity: sha512-vznuubrx3+C50JYMKbqfJOaHhr3dcxxzudvvYoKVA7FoJVFx4wzwCSbguitzUc5ppmsyyMMGMmD21br9CZlvMg==} engines: {node: '>=18'} hasBin: true - playwright-core@1.47.1: - resolution: {integrity: sha512-i1iyJdLftqtt51mEk6AhYFaAJCDx0xQ/O5NU8EKaWFgMjItPVma542Nh/Aq8aLCjIJSzjaiEQGW/nyqLkGF1OQ==} + playwright-core@1.47.2: + resolution: {integrity: sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ==} engines: {node: '>=18'} hasBin: true @@ -6164,6 +6211,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + readdirp@4.0.1: + resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==} + engines: {node: '>= 14.16.0'} + refa@0.12.1: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -6248,8 +6299,8 @@ packages: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup-plugin-license@3.5.2: - resolution: {integrity: sha512-NNeXBcE6RyQdZdSC8Vxe8Cheax2aUa/K0Ok6JDZwr9isjkSDer4aMg0sovas1Ua76ojLZX1BrNQ6ZFspztKkZQ==} + rollup-plugin-license@3.5.3: + resolution: {integrity: sha512-r3wImZSo2d6sEk9BRJtlzeI/upjyjnpthy06Fdl0EzqRrlg3ULb9KQR7xHJI0zuayW/8bchEXSF5dO6dha4OyA==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -6280,133 +6331,133 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-embedded-android-arm64@1.78.0: - resolution: {integrity: sha512-2sAr11EgwPudAuyk4Ite+fWGYJspiFSiZDU2D8/vjjI7BaB9FG6ksYqww3svoMMnjPUWBCjKPDELpZTxViLJbw==} + sass-embedded-android-arm64@1.79.3: + resolution: {integrity: sha512-Wqm/WKHIDQl7w7eIQRO/GQ7EXfnwNpipCyJL7Xtb15vSAV64J4/0D/esy6GOPlVG+qcu8/XN8NV7Bf5wZ2ExUw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] - sass-embedded-android-arm@1.78.0: - resolution: {integrity: sha512-YM6nrmKsj+ImaSTd96F+jzbWSbhPkRN4kedbLgIJ5FsILNa9NAqhmrCQz9pdcjuAhyfxWImdUACsT23CPGENZQ==} + sass-embedded-android-arm@1.79.3: + resolution: {integrity: sha512-rrdaVDkKBLUqzdqlBFamUbeuLG+8r/QLXHIgz4qPhIDqceJH6ds0Vzrae9Ef6DhYfMatOg2xiScdatwQ8Yl/hA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [android] - sass-embedded-android-ia32@1.78.0: - resolution: {integrity: sha512-TyJOo4TgnHpOfC/PfqCBqd+jGRanWoRd4Br/0KAfIvaIFjTGIPdk26vUyDVugV1J8QUEY4INGE8EXAuDeRldUQ==} + sass-embedded-android-ia32@1.79.3: + resolution: {integrity: sha512-6rDmH0O7hjBP04/xBAFzSYYMU/7MrQYCak4541BZIbIfa2uw0x/8+mB7lZjdgFsBrFjcpdVCPhZPUE6Y50c00A==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [android] - sass-embedded-android-riscv64@1.78.0: - resolution: {integrity: sha512-wwajpsVRuhb7ixrkA3Yu60V2LtROYn45PIYeda30/MrMJi9k3xEqHLhodTexFm6wZoKclGSDZ6L9U5q0XyRKiQ==} + sass-embedded-android-riscv64@1.79.3: + resolution: {integrity: sha512-B/PgB0AfTCvOlF1g89raJTwTXIUQUM3OXDWqEKIlJEZM1Yao91i8ZkyrFkDMzT4G5sETy4o8pgK+qE9+7bFlug==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [android] - sass-embedded-android-x64@1.78.0: - resolution: {integrity: sha512-k5l66PO0LgSHMDbDzAQ/vqrXMlJ3r42ZHJA8MJvUbA6sQxTzDS381V7L+EhOATwyI225j2FhEeTHW6rr4WBQzA==} + sass-embedded-android-x64@1.79.3: + resolution: {integrity: sha512-a5cpo9Yw4xnX32Uo3WfMZLaTVnI/h2n7U3K3eTygyj707yhGkUB0i+qxldzCw8MmKivIu9irG6O4kmnRjW6f7g==} engines: {node: '>=14.0.0'} cpu: [x64] os: [android] - sass-embedded-darwin-arm64@1.78.0: - resolution: {integrity: sha512-3JaxceFSR6N+a22hPYYkj1p45eBaWTt/M8MPTbfzU3TGZrU9bmRX7WlUVtXTo1yYI2iMf22nCv0PQ5ExFF3FMQ==} + sass-embedded-darwin-arm64@1.79.3: + resolution: {integrity: sha512-imafD0nlVz5FJhqBqxUbG5rK4E3cu1GxhMZ5VhKm0k4t5jFQo+3OjN7sHT4Ee2Mk1g8sjr5dtq5enDU4fs6lXA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - sass-embedded-darwin-x64@1.78.0: - resolution: {integrity: sha512-UMTijqE3fJ8vEaaD7GPG7G3GsHuPKOdpS8vuA2v2uwO3BPFp/rEKah66atvGqvGO+0JYApkSv0YTnnexSrkHIQ==} + sass-embedded-darwin-x64@1.79.3: + resolution: {integrity: sha512-pjciT1FcMUMA4rWdpyZYSwMOvxk5JP7R6vy7TzvqkUEqXxP9FTflYnAiwgYUDVTpngHHqRxTjdyW+e+h2L9dHw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - sass-embedded-linux-arm64@1.78.0: - resolution: {integrity: sha512-juMIMpp3DIAiQ842y+boqh0u2SjN4m3mDKrDfMuBznj8DSQoy9J/3e4hLh3g+p0/j83WuROu5nNoYxm2Xz8rww==} + sass-embedded-linux-arm64@1.79.3: + resolution: {integrity: sha512-ODo8ghwk6KHxchgwxq4CwgfYwWdreEbsQoukeEgRKxHcuLB9XF6tol9pGlfrc8sYox48Vp5WDCZuzgoo6rJ6tg==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-arm@1.78.0: - resolution: {integrity: sha512-JafT+Co0RK8oO3g9TfVRuG7tkYeh35yDGTgqCFxLrktnkiw5pmIagCfpjxk5GBcSfJMOzhCgclTCDJWAuHGuMQ==} + sass-embedded-linux-arm@1.79.3: + resolution: {integrity: sha512-n0bDtzABPE5YaL9wSLxNPiQMl1zArsGblHJyED6fEHz41m+OkCTopfO8IVjcf+MBrK/j11gonxiIGWO+fNOxvg==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-ia32@1.78.0: - resolution: {integrity: sha512-Gy8GW5g6WX9t8CT2Dto5AL6ikB+pG7aAXWXvfu3RFHktixSwSbyy6CeGqSk1t0xyJCFkQQA/V8HU9bNdeHiBxg==} + sass-embedded-linux-ia32@1.79.3: + resolution: {integrity: sha512-oC3rUyIE6mEm2etsc4CuNu6IVmB6CoSM4KsubxzCD3S37QFXq8wYbI0t9iiDdTkKb5Iu+vUyhn+tYJRVHg0tvw==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-arm64@1.78.0: - resolution: {integrity: sha512-Lu/TlRHbe9aJY7B7PwWCJz7pTT5Rc50VkApWEmPiU/nu0mGbSpg0Xwar6pNeG8+98ubgKKdRb01N3bvclf5a4A==} + sass-embedded-linux-musl-arm64@1.79.3: + resolution: {integrity: sha512-Q9/5lsrK/JnQci3DwxZ9PGIIrRxuo/bySv+gbyVp8Kb7gdkZcEsY7HkxaBJfwVEwpZSGAyCviyZDHDMILjliOw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-musl-arm@1.78.0: - resolution: {integrity: sha512-DUVXtcsfsiOJ2Zwp4Y3T6KZWX8h0gWpzmFUrx+gSIbg67vV8Ww2DWMjWRwqLe7HOLTYBegMBYpMgMgZiPtXhIA==} + sass-embedded-linux-musl-arm@1.79.3: + resolution: {integrity: sha512-TOUYMtDs9xoMsJSEEr7NjtcVCqVpg1eSOQHXXruJ1kiYfxwmHrCYTjTLoefbZ29mWqIq8NUaXJG4rZNDK6NzRA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-musl-ia32@1.78.0: - resolution: {integrity: sha512-1E5ywUnq6MRPAecr2r/vDOBr93wXyculEmfyF5JRG8mUufMaxGIhfx64OQE6Drjs+EDURcYZ+Qcg6/ubJWqhcw==} + sass-embedded-linux-musl-ia32@1.79.3: + resolution: {integrity: sha512-T2uERh3gs9eWUzdkDadPuYbelQJQLZyX8myutUd4fxyrQ7ToQRBwcMoynEjl48DBHnM0oRiJUHrV9uFuJ+fmRA==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-riscv64@1.78.0: - resolution: {integrity: sha512-YvQEvX7ctn5BwC79+HBagDYIciEkwcl2NLgoydmEsBO/0+ncMKSGnjsn/iRzErbq1KJNyjGEni8eSHlrtQI1vQ==} + sass-embedded-linux-musl-riscv64@1.79.3: + resolution: {integrity: sha512-XTuYtTBPFeEjydS2GsIUkMztzXIiz13noknE7m1yAbVxOchu9jD9FCLAdK9pVPPki+9BiLSxsutYwOcQn8atqQ==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-musl-x64@1.78.0: - resolution: {integrity: sha512-azdUcZZvZmtUBslIKr2/l4aQrTX7BvO96TD0GLdWz9vuXZrokYm09AJZEnb5j6Pk5I4Xr0yM6BG1Vgcbzqi5Zg==} + sass-embedded-linux-musl-x64@1.79.3: + resolution: {integrity: sha512-gDHfaPlxT/XQTMbfb2y+U6zDMuI8pfapVXTYlUrgYhKH2KoICclIvahhjFii5i5+1dHpfGzjgYKBqI3nvZsYFg==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-linux-riscv64@1.78.0: - resolution: {integrity: sha512-g8M6vqHMjZUoH9C1WJsgwu+qmwdJAAMDaJTM1emeAScUZMTaQGzm+Q6C5oSGnAGR3XLT/drgbHhbmruXDgkdeQ==} + sass-embedded-linux-riscv64@1.79.3: + resolution: {integrity: sha512-NONTa//1ZfxA87+Zjp3rabL+Z9gM67FJBdktRKXXMBAce5i8eCj/eqJGUOGPjYxtvxtQw77cex0qMr9SZnX6ww==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-x64@1.78.0: - resolution: {integrity: sha512-m997ThzpMwql4u6LzZCoHPIQkgK6bbLPLc7ydemo2Wusqzh6j8XAGxVT5oANp6s2Dmj+yh49pKDozal+tzEX9w==} + sass-embedded-linux-x64@1.79.3: + resolution: {integrity: sha512-drlUqMMw222+f/T5sNrIAv+z0vQwLkO4zAlDmf4biLdWIloPP/3plTodAkMyfagNcvA8jG2jN414pJXBI3zK6w==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-win32-arm64@1.78.0: - resolution: {integrity: sha512-qTLIIC5URYRmeuYYllfoL0K1cHSUd+f3sFHAA6fjtdgf288usd6ToCbWpuFb0BtVceEfGQX8lEp+teOG7n7Quw==} + sass-embedded-win32-arm64@1.79.3: + resolution: {integrity: sha512-gYz0IUb0fLkHUbhq+HR52wvQfG75Zu1s48/v48TqC+b04H/01k2eiawp/Ec1f+lhpIL/pr5+n5jWR6CjkxPdnQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - sass-embedded-win32-ia32@1.78.0: - resolution: {integrity: sha512-BrOWh18T6Y9xgCokGXElEnd8j03fO4W83bwJ9wHRRkrQWaeHtHs3XWW0fX1j2brngWUTjU+jcYUijWF1Z60krw==} + sass-embedded-win32-ia32@1.79.3: + resolution: {integrity: sha512-fbDTyzbqRc+xCWZ+YHSDt2WvGk5PW2K0SjyHuwes/Fls1+wdO4iHIukE/pD+HSWytYrtCqhe7EFq5Ug5HxGTLg==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [win32] - sass-embedded-win32-x64@1.78.0: - resolution: {integrity: sha512-C14iFDJd7oGhmQehRiEL7GtzMmLwubcDqsBarQ+u9LbHoDlUQfIPd7y8mVtNgtxJCdrAO/jc5qR4C+85yE3xPQ==} + sass-embedded-win32-x64@1.79.3: + resolution: {integrity: sha512-vvfr6wyCaHvdQbGS8UkYab6DXc1FKJRYFT5aFE3QTVqbzCqmJ5tf80E4+gvB99nljLtMjwKR1d332iWI9KDLhw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - sass-embedded@1.78.0: - resolution: {integrity: sha512-NR2kvhWVFABmBm0AqgFw9OweQycs0Qs+/teJ9Su+BUY7up+f8S5F/Zi+7QtAqJlewsQyUNfzm1vRuM+20lBwRQ==} + sass-embedded@1.79.3: + resolution: {integrity: sha512-zUve2qCn6uSOMZnZazLzrDWq//OQWFle5G45vJjv3B/ADIA3TXVgqHqN3u7D2vGajOGREz0HN5nhliSoKmQqZA==} engines: {node: '>=16.0.0'} hasBin: true - sass@1.78.0: - resolution: {integrity: sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==} + sass@1.79.3: + resolution: {integrity: sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==} engines: {node: '>=14.0.0'} hasBin: true @@ -6474,8 +6525,8 @@ packages: shiki@1.14.1: resolution: {integrity: sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==} - shiki@1.17.7: - resolution: {integrity: sha512-Zf6hNtWhFyF4XP5OOsXkBTEx9JFPiN0TQx4wSe+Vqeuczewgk2vT4IZhF4gka55uelm052BD5BaHavNqUNZd+A==} + shiki@1.18.0: + resolution: {integrity: sha512-8jo7tOXr96h9PBQmOHVrltnETn1honZZY76YA79MHheGQg55jBvbm9dtU+MI5pjC5NJCFuA6rvVTLVeSW5cE4A==} side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} @@ -6522,10 +6573,6 @@ packages: resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} engines: {node: '>=18'} - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} @@ -6685,8 +6732,8 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} - tailwindcss@3.4.11: - resolution: {integrity: sha512-qhEuBcLemjSJk5ajccN9xJFtM/h0AVCPaA6C92jNP+M2J8kX+eMJHI7R2HFKUvvAsMpcfLILMCFYSeDwpMmlUg==} + tailwindcss@3.4.13: + resolution: {integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==} engines: {node: '>=14.0.0'} hasBin: true @@ -6706,8 +6753,8 @@ packages: resolution: {integrity: sha512-bX655WZI/F7EoTDw9JvQURqAXiPHi8o8+yFxPF2lWYyz1aHnmMRuXWqL6YB6GmeO0o4DIYWHLgGNi/X64T+X4Q==} engines: {node: '>=14.18'} - terser@5.32.0: - resolution: {integrity: sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==} + terser@5.33.0: + resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} engines: {node: '>=10'} hasBin: true @@ -6843,8 +6890,8 @@ packages: type@2.7.2: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - typescript-eslint@8.6.0: - resolution: {integrity: sha512-eEhhlxCEpCd4helh3AO1hk0UP2MvbRi9CtIAJTVPQjuSXOOO2jsEacNi4UdcJzZJbeuVg1gMhtZ8UYb+NFYPrA==} + typescript-eslint@8.7.0: + resolution: {integrity: sha512-nEHbEYJyHwsuf7c3V3RS7Saq+1+la3i0ieR3qP0yjqWSzVmh8Drp47uOl9LjbPANac4S7EFSqvcYIKXUUwIfIQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -7047,8 +7094,8 @@ packages: vue@3.2.0: resolution: {integrity: sha512-eMo5yCdkWRmBfqp/acBI/Y1Omgk0NyGqPViaU66eOpKarXNtkdImzDA57+E76jnWVr6MEp/rg1n0vnxaVvALMQ==} - vue@3.5.6: - resolution: {integrity: sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==} + vue@3.5.8: + resolution: {integrity: sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7330,7 +7377,7 @@ snapshots: dependencies: '@babel/compat-data': 7.25.2 '@babel/helper-validator-option': 7.24.8 - browserslist: 4.23.3 + browserslist: 4.24.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -8111,7 +8158,7 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@bufbuild/protobuf@1.10.0': {} + '@bufbuild/protobuf@2.1.0': {} '@cloudflare/workerd-darwin-64@1.20240909.0': optional: true @@ -8142,9 +8189,9 @@ snapshots: '@docsearch/css@3.6.1': {} - '@docsearch/js@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docsearch/js@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docsearch/react': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) preact: 10.7.3 transitivePeerDependencies: - '@algolia/client-search' @@ -8153,14 +8200,14 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docsearch/react@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) '@docsearch/css': 3.6.1 algoliasearch: 4.20.0 optionalDependencies: - '@types/react': 18.3.6 + '@types/react': 18.3.9 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -8445,9 +8492,9 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.10.0(jiti@1.21.0))': + '@eslint-community/eslint-utils@4.4.0(eslint@9.11.1(jiti@1.21.0))': dependencies: - eslint: 9.10.0(jiti@1.21.0) + eslint: 9.11.1(jiti@1.21.0) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.11.0': {} @@ -8460,6 +8507,8 @@ snapshots: transitivePeerDependencies: - supports-color + '@eslint/core@0.6.0': {} + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 @@ -8474,11 +8523,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.10.0': {} + '@eslint/js@9.11.1': {} '@eslint/object-schema@2.1.4': {} - '@eslint/plugin-kit@0.1.0': + '@eslint/plugin-kit@0.2.0': dependencies: levn: 0.4.1 @@ -8598,15 +8647,13 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-alias@5.1.0(rollup@4.20.0)': - dependencies: - slash: 4.0.0 + '@rollup/plugin-alias@5.1.1(rollup@4.20.0)': optionalDependencies: rollup: 4.20.0 '@rollup/plugin-commonjs@25.0.4(rollup@3.29.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.2(rollup@3.29.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 @@ -8615,9 +8662,9 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-commonjs@26.0.1(rollup@4.20.0)': + '@rollup/plugin-commonjs@26.0.3(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.20.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.5 @@ -8626,9 +8673,9 @@ snapshots: optionalDependencies: rollup: 4.20.0 - '@rollup/plugin-dynamic-import-vars@2.1.2(rollup@4.20.0)': + '@rollup/plugin-dynamic-import-vars@2.1.3(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.20.0) astring: 1.8.6 estree-walker: 2.0.2 fast-glob: 3.3.2 @@ -8638,19 +8685,19 @@ snapshots: '@rollup/plugin-json@6.1.0(rollup@3.29.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.2(rollup@3.29.4) optionalDependencies: rollup: 3.29.4 '@rollup/plugin-json@6.1.0(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.20.0) optionalDependencies: rollup: 4.20.0 '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.2(rollup@3.29.4) '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.1 @@ -8659,12 +8706,11 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-node-resolve@15.2.3(rollup@4.20.0)': + '@rollup/plugin-node-resolve@15.3.0(rollup@4.20.0)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.20.0) '@types/resolve': 1.20.2 deepmerge: 4.2.2 - is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: @@ -8672,22 +8718,30 @@ snapshots: '@rollup/plugin-replace@5.0.2(rollup@3.29.4)': dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + '@rollup/pluginutils': 5.1.2(rollup@3.29.4) magic-string: 0.27.0 optionalDependencies: rollup: 3.29.4 '@rollup/pluginutils@5.1.0(rollup@3.29.4)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: rollup: 3.29.4 - '@rollup/pluginutils@5.1.0(rollup@4.20.0)': + '@rollup/pluginutils@5.1.2(rollup@3.29.4)': dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 + estree-walker: 2.0.2 + picomatch: 2.3.1 + optionalDependencies: + rollup: 3.29.4 + + '@rollup/pluginutils@5.1.2(rollup@4.20.0)': + dependencies: + '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: @@ -8747,55 +8801,55 @@ snapshots: dependencies: '@types/hast': 3.0.4 - '@shikijs/core@1.17.7': + '@shikijs/core@1.18.0': dependencies: - '@shikijs/engine-javascript': 1.17.7 - '@shikijs/engine-oniguruma': 1.17.7 - '@shikijs/types': 1.17.7 + '@shikijs/engine-javascript': 1.18.0 + '@shikijs/engine-oniguruma': 1.18.0 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.17.7': + '@shikijs/engine-javascript@1.18.0': dependencies: - '@shikijs/types': 1.17.7 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 oniguruma-to-js: 0.4.3 - '@shikijs/engine-oniguruma@1.17.7': + '@shikijs/engine-oniguruma@1.18.0': dependencies: - '@shikijs/types': 1.17.7 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 '@shikijs/transformers@1.14.1': dependencies: shiki: 1.14.1 - '@shikijs/twoslash@1.17.7(typescript@5.5.3)': + '@shikijs/twoslash@1.18.0(typescript@5.5.3)': dependencies: - '@shikijs/core': 1.17.7 - '@shikijs/types': 1.17.7 + '@shikijs/core': 1.18.0 + '@shikijs/types': 1.18.0 twoslash: 0.2.11(typescript@5.5.3) transitivePeerDependencies: - supports-color - typescript - '@shikijs/types@1.17.7': + '@shikijs/types@1.18.0': dependencies: '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 - '@shikijs/vitepress-twoslash@1.17.7(typescript@5.5.3)': + '@shikijs/vitepress-twoslash@1.18.0(typescript@5.5.3)': dependencies: - '@shikijs/twoslash': 1.17.7(typescript@5.5.3) - floating-vue: 5.2.2(vue@3.5.6(typescript@5.5.3)) + '@shikijs/twoslash': 1.18.0(typescript@5.5.3) + floating-vue: 5.2.2(vue@3.5.8(typescript@5.5.3)) mdast-util-from-markdown: 2.0.1 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 - shiki: 1.17.7 + shiki: 1.18.0 twoslash: 0.2.11(typescript@5.5.3) twoslash-vue: 0.2.11(typescript@5.5.3) - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -8841,19 +8895,19 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/braces@3.0.4': {} '@types/connect@3.4.38': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/convert-source-map@2.0.3': {} '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/debug@4.1.12': dependencies: @@ -8863,13 +8917,15 @@ snapshots: '@types/estree@1.0.5': {} + '@types/estree@1.0.6': {} + '@types/etag@1.8.3': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/express-serve-static-core@4.17.43': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8887,11 +8943,13 @@ snapshots: '@types/http-errors@2.0.4': {} + '@types/json-schema@7.0.15': {} + '@types/less@3.0.6': {} '@types/linkify-it@5.0.0': {} - '@types/lodash@4.17.7': {} + '@types/lodash@4.17.9': {} '@types/markdown-it@14.1.2': dependencies: @@ -8920,7 +8978,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@20.16.5': + '@types/node@20.16.7': dependencies: undici-types: 6.19.6 @@ -8943,9 +9001,9 @@ snapshots: '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.6 + '@types/react': 18.3.9 - '@types/react@18.3.6': + '@types/react@18.3.9': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -8957,17 +9015,17 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/stylus@0.48.43': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.7 '@types/unist@3.0.2': {} @@ -8975,17 +9033,17 @@ snapshots: '@types/ws@8.5.12': dependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.7 - '@typescript-eslint/eslint-plugin@8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3)': + '@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3))(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': dependencies: '@eslint-community/regexpp': 4.11.0 - '@typescript-eslint/parser': 8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/type-utils': 8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 8.6.0 - eslint: 9.10.0(jiti@1.21.0) + '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/scope-manager': 8.7.0 + '@typescript-eslint/type-utils': 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 8.7.0 + eslint: 9.11.1(jiti@1.21.0) graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -8995,33 +9053,33 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3)': + '@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': dependencies: - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/scope-manager': 8.7.0 + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.5.3) + '@typescript-eslint/visitor-keys': 8.7.0 debug: 4.3.7 - eslint: 9.10.0(jiti@1.21.0) + eslint: 9.11.1(jiti@1.21.0) optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.3.0': - dependencies: - '@typescript-eslint/types': 8.3.0 - '@typescript-eslint/visitor-keys': 8.3.0 - '@typescript-eslint/scope-manager@8.6.0': dependencies: '@typescript-eslint/types': 8.6.0 '@typescript-eslint/visitor-keys': 8.6.0 - '@typescript-eslint/type-utils@8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3)': + '@typescript-eslint/scope-manager@8.7.0': dependencies: - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/visitor-keys': 8.7.0 + + '@typescript-eslint/type-utils@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.5.3) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.5.3) optionalDependencies: @@ -9030,14 +9088,14 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.3.0': {} - '@typescript-eslint/types@8.6.0': {} - '@typescript-eslint/typescript-estree@8.3.0(typescript@5.5.3)': + '@typescript-eslint/types@8.7.0': {} + + '@typescript-eslint/typescript-estree@8.6.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 8.3.0 - '@typescript-eslint/visitor-keys': 8.3.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/visitor-keys': 8.6.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -9049,10 +9107,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.6.0(typescript@5.5.3)': + '@typescript-eslint/typescript-estree@8.7.0(typescript@5.5.3)': dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/visitor-keys': 8.7.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -9064,36 +9122,36 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.3.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3)': + '@typescript-eslint/utils@8.6.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) - '@typescript-eslint/scope-manager': 8.3.0 - '@typescript-eslint/types': 8.3.0 - '@typescript-eslint/typescript-estree': 8.3.0(typescript@5.5.3) - eslint: 9.10.0(jiti@1.21.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) + '@typescript-eslint/scope-manager': 8.6.0 + '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) + eslint: 9.11.1(jiti@1.21.0) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3)': + '@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) - eslint: 9.10.0(jiti@1.21.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) + '@typescript-eslint/scope-manager': 8.7.0 + '@typescript-eslint/types': 8.7.0 + '@typescript-eslint/typescript-estree': 8.7.0(typescript@5.5.3) + eslint: 9.11.1(jiti@1.21.0) transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.3.0': + '@typescript-eslint/visitor-keys@8.6.0': dependencies: - '@typescript-eslint/types': 8.3.0 + '@typescript-eslint/types': 8.6.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.6.0': + '@typescript-eslint/visitor-keys@8.7.0': dependencies: - '@typescript-eslint/types': 8.6.0 + '@typescript-eslint/types': 8.7.0 eslint-visitor-keys: 3.4.3 '@typescript/vfs@1.6.0(typescript@5.5.3)': @@ -9107,10 +9165,10 @@ snapshots: '@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@file:playground/optimize-deps/longfilename': {} - '@vitejs/plugin-vue@5.1.2(vite@packages+vite)(vue@3.5.6(typescript@5.5.3))': + '@vitejs/plugin-vue@5.1.2(vite@packages+vite)(vue@3.5.8(typescript@5.5.3))': dependencies: vite: link:packages/vite - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) '@vitejs/release-scripts@1.3.2': dependencies: @@ -9195,7 +9253,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) transitivePeerDependencies: - typescript @@ -9203,7 +9261,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) transitivePeerDependencies: - typescript @@ -9357,53 +9415,53 @@ snapshots: estree-walker: 2.0.2 source-map: 0.6.1 - '@vue/compiler-core@3.5.3': + '@vue/compiler-core@3.5.6': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.3 + '@vue/shared': 3.5.6 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.2.1 - '@vue/compiler-core@3.5.6': + '@vue/compiler-core@3.5.8': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.8 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.0 + source-map-js: 1.2.1 '@vue/compiler-dom@3.2.0': dependencies: '@vue/compiler-core': 3.2.0 '@vue/shared': 3.2.0 - '@vue/compiler-dom@3.5.3': - dependencies: - '@vue/compiler-core': 3.5.3 - '@vue/shared': 3.5.3 - '@vue/compiler-dom@3.5.6': dependencies: '@vue/compiler-core': 3.5.6 '@vue/shared': 3.5.6 - '@vue/compiler-sfc@3.5.6': + '@vue/compiler-dom@3.5.8': + dependencies: + '@vue/compiler-core': 3.5.8 + '@vue/shared': 3.5.8 + + '@vue/compiler-sfc@3.5.8': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.6 - '@vue/compiler-dom': 3.5.6 - '@vue/compiler-ssr': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-core': 3.5.8 + '@vue/compiler-dom': 3.5.8 + '@vue/compiler-ssr': 3.5.8 + '@vue/shared': 3.5.8 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 - source-map-js: 1.2.0 + source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.6': + '@vue/compiler-ssr@3.5.8': dependencies: - '@vue/compiler-dom': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/compiler-dom': 3.5.8 + '@vue/shared': 3.5.8 '@vue/compiler-vue2@2.7.16': dependencies: @@ -9435,9 +9493,9 @@ snapshots: '@vue/language-core@2.1.6(typescript@5.5.3)': dependencies: '@volar/language-core': 2.4.1 - '@vue/compiler-dom': 3.5.3 + '@vue/compiler-dom': 3.5.6 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.8 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -9449,19 +9507,19 @@ snapshots: dependencies: '@vue/shared': 3.2.0 - '@vue/reactivity@3.5.6': + '@vue/reactivity@3.5.8': dependencies: - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.8 '@vue/runtime-core@3.2.0': dependencies: '@vue/reactivity': 3.2.0 '@vue/shared': 3.2.0 - '@vue/runtime-core@3.5.6': + '@vue/runtime-core@3.5.8': dependencies: - '@vue/reactivity': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/reactivity': 3.5.8 + '@vue/shared': 3.5.8 '@vue/runtime-dom@3.2.0': dependencies: @@ -9469,42 +9527,42 @@ snapshots: '@vue/shared': 3.2.0 csstype: 2.6.21 - '@vue/runtime-dom@3.5.6': + '@vue/runtime-dom@3.5.8': dependencies: - '@vue/reactivity': 3.5.6 - '@vue/runtime-core': 3.5.6 - '@vue/shared': 3.5.6 + '@vue/reactivity': 3.5.8 + '@vue/runtime-core': 3.5.8 + '@vue/shared': 3.5.8 csstype: 3.1.3 - '@vue/server-renderer@3.5.6(vue@3.5.6(typescript@5.5.3))': + '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.5.3))': dependencies: - '@vue/compiler-ssr': 3.5.6 - '@vue/shared': 3.5.6 - vue: 3.5.6(typescript@5.5.3) + '@vue/compiler-ssr': 3.5.8 + '@vue/shared': 3.5.8 + vue: 3.5.8(typescript@5.5.3) '@vue/shared@3.2.0': {} '@vue/shared@3.4.38': {} - '@vue/shared@3.5.3': {} - '@vue/shared@3.5.6': {} - '@vueuse/core@11.0.0(vue@3.5.6(typescript@5.5.3))': + '@vue/shared@3.5.8': {} + + '@vueuse/core@11.0.0(vue@3.5.8(typescript@5.5.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.0.0 - '@vueuse/shared': 11.0.0(vue@3.5.6(typescript@5.5.3)) - vue-demi: 0.14.10(vue@3.5.6(typescript@5.5.3)) + '@vueuse/shared': 11.0.0(vue@3.5.8(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.6(typescript@5.5.3))': + '@vueuse/integrations@11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.3))': dependencies: - '@vueuse/core': 11.0.0(vue@3.5.6(typescript@5.5.3)) - '@vueuse/shared': 11.0.0(vue@3.5.6(typescript@5.5.3)) - vue-demi: 0.14.10(vue@3.5.6(typescript@5.5.3)) + '@vueuse/core': 11.0.0(vue@3.5.8(typescript@5.5.3)) + '@vueuse/shared': 11.0.0(vue@3.5.8(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.3)) optionalDependencies: axios: 1.7.7 focus-trap: 7.5.4 @@ -9514,9 +9572,9 @@ snapshots: '@vueuse/metadata@11.0.0': {} - '@vueuse/shared@11.0.0(vue@3.5.6(typescript@5.5.3))': + '@vueuse/shared@11.0.0(vue@3.5.8(typescript@5.5.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.6(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -9632,7 +9690,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.47): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 caniuse-lite: 1.0.30001649 fraction.js: 4.3.7 normalize-range: 0.1.2 @@ -9722,17 +9780,17 @@ snapshots: dependencies: fill-range: 7.1.1 - browserslist-to-esbuild@2.1.1(browserslist@4.23.3): + browserslist-to-esbuild@2.1.1(browserslist@4.24.0): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 meow: 13.2.0 - browserslist@4.23.3: + browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001649 - electron-to-chromium: 1.5.4 + caniuse-lite: 1.0.30001663 + electron-to-chromium: 1.5.28 node-releases: 2.0.18 - update-browserslist-db: 1.1.0(browserslist@4.23.3) + update-browserslist-db: 1.1.0(browserslist@4.24.0) buffer-builder@0.2.0: {} @@ -9758,6 +9816,8 @@ snapshots: caniuse-lite@1.0.30001649: {} + caniuse-lite@1.0.30001663: {} + capnp-ts@0.7.0: dependencies: debug: 4.3.7 @@ -9812,6 +9872,10 @@ snapshots: optionalDependencies: fsevents: 2.3.3 + chokidar@4.0.1: + dependencies: + readdirp: 4.0.1 + chownr@2.0.0: {} citty@0.1.4: @@ -9849,6 +9913,8 @@ snapshots: colorette@2.0.20: {} + colorjs.io@0.5.2: {} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 @@ -10000,11 +10066,11 @@ snapshots: core-js-compat@3.37.1: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 core-js-compat@3.38.1: dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 core-js@3.38.1: {} @@ -10126,7 +10192,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.4: {} + electron-to-chromium@1.5.28: {} emoji-regex@10.3.0: {} @@ -10293,9 +10359,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.5.1(eslint@9.10.0(jiti@1.21.0)): + eslint-compat-utils@0.5.1(eslint@9.11.1(jiti@1.21.0)): dependencies: - eslint: 9.10.0(jiti@1.21.0) + eslint: 9.11.1(jiti@1.21.0) semver: 7.6.3 eslint-import-resolver-node@0.3.9: @@ -10306,19 +10372,19 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-es-x@7.8.0(eslint@9.10.0(jiti@1.21.0)): + eslint-plugin-es-x@7.8.0(eslint@9.11.1(jiti@1.21.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) '@eslint-community/regexpp': 4.11.0 - eslint: 9.10.0(jiti@1.21.0) - eslint-compat-utils: 0.5.1(eslint@9.10.0(jiti@1.21.0)) + eslint: 9.11.1(jiti@1.21.0) + eslint-compat-utils: 0.5.1(eslint@9.11.1(jiti@1.21.0)) - eslint-plugin-import-x@4.2.1(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3): + eslint-plugin-import-x@4.3.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3): dependencies: - '@typescript-eslint/utils': 8.3.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/utils': 8.6.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) debug: 4.3.7 doctrine: 3.0.0 - eslint: 9.10.0(jiti@1.21.0) + eslint: 9.11.1(jiti@1.21.0) eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.5 is-glob: 4.0.3 @@ -10330,24 +10396,24 @@ snapshots: - supports-color - typescript - eslint-plugin-n@17.10.2(eslint@9.10.0(jiti@1.21.0)): + eslint-plugin-n@17.10.3(eslint@9.11.1(jiti@1.21.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) enhanced-resolve: 5.17.0 - eslint: 9.10.0(jiti@1.21.0) - eslint-plugin-es-x: 7.8.0(eslint@9.10.0(jiti@1.21.0)) + eslint: 9.11.1(jiti@1.21.0) + eslint-plugin-es-x: 7.8.0(eslint@9.11.1(jiti@1.21.0)) get-tsconfig: 4.7.5 globals: 15.9.0 ignore: 5.3.1 minimatch: 9.0.5 semver: 7.6.3 - eslint-plugin-regexp@2.6.0(eslint@9.10.0(jiti@1.21.0)): + eslint-plugin-regexp@2.6.0(eslint@9.11.1(jiti@1.21.0)): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) '@eslint-community/regexpp': 4.11.0 comment-parser: 1.4.1 - eslint: 9.10.0(jiti@1.21.0) + eslint: 9.11.1(jiti@1.21.0) jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -10362,17 +10428,20 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.10.0(jiti@1.21.0): + eslint@9.11.1(jiti@1.21.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.10.0(jiti@1.21.0)) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) '@eslint-community/regexpp': 4.11.0 '@eslint/config-array': 0.18.0 + '@eslint/core': 0.6.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.10.0 - '@eslint/plugin-kit': 0.1.0 + '@eslint/js': 9.11.1 + '@eslint/plugin-kit': 0.2.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 @@ -10532,7 +10601,7 @@ snapshots: dependencies: reusify: 1.0.4 - fdir@6.1.1(picomatch@2.3.1): + fdir@6.3.0(picomatch@2.3.1): optionalDependencies: picomatch: 2.3.1 @@ -10595,11 +10664,11 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(vue@3.5.6(typescript@5.5.3)): + floating-vue@5.2.2(vue@3.5.8(typescript@5.5.3)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.5.6(typescript@5.5.3) - vue-resize: 2.0.0-alpha.1(vue@3.5.6(typescript@5.5.3)) + vue: 3.5.8(typescript@5.5.3) + vue-resize: 2.0.0-alpha.1(vue@3.5.8(typescript@5.5.3)) focus-trap@7.5.4: dependencies: @@ -10957,11 +11026,11 @@ snapshots: is-reference@1.2.1: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 is-reference@3.0.2: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 is-regex@1.1.4: dependencies: @@ -11489,7 +11558,7 @@ snapshots: mimic-function@5.0.1: {} - miniflare@3.20240909.2: + miniflare@3.20240909.5: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.12.1(patch_hash=i6svphyqbutfresqjorapmeqfu) @@ -11539,7 +11608,7 @@ snapshots: mkdirp@1.0.4: {} - mkdist@1.3.0(sass@1.78.0)(typescript@5.5.3): + mkdist@1.3.0(sass@1.79.3)(typescript@5.5.3): dependencies: citty: 0.1.4 defu: 6.1.2 @@ -11551,7 +11620,7 @@ snapshots: mri: 1.2.0 pathe: 1.1.2 optionalDependencies: - sass: 1.78.0 + sass: 1.79.3 typescript: 5.5.3 mlly@1.7.1: @@ -11797,11 +11866,11 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 - playwright-chromium@1.47.1: + playwright-chromium@1.47.2: dependencies: - playwright-core: 1.47.1 + playwright-core: 1.47.2 - playwright-core@1.47.1: {} + playwright-core@1.47.2: {} postcss-import@15.1.0(postcss@8.4.47): dependencies: @@ -11822,13 +11891,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.47 - postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)): dependencies: lilconfig: 3.1.2 yaml: 2.5.0 optionalDependencies: postcss: 8.4.47 - ts-node: 10.9.2(@types/node@20.16.5)(typescript@5.5.3) + ts-node: 10.9.2(@types/node@20.16.7)(typescript@5.5.3) postcss-modules-extract-imports@3.0.0(postcss@8.4.47): dependencies: @@ -12050,6 +12119,8 @@ snapshots: dependencies: picomatch: 2.3.1 + readdirp@4.0.1: {} + refa@0.12.1: dependencies: '@eslint-community/regexpp': 4.11.0 @@ -12135,7 +12206,7 @@ snapshots: rollup-plugin-esbuild@6.1.1(esbuild@0.24.0)(rollup@4.20.0): dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.20.0) debug: 4.3.7 es-module-lexer: 1.5.4 esbuild: 0.24.0 @@ -12144,10 +12215,10 @@ snapshots: transitivePeerDependencies: - supports-color - rollup-plugin-license@3.5.2(picomatch@2.3.1)(rollup@4.20.0): + rollup-plugin-license@3.5.3(picomatch@2.3.1)(rollup@4.20.0): dependencies: commenting: 1.1.0 - fdir: 6.1.1(picomatch@2.3.1) + fdir: 6.3.0(picomatch@2.3.1) lodash: 4.17.21 magic-string: 0.30.11 moment: 2.30.1 @@ -12200,101 +12271,102 @@ snapshots: safer-buffer@2.1.2: {} - sass-embedded-android-arm64@1.78.0: + sass-embedded-android-arm64@1.79.3: optional: true - sass-embedded-android-arm@1.78.0: + sass-embedded-android-arm@1.79.3: optional: true - sass-embedded-android-ia32@1.78.0: + sass-embedded-android-ia32@1.79.3: optional: true - sass-embedded-android-riscv64@1.78.0: + sass-embedded-android-riscv64@1.79.3: optional: true - sass-embedded-android-x64@1.78.0: + sass-embedded-android-x64@1.79.3: optional: true - sass-embedded-darwin-arm64@1.78.0: + sass-embedded-darwin-arm64@1.79.3: optional: true - sass-embedded-darwin-x64@1.78.0: + sass-embedded-darwin-x64@1.79.3: optional: true - sass-embedded-linux-arm64@1.78.0: + sass-embedded-linux-arm64@1.79.3: optional: true - sass-embedded-linux-arm@1.78.0: + sass-embedded-linux-arm@1.79.3: optional: true - sass-embedded-linux-ia32@1.78.0: + sass-embedded-linux-ia32@1.79.3: optional: true - sass-embedded-linux-musl-arm64@1.78.0: + sass-embedded-linux-musl-arm64@1.79.3: optional: true - sass-embedded-linux-musl-arm@1.78.0: + sass-embedded-linux-musl-arm@1.79.3: optional: true - sass-embedded-linux-musl-ia32@1.78.0: + sass-embedded-linux-musl-ia32@1.79.3: optional: true - sass-embedded-linux-musl-riscv64@1.78.0: + sass-embedded-linux-musl-riscv64@1.79.3: optional: true - sass-embedded-linux-musl-x64@1.78.0: + sass-embedded-linux-musl-x64@1.79.3: optional: true - sass-embedded-linux-riscv64@1.78.0: + sass-embedded-linux-riscv64@1.79.3: optional: true - sass-embedded-linux-x64@1.78.0: + sass-embedded-linux-x64@1.79.3: optional: true - sass-embedded-win32-arm64@1.78.0: + sass-embedded-win32-arm64@1.79.3: optional: true - sass-embedded-win32-ia32@1.78.0: + sass-embedded-win32-ia32@1.79.3: optional: true - sass-embedded-win32-x64@1.78.0: + sass-embedded-win32-x64@1.79.3: optional: true - sass-embedded@1.78.0: + sass-embedded@1.79.3: dependencies: - '@bufbuild/protobuf': 1.10.0 + '@bufbuild/protobuf': 2.1.0 buffer-builder: 0.2.0 + colorjs.io: 0.5.2 immutable: 4.0.0 rxjs: 7.8.1 supports-color: 8.1.1 varint: 6.0.0 optionalDependencies: - sass-embedded-android-arm: 1.78.0 - sass-embedded-android-arm64: 1.78.0 - sass-embedded-android-ia32: 1.78.0 - sass-embedded-android-riscv64: 1.78.0 - sass-embedded-android-x64: 1.78.0 - sass-embedded-darwin-arm64: 1.78.0 - sass-embedded-darwin-x64: 1.78.0 - sass-embedded-linux-arm: 1.78.0 - sass-embedded-linux-arm64: 1.78.0 - sass-embedded-linux-ia32: 1.78.0 - sass-embedded-linux-musl-arm: 1.78.0 - sass-embedded-linux-musl-arm64: 1.78.0 - sass-embedded-linux-musl-ia32: 1.78.0 - sass-embedded-linux-musl-riscv64: 1.78.0 - sass-embedded-linux-musl-x64: 1.78.0 - sass-embedded-linux-riscv64: 1.78.0 - sass-embedded-linux-x64: 1.78.0 - sass-embedded-win32-arm64: 1.78.0 - sass-embedded-win32-ia32: 1.78.0 - sass-embedded-win32-x64: 1.78.0 - - sass@1.78.0: - dependencies: - chokidar: 3.6.0(patch_hash=bckcfsslxcffppz65mxcq6naau) + sass-embedded-android-arm: 1.79.3 + sass-embedded-android-arm64: 1.79.3 + sass-embedded-android-ia32: 1.79.3 + sass-embedded-android-riscv64: 1.79.3 + sass-embedded-android-x64: 1.79.3 + sass-embedded-darwin-arm64: 1.79.3 + sass-embedded-darwin-x64: 1.79.3 + sass-embedded-linux-arm: 1.79.3 + sass-embedded-linux-arm64: 1.79.3 + sass-embedded-linux-ia32: 1.79.3 + sass-embedded-linux-musl-arm: 1.79.3 + sass-embedded-linux-musl-arm64: 1.79.3 + sass-embedded-linux-musl-ia32: 1.79.3 + sass-embedded-linux-musl-riscv64: 1.79.3 + sass-embedded-linux-musl-x64: 1.79.3 + sass-embedded-linux-riscv64: 1.79.3 + sass-embedded-linux-x64: 1.79.3 + sass-embedded-win32-arm64: 1.79.3 + sass-embedded-win32-ia32: 1.79.3 + sass-embedded-win32-x64: 1.79.3 + + sass@1.79.3: + dependencies: + chokidar: 4.0.1 immutable: 4.0.0 - source-map-js: 1.2.0 + source-map-js: 1.2.1 sax@1.3.0: {} @@ -12374,12 +12446,12 @@ snapshots: '@shikijs/core': 1.14.1 '@types/hast': 3.0.4 - shiki@1.17.7: + shiki@1.18.0: dependencies: - '@shikijs/core': 1.17.7 - '@shikijs/engine-javascript': 1.17.7 - '@shikijs/engine-oniguruma': 1.17.7 - '@shikijs/types': 1.17.7 + '@shikijs/core': 1.18.0 + '@shikijs/engine-javascript': 1.18.0 + '@shikijs/engine-oniguruma': 1.18.0 + '@shikijs/types': 1.18.0 '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 @@ -12422,8 +12494,6 @@ snapshots: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 - source-map-js@1.2.0: {} - source-map-js@1.2.1: {} source-map-support@0.5.21: @@ -12583,7 +12653,7 @@ snapshots: tabbable@6.2.0: {} - tailwindcss@3.4.11(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3)): + tailwindcss@3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -12602,7 +12672,7 @@ snapshots: postcss: 8.4.47 postcss-import: 15.1.0(postcss@8.4.47) postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3)) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) postcss-nested: 6.2.0(postcss@8.4.47) postcss-selector-parser: 6.1.1 resolve: 1.22.8 @@ -12627,7 +12697,7 @@ snapshots: dependencies: temp-dir: 3.0.0 - terser@5.32.0: + terser@5.33.0: dependencies: '@jridgewell/source-map': 0.3.3 acorn: 8.12.1(patch_hash=i6svphyqbutfresqjorapmeqfu) @@ -12680,14 +12750,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.16.5)(typescript@5.5.3): + ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.16.5 + '@types/node': 20.16.7 acorn: 8.12.1(patch_hash=i6svphyqbutfresqjorapmeqfu) acorn-walk: 8.3.2 arg: 4.1.3 @@ -12745,11 +12815,11 @@ snapshots: type@2.7.2: {} - typescript-eslint@8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3): + typescript-eslint@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.6.0(@typescript-eslint/parser@8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3))(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) - '@typescript-eslint/parser': 8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) - '@typescript-eslint/utils': 8.6.0(eslint@9.10.0(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/eslint-plugin': 8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3))(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/parser': 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) optionalDependencies: typescript: 5.5.3 transitivePeerDependencies: @@ -12763,7 +12833,7 @@ snapshots: uglify-js@3.18.0: optional: true - unbuild@2.0.0(sass@1.78.0)(typescript@5.5.3): + unbuild@2.0.0(sass@1.79.3)(typescript@5.5.3): dependencies: '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) '@rollup/plugin-commonjs': 25.0.4(rollup@3.29.4) @@ -12780,7 +12850,7 @@ snapshots: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.11 - mkdist: 1.3.0(sass@1.78.0)(typescript@5.5.3) + mkdist: 1.3.0(sass@1.79.3)(typescript@5.5.3) mlly: 1.7.1 pathe: 1.1.2 pkg-types: 1.1.1 @@ -12857,9 +12927,9 @@ snapshots: transitivePeerDependencies: - supports-color - update-browserslist-db@1.1.0(browserslist@4.23.3): + update-browserslist-db@1.1.0(browserslist@4.24.0): dependencies: - browserslist: 4.23.3 + browserslist: 4.24.0 escalade: 3.1.2 picocolors: 1.1.0 @@ -12915,24 +12985,24 @@ snapshots: 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): + vitepress@1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.9)(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 - '@docsearch/js': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.6)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docsearch/js': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@shikijs/core': 1.14.1 '@shikijs/transformers': 1.14.1 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.2(vite@packages+vite)(vue@3.5.6(typescript@5.5.3)) + '@vitejs/plugin-vue': 5.1.2(vite@packages+vite)(vue@3.5.8(typescript@5.5.3)) '@vue/devtools-api': 7.3.8 '@vue/shared': 3.4.38 - '@vueuse/core': 11.0.0(vue@3.5.6(typescript@5.5.3)) - '@vueuse/integrations': 11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.6(typescript@5.5.3)) + '@vueuse/core': 11.0.0(vue@3.5.8(typescript@5.5.3)) + '@vueuse/integrations': 11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.3)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 7.1.0 shiki: 1.14.1 vite: link:packages/vite - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) optionalDependencies: postcss: 8.4.47 transitivePeerDependencies: @@ -12955,7 +13025,7 @@ snapshots: - typescript - universal-cookie - vitest@2.1.1(@types/node@20.16.5): + vitest@2.1.1(@types/node@20.16.7): dependencies: '@vitest/expect': 2.1.1 '@vitest/mocker': 2.1.1(vite@packages+vite) @@ -12977,25 +13047,25 @@ snapshots: vite-node: 2.1.1 why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.16.5 + '@types/node': 20.16.7 transitivePeerDependencies: - msw - supports-color void-elements@3.1.0: {} - vue-demi@0.14.10(vue@3.5.6(typescript@5.5.3)): + vue-demi@0.14.10(vue@3.5.8(typescript@5.5.3)): dependencies: - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) - vue-resize@2.0.0-alpha.1(vue@3.5.6(typescript@5.5.3)): + vue-resize@2.0.0-alpha.1(vue@3.5.8(typescript@5.5.3)): dependencies: - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) - vue-router@4.4.5(vue@3.5.6(typescript@5.5.3)): + vue-router@4.4.5(vue@3.5.8(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) vue@3.2.0: dependencies: @@ -13003,20 +13073,20 @@ snapshots: '@vue/runtime-dom': 3.2.0 '@vue/shared': 3.2.0 - vue@3.5.6(typescript@5.5.3): + vue@3.5.8(typescript@5.5.3): dependencies: - '@vue/compiler-dom': 3.5.6 - '@vue/compiler-sfc': 3.5.6 - '@vue/runtime-dom': 3.5.6 - '@vue/server-renderer': 3.5.6(vue@3.5.6(typescript@5.5.3)) - '@vue/shared': 3.5.6 + '@vue/compiler-dom': 3.5.8 + '@vue/compiler-sfc': 3.5.8 + '@vue/runtime-dom': 3.5.8 + '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.5.3)) + '@vue/shared': 3.5.8 optionalDependencies: typescript: 5.5.3 - vuex@4.1.0(vue@3.5.6(typescript@5.5.3)): + vuex@4.1.0(vue@3.5.8(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.5.6(typescript@5.5.3) + vue: 3.5.8(typescript@5.5.3) web-streams-polyfill@3.2.1: {} From 6f030ec15f25a2a1d7d912f1b84d83ebb28a3515 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 25 Sep 2024 22:39:44 +0800 Subject: [PATCH 014/147] refactor: replace `parse` with `splitFileAndPostfix` (#18185) --- packages/vite/src/node/plugins/asset.ts | 12 ++++++------ packages/vite/src/node/plugins/resolve.ts | 6 +----- packages/vite/src/shared/utils.ts | 8 ++++++++ 3 files changed, 15 insertions(+), 11 deletions(-) diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 4da87390cf20ad..2b13308645a0d3 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -1,5 +1,4 @@ import path from 'node:path' -import { parse as parseUrl } from 'node:url' import fsp from 'node:fs/promises' import { Buffer } from 'node:buffer' import * as mrmime from 'mrmime' @@ -25,7 +24,11 @@ import { urlRE, } from '../utils' import { DEFAULT_ASSETS_INLINE_LIMIT, FS_PREFIX } from '../constants' -import { cleanUrl, withTrailingSlash } from '../../shared/utils' +import { + cleanUrl, + splitFileAndPostfix, + withTrailingSlash, +} from '../../shared/utils' import type { Environment } from '../environment' // referenceId is base64url but replaces - with $ @@ -351,7 +354,7 @@ async function fileToBuiltUrl( return cached } - const file = cleanUrl(id) + const { file, postfix } = splitFileAndPostfix(id) const content = await fsp.readFile(file) let url: string @@ -371,9 +374,6 @@ async function fileToBuiltUrl( } } else { // emit as asset - const { search, hash } = parseUrl(id) - const postfix = (search || '') + (hash || '') - const originalFileName = normalizePath( path.relative(environment.config.root, file), ) diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index c0b5314d867a18..f740981ba1ef21 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -53,6 +53,7 @@ import { cleanUrl, isWindows, slash, + splitFileAndPostfix, withTrailingSlash, } from '../../shared/utils' @@ -589,11 +590,6 @@ function ensureVersionQuery( return resolved } -function splitFileAndPostfix(path: string) { - const file = cleanUrl(path) - return { file, postfix: path.slice(file.length) } -} - export function tryFsResolve( fsPath: string, options: InternalResolveOptions, diff --git a/packages/vite/src/shared/utils.ts b/packages/vite/src/shared/utils.ts index 3b3507a8280c82..666ed737ab55e5 100644 --- a/packages/vite/src/shared/utils.ts +++ b/packages/vite/src/shared/utils.ts @@ -33,6 +33,14 @@ export function cleanUrl(url: string): string { return url.replace(postfixRE, '') } +export function splitFileAndPostfix(path: string): { + file: string + postfix: string +} { + const file = cleanUrl(path) + return { file, postfix: path.slice(file.length) } +} + export function isPrimitive(value: unknown): boolean { return !value || (typeof value !== 'object' && typeof value !== 'function') } From 1166a90728666a76a1e0d5f3e365d5d50a7dcd0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 26 Sep 2024 16:54:49 +0900 Subject: [PATCH 015/147] test: misc fixes (#18200) --- playground/alias/vite.config.js | 1 + .../__tests__/css-lightningcss-proxy.spec.ts | 4 ++-- playground/css/index.html | 8 -------- playground/vitestSetup.ts | 2 +- 4 files changed, 4 insertions(+), 11 deletions(-) diff --git a/playground/alias/vite.config.js b/playground/alias/vite.config.js index 1312b295b985dd..6d7cbc32413433 100644 --- a/playground/alias/vite.config.js +++ b/playground/alias/vite.config.js @@ -39,5 +39,6 @@ export default defineConfig({ define: { __VUE_OPTIONS_API__: true, __VUE_PROD_DEVTOOLS__: true, + __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false, }, }) diff --git a/playground/css-lightningcss-proxy/__tests__/css-lightningcss-proxy.spec.ts b/playground/css-lightningcss-proxy/__tests__/css-lightningcss-proxy.spec.ts index c42f09e8bbad9e..3d5cbc2ebaf142 100644 --- a/playground/css-lightningcss-proxy/__tests__/css-lightningcss-proxy.spec.ts +++ b/playground/css-lightningcss-proxy/__tests__/css-lightningcss-proxy.spec.ts @@ -1,10 +1,10 @@ import { describe, expect, test } from 'vitest' import { port } from './serve' -import { getColor, page } from '~utils' +import { getColor, isServe, page } from '~utils' const url = `http://localhost:${port}` -describe('injected inline style', () => { +describe.runIf(isServe)('injected inline style', () => { test('injected inline style is present', async () => { await page.goto(url) const el = await page.$('.ssr-proxy') diff --git a/playground/css/index.html b/playground/css/index.html index 45a38cdf9341b8..e179c208a7c82f 100644 --- a/playground/css/index.html +++ b/playground/css/index.html @@ -15,7 +15,6 @@

CSS

image

Imported css string:

-

   

   

 
@@ -37,7 +36,6 @@ 

CSS

url starts with function call

Imported SASS string:

-

   

@import dependency w/ no scss entrypoint: this should be lavender

@@ -55,8 +53,6 @@

CSS

contains alias

url starts with variable

-

Imported Less string:

-

 
   
tests Less's `data-uri()` function with relative image paths @@ -87,8 +83,6 @@

CSS

Stylus define function via vite config preprocessor options: This should be rgb(255, 0, 98)

-

Imported Stylus string:

-

 
   

SugarSS: This should be blue

@@ -98,8 +92,6 @@

CSS

@import from SugarSS: This should be darkslateblue and have bg image which url contains alias

-

Imported SugarSS string:

-

 
   

CSS modules: this should be turquoise

Imported CSS module:

diff --git a/playground/vitestSetup.ts b/playground/vitestSetup.ts index 4b38fbbc9cac34..2b2385209b0e32 100644 --- a/playground/vitestSetup.ts +++ b/playground/vitestSetup.ts @@ -270,7 +270,7 @@ export async function startDefaultServe(): Promise { }, ) if (buildConfig.builder) { - const builder = await createBuilder({ root: rootDir }) + const builder = await createBuilder(buildConfig) await builder.buildApp() } else { const rollupOutput = await build(buildConfig) From e003a2ca73b04648e14ebf40f3616838e2da3d6d Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Thu, 26 Sep 2024 16:56:51 +0900 Subject: [PATCH 016/147] fix(ssr): fix source map remapping with multiple sources (#18150) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Ari Perkkiö --- .../fixtures/multi-source-sourcemaps/dist.js | 11 ++++++++ .../multi-source-sourcemaps/dist.js.map | 7 ++++++ .../multi-source-sourcemaps/entrypoint.js | 12 +++++++++ .../nested-directory/nested-file.js | 1 + .../node/ssr/__tests__/ssrTransform.spec.ts | 25 +++++++++++++++++++ packages/vite/src/node/ssr/ssrTransform.ts | 15 ++++------- 6 files changed, 61 insertions(+), 10 deletions(-) create mode 100644 packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js create mode 100644 packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js.map create mode 100644 packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/entrypoint.js create mode 100644 packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/nested-directory/nested-file.js diff --git a/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js new file mode 100644 index 00000000000000..270580dfd19fbe --- /dev/null +++ b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js @@ -0,0 +1,11 @@ +// nested-directory/nested-file.js +var nested_file_default = + 'Nested file will trigger edge case that used to break sourcemaps' + +// entrypoint.js +function entrypoint() { + console.log(nested_file_default) + throw new Error('Hello world') +} +export { entrypoint } +//# sourceMappingURL=dist.js.map diff --git a/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js.map b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js.map new file mode 100644 index 00000000000000..b7c04059a25172 --- /dev/null +++ b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/dist.js.map @@ -0,0 +1,7 @@ +{ + "version": 3, + "sources": ["nested-directory/nested-file.js", "entrypoint.js"], + "sourcesContent": ["export default 'Nested file will trigger edge case that used to break sourcemaps'\n", "/*\n * You can rebuild this with:\n * - rm -f ./dist.js ./dist.js.map\n * - npx esbuild --bundle entrypoint.js --outfile=dist.js --sourcemap --format=esm\n */\n\nimport nested from './nested-directory/nested-file'\n\nexport function entrypoint() {\n console.log(nested)\n throw new Error('Hello world')\n}\n"], + "mappings": ";AAAA,IAAO,sBAAQ;;;ACQR,SAAS,aAAa;AAC3B,UAAQ,IAAI,mBAAM;AAClB,QAAM,IAAI,MAAM,aAAa;AAC/B;", + "names": [] +} diff --git a/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/entrypoint.js b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/entrypoint.js new file mode 100644 index 00000000000000..296dbdcd39cfa0 --- /dev/null +++ b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/entrypoint.js @@ -0,0 +1,12 @@ +/* + * You can rebuild this with: + * - rm -f ./dist.js ./dist.js.map + * - npx esbuild --bundle entrypoint.js --outfile=dist.js --sourcemap --format=esm + */ + +import nested from './nested-directory/nested-file' + +export function entrypoint() { + console.log(nested) + throw new Error('Hello world') +} diff --git a/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/nested-directory/nested-file.js b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/nested-directory/nested-file.js new file mode 100644 index 00000000000000..83bb722b8fe67c --- /dev/null +++ b/packages/vite/src/node/ssr/__tests__/fixtures/multi-source-sourcemaps/nested-directory/nested-file.js @@ -0,0 +1 @@ +export default 'Nested file will trigger edge case that used to break sourcemaps' diff --git a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts index 240a9a5bf007bc..e9ec999fafa9ab 100644 --- a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts +++ b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts @@ -463,6 +463,31 @@ test('sourcemap with multiple sources', async () => { } }) +test('sourcemap with multiple sources and nested paths', async () => { + const code = readFixture('dist.js') + const map = readFixture('dist.js.map') + + const result = await ssrTransform(code, JSON.parse(map), '', code) + assert(result?.map) + + const { sources } = result.map as SourceMap + expect(sources).toMatchInlineSnapshot(` + [ + "nested-directory/nested-file.js", + "entrypoint.js", + ] + `) + + function readFixture(filename: string) { + const url = new URL( + `./fixtures/multi-source-sourcemaps/${filename}`, + import.meta.url, + ) + + return readFileSync(fileURLToPath(url), 'utf8') + } +}) + test('overwrite bindings', async () => { expect( await ssrTransformSimpleCode( diff --git a/packages/vite/src/node/ssr/ssrTransform.ts b/packages/vite/src/node/ssr/ssrTransform.ts index 14b55aead1d802..360f1d76f66d49 100644 --- a/packages/vite/src/node/ssr/ssrTransform.ts +++ b/packages/vite/src/node/ssr/ssrTransform.ts @@ -351,6 +351,10 @@ async function ssrTransformScript( }) let map = s.generateMap({ hires: 'boundary' }) + map.sources = [path.basename(url)] + // needs to use originalCode instead of code + // because code might be already transformed even if map is null + map.sourcesContent = [originalCode] if ( inMap && inMap.mappings && @@ -358,18 +362,9 @@ async function ssrTransformScript( inMap.sources.length > 0 ) { map = combineSourcemaps(url, [ - { - ...map, - sources: inMap.sources, - sourcesContent: inMap.sourcesContent, - } as RawSourceMap, + map as RawSourceMap, inMap as RawSourceMap, ]) as SourceMap - } else { - map.sources = [path.basename(url)] - // needs to use originalCode instead of code - // because code might be already transformed even if map is null - map.sourcesContent = [originalCode] } return { From 70813c7f05fc9a45d102a53514ecac23831e6d6b Mon Sep 17 00:00:00 2001 From: GU Yiling Date: Thu, 26 Sep 2024 16:21:25 +0800 Subject: [PATCH 017/147] fix: asset import should skip handling data URIs (#18163) --- packages/vite/src/node/plugins/assetImportMetaUrl.ts | 10 +++++++++- playground/assets/__tests__/assets.spec.ts | 12 ++++++++++++ playground/assets/index.html | 11 +++++++++++ 3 files changed, 32 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/assetImportMetaUrl.ts b/packages/vite/src/node/plugins/assetImportMetaUrl.ts index 1b2473137c5431..03686fc638cb9a 100644 --- a/packages/vite/src/node/plugins/assetImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/assetImportMetaUrl.ts @@ -3,7 +3,12 @@ import MagicString from 'magic-string' import { stripLiteral } from 'strip-literal' import type { Plugin } from '../plugin' import type { ResolvedConfig } from '../config' -import { injectQuery, isParentDirectory, transformStableResult } from '../utils' +import { + injectQuery, + isDataUrl, + isParentDirectory, + transformStableResult, +} from '../utils' import { CLIENT_ENTRY } from '../constants' import { slash } from '../../shared/utils' import { createBackCompatIdResolver } from '../idResolver' @@ -102,6 +107,9 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { } const url = rawUrl.slice(1, -1) + if (isDataUrl(url)) { + continue + } let file: string | undefined if (url[0] === '.') { file = slash(path.resolve(path.dirname(id), url)) diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index 5f2f6af6082763..842209d1f147b9 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -440,6 +440,18 @@ test('new URL("/...", import.meta.url)', async () => { ) }) +test('new URL("data:...", import.meta.url)', async () => { + const img = await page.$('.import-meta-url-data-uri-img') + expect( + (await img.getAttribute('src')).startsWith('data:image/png;base64'), + ).toBe(true) + expect( + (await page.textContent('.import-meta-url-data-uri')).startsWith( + 'data:image/png;base64', + ), + ).toBe(true) +}) + test('new URL(..., import.meta.url) without extension', async () => { expect(await page.textContent('.import-meta-url-without-extension')).toMatch( isBuild ? 'data:text/javascript' : 'nested/test.js', diff --git a/playground/assets/index.html b/playground/assets/index.html index cf79dab2830275..17858c6692d82d 100644 --- a/playground/assets/index.html +++ b/playground/assets/index.html @@ -250,6 +250,10 @@

new URL('/...', import.meta.url)

+

new URL('data:...', import.meta.url)

+ + +

new URL('...', import.meta.url (without extension))

@@ -498,6 +502,13 @@

assets in template

text('.import-meta-url-base-path', metaUrlBasePath) document.querySelector('.import-meta-url-base-path-img').src = metaUrlBasePath + const metaUrlDataUri = new URL( + 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAAA0CAYAAADWr1sfAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTAyNkI1RkE4N0VCMTFFQUFBQzJENzUzNDFGRjc1N0UiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTAyNkI1Rjk4N0VCMTFFQUFBQzJENzUzNDFGRjc1N0UiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTc3NzA2Q0Y4N0FCMTFFM0I3MERFRTAzNzcwNkMxMjMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTc3NzA2RDA4N0FCMTFFM0I3MERFRTAzNzcwNkMxMjMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6nwnGxAAAJtklEQVR42txZ6W9c1RU/970373nsJHgZ27FThahSV8BCqGQTlIQ2EiUBReqHVpT8Af0r+NA/ogpqqWiDKrZuKYQPLGEpAlEFiqOgICSUBOKQhDjxeGY885bb37n3TGKPZ+4bx0uWK53Ec+cu53fPfkbtfu13B4noF6AQVAEpah0ak3cUSBU8qh46RfWj50ltKJDXXyBKdMtibI+TXlLqm2C87y/+eO/vlVIVnWbUcShFyld8T19ypvLbZKpyALOjVPCqrUcT1mWXYtIzMUV7Rqn315tJJyk+J51OZwb7QA3QkQD/fAL6JWiIXKMOhkOPwp1DFE/OkJ6NAQxn+fhuPhaFOc8DE9loern+hD9SfJVCdaLdOy5gif9rpHfyHp3pCX5cs6X1PfnORkr+SA9FO4bsgkZm1ykngm8ZK06ll0EvgWY6SwDn1fGKcykVfriewh2D5oKskhhw5KmFzLO0MJdO1yfS87UD2Uxc0tXErM+qLYQ5XUspK8el9JvagXSmPmH2W4lfG3wHNMHciXnmIfj+OvCVga8sD+yMYHyZAZ8H/Qk06dySaiNljf/DB0vklWAB1RQqnS0WA18eQE0Dz0++rjyRluOJDHuzWkwZNAPgLPHfPIeHTK/EEzHWKt/zDdh2asBmUUnJg3TDB0rQIuYptby5x6RgPO/JxIes304p44V1DMAzKQUbe4xqa62h2vbFyWuxeUie1RKqvVmXG/sxOaYKPqliQKp3HmEOB43pWaxJaTPvUV6rdK3Z6FloGUt35yD54EGXEwvaU3nSPSIYF7D5T/mio1rzS7Jaa1we4YWDzb1GUpptqJ1OGUl7BJX+jS7HP/OKEPlgRH5/SP5AZMjrCTz+jtdQQckxauEZ/IZ4bKyhYEsv7h6GpmGuhnsznafORwQbtQKGY6F/gy64pMxPnF2JSQ33UM/ecWNX/PJG3RbYsn15qCiYTQdhr49j9m4jQd8zXlkFZv3d/B087SBM4OodC+5kJYIX5r09+8ZIDYYAn4gqOdFeEEwn2gFmMb0BesEpZeOxARAOJ4SXjLbDlljKcbaQ0ebwrRNLy409oH1Xz1H2xrRc3wfaYx1dm/sgQTyYMZ1wZ4nC+4es76gnC3lqP14QTFk7wDymQH8DnXKCZibKiQHY89gY+aUeGwcT66xaw40JMUnWn52t7NWVeKt5GNaUarw1naruxXn9Rrrz9jRjLsd5PtsfZY3aaBZo9tT5qnxKsExRizto59EOccRzJQomHAC0DzsOHxwy3lvXk8VxU1u1VJFPaSW5B177SRtfNaVnq08izNyjQl9UefFe4zNwdoTI4I8XTfznu3NUORYMiyKP10HvD4neZy7VzqBaHEOjnw5TsKnXfgaDRjKqxWuzzRKtTy/Wt2W1ZAukuyX9tr4Ns+vZpheAVfKoOCuDKrNzDB8Ysp9Znd2qnAnvh9r5I8+hDs86HRhfCIlyQqGgbuHDI0Sz9gHaZj0sQXhhpJhbktOVp5Kvak/x31Sg9rarRXVxXvjwKJxk0Z7N/sOjPEf1bCez7LS1Ji/0iduBAUAD6JDpRFsHqfDjDZRdTqyU26gn2ykkXUovzf2KCV66ZGxXL9YeVtsMMb9w1x0U/WTAADWqnGO4wvMhwdA14PmqfbLjClZdTkaqCFPrAor2byIvUsZrd5Syp4BaFYW8RUmDeG8+wwsVRY+Pk7c+MJpkChXfCfhkJ1XuBjCPV0Bvt0nhFwoPiQfbVjixgaKHho3qGSlbgIu9ti/VEdHifJkdVc2aRoizwnv7kT+nNuy5hxZeX3EtygM8DfoX6FPnCcxL1Yap6NGNCCFFk5x0ETra2i7v9TcWqbh3zIbASmzvcHP7qfA6vRzAJIH7JWeYktRPz2a2bHuoZKpEdjgWdBeoWboMTpwea4o3GiF1lXzZPWLh8Y3ca7oAPAd6E/RubjLCkgBz4fYhCu6cl2d73UmX13KSUcDecNugqX2Np9a5mvKu8Di3EoB5HAP9WboGnZMRFiiXb0MhhYjNOrbeVsc5DPPexEqXz+C9HufLHHPT3PyxIbwd6wZIt4DnxCG81lG1JT9miZiaGeVj8L0+m3I2UrdaezY/z65Auj9ab0vPNLOlp+fEGwtPb3cj3aUA5nEWdDA3GTGMpqT6AupFmLLpYWaL9Hag2XZZdVHqcR1cfGzchDhdyWwFpnKTjIPCG600YFad96S+rHeOzZ5tB7Et3jeItLNk8+Fa2j6jYnU2YSyhaNcwFe4dMHv5DD7L1WUTXt5zmtoyADe7Bwfn15cdHZix3cxIzB+ObC+q2Z1Q6pq0E6gynF0A715ErasbqQWbH9JOCC8zSwGwVMA8Phb3X3a2g5BnZ5cRT78Dj7trxMRR7liY+lhdu5ntVnFDFLm4N1a0nr2e5rVtysLDx0tl/noAc9X7TLNH5KxZuC1Tg6puH0SYKtoaumFrYWPbsS0xg+/2UbjVVkNXW67u8aHwkKwFYB6fgQ47nYXXBBSbEBPtGjUtnWy6YcEm/F1q5sLdkO5AQTonuap8Vu7+7HoYv17APF4Fve6KrabEkzhcuH+AAuTFGmmjkeScbdsU7hswxGtMkqJzM7PX5W5aa8BfSDdwyt30I9Nw44qn+MgYef1IKC42SLN9D4TU8+iYCWGmKSfdEceYkju/uBGAebwvDW53KcOeFxlYcBeqqd3DBiznyCHCUPCDdUTsweM0765M7np/OQwvF/A5aYOedDcKmo23zP5qsalovTfny9wL4xQyP18+KXedu5GAmx0G9pizrsrAJCOQsuovUPTIKIU/HzG/SPKczks97dnPODswXY5gBQDXxK72g3a0fURT5yoTY7nw5w6ksVcAzZq/C7mbcv+TO2rLZXYlJMzjtNjXBedN7IlBXuibtq3ph8W5vw1dkLNPrwSjKwWY89oXQf9xNgqaXruaWLulXK8cy5kvOvP3GwC4mWc/50wImj+xaLrmpFRugvPcUvPltQJMUr0cXcHzjpLrF82bAHBN1O+dFTjrHTmrdjMD5vER6B/LZLQmZ3y00sytBuC65LtvLeOMt+SM+q0AmMekNNbK17G3LHsnV4Ox1QLM4wNRy3gJe2LZ88FqMbWagL8CPe2sptpXQ0/L3lsOMGcW3Cv+O+hyF+svy9pjsveWA9z0tn8Afd7F2s9lbW01GVptwJxTHZfE3/Uj17SsOU7ddLRuYsDN8decDOyorFn1sVaAvyT7k8iZNt+dke++vJ0A8+CfMw+3mT8s39HtBviSgDs+b+64zF26HQHz+C/o+Xmfn5c5ul0BXyT7w/U5oTdlbs1GQGs/vgb9cd7fazr+L8AAD0zRYMSYHQAAAAAASUVORK5CYII=', + import.meta.url, + ) + text('.import-meta-url-data-uri', metaUrlDataUri) + document.querySelector('.import-meta-url-data-uri-img').src = metaUrlDataUri + const metaUrlWithoutExtension = new URL('./nested/test', import.meta.url) text('.import-meta-url-without-extension', metaUrlWithoutExtension) ;(async () => { From eb08f605ddadef99a5d68f55de143e3e47c91618 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Thu, 26 Sep 2024 17:22:38 +0900 Subject: [PATCH 018/147] fix(css): fix lightningcss dep url resolution with custom root (#18125) --- packages/vite/src/node/plugins/css.ts | 5 ++++- .../__tests__/css-lightningcss-root.spec.ts | 9 +++++++++ playground/css-lightningcss-root/package.json | 14 ++++++++++++++ playground/css-lightningcss-root/root/index.html | 3 +++ playground/css-lightningcss-root/root/main.js | 1 + playground/css-lightningcss-root/root/ok.png | Bin 0 -> 4986 bytes .../css-lightningcss-root/root/url-dep.css | 7 +++++++ playground/css-lightningcss-root/vite.config.js | 8 ++++++++ pnpm-lock.yaml | 6 ++++++ 9 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 playground/css-lightningcss-root/__tests__/css-lightningcss-root.spec.ts create mode 100644 playground/css-lightningcss-root/package.json create mode 100644 playground/css-lightningcss-root/root/index.html create mode 100644 playground/css-lightningcss-root/root/main.js create mode 100644 playground/css-lightningcss-root/root/ok.png create mode 100644 playground/css-lightningcss-root/root/url-dep.css create mode 100644 playground/css-lightningcss-root/vite.config.js diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 6fa5904ddabd95..faa5f10e8146c1 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -3095,7 +3095,10 @@ async function compileLightningCSS( } deps.add(dep.url) if (urlReplacer) { - const replaceUrl = await urlReplacer(dep.url, dep.loc.filePath) + const replaceUrl = await urlReplacer( + dep.url, + toAbsolute(dep.loc.filePath), + ) css = css.replace(dep.placeholder, () => replaceUrl) } else { css = css.replace(dep.placeholder, () => dep.url) diff --git a/playground/css-lightningcss-root/__tests__/css-lightningcss-root.spec.ts b/playground/css-lightningcss-root/__tests__/css-lightningcss-root.spec.ts new file mode 100644 index 00000000000000..786d17f124ab87 --- /dev/null +++ b/playground/css-lightningcss-root/__tests__/css-lightningcss-root.spec.ts @@ -0,0 +1,9 @@ +import { expect, test } from 'vitest' +import { getBg, isBuild, page, viteTestUrl } from '~utils' + +test('url dependency', async () => { + const css = await page.$('.url-dep') + expect(await getBg(css)).toMatch( + isBuild ? /ok-[-\w]+\.png/ : `${viteTestUrl}/ok.png`, + ) +}) diff --git a/playground/css-lightningcss-root/package.json b/playground/css-lightningcss-root/package.json new file mode 100644 index 00000000000000..e1669e89b1a80d --- /dev/null +++ b/playground/css-lightningcss-root/package.json @@ -0,0 +1,14 @@ +{ + "name": "@vitejs/test-css-lightningcss-root", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", + "preview": "vite preview" + }, + "devDependencies": { + "lightningcss": "^1.27.0" + } +} diff --git a/playground/css-lightningcss-root/root/index.html b/playground/css-lightningcss-root/root/index.html new file mode 100644 index 00000000000000..df2820bbe74c59 --- /dev/null +++ b/playground/css-lightningcss-root/root/index.html @@ -0,0 +1,3 @@ +

url() dependency

+
+ diff --git a/playground/css-lightningcss-root/root/main.js b/playground/css-lightningcss-root/root/main.js new file mode 100644 index 00000000000000..fe93503f500dd8 --- /dev/null +++ b/playground/css-lightningcss-root/root/main.js @@ -0,0 +1 @@ +import './url-dep.css' diff --git a/playground/css-lightningcss-root/root/ok.png b/playground/css-lightningcss-root/root/ok.png new file mode 100644 index 0000000000000000000000000000000000000000..a8d1e52510c41ceeaf3515ee2f594a82557d1685 GIT binary patch literal 4986 zcmZ`*2RK|?*B+e_JxHPrqC^`dI%D+CL?i|g27@8m=!PJK=%R!nQKA!~B)aHPqD6@= zdX1Xs?IXGWz4!UQ|3BwBXT4{y^{#jAwa>H935DsXk^yf40RRA*x|)*SrIo+D1c?bR z?>eFMtN;LT2BoM7Q&&_3!O)IYs3%AOKrJ*Okx2i(;Vu6y%xWZ*nhnJ9i&KruKfWK2 zyFN@q4VQ$YH7MOol~C15pOUIc*gumE7!~CoK~QR@T#8_ck(W0lA{Eo$$I(o}%GP4` z{gywSytz0#03S?ZdM^O!LEBja*Wk4NTIv;iY>g?j^l6RFdwA68IJmpt=64qLbl`Ae zsHN?BVO;}h`p(g-;i~t37w4wWIVro20MJlkF4Bclt)PjRoiK0$63<^MVudWxQnUR? ztoho_SWq+G{A;OB)6bG#&%PGWh~1-t5HsNTbN%!z(+6~jy+}=H(N#W;X`!rmN!&^u zWWfHTiGBy4nBBSQU3d38XJ&=bYo&>}Pz0!3=RB@&sNqoe;qmg0UV@C_NYIRL8yZCj zKDd}nzTn5+49ma4*#Qc-44~@hR@&cs?ESDLmZS5hLN1&ysU*$pC7Ymk*bzD{=nmbs zPhf(b$kKBy=djVV!e4Pck;lVEfh(vYePen*(4_xexEL1)_4uNw7g9S@HCXq4M@ zoTDVHrmue)WDm@>_lft$vMFF2VAM0ROe3a-n4DAHy|C)8k7IB1pvaB7)zjzHy&rVF zUJHu{^p7}>a~h$*J^K$o$65v5*?4{vN26YbORrjtLGtyWT}wPB=`$%X#e9bJ6iU2X z0=-*8A4PbXeAZR z0kwH*@;Bs$eAF&xp*LP@J@yO0MgSi=-}Ir^h8{443rHS60vh&ak;|Sp1K84W3H$MD z8Yz=-cyCK{%@EebLIt^;PVmLL0P#8Q<@&aNZbRBN>~_iRiPph zIKBR)Gr%gGP5+Q|qF;fDW;g1HGAZ$AK|rODyR5PuH_C#3fW#JXj^tTk_}3{oRuxPPfcU$Yax& zEFc{Aw^epacgXODDdy?g@FhoCWfb*0tUz7wCPzPxcpN(IU#zsHDxT4o;h2H>+Opz! z1E|7a5$fFLB;=f=-%YK>n!{L5?{dwB*@b8@+AF%v91FkyPDG57AzHgdpv9qavsKJ| zqQqnr@`IQ>WU$q6ZqhkJf?0sU;Kf9g^b6_8+R*iO-`2QoZ%^quIS3B8X?gz34$*e* zw)jrpPA2|?XF^R0lp2(jXp$6S3~^D=deGBm?t76o8m?R_RD&<YJhyi6i@G1>fr2=#kL(>V|RoR808IB-F{LdAHGCc25bC1PG#!Gb> zcF}aH($<811R5x(muX~cWUDXcbn)^8*lI1p==FZ)Ee>T4tq-w2cvcWv5Y40OmTjA` z<~-~$OeI>ATx67Ilrv8F5zjVph|oqNnWQJ0Go7~I7G;g{b-g|nv#Gc|I5Ke1-#2)2 z6CQjg@Qa$obrEtQshcfpcio8gZtP{RJy_!!#w2m)ki>oIHghm%Moc50re=r)iYQ80 zoJ9oR6u0*2Ps*RoW*y=luo}wKENoc8gM~X3(8HF-}S}_+#k^t*RIq$h~G?SHtAE; zeP@v4VYEe{`KAqlEa8DK!&{EWj{}Z@XSQcLXZP^#2igSs1gZqK2P-L7Ai@w>MD1+J z%ha!rG8a|$R45`yK0mQ|xg$1DK2O1!!&%C?u9d7!s3odZo#U0WmlNI1ZIx;j-ecSC zkYdp@wzRq=-Qx&vq>G|s3+D-6e^rtlmpzKkMUL=w^CcR_8j6jgEMzS7E_`g4 zw_E_MhwvHyETzr9YV@Oxa_?>Ko2@ zPUucX$X}5wgqV;YFs??qFpWr7NI!K$yT?k3N{~r0NODPTIc-{rj3R!J{RkJhLGPIO zK!EEJq*|)ls+QULtfi-me`>>jqLFb>vRM+d^sAbo>gQzP6h;Qltj;Xw{mXL=vnyjK zljeQXo1|{vTXs3gWk7;R@_n6s9df$8PVTVk_}w<@r}7cuA>EPt@z>M0XFO-AhYW|g z$0H{cL=uF2q&B3j_=H5S@ZDY9s(c)nJR~|KZIt_~&CpJkPRQ*+%5X|Uwe?4y4*iq- zE-XDFsa)6*Mxa7TOx{y@h~|gL~8WQr(cePqVN!8Q&~M)?Gto5wg-AEyAUYS<`Fi{82!57b+o4W zD@K!o3jMNQw#CYu$CJxm=U#IBir{&$ooR7{PtWc&?Q7a$-i(A!-U)-7#XRug1}U?> zbJ14ORlDNFiG{?a24jZWijUA-GdKC~9ys5J=?kuR0c%I9izd!wk1;z3Z`LSywJN-PPZYbsV2I|wJZ^I=<`y4-hJYM-n#?h~69@aKjf z5-M^Jhww!g#mL0NlQBkf#x+qyOpcCjcC!10d+$$lR?_mM@}Hsy@66>tyKj;EQz!a^ z`b2PVR_dyq>CpN1lgY7(<>o%OR0@dS&a;c>zJ9JugL347yeR;I6Pc_k}$v6Md_Wa|X@ph%E1=hks zFEv8^D=<9pNAN#MXH$e=^Q0EJ?l zl6q7QM>gt#Fz6BbIba1h8bmhu4s0RRWrBV8DSGcy8l!c?c0K(GI94X*w?{q~0 z$aqR!LVKhu0_17`#KA?%Q6%3t)$Cs{TdS63$~FxbPxL%>5sz!7Z?7Lt^d1Pcm-g@ySqBlums99$8e z{0=Vcf0F!99wnrU1sdh#igI)SUFAiXJG!~bvawwW{eAqY6X}WiN6EqEuW4OQ5PanU z3ke8<|1X*=%Ig22U3vb{e$VTVoXk}+DHzHV`NU8OWq;Y#%hDisC1if9{FmdOI{y$K zxFFGrj`o*4SI9rB@)!Bv&i_sPtqA`|QB3sTivM!_i+D8wDP1(`QVem`L5PqH_`k;f zikAUjwfA4`{0+a#&{bE3XOap7%002R{x{|!U4Z#K+rKN9h9fHTfT6Qa) z4{Y6ddS0CkX-^>( zxOjLJxD?HkmW|f9X(T?J-K>8B5U!8p_M(61HW1B-4GmSN3{~nM*yVCP_|+K4b!KLB z$dic+l{Nn~6Rv(AC z1FKTm+S}V%*C$6{`uey*iK-|21TA0l)Zn!b6Cd>K^JCW9zdDONx>MU-aB#R|I%m~eo6M=u^BIkm z)j>ayAomTE7{2gmxhQ+2kmf5zJ3HR0DsMBH-6mGnlP2pv2SGtW=ux>fyVIU6?ZVQc zqMx6fue;}F&=${^rluz5y(;0X9||qa2pgLh$)jUq^4{J&c?AV%wviuOw zl@44MJUqPcU-29<#^lxwU9BXcLz`{Qj`Z1|?oN)6kH?(#NRED*!n(hFC*idl{~>wO z-PTBIvWDZWRMtXRI8ffy)U>!qL&{JdvX-rHG@yA*_I1o}%g&6K7Of>-& zJPsz)BO@Xt`UuJhtx}x-~LVnovYU1icaewG;TPzZv)Jd+hNg@vGls}^HS%XRuS z^M|k4sqW=@pTZf}f$T7<^l6_Z8-4uI@o^YcwWgX5M6|&;Uxt_XHc+yL5Z^}uFE%vn zHD_V5NyylkAvO?1gV65Lotd3|o-0Q|;j#VmXF@($H!mlL&@?AELqn+i`TL@xmI`4k z2lzop7xdiL_pI+m;uEW9&v0kSmIUODjY&VJ%7yIjlXD9Q1XNVG53!@(q@}g2*ko!o zJJst~!}YJJtDC|^%7VTPf8&#A);uj*sJ~6zDruM_EL;v^XAgJbL)XSTu`zeBBq%?U z2N_mgK)ENYf0DW>E=AYXF@hEg_+pL8V?hgS>|&g^9L_!QaPdw#%(0FvX|hg51=O(+ zT}uN08)f#XS#M%#R#yi*tImpx3PaW|qQ(YlzSz5T;iHzjk)*PuF-%h(9o+mRG&D3N zC4$SYoje;`%9V)(&Ed=+%H~~oh>%2Q4M+3xX6M9L8{i|vF824%=R&;w2fP57lKV)S b37?V{t|cgkE9S{uec08Nb(D$~%%1%R{RRHc literal 0 HcmV?d00001 diff --git a/playground/css-lightningcss-root/root/url-dep.css b/playground/css-lightningcss-root/root/url-dep.css new file mode 100644 index 00000000000000..f56470afc0bb51 --- /dev/null +++ b/playground/css-lightningcss-root/root/url-dep.css @@ -0,0 +1,7 @@ +.url-dep { + background-image: url('./ok.png'); + background-size: cover; + width: 50px; + height: 50px; + border: 1px solid black; +} diff --git a/playground/css-lightningcss-root/vite.config.js b/playground/css-lightningcss-root/vite.config.js new file mode 100644 index 00000000000000..6e42d3e20e28be --- /dev/null +++ b/playground/css-lightningcss-root/vite.config.js @@ -0,0 +1,8 @@ +import { defineConfig } from 'vite' + +export default defineConfig({ + root: 'root', + css: { + transformer: 'lightningcss', + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 35d6ea3006f2e2..00995545b69a55 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -598,6 +598,12 @@ importers: specifier: ^1.27.0 version: 1.27.0 + playground/css-lightningcss-root: + devDependencies: + lightningcss: + specifier: ^1.27.0 + version: 1.27.0 + playground/css-no-codesplit: {} playground/css-sourcemap: From 9470011570503a917021915c47e6a2f36aae16b5 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Thu, 26 Sep 2024 19:39:32 +0900 Subject: [PATCH 019/147] fix: require serialization for `HMRConnection.send` on implementation side (#18186) --- docs/guide/api-environment.md | 6 +++--- packages/vite/src/client/client.ts | 2 +- .../src/node/ssr/runtime/serverHmrConnector.ts | 4 ++-- packages/vite/src/shared/hmr.ts | 14 ++++++-------- 4 files changed, 12 insertions(+), 14 deletions(-) diff --git a/docs/guide/api-environment.md b/docs/guide/api-environment.md index 70b9585eaa9aab..e1b3c0c4bebf6b 100644 --- a/docs/guide/api-environment.md +++ b/docs/guide/api-environment.md @@ -914,13 +914,13 @@ This keeps the HTML processing server agnostic. ```ts export interface ModuleRunnerHMRConnection { /** - * Checked before sending messages to the client. + * Checked before sending messages to the server. */ isReady(): boolean /** - * Send a message to the client. + * Send a message to the server. */ - send(message: string): void + send(payload: HotPayload): void /** * Configure how HMR is handled when this connection triggers an update. * This method expects that the connection will start listening for HMR updates and call this callback when it's received. diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 23c2bf96bffa48..5087e1f3801b48 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -142,7 +142,7 @@ const hmrClient = new HMRClient( }, { isReady: () => socket && socket.readyState === 1, - send: (message) => socket.send(message), + send: (payload) => socket.send(JSON.stringify(payload)), }, async function importUpdatedModule({ acceptedPath, diff --git a/packages/vite/src/node/ssr/runtime/serverHmrConnector.ts b/packages/vite/src/node/ssr/runtime/serverHmrConnector.ts index 00ada7d14e6c83..45cb574214d50d 100644 --- a/packages/vite/src/node/ssr/runtime/serverHmrConnector.ts +++ b/packages/vite/src/node/ssr/runtime/serverHmrConnector.ts @@ -47,8 +47,8 @@ export class ServerHMRConnector implements ModuleRunnerHMRConnection { return this.connected } - send(message: string): void { - const payload = JSON.parse(message) as CustomPayload + send(payload_: HotPayload): void { + const payload = payload_ as CustomPayload this.hotChannel.api.innerEmitter.emit( payload.event, payload.data, diff --git a/packages/vite/src/shared/hmr.ts b/packages/vite/src/shared/hmr.ts index ee4f727158f60e..4d53f6d0c8ef6a 100644 --- a/packages/vite/src/shared/hmr.ts +++ b/packages/vite/src/shared/hmr.ts @@ -1,4 +1,4 @@ -import type { Update } from 'types/hmrPayload' +import type { HotPayload, Update } from 'types/hmrPayload' import type { ModuleNamespace, ViteHotContext } from 'types/hot' import type { InferCustomEventPayload } from 'types/customEvent' @@ -28,7 +28,7 @@ export interface HMRConnection { /** * Send message to the client. */ - send(messages: string): void + send(messages: HotPayload): void } export class HMRContext implements ViteHotContext { @@ -154,9 +154,7 @@ export class HMRContext implements ViteHotContext { } send(event: T, data?: InferCustomEventPayload): void { - this.hmrClient.messenger.send( - JSON.stringify({ type: 'custom', event, data }), - ) + this.hmrClient.messenger.send({ type: 'custom', event, data }) } private acceptDeps( @@ -178,10 +176,10 @@ export class HMRContext implements ViteHotContext { class HMRMessenger { constructor(private connection: HMRConnection) {} - private queue: string[] = [] + private queue: HotPayload[] = [] - public send(message: string): void { - this.queue.push(message) + public send(payload: HotPayload): void { + this.queue.push(payload) this.flush() } From 768a50f7ac668dbf876feef557d8c0f8ff32b8ff Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 26 Sep 2024 15:20:46 +0100 Subject: [PATCH 020/147] fix(mixedModuleGraph): handle undefined id in getModulesByFile (#18201) --- packages/vite/src/node/server/mixedModuleGraph.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/mixedModuleGraph.ts b/packages/vite/src/node/server/mixedModuleGraph.ts index 74000cce46e245..c133403cab67ae 100644 --- a/packages/vite/src/node/server/mixedModuleGraph.ts +++ b/packages/vite/src/node/server/mixedModuleGraph.ts @@ -301,7 +301,7 @@ export class ModuleGraph { } if (ssrModules) { for (const mod of ssrModules) { - if (!this._client.getModuleById(mod.id!)) { + if (mod.id == null || !this._client.getModuleById(mod.id)) { result.add(this.getBackwardCompatibleBrowserModuleNode(mod)!) } } From bea0272decd908cd04ac0a2c87dd0a676f218a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 27 Sep 2024 16:54:58 +0900 Subject: [PATCH 021/147] refactor: remove `_onCrawlEnd` (#18207) --- packages/vite/src/node/optimizer/optimizer.ts | 2 +- packages/vite/src/node/server/environment.ts | 29 ++----------------- 2 files changed, 4 insertions(+), 27 deletions(-) diff --git a/packages/vite/src/node/optimizer/optimizer.ts b/packages/vite/src/node/optimizer/optimizer.ts index 9458ac652413e7..3ba972134ffc7a 100644 --- a/packages/vite/src/node/optimizer/optimizer.ts +++ b/packages/vite/src/node/optimizer/optimizer.ts @@ -159,7 +159,7 @@ export function createDepsOptimizer( cachedMetadata || initDepsOptimizerMetadata(environment, sessionTimestamp) if (!cachedMetadata) { - environment._onCrawlEnd(onCrawlEnd) + environment.waitForRequestsIdle().then(onCrawlEnd) waitingForCrawlEnd = true // Enter processing state until crawl of static imports ends diff --git a/packages/vite/src/node/server/environment.ts b/packages/vite/src/node/server/environment.ts index e2221eb8bba153..5a183818c2a7df 100644 --- a/packages/vite/src/node/server/environment.ts +++ b/packages/vite/src/node/server/environment.ts @@ -78,10 +78,6 @@ export class DevEnvironment extends BaseEnvironment { abort: () => void } > - /** - * @internal - */ - _onCrawlEndCallbacks: (() => void)[] /** * @internal */ @@ -118,10 +114,7 @@ export class DevEnvironment extends BaseEnvironment { this.hot = context.hot || createNoopHotChannel() - this._onCrawlEndCallbacks = [] - this._crawlEndFinder = setupOnCrawlEnd(() => { - this._onCrawlEndCallbacks.forEach((cb) => cb()) - }) + this._crawlEndFinder = setupOnCrawlEnd() this._ssrRunnerOptions = context.runner ?? {} context.runner?.transport?.register(this) @@ -243,13 +236,6 @@ export class DevEnvironment extends BaseEnvironment { _registerRequestProcessing(id: string, done: () => Promise): void { this._crawlEndFinder.registerRequestProcessing(id, done) } - /** - * @internal - * TODO: use waitForRequestsIdle in the optimizer instead of this function - */ - _onCrawlEnd(cb: () => void): void { - this._onCrawlEndCallbacks.push(cb) - } } function invalidateModule( @@ -292,7 +278,7 @@ interface CrawlEndFinder { cancel: () => void } -function setupOnCrawlEnd(onCrawlEnd: () => void): CrawlEndFinder { +function setupOnCrawlEnd(): CrawlEndFinder { const registeredIds = new Set() const seenIds = new Set() const onCrawlEndPromiseWithResolvers = promiseWithResolvers() @@ -304,15 +290,6 @@ function setupOnCrawlEnd(onCrawlEnd: () => void): CrawlEndFinder { cancelled = true } - let crawlEndCalled = false - function callOnCrawlEnd() { - if (!cancelled && !crawlEndCalled) { - crawlEndCalled = true - onCrawlEnd() - } - onCrawlEndPromiseWithResolvers.resolve() - } - function registerRequestProcessing( id: string, done: () => Promise, @@ -352,7 +329,7 @@ function setupOnCrawlEnd(onCrawlEnd: () => void): CrawlEndFinder { } async function callOnCrawlEndWhenIdle() { if (cancelled || registeredIds.size > 0) return - callOnCrawlEnd() + onCrawlEndPromiseWithResolvers.resolve() } return { From 220d6ec2bf3fc7063eac7c625d4ccda9a4204cb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 27 Sep 2024 17:40:47 +0900 Subject: [PATCH 022/147] refactor: use `resolvePackageData` to get rollup version (#18208) --- packages/vite/src/node/utils.ts | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index daf706d1a3e336..254b52b468e4fa 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -137,15 +137,11 @@ export const deepImportRE = /^([^@][^/]*)\/|^(@[^/]+\/[^/]+)\// // TODO: use import() const _require = createRequire(import.meta.url) -export function resolveDependencyVersion( - dep: string, - pkgRelativePath = '../../package.json', -): string { - const pkgPath = path.resolve(_require.resolve(dep), pkgRelativePath) - return JSON.parse(fs.readFileSync(pkgPath, 'utf-8')).version -} +const _dirname = path.dirname(fileURLToPath(import.meta.url)) -export const rollupVersion = resolveDependencyVersion('rollup') +// NOTE: we don't use VERSION variable exported from rollup to avoid importing rollup in dev +export const rollupVersion = + resolvePackageData('rollup', _dirname, true)?.data.version ?? '' // set in bin/vite.js const filter = process.env.VITE_DEBUG_FILTER @@ -1036,8 +1032,6 @@ export function getHash(text: Buffer | string, length = 8): string { return h.padEnd(length, '_') } -const _dirname = path.dirname(fileURLToPath(import.meta.url)) - export const requireResolveFromRootWithFallback = ( root: string, id: string, From 2d148e347e8fbcc6f0e4e627a20acc81d9ced3e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 27 Sep 2024 17:41:58 +0900 Subject: [PATCH 023/147] fix: close HotChannel on environment close (#18206) --- packages/vite/src/node/server/environment.ts | 3 +++ packages/vite/src/node/server/hmr.ts | 2 +- packages/vite/src/node/server/ws.ts | 5 +++++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/environment.ts b/packages/vite/src/node/server/environment.ts index 5a183818c2a7df..980f1d98f8f83f 100644 --- a/packages/vite/src/node/server/environment.ts +++ b/packages/vite/src/node/server/environment.ts @@ -31,6 +31,7 @@ import { createEnvironmentPluginContainer, } from './pluginContainer' import type { RemoteEnvironmentTransport } from './environmentTransport' +import { isWebSocketServer } from './ws' export interface DevEnvironmentContext { hot: false | HotChannel @@ -206,6 +207,8 @@ export class DevEnvironment extends BaseEnvironment { await Promise.allSettled([ this.pluginContainer.close(), this.depsOptimizer?.close(), + // WebSocketServer is independent of HotChannel and should not be closed on environment close + isWebSocketServer in this.hot ? this.hot.close() : Promise.resolve(), (async () => { while (this._pendingRequests.size > 0) { await Promise.allSettled( diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index d0d2dfe1b43736..86ceb1d64010c5 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -115,7 +115,7 @@ export interface HotChannel { /** * Disconnect all clients, called when server is closed or restarted. */ - close(): void + close(): Promise | void } /** @deprecated use `HotChannel` instead */ export type HMRChannel = HotChannel diff --git a/packages/vite/src/node/server/ws.ts b/packages/vite/src/node/server/ws.ts index 86e579cce032a0..e54e061b52b352 100644 --- a/packages/vite/src/node/server/ws.ts +++ b/packages/vite/src/node/server/ws.ts @@ -31,7 +31,10 @@ export type WebSocketCustomListener = ( client: WebSocketClient, ) => void +export const isWebSocketServer = Symbol('isWebSocketServer') + export interface WebSocketServer extends HotChannel { + [isWebSocketServer]: true /** * Listen on port and host */ @@ -88,6 +91,7 @@ export function createWebSocketServer( ): WebSocketServer { if (config.server.ws === false) { return { + [isWebSocketServer]: true, get clients() { return new Set() }, @@ -234,6 +238,7 @@ export function createWebSocketServer( let bufferedError: ErrorPayload | null = null return { + [isWebSocketServer]: true, listen: () => { wsHttpServer?.listen(port, host) }, From bad0cccee80c02fa309f274220f6d324d03c3b19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 27 Sep 2024 18:07:46 +0900 Subject: [PATCH 024/147] fix: call `this.hot.close` for non-ws HotChannel (#18212) --- packages/vite/src/node/server/environment.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/environment.ts b/packages/vite/src/node/server/environment.ts index 980f1d98f8f83f..3bedc2bdb3ba2d 100644 --- a/packages/vite/src/node/server/environment.ts +++ b/packages/vite/src/node/server/environment.ts @@ -208,7 +208,7 @@ export class DevEnvironment extends BaseEnvironment { this.pluginContainer.close(), this.depsOptimizer?.close(), // WebSocketServer is independent of HotChannel and should not be closed on environment close - isWebSocketServer in this.hot ? this.hot.close() : Promise.resolve(), + isWebSocketServer in this.hot ? Promise.resolve() : this.hot.close(), (async () => { while (this._pendingRequests.size > 0) { await Promise.allSettled( From 34041b9d8ea39aa9138d0c2417bfbe39cc9aabdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 27 Sep 2024 20:34:31 +0900 Subject: [PATCH 025/147] fix(html): make build-html plugin work with `sharedPlugins` (#18214) --- packages/vite/src/node/plugins/html.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index 7d70b5a2938c7e..6616c0f35ead41 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -32,6 +32,7 @@ import { toOutputFilePathInHtml } from '../build' import { resolveEnvPrefix } from '../env' import type { Logger } from '../logger' import { cleanUrl } from '../../shared/utils' +import { usePerEnvironmentState } from '../environment' import { assetUrlRE, getPublicAssetFilename, @@ -320,7 +321,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { preHooks.push(htmlEnvHook(config)) postHooks.push(injectNonceAttributeTagHook(config)) postHooks.push(postImportMapHook()) - const processedHtml = new Map() + const processedHtml = usePerEnvironmentState(() => new Map()) const isExcludedUrl = (url: string) => url[0] === '#' || isExternalUrl(url) || isDataUrl(url) @@ -674,7 +675,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { } } - processedHtml.set(id, s.toString()) + processedHtml(this).set(id, s.toString()) // inject module preload polyfill only when configured and needed const { modulePreload } = this.environment.config.build @@ -778,7 +779,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { return tags } - for (const [normalizedId, html] of processedHtml) { + for (const [normalizedId, html] of processedHtml(this)) { const relativeUrlPath = normalizePath( path.relative(config.root, normalizedId), ) From fb292f226f988e80fee4f4aea878eb3d5d229022 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 27 Sep 2024 13:42:49 +0200 Subject: [PATCH 026/147] feat: introduce RunnableDevEnvironment (#18190) --- docs/guide/api-environment.md | 43 ++++++++----- packages/vite/src/node/config.ts | 7 +-- packages/vite/src/node/index.ts | 7 ++- packages/vite/src/node/server/environment.ts | 12 ++-- .../server/environments/nodeEnvironment.ts | 17 ------ .../environments/runnableEnvironment.ts | 61 +++++++++++++++++++ .../__tests__/server-worker-runner.spec.ts | 2 +- playground/hmr-ssr/__tests__/hmr-ssr.spec.ts | 36 +++++++---- 8 files changed, 128 insertions(+), 57 deletions(-) delete mode 100644 packages/vite/src/node/server/environments/nodeEnvironment.ts create mode 100644 packages/vite/src/node/server/environments/runnableEnvironment.ts diff --git a/docs/guide/api-environment.md b/docs/guide/api-environment.md index e1b3c0c4bebf6b..19efb8a8d0a0ca 100644 --- a/docs/guide/api-environment.md +++ b/docs/guide/api-environment.md @@ -107,6 +107,22 @@ interface TransformResult { } ``` +Vite also supports a `RunnableDevEnvironment`, that extends a `DevEnvironment` exposing a `ModuleRunner` instance. You can guard any runnable environment with an `isRunnableDevEnvironment` function. + +:::warning +The `runner` is evaluated eagerly when it's accessed for the first time. Beware that Vite enables source map support when the `runner` is created by calling `process.setSourceMapsEnabled` or by overriding `Error.prepareStackTrace` if it's not available. +::: + +```ts +export class RunnableDevEnvironment extends DevEnvironment { + public readonly runner: ModuleRunnner +} + +if (isRunnableDevEnvironment(server.environments.ssr)) { + await server.environments.ssr.runner.import('/entry-point.js') +} +``` + An environment instance in the Vite server lets you process a URL using the `environment.transformRequest(url)` method. This function will use the plugin pipeline to resolve the `url` to a module `id`, load it (reading the file from the file system or through a plugin that implements a virtual module), and then transform the code. While transforming the module, imports and other metadata will be recorded in the environment module graph by creating or updating the corresponding module node. When processing is done, the transform result is also stored in the module. But the environment instance can't execute the code itself, as the runtime where the module will be run could be different from the one the Vite server is running in. This is the case for the browser environment. When a html is loaded in the browser, its scripts are executed triggering the evaluation of the entire static module graph. Each imported URL generates a request to the Vite server to get the module code, which ends up handled by the Transform Middleware by calling `server.environments.client.transformRequest(url)`. The connection between the environment instance in the server and the module runner in the browser is carried out through HTTP in this case. @@ -119,7 +135,7 @@ We are using `transformRequest(url)` and `warmupRequest(url)` in the current ver The initial proposal had a `run` method that would allow consumers to invoke an import on the runner side by using the `transport` option. During our testing we found out that the API was not universal enough to start recommending it. We are open to implement a built-in layer for remote SSR implementation based on the frameworks feedback. In the meantime, Vite still exposes a [`RunnerTransport` API](#runnertransport) to hide the complexity of the runner RPC. ::: -For the `ssr` environment running in Node by default, Vite creates a module runner that implements evaluation using `new AsyncFunction` running in the same JS runtime as the dev server. This runner is an instance of `ModuleRunner` that exposes: +In dev mode the default `ssr` environment is a `RunnableDevEnvironment` with a module runner that implements evaluation using `new AsyncFunction` running in the same JS runtime as the dev server. This runner is an instance of `ModuleRunner` that exposes: ```ts class ModuleRunner { @@ -137,15 +153,10 @@ class ModuleRunner { In the v5.1 Runtime API, there were `executeUrl` and `executeEntryPoint` methods - they are now merged into a single `import` method. If you want to opt-out of the HMR support, create a runner with `hmr: false` flag. ::: -The default SSR Node module runner is not exposed. You can use `createNodeEnvironment` API with `createServerModuleRunner` together to create a runner that runs code in the same thread, supports HMR and doesn't conflict with the SSR implementation (in case it's been overridden in the config). Given a Vite server configured in middleware mode as described by the [SSR setup guide](/guide/ssr#setting-up-the-dev-server), let's implement the SSR middleware using the environment API. Error handling is omitted. +Given a Vite server configured in middleware mode as described by the [SSR setup guide](/guide/ssr#setting-up-the-dev-server), let's implement the SSR middleware using the environment API. Error handling is omitted. ```js -import { - createServer, - createServerHotChannel, - createServerModuleRunner, - createNodeDevEnvironment, -} from 'vite' +import { createServer, createRunnableDevEnvironment } from 'vite' const server = await createServer({ server: { middlewareMode: true }, @@ -156,16 +167,16 @@ const server = await createServer({ // Default Vite SSR environment can be overridden in the config, so // make sure you have a Node environment before the request is received. createEnvironment(name, config) { - return createNodeDevEnvironment(name, config, { - hot: createServerHotChannel(), - }) + return createRunnableDevEnvironment(name, config) }, }, }, }, }) -const runner = createServerModuleRunner(server.environments.node) +// You might need to cast this to RunnableDevEnvironment in TypeScript or use +// the "isRunnableDevEnvironment" function to guard the access to the runner +const environment = server.environments.node app.use('*', async (req, res, next) => { const url = req.originalUrl @@ -181,7 +192,7 @@ app.use('*', async (req, res, next) => { // 3. Load the server entry. import(url) automatically transforms // ESM source code to be usable in Node.js! There is no bundling // required, and provides full HMR support. - const { render } = await runner.import('/src/entry-server.js') + const { render } = await environment.runner.import('/src/entry-server.js') // 4. render the app HTML. This assumes entry-server.js's exported // `render` function calls appropriate framework SSR APIs, @@ -310,7 +321,7 @@ function createWorkerdDevEnvironment(name: string, config: ResolvedConfig, conte ...context.options, }, hot, - runner: { + remoteRunner: { transport, }, }) @@ -395,7 +406,7 @@ export default { dev: { createEnvironment(name, config, { watcher }) { // Called with 'rsc' and the resolved config during dev - return createNodeDevEnvironment(name, config, { + return createRunnableDevEnvironment(name, config, { hot: customHotChannel(), watcher }) @@ -786,7 +797,7 @@ function createWorkerEnvironment(name, config, context) { const worker = new Worker('./worker.js') return new DevEnvironment(name, config, { hot: /* custom hot channel */, - runner: { + remoteRunner: { transport: new RemoteEnvironmentTransport({ send: (data) => worker.postMessage(data), onMessage: (listener) => worker.on('message', listener), diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index af3a07c242899d..ae5d1bca82fb89 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -39,8 +39,7 @@ import { resolveBuildEnvironmentOptions, resolveBuilderOptions } from './build' import type { ResolvedServerOptions, ServerOptions } from './server' import { resolveServerOptions } from './server' import { DevEnvironment } from './server/environment' -import { createNodeDevEnvironment } from './server/environments/nodeEnvironment' -import { createServerHotChannel } from './server/hmr' +import { createRunnableDevEnvironment } from './server/environments/runnableEnvironment' import type { WebSocketServer } from './server/ws' import type { PreviewOptions, ResolvedPreviewOptions } from './preview' import { resolvePreviewOptions } from './preview' @@ -213,9 +212,7 @@ function defaultCreateSsrDevEnvironment( name: string, config: ResolvedConfig, ): DevEnvironment { - return createNodeDevEnvironment(name, config, { - hot: createServerHotChannel(), - }) + return createRunnableDevEnvironment(name, config) } function defaultCreateDevEnvironment(name: string, config: ResolvedConfig) { diff --git a/packages/vite/src/node/index.ts b/packages/vite/src/node/index.ts index 485e9db43be60e..5aaff7552740ba 100644 --- a/packages/vite/src/node/index.ts +++ b/packages/vite/src/node/index.ts @@ -20,7 +20,12 @@ export { transformWithEsbuild } from './plugins/esbuild' export { buildErrorMessage } from './server/middlewares/error' export { RemoteEnvironmentTransport } from './server/environmentTransport' -export { createNodeDevEnvironment } from './server/environments/nodeEnvironment' +export { + createRunnableDevEnvironment, + isRunnableDevEnvironment, + type RunnableDevEnvironment, + type RunnableDevEnvironmentContext, +} from './server/environments/runnableEnvironment' export { DevEnvironment, type DevEnvironmentContext, diff --git a/packages/vite/src/node/server/environment.ts b/packages/vite/src/node/server/environment.ts index 3bedc2bdb3ba2d..9bbeb1f8b3f5b5 100644 --- a/packages/vite/src/node/server/environment.ts +++ b/packages/vite/src/node/server/environment.ts @@ -10,7 +10,6 @@ import type { } from '../config' import { getDefaultResolvedEnvironmentOptions } from '../config' import { mergeConfig, promiseWithResolvers } from '../utils' -import type { FetchModuleOptions } from '../ssr/fetchModule' import { fetchModule } from '../ssr/fetchModule' import type { DepsOptimizer } from '../optimizer' import { isDepOptimizationDisabled } from '../optimizer' @@ -36,7 +35,8 @@ import { isWebSocketServer } from './ws' export interface DevEnvironmentContext { hot: false | HotChannel options?: EnvironmentOptions - runner?: FetchModuleOptions & { + remoteRunner?: { + inlineSourceMap?: boolean transport?: RemoteEnvironmentTransport } depsOptimizer?: DepsOptimizer @@ -50,7 +50,7 @@ export class DevEnvironment extends BaseEnvironment { /** * @internal */ - _ssrRunnerOptions: FetchModuleOptions | undefined + _remoteRunnerOptions: DevEnvironmentContext['remoteRunner'] get pluginContainer(): EnvironmentPluginContainer { if (!this._pluginContainer) @@ -117,8 +117,8 @@ export class DevEnvironment extends BaseEnvironment { this._crawlEndFinder = setupOnCrawlEnd() - this._ssrRunnerOptions = context.runner ?? {} - context.runner?.transport?.register(this) + this._remoteRunnerOptions = context.remoteRunner ?? {} + context.remoteRunner?.transport?.register(this) this.hot.on('vite:invalidate', async ({ path, message }) => { invalidateModule(this, { @@ -166,7 +166,7 @@ export class DevEnvironment extends BaseEnvironment { options?: FetchFunctionOptions, ): Promise { return fetchModule(this, id, importer, { - ...this._ssrRunnerOptions, + ...this._remoteRunnerOptions, ...options, }) } diff --git a/packages/vite/src/node/server/environments/nodeEnvironment.ts b/packages/vite/src/node/server/environments/nodeEnvironment.ts deleted file mode 100644 index 9e63c814e7bcf3..00000000000000 --- a/packages/vite/src/node/server/environments/nodeEnvironment.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { ResolvedConfig } from '../../config' -import type { DevEnvironmentContext } from '../environment' -import { DevEnvironment } from '../environment' - -export function createNodeDevEnvironment( - name: string, - config: ResolvedConfig, - context: DevEnvironmentContext, -): DevEnvironment { - if (context.hot == null) { - throw new Error( - '`hot` is a required option. Either explicitly opt out of HMR by setting `hot: false` or provide a hot channel.', - ) - } - - return new DevEnvironment(name, config, context) -} diff --git a/packages/vite/src/node/server/environments/runnableEnvironment.ts b/packages/vite/src/node/server/environments/runnableEnvironment.ts new file mode 100644 index 00000000000000..0675f48b1accaa --- /dev/null +++ b/packages/vite/src/node/server/environments/runnableEnvironment.ts @@ -0,0 +1,61 @@ +import type { ModuleRunner } from 'vite/module-runner' +import type { ResolvedConfig } from '../../config' +import type { DevEnvironmentContext } from '../environment' +import { DevEnvironment } from '../environment' +import { createServerModuleRunner } from '../../ssr/runtime/serverModuleRunner' +import type { HotChannel } from '../hmr' +import { createServerHotChannel } from '../hmr' +import type { Environment } from '../../environment' + +export function createRunnableDevEnvironment( + name: string, + config: ResolvedConfig, + context: RunnableDevEnvironmentContext = {}, +): DevEnvironment { + if (context.hot == null) { + context.hot = createServerHotChannel() + } + + return new RunnableDevEnvironment(name, config, context) +} + +export interface RunnableDevEnvironmentContext + extends Omit { + runner?: (environment: RunnableDevEnvironment) => ModuleRunner + hot?: false | HotChannel +} + +export function isRunnableDevEnvironment( + environment: Environment, +): environment is RunnableDevEnvironment { + return environment instanceof RunnableDevEnvironment +} + +class RunnableDevEnvironment extends DevEnvironment { + private _runner: ModuleRunner | undefined + private _runnerFactory: + | ((environment: RunnableDevEnvironment) => ModuleRunner) + | undefined + + constructor( + name: string, + config: ResolvedConfig, + context: RunnableDevEnvironmentContext, + ) { + super(name, config, context as DevEnvironmentContext) + this._runnerFactory = context.runner + } + + get runner(): ModuleRunner { + if (this._runner) { + return this._runner + } + if (this._runnerFactory) { + this._runner = this._runnerFactory(this) + return this._runner + } + return createServerModuleRunner(this) + } +} + +export type { RunnableDevEnvironment } diff --git a/packages/vite/src/node/ssr/runtime/__tests__/server-worker-runner.spec.ts b/packages/vite/src/node/ssr/runtime/__tests__/server-worker-runner.spec.ts index d756d57273bbf4..afdee8263cebcb 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/server-worker-runner.spec.ts +++ b/packages/vite/src/node/ssr/runtime/__tests__/server-worker-runner.spec.ts @@ -32,7 +32,7 @@ describe('running module runner inside a worker', () => { dev: { createEnvironment: (name, config) => { return new DevEnvironment(name, config, { - runner: { + remoteRunner: { transport: new RemoteEnvironmentTransport({ send: (data) => worker.postMessage(data), onMessage: (handler) => worker.on('message', handler), diff --git a/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts b/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts index b71d77289158ca..f6684242a2ea81 100644 --- a/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts +++ b/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts @@ -10,8 +10,13 @@ import { test, vi, } from 'vitest' -import type { InlineConfig, ViteDevServer } from 'vite' -import { createServer, createServerModuleRunner } from 'vite' +import type { InlineConfig, RunnableDevEnvironment, ViteDevServer } from 'vite' +import { + createRunnableDevEnvironment, + createServer, + createServerHotChannel, + createServerModuleRunner, +} from 'vite' import type { ModuleRunner } from 'vite/module-runner' import { addFile, @@ -1036,6 +1041,10 @@ async function setupModuleRunner( globalThis.__HMR__ = initHmrState as any + const logger = new HMRMockLogger() + // @ts-expect-error not typed for HMR + globalThis.log = (...msg) => logger.log(...msg) + server = await createServer({ configFile: resolve(testDir, 'vite.config.ts'), root: testDir, @@ -1053,6 +1062,19 @@ async function setupModuleRunner( }, preTransformRequests: false, }, + environments: { + ssr: { + dev: { + createEnvironment(name, config) { + return createRunnableDevEnvironment(name, config, { + runner: (env) => + createServerModuleRunner(env, { hmr: { logger } }), + hot: createServerHotChannel(), + }) + }, + }, + }, + }, optimizeDeps: { disabled: true, noDiscovery: true, @@ -1061,15 +1083,7 @@ async function setupModuleRunner( ...serverOptions, }) - const logger = new HMRMockLogger() - // @ts-expect-error not typed for HMR - globalThis.log = (...msg) => logger.log(...msg) - - runner = createServerModuleRunner(server.environments.ssr, { - hmr: { - logger, - }, - }) + runner = (server.environments.ssr as RunnableDevEnvironment).runner await waitForWatcher(server, waitForFile) From 95020ab49e12d143262859e095025cf02423c1d9 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 27 Sep 2024 14:43:28 +0200 Subject: [PATCH 027/147] fix: cache the runnable environment module runner (#18215) --- .../vite/src/node/server/environments/runnableEnvironment.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/environments/runnableEnvironment.ts b/packages/vite/src/node/server/environments/runnableEnvironment.ts index 0675f48b1accaa..c47298a22920f6 100644 --- a/packages/vite/src/node/server/environments/runnableEnvironment.ts +++ b/packages/vite/src/node/server/environments/runnableEnvironment.ts @@ -54,7 +54,8 @@ class RunnableDevEnvironment extends DevEnvironment { this._runner = this._runnerFactory(this) return this._runner } - return createServerModuleRunner(this) + this._runner = createServerModuleRunner(this) + return this._runner } } From a44b0a2690812788aaaba00fd3acd2c6fa36669b Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Sat, 28 Sep 2024 18:48:45 +0900 Subject: [PATCH 028/147] fix(optimizer): re-optimize when changing config `webCompatible` (#18221) --- packages/vite/src/node/optimizer/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index e038affeeca355..b156a38c6a6bc3 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -1176,6 +1176,7 @@ function getConfigHash(environment: Environment): string { plugins: optimizeDeps?.esbuildOptions?.plugins?.map((p) => p.name), }, }, + webCompatible: config.webCompatible, }, (_, value) => { if (typeof value === 'function' || value instanceof RegExp) { From ea1d0b9af9b28b57166d4ca67bece21650221a04 Mon Sep 17 00:00:00 2001 From: delihiros Date: Mon, 30 Sep 2024 14:06:20 +0900 Subject: [PATCH 029/147] fix(deps): upgrade rollup 4.22.4+ to ensure avoiding XSS (#18180) Co-authored-by: Sholom Aber --- package.json | 2 +- packages/vite/package.json | 2 +- .../vite/src/node/plugins/importAnalysis.ts | 3 +- pnpm-lock.yaml | 884 +++++++++--------- 4 files changed, 446 insertions(+), 445 deletions(-) diff --git a/package.json b/package.json index f7f9b610c2e50a..93b7efed2b72b0 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "playwright-chromium": "^1.47.2", "prettier": "3.3.3", "rimraf": "^5.0.10", - "rollup": "^4.20.0", + "rollup": "^4.22.5", "rollup-plugin-esbuild": "^6.1.1", "simple-git-hooks": "^2.11.1", "tslib": "^2.7.0", diff --git a/packages/vite/package.json b/packages/vite/package.json index a3cb2504276b2b..4cc9a5a1119e29 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -87,7 +87,7 @@ "dependencies": { "esbuild": "^0.24.0", "postcss": "^8.4.47", - "rollup": "^4.20.0" + "rollup": "^4.22.5" }, "optionalDependencies": { "fsevents": "~2.3.3" diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 050a99783cca23..32591fda93f2d3 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -13,6 +13,7 @@ import type { StaticImport } from 'mlly' import { ESM_STATIC_IMPORT_RE, parseStaticImport } from 'mlly' import { makeLegalIdentifier } from '@rollup/pluginutils' import type { PartialResolvedId } from 'rollup' +import type { Identifier } from 'estree' import { CLIENT_DIR, CLIENT_PUBLIC_PATH, @@ -984,7 +985,7 @@ export function transformCjsImport( ) { // for ExportSpecifier, local name is same as imported name // prefix the variable name to avoid clashing with other local variables - const importedName = spec.local.name + const importedName = (spec.local as Identifier).name // we want to specify exported name as variable and re-export it const exportedName = spec.exported.name if (exportedName === 'default') { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 00995545b69a55..da850daed0efa4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -60,7 +60,7 @@ importers: version: 4.0.9 '@types/node': specifier: ^20.16.7 - version: 20.16.7 + version: 20.16.10 '@types/picomatch': specifier: ^3.0.1 version: 3.0.1 @@ -110,11 +110,11 @@ importers: specifier: ^5.0.10 version: 5.0.10 rollup: - specifier: ^4.20.0 - version: 4.20.0 + specifier: ^4.22.5 + version: 4.22.5 rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.24.0)(rollup@4.20.0) + version: 6.1.1(esbuild@0.24.0)(rollup@4.22.5) simple-git-hooks: specifier: ^2.11.1 version: 2.11.1 @@ -135,13 +135,13 @@ importers: version: link:packages/vite vitest: specifier: ^2.1.1 - version: 2.1.1(@types/node@20.16.7) + version: 2.1.1(@types/node@20.16.10) docs: devDependencies: '@shikijs/vitepress-twoslash': specifier: ^1.18.0 - version: 1.18.0(typescript@5.5.3) + version: 1.21.0(typescript@5.5.3) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -150,13 +150,13 @@ importers: version: 4.2.2 vitepress: specifier: 1.3.4 - version: 1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.9)(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) + version: 1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.10)(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.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) packages/create-vite: devDependencies: @@ -180,7 +180,7 @@ importers: version: 2.4.2 unbuild: specifier: ^2.0.0 - version: 2.0.0(sass@1.79.3)(typescript@5.5.3) + version: 2.0.0(sass@1.79.4)(typescript@5.5.3) packages/plugin-legacy: dependencies: @@ -217,7 +217,7 @@ importers: version: 1.1.0 unbuild: specifier: ^2.0.0 - version: 2.0.0(sass@1.79.3)(typescript@5.5.3) + version: 2.0.0(sass@1.79.4)(typescript@5.5.3) vite: specifier: workspace:* version: link:../vite @@ -231,8 +231,8 @@ importers: specifier: ^8.4.47 version: 8.4.47 rollup: - specifier: ^4.20.0 - version: 4.20.0 + specifier: ^4.22.5 + version: 4.22.5 optionalDependencies: fsevents: specifier: ~2.3.3 @@ -252,22 +252,22 @@ importers: version: 1.0.0-next.25 '@rollup/plugin-alias': specifier: ^5.1.1 - version: 5.1.1(rollup@4.20.0) + version: 5.1.1(rollup@4.22.5) '@rollup/plugin-commonjs': specifier: ^26.0.3 - version: 26.0.3(rollup@4.20.0) + version: 26.0.3(rollup@4.22.5) '@rollup/plugin-dynamic-import-vars': specifier: ^2.1.3 - version: 2.1.3(rollup@4.20.0) + version: 2.1.3(rollup@4.22.5) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.20.0) + version: 6.1.0(rollup@4.22.5) '@rollup/plugin-node-resolve': specifier: 15.3.0 - version: 15.3.0(rollup@4.20.0) + version: 15.3.0(rollup@4.22.5) '@rollup/pluginutils': specifier: ^5.1.2 - version: 5.1.2(rollup@4.20.0) + version: 5.1.2(rollup@4.22.5) '@types/escape-html': specifier: ^1.0.4 version: 1.0.4 @@ -369,7 +369,7 @@ importers: version: 16.1.0(postcss@8.4.47) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) + version: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)) postcss-modules: specifier: ^6.0.0 version: 6.0.0(postcss@8.4.47) @@ -378,19 +378,19 @@ importers: version: 2.0.2 rollup-plugin-dts: specifier: ^6.1.1 - version: 6.1.1(rollup@4.20.0)(typescript@5.5.3) + version: 6.1.1(rollup@4.22.5)(typescript@5.5.3) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.24.0)(rollup@4.20.0) + version: 6.1.1(esbuild@0.24.0)(rollup@4.22.5) rollup-plugin-license: specifier: ^3.5.3 - version: 3.5.3(picomatch@2.3.1)(rollup@4.20.0) + version: 3.5.3(picomatch@2.3.1)(rollup@4.22.5) sass: specifier: ^1.79.3 - version: 1.79.3 + version: 1.79.4 sass-embedded: specifier: ^1.79.3 - version: 1.79.3 + version: 1.79.4 sirv: specifier: ^2.0.4 version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) @@ -482,13 +482,13 @@ importers: dependencies: '@vue/shared': specifier: ^3.5.8 - version: 3.5.8 + version: 3.5.10 aliased-module: specifier: file:./dir/module version: '@vitejs/test-aliased-module@file:playground/alias/dir/module' vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -507,10 +507,10 @@ importers: version: 3.3.2 sass: specifier: ^1.79.3 - version: 1.79.3 + version: 1.79.4 tailwindcss: specifier: ^3.4.13 - version: 3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) + version: 3.4.13(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)) playground/build-old: {} @@ -569,7 +569,7 @@ importers: version: 6.2.0(postcss@8.4.47) sass: specifier: ^1.79.3 - version: 1.79.3 + version: 1.79.4 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -616,7 +616,7 @@ importers: version: 0.30.11 sass: specifier: ^1.79.3 - version: 1.79.3 + version: 1.79.4 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -680,7 +680,7 @@ importers: devDependencies: '@types/react': specifier: ^18.3.9 - version: 18.3.9 + version: 18.3.10 '@types/react-dom': specifier: ^18.3.0 version: 18.3.0 @@ -695,7 +695,7 @@ importers: dependencies: vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) playground/external: dependencies: @@ -717,7 +717,7 @@ importers: version: link:../../packages/vite vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) vue32: specifier: npm:vue@~3.2.0 version: vue@3.2.0 @@ -732,7 +732,7 @@ importers: version: slash@5.1.0 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) playground/external/dep-that-requires: dependencies: @@ -744,7 +744,7 @@ importers: version: slash@5.1.0 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) playground/fs-serve: {} @@ -793,7 +793,7 @@ importers: version: 4.21.0 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) playground/json/json-module: {} @@ -807,7 +807,7 @@ importers: version: 4.21.0 terser: specifier: ^5.33.0 - version: 5.33.0 + version: 5.34.1 vite: specifier: workspace:* version: link:../../packages/vite @@ -832,7 +832,7 @@ importers: devDependencies: sass: specifier: ^1.79.3 - version: 1.79.3 + version: 1.79.4 playground/nested-deps: dependencies: @@ -895,7 +895,7 @@ importers: dependencies: vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) playground/optimize-deps: dependencies: @@ -1009,10 +1009,10 @@ importers: version: 0.11.4 vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.5.8(typescript@5.5.3)) + version: 4.1.0(vue@3.5.10(typescript@5.5.3)) playground/optimize-deps-no-discovery: dependencies: @@ -1021,10 +1021,10 @@ importers: version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.5.8(typescript@5.5.3)) + version: 4.1.0(vue@3.5.10(typescript@5.5.3)) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1128,7 +1128,7 @@ importers: version: file:playground/preload/dep-including-a terser: specifier: ^5.33.0 - version: 5.33.0 + version: 5.34.1 playground/preload/dep-a: {} @@ -1541,7 +1541,7 @@ importers: version: link:../resolve-linked miniflare: specifier: ^3.20240909.5 - version: 3.20240909.5 + version: 3.20240925.0 playground/ssr-webworker/browser-exports: {} @@ -1554,23 +1554,23 @@ importers: version: 10.4.20(postcss@8.4.47) tailwindcss: specifier: ^3.4.13 - version: 3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) + version: 3.4.13(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)) vue: specifier: ^3.5.8 - version: 3.5.8(typescript@5.5.3) + version: 3.5.10(typescript@5.5.3) vue-router: specifier: ^4.4.5 - version: 4.4.5(vue@3.5.8(typescript@5.5.3)) + version: 4.4.5(vue@3.5.10(typescript@5.5.3)) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.16.7)(typescript@5.5.3) + version: 10.9.2(@types/node@20.16.10)(typescript@5.5.3) playground/tailwind-sourcemap: dependencies: tailwindcss: specifier: ^3.4.13 - version: 3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) + version: 3.4.13(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)) playground/transform-plugin: {} @@ -2301,32 +2301,32 @@ packages: '@bufbuild/protobuf@2.1.0': resolution: {integrity: sha512-+2Mx67Y3skJ4NCD/qNSdBJNWtu6x6Qr53jeNg+QcwiL6mt0wK+3jwHH2x1p7xaYH6Ve2JKOVn0OxU35WsmqI9A==} - '@cloudflare/workerd-darwin-64@1.20240909.0': - resolution: {integrity: sha512-nJ8jm/6PR8DPzVb4QifNAfSdrFZXNblwIdOhLTU5FpSvFFocmzFX5WgzQagvtmcC9/ZAQyxuf7WynDNyBcoe0Q==} + '@cloudflare/workerd-darwin-64@1.20240925.0': + resolution: {integrity: sha512-KdLnSXuzB65CbqZPm+qYzk+zkQ1tUNPaaRGYVd/jPYAxwwtfTUQdQ+ahDPwVVs2tmQELKy7ZjQjf2apqSWUfjw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20240909.0': - resolution: {integrity: sha512-gJqKa811oSsoxy9xuoQn7bS0Hr1sY+o3EUORTcEnulG6Kz9NQ6nd8QNdp2Hrk2jmmSqwrNkn+a6PZkWzk6Q0Gw==} + '@cloudflare/workerd-darwin-arm64@1.20240925.0': + resolution: {integrity: sha512-MiQ6uUmCXjsXgWNV+Ock2tp2/tYqNJGzjuaH6jFioeRF+//mz7Tv7J7EczOL4zq+TH8QFOh0/PUsLyazIWVGng==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20240909.0': - resolution: {integrity: sha512-sJrmtccfMg73sZljiBpe4R+lhF58TqzqhF2pQG8HRjyxkzkM1sjpZqfEFaIkNUDqd3/Ibji49fklhPCGXljKSg==} + '@cloudflare/workerd-linux-64@1.20240925.0': + resolution: {integrity: sha512-Rjix8jsJMfsInmq3Hm3fmiRQ+rwzuWRPV1pg/OWhMSfNP7Qp2RCU+RGkhgeR9Z5eNAje0Sn2BMrFq4RvF9/yRA==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20240909.0': - resolution: {integrity: sha512-dTbSdceyRXPOSER+18AwYRbPQG0e/Dwl2trmfMMCETkfJhNLv1fU3FFMJPjfILijKnhTZHSnHCx0+xwHdon2fg==} + '@cloudflare/workerd-linux-arm64@1.20240925.0': + resolution: {integrity: sha512-VYIPeMHQRtbwQoIjUwS/zULlywPxyDvo46XkTpIW5MScEChfqHvAYviQ7TzYGx6Q+gmZmN+DUB2KOMx+MEpCxA==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20240909.0': - resolution: {integrity: sha512-/d4BT0kcWFa7Qc0K4K9+cwVQ1qyPNKiO42JZUijlDlco+TYTPkLO3qGEohmwbfMq+BieK7JTMSgjO81ZHpA0HQ==} + '@cloudflare/workerd-windows-64@1.20240925.0': + resolution: {integrity: sha512-C8peGvaU5R51bIySi1VbyfRgwNSSRknqoFSnSbSBI3uTN3THTB3UnmRKy7GXJDmyjgXuT9Pcs1IgaWNubLtNtw==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -3153,83 +3153,83 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.20.0': - resolution: {integrity: sha512-TSpWzflCc4VGAUJZlPpgAJE1+V60MePDQnBd7PPkpuEmOy8i87aL6tinFGKBFKuEDikYpig72QzdT3QPYIi+oA==} + '@rollup/rollup-android-arm-eabi@4.22.5': + resolution: {integrity: sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==} cpu: [arm] os: [android] - '@rollup/rollup-android-arm64@4.20.0': - resolution: {integrity: sha512-u00Ro/nok7oGzVuh/FMYfNoGqxU5CPWz1mxV85S2w9LxHR8OoMQBuSk+3BKVIDYgkpeOET5yXkx90OYFc+ytpQ==} + '@rollup/rollup-android-arm64@4.22.5': + resolution: {integrity: sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==} cpu: [arm64] os: [android] - '@rollup/rollup-darwin-arm64@4.20.0': - resolution: {integrity: sha512-uFVfvzvsdGtlSLuL0ZlvPJvl6ZmrH4CBwLGEFPe7hUmf7htGAN+aXo43R/V6LATyxlKVC/m6UsLb7jbG+LG39Q==} + '@rollup/rollup-darwin-arm64@4.22.5': + resolution: {integrity: sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==} cpu: [arm64] os: [darwin] - '@rollup/rollup-darwin-x64@4.20.0': - resolution: {integrity: sha512-xbrMDdlev53vNXexEa6l0LffojxhqDTBeL+VUxuuIXys4x6xyvbKq5XqTXBCEUA8ty8iEJblHvFaWRJTk/icAQ==} + '@rollup/rollup-darwin-x64@4.22.5': + resolution: {integrity: sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==} cpu: [x64] os: [darwin] - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': - resolution: {integrity: sha512-jMYvxZwGmoHFBTbr12Xc6wOdc2xA5tF5F2q6t7Rcfab68TT0n+r7dgawD4qhPEvasDsVpQi+MgDzj2faOLsZjA==} + '@rollup/rollup-linux-arm-gnueabihf@4.22.5': + resolution: {integrity: sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm-musleabihf@4.20.0': - resolution: {integrity: sha512-1asSTl4HKuIHIB1GcdFHNNZhxAYEdqML/MW4QmPS4G0ivbEcBr1JKlFLKsIRqjSwOBkdItn3/ZDlyvZ/N6KPlw==} + '@rollup/rollup-linux-arm-musleabihf@4.22.5': + resolution: {integrity: sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==} cpu: [arm] os: [linux] - '@rollup/rollup-linux-arm64-gnu@4.20.0': - resolution: {integrity: sha512-COBb8Bkx56KldOYJfMf6wKeYJrtJ9vEgBRAOkfw6Ens0tnmzPqvlpjZiLgkhg6cA3DGzCmLmmd319pmHvKWWlQ==} + '@rollup/rollup-linux-arm64-gnu@4.22.5': + resolution: {integrity: sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-arm64-musl@4.20.0': - resolution: {integrity: sha512-+it+mBSyMslVQa8wSPvBx53fYuZK/oLTu5RJoXogjk6x7Q7sz1GNRsXWjn6SwyJm8E/oMjNVwPhmNdIjwP135Q==} + '@rollup/rollup-linux-arm64-musl@4.22.5': + resolution: {integrity: sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==} cpu: [arm64] os: [linux] - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': - resolution: {integrity: sha512-yAMvqhPfGKsAxHN8I4+jE0CpLWD8cv4z7CK7BMmhjDuz606Q2tFKkWRY8bHR9JQXYcoLfopo5TTqzxgPUjUMfw==} + '@rollup/rollup-linux-powerpc64le-gnu@4.22.5': + resolution: {integrity: sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==} cpu: [ppc64] os: [linux] - '@rollup/rollup-linux-riscv64-gnu@4.20.0': - resolution: {integrity: sha512-qmuxFpfmi/2SUkAw95TtNq/w/I7Gpjurx609OOOV7U4vhvUhBcftcmXwl3rqAek+ADBwSjIC4IVNLiszoj3dPA==} + '@rollup/rollup-linux-riscv64-gnu@4.22.5': + resolution: {integrity: sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==} cpu: [riscv64] os: [linux] - '@rollup/rollup-linux-s390x-gnu@4.20.0': - resolution: {integrity: sha512-I0BtGXddHSHjV1mqTNkgUZLnS3WtsqebAXv11D5BZE/gfw5KoyXSAXVqyJximQXNvNzUo4GKlCK/dIwXlz+jlg==} + '@rollup/rollup-linux-s390x-gnu@4.22.5': + resolution: {integrity: sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==} cpu: [s390x] os: [linux] - '@rollup/rollup-linux-x64-gnu@4.20.0': - resolution: {integrity: sha512-y+eoL2I3iphUg9tN9GB6ku1FA8kOfmF4oUEWhztDJ4KXJy1agk/9+pejOuZkNFhRwHAOxMsBPLbXPd6mJiCwew==} + '@rollup/rollup-linux-x64-gnu@4.22.5': + resolution: {integrity: sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==} cpu: [x64] os: [linux] - '@rollup/rollup-linux-x64-musl@4.20.0': - resolution: {integrity: sha512-hM3nhW40kBNYUkZb/r9k2FKK+/MnKglX7UYd4ZUy5DJs8/sMsIbqWK2piZtVGE3kcXVNj3B2IrUYROJMMCikNg==} + '@rollup/rollup-linux-x64-musl@4.22.5': + resolution: {integrity: sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==} cpu: [x64] os: [linux] - '@rollup/rollup-win32-arm64-msvc@4.20.0': - resolution: {integrity: sha512-psegMvP+Ik/Bg7QRJbv8w8PAytPA7Uo8fpFjXyCRHWm6Nt42L+JtoqH8eDQ5hRP7/XW2UiIriy1Z46jf0Oa1kA==} + '@rollup/rollup-win32-arm64-msvc@4.22.5': + resolution: {integrity: sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==} cpu: [arm64] os: [win32] - '@rollup/rollup-win32-ia32-msvc@4.20.0': - resolution: {integrity: sha512-GabekH3w4lgAJpVxkk7hUzUf2hICSQO0a/BLFA11/RMxQT92MabKAqyubzDZmMOC/hcJNlc+rrypzNzYl4Dx7A==} + '@rollup/rollup-win32-ia32-msvc@4.22.5': + resolution: {integrity: sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==} cpu: [ia32] os: [win32] - '@rollup/rollup-win32-x64-msvc@4.20.0': - resolution: {integrity: sha512-aJ1EJSuTdGnM6qbVC4B5DSmozPTqIag9fSzXRNNo+humQLG89XpPgdt16Ia56ORD7s+H8Pmyx44uczDQ0yDzpg==} + '@rollup/rollup-win32-x64-msvc@4.22.5': + resolution: {integrity: sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==} cpu: [x64] os: [win32] @@ -3239,26 +3239,26 @@ packages: '@shikijs/core@1.14.1': resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==} - '@shikijs/core@1.18.0': - resolution: {integrity: sha512-VK4BNVCd2leY62Nm2JjyxtRLkyrZT/tv104O81eyaCjHq4Adceq2uJVFJJAIof6lT1mBwZrEo2qT/T+grv3MQQ==} + '@shikijs/core@1.21.0': + resolution: {integrity: sha512-zAPMJdiGuqXpZQ+pWNezQAk5xhzRXBNiECFPcJLtUdsFM3f//G95Z15EHTnHchYycU8kIIysqGgxp8OVSj1SPQ==} - '@shikijs/engine-javascript@1.18.0': - resolution: {integrity: sha512-qoP/aO/ATNwYAUw1YMdaip/YVEstMZEgrwhePm83Ll9OeQPuxDZd48szZR8oSQNQBT8m8UlWxZv8EA3lFuyI5A==} + '@shikijs/engine-javascript@1.21.0': + resolution: {integrity: sha512-jxQHNtVP17edFW4/0vICqAVLDAxmyV31MQJL4U/Kg+heQALeKYVOWo0sMmEZ18FqBt+9UCdyqGKYE7bLRtk9mg==} - '@shikijs/engine-oniguruma@1.18.0': - resolution: {integrity: sha512-B9u0ZKI/cud+TcmF8Chyh+R4V5qQVvyDOqXC2l2a4x73PBSBc6sZ0JRAX3eqyJswqir6ktwApUUGBYePdKnMJg==} + '@shikijs/engine-oniguruma@1.21.0': + resolution: {integrity: sha512-AIZ76XocENCrtYzVU7S4GY/HL+tgHGbVU+qhiDyNw1qgCA5OSi4B4+HY4BtAoJSMGuD/L5hfTzoRVbzEm2WTvg==} '@shikijs/transformers@1.14.1': resolution: {integrity: sha512-JJqL8QBVCJh3L61jqqEXgFq1cTycwjcGj7aSmqOEsbxnETM9hRlaB74QuXvY/fVJNjbNt8nvWo0VwAXKvMSLRg==} - '@shikijs/twoslash@1.18.0': - resolution: {integrity: sha512-nbv1vEiNlM9GbXpN0++5QiT2NdUbAJ6y8yBuMWIiT04dxD3tdl7Ud3TL6hAZ6CAwMGn5hRaN+2va2oN1Rsy1Ww==} + '@shikijs/twoslash@1.21.0': + resolution: {integrity: sha512-91HTpoIsx6vsJZ0DE1fs/jNeEAL5xJ5hWMVPUSp3iGHxOLH59nGrOcsjSgv4lKaxeE2i6VFvnPANQ5q8I5k2AQ==} - '@shikijs/types@1.18.0': - resolution: {integrity: sha512-O9N36UEaGGrxv1yUrN2nye7gDLG5Uq0/c1LyfmxsvzNPqlHzWo9DI0A4+fhW2y3bGKuQu/fwS7EPdKJJCowcVA==} + '@shikijs/types@1.21.0': + resolution: {integrity: sha512-tzndANDhi5DUndBtpojEq/42+dpUF2wS7wdCDQaFtIXm3Rd1QkrcVgSSRLOvEwexekihOXfbYJINW37g96tJRw==} - '@shikijs/vitepress-twoslash@1.18.0': - resolution: {integrity: sha512-yk1VyStviw/vmVXOZ1/DofgYjFmkm41UKzjEHu/8ZJ+UuPFjqu6Y2n6rtd4vkr8vBs5lv32FGPcQUseURTDs1g==} + '@shikijs/vitepress-twoslash@1.21.0': + resolution: {integrity: sha512-/B/edWFxZ6Tdfj0Jj+jxJOKsHRd89NZ57tK0E68kvaWbbnBw3UaLCixDL+SvdeGFMov2uN1URXgCdBQTR6daZg==} '@shikijs/vscode-textmate@9.2.2': resolution: {integrity: sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==} @@ -3378,8 +3378,8 @@ packages: '@types/node@20.14.14': resolution: {integrity: sha512-d64f00982fS9YoOgJkAMolK7MN8Iq3TDdVjchbYHdEmjth/DHowx82GnoA+tVUAN+7vxfYUgAzi+JXbKNd2SDQ==} - '@types/node@20.16.7': - resolution: {integrity: sha512-QkDQjAY3gkvJNcZOWwzy3BN34RweT0OQ9zJyvLCU0kSK22dO2QYh/NHGfbEAYylPYzRB1/iXcojS79wOg5gFSw==} + '@types/node@20.16.10': + resolution: {integrity: sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3405,8 +3405,8 @@ packages: '@types/react-dom@18.3.0': resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} - '@types/react@18.3.9': - resolution: {integrity: sha512-+BpAVyTpJkNWWSSnaLBk6ePpHLOGJKnEQNbINNovPWzvEUyAe3e+/d494QdEh71RekM/qV7lw6jzf1HGrJyAtQ==} + '@types/react@18.3.10': + resolution: {integrity: sha512-02sAAlBnP39JgXwkAq3PeU9DVaaGpZyF3MGcC0MKgQVkZor5IiiDAipVaxQHtDJAmO4GIy/rVBy/LzVj76Cyqg==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -3810,26 +3810,26 @@ packages: '@vue/compiler-core@3.2.0': resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} + '@vue/compiler-core@3.5.10': + resolution: {integrity: sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==} + '@vue/compiler-core@3.5.6': resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} - '@vue/compiler-core@3.5.8': - resolution: {integrity: sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==} - '@vue/compiler-dom@3.2.0': resolution: {integrity: sha512-CqfATmX04+58LNBTTUPRBLyYGLP0bxtL+8b7B8pEvXja7fpmxiYcKBQsdaXfyqoRJsaTzA7eVXQt/t0dYhu/SQ==} + '@vue/compiler-dom@3.5.10': + resolution: {integrity: sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==} + '@vue/compiler-dom@3.5.6': resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} - '@vue/compiler-dom@3.5.8': - resolution: {integrity: sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==} + '@vue/compiler-sfc@3.5.10': + resolution: {integrity: sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==} - '@vue/compiler-sfc@3.5.8': - resolution: {integrity: sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==} - - '@vue/compiler-ssr@3.5.8': - resolution: {integrity: sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==} + '@vue/compiler-ssr@3.5.10': + resolution: {integrity: sha512-hxP4Y3KImqdtyUKXDRSxKSRkSm1H9fCvhojEYrnaoWhE4w/y8vwWhnosJoPPe2AXm5sU7CSbYYAgkt2ZPhDz+A==} '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} @@ -3860,25 +3860,25 @@ packages: '@vue/reactivity@3.2.0': resolution: {integrity: sha512-39L3UJe8+jYeCTM/QrDglDM05O11UrmyhazUOHOOj7+a9pPVu95HGInh5CkKQf98mx2gq6t3PPN8bCN5wK8Wwg==} - '@vue/reactivity@3.5.8': - resolution: {integrity: sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==} + '@vue/reactivity@3.5.10': + resolution: {integrity: sha512-kW08v06F6xPSHhid9DJ9YjOGmwNDOsJJQk0ax21wKaUYzzuJGEuoKNU2Ujux8FLMrP7CFJJKsHhXN9l2WOVi2g==} '@vue/runtime-core@3.2.0': resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} - '@vue/runtime-core@3.5.8': - resolution: {integrity: sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==} + '@vue/runtime-core@3.5.10': + resolution: {integrity: sha512-9Q86I5Qq3swSkFfzrZ+iqEy7Vla325M7S7xc1NwKnRm/qoi1Dauz0rT6mTMmscqx4qz0EDJ1wjB+A36k7rl8mA==} '@vue/runtime-dom@3.2.0': resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} - '@vue/runtime-dom@3.5.8': - resolution: {integrity: sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==} + '@vue/runtime-dom@3.5.10': + resolution: {integrity: sha512-t3x7ht5qF8ZRi1H4fZqFzyY2j+GTMTDxRheT+i8M9Ph0oepUxoadmbwlFwMoW7RYCpNQLpP2Yx3feKs+fyBdpA==} - '@vue/server-renderer@3.5.8': - resolution: {integrity: sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==} + '@vue/server-renderer@3.5.10': + resolution: {integrity: sha512-IVE97tt2kGKwHNq9yVO0xdh1IvYfZCShvDSy46JIh5OQxP1/EXSpoDqetVmyIzL7CYOWnnmMkVqd7YK2QSWkdw==} peerDependencies: - vue: 3.5.8 + vue: 3.5.10 '@vue/shared@3.2.0': resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} @@ -3886,12 +3886,12 @@ packages: '@vue/shared@3.4.38': resolution: {integrity: sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==} + '@vue/shared@3.5.10': + resolution: {integrity: sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==} + '@vue/shared@3.5.6': resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} - '@vue/shared@3.5.8': - resolution: {integrity: sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==} - '@vueuse/core@11.0.0': resolution: {integrity: sha512-shibzNGjmRjZucEm97B8V0NO5J3vPHMCE/mltxQ3vHezbDoFQBMtK11XsfwfPionxSbo+buqPmsCljtYuXIBpw==} @@ -4168,8 +4168,8 @@ packages: caniuse-lite@1.0.30001649: resolution: {integrity: sha512-fJegqZZ0ZX8HOWr6rcafGr72+xcgJKI9oWfDW5DrD7ExUtgZC7a7R7ZYmZqplh7XDocFdGeIFn7roAxhOeYrPQ==} - caniuse-lite@1.0.30001663: - resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==} + caniuse-lite@1.0.30001664: + resolution: {integrity: sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g==} capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} @@ -4587,8 +4587,8 @@ packages: ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - electron-to-chromium@1.5.28: - resolution: {integrity: sha512-VufdJl+rzaKZoYVUijN13QcXVF5dWPZANeFTLNy+OSpHdDL5ynXTF35+60RSBbaQYB1ae723lQXHCrf4pyLsMw==} + electron-to-chromium@1.5.29: + resolution: {integrity: sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw==} emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -5648,8 +5648,8 @@ packages: resolution: {integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==} engines: {node: '>=18'} - miniflare@3.20240909.5: - resolution: {integrity: sha512-3Am3D9LGDljEKWnylSy6hFg3LFnNCo9DlWqZFcL7QkuIhQwN6Sqz1d6xQCkgft7FVXnykG6VNpz0NrjdW+mBjg==} + miniflare@3.20240925.0: + resolution: {integrity: sha512-2LmQbKHf0n6ertUKhT+Iltixi53giqDH7P71+wCir3OnGyXIODqYwOECx1mSDNhYThpxM2dav8UdPn6SQiMoXw==} engines: {node: '>=16.13'} hasBin: true @@ -6316,8 +6316,8 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.20.0: - resolution: {integrity: sha512-6rbWBChcnSGzIlXeIdNIZTopKYad8ZG8ajhl78lGRLsI2rX8IkaotQhVas2Ma+GPxJav19wrSzvRvuiv0YKzWw==} + rollup@4.22.5: + resolution: {integrity: sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true @@ -6337,133 +6337,133 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-embedded-android-arm64@1.79.3: - resolution: {integrity: sha512-Wqm/WKHIDQl7w7eIQRO/GQ7EXfnwNpipCyJL7Xtb15vSAV64J4/0D/esy6GOPlVG+qcu8/XN8NV7Bf5wZ2ExUw==} + sass-embedded-android-arm64@1.79.4: + resolution: {integrity: sha512-0JAZ8TtXYv9yI3Yasaq03xvo7DLJOmD+Exb30oJKxXcWTAV9TB0ZWKoIRsFxbCyPxyn7ouxkaCEXQtaTRKrmfw==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [android] - sass-embedded-android-arm@1.79.3: - resolution: {integrity: sha512-rrdaVDkKBLUqzdqlBFamUbeuLG+8r/QLXHIgz4qPhIDqceJH6ds0Vzrae9Ef6DhYfMatOg2xiScdatwQ8Yl/hA==} + sass-embedded-android-arm@1.79.4: + resolution: {integrity: sha512-YOVpDGDcwWUQvktpJhYo4zOkknDpdX6ALpaeHDTX6GBUvnZfx+Widh76v+QFUhiJQ/I/hndXg1jv/PKilOHRrw==} engines: {node: '>=14.0.0'} cpu: [arm] os: [android] - sass-embedded-android-ia32@1.79.3: - resolution: {integrity: sha512-6rDmH0O7hjBP04/xBAFzSYYMU/7MrQYCak4541BZIbIfa2uw0x/8+mB7lZjdgFsBrFjcpdVCPhZPUE6Y50c00A==} + sass-embedded-android-ia32@1.79.4: + resolution: {integrity: sha512-IjO3RoyvNN84ZyfAR5s/a8TIdNPfClb7CLGrswB3BN/NElYIJUJMVHD6+Y8W9QwBIZ8DrK1IdLFSTV8nn82xMA==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [android] - sass-embedded-android-riscv64@1.79.3: - resolution: {integrity: sha512-B/PgB0AfTCvOlF1g89raJTwTXIUQUM3OXDWqEKIlJEZM1Yao91i8ZkyrFkDMzT4G5sETy4o8pgK+qE9+7bFlug==} + sass-embedded-android-riscv64@1.79.4: + resolution: {integrity: sha512-uOT8nXmKxSwuIdcqvElVWBFcm/+YcIvmwfoKbpuuSOSxUe9eqFzxo+fk7ILhynzf6FBlvRUH5DcjGj+sXtCc3w==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [android] - sass-embedded-android-x64@1.79.3: - resolution: {integrity: sha512-a5cpo9Yw4xnX32Uo3WfMZLaTVnI/h2n7U3K3eTygyj707yhGkUB0i+qxldzCw8MmKivIu9irG6O4kmnRjW6f7g==} + sass-embedded-android-x64@1.79.4: + resolution: {integrity: sha512-W2FQoj3Z2J2DirNs3xSBVvrhMuqLnsqvOPulxOkhL/074+faKOZZnPx2tZ5zsHbY97SonciiU0SV0mm98xI42w==} engines: {node: '>=14.0.0'} cpu: [x64] os: [android] - sass-embedded-darwin-arm64@1.79.3: - resolution: {integrity: sha512-imafD0nlVz5FJhqBqxUbG5rK4E3cu1GxhMZ5VhKm0k4t5jFQo+3OjN7sHT4Ee2Mk1g8sjr5dtq5enDU4fs6lXA==} + sass-embedded-darwin-arm64@1.79.4: + resolution: {integrity: sha512-pcYtbN1VUAAcfgyHeX8ySndDWGjIvcq6rldduktPbGGuAlEWFDfnwjTbv0hS945ggdzZ6TFnaFlLEDr0SjKzBA==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [darwin] - sass-embedded-darwin-x64@1.79.3: - resolution: {integrity: sha512-pjciT1FcMUMA4rWdpyZYSwMOvxk5JP7R6vy7TzvqkUEqXxP9FTflYnAiwgYUDVTpngHHqRxTjdyW+e+h2L9dHw==} + sass-embedded-darwin-x64@1.79.4: + resolution: {integrity: sha512-ir8CFTfc4JLx/qCP8LK1/3pWv35nRyAQkUK7lBIKM6hWzztt64gcno9rZIk4SpHr7Z/Bp1IYWWRS4ZT+4HmsbA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [darwin] - sass-embedded-linux-arm64@1.79.3: - resolution: {integrity: sha512-ODo8ghwk6KHxchgwxq4CwgfYwWdreEbsQoukeEgRKxHcuLB9XF6tol9pGlfrc8sYox48Vp5WDCZuzgoo6rJ6tg==} + sass-embedded-linux-arm64@1.79.4: + resolution: {integrity: sha512-XIVn2mCuA422SR2kmKjF6jhjMs1Vrt1DbZ/ktSp+eR0sU4ugu2htg45GajiUFSKKRj7Sc+cBdThq1zPPsDLf1w==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-arm@1.79.3: - resolution: {integrity: sha512-n0bDtzABPE5YaL9wSLxNPiQMl1zArsGblHJyED6fEHz41m+OkCTopfO8IVjcf+MBrK/j11gonxiIGWO+fNOxvg==} + sass-embedded-linux-arm@1.79.4: + resolution: {integrity: sha512-H/XEE3rY7c+tY0qDaELjPjC6VheAhBo1tPJQ6UHoBEf8xrbT/RT3dWiIS8grp9Vk54RCn05BEB/+POaljvvKGA==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-ia32@1.79.3: - resolution: {integrity: sha512-oC3rUyIE6mEm2etsc4CuNu6IVmB6CoSM4KsubxzCD3S37QFXq8wYbI0t9iiDdTkKb5Iu+vUyhn+tYJRVHg0tvw==} + sass-embedded-linux-ia32@1.79.4: + resolution: {integrity: sha512-3nqZxV4nuUTb1ahLexVl4hsnx1KKwiGdHEf1xHWTZai6fYFMcwyNPrHySCQzFHqb5xiqSpPzzrKjuDhF6+guuQ==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-arm64@1.79.3: - resolution: {integrity: sha512-Q9/5lsrK/JnQci3DwxZ9PGIIrRxuo/bySv+gbyVp8Kb7gdkZcEsY7HkxaBJfwVEwpZSGAyCviyZDHDMILjliOw==} + sass-embedded-linux-musl-arm64@1.79.4: + resolution: {integrity: sha512-C6qX06waPEfDgOHR8jXoYxl0EtIXOyBDyyonrLO3StRjWjGx7XMQj2hA/KXSsV+Hr71fBOsaViosqWXPzTbEiQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [linux] - sass-embedded-linux-musl-arm@1.79.3: - resolution: {integrity: sha512-TOUYMtDs9xoMsJSEEr7NjtcVCqVpg1eSOQHXXruJ1kiYfxwmHrCYTjTLoefbZ29mWqIq8NUaXJG4rZNDK6NzRA==} + sass-embedded-linux-musl-arm@1.79.4: + resolution: {integrity: sha512-HnbU1DEiQdUayioNzxh2WlbTEgQRBPTgIIvof8J63QLmVItUqE7EkWYkSUy4RhO+8NsuN9wzGmGTzFBvTImU7g==} engines: {node: '>=14.0.0'} cpu: [arm] os: [linux] - sass-embedded-linux-musl-ia32@1.79.3: - resolution: {integrity: sha512-T2uERh3gs9eWUzdkDadPuYbelQJQLZyX8myutUd4fxyrQ7ToQRBwcMoynEjl48DBHnM0oRiJUHrV9uFuJ+fmRA==} + sass-embedded-linux-musl-ia32@1.79.4: + resolution: {integrity: sha512-y5b0fdOPWyhj4c+mc88GvQiC5onRH1V0iNaWNjsiZ+L4hHje6T98nDLrCJn0fz5GQnXjyLCLZduMWbfV0QjHGg==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [linux] - sass-embedded-linux-musl-riscv64@1.79.3: - resolution: {integrity: sha512-XTuYtTBPFeEjydS2GsIUkMztzXIiz13noknE7m1yAbVxOchu9jD9FCLAdK9pVPPki+9BiLSxsutYwOcQn8atqQ==} + sass-embedded-linux-musl-riscv64@1.79.4: + resolution: {integrity: sha512-G2M5ADMV9SqnkwpM0S+UzDz7xR2njCOhofku/sDMZABzAjQQWTsAykKoGmzlT98fTw2HbNhb6u74umf2WLhCfw==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-musl-x64@1.79.3: - resolution: {integrity: sha512-gDHfaPlxT/XQTMbfb2y+U6zDMuI8pfapVXTYlUrgYhKH2KoICclIvahhjFii5i5+1dHpfGzjgYKBqI3nvZsYFg==} + sass-embedded-linux-musl-x64@1.79.4: + resolution: {integrity: sha512-kQm8dCU3DXf7DtUGWYPiPs03KJYKvFeiZJHhSx993DCM8D2b0wCXWky0S0Z46gf1sEur0SN4Lvnt1WczTqxIBw==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-linux-riscv64@1.79.3: - resolution: {integrity: sha512-NONTa//1ZfxA87+Zjp3rabL+Z9gM67FJBdktRKXXMBAce5i8eCj/eqJGUOGPjYxtvxtQw77cex0qMr9SZnX6ww==} + sass-embedded-linux-riscv64@1.79.4: + resolution: {integrity: sha512-GaTI/mXYWYSzG5wxtM4H2cozLpATyh+4l+rO9FFKOL8e1sUOLAzTeRdU2nSBYCuRqsxRuTZIwCXhSz9Q3NRuNA==} engines: {node: '>=14.0.0'} cpu: [riscv64] os: [linux] - sass-embedded-linux-x64@1.79.3: - resolution: {integrity: sha512-drlUqMMw222+f/T5sNrIAv+z0vQwLkO4zAlDmf4biLdWIloPP/3plTodAkMyfagNcvA8jG2jN414pJXBI3zK6w==} + sass-embedded-linux-x64@1.79.4: + resolution: {integrity: sha512-f9laGkqHgC01h99Qt4LsOV+OLMffjvUcTu14hYWqMS9QVX5a4ihMwpf1NoAtTUytb7cVF3rYY/NVGuXt6G3ppQ==} engines: {node: '>=14.0.0'} cpu: [x64] os: [linux] - sass-embedded-win32-arm64@1.79.3: - resolution: {integrity: sha512-gYz0IUb0fLkHUbhq+HR52wvQfG75Zu1s48/v48TqC+b04H/01k2eiawp/Ec1f+lhpIL/pr5+n5jWR6CjkxPdnQ==} + sass-embedded-win32-arm64@1.79.4: + resolution: {integrity: sha512-cidBvtaA2cJ6dNlwQEa8qak+ezypurzKs0h0QAHLH324+j/6Jum7LCnQhZRPYJBFjHl+WYd7KwzPnJ2X5USWnQ==} engines: {node: '>=14.0.0'} cpu: [arm64] os: [win32] - sass-embedded-win32-ia32@1.79.3: - resolution: {integrity: sha512-fbDTyzbqRc+xCWZ+YHSDt2WvGk5PW2K0SjyHuwes/Fls1+wdO4iHIukE/pD+HSWytYrtCqhe7EFq5Ug5HxGTLg==} + sass-embedded-win32-ia32@1.79.4: + resolution: {integrity: sha512-hexdmNTIZGTKNTzlMcdvEXzYuxOJcY89zqgsf45aQ2YMy4y2M8dTOxRI/Vz7p4iRxVp1Jow6LCtaLHrNI2Ordg==} engines: {node: '>=14.0.0'} cpu: [ia32] os: [win32] - sass-embedded-win32-x64@1.79.3: - resolution: {integrity: sha512-vvfr6wyCaHvdQbGS8UkYab6DXc1FKJRYFT5aFE3QTVqbzCqmJ5tf80E4+gvB99nljLtMjwKR1d332iWI9KDLhw==} + sass-embedded-win32-x64@1.79.4: + resolution: {integrity: sha512-73yrpiWIbti6DkxhWURklkgSLYKfU9itDmvHxB+oYSb4vQveIApqTwSyTOuIUb/6Da/EsgEpdJ4Lbj4sLaMZWA==} engines: {node: '>=14.0.0'} cpu: [x64] os: [win32] - sass-embedded@1.79.3: - resolution: {integrity: sha512-zUve2qCn6uSOMZnZazLzrDWq//OQWFle5G45vJjv3B/ADIA3TXVgqHqN3u7D2vGajOGREz0HN5nhliSoKmQqZA==} + sass-embedded@1.79.4: + resolution: {integrity: sha512-3AATrtStMgxYjkit02/Ix8vx/P7qderYG6DHjmehfk5jiw53OaWVScmcGJSwp/d77kAkxDQ+Y0r+79VynGmrkw==} engines: {node: '>=16.0.0'} hasBin: true - sass@1.79.3: - resolution: {integrity: sha512-m7dZxh0W9EZ3cw50Me5GOuYm/tVAJAn91SUnohLRo9cXBixGUOdvmryN+dXpwR831bhoY3Zv7rEFt85PUwTmzA==} + sass@1.79.4: + resolution: {integrity: sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==} engines: {node: '>=14.0.0'} hasBin: true @@ -6531,8 +6531,8 @@ packages: shiki@1.14.1: resolution: {integrity: sha512-FujAN40NEejeXdzPt+3sZ3F2dx1U24BY2XTY01+MG8mbxCiA2XukXdcbyMyLAHJ/1AUUnQd1tZlvIjefWWEJeA==} - shiki@1.18.0: - resolution: {integrity: sha512-8jo7tOXr96h9PBQmOHVrltnETn1honZZY76YA79MHheGQg55jBvbm9dtU+MI5pjC5NJCFuA6rvVTLVeSW5cE4A==} + shiki@1.21.0: + resolution: {integrity: sha512-apCH5BoWTrmHDPGgg3RF8+HAAbEL/CdbYr8rMw7eIrdhCkZHdVGat5mMNlRtd1erNG01VPMIKHNQ0Pj2HMAiog==} side-channel@1.0.6: resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} @@ -6759,8 +6759,8 @@ packages: resolution: {integrity: sha512-bX655WZI/F7EoTDw9JvQURqAXiPHi8o8+yFxPF2lWYyz1aHnmMRuXWqL6YB6GmeO0o4DIYWHLgGNi/X64T+X4Q==} engines: {node: '>=14.18'} - terser@5.33.0: - resolution: {integrity: sha512-JuPVaB7s1gdFKPKTelwUyRq5Sid2A3Gko2S0PncwdBq7kN9Ti9HPWDQ06MPsEDGsZeVESjKEnyGy68quBk1w6g==} + terser@5.34.1: + resolution: {integrity: sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA==} engines: {node: '>=10'} hasBin: true @@ -6865,16 +6865,16 @@ packages: engines: {node: '>=18.0.0'} hasBin: true - twoslash-protocol@0.2.11: - resolution: {integrity: sha512-rp+nkOWbKfJnBTDZtnIaBGjnU+4CaMhqu6db2UU7byU96rH8X4hao4BOxYw6jdZc85Lhv5pOfcjgfHeQyLzndQ==} + twoslash-protocol@0.2.12: + resolution: {integrity: sha512-5qZLXVYfZ9ABdjqbvPc4RWMr7PrpPaaDSeaYY55vl/w1j6H6kzsWK/urAEIXlzYlyrFmyz1UbwIt+AA0ck+wbg==} - twoslash-vue@0.2.11: - resolution: {integrity: sha512-wBwIwG0PRuv5V+1DD4Zno1j6MnaCbaY/ELops7oKSoMBTIQL720iRXppyldVVoYvti2caUA97T36XhZXHpjQyA==} + twoslash-vue@0.2.12: + resolution: {integrity: sha512-kxH60DLn2QBcN2wjqxgMDkyRgmPXsytv7fJIlsyFMDPSkm1/lMrI/UMrNAshNaRHcI+hv8x3h/WBgcvlb2RNAQ==} peerDependencies: typescript: '*' - twoslash@0.2.11: - resolution: {integrity: sha512-392Qkcu5sD2hROLZ+XPywChreDGJ8Yu5nnK/Moxfti/R39q0Q39MaV7iHjz92B5qucyjsQFnKMdYIzafX5T8dg==} + twoslash@0.2.12: + resolution: {integrity: sha512-tEHPASMqi7kqwfJbkk7hc/4EhlrKCSLcur+TcvYki3vhIfaRMXnXjaYFgXpoZRbT6GdprD4tGuVBEmTpUgLBsw==} peerDependencies: typescript: '*' @@ -7100,8 +7100,8 @@ packages: vue@3.2.0: resolution: {integrity: sha512-eMo5yCdkWRmBfqp/acBI/Y1Omgk0NyGqPViaU66eOpKarXNtkdImzDA57+E76jnWVr6MEp/rg1n0vnxaVvALMQ==} - vue@3.5.8: - resolution: {integrity: sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==} + vue@3.5.10: + resolution: {integrity: sha512-Vy2kmJwHPlouC/tSnIgXVg03SG+9wSqT1xu1Vehc+ChsXsRd7jLkKgMltVEFOzUdBr3uFwBCG+41LJtfAcBRng==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7147,8 +7147,8 @@ packages: wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - workerd@1.20240909.0: - resolution: {integrity: sha512-NwuYh/Fgr/MK0H+Ht687sHl/f8tumwT5CWzYR0MZMHri8m3CIYu2IaY4tBFWoKE/tOU1Z5XjEXECa9zXY4+lwg==} + workerd@1.20240925.0: + resolution: {integrity: sha512-/Jj6+yLwfieZGEt3Kx4+5MoufuC3g/8iFaIh4MPBNGJOGYmdSKXvgCqz09m2+tVCYnysRfbq2zcbVxJRBfOCqQ==} engines: {node: '>=16'} hasBin: true @@ -8166,19 +8166,19 @@ snapshots: '@bufbuild/protobuf@2.1.0': {} - '@cloudflare/workerd-darwin-64@1.20240909.0': + '@cloudflare/workerd-darwin-64@1.20240925.0': optional: true - '@cloudflare/workerd-darwin-arm64@1.20240909.0': + '@cloudflare/workerd-darwin-arm64@1.20240925.0': optional: true - '@cloudflare/workerd-linux-64@1.20240909.0': + '@cloudflare/workerd-linux-64@1.20240925.0': optional: true - '@cloudflare/workerd-linux-arm64@1.20240909.0': + '@cloudflare/workerd-linux-arm64@1.20240925.0': optional: true - '@cloudflare/workerd-windows-64@1.20240909.0': + '@cloudflare/workerd-windows-64@1.20240925.0': optional: true '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)': @@ -8195,9 +8195,9 @@ snapshots: '@docsearch/css@3.6.1': {} - '@docsearch/js@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docsearch/js@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docsearch/react': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) preact: 10.7.3 transitivePeerDependencies: - '@algolia/client-search' @@ -8206,14 +8206,14 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@docsearch/react@3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.20.0)(algoliasearch@4.20.0) '@docsearch/css': 3.6.1 algoliasearch: 4.20.0 optionalDependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -8653,9 +8653,9 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-alias@5.1.1(rollup@4.20.0)': + '@rollup/plugin-alias@5.1.1(rollup@4.22.5)': optionalDependencies: - rollup: 4.20.0 + rollup: 4.22.5 '@rollup/plugin-commonjs@25.0.4(rollup@3.29.4)': dependencies: @@ -8668,26 +8668,26 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-commonjs@26.0.3(rollup@4.20.0)': + '@rollup/plugin-commonjs@26.0.3(rollup@4.22.5)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.22.5) commondir: 1.0.1 estree-walker: 2.0.2 glob: 10.4.5 is-reference: 1.2.1 magic-string: 0.30.11 optionalDependencies: - rollup: 4.20.0 + rollup: 4.22.5 - '@rollup/plugin-dynamic-import-vars@2.1.3(rollup@4.20.0)': + '@rollup/plugin-dynamic-import-vars@2.1.3(rollup@4.22.5)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.22.5) astring: 1.8.6 estree-walker: 2.0.2 fast-glob: 3.3.2 magic-string: 0.30.11 optionalDependencies: - rollup: 4.20.0 + rollup: 4.22.5 '@rollup/plugin-json@6.1.0(rollup@3.29.4)': dependencies: @@ -8695,11 +8695,11 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-json@6.1.0(rollup@4.20.0)': + '@rollup/plugin-json@6.1.0(rollup@4.22.5)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.22.5) optionalDependencies: - rollup: 4.20.0 + rollup: 4.22.5 '@rollup/plugin-node-resolve@15.2.3(rollup@3.29.4)': dependencies: @@ -8712,15 +8712,15 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/plugin-node-resolve@15.3.0(rollup@4.20.0)': + '@rollup/plugin-node-resolve@15.3.0(rollup@4.22.5)': dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.22.5) '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-module: 1.0.0 resolve: 1.22.8 optionalDependencies: - rollup: 4.20.0 + rollup: 4.22.5 '@rollup/plugin-replace@5.0.2(rollup@3.29.4)': dependencies: @@ -8745,60 +8745,60 @@ snapshots: optionalDependencies: rollup: 3.29.4 - '@rollup/pluginutils@5.1.2(rollup@4.20.0)': + '@rollup/pluginutils@5.1.2(rollup@4.22.5)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 picomatch: 2.3.1 optionalDependencies: - rollup: 4.20.0 + rollup: 4.22.5 - '@rollup/rollup-android-arm-eabi@4.20.0': + '@rollup/rollup-android-arm-eabi@4.22.5': optional: true - '@rollup/rollup-android-arm64@4.20.0': + '@rollup/rollup-android-arm64@4.22.5': optional: true - '@rollup/rollup-darwin-arm64@4.20.0': + '@rollup/rollup-darwin-arm64@4.22.5': optional: true - '@rollup/rollup-darwin-x64@4.20.0': + '@rollup/rollup-darwin-x64@4.22.5': optional: true - '@rollup/rollup-linux-arm-gnueabihf@4.20.0': + '@rollup/rollup-linux-arm-gnueabihf@4.22.5': optional: true - '@rollup/rollup-linux-arm-musleabihf@4.20.0': + '@rollup/rollup-linux-arm-musleabihf@4.22.5': optional: true - '@rollup/rollup-linux-arm64-gnu@4.20.0': + '@rollup/rollup-linux-arm64-gnu@4.22.5': optional: true - '@rollup/rollup-linux-arm64-musl@4.20.0': + '@rollup/rollup-linux-arm64-musl@4.22.5': optional: true - '@rollup/rollup-linux-powerpc64le-gnu@4.20.0': + '@rollup/rollup-linux-powerpc64le-gnu@4.22.5': optional: true - '@rollup/rollup-linux-riscv64-gnu@4.20.0': + '@rollup/rollup-linux-riscv64-gnu@4.22.5': optional: true - '@rollup/rollup-linux-s390x-gnu@4.20.0': + '@rollup/rollup-linux-s390x-gnu@4.22.5': optional: true - '@rollup/rollup-linux-x64-gnu@4.20.0': + '@rollup/rollup-linux-x64-gnu@4.22.5': optional: true - '@rollup/rollup-linux-x64-musl@4.20.0': + '@rollup/rollup-linux-x64-musl@4.22.5': optional: true - '@rollup/rollup-win32-arm64-msvc@4.20.0': + '@rollup/rollup-win32-arm64-msvc@4.22.5': optional: true - '@rollup/rollup-win32-ia32-msvc@4.20.0': + '@rollup/rollup-win32-ia32-msvc@4.22.5': optional: true - '@rollup/rollup-win32-x64-msvc@4.20.0': + '@rollup/rollup-win32-x64-msvc@4.22.5': optional: true '@sec-ant/readable-stream@0.4.1': {} @@ -8807,55 +8807,55 @@ snapshots: dependencies: '@types/hast': 3.0.4 - '@shikijs/core@1.18.0': + '@shikijs/core@1.21.0': dependencies: - '@shikijs/engine-javascript': 1.18.0 - '@shikijs/engine-oniguruma': 1.18.0 - '@shikijs/types': 1.18.0 + '@shikijs/engine-javascript': 1.21.0 + '@shikijs/engine-oniguruma': 1.21.0 + '@shikijs/types': 1.21.0 '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 hast-util-to-html: 9.0.3 - '@shikijs/engine-javascript@1.18.0': + '@shikijs/engine-javascript@1.21.0': dependencies: - '@shikijs/types': 1.18.0 + '@shikijs/types': 1.21.0 '@shikijs/vscode-textmate': 9.2.2 oniguruma-to-js: 0.4.3 - '@shikijs/engine-oniguruma@1.18.0': + '@shikijs/engine-oniguruma@1.21.0': dependencies: - '@shikijs/types': 1.18.0 + '@shikijs/types': 1.21.0 '@shikijs/vscode-textmate': 9.2.2 '@shikijs/transformers@1.14.1': dependencies: shiki: 1.14.1 - '@shikijs/twoslash@1.18.0(typescript@5.5.3)': + '@shikijs/twoslash@1.21.0(typescript@5.5.3)': dependencies: - '@shikijs/core': 1.18.0 - '@shikijs/types': 1.18.0 - twoslash: 0.2.11(typescript@5.5.3) + '@shikijs/core': 1.21.0 + '@shikijs/types': 1.21.0 + twoslash: 0.2.12(typescript@5.5.3) transitivePeerDependencies: - supports-color - typescript - '@shikijs/types@1.18.0': + '@shikijs/types@1.21.0': dependencies: '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 - '@shikijs/vitepress-twoslash@1.18.0(typescript@5.5.3)': + '@shikijs/vitepress-twoslash@1.21.0(typescript@5.5.3)': dependencies: - '@shikijs/twoslash': 1.18.0(typescript@5.5.3) - floating-vue: 5.2.2(vue@3.5.8(typescript@5.5.3)) + '@shikijs/twoslash': 1.21.0(typescript@5.5.3) + floating-vue: 5.2.2(vue@3.5.10(typescript@5.5.3)) mdast-util-from-markdown: 2.0.1 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 - shiki: 1.18.0 - twoslash: 0.2.11(typescript@5.5.3) - twoslash-vue: 0.2.11(typescript@5.5.3) - vue: 3.5.8(typescript@5.5.3) + shiki: 1.21.0 + twoslash: 0.2.12(typescript@5.5.3) + twoslash-vue: 0.2.12(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -8901,19 +8901,19 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/braces@3.0.4': {} '@types/connect@3.4.38': dependencies: - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/convert-source-map@2.0.3': {} '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/debug@4.1.12': dependencies: @@ -8927,11 +8927,11 @@ snapshots: '@types/etag@1.8.3': dependencies: - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/express-serve-static-core@4.17.43': dependencies: - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8984,7 +8984,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@20.16.7': + '@types/node@20.16.10': dependencies: undici-types: 6.19.6 @@ -9007,9 +9007,9 @@ snapshots: '@types/react-dom@18.3.0': dependencies: - '@types/react': 18.3.9 + '@types/react': 18.3.10 - '@types/react@18.3.9': + '@types/react@18.3.10': dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -9021,17 +9021,17 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/stylus@0.48.43': dependencies: - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@types/unist@3.0.2': {} @@ -9039,7 +9039,7 @@ snapshots: '@types/ws@8.5.12': dependencies: - '@types/node': 20.16.7 + '@types/node': 20.16.10 '@typescript-eslint/eslint-plugin@8.7.0(@typescript-eslint/parser@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3))(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': dependencies: @@ -9171,10 +9171,10 @@ snapshots: '@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@file:playground/optimize-deps/longfilename': {} - '@vitejs/plugin-vue@5.1.2(vite@packages+vite)(vue@3.5.8(typescript@5.5.3))': + '@vitejs/plugin-vue@5.1.2(vite@packages+vite)(vue@3.5.10(typescript@5.5.3))': dependencies: vite: link:packages/vite - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) '@vitejs/release-scripts@1.3.2': dependencies: @@ -9259,7 +9259,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) transitivePeerDependencies: - typescript @@ -9267,7 +9267,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) transitivePeerDependencies: - typescript @@ -9421,18 +9421,18 @@ snapshots: estree-walker: 2.0.2 source-map: 0.6.1 - '@vue/compiler-core@3.5.6': + '@vue/compiler-core@3.5.10': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.6 + '@vue/shared': 3.5.10 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-core@3.5.8': + '@vue/compiler-core@3.5.6': dependencies: '@babel/parser': 7.25.6 - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.6 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.1 @@ -9442,32 +9442,32 @@ snapshots: '@vue/compiler-core': 3.2.0 '@vue/shared': 3.2.0 + '@vue/compiler-dom@3.5.10': + dependencies: + '@vue/compiler-core': 3.5.10 + '@vue/shared': 3.5.10 + '@vue/compiler-dom@3.5.6': dependencies: '@vue/compiler-core': 3.5.6 '@vue/shared': 3.5.6 - '@vue/compiler-dom@3.5.8': - dependencies: - '@vue/compiler-core': 3.5.8 - '@vue/shared': 3.5.8 - - '@vue/compiler-sfc@3.5.8': + '@vue/compiler-sfc@3.5.10': dependencies: '@babel/parser': 7.25.6 - '@vue/compiler-core': 3.5.8 - '@vue/compiler-dom': 3.5.8 - '@vue/compiler-ssr': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-core': 3.5.10 + '@vue/compiler-dom': 3.5.10 + '@vue/compiler-ssr': 3.5.10 + '@vue/shared': 3.5.10 estree-walker: 2.0.2 magic-string: 0.30.11 postcss: 8.4.47 source-map-js: 1.2.1 - '@vue/compiler-ssr@3.5.8': + '@vue/compiler-ssr@3.5.10': dependencies: - '@vue/compiler-dom': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/compiler-dom': 3.5.10 + '@vue/shared': 3.5.10 '@vue/compiler-vue2@2.7.16': dependencies: @@ -9501,7 +9501,7 @@ snapshots: '@volar/language-core': 2.4.1 '@vue/compiler-dom': 3.5.6 '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.10 computeds: 0.0.1 minimatch: 9.0.5 muggle-string: 0.4.1 @@ -9513,19 +9513,19 @@ snapshots: dependencies: '@vue/shared': 3.2.0 - '@vue/reactivity@3.5.8': + '@vue/reactivity@3.5.10': dependencies: - '@vue/shared': 3.5.8 + '@vue/shared': 3.5.10 '@vue/runtime-core@3.2.0': dependencies: '@vue/reactivity': 3.2.0 '@vue/shared': 3.2.0 - '@vue/runtime-core@3.5.8': + '@vue/runtime-core@3.5.10': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/reactivity': 3.5.10 + '@vue/shared': 3.5.10 '@vue/runtime-dom@3.2.0': dependencies: @@ -9533,42 +9533,42 @@ snapshots: '@vue/shared': 3.2.0 csstype: 2.6.21 - '@vue/runtime-dom@3.5.8': + '@vue/runtime-dom@3.5.10': dependencies: - '@vue/reactivity': 3.5.8 - '@vue/runtime-core': 3.5.8 - '@vue/shared': 3.5.8 + '@vue/reactivity': 3.5.10 + '@vue/runtime-core': 3.5.10 + '@vue/shared': 3.5.10 csstype: 3.1.3 - '@vue/server-renderer@3.5.8(vue@3.5.8(typescript@5.5.3))': + '@vue/server-renderer@3.5.10(vue@3.5.10(typescript@5.5.3))': dependencies: - '@vue/compiler-ssr': 3.5.8 - '@vue/shared': 3.5.8 - vue: 3.5.8(typescript@5.5.3) + '@vue/compiler-ssr': 3.5.10 + '@vue/shared': 3.5.10 + vue: 3.5.10(typescript@5.5.3) '@vue/shared@3.2.0': {} '@vue/shared@3.4.38': {} - '@vue/shared@3.5.6': {} + '@vue/shared@3.5.10': {} - '@vue/shared@3.5.8': {} + '@vue/shared@3.5.6': {} - '@vueuse/core@11.0.0(vue@3.5.8(typescript@5.5.3))': + '@vueuse/core@11.0.0(vue@3.5.10(typescript@5.5.3))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 11.0.0 - '@vueuse/shared': 11.0.0(vue@3.5.8(typescript@5.5.3)) - vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.3)) + '@vueuse/shared': 11.0.0(vue@3.5.10(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.3))': + '@vueuse/integrations@11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.10(typescript@5.5.3))': dependencies: - '@vueuse/core': 11.0.0(vue@3.5.8(typescript@5.5.3)) - '@vueuse/shared': 11.0.0(vue@3.5.8(typescript@5.5.3)) - vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.3)) + '@vueuse/core': 11.0.0(vue@3.5.10(typescript@5.5.3)) + '@vueuse/shared': 11.0.0(vue@3.5.10(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.3)) optionalDependencies: axios: 1.7.7 focus-trap: 7.5.4 @@ -9578,9 +9578,9 @@ snapshots: '@vueuse/metadata@11.0.0': {} - '@vueuse/shared@11.0.0(vue@3.5.8(typescript@5.5.3))': + '@vueuse/shared@11.0.0(vue@3.5.10(typescript@5.5.3))': dependencies: - vue-demi: 0.14.10(vue@3.5.8(typescript@5.5.3)) + vue-demi: 0.14.10(vue@3.5.10(typescript@5.5.3)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -9793,8 +9793,8 @@ snapshots: browserslist@4.24.0: dependencies: - caniuse-lite: 1.0.30001663 - electron-to-chromium: 1.5.28 + caniuse-lite: 1.0.30001664 + electron-to-chromium: 1.5.29 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.24.0) @@ -9822,7 +9822,7 @@ snapshots: caniuse-lite@1.0.30001649: {} - caniuse-lite@1.0.30001663: {} + caniuse-lite@1.0.30001664: {} capnp-ts@0.7.0: dependencies: @@ -10198,7 +10198,7 @@ snapshots: ee-first@1.1.1: {} - electron-to-chromium@1.5.28: {} + electron-to-chromium@1.5.29: {} emoji-regex@10.3.0: {} @@ -10670,11 +10670,11 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(vue@3.5.8(typescript@5.5.3)): + floating-vue@5.2.2(vue@3.5.10(typescript@5.5.3)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.5.8(typescript@5.5.3) - vue-resize: 2.0.0-alpha.1(vue@3.5.8(typescript@5.5.3)) + vue: 3.5.10(typescript@5.5.3) + vue-resize: 2.0.0-alpha.1(vue@3.5.10(typescript@5.5.3)) focus-trap@7.5.4: dependencies: @@ -11564,7 +11564,7 @@ snapshots: mimic-function@5.0.1: {} - miniflare@3.20240909.5: + miniflare@3.20240925.0: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.12.1(patch_hash=i6svphyqbutfresqjorapmeqfu) @@ -11574,7 +11574,7 @@ snapshots: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.4 - workerd: 1.20240909.0 + workerd: 1.20240925.0 ws: 8.18.0 youch: 3.2.3 zod: 3.22.4 @@ -11614,7 +11614,7 @@ snapshots: mkdirp@1.0.4: {} - mkdist@1.3.0(sass@1.79.3)(typescript@5.5.3): + mkdist@1.3.0(sass@1.79.4)(typescript@5.5.3): dependencies: citty: 0.1.4 defu: 6.1.2 @@ -11626,7 +11626,7 @@ snapshots: mri: 1.2.0 pathe: 1.1.2 optionalDependencies: - sass: 1.79.3 + sass: 1.79.4 typescript: 5.5.3 mlly@1.7.1: @@ -11897,13 +11897,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.47 - postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)): + postcss-load-config@4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)): dependencies: lilconfig: 3.1.2 yaml: 2.5.0 optionalDependencies: postcss: 8.4.47 - ts-node: 10.9.2(@types/node@20.16.7)(typescript@5.5.3) + ts-node: 10.9.2(@types/node@20.16.10)(typescript@5.5.3) postcss-modules-extract-imports@3.0.0(postcss@8.4.47): dependencies: @@ -12202,26 +12202,26 @@ snapshots: optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-dts@6.1.1(rollup@4.20.0)(typescript@5.5.3): + rollup-plugin-dts@6.1.1(rollup@4.22.5)(typescript@5.5.3): dependencies: magic-string: 0.30.11 - rollup: 4.20.0 + rollup: 4.22.5 typescript: 5.5.3 optionalDependencies: '@babel/code-frame': 7.24.7 - rollup-plugin-esbuild@6.1.1(esbuild@0.24.0)(rollup@4.20.0): + rollup-plugin-esbuild@6.1.1(esbuild@0.24.0)(rollup@4.22.5): dependencies: - '@rollup/pluginutils': 5.1.2(rollup@4.20.0) + '@rollup/pluginutils': 5.1.2(rollup@4.22.5) debug: 4.3.7 es-module-lexer: 1.5.4 esbuild: 0.24.0 get-tsconfig: 4.7.5 - rollup: 4.20.0 + rollup: 4.22.5 transitivePeerDependencies: - supports-color - rollup-plugin-license@3.5.3(picomatch@2.3.1)(rollup@4.20.0): + rollup-plugin-license@3.5.3(picomatch@2.3.1)(rollup@4.22.5): dependencies: commenting: 1.1.0 fdir: 6.3.0(picomatch@2.3.1) @@ -12229,7 +12229,7 @@ snapshots: magic-string: 0.30.11 moment: 2.30.1 package-name-regex: 2.0.6 - rollup: 4.20.0 + rollup: 4.22.5 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 transitivePeerDependencies: @@ -12239,26 +12239,26 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.20.0: + rollup@4.22.5: dependencies: - '@types/estree': 1.0.5 + '@types/estree': 1.0.6 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.20.0 - '@rollup/rollup-android-arm64': 4.20.0 - '@rollup/rollup-darwin-arm64': 4.20.0 - '@rollup/rollup-darwin-x64': 4.20.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.20.0 - '@rollup/rollup-linux-arm-musleabihf': 4.20.0 - '@rollup/rollup-linux-arm64-gnu': 4.20.0 - '@rollup/rollup-linux-arm64-musl': 4.20.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.20.0 - '@rollup/rollup-linux-riscv64-gnu': 4.20.0 - '@rollup/rollup-linux-s390x-gnu': 4.20.0 - '@rollup/rollup-linux-x64-gnu': 4.20.0 - '@rollup/rollup-linux-x64-musl': 4.20.0 - '@rollup/rollup-win32-arm64-msvc': 4.20.0 - '@rollup/rollup-win32-ia32-msvc': 4.20.0 - '@rollup/rollup-win32-x64-msvc': 4.20.0 + '@rollup/rollup-android-arm-eabi': 4.22.5 + '@rollup/rollup-android-arm64': 4.22.5 + '@rollup/rollup-darwin-arm64': 4.22.5 + '@rollup/rollup-darwin-x64': 4.22.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.5 + '@rollup/rollup-linux-arm-musleabihf': 4.22.5 + '@rollup/rollup-linux-arm64-gnu': 4.22.5 + '@rollup/rollup-linux-arm64-musl': 4.22.5 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.5 + '@rollup/rollup-linux-riscv64-gnu': 4.22.5 + '@rollup/rollup-linux-s390x-gnu': 4.22.5 + '@rollup/rollup-linux-x64-gnu': 4.22.5 + '@rollup/rollup-linux-x64-musl': 4.22.5 + '@rollup/rollup-win32-arm64-msvc': 4.22.5 + '@rollup/rollup-win32-ia32-msvc': 4.22.5 + '@rollup/rollup-win32-x64-msvc': 4.22.5 fsevents: 2.3.3 run-parallel@1.2.0: @@ -12277,67 +12277,67 @@ snapshots: safer-buffer@2.1.2: {} - sass-embedded-android-arm64@1.79.3: + sass-embedded-android-arm64@1.79.4: optional: true - sass-embedded-android-arm@1.79.3: + sass-embedded-android-arm@1.79.4: optional: true - sass-embedded-android-ia32@1.79.3: + sass-embedded-android-ia32@1.79.4: optional: true - sass-embedded-android-riscv64@1.79.3: + sass-embedded-android-riscv64@1.79.4: optional: true - sass-embedded-android-x64@1.79.3: + sass-embedded-android-x64@1.79.4: optional: true - sass-embedded-darwin-arm64@1.79.3: + sass-embedded-darwin-arm64@1.79.4: optional: true - sass-embedded-darwin-x64@1.79.3: + sass-embedded-darwin-x64@1.79.4: optional: true - sass-embedded-linux-arm64@1.79.3: + sass-embedded-linux-arm64@1.79.4: optional: true - sass-embedded-linux-arm@1.79.3: + sass-embedded-linux-arm@1.79.4: optional: true - sass-embedded-linux-ia32@1.79.3: + sass-embedded-linux-ia32@1.79.4: optional: true - sass-embedded-linux-musl-arm64@1.79.3: + sass-embedded-linux-musl-arm64@1.79.4: optional: true - sass-embedded-linux-musl-arm@1.79.3: + sass-embedded-linux-musl-arm@1.79.4: optional: true - sass-embedded-linux-musl-ia32@1.79.3: + sass-embedded-linux-musl-ia32@1.79.4: optional: true - sass-embedded-linux-musl-riscv64@1.79.3: + sass-embedded-linux-musl-riscv64@1.79.4: optional: true - sass-embedded-linux-musl-x64@1.79.3: + sass-embedded-linux-musl-x64@1.79.4: optional: true - sass-embedded-linux-riscv64@1.79.3: + sass-embedded-linux-riscv64@1.79.4: optional: true - sass-embedded-linux-x64@1.79.3: + sass-embedded-linux-x64@1.79.4: optional: true - sass-embedded-win32-arm64@1.79.3: + sass-embedded-win32-arm64@1.79.4: optional: true - sass-embedded-win32-ia32@1.79.3: + sass-embedded-win32-ia32@1.79.4: optional: true - sass-embedded-win32-x64@1.79.3: + sass-embedded-win32-x64@1.79.4: optional: true - sass-embedded@1.79.3: + sass-embedded@1.79.4: dependencies: '@bufbuild/protobuf': 2.1.0 buffer-builder: 0.2.0 @@ -12347,28 +12347,28 @@ snapshots: supports-color: 8.1.1 varint: 6.0.0 optionalDependencies: - sass-embedded-android-arm: 1.79.3 - sass-embedded-android-arm64: 1.79.3 - sass-embedded-android-ia32: 1.79.3 - sass-embedded-android-riscv64: 1.79.3 - sass-embedded-android-x64: 1.79.3 - sass-embedded-darwin-arm64: 1.79.3 - sass-embedded-darwin-x64: 1.79.3 - sass-embedded-linux-arm: 1.79.3 - sass-embedded-linux-arm64: 1.79.3 - sass-embedded-linux-ia32: 1.79.3 - sass-embedded-linux-musl-arm: 1.79.3 - sass-embedded-linux-musl-arm64: 1.79.3 - sass-embedded-linux-musl-ia32: 1.79.3 - sass-embedded-linux-musl-riscv64: 1.79.3 - sass-embedded-linux-musl-x64: 1.79.3 - sass-embedded-linux-riscv64: 1.79.3 - sass-embedded-linux-x64: 1.79.3 - sass-embedded-win32-arm64: 1.79.3 - sass-embedded-win32-ia32: 1.79.3 - sass-embedded-win32-x64: 1.79.3 - - sass@1.79.3: + sass-embedded-android-arm: 1.79.4 + sass-embedded-android-arm64: 1.79.4 + sass-embedded-android-ia32: 1.79.4 + sass-embedded-android-riscv64: 1.79.4 + sass-embedded-android-x64: 1.79.4 + sass-embedded-darwin-arm64: 1.79.4 + sass-embedded-darwin-x64: 1.79.4 + sass-embedded-linux-arm: 1.79.4 + sass-embedded-linux-arm64: 1.79.4 + sass-embedded-linux-ia32: 1.79.4 + sass-embedded-linux-musl-arm: 1.79.4 + sass-embedded-linux-musl-arm64: 1.79.4 + sass-embedded-linux-musl-ia32: 1.79.4 + sass-embedded-linux-musl-riscv64: 1.79.4 + sass-embedded-linux-musl-x64: 1.79.4 + sass-embedded-linux-riscv64: 1.79.4 + sass-embedded-linux-x64: 1.79.4 + sass-embedded-win32-arm64: 1.79.4 + sass-embedded-win32-ia32: 1.79.4 + sass-embedded-win32-x64: 1.79.4 + + sass@1.79.4: dependencies: chokidar: 4.0.1 immutable: 4.0.0 @@ -12452,12 +12452,12 @@ snapshots: '@shikijs/core': 1.14.1 '@types/hast': 3.0.4 - shiki@1.18.0: + shiki@1.21.0: dependencies: - '@shikijs/core': 1.18.0 - '@shikijs/engine-javascript': 1.18.0 - '@shikijs/engine-oniguruma': 1.18.0 - '@shikijs/types': 1.18.0 + '@shikijs/core': 1.21.0 + '@shikijs/engine-javascript': 1.21.0 + '@shikijs/engine-oniguruma': 1.21.0 + '@shikijs/types': 1.21.0 '@shikijs/vscode-textmate': 9.2.2 '@types/hast': 3.0.4 @@ -12659,7 +12659,7 @@ snapshots: tabbable@6.2.0: {} - tailwindcss@3.4.13(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)): + tailwindcss@3.4.13(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -12678,7 +12678,7 @@ snapshots: postcss: 8.4.47 postcss-import: 15.1.0(postcss@8.4.47) postcss-js: 4.0.1(postcss@8.4.47) - postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3)) + postcss-load-config: 4.0.2(postcss@8.4.47)(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)) postcss-nested: 6.2.0(postcss@8.4.47) postcss-selector-parser: 6.1.1 resolve: 1.22.8 @@ -12703,7 +12703,7 @@ snapshots: dependencies: temp-dir: 3.0.0 - terser@5.33.0: + terser@5.34.1: dependencies: '@jridgewell/source-map': 0.3.3 acorn: 8.12.1(patch_hash=i6svphyqbutfresqjorapmeqfu) @@ -12756,14 +12756,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.16.7)(typescript@5.5.3): + ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.8 '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.16.7 + '@types/node': 20.16.10 acorn: 8.12.1(patch_hash=i6svphyqbutfresqjorapmeqfu) acorn-walk: 8.3.2 arg: 4.1.3 @@ -12787,21 +12787,21 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - twoslash-protocol@0.2.11: {} + twoslash-protocol@0.2.12: {} - twoslash-vue@0.2.11(typescript@5.5.3): + twoslash-vue@0.2.12(typescript@5.5.3): dependencies: '@vue/language-core': 2.1.6(typescript@5.5.3) - twoslash: 0.2.11(typescript@5.5.3) - twoslash-protocol: 0.2.11 + twoslash: 0.2.12(typescript@5.5.3) + twoslash-protocol: 0.2.12 typescript: 5.5.3 transitivePeerDependencies: - supports-color - twoslash@0.2.11(typescript@5.5.3): + twoslash@0.2.12(typescript@5.5.3): dependencies: '@typescript/vfs': 1.6.0(typescript@5.5.3) - twoslash-protocol: 0.2.11 + twoslash-protocol: 0.2.12 typescript: 5.5.3 transitivePeerDependencies: - supports-color @@ -12839,7 +12839,7 @@ snapshots: uglify-js@3.18.0: optional: true - unbuild@2.0.0(sass@1.79.3)(typescript@5.5.3): + unbuild@2.0.0(sass@1.79.4)(typescript@5.5.3): dependencies: '@rollup/plugin-alias': 5.1.0(rollup@3.29.4) '@rollup/plugin-commonjs': 25.0.4(rollup@3.29.4) @@ -12856,7 +12856,7 @@ snapshots: hookable: 5.5.3 jiti: 1.21.0 magic-string: 0.30.11 - mkdist: 1.3.0(sass@1.79.3)(typescript@5.5.3) + mkdist: 1.3.0(sass@1.79.4)(typescript@5.5.3) mlly: 1.7.1 pathe: 1.1.2 pkg-types: 1.1.1 @@ -12991,24 +12991,24 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress@1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.9)(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@1.3.4(@algolia/client-search@4.20.0)(@types/react@18.3.10)(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 - '@docsearch/js': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.9)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@docsearch/js': 3.6.1(@algolia/client-search@4.20.0)(@types/react@18.3.10)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@shikijs/core': 1.14.1 '@shikijs/transformers': 1.14.1 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.1.2(vite@packages+vite)(vue@3.5.8(typescript@5.5.3)) + '@vitejs/plugin-vue': 5.1.2(vite@packages+vite)(vue@3.5.10(typescript@5.5.3)) '@vue/devtools-api': 7.3.8 '@vue/shared': 3.4.38 - '@vueuse/core': 11.0.0(vue@3.5.8(typescript@5.5.3)) - '@vueuse/integrations': 11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.8(typescript@5.5.3)) + '@vueuse/core': 11.0.0(vue@3.5.10(typescript@5.5.3)) + '@vueuse/integrations': 11.0.0(axios@1.7.7)(focus-trap@7.5.4)(vue@3.5.10(typescript@5.5.3)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 7.1.0 shiki: 1.14.1 vite: link:packages/vite - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) optionalDependencies: postcss: 8.4.47 transitivePeerDependencies: @@ -13031,7 +13031,7 @@ snapshots: - typescript - universal-cookie - vitest@2.1.1(@types/node@20.16.7): + vitest@2.1.1(@types/node@20.16.10): dependencies: '@vitest/expect': 2.1.1 '@vitest/mocker': 2.1.1(vite@packages+vite) @@ -13053,25 +13053,25 @@ snapshots: vite-node: 2.1.1 why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.16.7 + '@types/node': 20.16.10 transitivePeerDependencies: - msw - supports-color void-elements@3.1.0: {} - vue-demi@0.14.10(vue@3.5.8(typescript@5.5.3)): + vue-demi@0.14.10(vue@3.5.10(typescript@5.5.3)): dependencies: - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) - vue-resize@2.0.0-alpha.1(vue@3.5.8(typescript@5.5.3)): + vue-resize@2.0.0-alpha.1(vue@3.5.10(typescript@5.5.3)): dependencies: - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) - vue-router@4.4.5(vue@3.5.8(typescript@5.5.3)): + vue-router@4.4.5(vue@3.5.10(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.4 - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) vue@3.2.0: dependencies: @@ -13079,20 +13079,20 @@ snapshots: '@vue/runtime-dom': 3.2.0 '@vue/shared': 3.2.0 - vue@3.5.8(typescript@5.5.3): + vue@3.5.10(typescript@5.5.3): dependencies: - '@vue/compiler-dom': 3.5.8 - '@vue/compiler-sfc': 3.5.8 - '@vue/runtime-dom': 3.5.8 - '@vue/server-renderer': 3.5.8(vue@3.5.8(typescript@5.5.3)) - '@vue/shared': 3.5.8 + '@vue/compiler-dom': 3.5.10 + '@vue/compiler-sfc': 3.5.10 + '@vue/runtime-dom': 3.5.10 + '@vue/server-renderer': 3.5.10(vue@3.5.10(typescript@5.5.3)) + '@vue/shared': 3.5.10 optionalDependencies: typescript: 5.5.3 - vuex@4.1.0(vue@3.5.8(typescript@5.5.3)): + vuex@4.1.0(vue@3.5.10(typescript@5.5.3)): dependencies: '@vue/devtools-api': 6.6.3 - vue: 3.5.8(typescript@5.5.3) + vue: 3.5.10(typescript@5.5.3) web-streams-polyfill@3.2.1: {} @@ -13127,13 +13127,13 @@ snapshots: wordwrap@1.0.0: {} - workerd@1.20240909.0: + workerd@1.20240925.0: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240909.0 - '@cloudflare/workerd-darwin-arm64': 1.20240909.0 - '@cloudflare/workerd-linux-64': 1.20240909.0 - '@cloudflare/workerd-linux-arm64': 1.20240909.0 - '@cloudflare/workerd-windows-64': 1.20240909.0 + '@cloudflare/workerd-darwin-64': 1.20240925.0 + '@cloudflare/workerd-darwin-arm64': 1.20240925.0 + '@cloudflare/workerd-linux-64': 1.20240925.0 + '@cloudflare/workerd-linux-arm64': 1.20240925.0 + '@cloudflare/workerd-windows-64': 1.20240925.0 wrap-ansi@7.0.0: dependencies: From c0edd26bbfeb9a8d80ebaa420e54fbb7f165bd9b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 30 Sep 2024 14:13:49 +0900 Subject: [PATCH 030/147] chore(deps): update all non-major dependencies (#18230) --- docs/package.json | 4 +- package.json | 4 +- .../template-react-ts/package.json | 4 +- .../create-vite/template-react/package.json | 6 +- .../template-svelte-ts/package.json | 2 +- .../create-vite/template-vue-ts/package.json | 2 +- .../create-vite/template-vue/package.json | 2 +- packages/vite/package.json | 4 +- playground/alias/package.json | 4 +- playground/backend-integration/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/package.json | 2 +- playground/environment-react-ssr/package.json | 2 +- playground/extensions/package.json | 2 +- .../external/dep-that-imports/package.json | 2 +- .../external/dep-that-requires/package.json | 2 +- playground/external/package.json | 2 +- playground/json/package.json | 2 +- playground/legacy/package.json | 2 +- playground/multiple-entrypoints/package.json | 2 +- playground/object-hooks/package.json | 2 +- .../optimize-deps-no-discovery/package.json | 2 +- playground/optimize-deps/package.json | 2 +- playground/preload/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- playground/tailwind/package.json | 2 +- pnpm-lock.yaml | 151 ++++-------------- 27 files changed, 64 insertions(+), 153 deletions(-) diff --git a/docs/package.json b/docs/package.json index 8c6fb48e5fc13f..84834239de7b70 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,11 +8,11 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.18.0", + "@shikijs/vitepress-twoslash": "^1.21.0", "@types/express": "^4.17.21", "feed": "^4.2.2", "vitepress": "1.3.4", "vitepress-plugin-group-icons": "^1.2.4", - "vue": "^3.5.8" + "vue": "^3.5.10" } } diff --git a/package.json b/package.json index 93b7efed2b72b0..c69524176ab0f0 100644 --- a/package.json +++ b/package.json @@ -51,14 +51,14 @@ "@types/etag": "^1.8.3", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.9", - "@types/node": "^20.16.7", + "@types/node": "^20.16.10", "@types/picomatch": "^3.0.1", "@types/stylus": "^0.48.43", "@types/ws": "^8.5.12", "@vitejs/release-scripts": "^1.3.2", "conventional-changelog-cli": "^5.0.0", "eslint": "^9.11.1", - "eslint-plugin-import-x": "^4.3.0", + "eslint-plugin-import-x": "^4.3.1", "eslint-plugin-n": "^17.10.3", "eslint-plugin-regexp": "^2.6.0", "execa": "^9.4.0", diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index c5c480b1bd6c0b..8544f2b3e4c296 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -15,9 +15,9 @@ }, "devDependencies": { "@eslint/js": "^9.11.1", - "@types/react": "^18.3.9", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3.0", - "@vitejs/plugin-react": "^4.3.1", + "@vitejs/plugin-react": "^4.3.2", "eslint": "^9.11.1", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.12", diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index a5da72d2499aff..b753e7f323c237 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -15,11 +15,11 @@ }, "devDependencies": { "@eslint/js": "^9.11.1", - "@types/react": "^18.3.9", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3.0", - "@vitejs/plugin-react": "^4.3.1", + "@vitejs/plugin-react": "^4.3.2", "eslint": "^9.11.1", - "eslint-plugin-react": "^7.36.1", + "eslint-plugin-react": "^7.37.0", "eslint-plugin-react-hooks": "^5.1.0-rc.0", "eslint-plugin-react-refresh": "^0.4.12", "globals": "^15.9.0", diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 5aaff6a6673e44..c949f0fe1e85be 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -13,7 +13,7 @@ "@sveltejs/vite-plugin-svelte": "^3.1.2", "@tsconfig/svelte": "^5.0.4", "svelte": "^4.2.19", - "svelte-check": "^4.0.2", + "svelte-check": "^4.0.4", "tslib": "^2.7.0", "typescript": "^5.5.3", "vite": "^5.4.8" diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 7aadf1ddfee0d9..49a0a8bf4ad2d1 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.8" + "vue": "^3.5.10" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.4", diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 99928e33a8614b..54e6862a957a87 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.8" + "vue": "^3.5.10" }, "devDependencies": { "@vitejs/plugin-vue": "^5.1.4", diff --git a/packages/vite/package.json b/packages/vite/package.json index 4cc9a5a1119e29..8db0ff7977d4c0 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -142,8 +142,8 @@ "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-license": "^3.5.3", - "sass": "^1.79.3", - "sass-embedded": "^1.79.3", + "sass": "^1.79.4", + "sass-embedded": "^1.79.4", "sirv": "^2.0.4", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", diff --git a/playground/alias/package.json b/playground/alias/package.json index d44881faa7465c..c02ca096db7697 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.5.8", - "@vue/shared": "^3.5.8" + "vue": "^3.5.10", + "@vue/shared": "^3.5.10" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index 4ae4a281a7b3a8..be952f55122a32 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.79.3", + "sass": "^1.79.4", "tailwindcss": "^3.4.13", "fast-glob": "^3.3.2" } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index e0261343de1c59..6016e4975d0cf1 100644 --- a/playground/css-sourcemap/package.json +++ b/playground/css-sourcemap/package.json @@ -12,7 +12,7 @@ "devDependencies": { "less": "^4.2.0", "magic-string": "^0.30.11", - "sass": "^1.79.3", + "sass": "^1.79.4", "stylus": "^0.63.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index a4d9c1d531ac1a..15e57355083e3e 100644 --- a/playground/css/package.json +++ b/playground/css/package.json @@ -24,7 +24,7 @@ "fast-glob": "^3.3.2", "less": "^4.2.0", "postcss-nested": "^6.2.0", - "sass": "^1.79.3", + "sass": "^1.79.4", "stylus": "^0.63.0", "sugarss": "^4.0.1" }, diff --git a/playground/environment-react-ssr/package.json b/playground/environment-react-ssr/package.json index 2c188c77623d4e..026226e1310cf2 100644 --- a/playground/environment-react-ssr/package.json +++ b/playground/environment-react-ssr/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "devDependencies": { - "@types/react": "^18.3.9", + "@types/react": "^18.3.10", "@types/react-dom": "^18.3.0", "react": "^18.3.1", "react-dom": "^18.3.1" diff --git a/playground/extensions/package.json b/playground/extensions/package.json index 6f33f66e9adc0c..53a88e81508839 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.8" + "vue": "^3.5.10" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index de12f295ebb9d6..c6f6a2f14789df 100644 --- a/playground/external/dep-that-imports/package.json +++ b/playground/external/dep-that-imports/package.json @@ -5,6 +5,6 @@ "dependencies": { "slash3": "npm:slash@^3.0.0", "slash5": "npm:slash@^5.1.0", - "vue": "^3.5.8" + "vue": "^3.5.10" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index a4f33364e58bf0..c4371bad815a97 100644 --- a/playground/external/dep-that-requires/package.json +++ b/playground/external/dep-that-requires/package.json @@ -5,6 +5,6 @@ "dependencies": { "slash3": "npm:slash@^3.0.0", "slash5": "npm:slash@^5.1.0", - "vue": "^3.5.8" + "vue": "^3.5.10" } } diff --git a/playground/external/package.json b/playground/external/package.json index d0fe4197136760..30a5373c9e7a3f 100644 --- a/playground/external/package.json +++ b/playground/external/package.json @@ -17,7 +17,7 @@ "slash3": "npm:slash@^3.0.0", "slash5": "npm:slash@^5.1.0", "vite": "workspace:*", - "vue": "^3.5.8", + "vue": "^3.5.10", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index 31dd54ab440348..7ce4669367c88c 100644 --- a/playground/json/package.json +++ b/playground/json/package.json @@ -15,6 +15,6 @@ "devDependencies": { "@vitejs/test-json-module": "file:./json-module", "express": "^4.21.0", - "vue": "^3.5.8" + "vue": "^3.5.10" } } diff --git a/playground/legacy/package.json b/playground/legacy/package.json index 2d598a12c0a5d3..3e4a9ed339fc0d 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -18,6 +18,6 @@ "vite": "workspace:*", "@vitejs/plugin-legacy": "workspace:*", "express": "^4.21.0", - "terser": "^5.33.0" + "terser": "^5.34.1" } } diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index 629e32af76a6e7..6787a4ffffa1f0 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.79.3" + "sass": "^1.79.4" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index 756bfe803bd657..db326e07be24e6 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.5.8" + "vue": "^3.5.10" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index a570f0397ce88c..dbf1a53daeb803 100644 --- a/playground/optimize-deps-no-discovery/package.json +++ b/playground/optimize-deps-no-discovery/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@vitejs/test-dep-no-discovery": "file:./dep-no-discovery", - "vue": "^3.5.8", + "vue": "^3.5.10", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 1d53a3bb14ffac..3b806380a77772 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -44,7 +44,7 @@ "react-dom": "^18.3.1", "@vitejs/test-resolve-linked": "workspace:0.0.0", "url": "^0.11.4", - "vue": "^3.5.8", + "vue": "^3.5.10", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/preload/package.json b/playground/preload/package.json index ba19a7132f6c39..1c2a7089037897 100644 --- a/playground/preload/package.json +++ b/playground/preload/package.json @@ -18,7 +18,7 @@ "preview:preload-disabled": "vite preview --config vite.config-preload-disabled.js" }, "devDependencies": { - "terser": "^5.33.0", + "terser": "^5.34.1", "@vitejs/test-dep-a": "file:./dep-a", "@vitejs/test-dep-including-a": "file:./dep-including-a" } diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 9d2d67b6e29497..ff4ca48d216003 100644 --- a/playground/ssr-webworker/package.json +++ b/playground/ssr-webworker/package.json @@ -13,7 +13,7 @@ "@vitejs/test-worker-exports": "file:./worker-exports" }, "devDependencies": { - "miniflare": "^3.20240909.5", + "miniflare": "^3.20240925.0", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index 88f3a57eeefcf5..290f89fa9090bb 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,7 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.20", "tailwindcss": "^3.4.13", - "vue": "^3.5.8", + "vue": "^3.5.10", "vue-router": "^4.4.5" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da850daed0efa4..414fb74fc15b04 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,7 +59,7 @@ importers: specifier: ^4.0.9 version: 4.0.9 '@types/node': - specifier: ^20.16.7 + specifier: ^20.16.10 version: 20.16.10 '@types/picomatch': specifier: ^3.0.1 @@ -80,8 +80,8 @@ importers: specifier: ^9.11.1 version: 9.11.1(jiti@1.21.0) eslint-plugin-import-x: - specifier: ^4.3.0 - version: 4.3.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) + specifier: ^4.3.1 + version: 4.3.1(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) eslint-plugin-n: specifier: ^17.10.3 version: 17.10.3(eslint@9.11.1(jiti@1.21.0)) @@ -140,7 +140,7 @@ importers: docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.18.0 + specifier: ^1.21.0 version: 1.21.0(typescript@5.5.3) '@types/express': specifier: ^4.17.21 @@ -155,7 +155,7 @@ importers: specifier: ^1.2.4 version: 1.2.4 vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) packages/create-vite: @@ -386,10 +386,10 @@ importers: specifier: ^3.5.3 version: 3.5.3(picomatch@2.3.1)(rollup@4.22.5) sass: - specifier: ^1.79.3 + specifier: ^1.79.4 version: 1.79.4 sass-embedded: - specifier: ^1.79.3 + specifier: ^1.79.4 version: 1.79.4 sirv: specifier: ^2.0.4 @@ -481,13 +481,13 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10 aliased-module: specifier: file:./dir/module version: '@vitejs/test-aliased-module@file:playground/alias/dir/module' vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) devDependencies: '@vitejs/test-resolve-linked': @@ -506,7 +506,7 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.79.3 + specifier: ^1.79.4 version: 1.79.4 tailwindcss: specifier: ^3.4.13 @@ -568,7 +568,7 @@ importers: specifier: ^6.2.0 version: 6.2.0(postcss@8.4.47) sass: - specifier: ^1.79.3 + specifier: ^1.79.4 version: 1.79.4 stylus: specifier: ^0.63.0 @@ -615,7 +615,7 @@ importers: specifier: ^0.30.11 version: 0.30.11 sass: - specifier: ^1.79.3 + specifier: ^1.79.4 version: 1.79.4 stylus: specifier: ^0.63.0 @@ -679,7 +679,7 @@ importers: playground/environment-react-ssr: devDependencies: '@types/react': - specifier: ^18.3.9 + specifier: ^18.3.10 version: 18.3.10 '@types/react-dom': specifier: ^18.3.0 @@ -694,7 +694,7 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) playground/external: @@ -716,7 +716,7 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) vue32: specifier: npm:vue@~3.2.0 @@ -731,7 +731,7 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) playground/external/dep-that-requires: @@ -743,7 +743,7 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) playground/fs-serve: {} @@ -792,7 +792,7 @@ importers: specifier: ^4.21.0 version: 4.21.0 vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) playground/json/json-module: {} @@ -806,7 +806,7 @@ importers: specifier: ^4.21.0 version: 4.21.0 terser: - specifier: ^5.33.0 + specifier: ^5.34.1 version: 5.34.1 vite: specifier: workspace:* @@ -831,7 +831,7 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.79.3 + specifier: ^1.79.4 version: 1.79.4 playground/nested-deps: @@ -894,7 +894,7 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) playground/optimize-deps: @@ -1008,7 +1008,7 @@ importers: specifier: ^0.11.4 version: 0.11.4 vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) vuex: specifier: ^4.1.0 @@ -1020,7 +1020,7 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) vuex: specifier: ^4.1.0 @@ -1127,7 +1127,7 @@ importers: specifier: file:./dep-including-a version: file:playground/preload/dep-including-a terser: - specifier: ^5.33.0 + specifier: ^5.34.1 version: 5.34.1 playground/preload/dep-a: {} @@ -1540,7 +1540,7 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240909.5 + specifier: ^3.20240925.0 version: 3.20240925.0 playground/ssr-webworker/browser-exports: {} @@ -1556,7 +1556,7 @@ importers: specifier: ^3.4.13 version: 3.4.13(ts-node@10.9.2(@types/node@20.16.10)(typescript@5.5.3)) vue: - specifier: ^3.5.8 + specifier: ^3.5.10 version: 3.5.10(typescript@5.5.3) vue-router: specifier: ^4.4.5 @@ -3453,10 +3453,6 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@8.6.0': - resolution: {integrity: sha512-ZuoutoS5y9UOxKvpc/GkvF4cuEmpokda4wRg64JEia27wX+PysIE9q+lzDtlHHgblwUWwo5/Qn+/WyTUvDwBHw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.7.0': resolution: {integrity: sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3470,23 +3466,10 @@ packages: typescript: optional: true - '@typescript-eslint/types@8.6.0': - resolution: {integrity: sha512-rojqFZGd4MQxw33SrOy09qIDS8WEldM8JWtKQLAjf/X5mGSeEFh5ixQlxssMNyPslVIk9yzWqXCsV2eFhYrYUw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.7.0': resolution: {integrity: sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.6.0': - resolution: {integrity: sha512-MOVAzsKJIPIlLK239l5s06YXjNqpKTVhBVDnqUumQJja5+Y94V3+4VUFRA0G60y2jNnTVwRCkhyGQpavfsbq/g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - '@typescript-eslint/typescript-estree@8.7.0': resolution: {integrity: sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3496,22 +3479,12 @@ packages: typescript: optional: true - '@typescript-eslint/utils@8.6.0': - resolution: {integrity: sha512-eNp9cWnYf36NaOVjkEUznf6fEgVy1TWpE0o52e4wtojjBx7D1UV2WAWGzR+8Y5lVFtpMLPwNbC67T83DWSph4A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/utils@8.7.0': resolution: {integrity: sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - '@typescript-eslint/visitor-keys@8.6.0': - resolution: {integrity: sha512-wapVFfZg9H0qOYh4grNVQiMklJGluQrOUiOhYRrQWhx7BY/+I1IYb8BczWNbbUpO+pqy0rDciv3lQH5E1bCLrg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.7.0': resolution: {integrity: sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3813,18 +3786,12 @@ packages: '@vue/compiler-core@3.5.10': resolution: {integrity: sha512-iXWlk+Cg/ag7gLvY0SfVucU8Kh2CjysYZjhhP70w9qI4MvSox4frrP+vDGvtQuzIcgD8+sxM6lZvCtdxGunTAA==} - '@vue/compiler-core@3.5.6': - resolution: {integrity: sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==} - '@vue/compiler-dom@3.2.0': resolution: {integrity: sha512-CqfATmX04+58LNBTTUPRBLyYGLP0bxtL+8b7B8pEvXja7fpmxiYcKBQsdaXfyqoRJsaTzA7eVXQt/t0dYhu/SQ==} '@vue/compiler-dom@3.5.10': resolution: {integrity: sha512-DyxHC6qPcktwYGKOIy3XqnHRrrXyWR2u91AjP+nLkADko380srsC2DC3s7Y1Rk6YfOlxOlvEQKa9XXmLI+W4ZA==} - '@vue/compiler-dom@3.5.6': - resolution: {integrity: sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==} - '@vue/compiler-sfc@3.5.10': resolution: {integrity: sha512-to8E1BgpakV7224ZCm8gz1ZRSyjNCAWEplwFMWKlzCdP9DkMKhRRwt0WkCjY7jkzi/Vz3xgbpeig5Pnbly4Tow==} @@ -3889,9 +3856,6 @@ packages: '@vue/shared@3.5.10': resolution: {integrity: sha512-VkkBhU97Ki+XJ0xvl4C9YJsIZ2uIlQ7HqPpZOS3m9VCvmROPaChZU6DexdMJqvz9tbgG+4EtFVrSuailUq5KGQ==} - '@vue/shared@3.5.6': - resolution: {integrity: sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==} - '@vueuse/core@11.0.0': resolution: {integrity: sha512-shibzNGjmRjZucEm97B8V0NO5J3vPHMCE/mltxQ3vHezbDoFQBMtK11XsfwfPionxSbo+buqPmsCljtYuXIBpw==} @@ -4698,8 +4662,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-import-x@4.3.0: - resolution: {integrity: sha512-PxGzP7gAjF2DLeRnQtbYkkgZDg1intFyYr/XS1LgTYXUDrSXMHGkXx8++6i2eDv2jMs0jfeO6G6ykyeWxiFX7w==} + eslint-plugin-import-x@4.3.1: + resolution: {integrity: sha512-5TriWkXulDl486XnYYRgsL+VQoS/7mhN/2ci02iLCuL7gdhbiWxnsuL/NTcaKY9fpMgsMFjWZBtIGW7pb+RX0g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -9072,11 +9036,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.6.0': - dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 - '@typescript-eslint/scope-manager@8.7.0': dependencies: '@typescript-eslint/types': 8.7.0 @@ -9094,25 +9053,8 @@ snapshots: - eslint - supports-color - '@typescript-eslint/types@8.6.0': {} - '@typescript-eslint/types@8.7.0': {} - '@typescript-eslint/typescript-estree@8.6.0(typescript@5.5.3)': - dependencies: - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/visitor-keys': 8.6.0 - debug: 4.3.7 - fast-glob: 3.3.2 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.5.3) - optionalDependencies: - typescript: 5.5.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.7.0(typescript@5.5.3)': dependencies: '@typescript-eslint/types': 8.7.0 @@ -9128,17 +9070,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.6.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) - '@typescript-eslint/scope-manager': 8.6.0 - '@typescript-eslint/types': 8.6.0 - '@typescript-eslint/typescript-estree': 8.6.0(typescript@5.5.3) - eslint: 9.11.1(jiti@1.21.0) - transitivePeerDependencies: - - supports-color - - typescript - '@typescript-eslint/utils@8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.11.1(jiti@1.21.0)) @@ -9150,11 +9081,6 @@ snapshots: - supports-color - typescript - '@typescript-eslint/visitor-keys@8.6.0': - dependencies: - '@typescript-eslint/types': 8.6.0 - eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.7.0': dependencies: '@typescript-eslint/types': 8.7.0 @@ -9429,14 +9355,6 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.1 - '@vue/compiler-core@3.5.6': - dependencies: - '@babel/parser': 7.25.6 - '@vue/shared': 3.5.6 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - '@vue/compiler-dom@3.2.0': dependencies: '@vue/compiler-core': 3.2.0 @@ -9447,11 +9365,6 @@ snapshots: '@vue/compiler-core': 3.5.10 '@vue/shared': 3.5.10 - '@vue/compiler-dom@3.5.6': - dependencies: - '@vue/compiler-core': 3.5.6 - '@vue/shared': 3.5.6 - '@vue/compiler-sfc@3.5.10': dependencies: '@babel/parser': 7.25.6 @@ -9499,7 +9412,7 @@ snapshots: '@vue/language-core@2.1.6(typescript@5.5.3)': dependencies: '@volar/language-core': 2.4.1 - '@vue/compiler-dom': 3.5.6 + '@vue/compiler-dom': 3.5.10 '@vue/compiler-vue2': 2.7.16 '@vue/shared': 3.5.10 computeds: 0.0.1 @@ -9552,8 +9465,6 @@ snapshots: '@vue/shared@3.5.10': {} - '@vue/shared@3.5.6': {} - '@vueuse/core@11.0.0(vue@3.5.10(typescript@5.5.3))': dependencies: '@types/web-bluetooth': 0.0.20 @@ -10385,9 +10296,9 @@ snapshots: eslint: 9.11.1(jiti@1.21.0) eslint-compat-utils: 0.5.1(eslint@9.11.1(jiti@1.21.0)) - eslint-plugin-import-x@4.3.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3): + eslint-plugin-import-x@4.3.1(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3): dependencies: - '@typescript-eslint/utils': 8.6.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) + '@typescript-eslint/utils': 8.7.0(eslint@9.11.1(jiti@1.21.0))(typescript@5.5.3) debug: 4.3.7 doctrine: 3.0.0 eslint: 9.11.1(jiti@1.21.0) From b916ab601d2ec1c842ea0c6139bf216166010e56 Mon Sep 17 00:00:00 2001 From: CK Chuang Date: Mon, 30 Sep 2024 15:58:40 +0800 Subject: [PATCH 031/147] chore(optimizer): fix typo in comment (#18239) --- packages/vite/src/node/optimizer/optimizer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/optimizer/optimizer.ts b/packages/vite/src/node/optimizer/optimizer.ts index 3ba972134ffc7a..585892d7adeb11 100644 --- a/packages/vite/src/node/optimizer/optimizer.ts +++ b/packages/vite/src/node/optimizer/optimizer.ts @@ -225,7 +225,7 @@ export function createDepsOptimizer( // run on the background optimizationResult = runOptimizeDeps(environment, knownDeps) - // If the holdUntilCrawlEnd stratey is used, we wait until crawling has + // If the holdUntilCrawlEnd strategy is used, we wait until crawling has // ended to decide if we send this result to the browser or we need to // do another optimize step if (!holdUntilCrawlEnd) { From ec0efe8a06d0271ef0154f38fb9beabcd4b1bd89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Mon, 30 Sep 2024 17:57:36 +0900 Subject: [PATCH 032/147] fix(data-uri): only match ids starting with `data:` (#18241) --- packages/vite/src/node/plugins/dataUri.ts | 2 +- playground/data-uri/index.html | 4 ++++ playground/data-uri/vite.config.js | 20 ++++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 playground/data-uri/vite.config.js diff --git a/packages/vite/src/node/plugins/dataUri.ts b/packages/vite/src/node/plugins/dataUri.ts index c2a71a88ca14d1..9560700a5fd80e 100644 --- a/packages/vite/src/node/plugins/dataUri.ts +++ b/packages/vite/src/node/plugins/dataUri.ts @@ -22,7 +22,7 @@ export function dataURIPlugin(): Plugin { }, resolveId(id) { - if (!dataUriRE.test(id)) { + if (!id.trimStart().startsWith('data:')) { return } diff --git a/playground/data-uri/index.html b/playground/data-uri/index.html index 597c3a204f36c9..3794f74db4ea3e 100644 --- a/playground/data-uri/index.html +++ b/playground/data-uri/index.html @@ -1,5 +1,6 @@
+
- - - - diff --git a/docs/.vitepress/theme/components/landing/1. hero-section/HeroDiagram.vue b/docs/.vitepress/theme/components/landing/1. hero-section/HeroDiagram.vue new file mode 100644 index 00000000000000..10bd32fa4d0fb9 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/1. hero-section/HeroDiagram.vue @@ -0,0 +1,821 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/1. hero-section/HeroSection.vue b/docs/.vitepress/theme/components/landing/1. hero-section/HeroSection.vue new file mode 100644 index 00000000000000..9892f25dea9bea --- /dev/null +++ b/docs/.vitepress/theme/components/landing/1. hero-section/HeroSection.vue @@ -0,0 +1,133 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgBlueIndicator.vue b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgBlueIndicator.vue new file mode 100644 index 00000000000000..6f5854f7ae6ce3 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgBlueIndicator.vue @@ -0,0 +1,242 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgInputs.vue b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgInputs.vue new file mode 100644 index 00000000000000..c4fe4d323a0205 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgInputs.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgOutputs.vue b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgOutputs.vue new file mode 100644 index 00000000000000..320e999776f529 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgOutputs.vue @@ -0,0 +1,56 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgPinkIndicator.vue b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgPinkIndicator.vue new file mode 100644 index 00000000000000..063816b63090f1 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/1. hero-section/svg-elements/SvgPinkIndicator.vue @@ -0,0 +1,253 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureCI.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureCI.vue new file mode 100644 index 00000000000000..0b02e148e40c46 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureCI.vue @@ -0,0 +1,503 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureFlexiblePlugins.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureFlexiblePlugins.vue new file mode 100644 index 00000000000000..e8a3e32ae16c2c --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureFlexiblePlugins.vue @@ -0,0 +1,557 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureHMR.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureHMR.vue new file mode 100644 index 00000000000000..9380606029cc88 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureHMR.vue @@ -0,0 +1,515 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue new file mode 100644 index 00000000000000..5e44b3bb760830 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue @@ -0,0 +1,425 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureOptimizedBuild.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureOptimizedBuild.vue new file mode 100644 index 00000000000000..fc38a432b3519e --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureOptimizedBuild.vue @@ -0,0 +1,623 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureRichFeatures.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureRichFeatures.vue new file mode 100644 index 00000000000000..b2d52f8862bcb3 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureRichFeatures.vue @@ -0,0 +1,281 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureSSRSupport.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureSSRSupport.vue new file mode 100644 index 00000000000000..8baaf18c8f2e51 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureSSRSupport.vue @@ -0,0 +1,540 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureSection.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureSection.vue new file mode 100644 index 00000000000000..b503ba3e92762e --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureSection.vue @@ -0,0 +1,319 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/FeatureTypedAPI.vue b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureTypedAPI.vue new file mode 100644 index 00000000000000..308df28a6b32fd --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/FeatureTypedAPI.vue @@ -0,0 +1,240 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/images/css3.svg b/docs/.vitepress/theme/components/landing/2. feature-section/images/css3.svg new file mode 100644 index 00000000000000..afa66d98680529 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/images/css3.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/images/js.svg b/docs/.vitepress/theme/components/landing/2. feature-section/images/js.svg new file mode 100644 index 00000000000000..59a037516d8465 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/images/js.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/images/json.svg b/docs/.vitepress/theme/components/landing/2. feature-section/images/json.svg new file mode 100644 index 00000000000000..20d86ed7f8c7a7 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/images/json.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/images/postcss.svg b/docs/.vitepress/theme/components/landing/2. feature-section/images/postcss.svg new file mode 100644 index 00000000000000..5251081b6f20e0 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/images/postcss.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/images/ts.svg b/docs/.vitepress/theme/components/landing/2. feature-section/images/ts.svg new file mode 100644 index 00000000000000..223587b2d76e2f --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/images/ts.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/2. feature-section/images/wa.svg b/docs/.vitepress/theme/components/landing/2. feature-section/images/wa.svg new file mode 100644 index 00000000000000..8e6f976d1f59c7 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/2. feature-section/images/wa.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworkCard.vue b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworkCard.vue new file mode 100644 index 00000000000000..f154f7abd1dde5 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworkCard.vue @@ -0,0 +1,127 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue new file mode 100644 index 00000000000000..8ddab8a1cc75b6 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue @@ -0,0 +1,411 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/analog.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/analog.svg new file mode 100644 index 00000000000000..2e7fe7d6c15b66 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/analog.svg @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/angular.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/angular.svg new file mode 100644 index 00000000000000..b6eb20ab8f488d --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/angular.svg @@ -0,0 +1 @@ + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/astro.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/astro.svg new file mode 100644 index 00000000000000..bbe512ed2d8e96 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/astro.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/laravel.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/laravel.svg new file mode 100644 index 00000000000000..a8d8fb19ff6d48 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/laravel.svg @@ -0,0 +1 @@ + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/marko.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/marko.svg new file mode 100644 index 00000000000000..44c26273f4c0f3 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/marko.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/nuxt.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/nuxt.svg new file mode 100644 index 00000000000000..fb2de2c62f388d --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/nuxt.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/playwright.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/playwright.svg new file mode 100644 index 00000000000000..63ef7c4c224625 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/playwright.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/qwik.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/qwik.svg new file mode 100644 index 00000000000000..606a2b7c6309af --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/qwik.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/react.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/react.svg new file mode 100644 index 00000000000000..c4fcecce04e021 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/react.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/redwood.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/redwood.svg new file mode 100644 index 00000000000000..2d611735304ebc --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/redwood.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/remix.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/remix.svg new file mode 100644 index 00000000000000..a945706195486e --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/remix.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/solid.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/solid.svg new file mode 100644 index 00000000000000..1cf619e560b21b --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/solid.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/storybook.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/storybook.svg new file mode 100644 index 00000000000000..43176b924d0255 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/storybook.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/svelte.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/svelte.svg new file mode 100644 index 00000000000000..62309a1d104346 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/svelte.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/vitest.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/vitest.svg new file mode 100644 index 00000000000000..c9d5fd3e7d3522 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/vitest.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/vue.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/vue.svg new file mode 100644 index 00000000000000..b29e1a4234a2d6 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/vue.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/4. community-section/CommunityCard.vue b/docs/.vitepress/theme/components/landing/4. community-section/CommunityCard.vue new file mode 100644 index 00000000000000..161c9738e28afa --- /dev/null +++ b/docs/.vitepress/theme/components/landing/4. community-section/CommunityCard.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/4. community-section/CommunitySection.vue b/docs/.vitepress/theme/components/landing/4. community-section/CommunitySection.vue new file mode 100644 index 00000000000000..5ca50f78ae2a87 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/4. community-section/CommunitySection.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/5. sponsor-section/SponsorSection.vue b/docs/.vitepress/theme/components/landing/5. sponsor-section/SponsorSection.vue new file mode 100644 index 00000000000000..5778ff16f304de --- /dev/null +++ b/docs/.vitepress/theme/components/landing/5. sponsor-section/SponsorSection.vue @@ -0,0 +1,223 @@ + + + + + diff --git a/docs/.vitepress/theme/components/landing/5. sponsor-section/voidzero.svg b/docs/.vitepress/theme/components/landing/5. sponsor-section/voidzero.svg new file mode 100644 index 00000000000000..99cb8182ed5cc4 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/5. sponsor-section/voidzero.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/docs/.vitepress/theme/components/landing/6. get-started-section/GetStartedSection.vue b/docs/.vitepress/theme/components/landing/6. get-started-section/GetStartedSection.vue new file mode 100644 index 00000000000000..cca43da69a3ed3 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/6. get-started-section/GetStartedSection.vue @@ -0,0 +1,292 @@ + + + diff --git a/docs/.vitepress/theme/components/landing/common/SvgNode.vue b/docs/.vitepress/theme/components/landing/common/SvgNode.vue new file mode 100644 index 00000000000000..8ac6c76b785a1c --- /dev/null +++ b/docs/.vitepress/theme/components/landing/common/SvgNode.vue @@ -0,0 +1,214 @@ + + + + + diff --git a/docs/.vitepress/theme/composables/sponsor.ts b/docs/.vitepress/theme/composables/sponsor.ts index aa31d46d129a1d..3f3ab86947fd1d 100644 --- a/docs/.vitepress/theme/composables/sponsor.ts +++ b/docs/.vitepress/theme/composables/sponsor.ts @@ -99,7 +99,7 @@ export function useSponsor() { function mapSponsors(sponsors: Sponsors) { return [ { - tier: 'Special Sponsors', + tier: 'in partnership with', size: 'big', items: viteSponsors['special'], }, diff --git a/docs/.vitepress/theme/composables/useCardAnimation.ts b/docs/.vitepress/theme/composables/useCardAnimation.ts new file mode 100644 index 00000000000000..2a6c7c83cc304b --- /dev/null +++ b/docs/.vitepress/theme/composables/useCardAnimation.ts @@ -0,0 +1,107 @@ +import { type Ref, onMounted, onUnmounted, ref } from 'vue' +import { gsap } from 'gsap' +import { ScrollTrigger } from 'gsap/dist/ScrollTrigger' + +gsap.registerPlugin(ScrollTrigger) + +/** + * A custom hook for animating a card element. + * + * @param {HTMLElement | string} el - The element or selector for the element to be animated + * @param {() => GSAPTimeline | null} animation - A function that returns a GSAP timeline for the animation + * @param {object} options - Options for the animation + */ +export function useCardAnimation( + el: HTMLElement | string, + animation: (() => GSAPTimeline) | undefined = undefined, + options?: { + /** + * A flag to indicate whether the animation should only run once, and not reset once complete. + */ + once?: boolean + }, +) { + /** + * The GSAP timeline for this animation. + */ + let timeline: GSAPTimeline | null + + /** + * A flag to indicate whether the card is currently active or not. + * May be inactive while the animation is still finishing up, due to CSS transitions. + */ + const isCardActive: Ref = ref(false) + + /** + * An internal flag to prevent multiple animations from running at the same time. + */ + const isAnimationRunning: Ref = ref(false) + + /** + * Starts the card's animation, managing the lifecycle internally to prevent multiple animations from running at the same time. + */ + const startAnimation = () => { + if (isAnimationRunning.value) { + return + } else { + isAnimationRunning.value = true + isCardActive.value = true + } + if (timeline) { + timeline.kill() + } + if (!animation) { + return + } + timeline = gsap.timeline({ + onComplete: () => { + if (!options?.once) { + isCardActive.value = false + setTimeout(() => { + isAnimationRunning.value = false + }, 3000) + } + }, + }) + timeline.add(animation()) + } + + /** + * The ScrollTrigger instance for this card. + */ + let scrollTriggerInstance: ScrollTrigger | null = null + + /** + * Trigger's the card's animation automatically on mobile devices (no hover method) + */ + onMounted(() => { + if (window.innerWidth < 768) { + scrollTriggerInstance = ScrollTrigger.create({ + trigger: el, + start: 'top 60%', + onEnter: () => { + startAnimation() + }, + }) + } + }) + + /** + * Remove the ScrollTrigger and GSAP timeline instances when the component is unmounted + */ + onUnmounted(() => { + if (scrollTriggerInstance) { + scrollTriggerInstance.kill() + scrollTriggerInstance = null + } + if (timeline) { + timeline.kill() + timeline = null + } + }) + + return { + startAnimation, + isCardActive, + } +} diff --git a/docs/.vitepress/theme/composables/useSlideIn.ts b/docs/.vitepress/theme/composables/useSlideIn.ts new file mode 100644 index 00000000000000..e41cd898301fed --- /dev/null +++ b/docs/.vitepress/theme/composables/useSlideIn.ts @@ -0,0 +1,19 @@ +import { nextTick, onMounted } from 'vue' +import { gsap } from 'gsap' + +export function useSlideIn(el: HTMLElement | string) { + onMounted(async () => { + await nextTick(() => { + gsap.to(el, { + x: 0, + duration: 1, + ease: 'power3.out', + scrollTrigger: { + trigger: el, + start: 'top 100%', + once: true, + }, + }) + }) + }) +} diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index d2303b7831483e..7ce4bafe528ca2 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -4,7 +4,7 @@ import DefaultTheme from 'vitepress/theme' import TwoslashFloatingVue from '@shikijs/vitepress-twoslash/client' import '@shikijs/vitepress-twoslash/style.css' import './styles/vars.css' -import HomeSponsors from './components/HomeSponsors.vue' +import './styles/landing.css' import AsideSponsors from './components/AsideSponsors.vue' import SvgImage from './components/SvgImage.vue' import 'virtual:group-icons.css' @@ -13,7 +13,6 @@ export default { extends: DefaultTheme, Layout() { return h(DefaultTheme.Layout, null, { - 'home-features-after': () => h(HomeSponsors), 'aside-ads-before': () => h(AsideSponsors), }) }, diff --git a/docs/.vitepress/theme/styles/landing.css b/docs/.vitepress/theme/styles/landing.css new file mode 100644 index 00000000000000..c3582f2095f5aa --- /dev/null +++ b/docs/.vitepress/theme/styles/landing.css @@ -0,0 +1,218 @@ +/* /////////////////////// */ +/* Landing Page CSS Styles */ +/* /////////////////////// */ + +html:has(.landing) { + background-color: #101010; + --vp-c-bg: #101010; + + body { + background-color: #101010; + } +} + +.landing { + overflow-x: hidden; + background-color: #101010; + + * { + -webkit-font-smoothing: antialiased !important; + -moz-osx-font-smoothing: grayscale !important; + text-rendering: optimizeLegibility !important; + } + + /* /////////////////// */ + /* VitePress Overrides */ + /* /////////////////// */ + + .VPNavBar, + .VPNavBar:not(.top) { + background: transparent !important; + + @media (min-width: 768px) { + backdrop-filter: blur(10px); + background: rgba(15, 15, 15, 0.8) !important; + border-bottom: 1px solid #262626 !important; + } + + .content-body { + background: none !important; + } + } + + .VPFooter { + border-top: 1px solid #262626 !important; + background: radial-gradient(circle at top center, #0f151a 30%, #000000 80%); + } + + .VPHome { + padding-bottom: 0 !important; + margin-bottom: 0 !important; + } + + /* /////////////// */ + /* Force Dark Mode */ + /* /////////////// */ + + .VPNavBarAppearance { + display: none; + } + + .VPNavScreenAppearance { + visibility: hidden; + } + + .social-links::before { + margin-left: 0 !important; + } + + /* ////////// */ + /* Typography */ + /* ////////// */ + + h1 { + text-align: center; + font-family: 'Manrope', sans-serif; + font-style: normal; + font-weight: 600; + background: linear-gradient( + 180deg, + #fff 0%, + rgba(255, 255, 255, 0.31) 100% + ); + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + text-wrap: balance; + cursor: default; + font-size: 44px; + line-height: 120%; + letter-spacing: -0.88px; + padding: 0 20px; + margin-bottom: 15px; + + @media (min-width: 768px) { + font-size: 64px; + line-height: 81px; + letter-spacing: -1.28px; + } + + @media (min-width: 1025px) { + font-size: 72px; + letter-spacing: -1.44px; + padding-bottom: 8px; /* Fix for hanging descender on "g" in "tooling" */ + } + } + + h2 { + display: block; + width: fit-content; + font-family: Manrope, sans-serif; + font-size: 32px; + font-style: normal; + font-weight: 600; + line-height: 120%; + letter-spacing: -0.64px; + cursor: default; + text-wrap: balance; + padding: 0 20px; + + @media (min-width: 768px) { + font-size: 44px; + letter-spacing: -0.88px; + } + } + + h3 { + color: #a9a9a9; + text-align: center; + font-family: Inter, sans-serif; + font-size: 20px; + font-style: normal; + font-weight: 400; + line-height: 150%; + letter-spacing: -0.4px; + max-width: 500px; + text-wrap: balance; + cursor: default; + margin-bottom: 25px; + padding: 0 20px; + } + + /* /////// */ + /* Buttons */ + /* /////// */ + + .btn { + display: flex; + padding: 10px 18px; + justify-content: center; + align-items: center; + gap: 8px; + border-radius: 8px; + color: #fff; + font-family: Inter, sans-serif; + font-size: 16px; + font-style: normal; + font-weight: 500; + line-height: 24px; + text-shadow: 0 0 2px rgba(0, 0, 0, 0.2); + transition: all 0.2s ease-in-out; + width: fit-content; + + &:hover { + transform: translate3d(0, -2px, 0); + } + + &.btn--primary { + position: relative; + background: radial-gradient( + 141.42% 141.42% at 100% 0%, + rgba(255, 255, 255, 0.4) 0%, + rgba(255, 255, 255, 0) 100% + ), + radial-gradient( + 140.35% 140.35% at 100% 94.74%, + #bd34fe 0%, + rgba(189, 52, 254, 0) 100% + ), + radial-gradient( + 89.94% 89.94% at 18.42% 15.79%, + #41d1ff 0%, + rgba(65, 209, 255, 0) 100% + ); + box-shadow: 0 1px 0 0 rgba(255, 255, 255, 0.75) inset; + + &:hover { + background: radial-gradient( + 141.42% 141.42% at 100% 0%, + rgba(255, 255, 255, 0.5) 0%, + rgba(255, 255, 255, 0) 100% + ), + radial-gradient( + 140.35% 140.35% at 100% 94.74%, + #bd34fe 0%, + rgba(189, 52, 254, 0) 100% + ), + radial-gradient( + 89.94% 89.94% at 18.42% 15.79%, + #41d1ff 0%, + rgba(65, 209, 255, 0) 100% + ); + box-shadow: 0 1.5px 0 0 rgba(255, 255, 255, 0.8) inset; + } + } + + &.btn--outline { + border: 1px solid rgba(255, 255, 255, 0.2); + + &:hover { + border: 1px solid rgba(255, 255, 255, 0.4); + } + } + + &.btn--rounded { + border-radius: 100px; + } + } +} diff --git a/docs/.vitepress/theme/styles/vars.css b/docs/.vitepress/theme/styles/vars.css index 645a1e9222d613..189cf20cb288b9 100644 --- a/docs/.vitepress/theme/styles/vars.css +++ b/docs/.vitepress/theme/styles/vars.css @@ -28,38 +28,6 @@ --vp-button-brand-active-bg: var(--vp-button-brand-bg); } -/** - * Component: Home - * -------------------------------------------------------------------------- */ - -:root { - --vp-home-hero-name-color: transparent; - --vp-home-hero-name-background: -webkit-linear-gradient( - 120deg, - #bd34fe 30%, - #41d1ff - ); - - --vp-home-hero-image-background-image: linear-gradient( - -45deg, - #bd34fe 50%, - #47caff 50% - ); - --vp-home-hero-image-filter: blur(40px); -} - -@media (min-width: 640px) { - :root { - --vp-home-hero-image-filter: blur(56px); - } -} - -@media (min-width: 960px) { - :root { - --vp-home-hero-image-filter: blur(72px); - } -} - /** * Component: Custom Block * -------------------------------------------------------------------------- */ diff --git a/docs/.vitepress/theme/components/blog.data.ts b/docs/_data/blog.data.ts similarity index 100% rename from docs/.vitepress/theme/components/blog.data.ts rename to docs/_data/blog.data.ts diff --git a/docs/images/community/placeholder.jpg b/docs/images/community/placeholder.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5bd0f69a12302af287bf525c072afb07e3a2c087 GIT binary patch literal 1260 zcmex=_1P|rX?qqI0P zFI~aY%U!`Mz|~!$%)&rZN1?DZF(URRSiuIkRgoh z?Ce||T*6#j!WvRyQW_+K{|6WZIT#EW444^}7?=bZnFSgDA7PMZU|?hgdKKhbC}3n_ z2D+D>gOiIJs9>uA0}~@NGZPClD=P~NP<1U(o`FS>RY=j$kxe)-kzJ`!#HexNLJno8 zjR!@8E`CrkPAY2R|V^&07y2J$~}^+4C1KUw!=a`ODXD-+%o41@ado12e>1aG#<1 zOAzQUCKeWE7Iu)o7@5j}m|2j8Rnd@5$T5&Tu~1masF6d&Y2w0-2RW6EgFc8R6K zQ!#m{`Vr(cu+NC|SQA-3gL@3&uUiZ}%#6UuV-{qvXZSUNC+OKEhuhMp57fw{FUx-3 zFIRE+s2y+T^Q&8{zg|hzeR`O8Pa4Z{pLa6rci2xgocFqRZDiz`i(YRo>4!Sb3H8nw zdU;(a_cKq*9Hzs~Ke~RVd;hqjpI-9OZeIKudy{XG&tEP7lfC;wjpKrNmw1Q0p9Obj zNKANDTee;KX8`+!>PCi@CzKT~w-(Q1+P!nnhfk(=j9gACE9Fbv*(1}R=kZ5-Nfblf zt3x06P0e0c5gxd4Uz6p-itgO{z!R2lFKvr?v`EKu0sl-JTeHS``)@iMZr`pHs`QxX zP;`7paF6io&_BKp3m3jpI(IC)f1}6IE3->;dmN6%2n6qBDVI2IDRp0R%UtI}Rd1rc z^)7kosFEH!WB%+y%VTD}%O#(y+ghyG%I~(sg8al+>A%wv89mcJg< znJ^x&xPJJ0oX-7kzjvy{E)Dej89KYc;ceH`lpm5yIj@Dxd-(JgTkPj^b>FXVvkG5Z z!F11xi}#qeUj3LgB3R<4=X9!`)p+>zNI#qt#{ec ze1?;;3wFLLaE;zIH@Rr--@AwJ@NM0mzhvoYlj?OzS~t#2WUzRCZO8m>VZG)hcl{ -import { onMounted } from 'vue' - -onMounted(() => { - const urlParams = new URLSearchParams(window.location.search) - if (urlParams.get('uwu') != null) { - const img = document.querySelector('.VPHero .VPImage.image-src') - img.src = '/logo-uwu.png' - img.alt = 'Vite Kawaii Logo by @icarusgkx' - } -}) +import Hero from '.vitepress/theme/components/landing/1. hero-section/HeroSection.vue' +import FeatureSection from './.vitepress/theme/components/landing/2. feature-section/FeatureSection.vue' +import FrameworksSection from './.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue' +import CommunitySection from './.vitepress/theme/components/landing/4. community-section/CommunitySection.vue' +import SponsorSection from './.vitepress/theme/components/landing/5. sponsor-section/SponsorSection.vue' +import GetStartedSection from '.vitepress/theme/components/landing/6. get-started-section/GetStartedSection.vue' +import FeatureInstantServerStart from './.vitepress/theme/components/landing/2. feature-section/FeatureInstantServerStart.vue' +import FeatureHMR from './.vitepress/theme/components/landing/2. feature-section/FeatureHMR.vue' +import FeatureRichFeatures from './.vitepress/theme/components/landing/2. feature-section/FeatureRichFeatures.vue' +import FeatureOptimizedBuild from './.vitepress/theme/components/landing/2. feature-section/FeatureOptimizedBuild.vue' +import FeatureFlexiblePlugins from './.vitepress/theme/components/landing/2. feature-section/FeatureFlexiblePlugins.vue' +import FeatureTypedAPI from './.vitepress/theme/components/landing/2. feature-section/FeatureTypedAPI.vue' +import FeatureSSRSupport from './.vitepress/theme/components/landing/2. feature-section/FeatureSSRSupport.vue' +import FeatureCI from './.vitepress/theme/components/landing/2. feature-section/FeatureCI.vue' + +
+ + + + + + + + + + + + + + + + + +
diff --git a/docs/public/_redirects b/docs/public/_redirects index 16bba13babb1a4..4dc8a830e953a6 100644 --- a/docs/public/_redirects +++ b/docs/public/_redirects @@ -1,5 +1,5 @@ # temporary, we'll flip this around some day -https://vite.dev/* https://vitejs.dev/:splat 302! +https://vitejs.dev/* https://vite.dev/:splat 301! /guide/api-vite-runtime /guide/api-environment 302 /guide/api-vite-runtime.html /guide/api-environment 302 diff --git a/docs/public/github.svg b/docs/public/github.svg new file mode 100644 index 00000000000000..a1e44f332aba9f --- /dev/null +++ b/docs/public/github.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/docs/public/heart.svg b/docs/public/heart.svg new file mode 100644 index 00000000000000..142e518c177f23 --- /dev/null +++ b/docs/public/heart.svg @@ -0,0 +1,137 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/logo-home.svg b/docs/public/logo-home.svg new file mode 100644 index 00000000000000..0942f44db1d5fd --- /dev/null +++ b/docs/public/logo-home.svg @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/public/noise.png b/docs/public/noise.png new file mode 100644 index 0000000000000000000000000000000000000000..fd9a7cf224a8e55e7a446a25d87aca58ae908083 GIT binary patch literal 17857 zcmX7wRag~F+l6P-AqX!GN+^mnNOwr5bT`u7%@#zE6p$|I+;n#%-QC^Y{qtS_!OWb@ z*~Im%weFc;U**Ix(1_6h02q=IB8o4g@&6hM(o1i*7Nh(!pxQ}jI0As#`M(Bz#2N{XGLui@?@C{}$gcPTKNgVQQV@@$6CEcBm_Opx6)J58J z!|lAH?-SV$p{+-meHTpQzmPHA@jVrM1c1;?j|rhinL9etR~GNnNspF+amkxcMp$9lf^%r=El z12?s=8i+IXKVV*GMgE$oY{ugn?+DXNx(oH=+xSe7S|+Gytz=3=M ztyXv>*_F4r6)pdKn6-1w(7i+mV);vG9JBA4ubb+vPm#bfcUd8a3d03FKR z9|I#ryZV^GLq1JJRcMjtHp*L4Z;L8BR}pfpwYa&g<|&WDT}R%XRodl*$gnLojmuY# zdAen-MI1X(sy{%>h7W1|yM@f}^bhOva3xv!9O}NNI8~#b>nnnWxFTbu%?(AMA2}C* z49y&8FN`mM$?7<$jx&}lGsaM|mDT3I^B4%0Km~KL%Q;GCa}gLg)~R9tfxkP`#>F=i zMCCm)Y3ivGPzVm~tgME4o^_}{y|+5B6Ht;A+Hq?M_F9Wq^Xq9UK$}^5Q)+q{xEB}f z<~FL04GuW6*q+a?r$00(yM4r){wjIVykf9WN>fD$;)~-%SBTvvLWxIe%Y#Y#*E=p% z=QaDC%zWbEppHbgxQ=Z384t@=!#0DB-|2fsBa&ti|(jY z?v}6Y&WY?LrX=z=Cp3A1cEKj)*5SUCN|R@3DBpw^e!}@#ew{fhdFUFdGI zAVg4X5zBn1BaKGAS+RRyK91`mV5JEc9N5Z7yIxu>Dxu0)1XS^Y1A#jwIB3PB>WK8w z*?<2<>9~O%OSUfvV3=7U`@d7y{yFW~os(7U8cx7zZb_-h6Fz?X6b{eF2_*U-@+Rj# z$LL~{5O(c4w3Kho-^lGI8p7*)) zl`{XD6bJw*p*iJ+#TZ3^9sVX#B-b(P93yBAWp3^UC)5jn;GtYsO;ugN)Hf-gyjaPCb6;^%dLeT;Jd}-^JEnrSQN+usQxg)n>E?+Fx?O0p zY*aWU-~~nFn7Z8V_fh=Rw!9eJr7DHrvQIbk0jSok>P1zOY5w-(umV`Ih%4TH+Q8Ck z8;2Ghbw`V%O8TIy3|KkXi9N#c2OsVZSm1pGwJbhC0OYV!QG%1hqmmN6!LJabys$uQ zU|bhFLX|PE0IwBrf`PoCXbb;(iC0-d*FJ!j`@`a)8rQ03a4ysH4AUHMv3kpaVwLD+ zLzVVSDpQ~96+yXE7w@lBg4zlS;C8j6N&vXk8CB`5<&OibvQ5|BK;B4q09lG{H(!yt z)NwqUA0gSa7FBQ(hl(P~7Y7G52h|h0^**@P?S@IoG>@wUG&p4qrAVe{A34m|z@<43 zg^r`4F%z`Xa`osJ?URlkoY0s1u_M$?dp{RZJDMKLV}oSNAr{uPOA(OAr;h{=aEwxa z*YOw=p3#y{-4~7&YHn2Xq5@J=dfh&<|)q`~3YI;f2Dm1I41bAHGWBe)YpGN1uZITTlu+PeMx2I2rw0YsCw_a$X^OwB^{SKCax{ zPpSh0bdmw;>*ryWn(FhmkN<%cj}roF?^zvu@Sn6ye#cXSmrJmJ=|3APE%!TBOhD|6 z`IXtisiq5|IdgCsh3w9CqF(%!qehXws^b_kVO(qxoj_iT7wubWr3{GEBqp({a+aNMeH7@4-F6iIy&Z9J5$PeIFi#`p>H1=xP zXjb0&AOZB}#`P%Jbi#{P|NFr?>%=vp1cUEw`0k(c za^mbLXpVqRCtiqRG5E-J*T#0 zDV!PMs4ysCK?e)_d@?J58QjKT+C|JTSqp#pEh&}MDH#HV_wQysH2O^k*D5y5nQ4Kc z$Lw-WAVH7geIYOAI|UCV`W}ripY0fgJD9L}W1H%~6Q=p7{n)^<23qO6Vh(6+FI>v_ zt_v*tTkzseOYocO7-J`KYh3^%1ie-yhBG%?7Ab1*+>7?tG2Y}Jm1;rl6T6Rb& zBNuFfxq%F0z1WE>r$Rnx*v7CrN5qoD)0e~l@caXaXSSPd8O=_eHQzmne3SoB%d8kz zcOI6DM2Q85NZ^ePX>AIuTIw8B>V-0R5IssrF?ZvFH`5K*OrXWXPTdttJ|lB1m3*Gk8Zy2;Mt{`h7CdllT^}0 z1docBggHXv+Zhb$5WwGqw2>{OCKW|~Gl|F<=UpspU{c+ZYuFi=%7|Nfwd|9I2z|TC zJ`tg&^kZv5=Ly=7r0n95G4*)yKuy+luXgw?!X+9bB0nM5Y8IM0^_ijNXRhU@W+4A# z7$7gM30&%TiG>5aHd&_+)yK@SWKR}bdXH?bo@#MZub50Ae{Fh|`=)HM5dk%P;>eax zg-TRRY)wA^+I}w7-TY&Y&7;2ePc?|up7|;n^4g1{2sud|s9%8D26qtCpk12};<)J) z(>i3O|9l8-m1(=hVv)c*@tj-jpZ)Z&=PZ}PiJ|Egt%*J6+uXn8Vtr&YU*Mo2+jGz3 z`r85?=98<>0@hOHBn>%9L|U7nmjbp~=DFOcU}bAlfu^yeDtzlhL9k`IV+S zwGZQgZ(u4PweTu(q1Br{(F09#w)4VV=TMd9;@`_HU6WauGN}WLq;`t-dC9)zO>58W zR5btES=r`O)g{zSxPJLhk^BxU$2$#6)&yN_XD!Kv9$%%)~#5k#=%Lo8RcbG z8yYtF%&~z6MtWWNc*g8_u!GC_w0p~!7aW3rdt8$rVp)kdw8*JQ(A9XS>}|a9q&iAl z5C9_uLtcG@zQKkc=9I^#@17Ffkr6@Zkpwz_KtGC?XO1($mwFz1fo82;-Yzo9C|o0{ z$3|RlC4tc2RTI{c3OfxOZ$7kRU~UG16K`=gBtXi$-wT0$%ibUB#+Y~TGh5V7)|4rrgR+#V9_o!ka8vV>#^JHKOTSh5Hx_-wNwwPilpNb#Z?mWncf zz6co=oNt2WuUFv0Q?H)mW_XHmI99V}57z#}){{pjkJYQ%k74<~d5n82vm!v*WcZZ> z2!}m}BSPbf}>*(DmE%~ds(nY8m0;Z8IC=#BPoj!7zSCRNM7X3`DSJB~n9`WaJwPVLk)iogt z_3T6V_-8U%(&B<%hf_ECPAn*jy+p8)r7Z#(^!Q85`aC~zPbv!4&fA}v2#igBPsk^-QW3JKZplqTV$5xtv$g(1Th4@qnsq3ho*gT z`I*j_GkWgQ-9c8=f!-vc34(V%!HrpN!)H2`s%;?xx^m{cyki4;Ob4trooc(HoRMlt z!vfyf%I8%|<25h(Z=O?6sG*|Y^Y{4(;C^h9dA*<6<({*N<25cqxd^7x%B^B8dHLug+@u`$1V|A`!M1Jcsok(E7Iz z$-w0dtv&gagb{rht$Dmqxn*gG(-$TE4 z^?PdVs;-z9+}vCg zR5+8}i}TJspizb;b&CWJx@T)p|&D`CGt@KC~fJ`#-4%EI9kPkY3lQBDQHAY(jM)oy%kwJ$o z|2m}A;BU4ZVYztUs8qaa!zTcG*a;L18L%MaRfghSAuMXVnLywEim)Bz+ALv;rr&Ilz1p^!@t%pHYWNT0$ zAQ}0!V%U83K0CwRphS~3ycmb;Q9f>X&%BrgVOxx{f_+y}*F$%q_Zqxm)v4@ws=ahS+JuPB?DQu%lGa<+;RBL=?Av!1&_sEf&xh?x}zSPQIt2 z&dtp8+#y(>_E^Nj7_WZwGHB4)NvcmrQeWpJT+nib{yHWbhHKU2iG)CHIU>#g)7pSC zUSq?@k63;-&1*ss!JevKG{T?Wg@Xbm{PNodx3~KWxS&Wj(uiV^!JJk4RxBKCYm09J zq48var40p4sn*Hs*5Z04B0`_?(eV`jr42?dsYqo;X_`hhuWE!;75~ggz;3LG5b&g@ zREAtg_o^29RPU_xL7>sfKY1C=n!h4Ii5vXgK>UJL+QCiI@4ndqR07D#%ozFIRi>17 z>xuMF@O4y}T3>I#^|V5mfJo`vt6PKR*QMQv-Ecs;*rY9hY{6Xr=(jZ-=+UA}e>|$i zKCkW#XCL4_A{B7ERTOU2h)EkGMbdyoc;k13eThwfy4ms#q^gl*FR(F2^FR2 z?mZ6pS>@w=>I=g@eTlIGB9PX9u%&L2h*TWY(o0;4Ixkz%pyqe^F?~N|L#xSgE{`g@ zn4E4|Gb84WoD1l;gJ#!e?aMJqxd!8k8gGa2vboXO_AE3zcnrs$>lR;kQT?KNR7J54 zq*Dy@+%mULA=#YnoJFYK{xygQIC)_|r5;6YKkUD~j=s5 zd4rpb**Q!I=}3a59e?7n?kZ(1Mb*ZCHWVY55}08fr`NcyBThM=6K5JB$5z~b87kXx z$O#|?teUyMzNPKRu(OWY9q+0Zhria>? zjtyn`o;nx5+j^8tPYlw2duIXxJfXtINcso~S2YMgh(npA*<-0^Zhg`G%;DAh{4iv_)Y(=a6e(zh_6DQC`q^`!)5-qtkLR1RsXIL9VgtbDI3fd?)Gj z9u17)>rNB-}Ga4YI?Q6t_eWHuUewU`YbtU z8jkyheC$6$T+4%}+Op(7TgwrJO}P{a9Q2+U279G*7jf77cw;IIpVE+_HBU&-2Qmmy zM$eY#s^{C8iiJ9(a@vnY$8Z@Y^RNUMOWnHGhcLWruL1r^sT~t zS8BHU2lVY?|L@I*i&>*Bj~yKI3frHh?g_FTXp=OK;KZqi_?`1sq`5Ps)n?z!d|LSaQ^JT?`cY_pja!E=NO==F_i%Xdyk7wWcXc*Ah za$|NU@Zr5WuE6BYU^%iKa<11`*k7Nx`+ds0v51#4lvQgwlOK4c7^oG*&f0T^72*5L zB)6c4cMTK{z-soN_f*~X$&r5)6v-=-pTM?NU!>Fk#y4I5llQ~AYE0RXzt2Vb?{>pp zPpTbIr8f}Z(B^KcJB#swN{<<>Ax++8B~B)va{i?C6_=noZc**Uh$@cb*G++FE-gOAn1h7Xb^YC&FtZ;#GTN}Q|~nH2!kcFoAX zBkUvHl89;fFFD>wXmx72_{Eng#YIn%g)ex5O0jBL5Ph3?wS2*3j9GE4MK_T&2fK zsja*@J#%2j<`C=?Y0g<={LgEa>o!Ln4w?|ikF(3bUh}eu-!2TA*3_&Cf!iJLQwiMI zR$20!&kXiu1;<3J(E;!5hn1`cfNOazNda!- z!uTn>sw%1S_$3!Z|E<_pz%85_8}fH^au651V%`6@Ow6W%0G%9TL;`32{y)s$BRx8E zMF^P7OeifRU;l95KC3wgzpY1PG5R0VjkQU7P*A~Gc^n~JYh-SsTjODz#={KSYjd!3 zIg-f4dpm{q+4OaZK6SsumD95Hr$WDLlaN?671J9FhV7Il!LFbq*X7SOsZVpx?dk`t2h=4AK0$ySRDCK9D>2d9 z%E^`v*4P*zQ@og5QAm`E1=!i8Brm4c6-3T#RJ~v97#EA)`fKaU$hnNs5^0Ec*zr!pIDz zkskIZ^=Ynpp7Q3h=i{2Y7=Tu?`Oio*ZfX}l!iZ9iaC6NIv-o;8A6BoP z3Y9HR2ETKK9%mBz_|{tI)BFb*iicwwkE}O6xQ}vxzFv|CT8#2}qnFN6@_zK)+|u;q z-JvUf1N&j8T71FP!&6N{SbT0pgn1x64W9dmQ<|o8O38yTfSw zV0x%7x_T!cI|7)_EXg+e*le&xk#|Zm7ZKj$Da87e2xVK56st3Pjr@AvEncpE8#8l0 zC{`ZOl!|TWDGt0Ox2NB~6ysu{DrfD_Eux!#5< zlBa7^{x_MABgP_cCXAl}4seJO^`}`LQ}!W6&Xmw)J6ODJDRz>1Xl~Yjw4k>sDJqLWbp-LVM** z@qA^0uzBS7jVXRPh&cZI?^$DJ?aZIs(@$;ifF!++&XBXRK`JBBXG~IZ63Iyc-v3|I;GA*0Kb%lMjS*x^sNcT~x;_v6&l!9+9 z9^R$|5^t7MncB;?-oZNg35e1Jnfx(4`)nwp3r|mW9Wpx^&YQ#&#ktnF3T{#;<1V6_pQNr&JZ9||* z`L6^MkS+<*j9bXTRm&%M_Wvc%L4F@=9)gY6sFfUe0hZ#gFY(ki8XrQTY!mMlF4f z&9-3{mL*{YTsHQwAZ^48Vs8%m_R3>Ysu`D|TBZ8Xn*oEGMCgW$q zn}^?XS$f8^F<=i%Spry-sE}{p8RHTa~(Ql?8n&3aB*)hKJV_?Z>RWZtGdb6X%N?^sc1Th%Vs?t*biVL^haWRI#_EYtc7>hG@0$>GZLc&G);Lyaf5`vyk` zhf|uTG-#Z;my71}-DRi#mJYy9fB2&}kSMiHuR0!5J!ad?yHhU%BlOIHVQG6dSQghk zT@%pG+=sF*k}4ZF=B64fk>%IEtqTXal5J#VY<`GPxvDty8swua$coD>7M?KaVrHn= z?LWCjh3~!DspU$f|Jrh@(T&x*W}?f7_XT@R@j>?8K{Ei;GySv6_u9m~Hp^ww8ClGLtyzf|i0VL)_DTFdzo8k(g>NOc8=)hh2ryamrY|QqfR+cDBHo8pD0KhWZhSk|^ zF3@Hrw>PwL)wXAYD&?bM`DVH{j}+s|4=MVrMU0aBF4C4Pl)5|}n=txy^$4_#q%2YC*%x8ZR$IX&C zjq0cW@4>{lV=!$(s%$m!NA^BXSfg}Uh*=w?bqn3WZ>h06VdB9$LHjVmy0ReB^Nt=R zio$3s^41Z<0@a_Eb!D5g>MORJQezJ8WcvO2&S8m_D7aD0DPm%l*Q2lsp=V8>`O~3F z$;9@dE>5!LV5%|yToMQDG}qL)8Lf+UOi^v1!w_>XHqR8JFT*;sA>8n$Uu?n@Q0BAy zebr-?x{iVaUDv|$>xZvKc;>fJzzCQ5D{vE31#Y;5}luxa7w?B(;b`LKLnA4y1m{Z1pNV@B@zsNOVO1k>V{4Eo|U9LQgV z@j$e80o#4*!~T=FD5N(A)^bN22vDM4JZUza{u;vksMZv`&4DjRBmDMKo6$d7w7t^B8n?gPQwA{PBNXT4AnfiN90v@p}rN`R!&(u zmcY!tH-gV>zT50?Sp7qq{CIBg^1BXGVx(-#7Tt%2rcxrUf@`aa%@U{gXChCFGfqA*Gc%yVygY>Oz#p4wi--n>1avc{{+#RZgrXEni)H+` z#HWHEq}tMadL<<5ymvF_Pc?d^gFy(?v2KEyx?rOWE+g+}+s~RyBNF%SW3l=w6Y9Oj zDn?y7fth7X*C+PY#7wq8v^ zPH4~OUb$LbW~3Ls`}j>f05K-}=&F`O=M0fe7$!E_B|2vN%5+br*SF#nQYU9xJpjt7 z$zamxBEu_iu&JECnH1-BL+v_A$?~!PTGHbZ1M8SzYxjd(WBysO%QB^!dhOik3zml| zP7vH1mOBElDyn{C885B4yaSaM(&$4=-l*rX0Uo>Fo-E0`G0Z_)n=@L^n>RHBOLB>G ztw|qy%iMc>zCQ%-hiw*lG6(hM@#|9LcMyN0Ru0?lutLP~mewqgIa#J}R}_ zN2l%JxuoweU|P%ysGYqbboaHg>}XkHdou$|nGv9nX3OGxw1afz-fX0f7m<=LdY7l|7?lIOucqRaM*aGy?5d*jyFKr{Ty63#&tpa} zPD?4(f%e_RforsnONt}^Ld3w=K(3OE@8@m2M|O^v)}=;14JZ$FR3>|spLizT^pTeT zQfj-pQ-WYanfayhu9y40m66I;Zi=W{GInX~?XGiaewkHML`oD~BY&Z=n1w$R7{3ft z#Tm-m5{8NR@Cq;GmPeGRQLt8%xB)`W?q8O!GznNt*P&jvC9-epY}OLG2cP;{sc=}! zg3XBz-LI?BJAGQ(m5)_u@A4drn42{f9f3AqoOIHiGSzTx%wlJENWnfl^nN}?B&cV= zLJ)=$ZVJeAWJ9N7uFUVqOdI$W=qd(GY40~rX&$E;P#0nt`$fU0`Ffb)H#!WoEN#*k zbjreIY$M0#%-O(b{{wC8Q@_0AABFw5GJ4O#OFR$ncjq%2w1+Kp;iWW8-sgqBVd2b` zml^c#*g#p0uVwq8Uo|C`plo@az~(*oqAvDf6ES&^6_LeO#mmZ&e6C5uNgZzx@AzZt zK%602YB9@c=YXFPK|AO0H)>ZeB4WI%*sw5pZ+ABqTyJHqc@<)W>yG5pB$SdaY)!!c;usTh(25R zD(8P3Pb+T_Y*|^;yEGH-_>?)~G>DPCT2e3Bw3Ry=5O?!2 zLtMEtYY+93@;EAFV6?<$4D@e34)5tqJtDG?nhE+sQy9f1uls%lb`hz}uGI9(*rZqe z)V)qlw0n`m&4&h)IrSU*x*|yf0y%i4nv#KT6&jgUQ#P*htT=`>`>K#_{M76k%n9xH zOg1Mnh4l>$teU5uNinKkGv>}n23y`3>yN%S(e^sU$$$4R-!Q&#O9Wzu@;t9k_X^e8 z)gOb2E4aRpmdsUJ(yY$jimJXx$MjjVn03}?zpeX3x%lZC&eP5{>#6bae)jly(;`2R zXJ~tvGOlz!n0Rdct|Iu+bey^_aU`0Qw(6(^sq8q$X~)bp5e}MT#@K*yW?D|7%TsD2 zE?3r2-M4u`V{`j=ZlgJrJ~DBl6brHvT$X%2Kfm&K>Wkcf*@|^=#`D1->#`@ z--FEzc3Cq-IpJuNCP;y3%$$ypeVOf(?GAdi6}Os|W!+av=1Id$p%}3e%`*<-tVS%DulOX$zE9E71c38(64CseH#C^2Zr3@0N zZqE9zwx15jc&ZAgrqLaUt{jhC9_wLe4FA*fLV5al92hvH9_iZbQ%)(O`?x}JPyZYy z)!s!@BKdqi$zL|T^!WSuU+zJUqQf!G%9DwZ(h^R`2D9Y}m9l>V@xQu!Iefm|sGR(V zKSRIT-xeml0owTo6e1-9xr~@GDW*6zl@ulxaX&&7pLYYg0oJ%re(Lg^Aosb`mv^fb zi(Ktl7%G3_PB@kU2H5u>t5bk&INiIlLPFbvF0m7S$jW@K9=zE#(@Pu&1I-^+6DYPC^NmA*8j@SXF@GW2R$3 z{pHZO(ZoYJlB;Ir10pcd+3b&)zHxfjWx3R^v9hfjDB*L{#lyRo$Iuzo6iDXkf~MAE z_$hiuO~duN{lWd9XnVDXR@F_{_Nq&2ON_zVr1KO;%?*uoevwD>t zAA@aE?x+S&>pCbALti&O!9Kn+|JC&E=RoS^Z{nD-6srPnSym3Gd3NG<*~J8rgrX+t zw-`?3Eo!8s^6;R-s@^Ye%+B;~G|)(~tw=bam$yuc{rFK?WBzK_oy30O;&hC2dD<7_ zekvkTXH7PzWYh6Dt5&-kA4SOqY zMBw=XFpxf~mAi#G%h?WN1s&zh<)xuEfUwSo?BYH4=K^jJ)TmDw}<3+Rth zLm^O;{^c?%ni8Xzgz*>60l%ZHg-LN2f&JJ6ZrhAqg4dc%&_rHNUC}g~D|_47mV; zwx3lBUZ^cso_g9LqG-j*7@AHj_hI5Yg$C-!R#k>_y`Ecc7V}kmd{EwW{L3JXHBj%E zEHSU}OH2S-eGMU(=+AWN_~dJmLDWA}fo_phWreWGhe)3m^>UOl( z0!o0F<~m4DGW=j)kqp4mA;r)fDtX#O0cc4P7hh6nEV^=W1creJA@Rx6{<3sV3_nvW)I80eMvsa5!Hi$vG=ay^8}4i5C7E%lX#|nBYVR% zX#u61n+V>WdPb#KX}C*Ne;S;!L?m10QiQ37+%%7WN->SK)zMMebJ~b)mg&X2#8_2K z>MC~Trd6rgy;5aXH%mv?@FPu-bZ{{g`fcp!&VJi8Rs+m+#0WaX3HC<7Nl`*_1@5!I zQYc%ANVt%dly&y<-LxG;?kZsl)VAa%c9>zzEjB59;QbFSTbDn1vEfU75hH|pzFARE z$qf!@u-P3ZQlR^mxWuie&H0U`+iBEL41Rxa8jf}YbA;xIIR)7YUZ>BX+YlUd=B#u` z5Fc>1lw=t1q`#3Rn)u_*(S>)Kp7o`P%|R#cn$}8ckoyhsvEUMsd&-!Fs_uD}syNoY z)jOGx;sbJC3B*IqbfWjLg`dyO$-I zy%)ZtC+v|62{?DeDe-UQx86=x2eHqk2yQ;2nSvEvszbf!#^-iu1Z&dJOB#uq4LuzU zefN517qB= zU#Kmt;pWj-Yvzy(4utBwHAVq!1-hA_HG3S-;J7;_xGD1>-1uk|?}c{Tfxz%;vQnnj z3XsD^1Z7_jWWCQ|rxswq;faGl#XWsLi-sJH9EbB#xedcQ6qiKp1f1ZSV@VyS5bmCIPpt2IDQ^OeDAe9e)BzwYPvDYK0Ug>@7h*JL(I zrr`_@9Iv_LlJLu9oWxj$dV4AD@({Z9j1@1 zW7Q?jFK!;9Fj-#Yn8!@iV%1F@|Iti5*-rj>Mlk<#R_1GC$1EAvJEVS-W5S-r=W&%y ztP(i?=-f@>R_|AqmW#F-djG0ms`&k+Gr26X2*9k@tT`a+XjVyRr8g93Q!RNYx4~U9 zmFIG%N-nNbD`_}S_3=+~KKJVg$9lD#B5`vYiU<?%|7_OitoBoTqZ%ImslqxNm-r#^1Gz-W z**b10Az^ixmhDD+kMpeMOsy8d<5ZySlW&0i^m9D7JbxV(isEZRvL-!U&Cf(=sY8T8R(>xlmYMWn!Nz=i8tUY_ul6rwxZkY4gKJF< zqW+;;*kaKv%9e*IEl|_1mUkP0z57stm-{3OWD}iK06x2}Qp4Vr@k?xur1D4L*B^!H zKrER(O|`v;PNlXVtq=#ztx$L#T#3cRgUpe9A!}ND@b!F$8x3^lwv5#KW|v+5m?EG> zIjpZ_x_VNega|gJC)R6Iad@eaFFDL2z}A)1W|Y5Ye#>2t3RFSG|ffK>#oZ~TST~`FWYzQIz zGEYm+AHOspS9h8CnH@{wA)M1`A+AUl1yWPGN{$ex1mLcPrtLP@QTuWt-E#{B2uX7S~fJwxnB8lKuK~WpPffX0~k0CmjOX_W4ggzV$`v zM=$%j7Bdh$y|H{F9%QcRT+nAGVMnVB%b2ykC&IL{S9lGQKh)XST@%$6U9gG>g+z4F zDz4M+{F@{`V~E$lbxVXmwNiY>j;@=_NshW4NGfcwMI7TuGw?BQgg`R0%O|3NULL3Juvu+Hrxp#x^w>%@nrLvPh! z!(>vvDWYljlG|>t_Af$K%XcYKBjr;ZIB#%X)1FkLls)YGn79`rMO4@HonBwXoLuS8oeBQnZ^Q|LY}wVfiPH5dxQ*NA(?Zq3Clceq0gm0Td+r851H3p4rI5KK z*b2o3xR1URBLHVVs%iviMb6z?Q}%A~rj3ij5Y_$0h)%9l-5cDG5W&*y=t}2lhO_3) zaBVotdo8k^145~KYj??jd&2FSH!pM?jjxZPT5`@+#_-M^x7tHJv4iupd(-i={I$W5 zNmsDhnE6Y^)I+Q_3QAiNA233^N6!eN5A~A&OSFyiznSl!J2lPxhy&NDCbMnfVTvUg zpOl;)1t(8dccWgFiA~e)Y?DS4&Z(LgwbkUWm{0FNk8QkQYED^IJr5xUeI&No%|kn4 z%EK^=@r}>~8$``v2Ap}4v)ChD?(B*4F;`;XK^o16$dSpSY@YEYWwSrO+Qw4m>E5cv z9VcJ~k-kat>GeN}5o9ReX}S5};xk=|jesv3FDy6}ORgr3GpdH^E^C&&r1ON2JJeV> zBu^3cJv7Lmz4WisE5!(;*{adZOeF@Cr{Gd|giTB_+905?k+t&?$*ghQB0n zTN{QmRY@2D)74vIO$~qaR zL{m3E?T?11tiVCke||$!_WZlS%K~nLl*imwXsi~*=9B^1m`c`OPp;ci__r#QmbqV- z#&htIK^c)kH~4+^yk{b+1k6?5 zD$mwk%t%=XjZPI;qs7_&S`_$lVpnV=737{}1)}xzGmg)Oq-K0~=3H zjrUyr)TSS5gak_O{E}xsKf<<>wxkoj|6rO)$ac|_q`XFaF8CRGyq3I(Rh-`Zmg z{|a5zS-2~RJ)T9Q#T8Ni9^>G$mU@jAo_55f{Q+XW{%!tV{FDM4c)WH0vP^9N`CFBf(O8<>G5YEL|0&F%z{#`6uP>t*DCBJ!I`z>%?L(mKoQAk6xa3SC0mG zIEC?q%NX{Px5tZ`s+uo4MW7}!VovU5%fMX=Xe#YI?f7ljaf_$(%l6HGx{4JVYO3cB^n%)SJZ%c{k7r@f~$&rV6Kk695|HU@=Cmt4sYS(h4iO0#jQ zOrC@Zw!eEnwAuTYsKW8cYvnPaSS&rf1h}hvn(kNy0HW6a{smAK za;y38Kq78P`MHF+W++9QODt8DQg89e+4uhfPzA6062UvZvBs@buB8bL0KJFXD)2pF zyNuuSts9fH_dmCj=cE>pj`WM}taEab@q!7m>go9MC(}uo%bZGJ6o6*FZ$c#LjlCIH z>z*7DY;k6sl$%>5yePUN4YFuPe{m0`#0lnqJ)OrpxETU~^_hwa;*}4VE6KT>lfPo- z(p4_jl0CDMPNrLX7#kgka;NGo$RYD~UKT?nw#iW0k!V#z{xI3D`_?M>HtyU&`p;E9Hc|xW0{K_#&OTQ<8k0Z*itNdlCSK>dT*qZRr@HScSvFvW%7+ z+>r6{Xmx=Ab0DRj9speTl`ANCI(yUy0Q15^KFWI;?~!m@n)&N73jkkc$<=eNt|+Hk z;wiNzi#scp{MF3c8`MX-v_I0IOt9uY-(q(^2>|r&gvj^#!cXYAjb5NtjhwMN%oW)W zWN%DO2?+dXu=v^)QzP*Nn{=t}LF$^*dn({qG!B^PuG#DmqY|9%Dm0FTdg#K)&L zD_)9Orb%LM@=dm(*IU-qiQKbsH`$@F>5T!PqU$MzG*!y!tN7n*MjI9YdieccecpF# zB>=ekcCA)RWTWA0s?RcCLjc$~dbg}921gqJfNO%jUcILCr8|f3{MCxN`&xZF_RmJ! z$wf0`M@^E?P@x}r0Qgl&PAd)0DLmPp`GK1wz92%GZso1l zYknTJB+W@>;B1)YtyG)a_w^6}AT&@e+kL)6W#Q%fJv0EEUqdUHwauX}Rn@v!rFVC| z7bv~?NB`M6OZs$^qT>BH0N|ndK2_CCa;b}e=(4DMpKnUah|t%0O%cFX!188$35%M zjvD2vV%(I$`l4H}%M<`?t<#hSfECwQ3rz4EF8I_Oy(LR;a{#carh^0kwL7Nq0N@np zNZqrSzvf(Kc3ax4Qax(!kQ`~Hp+U_`=;Bm&ohxA1nB`gzeh;QKrU2l1z(7mIxNUMx>2Vuw5oYGuz9vMx>b23>HKPs}vtWqPh;nl5VP1eHggVJ9Tt)Ew z2PuEe7Oa+|z50*Ev$A5j*Cpirx)+!80Pr+I;sK!bS9Qhj_-$>O0ih>^uV;F*@kW<~ r)sa(Gf_ZvrDCcTWm98{O&f5QfAcb^?thuR300000NkvXXu0mjf54ANI literal 0 HcmV?d00001 diff --git a/package.json b/package.json index c69524176ab0f0..feb60139d67693 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "eslint-plugin-regexp": "^2.6.0", "execa": "^9.4.0", "globals": "^15.9.0", + "gsap": "^3.12.4", "lint-staged": "^15.2.10", "picocolors": "^1.1.0", "playwright-chromium": "^1.47.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3082a1256ccfd5..6c6692690fdd17 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -94,6 +94,9 @@ importers: globals: specifier: ^15.9.0 version: 15.9.0 + gsap: + specifier: ^3.12.4 + version: 3.12.5 lint-staged: specifier: ^15.2.10 version: 15.2.10 @@ -5000,6 +5003,9 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + gsap@3.12.5: + resolution: {integrity: sha512-srBfnk4n+Oe/ZnMIOXt3gT605BX9x5+rh/prT2F1SsNJsU1XuMiP0E2aptW481OnonOGACZWBqseH5Z7csHxhQ==} + handlebars@4.7.8: resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} engines: {node: '>=0.4.7'} @@ -10769,6 +10775,8 @@ snapshots: graphemer@1.4.0: {} + gsap@3.12.5: {} + handlebars@4.7.8: dependencies: minimist: 1.2.8 From 87949fe2a005a6bc3dab29a0ec24226480e20569 Mon Sep 17 00:00:00 2001 From: Amadou Sall Date: Wed, 2 Oct 2024 18:13:54 +0200 Subject: [PATCH 041/147] docs: replace AngularJS's website with Angular's website (#18259) --- .../landing/3. frameworks-section/FrameworksSection.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue index 8ddab8a1cc75b6..c73104fa3581bc 100644 --- a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue @@ -46,7 +46,7 @@ const frameworks: Framework[] = [ name: 'Angular', logo: logoAngular, color: '#e03237', - url: 'https://angularjs.org/', + url: 'https://angular.dev/', visible: ref(false), }, { From 0356e10b7733225ea706f8bfd52c619d85c535f5 Mon Sep 17 00:00:00 2001 From: Chris Manson Date: Thu, 3 Oct 2024 15:02:05 +0100 Subject: [PATCH 042/147] docs: add Ember logo to the frameworks (#18269) --- .../landing/3. frameworks-section/FrameworksSection.vue | 8 ++++++++ .../landing/3. frameworks-section/images/ember.svg | 6 ++++++ 2 files changed, 14 insertions(+) create mode 100644 docs/.vitepress/theme/components/landing/3. frameworks-section/images/ember.svg diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue index c73104fa3581bc..5905419db20ed1 100644 --- a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue @@ -23,6 +23,7 @@ import logoReact from './images/react.svg' import logoRemix from './images/remix.svg' import logoSvelte from './images/svelte.svg' import logoLaravel from './images/laravel.svg' +import logoEmber from './images/ember.svg' /** * The frameworks and tools to display in this section. @@ -140,6 +141,13 @@ const frameworks: Framework[] = [ url: 'https://laravel.com/', visible: ref(false), }, + { + name: 'EmberJS', + logo: logoEmber, + color: '#e04e39', + url: 'https://emberjs.com/', + visible: ref(false), + }, ] // Starting parameters diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/ember.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/ember.svg new file mode 100644 index 00000000000000..4f1e6889666c57 --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/ember.svg @@ -0,0 +1,6 @@ + + + + + + From 51bb1680891d87b9a5372ee0e5372a9a75e0674a Mon Sep 17 00:00:00 2001 From: Shotaro Nakamura <79000684+nakasyou@users.noreply.github.com> Date: Fri, 4 Oct 2024 16:03:24 +0900 Subject: [PATCH 043/147] docs(landing): update Qwik url (#18267) --- .../landing/3. frameworks-section/FrameworksSection.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue index 5905419db20ed1..fdc36ef8cd1163 100644 --- a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue @@ -96,7 +96,7 @@ const frameworks: Framework[] = [ name: 'Qwik', logo: logoQwik, color: '#18b5f4', - url: 'https://qwik.builder.io/', + url: 'https://qwik.dev/', visible: ref(false), }, { From 564c877c61c855e8ea9761abf2e76856719d8c47 Mon Sep 17 00:00:00 2001 From: bluwy Date: Fri, 4 Oct 2024 15:32:46 +0800 Subject: [PATCH 044/147] release: create-vite@5.5.3 --- packages/create-vite/CHANGELOG.md | 15 +++++++++++++++ packages/create-vite/package.json | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md index 0809d078b21542..920a68b23210a5 100644 --- a/packages/create-vite/CHANGELOG.md +++ b/packages/create-vite/CHANGELOG.md @@ -1,3 +1,18 @@ +## 5.5.3 (2024-10-04) + +* chore: enable some eslint rules (#18084) ([e9a2746](https://github.com/vitejs/vite/commit/e9a2746ca77473b1814fd05db3d299c074135fe5)), closes [#18084](https://github.com/vitejs/vite/issues/18084) +* chore(deps): update all non-major dependencies (#17896) ([3dc23d9](https://github.com/vitejs/vite/commit/3dc23d9aa5deac4d5591ff94eeb978ec1d702072)), closes [#17896](https://github.com/vitejs/vite/issues/17896) +* chore(deps): update all non-major dependencies (#17945) ([cfb621e](https://github.com/vitejs/vite/commit/cfb621e7a5a3e24d710a9af156e6855e73caf891)), closes [#17945](https://github.com/vitejs/vite/issues/17945) +* chore(deps): update all non-major dependencies (#17991) ([0ca53cf](https://github.com/vitejs/vite/commit/0ca53cff9ff49108fcec75ff01d2445f9c2f2a4c)), closes [#17991](https://github.com/vitejs/vite/issues/17991) +* chore(deps): update all non-major dependencies (#18050) ([7cac03f](https://github.com/vitejs/vite/commit/7cac03fa5197a72d2e2422bd0243a85a9a18abfc)), closes [#18050](https://github.com/vitejs/vite/issues/18050) +* chore(deps): update all non-major dependencies (#18108) ([a73bbaa](https://github.com/vitejs/vite/commit/a73bbaadb512a884924cc884060e50ea6d809d74)), closes [#18108](https://github.com/vitejs/vite/issues/18108) +* chore(deps): update all non-major dependencies (#18230) ([c0edd26](https://github.com/vitejs/vite/commit/c0edd26bbfeb9a8d80ebaa420e54fbb7f165bd9b)), closes [#18230](https://github.com/vitejs/vite/issues/18230) +* chore(deps): update dependency svelte-check to v4 (#18051) ([ecabf89](https://github.com/vitejs/vite/commit/ecabf8954ff1db3f9f3e32861de765f028108d2e)), closes [#18051](https://github.com/vitejs/vite/issues/18051) +* fix(deps): update all non-major dependencies (#18170) ([c8aea5a](https://github.com/vitejs/vite/commit/c8aea5ae0af90dc6796ef3bdd612d1eb819f157b)), closes [#18170](https://github.com/vitejs/vite/issues/18170) +* refactor(create-vite): use picocolors (#18085) ([ba37df0](https://github.com/vitejs/vite/commit/ba37df0813ad3864fc4b8c6c0b289a1f2bc00c36)), closes [#18085](https://github.com/vitejs/vite/issues/18085) + + + ## 5.5.2 (2024-08-15) * fix(create-vite): move ESLint "ignores" config to a separate object in React templates (#17885) ([1b3b702](https://github.com/vitejs/vite/commit/1b3b702a7ec04fecb81f2642ffdde0b13e38a921)), closes [#17885](https://github.com/vitejs/vite/issues/17885) diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json index 0e78dcaaf2c90b..50b7f327db2a48 100644 --- a/packages/create-vite/package.json +++ b/packages/create-vite/package.json @@ -1,6 +1,6 @@ { "name": "create-vite", - "version": "5.5.2", + "version": "5.5.3", "type": "module", "license": "MIT", "author": "Evan You", From a99a0aab7c600301a5c314b6071afa46915ce248 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 4 Oct 2024 15:42:06 +0800 Subject: [PATCH 045/147] docs: update homepage (#18274) --- package.json | 2 +- packages/vite/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index feb60139d67693..10bbb751f9b3bd 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "engines": { "node": "^18.0.0 || >=20.0.0" }, - "homepage": "https://vitejs.dev/", + "homepage": "https://vite.dev/", "repository": { "type": "git", "url": "git+https://github.com/vitejs/vite.git" diff --git a/packages/vite/package.json b/packages/vite/package.json index d19e63cca37002..b1ed190972ff9a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -68,7 +68,7 @@ "bugs": { "url": "https://github.com/vitejs/vite/issues" }, - "homepage": "https://vitejs.dev", + "homepage": "https://vite.dev", "funding": "https://github.com/vitejs/vite?sponsor=1", "scripts": { "dev": "tsx scripts/dev.ts", From c4800f0371ab0c6a86b8cddb2c1da3858eaa1b86 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 4 Oct 2024 16:45:16 +0800 Subject: [PATCH 046/147] docs(landing): add color to astro logo (#18275) --- .../3. frameworks-section/images/astro.svg | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/astro.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/astro.svg index bbe512ed2d8e96..744c7e9fda7ed3 100644 --- a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/astro.svg +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/astro.svg @@ -1,11 +1,11 @@ - - - - - - - - - - + + + + + + + + + + From ad4f4048e295cc2e3bdc338f5514bac8584fab30 Mon Sep 17 00:00:00 2001 From: Marvin Hagemeister Date: Fri, 4 Oct 2024 10:45:37 +0200 Subject: [PATCH 047/147] docs: add Preact logo (#18265) Co-authored-by: bluwy --- .../landing/3. frameworks-section/FrameworksSection.vue | 8 ++++++++ .../landing/3. frameworks-section/images/preact.svg | 6 ++++++ 2 files changed, 14 insertions(+) create mode 100644 docs/.vitepress/theme/components/landing/3. frameworks-section/images/preact.svg diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue index fdc36ef8cd1163..df59bfaf6d545a 100644 --- a/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/FrameworksSection.vue @@ -24,6 +24,7 @@ import logoRemix from './images/remix.svg' import logoSvelte from './images/svelte.svg' import logoLaravel from './images/laravel.svg' import logoEmber from './images/ember.svg' +import logoPreact from './images/preact.svg' /** * The frameworks and tools to display in this section. @@ -71,6 +72,13 @@ const frameworks: Framework[] = [ url: 'https://svelte.dev/', visible: ref(false), }, + { + name: 'Preact', + logo: logoPreact, + color: '#673ab8', + url: 'https://preactjs.com/', + visible: ref(false), + }, { name: 'Astro', logo: logoAstro, diff --git a/docs/.vitepress/theme/components/landing/3. frameworks-section/images/preact.svg b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/preact.svg new file mode 100644 index 00000000000000..246a3b228dbefd --- /dev/null +++ b/docs/.vitepress/theme/components/landing/3. frameworks-section/images/preact.svg @@ -0,0 +1,6 @@ + + + + + + From 56eb869a67551a257d20cba00016ea59b1e1a2c4 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 4 Oct 2024 16:46:38 +0800 Subject: [PATCH 048/147] chore: update license copyright (#18278) --- LICENSE | 2 +- docs/.vitepress/buildEnd.config.ts | 2 +- docs/.vitepress/config.ts | 3 +-- packages/create-vite/LICENSE | 2 +- packages/plugin-legacy/LICENSE | 2 +- packages/vite/LICENSE.md | 2 +- 6 files changed, 6 insertions(+), 7 deletions(-) diff --git a/LICENSE b/LICENSE index 9c1b313d7b1816..b7e97ecb6aa4dd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors +Copyright (c) 2019-present, VoidZero Inc. and Vite contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/docs/.vitepress/buildEnd.config.ts b/docs/.vitepress/buildEnd.config.ts index 52a3625ceb3957..7e16ebfb55b1f9 100644 --- a/docs/.vitepress/buildEnd.config.ts +++ b/docs/.vitepress/buildEnd.config.ts @@ -16,7 +16,7 @@ export const buildEnd = async (config: SiteConfig): Promise => { language: 'en', image: 'https://vitejs.dev/og-image.png', favicon: 'https://vitejs.dev/logo.svg', - copyright: 'Copyright © 2019-present Evan You & Vite Contributors', + copyright: 'Copyright © 2019-present VoidZero Inc. & Vite Contributors', }) const posts = await createContentLoader('blog/*.md', { diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 4a6dd49ae84a3f..d1583d5d08886d 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -163,8 +163,7 @@ export default defineConfig({ footer: { message: `Released under the MIT License. (${commitRef})`, - copyright: - 'Copyright © 2019-present Yuxi (Evan) You & Vite Contributors', + copyright: 'Copyright © 2019-present VoidZero Inc. & Vite Contributors', }, nav: [ diff --git a/packages/create-vite/LICENSE b/packages/create-vite/LICENSE index 1e20c6d66f3ba9..b5002b3afaa897 100644 --- a/packages/create-vite/LICENSE +++ b/packages/create-vite/LICENSE @@ -3,7 +3,7 @@ create-vite is released under the MIT license: MIT License -Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors +Copyright (c) 2019-present, VoidZero Inc. and Vite contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/plugin-legacy/LICENSE b/packages/plugin-legacy/LICENSE index 9c1b313d7b1816..b7e97ecb6aa4dd 100644 --- a/packages/plugin-legacy/LICENSE +++ b/packages/plugin-legacy/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors +Copyright (c) 2019-present, VoidZero Inc. and Vite contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/vite/LICENSE.md b/packages/vite/LICENSE.md index 3c0aaf8124a17f..40b7ebf8c30eeb 100644 --- a/packages/vite/LICENSE.md +++ b/packages/vite/LICENSE.md @@ -3,7 +3,7 @@ Vite is released under the MIT license: MIT License -Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors +Copyright (c) 2019-present, VoidZero Inc. and Vite contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal From 7052c8f6fc253f0a88ff04a4c18c108f3bfdaa78 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 4 Oct 2024 17:30:11 +0800 Subject: [PATCH 049/147] chore: update all url references of vitejs.dev to vite.dev (#18276) --- .github/ISSUE_TEMPLATE/bug_report.yml | 4 +- .github/ISSUE_TEMPLATE/config.yml | 2 +- .github/ISSUE_TEMPLATE/docs.yml | 2 +- .github/ISSUE_TEMPLATE/feature_request.yml | 2 +- .github/workflows/lock-closed-issues.yml | 2 +- CODE_OF_CONDUCT.md | 2 +- CONTRIBUTING.md | 2 +- README.md | 14 +-- docs/.vitepress/buildEnd.config.ts | 6 +- docs/.vitepress/config.ts | 28 +++--- docs/blog/announcing-vite2.md | 10 +-- docs/blog/announcing-vite3.md | 32 +++---- docs/blog/announcing-vite4-3.md | 8 +- docs/blog/announcing-vite4.md | 20 ++--- docs/blog/announcing-vite5-1.md | 8 +- docs/blog/announcing-vite5.md | 20 ++--- docs/config/server-options.md | 2 +- docs/guide/api-plugin.md | 4 +- docs/guide/comparisons.md | 2 +- docs/guide/features.md | 2 +- docs/guide/index.md | 2 +- docs/guide/migration.md | 2 +- docs/guide/performance.md | 2 +- docs/guide/philosophy.md | 2 +- docs/guide/troubleshooting.md | 4 +- docs/releases.md | 4 +- .../template-lit-ts/src/my-element.ts | 2 +- .../template-lit/src/my-element.js | 2 +- .../template-preact-ts/src/app.tsx | 2 +- .../template-preact-ts/vite.config.ts | 2 +- .../create-vite/template-preact/src/app.jsx | 2 +- .../template-preact/vite.config.js | 2 +- .../create-vite/template-qwik-ts/src/app.tsx | 2 +- .../template-qwik-ts/vite.config.ts | 2 +- .../create-vite/template-qwik/src/app.jsx | 2 +- .../create-vite/template-qwik/vite.config.js | 2 +- .../create-vite/template-react-ts/src/App.tsx | 2 +- .../template-react-ts/vite.config.ts | 2 +- .../create-vite/template-react/src/App.jsx | 2 +- .../create-vite/template-react/vite.config.js | 2 +- .../create-vite/template-solid-ts/README.md | 2 +- .../create-vite/template-solid-ts/src/App.tsx | 2 +- packages/create-vite/template-solid/README.md | 2 +- .../create-vite/template-solid/src/App.jsx | 2 +- .../template-svelte-ts/src/App.svelte | 2 +- .../template-svelte-ts/vite.config.ts | 2 +- .../template-svelte/src/App.svelte | 2 +- .../template-svelte/vite.config.js | 2 +- .../template-vanilla-ts/src/main.ts | 2 +- packages/create-vite/template-vanilla/main.js | 2 +- .../create-vite/template-vue-ts/src/App.vue | 2 +- .../template-vue-ts/vite.config.ts | 2 +- packages/create-vite/template-vue/src/App.vue | 2 +- .../create-vite/template-vue/vite.config.js | 2 +- packages/vite/CHANGELOG.md | 90 +++++++++---------- packages/vite/README.md | 8 +- packages/vite/index.cjs | 2 +- packages/vite/index.d.cts | 2 +- packages/vite/src/client/client.ts | 8 +- packages/vite/src/node/config.ts | 6 +- packages/vite/src/node/http.ts | 2 +- .../src/node/optimizer/esbuildDepPlugin.ts | 2 +- .../vite/src/node/plugins/importAnalysis.ts | 2 +- .../vite/src/node/plugins/importMetaGlob.ts | 2 +- packages/vite/src/node/plugins/resolve.ts | 4 +- packages/vite/src/node/plugins/wasm.ts | 2 +- .../src/node/server/middlewares/static.ts | 2 +- playground/assets/index.html | 2 +- .../__tests__/css-lightningcss.spec.ts | 2 +- playground/css-lightningcss/external-url.css | 2 +- .../__tests__/optimize-deps.spec.ts | 2 +- playground/optimize-deps/index.html | 2 +- 72 files changed, 193 insertions(+), 193 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 91b3cfd45d7866..ae120b3ae02419 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -78,13 +78,13 @@ body: required: true - label: Read the [Contributing Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md). required: true - - label: Read the [docs](https://vitejs.dev/guide). + - label: Read the [docs](https://vite.dev/guide). required: true - label: Check that there isn't [already an issue](https://github.com/vitejs/vite/issues) that reports the same bug to avoid creating a duplicate. required: true - label: Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to [vuejs/core](https://github.com/vuejs/core) instead. required: true - - label: Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vitejs/vite/discussions) or join our [Discord Chat Server](https://chat.vitejs.dev/). + - label: Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vitejs/vite/discussions) or join our [Discord Chat Server](https://chat.vite.dev/). required: true - label: The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug. required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml index f85f41ebbd3809..e36d5d53edcd7f 100644 --- a/.github/ISSUE_TEMPLATE/config.yml +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -7,7 +7,7 @@ contact_links: url: https://github.com/vitejs/vite-plugin-vue/issues/new/choose about: Vue related issues should be reported on the vite-plugin-vue repository. - name: Discord Chat - url: https://chat.vitejs.dev + url: https://chat.vite.dev about: Ask questions and discuss with other Vite users in real time. - name: Questions & Discussions url: https://github.com/vitejs/vite/discussions diff --git a/.github/ISSUE_TEMPLATE/docs.yml b/.github/ISSUE_TEMPLATE/docs.yml index 845070d9e1b34e..ef629b96596663 100644 --- a/.github/ISSUE_TEMPLATE/docs.yml +++ b/.github/ISSUE_TEMPLATE/docs.yml @@ -1,5 +1,5 @@ name: "\U0001F4DA Documentation" -description: Suggest a change or new page to be added to vitejs.dev +description: Suggest a change or new page to be added to vite.dev labels: [documentation] body: - type: markdown diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index da45736c4c6dde..348a9c731416e8 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -41,7 +41,7 @@ body: required: true - label: Read the [Contributing Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md). required: true - - label: Read the [docs](https://vitejs.dev/guide). + - label: Read the [docs](https://vite.dev/guide). required: true - label: Check that there isn't already an issue that request the same feature to avoid creating a duplicate. required: true diff --git a/.github/workflows/lock-closed-issues.yml b/.github/workflows/lock-closed-issues.yml index fc3002d6d5d8ab..64b585e7a3f48a 100644 --- a/.github/workflows/lock-closed-issues.yml +++ b/.github/workflows/lock-closed-issues.yml @@ -19,6 +19,6 @@ jobs: #issue-comment: | # This issue has been locked since it has been closed for more than 14 days. # - # If you have found a concrete bug or regression related to it, please open a new [bug report](https://github.com/vitejs/vite/issues/new/choose) with a reproduction against the latest Vite version. If you have any other comments you should join the chat at [Vite Land](https://chat.vitejs.dev) or create a new [discussion](https://github.com/vitejs/vite/discussions). + # If you have found a concrete bug or regression related to it, please open a new [bug report](https://github.com/vitejs/vite/issues/new/choose) with a reproduction against the latest Vite version. If you have any other comments you should join the chat at [Vite Land](https://chat.vite.dev) or create a new [discussion](https://github.com/vitejs/vite/discussions). issue-lock-reason: "" process-only: "issues" diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 8c0ecf5ab85f8c..e357d2b1598ef0 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -34,7 +34,7 @@ This Code of Conduct applies both within project spaces and in public spaces whe ## Enforcement -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team by DM at [Vite Land](https://chat.vitejs.dev). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team by DM at [Vite Land](https://chat.vite.dev). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f624e76897e578..1b12842b9d82d2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Vite Contributing Guide -Hi! We're really excited that you're interested in contributing to Vite! Before submitting your contribution, please read through the following guide. We also suggest you read the [Project Philosophy](https://vitejs.dev/guide/philosophy) in our documentation. +Hi! We're really excited that you're interested in contributing to Vite! Before submitting your contribution, please read through the following guide. We also suggest you read the [Project Philosophy](https://vite.dev/guide/philosophy) in our documentation. You can use [StackBlitz Codeflow](https://stackblitz.com/codeflow) to fix bugs or implement features. You'll see a Codeflow button on issues to start a PR to fix them. A button will also appear on PRs to review them without needing to check out the branch locally. When using Codeflow, the Vite repository will be cloned for you in an online editor, with the Vite package built in watch mode ready to test your changes. If you'd like to learn more, check out the [Codeflow docs](https://developer.stackblitz.com/codeflow/what-is-codeflow). diff --git a/README.md b/README.md index db366bf065a607..205c4701a52e4f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@

- - Vite logo + + Vite logo


@@ -9,7 +9,7 @@ node compatibility build status Start new PR in StackBlitz Codeflow - discord chat + discord chat


@@ -26,13 +26,13 @@ Vite (French word for "quick", pronounced [`/vit/`](https://cdn.jsdelivr.net/gh/vitejs/vite@main/docs/public/vite.mp3), like "veet") is a new breed of frontend build tooling that significantly improves the frontend development experience. It consists of two major parts: -- A dev server that serves your source files over [native ES modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules), with [rich built-in features](https://vitejs.dev/guide/features.html) and astonishingly fast [Hot Module Replacement (HMR)](https://vitejs.dev/guide/features.html#hot-module-replacement). +- A dev server that serves your source files over [native ES modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules), with [rich built-in features](https://vite.dev/guide/features.html) and astonishingly fast [Hot Module Replacement (HMR)](https://vite.dev/guide/features.html#hot-module-replacement). -- A [build command](https://vitejs.dev/guide/build.html) that bundles your code with [Rollup](https://rollupjs.org), pre-configured to output highly optimized static assets for production. +- A [build command](https://vite.dev/guide/build.html) that bundles your code with [Rollup](https://rollupjs.org), pre-configured to output highly optimized static assets for production. -In addition, Vite is highly extensible via its [Plugin API](https://vitejs.dev/guide/api-plugin.html) and [JavaScript API](https://vitejs.dev/guide/api-javascript.html) with full typing support. +In addition, Vite is highly extensible via its [Plugin API](https://vite.dev/guide/api-plugin.html) and [JavaScript API](https://vite.dev/guide/api-javascript.html) with full typing support. -[Read the Docs to Learn More](https://vitejs.dev). +[Read the Docs to Learn More](https://vite.dev). ## Packages diff --git a/docs/.vitepress/buildEnd.config.ts b/docs/.vitepress/buildEnd.config.ts index 7e16ebfb55b1f9..8e0d72b7359849 100644 --- a/docs/.vitepress/buildEnd.config.ts +++ b/docs/.vitepress/buildEnd.config.ts @@ -4,7 +4,7 @@ import { Feed } from 'feed' import type { SiteConfig } from 'vitepress' import { createContentLoader } from 'vitepress' -const siteUrl = 'https://vitejs.dev' +const siteUrl = 'https://vite.dev' const blogUrl = `${siteUrl}/blog` export const buildEnd = async (config: SiteConfig): Promise => { @@ -14,8 +14,8 @@ export const buildEnd = async (config: SiteConfig): Promise => { id: blogUrl, link: blogUrl, language: 'en', - image: 'https://vitejs.dev/og-image.png', - favicon: 'https://vitejs.dev/logo.svg', + image: 'https://vite.dev/og-image.png', + favicon: 'https://vite.dev/logo.svg', copyright: 'Copyright © 2019-present VoidZero Inc. & Vite Contributors', }) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index d1583d5d08886d..6a6fa47a22c52f 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -8,9 +8,9 @@ import { import { buildEnd } from './buildEnd.config' const ogDescription = 'Next Generation Frontend Tooling' -const ogImage = 'https://vitejs.dev/og-image.png' +const ogImage = 'https://vite.dev/og-image.png' const ogTitle = 'Vite' -const ogUrl = 'https://vitejs.dev' +const ogUrl = 'https://vite.dev' // netlify envs const deployURL = process.env.DEPLOY_PRIME_URL || '' @@ -40,15 +40,15 @@ const versionLinks = ((): DefaultTheme.NavItemWithLink[] => { const oldVersions: DefaultTheme.NavItemWithLink[] = [ { text: 'Vite 4 Docs', - link: 'https://v4.vitejs.dev', + link: 'https://v4.vite.dev', }, { text: 'Vite 3 Docs', - link: 'https://v3.vitejs.dev', + link: 'https://v3.vite.dev', }, { text: 'Vite 2 Docs', - link: 'https://v2.vitejs.dev', + link: 'https://v2.vite.dev', }, ] @@ -58,7 +58,7 @@ const versionLinks = ((): DefaultTheme.NavItemWithLink[] => { return [ { text: 'Vite 5 Docs (release)', - link: 'https://vitejs.dev', + link: 'https://vite.dev', }, ...oldVersions, ] @@ -124,12 +124,12 @@ export default defineConfig({ locales: { root: { label: 'English' }, - zh: { label: '简体中文', link: 'https://cn.vitejs.dev' }, - ja: { label: '日本語', link: 'https://ja.vitejs.dev' }, - es: { label: 'Español', link: 'https://es.vitejs.dev' }, - pt: { label: 'Português', link: 'https://pt.vitejs.dev' }, - ko: { label: '한국어', link: 'https://ko.vitejs.dev' }, - de: { label: 'Deutsch', link: 'https://de.vitejs.dev' }, + zh: { label: '简体中文', link: 'https://cn.vite.dev' }, + ja: { label: '日本語', link: 'https://ja.vite.dev' }, + es: { label: 'Español', link: 'https://es.vite.dev' }, + pt: { label: 'Português', link: 'https://pt.vite.dev' }, + ko: { label: '한국어', link: 'https://ko.vite.dev' }, + de: { label: 'Deutsch', link: 'https://de.vite.dev' }, }, themeConfig: { @@ -143,7 +143,7 @@ export default defineConfig({ socialLinks: [ { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@vite' }, { icon: 'twitter', link: 'https://twitter.com/vite_js' }, - { icon: 'discord', link: 'https://chat.vitejs.dev' }, + { icon: 'discord', link: 'https://chat.vite.dev' }, { icon: 'github', link: 'https://github.com/vitejs/vite' }, ], @@ -188,7 +188,7 @@ export default defineConfig({ }, { text: 'Discord Chat', - link: 'https://chat.vitejs.dev', + link: 'https://chat.vite.dev', }, { text: 'Awesome Vite', diff --git a/docs/blog/announcing-vite2.md b/docs/blog/announcing-vite2.md index 11cd6d52307812..e966c791e8571e 100644 --- a/docs/blog/announcing-vite2.md +++ b/docs/blog/announcing-vite2.md @@ -13,7 +13,7 @@ head: content: Announcing Vite 2.0 - - meta - property: og:url - content: https://vitejs.dev/blog/announcing-vite2 + content: https://vite.dev/blog/announcing-vite2 - - meta - property: og:description content: Vite 2 Release Announcement @@ -33,7 +33,7 @@ Vite (French word for "fast", pronounced `/vit/`) is a new kind of build tool fo To get a sense of how fast Vite is, check out [this video comparison](https://twitter.com/amasad/status/1355379680275128321) of booting up a React application on Repl.it using Vite vs. `create-react-app` (CRA). -If you've never heard of Vite before and would love to learn more about it, check out [the rationale behind the project](https://vitejs.dev/guide/why.html). If you are interested in how Vite differs from other similar tools, check out the [comparisons](https://vitejs.dev/guide/comparisons.html). +If you've never heard of Vite before and would love to learn more about it, check out [the rationale behind the project](https://vite.dev/guide/why.html). If you are interested in how Vite differs from other similar tools, check out the [comparisons](https://vite.dev/guide/comparisons.html). ## What's New in 2.0 @@ -49,7 +49,7 @@ Vite 2.0 takes what we learned along the way and is redesigned from scratch with Inspired by [WMR](https://github.com/preactjs/wmr), the new plugin system extends Rollup's plugin interface and is [compatible with many Rollup plugins](https://vite-rollup-plugins.patak.dev/) out of the box. Plugins can use Rollup-compatible hooks, with additional Vite-specific hooks and properties to adjust Vite-only behavior (e.g. differentiating dev vs. build or custom handling of HMR). -The [programmatic API](https://vitejs.dev/guide/api-javascript.html) has also been greatly improved to facilitate higher level tools / frameworks built on top of Vite. +The [programmatic API](https://vite.dev/guide/api-javascript.html) has also been greatly improved to facilitate higher level tools / frameworks built on top of Vite. ### esbuild Powered Dep Pre-Bundling @@ -65,7 +65,7 @@ Vite treats CSS as a first-class citizen of the module graph and supports the fo ### Server-Side Rendering (SSR) Support -Vite 2.0 ships with [experimental SSR support](https://vitejs.dev/guide/ssr.html). Vite provides APIs to efficiently load and update ESM-based source code in Node.js during development (almost like server-side HMR), and automatically externalizes CommonJS-compatible dependencies to improve development and SSR build speed. The production server can be completely decoupled from Vite, and the same setup can be easily adapted to perform pre-rendering / SSG. +Vite 2.0 ships with [experimental SSR support](https://vite.dev/guide/ssr.html). Vite provides APIs to efficiently load and update ESM-based source code in Node.js during development (almost like server-side HMR), and automatically externalizes CommonJS-compatible dependencies to improve development and SSR build speed. The production server can be completely decoupled from Vite, and the same setup can be easily adapted to perform pre-rendering / SSG. Vite SSR is provided as a low-level feature and we are expecting to see higher level frameworks leveraging it under the hood. @@ -81,4 +81,4 @@ That was a lot of features, but getting started with Vite is simple! You can spi npm init @vitejs/app ``` -Then, check out [the guide](https://vitejs.dev/guide/) to see what Vite provides out of the box. You can also check out the source code on [GitHub](https://github.com/vitejs/vite), follow updates on [Twitter](https://twitter.com/vite_js), or join discussions with other Vite users on our [Discord chat server](http://chat.vitejs.dev/). +Then, check out [the guide](https://vite.dev/guide/) to see what Vite provides out of the box. You can also check out the source code on [GitHub](https://github.com/vitejs/vite), follow updates on [Twitter](https://twitter.com/vite_js), or join discussions with other Vite users on our [Discord chat server](http://chat.vite.dev/). diff --git a/docs/blog/announcing-vite3.md b/docs/blog/announcing-vite3.md index 4f25309ca72f04..efb3be87e94117 100644 --- a/docs/blog/announcing-vite3.md +++ b/docs/blog/announcing-vite3.md @@ -13,10 +13,10 @@ head: content: Announcing Vite 3 - - meta - property: og:image - content: https://vitejs.dev/og-image-announcing-vite3.png + content: https://vite.dev/og-image-announcing-vite3.png - - meta - property: og:url - content: https://vitejs.dev/blog/announcing-vite3 + content: https://vite.dev/blog/announcing-vite3 - - meta - property: og:description content: Vite 3 Release Announcement @@ -29,7 +29,7 @@ head: _July 23, 2022_ - Check out the [Vite 4.0 announcement](./announcing-vite4.md) -In February last year, [Evan You](https://twitter.com/youyuxi) released Vite 2. Since then, its adoption has grown non-stop, reaching more than 1 million npm downloads per week. A sprawling ecosystem rapidly formed after the release. Vite is powering a renewed innovation race in Web frameworks. [Nuxt 3](https://v3.nuxtjs.org/) uses Vite by default. [SvelteKit](https://kit.svelte.dev/), [Astro](https://astro.build/), [Hydrogen](https://hydrogen.shopify.dev/), and [SolidStart](https://docs.solidjs.com/quick-start) are all built with Vite. [Laravel has now decided to use Vite by default](https://laravel.com/docs/9.x/vite). [Vite Ruby](https://vite-ruby.netlify.app/) shows how Vite can improve Rails DX. [Vitest](https://vitest.dev) is making strides as a Vite-native alternative to Jest. Vite is behind [Cypress](https://docs.cypress.io/guides/component-testing/writing-your-first-component-test) and [Playwright](https://playwright.dev/docs/test-components)'s new Component Testing features, Storybook has [Vite as an official builder](https://github.com/storybookjs/builder-vite). And [the list goes on](https://patak.dev/vite/ecosystem.html). Maintainers from most of these projects got involved in improving the Vite core itself, working closely with the Vite [team](https://vitejs.dev/team) and other contributors. +In February last year, [Evan You](https://twitter.com/youyuxi) released Vite 2. Since then, its adoption has grown non-stop, reaching more than 1 million npm downloads per week. A sprawling ecosystem rapidly formed after the release. Vite is powering a renewed innovation race in Web frameworks. [Nuxt 3](https://v3.nuxtjs.org/) uses Vite by default. [SvelteKit](https://kit.svelte.dev/), [Astro](https://astro.build/), [Hydrogen](https://hydrogen.shopify.dev/), and [SolidStart](https://docs.solidjs.com/quick-start) are all built with Vite. [Laravel has now decided to use Vite by default](https://laravel.com/docs/9.x/vite). [Vite Ruby](https://vite-ruby.netlify.app/) shows how Vite can improve Rails DX. [Vitest](https://vitest.dev) is making strides as a Vite-native alternative to Jest. Vite is behind [Cypress](https://docs.cypress.io/guides/component-testing/writing-your-first-component-test) and [Playwright](https://playwright.dev/docs/test-components)'s new Component Testing features, Storybook has [Vite as an official builder](https://github.com/storybookjs/builder-vite). And [the list goes on](https://patak.dev/vite/ecosystem.html). Maintainers from most of these projects got involved in improving the Vite core itself, working closely with the Vite [team](https://vite.dev/team) and other contributors. ![Vite 3 Announcement Cover Image](/og-image-announcing-vite3.png) @@ -38,26 +38,26 @@ Today, 16 months from the v2 launch we are happy to announce the release of Vite Quick links: - [Docs](/) -- [Migration Guide](https://v3.vitejs.dev/guide/migration.html) +- [Migration Guide](https://v3.vite.dev/guide/migration.html) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#300-2022-07-13) -If you are new to Vite, we recommend reading the [Why Vite Guide](https://vitejs.dev/guide/why.html). Then check out [the Getting Started](https://vitejs.dev/guide/) and [Features guide](https://vitejs.dev/guide/features) to see what Vite provides out of the box. As usual, contributions are welcome at [GitHub](https://github.com/vitejs/vite). More than [600 collaborators](https://github.com/vitejs/vite/graphs/contributors) have helped improve Vite so far. Follow the updates on [Twitter](https://twitter.com/vite_js), or join discussions with other Vite users on our [Discord chat server](http://chat.vitejs.dev/). +If you are new to Vite, we recommend reading the [Why Vite Guide](https://vite.dev/guide/why.html). Then check out [the Getting Started](https://vite.dev/guide/) and [Features guide](https://vite.dev/guide/features) to see what Vite provides out of the box. As usual, contributions are welcome at [GitHub](https://github.com/vitejs/vite). More than [600 collaborators](https://github.com/vitejs/vite/graphs/contributors) have helped improve Vite so far. Follow the updates on [Twitter](https://twitter.com/vite_js), or join discussions with other Vite users on our [Discord chat server](http://chat.vite.dev/). ## New Documentation -Go to [vitejs.dev](https://vitejs.dev) to enjoy the new v3 docs. Vite is now using the new [VitePress](https://vitepress.vuejs.org) default theme, with a stunning dark mode between other features. +Go to [vite.dev](https://vite.dev) to enjoy the new v3 docs. Vite is now using the new [VitePress](https://vitepress.vuejs.org) default theme, with a stunning dark mode between other features. -[![Vite documentation frontpage](../images/v3-docs.png)](https://vitejs.dev) +[![Vite documentation frontpage](../images/v3-docs.png)](https://vite.dev) Several projects in the ecosystem have already migrated to it (see [Vitest](https://vitest.dev), [vite-plugin-pwa](https://vite-plugin-pwa.netlify.app/), and [VitePress](https://vitepress.vuejs.org/) itself). -If you need to access the Vite 2 docs, they will remain online at [v2.vitejs.dev](https://v2.vitejs.dev). There is also a new [main.vitejs.dev](https://main.vitejs.dev) subdomain, where each commit to Vite’s main branch is auto deployed. This is useful when testing beta versions or contributing to the core’s development. +If you need to access the Vite 2 docs, they will remain online at [v2.vite.dev](https://v2.vite.dev). There is also a new [main.vite.dev](https://main.vite.dev) subdomain, where each commit to Vite’s main branch is auto deployed. This is useful when testing beta versions or contributing to the core’s development. There is also now an official Spanish translation, that has been added to the previous Chinese and Japanese translations: -- [简体中文](https://cn.vitejs.dev/) -- [日本語](https://ja.vitejs.dev/) -- [Español](https://es.vitejs.dev/) +- [简体中文](https://cn.vite.dev/) +- [日本語](https://ja.vite.dev/) +- [Español](https://es.vite.dev/) ## Create Vite Starter Templates @@ -185,7 +185,7 @@ Learn more in the [WebAssembly guide](/guide/features.html#webassembly) ### ESM SSR Build by Default -Most SSR frameworks in the ecosystem were already using ESM builds. So, Vite 3 makes ESM the default format for SSR builds. This allows us to streamline previous [SSR externalization heuristics](https://vitejs.dev/guide/ssr.html#ssr-externals), externalizing dependencies by default. +Most SSR frameworks in the ecosystem were already using ESM builds. So, Vite 3 makes ESM the default format for SSR builds. This allows us to streamline previous [SSR externalization heuristics](https://vite.dev/guide/ssr.html#ssr-externals), externalizing dependencies by default. ### Improved Relative Base Support @@ -199,7 +199,7 @@ There are other deploy scenarios where this isn't enough. For example, if the ge ### Esbuild Deps Optimization at Build Time (Experimental) -One of the main differences between dev and build time is how Vite handles dependencies. During build time, [`@rollup/plugin-commonjs`](https://github.com/rollup/plugins/tree/master/packages/commonjs) is used to allow importing CJS only dependencies (like React). When using the dev server, esbuild is used instead to pre-bundle and optimize dependencies, and an inline interop scheme is applied while transforming user code importing CJS deps. During the development of Vite 3, we introduced the changes needed to also allow the use of [esbuild to optimize dependencies during build time](https://v3.vitejs.dev/guide/migration.html#using-esbuild-deps-optimization-at-build-time). [`@rollup/plugin-commonjs`](https://github.com/rollup/plugins/tree/master/packages/commonjs) can then be avoided, making dev and build time work in the same way. +One of the main differences between dev and build time is how Vite handles dependencies. During build time, [`@rollup/plugin-commonjs`](https://github.com/rollup/plugins/tree/master/packages/commonjs) is used to allow importing CJS only dependencies (like React). When using the dev server, esbuild is used instead to pre-bundle and optimize dependencies, and an inline interop scheme is applied while transforming user code importing CJS deps. During the development of Vite 3, we introduced the changes needed to also allow the use of [esbuild to optimize dependencies during build time](https://v3.vite.dev/guide/migration.html#using-esbuild-deps-optimization-at-build-time). [`@rollup/plugin-commonjs`](https://github.com/rollup/plugins/tree/master/packages/commonjs) can then be avoided, making dev and build time work in the same way. Given that Rollup v3 will be out in the next months, and we're going to follow up with another Vite major, we've decided to make this mode optional to reduce v3 scope and give Vite and the ecosystem more time to work out possible issues with the new CJS interop approach during build time. Frameworks may switch to using esbuild deps optimization during build time by default at their own pace before Vite 4. @@ -217,7 +217,7 @@ Vite cares about its publish and install footprint; a fast installation of a new | Vite 3.0.0 | 3.05MB | 17.8MB | | Reduction | -30% | -7% | -In part, this reduction was possible by making some dependencies that most users weren't needing optional. First, [Terser](https://github.com/terser/terser) is no longer installed by default. This dependency was no longer needed since we already made esbuild the default minifier for both JS and CSS in Vite 2. If you use `build.minify: 'terser'`, you'll need to install it (`npm add -D terser`). We also moved [node-forge](https://github.com/digitalbazaar/forge) out of the monorepo, implementing support for automatic https certificate generation as a new plugin: [`@vitejs/plugin-basic-ssl`](https://v3.vitejs.dev/guide/migration.html#automatic-https-certificate-generation). Since this feature only creates untrusted certificates that are not added to the local store, it didn't justify the added size. +In part, this reduction was possible by making some dependencies that most users weren't needing optional. First, [Terser](https://github.com/terser/terser) is no longer installed by default. This dependency was no longer needed since we already made esbuild the default minifier for both JS and CSS in Vite 2. If you use `build.minify: 'terser'`, you'll need to install it (`npm add -D terser`). We also moved [node-forge](https://github.com/digitalbazaar/forge) out of the monorepo, implementing support for automatic https certificate generation as a new plugin: [`@vitejs/plugin-basic-ssl`](https://v3.vite.dev/guide/migration.html#automatic-https-certificate-generation). Since this feature only creates untrusted certificates that are not added to the local store, it didn't justify the added size. ## Bug Fixing @@ -234,7 +234,7 @@ A triaging marathon was spearheaded by [@bluwyoo](https://twitter.com/bluwyoo), - The Modern Browser Baseline now targets browsers which support the [native ES Modules](https://caniuse.com/es6-module), [native ESM dynamic import](https://caniuse.com/es6-module-dynamic-import), and [`import.meta`](https://caniuse.com/mdn-javascript_operators_import_meta) features. - JS file extensions in SSR and library mode now use a valid extension (`js`, `mjs`, or `cjs`) for output JS entries and chunks based on their format and the package type. -Learn more in the [Migration Guide](https://v3.vitejs.dev/guide/migration.html). +Learn more in the [Migration Guide](https://v3.vite.dev/guide/migration.html). ## Upgrades to Vite Core @@ -273,4 +273,4 @@ We'll take the following months to ensure a smooth transition for all the projec The Rollup team is [working on its next major](https://twitter.com/lukastaegert/status/1544186847399743488), to be released in the following months. Once the Rollup plugins ecosystem has time to update, we'll follow up with a new Vite major. This will give us another opportunity to introduce more significant changes this year, which we could take to stabilize some of the experimental features introduced in this release. -If you are interested in helping improve Vite, the best way to get on board is to help with triaging issues. Join [our Discord](https://chat.vitejs.dev) and look for the `#contributing` channel. Or get involved in our `#docs`, `#help` others, or create plugins. We are just getting started. There are many open ideas to keep improving Vite's DX. +If you are interested in helping improve Vite, the best way to get on board is to help with triaging issues. Join [our Discord](https://chat.vite.dev) and look for the `#contributing` channel. Or get involved in our `#docs`, `#help` others, or create plugins. We are just getting started. There are many open ideas to keep improving Vite's DX. diff --git a/docs/blog/announcing-vite4-3.md b/docs/blog/announcing-vite4-3.md index 534a2fdcb41bd6..b725308b4be7d1 100644 --- a/docs/blog/announcing-vite4-3.md +++ b/docs/blog/announcing-vite4-3.md @@ -13,10 +13,10 @@ head: content: Announcing Vite 4.3 - - meta - property: og:image - content: https://vitejs.dev/og-image-announcing-vite4-3.png + content: https://vite.dev/og-image-announcing-vite4-3.png - - meta - property: og:url - content: https://vitejs.dev/blog/announcing-vite4-3 + content: https://vite.dev/blog/announcing-vite4-3 - - meta - property: og:description content: Vite 4.3 Release Announcement @@ -33,7 +33,7 @@ _April 20, 2023_ Quick links: -- Docs: [English](/), [简体中文](https://cn.vitejs.dev/), [日本語](https://ja.vitejs.dev/), [Español](https://es.vitejs.dev/), [Português](https://pt.vitejs.dev/) +- Docs: [English](/), [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/) - [Vite 4.3 Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#430-2023-04-20) ## Performance Improvements @@ -83,7 +83,7 @@ We'll continue to work on Vite's performance. We're working on an official [Benc And [vite-plugin-inspect](https://github.com/antfu/vite-plugin-inspect) now has more performance-related features to help you identify which plugins or middlewares are the bottleneck for your applications. -Using `vite --profile` (and then pressing `p`) once the page loads will save a CPU profile of the dev server startup. You can open them in an app as [speedscope](https://www.speedscope.app/) to identify performance issues. And you can share your findings with the Vite Team in a [Discussion](https://github.com/vitejs/vite/discussions) or in [Vite's Discord](https://chat.vitejs.dev). +Using `vite --profile` (and then pressing `p`) once the page loads will save a CPU profile of the dev server startup. You can open them in an app as [speedscope](https://www.speedscope.app/) to identify performance issues. And you can share your findings with the Vite Team in a [Discussion](https://github.com/vitejs/vite/discussions) or in [Vite's Discord](https://chat.vite.dev). ## Next Steps diff --git a/docs/blog/announcing-vite4.md b/docs/blog/announcing-vite4.md index 587d439733ab38..f17bca9c879bd2 100644 --- a/docs/blog/announcing-vite4.md +++ b/docs/blog/announcing-vite4.md @@ -13,10 +13,10 @@ head: content: Announcing Vite 4 - - meta - property: og:image - content: https://vitejs.dev/og-image-announcing-vite4.png + content: https://vite.dev/og-image-announcing-vite4.png - - meta - property: og:url - content: https://vitejs.dev/blog/announcing-vite4 + content: https://vite.dev/blog/announcing-vite4 - - meta - property: og:description content: Vite 4 Release Announcement @@ -35,23 +35,23 @@ Vite 3 [was released](./announcing-vite3.md) five months ago. npm downloads per As a showcase of the growth Vite and related projects have experienced, the Vite ecosystem gathered on October 11th at [ViteConf 2022](https://viteconf.org/2022/replay). We saw representatives from the main web framework and tools tell stories of innovation and collaboration. And in a symbolic move, the Rollup team choose that exact day to release [Rollup 3](https://rollupjs.org). -Today, the Vite [team](https://vitejs.dev/team) with the help of our ecosystem partners, is happy to announce the release of Vite 4, powered during build time by Rollup 3. We've worked with the ecosystem to ensure a smooth upgrade path for this new major. Vite is now using [Rollup 3](https://github.com/vitejs/vite/issues/9870), which allowed us to simplify Vite's internal asset handling and has many improvements. See the [Rollup 3 release notes here](https://github.com/rollup/rollup/releases/tag/v3.0.0). +Today, the Vite [team](https://vite.dev/team) with the help of our ecosystem partners, is happy to announce the release of Vite 4, powered during build time by Rollup 3. We've worked with the ecosystem to ensure a smooth upgrade path for this new major. Vite is now using [Rollup 3](https://github.com/vitejs/vite/issues/9870), which allowed us to simplify Vite's internal asset handling and has many improvements. See the [Rollup 3 release notes here](https://github.com/rollup/rollup/releases/tag/v3.0.0). ![Vite 4 Announcement Cover Image](/og-image-announcing-vite4.png) Quick links: - [Docs](/) -- [Migration Guide](https://v4.vitejs.dev/guide/migration.html) +- [Migration Guide](https://v4.vite.dev/guide/migration.html) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#400-2022-12-09) Docs in other languages: -- [简体中文](https://cn.vitejs.dev/) -- [日本語](https://ja.vitejs.dev/) -- [Español](https://es.vitejs.dev/) +- [简体中文](https://cn.vite.dev/) +- [日本語](https://ja.vite.dev/) +- [Español](https://es.vite.dev/) -If you recently started using Vite, we suggest reading the [Why Vite Guide](https://vitejs.dev/guide/why.html) and checking out [the Getting Started](https://vitejs.dev/guide/) and [Features guide](https://vitejs.dev/guide/features). If you want to get involved, contributions are welcome at [GitHub](https://github.com/vitejs/vite). Almost [700 collaborators](https://github.com/vitejs/vite/graphs/contributors) have contributed to Vite. Follow the updates on [Twitter](https://twitter.com/vite_js) and [Mastodon](https://webtoo.ls/@vite), or join collaborate with others on our [Discord community](http://chat.vitejs.dev/). +If you recently started using Vite, we suggest reading the [Why Vite Guide](https://vite.dev/guide/why.html) and checking out [the Getting Started](https://vite.dev/guide/) and [Features guide](https://vite.dev/guide/features). If you want to get involved, contributions are welcome at [GitHub](https://github.com/vitejs/vite). Almost [700 collaborators](https://github.com/vitejs/vite/graphs/contributors) have contributed to Vite. Follow the updates on [Twitter](https://twitter.com/vite_js) and [Mastodon](https://webtoo.ls/@vite), or join collaborate with others on our [Discord community](http://chat.vite.dev/). ## Start playing with Vite 4 @@ -91,7 +91,7 @@ This double loading could occur since a `.css` file will be emitted and it's lik import stuff from './global.css?inline' ``` -Learn more in the [Migration Guide](https://v4.vitejs.dev/guide/migration.html). +Learn more in the [Migration Guide](https://v4.vite.dev/guide/migration.html). ## Environment Variables @@ -135,6 +135,6 @@ We're also thankful to individuals and companies sponsoring the Vite team, and c ## Next steps -Our immediate focus would be on triaging newly opened issues to avoid disruption by possible regressions. If you would like to get involved and help us improve Vite, we suggest starting with issues triaging. Join [our Discord](https://chat.vitejs.dev) and reach out on the `#contributing` channel. Polish our `#docs` story, and `#help` others. We need to continue to build a helpful and welcoming community for the next wave of users, as Vite's adoption continues to grow. +Our immediate focus would be on triaging newly opened issues to avoid disruption by possible regressions. If you would like to get involved and help us improve Vite, we suggest starting with issues triaging. Join [our Discord](https://chat.vite.dev) and reach out on the `#contributing` channel. Polish our `#docs` story, and `#help` others. We need to continue to build a helpful and welcoming community for the next wave of users, as Vite's adoption continues to grow. There are a lot of open fronts to keep improving the DX of everyone that has chosen Vite to power their frameworks and develop their apps. Onwards! diff --git a/docs/blog/announcing-vite5-1.md b/docs/blog/announcing-vite5-1.md index bc9286bbbfaef7..bbb24a8e927c0a 100644 --- a/docs/blog/announcing-vite5-1.md +++ b/docs/blog/announcing-vite5-1.md @@ -13,10 +13,10 @@ head: content: Announcing Vite 5.1 - - meta - property: og:image - content: https://vitejs.dev/og-image-announcing-vite5-1.png + content: https://vite.dev/og-image-announcing-vite5-1.png - - meta - property: og:url - content: https://vitejs.dev/blog/announcing-vite5-1 + content: https://vite.dev/blog/announcing-vite5-1 - - meta - property: og:description content: Vite 5.1 Release Announcement @@ -35,7 +35,7 @@ Vite 5 [was released](./announcing-vite5.md) last November, and it represented a Quick links: [Docs](/), [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#510-2024-02-08) -Docs in other languages: [简体中文](https://cn.vitejs.dev/), [日本語](https://ja.vitejs.dev/), [Español](https://es.vitejs.dev/), [Português](https://pt.vitejs.dev/), [한국어](https://ko.vitejs.dev/), [Deutsch](https://de.vitejs.dev/) +Docs in other languages: [简体中文](https://cn.vite.dev/), [日本語](https://ja.vite.dev/), [Español](https://es.vite.dev/), [Português](https://pt.vite.dev/), [한국어](https://ko.vite.dev/), [Deutsch](https://de.vite.dev/) Try Vite 5.1 online in StackBlitz: [vanilla](https://vite.new/vanilla-ts), [vue](https://vite.new/vue-ts), [react](https://vite.new/react-ts), [preact](https://vite.new/preact-ts), [lit](https://vite.new/lit-ts), [svelte](https://vite.new/svelte-ts), [solid](https://vite.new/solid-ts), [qwik](https://vite.new/qwik-ts). @@ -127,7 +127,7 @@ Build-time pre-bundling, an experimental feature added in Vite 3, is removed. Wi ## Get Involved -We are grateful to the [900 contributors to Vite Core](https://github.com/vitejs/vite/graphs/contributors), and the maintainers of plugins, integrations, tools, and translations that keeps pushing the ecosystem forward. If you're enjoying Vite, we invite you to participate and help us. Check out our [Contributing Guide](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md), and jump into [triaging issues](https://github.com/vitejs/vite/issues), [reviewing PRs](https://github.com/vitejs/vite/pulls), answering questions at [GitHub Discussions](https://github.com/vitejs/vite/discussions) and helping others in the community in [Vite Land](https://chat.vitejs.dev). +We are grateful to the [900 contributors to Vite Core](https://github.com/vitejs/vite/graphs/contributors), and the maintainers of plugins, integrations, tools, and translations that keeps pushing the ecosystem forward. If you're enjoying Vite, we invite you to participate and help us. Check out our [Contributing Guide](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md), and jump into [triaging issues](https://github.com/vitejs/vite/issues), [reviewing PRs](https://github.com/vitejs/vite/pulls), answering questions at [GitHub Discussions](https://github.com/vitejs/vite/discussions) and helping others in the community in [Vite Land](https://chat.vite.dev). ## Acknowledgments diff --git a/docs/blog/announcing-vite5.md b/docs/blog/announcing-vite5.md index dd4c1d46a275b0..063463825393a1 100644 --- a/docs/blog/announcing-vite5.md +++ b/docs/blog/announcing-vite5.md @@ -13,10 +13,10 @@ head: content: Announcing Vite 5 - - meta - property: og:image - content: https://vitejs.dev/og-image-announcing-vite5.png + content: https://vite.dev/og-image-announcing-vite5.png - - meta - property: og:url - content: https://vitejs.dev/blog/announcing-vite5 + content: https://vite.dev/blog/announcing-vite5 - - meta - property: og:description content: Vite 5 Release Announcement @@ -49,16 +49,16 @@ Quick links: Docs in other languages: -- [简体中文](https://cn.vitejs.dev/) -- [日本語](https://ja.vitejs.dev/) -- [Español](https://es.vitejs.dev/) -- [Português](https://pt.vitejs.dev/) -- [한국어](https://ko.vitejs.dev/) -- [Deutsch](https://de.vitejs.dev/) (new translation!) +- [简体中文](https://cn.vite.dev/) +- [日本語](https://ja.vite.dev/) +- [Español](https://es.vite.dev/) +- [Português](https://pt.vite.dev/) +- [한국어](https://ko.vite.dev/) +- [Deutsch](https://de.vite.dev/) (new translation!) If you're new to Vite, we suggest reading first the [Getting Started](/guide/) and [Features](/guide/features) guides. -We appreciate the more than [850 contributors to Vite Core](https://github.com/vitejs/vite/graphs/contributors), and the maintainers and contributors of Vite plugins, integrations, tools, and translations that have helped us reach here. We encourage you to get involved and continue to improve Vite with us. You can learn more at our [Contributing Guide](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md). To get started, we recommend [triaging issues](https://github.com/vitejs/vite/issues), [reviewing PRs](https://github.com/vitejs/vite/pulls), sending failing tests PRs based on open issues, and helping others in [Discussions](https://github.com/vitejs/vite/discussions) and Vite Land's [help forum](https://discord.com/channels/804011606160703521/1019670660856942652). You'll learn a lot along the way and have a smooth path to further contributions to the project. If you have doubts, join us on our [Discord community](http://chat.vitejs.dev/) and say hi on the [#contributing channel](https://discord.com/channels/804011606160703521/804439875226173480). +We appreciate the more than [850 contributors to Vite Core](https://github.com/vitejs/vite/graphs/contributors), and the maintainers and contributors of Vite plugins, integrations, tools, and translations that have helped us reach here. We encourage you to get involved and continue to improve Vite with us. You can learn more at our [Contributing Guide](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md). To get started, we recommend [triaging issues](https://github.com/vitejs/vite/issues), [reviewing PRs](https://github.com/vitejs/vite/pulls), sending failing tests PRs based on open issues, and helping others in [Discussions](https://github.com/vitejs/vite/discussions) and Vite Land's [help forum](https://discord.com/channels/804011606160703521/1019670660856942652). You'll learn a lot along the way and have a smooth path to further contributions to the project. If you have doubts, join us on our [Discord community](http://chat.vite.dev/) and say hi on the [#contributing channel](https://discord.com/channels/804011606160703521/804439875226173480). To stay up to date, follow us on [X](https://twitter.com/vite_js) or [Mastodon](https://webtoo.ls/@vite). @@ -74,7 +74,7 @@ Vite no longer supports Node.js 14 / 16 / 17 / 19, which reached its EOL. Node.j ## Performance -On top of Rollup 4's build performance improvements, there is a new guide to help you identify and fix common performance issues at [https://vitejs.dev/guide/performance](/guide/performance). +On top of Rollup 4's build performance improvements, there is a new guide to help you identify and fix common performance issues at [https://vite.dev/guide/performance](/guide/performance). Vite 5 also introduces [server.warmup](/guide/performance.html#warm-up-frequently-used-files), a new feature to improve startup time. It lets you define a list of modules that should be pre-transformed as soon as the server starts. When using [`--open` or `server.open`](/config/server-options.html#server-open), Vite will also automatically warm up the entry point of your app or the provided URL to open. diff --git a/docs/config/server-options.md b/docs/config/server-options.md index eaf63a45a71443..4c46e13835f39c 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -166,7 +166,7 @@ Check out [`vite-setup-catalogue`](https://github.com/sapphi-red/vite-setup-cata With the default configuration, reverse proxies in front of Vite are expected to support proxying WebSocket. If the Vite HMR client fails to connect WebSocket, the client will fall back to connecting the WebSocket directly to the Vite HMR server bypassing the reverse proxies: ``` -Direct websocket connection fallback. Check out https://vitejs.dev/config/server-options.html#server-hmr to remove the previous connection error. +Direct websocket connection fallback. Check out https://vite.dev/config/server-options.html#server-hmr to remove the previous connection error. ``` The error that appears in the Browser when the fallback happens can be ignored. To avoid the error by directly bypassing reverse proxies, you could either: diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index 9f0d8894f9c5ec..b8ef5fb2cc697e 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -6,9 +6,9 @@ Vite plugins extends Rollup's well-designed plugin interface with a few extra Vi ## Authoring a Plugin -Vite strives to offer established patterns out of the box, so before creating a new plugin make sure that you check the [Features guide](https://vitejs.dev/guide/features) to see if your need is covered. Also review available community plugins, both in the form of a [compatible Rollup plugin](https://github.com/rollup/awesome) and [Vite Specific plugins](https://github.com/vitejs/awesome-vite#plugins) +Vite strives to offer established patterns out of the box, so before creating a new plugin make sure that you check the [Features guide](https://vite.dev/guide/features) to see if your need is covered. Also review available community plugins, both in the form of a [compatible Rollup plugin](https://github.com/rollup/awesome) and [Vite Specific plugins](https://github.com/vitejs/awesome-vite#plugins) -When creating a plugin, you can inline it in your `vite.config.js`. There is no need to create a new package for it. Once you see that a plugin was useful in your projects, consider sharing it to help others [in the ecosystem](https://chat.vitejs.dev). +When creating a plugin, you can inline it in your `vite.config.js`. There is no need to create a new package for it. Once you see that a plugin was useful in your projects, consider sharing it to help others [in the ecosystem](https://chat.vite.dev). ::: tip When learning, debugging, or authoring plugins, we suggest including [vite-plugin-inspect](https://github.com/antfu/vite-plugin-inspect) in your project. It allows you to inspect the intermediate state of Vite plugins. After installing, you can visit `localhost:5173/__inspect/` to inspect the modules and transformation stack of your project. Check out install instructions in the [vite-plugin-inspect docs](https://github.com/antfu/vite-plugin-inspect). diff --git a/docs/guide/comparisons.md b/docs/guide/comparisons.md index e933b3fba70570..7d308d17e2ebcc 100644 --- a/docs/guide/comparisons.md +++ b/docs/guide/comparisons.md @@ -18,4 +18,4 @@ Overall, Vite is a more opinionated / higher-level tool that aims to provide a m [Snowpack](https://www.snowpack.dev/) was also a no-bundle native ESM dev server, very similar in scope to Vite. The project is no longer being maintained. The Snowpack team is now working on [Astro](https://astro.build/), a static site builder powered by Vite. The Astro team is now an active player in the ecosystem, and they are helping to improve Vite. -Aside from different implementation details, the two projects shared a lot in terms of technical advantages over traditional tooling. Vite's dependency pre-bundling is also inspired by Snowpack v1 (now [`esinstall`](https://github.com/snowpackjs/snowpack/tree/main/esinstall)). Some of the main differences between the two projects are listed in [the v2 Comparisons Guide](https://v2.vitejs.dev/guide/comparisons). +Aside from different implementation details, the two projects shared a lot in terms of technical advantages over traditional tooling. Vite's dependency pre-bundling is also inspired by Snowpack v1 (now [`esinstall`](https://github.com/snowpackjs/snowpack/tree/main/esinstall)). Some of the main differences between the two projects are listed in [the v2 Comparisons Guide](https://v2.vite.dev/guide/comparisons). diff --git a/docs/guide/features.md b/docs/guide/features.md index 2decd3b0b93eaf..c2b4f12f2f3699 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -499,7 +499,7 @@ const modules = { #### Custom Queries -You can also use the `query` option to provide queries to imports, for example, to import assets [as a string](https://vitejs.dev/guide/assets.html#importing-asset-as-string) or [as a url](https://vitejs.dev/guide/assets.html#importing-asset-as-url): +You can also use the `query` option to provide queries to imports, for example, to import assets [as a string](https://vite.dev/guide/assets.html#importing-asset-as-string) or [as a url](https://vite.dev/guide/assets.html#importing-asset-as-url): ```ts twoslash import 'vite/client' diff --git a/docs/guide/index.md b/docs/guide/index.md index 9f2b3457ce2dfc..65f9b6c155d00e 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -217,4 +217,4 @@ Then go to your Vite based project and run `pnpm link --global vite` (or the pac ## Community -If you have questions or need help, reach out to the community at [Discord](https://chat.vitejs.dev) and [GitHub Discussions](https://github.com/vitejs/vite/discussions). +If you have questions or need help, reach out to the community at [Discord](https://chat.vite.dev) and [GitHub Discussions](https://github.com/vitejs/vite/discussions). diff --git a/docs/guide/migration.md b/docs/guide/migration.md index 4983099c55bcf1..003b31f4b4cd3b 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -12,4 +12,4 @@ The experimental Vite Runtime API evolved into the Module Runner API, released i ## Migration from v4 -Check the [Migration from v4 Guide](https://v5.vitejs.dev/guide/migration.html) in the Vite v5 docs first to see the needed changes to port your app to Vite 5, and then proceed with the changes on this page. +Check the [Migration from v4 Guide](https://v5.vite.dev/guide/migration.html) in the Vite v5 docs first to see the needed changes to port your app to Vite 5, and then proceed with the changes on this page. diff --git a/docs/guide/performance.md b/docs/guide/performance.md index 5d19e102ba2526..847a4d206b482a 100644 --- a/docs/guide/performance.md +++ b/docs/guide/performance.md @@ -29,7 +29,7 @@ However, the performance of community plugins is out of Vite's control, which ma You can inspect the duration it takes to transform a file using `vite --debug plugin-transform` or [vite-plugin-inspect](https://github.com/antfu/vite-plugin-inspect). Note that as asynchronous operations tend to provide inaccurate timings, you should treat the numbers as a rough estimate, but it should still reveal the more expensive operations. ::: tip Profiling -You can run `vite --profile`, visit the site, and press `p + enter` in your terminal to record a `.cpuprofile`. A tool like [speedscope](https://www.speedscope.app) can then be used to inspect the profile and identify the bottlenecks. You can also [share the profiles](https://chat.vitejs.dev) with the Vite team to help us identify performance issues. +You can run `vite --profile`, visit the site, and press `p + enter` in your terminal to record a `.cpuprofile`. A tool like [speedscope](https://www.speedscope.app) can then be used to inspect the profile and identify the bottlenecks. You can also [share the profiles](https://chat.vite.dev) with the Vite team to help us identify performance issues. ::: ## Reduce Resolve Operations diff --git a/docs/guide/philosophy.md b/docs/guide/philosophy.md index 307d1dc3f12ef2..9e4012825435bc 100644 --- a/docs/guide/philosophy.md +++ b/docs/guide/philosophy.md @@ -24,4 +24,4 @@ Although Vite can be used by users directly, it shines as a tool to create frame ## An Active Ecosystem -Vite evolution is a cooperation between framework and plugin maintainers, users, and the Vite team. We encourage active participation in Vite's Core development once a project adopts Vite. We work closely with the main projects in the ecosystem to minimize regressions on each release, aided by tools like [vite-ecosystem-ci](https://github.com/vitejs/vite-ecosystem-ci). It allows us to run the CI of major projects using Vite on selected PRs and gives us a clear status of how the Ecosystem would react to a release. We strive to fix regressions before they hit users and allow projects to update to the next versions as soon as they are released. If you are working with Vite, we invite you to join [Vite's Discord](https://chat.vitejs.dev) and get involved in the project too. +Vite evolution is a cooperation between framework and plugin maintainers, users, and the Vite team. We encourage active participation in Vite's Core development once a project adopts Vite. We work closely with the main projects in the ecosystem to minimize regressions on each release, aided by tools like [vite-ecosystem-ci](https://github.com/vitejs/vite-ecosystem-ci). It allows us to run the CI of major projects using Vite on selected PRs and gives us a clear status of how the Ecosystem would react to a release. We strive to fix regressions before they hit users and allow projects to update to the next versions as soon as they are released. If you are working with Vite, we invite you to join [Vite's Discord](https://chat.vite.dev) and get involved in the project too. diff --git a/docs/guide/troubleshooting.md b/docs/guide/troubleshooting.md index 2b20b0c680bae4..7386a7cead4b21 100644 --- a/docs/guide/troubleshooting.md +++ b/docs/guide/troubleshooting.md @@ -2,7 +2,7 @@ See [Rollup's troubleshooting guide](https://rollupjs.org/troubleshooting/) for more information too. -If the suggestions here don't work, please try posting questions on [GitHub Discussions](https://github.com/vitejs/vite/discussions) or in the `#help` channel of [Vite Land Discord](https://chat.vitejs.dev). +If the suggestions here don't work, please try posting questions on [GitHub Discussions](https://github.com/vitejs/vite/discussions) or in the `#help` channel of [Vite Land Discord](https://chat.vite.dev). ## CJS @@ -123,7 +123,7 @@ Or, by importing it into the Keychain Access app and updating the trust of your When the server / WebSocket server receives a large HTTP header, the request will be dropped and the following warning will be shown. -> Server responded with status code 431. See https://vitejs.dev/guide/troubleshooting.html#_431-request-header-fields-too-large. +> Server responded with status code 431. See https://vite.dev/guide/troubleshooting.html#_431-request-header-fields-too-large. This is because Node.js limits request header size to mitigate [CVE-2018-12121](https://www.cve.org/CVERecord?id=CVE-2018-12121). diff --git a/docs/releases.md b/docs/releases.md index f2380be5ab095f..662a8e2f9dcb33 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -26,7 +26,7 @@ As an example, if the Vite latest is at 5.3.10: - Security patches are also backported to `vite@3`, and `vite@5.1`. - `vite@2` and `vite@5.0` are no longer supported. Users should upgrade to receive updates. -We recommend updating Vite regularly. Check out the [Migration Guides](https://vitejs.dev/guide/migration.html) when you update to each Major. The Vite team works closely with the main projects in the ecosystem to ensure the quality of new versions. We test new Vite versions before releasing them through the [vite-ecosystem-ci project](https://github.com/vitejs/vite-ecosystem-ci). Most projects using Vite should be able to quickly offer support or migrate to new versions as soon as they are released. +We recommend updating Vite regularly. Check out the [Migration Guides](https://vite.dev/guide/migration.html) when you update to each Major. The Vite team works closely with the main projects in the ecosystem to ensure the quality of new versions. We test new Vite versions before releasing them through the [vite-ecosystem-ci project](https://github.com/vitejs/vite-ecosystem-ci). Most projects using Vite should be able to quickly offer support or migrate to new versions as soon as they are released. ## Semantic Versioning Edge Cases @@ -54,7 +54,7 @@ Pre-releases allow early adopters and maintainers from the Ecosystem to do integ ## Deprecations -We periodically deprecate features that have been superseded by better alternatives in Minor releases. Deprecated features will continue to work with a type or logged warning. They will be removed in the next major release after entering deprecated status. The [Migration Guide](https://vitejs.dev/guide/migration.html) for each major will list these removals and document an upgrade path for them. +We periodically deprecate features that have been superseded by better alternatives in Minor releases. Deprecated features will continue to work with a type or logged warning. They will be removed in the next major release after entering deprecated status. The [Migration Guide](https://vite.dev/guide/migration.html) for each major will list these removals and document an upgrade path for them. ## Experimental Features diff --git a/packages/create-vite/template-lit-ts/src/my-element.ts b/packages/create-vite/template-lit-ts/src/my-element.ts index 88b188f6d0d9b0..02f0a5f9bd87eb 100644 --- a/packages/create-vite/template-lit-ts/src/my-element.ts +++ b/packages/create-vite/template-lit-ts/src/my-element.ts @@ -26,7 +26,7 @@ export class MyElement extends LitElement { render() { return html`
- + diff --git a/packages/create-vite/template-lit/src/my-element.js b/packages/create-vite/template-lit/src/my-element.js index 8d1ba56442deff..ce047c9160563b 100644 --- a/packages/create-vite/template-lit/src/my-element.js +++ b/packages/create-vite/template-lit/src/my-element.js @@ -32,7 +32,7 @@ export class MyElement extends LitElement { render() { return html`
- + diff --git a/packages/create-vite/template-preact-ts/src/app.tsx b/packages/create-vite/template-preact-ts/src/app.tsx index 5860cb5bb139c0..81196fe97fb0a9 100644 --- a/packages/create-vite/template-preact-ts/src/app.tsx +++ b/packages/create-vite/template-preact-ts/src/app.tsx @@ -9,7 +9,7 @@ export function App() { return ( <>
- + diff --git a/packages/create-vite/template-preact-ts/vite.config.ts b/packages/create-vite/template-preact-ts/vite.config.ts index 29b326faf09c97..b995c32c50b499 100644 --- a/packages/create-vite/template-preact-ts/vite.config.ts +++ b/packages/create-vite/template-preact-ts/vite.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import preact from '@preact/preset-vite' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [preact()], }) diff --git a/packages/create-vite/template-preact/src/app.jsx b/packages/create-vite/template-preact/src/app.jsx index e8104922fc420c..a2e3363dc380de 100644 --- a/packages/create-vite/template-preact/src/app.jsx +++ b/packages/create-vite/template-preact/src/app.jsx @@ -9,7 +9,7 @@ export function App() { return ( <>
- + diff --git a/packages/create-vite/template-preact/vite.config.js b/packages/create-vite/template-preact/vite.config.js index 29b326faf09c97..b995c32c50b499 100644 --- a/packages/create-vite/template-preact/vite.config.js +++ b/packages/create-vite/template-preact/vite.config.js @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import preact from '@preact/preset-vite' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [preact()], }) diff --git a/packages/create-vite/template-qwik-ts/src/app.tsx b/packages/create-vite/template-qwik-ts/src/app.tsx index 3acdaacda30749..eb5f388475ba4f 100644 --- a/packages/create-vite/template-qwik-ts/src/app.tsx +++ b/packages/create-vite/template-qwik-ts/src/app.tsx @@ -10,7 +10,7 @@ export const App = component$(() => { return ( <>
- + diff --git a/packages/create-vite/template-qwik-ts/vite.config.ts b/packages/create-vite/template-qwik-ts/vite.config.ts index cabd66b013a920..8c07d8ff7af2e2 100644 --- a/packages/create-vite/template-qwik-ts/vite.config.ts +++ b/packages/create-vite/template-qwik-ts/vite.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import { qwikVite } from '@builder.io/qwik/optimizer' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [ qwikVite({ diff --git a/packages/create-vite/template-qwik/src/app.jsx b/packages/create-vite/template-qwik/src/app.jsx index 659d065fe5362b..fabe4c9e1a54ab 100644 --- a/packages/create-vite/template-qwik/src/app.jsx +++ b/packages/create-vite/template-qwik/src/app.jsx @@ -10,7 +10,7 @@ export const App = component$(() => { return ( <>
- + diff --git a/packages/create-vite/template-qwik/vite.config.js b/packages/create-vite/template-qwik/vite.config.js index cabd66b013a920..8c07d8ff7af2e2 100644 --- a/packages/create-vite/template-qwik/vite.config.js +++ b/packages/create-vite/template-qwik/vite.config.js @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import { qwikVite } from '@builder.io/qwik/optimizer' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [ qwikVite({ diff --git a/packages/create-vite/template-react-ts/src/App.tsx b/packages/create-vite/template-react-ts/src/App.tsx index afe48ac750194a..3d7ded3ff62424 100644 --- a/packages/create-vite/template-react-ts/src/App.tsx +++ b/packages/create-vite/template-react-ts/src/App.tsx @@ -9,7 +9,7 @@ function App() { return ( <>
- + Vite logo diff --git a/packages/create-vite/template-react-ts/vite.config.ts b/packages/create-vite/template-react-ts/vite.config.ts index 5a33944a9b41b5..8b0f57b91aeb45 100644 --- a/packages/create-vite/template-react-ts/vite.config.ts +++ b/packages/create-vite/template-react-ts/vite.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [react()], }) diff --git a/packages/create-vite/template-react/src/App.jsx b/packages/create-vite/template-react/src/App.jsx index b8b8473a3696b4..f67355ae04c400 100644 --- a/packages/create-vite/template-react/src/App.jsx +++ b/packages/create-vite/template-react/src/App.jsx @@ -9,7 +9,7 @@ function App() { return ( <>
- + Vite logo diff --git a/packages/create-vite/template-react/vite.config.js b/packages/create-vite/template-react/vite.config.js index 5a33944a9b41b5..8b0f57b91aeb45 100644 --- a/packages/create-vite/template-react/vite.config.js +++ b/packages/create-vite/template-react/vite.config.js @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [react()], }) diff --git a/packages/create-vite/template-solid-ts/README.md b/packages/create-vite/template-solid-ts/README.md index 99613fc0a5d37f..167c567952a23f 100644 --- a/packages/create-vite/template-solid-ts/README.md +++ b/packages/create-vite/template-solid-ts/README.md @@ -25,4 +25,4 @@ Your app is ready to be deployed! ## Deployment -Learn more about deploying your application with the [documentations](https://vitejs.dev/guide/static-deploy.html) +Learn more about deploying your application with the [documentations](https://vite.dev/guide/static-deploy.html) diff --git a/packages/create-vite/template-solid-ts/src/App.tsx b/packages/create-vite/template-solid-ts/src/App.tsx index 93e250bf04b172..bacc16a6adfd1c 100644 --- a/packages/create-vite/template-solid-ts/src/App.tsx +++ b/packages/create-vite/template-solid-ts/src/App.tsx @@ -9,7 +9,7 @@ function App() { return ( <>
- + diff --git a/packages/create-vite/template-solid/README.md b/packages/create-vite/template-solid/README.md index 99613fc0a5d37f..167c567952a23f 100644 --- a/packages/create-vite/template-solid/README.md +++ b/packages/create-vite/template-solid/README.md @@ -25,4 +25,4 @@ Your app is ready to be deployed! ## Deployment -Learn more about deploying your application with the [documentations](https://vitejs.dev/guide/static-deploy.html) +Learn more about deploying your application with the [documentations](https://vite.dev/guide/static-deploy.html) diff --git a/packages/create-vite/template-solid/src/App.jsx b/packages/create-vite/template-solid/src/App.jsx index 63b8025d125f09..b3812f9b8f821c 100644 --- a/packages/create-vite/template-solid/src/App.jsx +++ b/packages/create-vite/template-solid/src/App.jsx @@ -9,7 +9,7 @@ function App() { return ( <>
- + diff --git a/packages/create-vite/template-svelte-ts/src/App.svelte b/packages/create-vite/template-svelte-ts/src/App.svelte index e8b590f1f50599..f75b68aa25d9c7 100644 --- a/packages/create-vite/template-svelte-ts/src/App.svelte +++ b/packages/create-vite/template-svelte-ts/src/App.svelte @@ -6,7 +6,7 @@
- + diff --git a/packages/create-vite/template-svelte-ts/vite.config.ts b/packages/create-vite/template-svelte-ts/vite.config.ts index d70196943d0d24..d32eba1d63fd99 100644 --- a/packages/create-vite/template-svelte-ts/vite.config.ts +++ b/packages/create-vite/template-svelte-ts/vite.config.ts @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import { svelte } from '@sveltejs/vite-plugin-svelte' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [svelte()], }) diff --git a/packages/create-vite/template-svelte/src/App.svelte b/packages/create-vite/template-svelte/src/App.svelte index 1f31354ec8cfeb..4e67b2709f0624 100644 --- a/packages/create-vite/template-svelte/src/App.svelte +++ b/packages/create-vite/template-svelte/src/App.svelte @@ -6,7 +6,7 @@
- + diff --git a/packages/create-vite/template-svelte/vite.config.js b/packages/create-vite/template-svelte/vite.config.js index d70196943d0d24..d32eba1d63fd99 100644 --- a/packages/create-vite/template-svelte/vite.config.js +++ b/packages/create-vite/template-svelte/vite.config.js @@ -1,7 +1,7 @@ import { defineConfig } from 'vite' import { svelte } from '@sveltejs/vite-plugin-svelte' -// https://vitejs.dev/config/ +// https://vite.dev/config/ export default defineConfig({ plugins: [svelte()], }) diff --git a/packages/create-vite/template-vanilla-ts/src/main.ts b/packages/create-vite/template-vanilla-ts/src/main.ts index 791547b0d382f5..6396b50a2321dd 100644 --- a/packages/create-vite/template-vanilla-ts/src/main.ts +++ b/packages/create-vite/template-vanilla-ts/src/main.ts @@ -5,7 +5,7 @@ import { setupCounter } from './counter.ts' document.querySelector('#app')!.innerHTML = `